Beiträge von Pitter

    Tach zusammen,


    hab da ein kleines Problem mit einem Teilscript.


    Ich lese eigentlich aus einer INI einen Pfad aus, in dem Dateien über FTP gesichert werden sollen.
    Zur Vereinfachung habe ich hier mal den Pfad als $localfolder definiert.


    Problem ist folgendes:
    Sobald ich unter:
    _FTP_FileGet($Conn, $ftpFile[$u], $ftpFile[$u]) den Pfad mit einfüge:
    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&$ftpFile[$u])


    , geht das in die Hose.
    Lasse ich den Pfad weg, sichert mir das Script zuverlässig die gewünschten Dateien ins Scriptdir.


    Was mach ich da falsch?!? ?(


    #include <FTPEx.au3>
    #include <Array.au3>
    Local $server = 'pfad zum FTP'
    Local $username = ''
    Local $pass = ''
    Local $u, $ftpFile, $file, $right
    Local $localfolder = "c:\Testfiles\"


    Local $Open = _FTP_Open('MyFTP Control')
    Local $Conn = _FTP_Connect($Open, $server, $username, $pass)
    _FTP_DirSetCurrent($Conn, "SDCARD0")


    $ftpFile = _Ftp_ListToArray($Conn, 2)


    For $u = 1 To $ftpFile[0]
    If @error Then
    MsgBox(4096, "Error", "Keine FTP-Verbindung!")
    EndIf
    $right = StringRight($ftpFile[$u], 4)
    If $right = ".dbg" or $right = ".bat" Then
    _FTP_FileGet($Conn, $ftpFile[$u], $ftpFile[$u])
    If @error Then
    MsgBox(4096, "Error", "Kann keine Dateien kopieren!")
    Exit
    EndIf
    EndIf
    Next
    Local $Ftpc = _FTP_Close($Open)

    Hallo Leute,


    ich steh mal wieder vor einer Aufgabe, die mich gerade überfordert....


    Ich stelle derzeit mittels TeraTerm über einen COM-Port eine Verbindung zu einem Gerät her. Dieses Gerät sendet dann jede Menge an Informationen an TeraTerm, die mitgeloggt werden sollten.


    Natürlich könnte ich TeraTerm im Hintergrund mitarbeiten lassen... aber das wäre ja zu einfach. ;-)


    Was habe ich vor:


    Ich würde gerne ein GUICtrlCreateEdit() einbauen, welches die Ausgaben des Gerätes mitloggt und dann mittels Button als Textfile abgespeichert wird.
    Der 2. Teil ist nicht das Problem... nur der Zugriff auf das Fremdgerät macht mir noch Kopfweh.


    Habt Ihr da eine Idee zu?

    Hallo,
    ich steh mal wieder aufm Schlauch...


    Ich hab ne XML mit folgendem Inhalt:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE FeatureLicense SYSTEM "feature.dtd">
    <FeatureLicense appName="GoPal Navigator" appVersion="5.0" editionName="PE" master="yes" vendor="MEDION" vendor-URL="http://www.medion.com/gopal-reg" version="1.0"/>


    Was ich aus dieser Datei brauche und veränderlich ist sind folgende Einträge:


    appVersion="5.0"


    editionName="PE"


    Von beiden Einträgen benötige ich allerdings NUR die Einträge in den Anführungszeichen, also in diesem Fall 5.0 und PE...


    Hülfäää... hab da ein echtes Brett vorm Kopf und bräuchte eure Unterstützung büdde...


    Gruß
    Pitter

    Danke erst mal für die Hinweise...
    Werde das berücksichtigen bei meinen Änderungen...


    Was mich nur wundert ist, dass das bisher noch nirgendwo Probleme gemacht hat... nur bei Leuten, die osteuropäische Sprach-Versionen aktiv haben fängt das Teil das spinnen an....
    Die gleichen Grundscripte incl. der Encrypt-Funktion benutze ich in 6 verschiedenen Installern... ohne Änderung, mit genau dem gleichen Ablauf. Die Anpassungen erfolgen erst in den weiteren au3.


    Wenn ich da alle erfolgreichen Installationen addiere, komme ich auf fast 20.000 fehlerfreien Installationen (mal die DAUs ausgenommen, wo die Fehler vor der eigenen Tastatur sitzen und fehlerhafter Formatierung der SD-Karten, Blockaden durch Virenscanner oder Firewalls).... eigentlich immer die gleichen Fehler, bis auf diese beiden Burschen. einer mit russischer Sprachversion auf deutschem Win7 32bit und einer mit polnischer Sprachversion auf Vista 64bit.


    Deshalb habe ich bisher diesen kompletten Teil unangetastet gelassen, so wie ich das vor fast 1 Jahr mal erweitert habe.... Nach dem Motto: Never change a running system.

    Interessanter Lösungsansatz....


    Hab das mal getestet und den Bereich lokalisiert.


    Das scheint in diesem Bereich zu liegen:


    Seht Ihr da was, was ich verändern könnte?
    Ich tippe auf den Abschnitt, nachdem das Script aus der encypt() zurück kommt....

    global hab ich die definiert, weil ich $pfad noch mehrfach brauche in den weiteren au3...


    zu:$hardware1 = FileRead($pfad & 'hardware.txt')"
    Gut, das kannst Du nicht wissen, was da zwischendrin passiert. Aber das ist schon so in Ordnung, da ich:
    a: die Existenz der Datei abprüfe
    b: dort definitiv ein Eintrag vorhanden ist, weil ich diese hardware.txt über ein externes Programm auf dem PNA erstellen lasse... und diese liesst die REG des Gerätes aus und trägt in jedem Fall dort was ein.... und wenn es ein "-" ist.
    Klar... sauberer wäre das mit IsArray() zu arbeiten... stimmt! Kann aber hier doch eigentlich nicht zu dem benannten Fehler führen...


    TraySetIcon($pfad & "\car.ani")... stimmt... das ist ein Fehler... hab noch einen solchen Fehler gefunden...
    Nur komischerweise funktioniert das auf mehr als mittlerweile mehr als 5.000 Systemen... nur bei Systemen mit anderer Spracheinstellung nicht!!!
    Das ist ja das seltsame an der Geschichte... ;(

    Naja...
    $pfad = @TempDir & '\' & $SerialNumber & '\'


    Eine au3 kann ich nicht veröffentlichen, da ich die so dermassen einschrumpfen müsste, dass die nicht mehr lesbar wäre....
    Aber bereits in der gui.au3 müsste der Fehler auftreten, weil schon nach der Rückkehr aus der Update-Funktion das Problem auftritt.... :(


    Die gpws_gui.au3:

    Das Problem ist bei mir halt nicht nachvollziehbar....


    Hier also dann die Installer.au3... Weiterhin sind da dann noch weitere au3, die dann im weiteren Verlauf includiert werden.

    Hallo zusammen,


    ein paar ausländische User haben ein Problem mit unseren Installern, die ich mit AutoIt erstellt habe.
    Wir haben herausfinden können, dass sobald ein User seinen PC zwar mit deutscher Windows-Version, aber mit anderer Spracheinstellung benutzen, diese Fehlermeldung auftritt: Line: 9737. Error: Subscript used with non-Aray variable


    Zitat eines Userpostings:


    Zitat

    Ursache:
    Windows Deutsch, Sprache eingestellt Russisch
    Entscheidung:
    Muss Deutsche Sprach eingestellt sein


    Was kann ich tun, um das zu vermeiden?

    Hallo zusammen,


    hab schon ne Weile gesucht, aber nichts wirklich passendes finden können.


    Folgende Problemstellung:


    Ich habe eine Textdatei mit ca. 62.000 Zeilen.
    Innerhalb dieser Datei liegt an 5 Stellen eine Zeile, die ich gerne ersetzen möchte, falls meine Vorlauf-Exe da einen bestimmten Wert in eine INI schreibt.
    Die auszutauschende Zeile ist immer identisch und nicht variabel:


    Das sind die Original-Zeilen:
    TextFormat: "%16777221;^F13^ m"


    Diese sollen alle ausgetauscht werden gegen diese Zeile:
    TextFormat: "(%F(cmp;%16777221;<3)?0^F150^ m:%F(Calc;%16777221;-47)^F13^ m)";


    Wie kann ich das am schnellsten und am effektifsten machen?
    Habt Ihr da ne Idee für mich?


    Gruß
    Pitter

    Zum Hintergrund:


    Ich habe einige "Installer" mit AutoIt gebaut, die über Active Sync (Windows Mobile Gerätecenter) mittels CE-Tools Dateien kopiert und dann einen dann auf dem Gerät vorhandenen Installer "anschiebt". Das Ganze sind Skin- und POi-Observer-Installer für Pocketnavigations-Geräte, die dem User das aufwändige rumhantieren mit der Registry und dem umständlichen Ändern von Systemeinträgen abnehmen soll.


    So weit, so gut...


    allerdings haben wir es öfter mit "Kollegen" zu tun, die sich nicht um ihre SD-Karte kümmern und diese in jämmerlichem Datenzustand befinden.
    Das führt dazu, dass die SD-Karte möglicherweise Daten nicht speichern kann, da Fehler in der Formatierung der SD vorliegen. Zwangsläufig kommt es dann zu Fehlern in der Darstellung, oder dass ein Tool garnicht funktioniert, weil die entsprechenden Dateien sich nach der Installation einfach nciht auf der SD-Karte befinden.


    Meine Idee wäre jetzt, eine Art Fehlerprüfung der über Active Sync angeschlossenen SD-Karte fest mit in den in AutoIt geschriebenen Installer zu integrieren.
    Falls diese dann Fehler finden sollte, könnte man dem User eine Sicherung auf die Festplatte anbieten, dann eine Formatierung der SD-Karte vornehmen lassen und nach erfolgter Rücksicherung dann den Aufruf des eigentlichen Installers erfolgen lassen.... So weit die Theoretische Wunschvorstellung... 8)


    Ich habe allerdings noch keine Idee, wie/ und ob man das mit AutoIt darstellen könnte.... alleine dass der Zugriff nur über Active Sync erfolgen kann ärgert mich da leider.


    Hat einer von euch da vielleicht eine zündende Idee??? ?(


    Gruß
    Pitter

    Hallo Schnitzel,
    klar... selbstverständlich geht die Geschichte.


    Mich stört nur, dass ich da keine vernünftige Fehlermeldung generieren kann, wenn der User z.B. die INI versucht hat zu manipulieren vor dem entschlüsseln.... jedenfalls weiss ich nicht wie.


    Die INI musste ich frei mit in den Source-Ordner packen, da ich eine Update-Funktion mit eingebaut habe, die bei bestimmten Fehlern nach einer neuen INI schaut.
    Diese INI enthält wichtige Details zum Installer und ich wäre blööd, wenn ich die offen mit anbieten würde. Deshalb auch der Umweg über das ver - und entschlüsseln.


    Ich hätte halt nur gerne eine Möglichkeit, dem User nicht mit einer cryptischen Fehlermeldung zu kommen ala subscript used with non-Array variable.