1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Pitter

Beiträge von Pitter

  • Subscript used with non-Array variable

    • Pitter
    • 19. Oktober 2010 um 20:44

    Hallo,

    hab das gerade mal getestet...
    mit Ubound geht die Exe einfach über den Fehler hinweg... Ich habe extra zum testen eine manipulierte INI eingebaut...

    Das ist übrigens das, was mir die console ausgibt:

    gpws_func_1.au3 (47) : ==> Subscript used with non-Array variable.:
    For $i = 1 To $ini[0][0]
    For $i = 1 To $ini^ ERROR

  • Subscript used with non-Array variable

    • Pitter
    • 19. Oktober 2010 um 19:39

    Hallo Leute,

    ich habe den Fehler lokalisieren können... :S

    Ich stelle dem User eine verschlüsselte INI zur Verfügung. Diese INI wird während der Laufzeit entschlüsselt und im TEMP entschlüsselt abgelegt. Diese entschlüsselte INI wird vom Programm mit:

    [autoit]

    For $i = 1 To $ini[0][0]
    If $ini[$i][1] = $hardware[4] Then
    $version = $ini[$i][0]
    ExitLoop
    Else
    $version = "----"
    EndIf
    Next

    [/autoit]


    ausgelesen.
    Bei 2 Usern von mittlerweile über 400 Usern scheint das entschlüsseln nicht zu funktionieren. Dann kommt diese "Subscript used with non-Array variable"-Fehlermeldung.

    Meine Frage wäre jetzt:
    1. Kann es sein, dass das entschlüsseln mittels _StringEncrypt durch Sicherheits-Einstellungen in Windoof oder durch Virenscanner verhindert werden kann???
    2. Wie kann ich die Fehlermeldung am geschicktesten abfangen? Mit

    [autoit]

    If @error = 1 Then...

    [/autoit]


    komme ich da ja nciht wirklich weiter....

    Danke für Eure Hilfe.

  • DescribeIt - Funktionsheader leicht gemacht (Alpha)

    • Pitter
    • 18. Oktober 2010 um 14:31

    Ahhh... merci!

  • DescribeIt - Funktionsheader leicht gemacht (Alpha)

    • Pitter
    • 18. Oktober 2010 um 14:22

    Hallo

    Super-Sache... Kann das Proggie allerdings nicht installieren, da es in meinem %USERPROFILE% keine SciTEUser.properties gibt.
    SciTe ist allerdings installiert.... und nu? ?(

  • Elektronisches Telefonbuch

    • Pitter
    • 12. Mai 2010 um 12:52

    Hallo SchrotterCh,

    sieht so weit ganz gut aus. :thumbup:

    Was ich vermisse ist die Unterstützung für die Enter-Taste für OK...


    Edit sagt: Die fehlende Entertasten-Unterstützuing bezieht sich auf die Eingabe der Daten in das Telefonbuch. Da muss der geneigte 10-Finger-Schreiber immer zur Maus packen. ;)

  • INI-Updater mit automatischer Änderung der Versions-Datei

    • Pitter
    • 9. Mai 2010 um 17:00

    Hallo,
    wollte euch mal fragen, wie Ihr meine Lösung findet...

    Ziel war, eine auf einem FTP-Server befindliche verschlüsselte Datei zu bearbeiten und wieder hoch zu stellen. Auch sollte bei jeder Bearbeitung die im gleichen Verzeichnis auf dem Server befindliche TXT im Zähler um einen Punkt hoch gesetzt werden.

    Als Ansatz habe ich das Script von @wollferness benutzt und für meine Zwecke umgebaut.
    somit können wir problemlos die INI erweitern und wieder verschlüsselt hoch stellen.

    Spoiler anzeigen
    [autoit]


    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\GPW.ico
    #AutoIt3Wrapper_outfile=GPW-Ini-Updater_Beta5\GPW-Ini-Updater_V1.exe
    #AutoIt3Wrapper_Res_Comment=Programm zum Auslesen und erneuern der GPW.ini
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.2
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=GoPalWorld
    #AutoIt3Wrapper_Res_SaveSource=y
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=Made by|Pitter (c)
    #AutoIt3Wrapper_Run_Tidy=y
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;====================================================
    ;============= GPW-INI-Updater =============
    ;====================================================
    ; AutoIt version: 3.3.360
    ; Language: Deutsch
    ; Author: Pitter (c) by Idea from @wolfferness
    ;
    ; ----------------------------------------------------------------------------
    ; Script Start
    ; ----------------------------------------------------------------------------
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <Constants.au3>
    #include <IE.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <GuiButton.au3>
    #include <GUIConstants.au3>
    #include <String.au3>
    #include <FTPEx.au3>
    #include <Debug.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Local $UpDownLevel

    [/autoit] [autoit][/autoit] [autoit]

    #forceref $UpDownLevel
    $encr = 0

    [/autoit] [autoit][/autoit] [autoit]

    $WinMain = GUICreate('GPW-INI-Updater V1', 800, 600) ;~ Fenstertitel setzen
    GUISetBkColor(0xA6CAF0) ;~ Hintergrundfarbe setzen
    $EditText = GUICtrlCreateEdit('', 10, 100, 590, 265) ;~ Editor-Fenster setzen
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Installer-Grafik_oben.jpg", 10, 5, 590, 90, BitOR($SS_NOTIFY, $SS_SUNKEN, $WS_GROUP, $WS_CLIPSIBLINGS), $WS_EX_CLIENTEDGE)
    ;~ Logo platzieren
    ;######## Passwort für die INI-Datei
    $InputPass = 'TEST'
    $InputLevel = '2'

    [/autoit] [autoit][/autoit] [autoit]

    ;######## Buttons generieren
    $EndButton = GUICtrlCreateButton('Beenden', 644, 536, 107, 50, 0, $WS_EX_CLIENTEDGE)
    $Group1 = GUICtrlCreateGroup("Dateien bearbeiten", 616, 10, 167, 495, $BS_FLAT, $WS_EX_CLIENTEDGE)
    $ReadButton = GUICtrlCreateButton("Download", 644, 56, 107, 60, 0, $WS_EX_CLIENTEDGE)
    $EncryptButton = GUICtrlCreateButton('Verschlüsseln', 644, 274, 107, 60, 0, $WS_EX_CLIENTEDGE)
    $DecryptButton = GUICtrlCreateButton('Entschlüsseln', 644, 168, 107, 60, 0, $WS_EX_CLIENTEDGE)
    $SendButton = GUICtrlCreateButton('Veröffentlichen', 644, 384, 107, 60, 0, $WS_EX_CLIENTEDGE)

    [/autoit] [autoit][/autoit] [autoit]

    ;~####### FTP-Daten
    $server = 'testserver.de'
    $username = 'anonym'
    $pass = 'anonym'
    $path = '/Zielverzeichnis/'

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE ;~ Wenn man oben auf das X klickt
    ExitLoop ;~ Schleife verlassen und schliessen

    [/autoit] [autoit][/autoit] [autoit]

    Case $ReadButton ;~ Dateien einlesen
    ;###### Beginn Download der INI und der Update.txt
    $DownloadFile_1 = (@ScriptDir & "\GPW.ini") ;~ Pfad in Var schreiben
    $DownloadFile_2 = (@ScriptDir & "\Update.txt") ;~ dito
    $Ftp_FileName_1 = "GPW.ini" ;~ Dateiname in Var schreiben
    $Ftp_FileName_2 = "Update.txt" ;~ dito
    $Open = _FTP_Open('MyFTP Control') ;~ Öffne FTP
    $label_4 = GUICtrlCreateLabel("FTP wird geöffnet...", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    $label_1 = GUICtrlCreateLabel("Verbinde mit Server: " & $server & " Username: " & $username & " Passwort: " & " Passwort: " & $pass, 10,400, 585,30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    $Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ Verbinden mit dem FTP
    GUICtrlDelete($label_4)
    $label_4 = GUICtrlCreateLabel("Anmelden am Server....", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    $FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ Wechseln des Standart-Verzeichnisses
    GUICtrlDelete($label_4)
    $label_4 = GUICtrlCreateLabel("Wechseln in den Ordner: " & $path, 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    Local $Ftpd_1 = _FTP_ProgressDownload($Conn, $DownloadFile_1, $Ftp_FileName_1) ;~ Download mit Progressbar
    Local $Ftpd_2 = _FTP_ProgressDownload($Conn, $DownloadFile_2, $Ftp_FileName_2) ;~ Download mit Progressbar
    GUICtrlDelete($label_4)
    GUICtrlDelete($label_1)
    If $Ftpd_1 = 1 And $Ftpd_2 = 1 Then ;~ Kontrolle, ob beide Files da sind
    GUICtrlDelete($label_4)
    $label_5 = GUICtrlCreateLabel("Dateien wurden erfolgreich geladen.", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
    If FileExists($DownloadFile_1) And FileExists($DownloadFile_2) Then ;~ Wenn beidse Files da sind
    $file = FileOpen(@ScriptDir & "\GPW.ini", 0) ;~ öffne INI zum lesen
    $chars = FileRead($file) ;~ Datei auslesen
    GUICtrlSetData($EditText, $chars) ;~ Dateiinhalt in Textbox schreiben
    FileClose($file) ;~ INI schliessen
    GUISetState(@SW_ENABLE, $WinMain) ;~ Fenster zum Bearbeiten aktivieren
    EndIf
    Else
    GUICtrlDelete($label_1)
    $label_5 = GUICtrlCreateLabel("DATEIEN WURDEN NICHT GELADEN!", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Local $Ftpc = _FTP_Close($Open)
    Sleep(3000)
    EndIf
    GUICtrlDelete($label_4)
    $label_1 = GUICtrlCreateLabel("INI-Datei eingelesen", 10, 400, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    $label_2 = GUICtrlCreateLabel("Bitte INI-Datei entschlüsseln und editieren!", 10, 440, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit]

    $encr = 0 ;~ Kontrolle, ob verschllüsselt wurde auf False (0) setzen

    [/autoit] [autoit][/autoit] [autoit]

    Case $EncryptButton ;~ Verschlüsselung
    GUICtrlDelete($label_1)
    GUICtrlDelete($label_2)
    GUICtrlDelete($label_5)
    GUISetState(@SW_DISABLE, $WinMain) ;~ Fenster deaktivieren
    $string1 = GUICtrlRead($EditText) ;~ Text aus dem Textfenster lesen
    GUICtrlSetData($EditText, 'Bitte warten, INI wird verschlüsselt!')
    GUICtrlSetData($EditText, _StringEncrypt(1, $string1, $InputPass, $InputLevel)) ;~ Inhalt verschlüsseln und ab ins Fenster
    $chars1 = GUICtrlRead($EditText) ;~ Fenster auslesen
    $inifile = FileOpen(@ScriptDir & "\GPW.ini", 2) ;~ alte INI-Datei öffnen
    FileWrite($inifile, $chars1) ;~ Inhalt des Fensters in die alte INI schreiben
    FileClose($inifile) ;~ Neue INI schliessen
    GUICtrlSetData($EditText, $chars1) ;~ und zur Kontrolle noch mal ins Fenster
    GUISetState(@SW_ENABLE, $WinMain) ;~ Fenster wieder aktivieren
    $encr = 1 ;~ Kontrolle, ob verschlüsselt wurde auf True (1) setzen
    $label_5 = GUICtrlCreateLabel("INI wurde verschlüsselt.", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    $label_2 = GUICtrlCreateLabel("Bitte INI-Datei veröffentlichen!", 10, 440, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit]

    Case $DecryptButton ;~ Entschlüsselung
    GUICtrlDelete($label_2)
    GUICtrlDelete($label_5)
    GUISetState(@SW_DISABLE, $WinMain) ;~ Fenster deaktivieren
    $string2 = GUICtrlRead($EditText) ;~ Fenster auslesen
    GUICtrlSetData($EditText, 'Bitte warten, INI wird entschlüsselt!')
    GUICtrlSetData($EditText, _StringEncrypt(0, $string2, $InputPass, $InputLevel)) ;~ Fenstertext entschlüsseln
    $chars2 = GUICtrlRead($EditText) ;~ Fenster auslesen
    $inifile2 = FileOpen(@ScriptDir & '\GPW.ini', 2) ;~ INI öffnen
    FileWrite($inifile2, $chars2) ;~ Fensterinhalt in die INI schreiben
    FileClose($inifile2) ;~ INI schliessen
    GUISetState(@SW_ENABLE, $WinMain) ;~ Fenster aktivieren
    $encr = 0
    $label_5 = GUICtrlCreateLabel("INI wurde entschlüsselt.", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    $label_2 = GUICtrlCreateLabel("Nach dem Editieren, bitte INI wieder verschlüsseln!", 10, 440, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit]

    Case $SendButton
    GUISetState(@SW_DISABLE, $WinMain) ;~ Fenster deaktivieren, um Änderungen zu vermeiden
    GUICtrlDelete($label_2)
    If $encr = 1 Then
    $sString = FileReadLine(@ScriptDir & "\Update.txt", 2) ;~ 2. Zeile auslesen
    $VersionText = $sString ;~ Kontrolle, ob INI nicht leer ist
    If $VersionText = "" Then ;~ Wenn leer, dann Msgbox
    MsgBox(0, "Fehler", "Update.txt nicht gefunden, Programm wird beendet!", 30)
    Exit
    Else
    $label_2 = GUICtrlCreateLabel("Online-Version ist: " & $sString, 10, 440, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    $aSplit = StringSplit($sString, ".", 2) ;~ Splitten des Strings nach Teiler "."

    [/autoit] [autoit][/autoit] [autoit]

    $aSplit[3] += 1 ;~ Erhöhen des 4.Wertes um 1

    [/autoit] [autoit][/autoit] [autoit]

    $sString = "" ;~ String leer bereitstellen

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($aSplit) - 1 ;~ Schleife zum Zusammensetzen des neuen Strings
    $sString &= $aSplit[$i] & "." ;~ Zusammensetzen des Stings
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $sString = StringTrimRight($sString, 1) ;~ Entfernen des letzen Teilers am Ende des Strings
    $label_3 = GUICtrlCreateLabel("Update-Version ist: " & $sString, 10, 480, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit]

    _FileWriteToLine(@ScriptDir & "\Update.txt", 2, $sString, 1) ;~ Neuen String in Zeile 2 der Update.txt schreiben und Zeile überschreiben (1)

    [/autoit] [autoit][/autoit] [autoit]

    ;####### Beginn Upload der neuen Dateien
    $UploadFile = (@ScriptDir & "\GPW.ini") ;~ Pfad der INI in Var schreiben
    $UploadFile_2 = (@ScriptDir & "\Update.txt") ;~ Pfad der Update.txt in Var schreiben
    $Ftp_FileName = "GPW.ini" ;~ Dateiname in Var schreiben
    $Ftp_FileName_2 = "Update.txt" ;~ dito
    $Open = _FTP_Open('MyFTP Control') ;~ FTP öffnen
    $label_4 = GUICtrlCreateLabel("FTP wird geöffnet...", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    $Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ mit FTP-Server verbinden
    GUICtrlDelete($label_4)
    $label_4 = GUICtrlCreateLabel("Anmelden am Server....", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    $FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ FTP-Pfad setzen
    GUICtrlDelete($label_4)
    $label_4 = GUICtrlCreateLabel("Wechseln in den Ordner: " & $path, 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    GUICtrlDelete($label_4)
    Local $Ftpp = _FTP_ProgressUpload($Conn, $UploadFile, $Ftp_FileName) ;~ Datei mit Progressbar hochladen
    Local $Ftpp_2 = _FTP_ProgressUpload($Conn, $UploadFile_2, $Ftp_FileName_2) ;~ dito
    GUICtrlDelete($label_4)

    [/autoit] [autoit][/autoit] [autoit]

    If $Ftpp = 1 Then ;~ Rückmeldung vom Server
    GUICtrlDelete($label_5)
    $label_5 = GUICtrlCreateLabel("Dateien wurden erfolgreich hoch geladen.", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(1500)
    Else
    GUICtrlDelete($label_5)
    $label_5 = GUICtrlCreateLabel("DATEIEN WURDEN NICHT HOCHGELADEN!", 10, 560, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(3000)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Local $Ftpc = _FTP_Close($Open) ;~ FTP schliessen
    GUICtrlDelete($label_4)
    $label_4 = GUICtrlCreateLabel("FTP-Verbindung geschlossen!", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(3000)
    GUICtrlDelete($label_2)
    GUICtrlDelete($label_3)
    GUICtrlDelete($label_4)
    GUICtrlDelete($label_5)
    $encr = 0
    EndIf
    Else
    MsgBox(0, " Fehler", "INI vor dem Hochladen bitte verschlüsseln!!!")
    Sleep(1000)
    GUICtrlDelete($label_1)
    $encr = 0
    EndIf
    GUISetState(@SW_ENABLE, $WinMain)
    GUICtrlDelete($label_2)
    GUICtrlDelete($label_4)
    GUICtrlDelete($label_5)
    $label_4 = GUICtrlCreateLabel("Fertig....", 10, 520, 585, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit]

    Case $EndButton
    Return
    EndSwitch
    WEnd
    EndFunc ;==>_Main

    [/autoit]

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    nen Icon wollte er mir nicht hochladen...ist nicht erlaubt...

    Könnte man das schöner machen, oder besser?

    Edit: Kritik ist erwünscht, wenn es produktiv ist.... ;)

    Bilder

    • Installer-Grafik_oben.jpg
      • 56,63 kB
      • 616 × 96
  • Encrypt-Funktion macht mir Probleme

    • Pitter
    • 9. Mai 2010 um 16:29

    Hallo zusammen,

    hab den Fehler gefunden und fixen können.
    Selbstverständlich hattet Ihr beide Recht. ;)

    Dazu kam aber, dass beim Dekodieren die Datei nicht überschrieben wurde. Hab das jetzt so umgebaut, dass das Script erst eine temp-Datei schreibt und danach dann erst rüber kopiert und überschreibt.

  • Encrypt-Funktion macht mir Probleme

    • Pitter
    • 7. Mai 2010 um 19:42

    Die INI liegt doch im @ScriptDir drin, oder stehe ich mir gerade selber auf der Leitung? ?(

  • Encrypt-Funktion macht mir Probleme

    • Pitter
    • 7. Mai 2010 um 18:02

    Hallo Leute,

    ich habe ein PRoblem mit meiner Encrypt-Funktion.
    Ich habe im @ScriptDir eine verschlüsselte GPW.ini, die ich einlese, im Script entschlüssel und dann soll der Inhalt in eine temporäre Datei geschrieben werden, um
    1. eine Kontrolle zu haben
    2. weiter mit den Daten arbeiten zu können.

    Das Encrypttool bastelt mit aber die entschlüsselte INI immer in den übergeordneten Ordner mit folgendem Dateinamen: Skin_Installer_NEU_480x272_SkinV21GPW.ini
    Dieser Name setzt sich aus dem @ScriptDir und GPW.ini zusammen.... und ich habe keine Ahnung warum... ?(

    Hier ist die betreffende au3:

    Spoiler anzeigen
    [autoit]


    Local $chars, $text, $text1, $inifile, $inifile_1, $i_EncryptLevel, $s_EncryptPassword, $text, $file

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    TraySetState(4)
    GUICtrlDelete($Install)
    GUICtrlDelete($Abbruch)
    GUICtrlDelete($label6)

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists(@ScriptDir & "\dummy.txt") Then
    MsgBox(0, "ACHTUNG", "Es wird mit den Daten der DUMMY.TXT gearbeitet", 5)

    [/autoit] [autoit][/autoit] [autoit]

    FileCopy(@ScriptDir & "\dummy.txt", $pfad & "hardware.txt", 1)
    Else
    $progress = GUICtrlCreateProgress(144, 296, 470, 29, BitOR($PBS_SMOOTH, $WS_BORDER))
    $label6 = GUICtrlCreateLabel("PNA Analysescripte werden kopiert", 144, 248, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    RunWait($pfad & 'rapistart.exe ' & '"' & '\my flash disk\temp\hardware.exe' & '"', @ScriptDir, @SW_HIDE)
    GUICtrlDelete($label6)
    $label6 = GUICtrlCreateLabel("PNA Hard- und Software wird analysiert", 144, 248, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    For $x = 1 To 100 Step 1
    GUICtrlSetData($progress, $x)
    Sleep(90)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    RunWait($pfad & 'cecopy.exe /s ' & '"' & 'dev:\temp\hardware.txt' & '"' & ' ' & '"' & $pfad & 'hardware.txt' & '"', @TempDir, @SW_HIDE)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($pfad & 'hardware.txt') Then
    $hardware1 = FileRead($pfad & 'hardware.txt')
    GUICtrlDelete($progress)
    GUICtrlDelete($label6)
    $hardware = StringSplit($hardware1, "|")

    [/autoit] [autoit][/autoit] [autoit]

    $file = FileOpen(@ScriptDir & "\GPW.ini", 0)
    If $file = -1 Or "" Then
    MsgBox(0, "ACHTUNG", "GPW.ini fehlt oder ist leer " & @CRLF & "oder beschädigt. " & @CRLF & " Bitte die INI erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
    endscript()
    Exit
    EndIf
    $chars = FileRead($file)
    FileClose($file)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ Encrypt-Funktion der INI
    $sEncryptPassword = 'test'
    $iEncryptLevel = '2'

    [/autoit] [autoit][/autoit] [autoit]

    $text = _StringEncrypt(0, $chars, $sEncryptPassword, $iEncryptLevel)
    $inifile = FileOpen(@ScriptDir & "\GPW_1.ini", 2)
    FileWrite($inifile, $text)
    FileClose($inifile)
    ;~ Encrypt-Ende

    [/autoit] [autoit][/autoit] [autoit]

    $var = IniReadSection(@ScriptDir & "\GPW_1.ini", "version_path")
    $ini = IniReadSection(@ScriptDir & "\GPW_1.ini", "version_size")

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $ini[0][0]
    If $ini[$i][1] = $hardware[4] Then
    $version = $ini[$i][0]
    ExitLoop
    FileClose($inifile)
    Else
    $version = "----"
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    If $version = "----" Then
    $fh = MsgBox(64, "Update", "Das Programm hat die GoPal-Version" & @CRLF & "nicht erkannt!" & @CRLF & '' & @CRLF & "Möchten Sie Online auf ein Update prüfen?")
    If $fh = 1 Then
    ;~ ###################### Neue Funktion zum Update der GPW.INI
    ;~####### FTP-Daten
    $server = 'testserver.de'
    $username = 'tester'
    $pass = 'test'
    $path = '/skin_ini_updater/'

    [/autoit] [autoit][/autoit] [autoit]

    $version_file = (@ScriptDir & "\Update.txt")
    $version_line = FileReadLine($version_file, 2)

    [/autoit] [autoit][/autoit] [autoit]

    $DownloadFile_1 = (@ScriptDir & "\1Update.txt") ;~ dito
    $Ftp_FileName_1 = "Update.txt" ;~ Dateiname in Var schreiben
    $Open = _FTP_Open('MyFTP Control') ;~ Öffne FTP
    If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
    $label4 = GUICtrlCreateLabel("FTP wird geöffnet...", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    $Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ Verbinden mit dem FTP
    If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
    GUICtrlDelete($label4)
    $label4 = GUICtrlCreateLabel("Anmelden am Server....", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    $FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ Wechseln des Standart-Verzeichnisses
    If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
    GUICtrlDelete($label4)
    Local $Ftpd_1 = _FTP_ProgressDownload($Conn, $DownloadFile_1, $Ftp_FileName_1) ;~ Download mit Progressbar
    If $Ftpd_1 = 1 Then ;~ Kontrolle, ob File da ist
    Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
    If FileExists($DownloadFile_1) Then ;~ Wenn File da ist
    $version_line_1 = FileReadLine($DownloadFile_1, 2) ;~ Lese Zeile 2
    EndIf
    If $version_line = $version_line_1 Then ;~ Vergleiche Original-Update.txt mit neuer
    $version = "----"
    $goGPW = MsgBox(36, " Fehler", "Ihre Gopal-Version wird nicht unterstützt." & @CRLF & "Sie haben die Möglichkeit dem GopalWorld-Skin-Team durch einen Klick auf YES ihre Gopal-Version mitzuteilen. Das Goaplworld-Skin-Team wird daraufhin ihre Version kompatibel machen." & @CRLF & @CRLF & "Möchten Sie uns Ihre Gopal-Version mitteilen?")
    If $goGPW = 6 Then
    ShellExecute("http://dingsbums.de/gopal.php?size=" & $hardware[4] & "&pna=" & $hardware[5] & "&version=" & $hardware[6] & "&installer= GPW-Skin-Installer V2.1_470x272")
    endscript()
    Exit
    Else
    MsgBox(4096, " Fehler", "Diese Gopal Version " & @CRLF & "ist nicht mit diesem Skin kompatibel." & @CRLF & "Programm wird beendet.")
    endscript()
    Exit
    EndIf
    Else
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
    $fg = MsgBox(4, "Updaten?", "Möchten Sie jetzt Updaten?")
    If $fg = 6 Then
    $DownloadIniFile = ("\GPW_1.ini") ;~ Pfad in Var schreiben
    $Ftp_IniName = "GPW.ini" ;~ Dateiname in Var schreiben
    $Open = _FTP_Open('MyFTP Control') ;~ Öffne FTP
    If @error=1 Then ftperror()
    $label4 = GUICtrlCreateLabel("FTP wird geöffnet...", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    $Conn = _FTP_Connect($Open, $server, $username, $pass) ;~ Verbinden mit dem FTP
    If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
    GUICtrlDelete($label4)
    $label4 = GUICtrlCreateLabel("Anmelden am Server....", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Sleep(500)
    $FtpDir = _FTP_DirSetCurrent($Conn, $path) ;~ Wechseln des Standart-Verzeichnisses
    If @error=1 Then ftperror() ;~ Wenn kein FTP möglich, dann gehe in Fehler
    GUICtrlDelete($label4)
    Local $Ftpd_2 = _FTP_ProgressDownload($Conn, $DownloadIniFile, $Ftp_IniName) ;~ Download mit Progressbar
    If $Ftpd_2 = 1 Then ;~ Kontrolle, ob File da ist
    Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
    Else
    $label4 = GUICtrlCreateLabel("DATEI WURDE NICHT GELADEN!", 144, 200, 470, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Local $Ftpc = _FTP_Close($Open) ;~ FTP wieder schliessen
    Sleep(3000)
    endscript()
    Exit
    EndIf
    Sleep(200)
    $file_1 = FileOpen("\GPW_1.ini", 0)
    If $file_1 = -1 Or "" Then
    MsgBox(0, "ACHTUNG", "GPW.ini fehlt oder ist leer " & @CRLF & '' & @CRLF & "oder beschädigt." & @CRLF & "Bitte den Skin erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
    endscript()
    Exit
    EndIf
    $chars_1 = FileRead($file_1)
    FileClose($file_1)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ Encrypt-Funktion der INI
    $sEncryptPassword_1 = 'test'
    $iEncryptLevel_1 = '2'

    [/autoit] [autoit][/autoit] [autoit]

    $text_1 = _StringEncrypt(0, $chars_1, $sEncryptPassword_1, $iEncryptLevel_1)

    [/autoit] [autoit][/autoit] [autoit]

    $inifile_1 = FileOpen("\GPW_1.ini", 2)
    FileWrite($inifile_1, $text_1)
    FileClose($inifile_1)
    ;~ Encrypt-Ende

    [/autoit] [autoit][/autoit] [autoit]

    $var = ''
    $ini = ''

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(100)
    $var = IniReadSection("\GPW_1.ini", "version_path")
    $ini = IniReadSection("\GPW_1.ini", "version_size")
    If @error=1 Then
    MsgBox(0, "ACHTUNG", "GPW.ini ist leer " & @CRLF & "oder beschädigt. " & @CRLF & " Bitte den Skin erneut downloaden " & @CRLF & "und in den Install-Ordner legen!", 10)
    endscript()
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $ini[0][0]
    If $ini[$i][1] = $hardware[4] Then
    $version = $ini[$i][0]
    ExitLoop
    FileClose($inifile_1)
    Else
    $version = "----"
    EndIf
    Next
    FileClose($inifile_1)
    If $version = "----" Then
    fehler()
    EndIf
    Else
    fehler()
    EndIf
    EndIf
    Else
    ftperror()
    EndIf
    EndIf
    EndIf
    ;~ ######################Ende der neuen Funktion

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $version_type = StringLeft($version, StringLen($version) - 3)
    $version_number = StringRight($version, 3)

    [/autoit] [autoit][/autoit] [autoit]

    AdlibUnRegister()

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlDelete($label2)

    [/autoit] [autoit][/autoit] [autoit]

    If $hardware[6] = "-" Then
    MsgBox(16, "ACHTUNG", " Keine Speicher-Karte vorhanden " & @CRLF & "oder Speicher-Karte voll!" & @CRLF & '' & @CRLF & " Bitte Karte einsetzen und Programm neu starten.", 10)
    endscript()
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $pfad1 = $pfad & '\' & 'GoPalWorld-Skin'
    $dirsize = (DirGetSize($pfad1, 0))
    $dirsizeround = Round($dirsize / 1024 / 1024, 2)
    $installsize = ($dirsizeround - 4.00)
    $speicher = Round($hardware[7] / 1024 / 1024, 2)
    If $speicher <= 0 Then
    $speicher = ($speicher * - 1)
    EndIf
    $bedarf = ($installsize - $speicher)

    [/autoit] [autoit][/autoit] [autoit]

    If $speicher <= $installsize Then
    MsgBox(16, "ACHTUNG", "Zu wenig Speicherplatz auf der Speicherkarte!" & @CRLF & '' & @CRLF & "Es sind nur " & $speicher & "MB statt benötigter " & $installsize & "MB frei!" & @CRLF & "Bitte Speicher-Karte um " & $bedarf & "MB bereinigen, " & @CRLF & "oder grössere Karte einsetzen und Programm neu starten!", 10)
    endscript()
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlDelete($label2)
    $label2 = GUICtrlCreateLabel("Das Gerät ist ein ----> " & $hardware[5], 144, 152, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If StringLeft(StringRight($hardware[5], 4), 1) = 5 Then

    [/autoit] [autoit][/autoit] [autoit]

    $hardware[1] = "Sirf"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlDelete($label3)
    GUICtrlDelete($label4)
    GUICtrlDelete($label5)
    GUICtrlDelete($label6)
    $label3 = GUICtrlCreateLabel("Das System arbeitet mit einem " & $hardware[1] & " Prozessor. ", 144, 176, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    $label4 = GUICtrlCreateLabel("Folgende GoPal-Software ist installiert: " & $version_type & " " & $version_number, 144, 200, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    ConsoleWrite("Ordner= " &'GoPalWorld-Skin\' & $version_type & '' & $version_number & '\Atlas')
    If $hardware[2] == "mfd" And $hardware[3] = "sd" Then
    $label5 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    $poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
    GUICtrlSetData(-1, "--|mfd|sd", "mfd")
    ElseIf $hardware[2] == "mfd" And $hardware[3] = "-" Then
    $label6 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    $poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
    GUICtrlSetData(-1, "--|mfd", "mfd")
    ElseIf $hardware[2] == "-" And $hardware[3] = "sd" Then
    $label6 = GUICtrlCreateLabel("POIObserver-Sourcen gefunden, PoiObs anpassen ->", 144, 224, 420, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    $poibs_ins = GUICtrlCreateCombo("", 560, 224, 50, 50)
    GUICtrlSetData(-1, "--|sd", "sd")
    Else
    $label6 = GUICtrlCreateLabel("Keine POIOBServer-Sourcen gefunden", 144, 224, 470, 24, BitOR($SS_LEFT, $SS_CENTERIMAGE))
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    TraySetIcon()

    [/autoit] [autoit][/autoit] [autoit]

    $Install = GUICtrlCreateButton("", 504, 352, 101, 69, $BS_BITMAP)
    GUICtrlSetImage(-1, $pfad & "\go.bmp", 0)
    _GUICtrl_SetOnhover(-1, "_hover_Proc", "_Leave_hover_Proc", "PrimaryDown_Proc", "PrimaryUp_Proc")
    $Abbruch = GUICtrlCreateButton("", 392, 352, 101, 69, $BS_BITMAP)
    GUICtrlSetImage(-1, $pfad & "\stop.bmp", 0)
    _GUICtrl_SetOnhover(-1, "_hover_Proc", "_Leave_hover_Proc", "PrimaryDown_Proc", "PrimaryUp_Proc")

    [/autoit] [autoit][/autoit] [autoit]

    If $hardware[7] = "-" Then
    GUICtrlDelete($Install)
    MsgBox(4096, " Fehler", "Keine Speicherkarte gefunden " & @CRLF & " Programm wird beendet")
    endscript()
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    endscript()
    ExitLoop
    Case $msg = $Install
    #include "GPWs_func_3.au3"
    ExitLoop
    Case $msg = $Abbruch
    endscript()
    ExitLoop
    EndSelect
    WEnd
    EndIf

    [/autoit]

    Wie kriege ich es hin, dass der encrytper mir das in die gewünschte Datei schreibt, nämlich als 1_GPW.ini in den Ordner @ScriptDir????

  • Beenden einer EXE auf einem Remote-System registrieren

    • Pitter
    • 3. Mai 2010 um 14:51

    Hallo,

    PSexec wird nicht funktionieren, da ich auf einem CE 5.0-Device zugreife.
    RunWait sagt mir aber nur dass das Proggie durch ist, aber nicht, ob auch alles geschrieben wurde.
    Leider haben viele User schlecht formatierte SD-Karten, die beim Schreiben darauf sich verschlucken.

    Da wir alles über Active Sync oder Windows Mobile Gerätecenter machen, sind hier Fehler vorprogrammiert.

    Rapistart lässt sich auch nicht mit RunWait aufrufen, da es keinen Handle zurück gibt, mit dem man arbeiten könnte... oder ich habe noch keinen gefunden... :whistling:

  • Beenden einer EXE auf einem Remote-System registrieren

    • Pitter
    • 3. Mai 2010 um 13:27

    ?( hat keiner eine Idee, wie ich das Beenden des Installers auf dem PNA kontrollieren kann???

  • FTP-Problem

    • Pitter
    • 28. April 2010 um 19:22

    Jep Andy, das funktioniert so weit. Das Array poppt auf und ich kann ein/mehrere Dateien auswählen zum kopieren.
    auf Send geklickt un die files sind oben.

    Jetzt müsste ich das nur noch für mich umstricken, damit mir das meine INI kopiert. Dann bin ich auch schon fast fertig damit.

    Nur noch meine Version.txt einlesen, die 2. Zeile um den Wert 1 erhöhen und auch noch hochschieben.... aber das kann in einem Rutsch erfolgen.

  • FTP-Problem

    • Pitter
    • 28. April 2010 um 18:14

    ahhh... Danke Andy,

    werde ich heute Abend testen... :thumbup:

  • FTP-Problem

    • Pitter
    • 28. April 2010 um 13:19

    Nein, hatte upgedated... das ist nicht das Problem.... ;)

  • FTP-Problem

    • Pitter
    • 28. April 2010 um 13:13

    kein Problem, wenn es weiterhilft... ;)

    [autoit]


    ;====================================================
    ;============= Encryption Tool With GUI =============
    ;====================================================
    ; AutoIt version: 3.0.103
    ; Language: Deutsch
    ; Author: Pitter (c) by Idea an script from @wolfferness
    ;
    ; ----------------------------------------------------------------------------
    ; Script Start
    ; ----------------------------------------------------------------------------
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <Constants.au3>
    #include <IE.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <GuiButton.au3>
    #include <GUIConstants.au3>
    #include <String.au3>
    #Include <FTPEx.au3>
    #include <Debug.au3>
    #RequireAdmin
    ;~Opt('MustDeclareVars', 1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    _Main()

    [/autoit][autoit][/autoit][autoit]

    Func _Main()
    Local $WinMain, $EditText, $InputLevel, $InputPass, $UpDownLevel, $sfile, $SendButton, $label_1, $server
    Local $EncryptButton, $DecryptButton, $ReadButton, $string, $string1, $string2, $file, $chars, $chars1, $chars2, $inifile, $inifile2
    Local $Open, $Conn, $username, $pass, $Ftpc, $l_Flags, $l_Context
    #forceref $UpDownLevel

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $WinMain = GUICreate('Encryption tool', 400, 500)
    $EditText = GUICtrlCreateEdit('', 5, 5, 380, 350)

    [/autoit][autoit][/autoit][autoit]

    $InputPass = 'test'
    $InputLevel = '2'

    [/autoit][autoit][/autoit][autoit]

    $ReadButton = GUICtrlCreateButton('Einlesen', 10, 400, 105, 35)
    $EncryptButton = GUICtrlCreateButton('Verschlüsseln', 150, 400, 105, 35)
    $DecryptButton = GUICtrlCreateButton('Entschlüsseln', 285, 400, 105, 35)
    $SendButton = GUICtrlCreateButton('Veröffentlichen', 150, 460, 105, 35)
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $ReadButton
    If FileExists(@ScriptDir & "\GPW.ini") Then
    FileCopy(@ScriptDir & "\GPW.ini", @ScriptDir & "\GPW_1.ini", 1)
    $file = FileOpen(@ScriptDir & "\GPW_1.ini", 0)
    $chars = FileRead($file)
    GUICtrlSetData($EditText, $chars)
    FileClose($file)
    GUISetState(@SW_ENABLE, $WinMain)
    EndIf
    $label_1 = GUICtrlCreateLabel("INI-Datei eingelesen", 20, 360, 360, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))

    [/autoit][autoit][/autoit][autoit]

    Case $EncryptButton
    GUISetState(@SW_DISABLE, $WinMain)
    $string1 = GUICtrlRead($EditText)
    if $string1 = "" Then
    GUICtrlDelete($label_1)
    $label_1 = GUICtrlCreateLabel("BITTE ERST DIE INI EINLESEN!", 20, 360, 360, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    ExitLoop
    Else
    GUICtrlSetData($EditText, 'Bitte warten, INI wird verschlüsselt!')
    GUICtrlSetData($EditText, _StringEncrypt(1, $string1, $InputPass, $InputLevel))
    $chars1 = GUICtrlRead($EditText)
    $inifile = FileOpen (@ScriptDir & "\gpw.ini", 2)
    FileWrite($inifile, $chars1)
    FileClose($inifile)
    GUICtrlSetData($EditText, $chars1)
    GUISetState(@SW_ENABLE, $WinMain)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Case $DecryptButton
    GUISetState(@SW_DISABLE, $WinMain)
    $string2 = GUICtrlRead($EditText)
    GUICtrlSetData($EditText, 'Bitte warten, INI wird entschlüsselt!')
    GUICtrlSetData($EditText, _StringEncrypt(0, $string2, $InputPass, $InputLevel))
    $chars2 = GUICtrlRead($EditText)
    $inifile2 = FileOpen (@ScriptDir & '\gpw.ini', 2)
    FileWrite($inifile2, $chars2)
    FileClose($inifile2)
    GUISetState(@SW_ENABLE, $WinMain)

    [/autoit][autoit][/autoit][autoit]

    Case $SendButton
    GUICtrlDelete($label_1)
    $dllhandle = DllOpen('wininet.dll')
    _DebugSetup( StringTrimRight(@ScriptName,4) &' example', True)
    $UploadFile = (@ScriptDir & "\gpw.ini")
    $Ftp_FileName = "\Downloads\gpw.ini"
    $server = '**********' ;~ FTP-Server-Adresse einfügen
    $username = '*************' ;~ Usernamen einfügen
    $pass = '**************' ;~ Passwort einfügen
    $Open = _FTP_Open('MyFTP Control')
    $Callback = _FTP_SetStatusCallback($Open, 'FTPStatusCallbackHandler')
    $Conn = _FTP_Connect($Open, $server, $username, $pass, 0, $INTERNET_DEFAULT_FTP_PORT, $INTERNET_SERVICE_FTP, 0, $Callback)
    Local $Ftpp = _FTP_FilePut('MyFTP Control', $UploadFile, $Ftp_FileName, $Callback)
    Local $Ftpc = _FTP_Close($Open)

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd
    EndFunc ;==>_Main

    [/autoit][autoit][/autoit][autoit]

    Func FTPStatusCallbackHandler($hInternet, $dwContent, $dwInternetStatus, $lpvStatusInformation, $dwStatusInformationLength)
    If $dwInternetStatus = $INTERNET_STATUS_REQUEST_SENT Or $dwInternetStatus = $INTERNET_STATUS_RESPONSE_RECEIVED Then
    Local $Size, $iBytesRead
    $Size = DllStructCreate('dword')
    _WinAPI_ReadProcessMemory(_WinAPI_GetCurrentProcess(), $lpvStatusInformation, DllStructGetPtr($Size), $dwStatusInformationLength, $iBytesRead)
    _DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) & ' | Size = ' & DllStructGetData($Size, 1) & ' Bytes Bytes read = ' & $iBytesRead )
    Else
    _DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) )
    EndIf
    EndFunc ;==>_InternetStatusCallback

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • happy birthday SchrotterCh !!!!

    • Pitter
    • 28. April 2010 um 13:05

    Hallo SchrotterCh,

    auch von mir herzlichen Geburtstagswünsche!!! :thumbup:
    Lass es auf der Party krachen! :thumbup:

  • FTP-Problem

    • Pitter
    • 28. April 2010 um 11:57

    Hallo zusammen...

    Kann mir da mal bitte jemand aufs Pferd helfen?
    Ich versuche über ein Script eine Datei auf den Server zu legen... nur klappt das leider nicht... ?(

    Hier ist der Schnippel dazu:

    [autoit]


    Case $SendButton
    GUICtrlDelete($label_1)
    $dllhandle = DllOpen('wininet.dll')
    _DebugSetup( StringTrimRight(@ScriptName,4) &' example', True)
    $UploadFile = (@ScriptDir & "\gpw.ini")
    $Ftp_FileName = "\Downloads\gpw.ini"
    $server = 'ftp.*******.de'
    $username = '**********+'
    $pass = '**************'
    $Open = _FTP_Open('MyFTP Control')
    $Callback = _FTP_SetStatusCallback($Open, 'FTPStatusCallbackHandler')
    $Conn = _FTP_Connect($Open, $server, $username, $pass, 0, $INTERNET_DEFAULT_FTP_PORT, $INTERNET_SERVICE_FTP, 0, $Callback)
    Local $Ftpp = _FTP_FilePut('MyFTP Control', $UploadFile, $Ftp_FileName, $Callback)
    Local $Ftpc = _FTP_Close($Open)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;~
    ;~
    ;~

    [/autoit][autoit][/autoit][autoit]

    Func FTPStatusCallbackHandler($hInternet, $dwContent, $dwInternetStatus, $lpvStatusInformation, $dwStatusInformationLength)
    If $dwInternetStatus = $INTERNET_STATUS_REQUEST_SENT Or $dwInternetStatus = $INTERNET_STATUS_RESPONSE_RECEIVED Then
    Local $Size, $iBytesRead
    $Size = DllStructCreate('dword')
    _WinAPI_ReadProcessMemory(_WinAPI_GetCurrentProcess(), $lpvStatusInformation, DllStructGetPtr($Size), $dwStatusInformationLength, $iBytesRead)
    _DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) & ' | Size = ' & DllStructGetData($Size, 1) & ' Bytes Bytes read = ' & $iBytesRead )
    Else
    _DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) )
    EndIf
    EndFunc ;==>_InternetStatusCallback

    [/autoit]

    Hier dann das Fenster vom CallbackHandler:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Callback_Handler.PNG 57,11 kB – 0 Downloads
  • IniRead problem

    • Pitter
    • 24. April 2010 um 16:20

    Nein, die fehlt der Sektionsname [Buchstaben] ;)

  • Überprüfen ob etwas installiert wurde - Software-EInträge checken?

    • Pitter
    • 22. April 2010 um 11:42

    Hallo inselinc,

    normalerweise installiert Windows doch nach C:\ProgramFiles oder C:\Programme

    Allerdings legen fast alle Programme mit Setup auch eine Uninstall-Information in der REG ab. Kann gerade nicht schauen, da ich hier am Rechner keine Admin-Rechte habe.

  • PNG in GUI einbauen

    • Pitter
    • 20. April 2010 um 15:48

    Ich benutze auch KODA, allerdings nur für die grafische Gestaltung und das Feststellen der genauen Koordinaten, vor der Erstellung der ersten Programm-Zeile. So geht das viel schneller und man hat sofort den genauen optischen Eindruck, wie die GUI dann später aussehen soll.

    Wenn meine Oberfläche dann in KODA fertig ist, bastel ich die Koordinaten dann manuell in die au3, weil ich da viel besser mit arbeiten kann, als wenn ich den kompletten KODA-Krempel einfach per C&P einbaue.
    Ausserdem lernt man da viel mehr bei.

    Zur Unterstützung finde ich KODA sehr gut...

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™