scripts aus anderen sprachen in autoit verwenden

  • moin ;)

    also ich bastel gerade (immernoch ^^) an einem prog welches ein paar (ziemlich umfangreiche) textdateien auswertet

    an sich funktioniert das ganze auch halberwegs - problem ist im moment die zeit die das ganze braucht

    die dateien sind folgendermaßen aufgebaut

    bla, blubb, sülz, x-koordinate, y-koordinate, bla, blubb, id
    bla, blubb, sülz, x-koordinate, y-koordinate, bla, blubb, id
    ...

    ich möchte die nach bestimmten koordinaten filtern und anhand der id werte aus ner anderen datei zuordnen ;)

    das ganze in autoit braucht in etwa 10 minuten
    das ganze in c# knapp 2 sekunden ;) - bei gleichem algorhytmus

    kann ich jetzt irgendwie das c# prog so in das autoit script einbinden dass ich das mehrdimensionale array was es zurückgibt direkt in eins in autoit reinschreibe?

    also a'la $array[][] = csharpprog() ?

    *edit
    aso ich will das dann mit autoit weiterverwenden ;) - sonst wär das ganze ja sinnfrei ^^
    und das array hat im dümmsten fall 1000x1000 felder ;)

  • Hi,

    entweder als einfachere und langsamere Variante über eine externen Datei die Daten austauschen, oder aber eine DLL programmieren, die Du dann in AutoIt aufrufen kannst.
    Vielleicht fällt jemand anderem ja noch was besseres ein.

    Gruß

  • dlll hilft schonmal weiter ;) mal schaun ob ich nen tutorial zu finde

    bzw hat irgendjemand eins zu empfehlen? ;)

  • nur so ein Gedanke.. Es wäre schneller, wenn Du die Daten in eine SQL DB importiert.
    So wie ich das sehe, sind das ja text dateien im csv Format. Das sollte kein Problem sein.

    Und SQL dürfte bei Abfragen wesentlich schneller sein txt...
    Aber das nur dazu...

    Was für Möglichkeiten bietet das C# Programm denn? Es muss ja irgendeine Eingabe und Ausgabe Art existieren.. Und daran müsste man dann autoit dranhängen. ALso evtl. lassen sich ja einfach Parameter als Kommandozeile übergeben.... z.B.

    schöne Grüße
    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • im moment schreibt des das ausgabe-array in ne textdatei ;)

    nur halt erst speichern und mit autoit neu laden is bissel unedel;) - hatte mir vorgestellt irgendwie aus autoit ne prozedur aus dem c# prog aufzurufen die das array zurückgibt
    mit datenbank is auch ne idee muss ich mir mal anschaun ;)

  • Zitat

    ich möchte die nach bestimmten koordinaten filtern und anhand der id werte aus ner anderen datei zuordnen

    übrigends das ist u.a. eigentlich DIE typische Datenbank Aufgabe :)
    Wenn die Daten mal in der DB sind sollte die SQL Abfragen extrem schnell sein.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Ich hab auch ein C# Skript für mein Programm verwandt. Kannst du super über $CmdLine entgegennehmen.

    Du bracuchst in C# nur den Befehl:

    Code
    Process nPad = new Process();
    
    
                nPad.StartInfo.FileName = "autoit.exe";
                nPad.StartInfo.Arguments = e.Result.Text;
    
    
                nPad.Start();

    Das ganze mit

    Code
    using System.Diagnostic;