Hallo,
Ich habe schon lange nicht mehr bei Autoit vorbeigeschaut und bin ein wenig erschrocken, dass es seit über einem Jahr keine neue Autoit Version gibt…
Stirbt Autoit oder wird es aktiv weiter entwickelt?
Hallo,
Ich habe schon lange nicht mehr bei Autoit vorbeigeschaut und bin ein wenig erschrocken, dass es seit über einem Jahr keine neue Autoit Version gibt…
Stirbt Autoit oder wird es aktiv weiter entwickelt?
Hallo,
ich habe aus einer Funktion ein 1D Array zurückbekommen. Und dies 3 mal.
$Array1[1000]
$Array2[1000]
$Array3[1000]
Nun würde ich gerne ein Array erzeugen, welches 1000 Zeilen und 3 Spalten hat.
Hintergrund: Ich möchte dann das ganze neue Array nach Spalte 2 sortieren (die Einträge 1 und 3 sollen also ebenso umsortiert werden)
Irgendwie stehe ich auf dem Schlauch...
Lieben Dank.
Danke dir. War auch nicht böse aufgefasst
Es passiert halt immer wieder mal (auch in anderen Programmiersprachen), dass ich den Hinweis kriege: "Schau doch in die Doku..." und ich finde es einfach nicht...
Da kommt man dann schon ins Grübbeln...
In der Doku steht:
Return Value
Success: | the data from the specified cell(s). A string for a cell, a zero-based array for a range of cells. |
Wenn ich nun also eine Spalte auswähle, die ich eingelesen haben möchte, dann käme man doch mit einem 1D Array aus...
Für mich steht es nirgends, wie das Ergebnis genau aussieht (also ob 1D oder 2D).
Und genau bei dem Satz "Schau dir mal die Dokumentation der Funktionen an..." habe ich immer das Gefühl, dass es noch mehr Dokus gibt, als nur "AutoIt Help".
WO GENAU steht, dass das Ergebnis ein 2D Array ist?
Falls es nirgends steht, dann kann ich damit auch leben - nur weiß ich dann, dass ich mehr nachdenken muss und nicht zu dumm zum lesen bin...
Ich habe ja kein Problem damit, was dazu zu lernen.
Aber ich habe nur einen Wert abgefragt - kein Array.
Ich verstehe den Satz nicht: "Du holst eine 2d Matrix"...
Offensichtlich wusste ich nicht, dass es eine 2d Matrix ist, sonst hätte ich hier ja nicht um Rat gefragt.
Woran kann man das denn erkennen, das der Return Value 2d ist?
Ich möchte mit der Fragerei doch einfach verhindern, dass mir soetwas nochmal passiert...
Ok, dass es sich um ein Array handelte wusste ich ja. Ich dachte aber, dass es ein 1D Array ist und nicht, dass es sich um ein 2D Array handelt...
Wo steht das?
Oh. Vielen Dank. Ja es funktioniert. Kurzzeitig habe ich daran gedacht, aber den Gedanken wieder verworfen, weil ich nicht wusste, was in der anderen Spalte stehen soll...
Darf ich fragen, woher du das weißt? Lässt sich sowas anhand einer Dokumentation rausfinden oder hast du es nur einfach so gewusst
Hallo,
bitte helft mir, bevor ich verrückt werde.
Ich lese aus einer Excel Datei Zellen aus und übergebe das Array an $Datum. Das funktioniert und ich kann es mit _Arraydisplay anschauen. Dann möchte ich auf einen x-beliebigen Wert zugreifen und kriege eine Fehlermeldung...
Warum geht das nicht???
Danke für eure Geduld.
Keiner eine Idee? Kommt, ihr seid doch die Cracks schlecht hin...
Ich bin wirklich mit meinem Latein am Ende - habe schon viel probiert...
Hallo,
das mache ich gerne. Allerdings läuft es aufs gleiche hinaus, ob man gleich den Wert 10000 rein schreibt oder eine Schleife durchlaufen lässt. Der Sound kommt immer aus beiden Lautsprechern.
Hallo,
ich kriege es nicht hin.
WMSetBalance($oPlayer1, 10000)
WMSetBalance($oPlayer1, int(10000))
Egal was ausprobiere, es kommt immer aus beiden Lautsprechern.
Kannst Du ein Beispiel schicken? Vielen Dank.
Hallo,
ich dachte, dass das schon funktioniert hat, jetzt tut es aber nicht mehr. Liegt das vielleicht an Windows 10 oder mache ich was grundlegend falsch?
Wenn ihr ein Musikfile in den Pfad eintragt und das Skript startet spielt er die Datei ab. Bei mir aber mit Stereo, obwohl ich den Wert -100 in die Balance reinschreibe.
Laut meiner Info ist der Wertebereich -100 bis +100. 0 ist also Stereo.
Könnt ihr mir helfen?
Vielen Dank
Hallo,
ich habe ein kleines Skript geschrieben, welches mir gute Dienste leistet. Es kompiliert alle .au3 Files, die in einem Ordner (und deren Unterordner) liegen.
Funktioniert mit Hilfe von Aut2exe.exe wunderbar.
Nun ist es aber so, dass später nicht jedes .au3 Modul eine .exe werden kann.
Wie kann ich das dem Compiler klar machen, dass er es nicht kompilieren muss?
Mit #NoAutoIt3Execute kompiliert er das File trotzdem zu einem .exe (es lässt sich sogar ausführen).
Kennt ihr eine Möglichkeit, oder muss ich eine Liste führen, wo ich eintrage, welches File nicht compiliert werden darf...
Grüße
Danke. Das habe ich gesucht.
Schade, dass in der Hilfe das Stichwort UNC nicht auftaucht...
Gruß
Hallo,
ich finde gerade kein Befehl, um einen Pfad in einen UNC Pfad zu konvertieren.
Beispiel:
V:\Messungen\temp.txt --> "\\server.de\Messungen\temp.txt"
Könnt ihr mir da weiterhelfen?
Vielen Dank.
Also vielleicht muss ich mal die Hosen runterlassen
Ich habe aus Unwissenheit 30 Server und 1 Client realisiert. Der Client ist immer derselbe.
Meine Hauptschwierigkeit war, dass sich der Client und die Server immer automatisch verbinden müssen und wenn die Verbindung mal abbricht (WLAN) dann auch automatisch wieder aufbaut. Mit AutoIT wurde ein Verbindungsabbruch über WLAN gar nicht erkannt. Ich konnte Senden, ohne das auf der anderen Seite was empfangen wurde. Und das tolle abgesicherte TCP Protokoll hat dies nicht mitbekommen! Also musste ich selber eine Art Überwachung implementieren...
Die Server liefern Informationen (wirklich nur wenige Bytes) an den Client, der den Empfang nochmals direkt bestätigt.
Alle 15 Rechner (es laufen ca. 2 Server auf einem Rechner) hängen per WLAN am Netz (feste IP Adresse zugewiesen)
Es kam zum völligen Chaos: Wenn nur ein einziger Rechner kurzzeitig keinen WLAN Empfang hatte, hat der Client bis zu 40s auf den Server gewartet (ich habe keinen Einfluss auf das Timeoutverhalten). Durch das Warten konnte er die anderen stehenden Verbindungen nicht mehr bedienen und dadurch sind die anderen Server mangels Kommunikation auch in den Timeout gegangen und haben die bestehende Verbindung verworfen, damit sie neu aufgebaut werden kann.
Für mich gibt es hier noch so viele Fragen und ich weiß nicht so richtig, wie ich mir das Wissen aneignen kann. Natürlich habe ich diverse TCP/IP Dokus gelesen, die beantworten aber meine Frage nicht...
Es wäre zu umständlich jeden Server einzeln zu warten. Erstelle einen Server und dann Clienten.
Dann musst du ggf. auch nicht so Unmengen an Ports freigeben.
Ich muss die Server nicht warten oder ist das ein Tippfehler? "Es wäre zu umständlich AUF jeden Server einzeln zu warten?"
Es werden zwischen diesen Programmen verschiedene Informationen "gleichzeitig" ausgetauscht - da brauche ich in jedem Fall jeweils getrennte Ports - auch wenn ich nur einen Server und 30 Clients hätte...
Wichtig ist mir das Timing. Wenn man so viele Kommunikationsteilnehmer hat, dann bricht einem das Netz schnell zusammen, wenn man öfters auf einen oder mehrere Teilnehmer warten muss (z.B. weil sie down sind). Bis man dann mit allen kommuniziert hat, dauert das so lange, dass die bereits aufgebauten Verbindungen schon wieder im Timeout sind...
Hallo,
ich möchte, dass mehrere Programme auf mehreren Rechner miteinander kommunizieren.
Die Datenmenge ist minimal - also ist der Verbindungsaufbau und der Overhead das Problem.
Nun frage ich mich was sinnvoller ist:
30 Server und 1 Client
oder
1 Server und 30 Clients
Es geht mir vor allem darum, dass evtl. mehrere Rechner nicht erreichbar sind und die Timeoutzeiten sich dann nicht addieren sollten.
Von der reinen Lehre her ist es ja so, dass der Server einen Dienst anbieten soll und der Client diesen Dienst abfragt.
Dann müsste es so sein, dass ich 30 Server und 1 Client hätte - das kommt mir aber komisch vor...
Könnt ihr mir sagen, was besser ist?
Hallo,
ich hatte folgende Aufgabe zu lösen:
10 Rechner (verbunden durch WLAN und DLAN) hatten insgesamt 50 Autoit-Programme am laufen, die alle von einem dieser Rechner "gesteuert" werden sollten.
Steuern heisst an der Stelle nur banales "Ein / Ausschalten" von Funktionen dieser Autoit Programme, dabei soll der Ein / Aus Zustand von jedem dieser Programme auf dem Hauptrechner sichtbar sein.
Im Vorfeld habe ich kleine Clients und Serverprogramme geschrieben, welche tadellos funktioniert haben (beim Testen mit 5 Programmen und 2 Rechnern).
Im großen Verbund ist dann aber alles komplett schief gelaufen:
Es ging schon mit dem Verbindungsaufbau los. Für jeden Verbindungsaufbau hat das Programm ca. 1-4s benötigt. Das waren bei 50 Programmen ca. 100s nur für den Verbindungsaufbau!
Dann war die WLAN Verbindung wohl teilweise nicht sehr stark, so dass der Client (Kontrollprogramm über die 50 Server) teilweise gemeldet hat, dass die Verbindung zu ein paar Servern nicht mehr steht - wenn man aber die Server gefragt hat, dann war die Verbindung noch da. Mit Netstat konnte ich dann rauskriegen, dass die Verbindung tatsächlich noch bestand, der Client aber der Meinung war, dass die Verbindung nicht mehr da war.
In der Folge wollte der Client die Verbindung neu aufbauen, die Server aber nicht (sie bestand ja noch). Das ging dann auch nicht usw.
Somit ist es passiert, dass eine Verbindung scheinbar nicht aufgebaut werden konnte, obwohl man den Rechner übers Netz anpingen konnte!!!!!!!!!!
Fazit: Am Ende musste ich von den 10 Rechnern 7 vom Netz nehmen und das ganze ist dann noch mit 3 Rechnern und 15 Autoit Servern gelaufen. Mehr oder weniger stabil.
Die Programme waren so aufgebaut, dass ich immer 10s lang versucht habe, neue Verbindungen aufzubauen. Nach den 10s habe ich dann schnell alle bestehenden Verbindungen angepingt, damit die nicht in einen Timeout gelaufen sind...
Ich habe nur gemerkt, dass ich das ganze Timing nicht wirklich im Griff hatte und dass die TCP Verbindung überhaupt nicht so abgesichert ist, wie ich es erhofft habe.
Das ganze ist jetzt ein wenig unkonkret, vielleicht wollte ich nur mal meinen Frust von der Seele schreiben.
Jetzt habe ich wieder ein Jahr Zeit, es besser zu machen. Wie geht man so etwas sinnvoll an?