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. autoBert

Beiträge von autoBert

  • IE - Crash bei neuem Fenster

    • autoBert
    • 10. Januar 2012 um 01:07

    Dieses Probelm ist embedded bedingt. Die einzige evtl. Möglichkeit die ich sehe ist es in IEEvent_BeforeNavigate2 abzufangen:

    [autoit]

    _IEAction($oIE, "stop")

    [/autoit]

    einen neuen Tab anzulegen

    [autoit]

    GuiCtrlCreateTabItem

    [/autoit]

    dort einen weiteren embedded IE einzubetten und dort ganz normal mit _IENavigate die Seite anzuzeigen,

    mfg autoBert

  • IE - Seitenaufruf beschränken

    • autoBert
    • 10. Januar 2012 um 00:17

    Hallo SoftCreatR,

    ich habe beim ausprobieren (ähnlich enem Blinden im Nebel, mit Taststock) eine interessante Entdeckung gemacht:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…4679#post164679

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

    Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet
    #ce ----------------------------------------------------------------------------
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    _IEErrorHandlerRegister()

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

    $oIE = _IECreateEmbedded()
    $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_
    $hGui =GUICreate("Embedded Web control Test", 640, 600, _
    (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
    $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $hInput = GUICtrlCreateInput("Hier URL eingeben: ", 10, 10, 500)
    $hGo = GUICtrlCreateButton("&Go", 520, 10, 50)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 640, 480)
    GUICtrlSetResizing($GUIActiveX, $GUI_DOCKAUTO)
    $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $GUI_Button_Print = GUICtrlCreateButton("PRINT", 450, 525, 100, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
    $idProgress = GUICtrlCreateProgress(0, 555, 640, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)

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

    GUISetState() ;Show GUI

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

    _IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679")

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

    ; Waiting for user to close the window
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $hGo
    _IENavigate($oIE, GUICtrlRead($hInput))
    Case $msg = $GUI_Button_Home
    _IENavigate($oIE, "http://www.autoitscript.com")
    Case $msg = $GUI_Button_Back
    _IEAction($oIE, "back")
    Case $msg = $GUI_Button_Forward
    _IEAction($oIE, "forward")
    Case $msg = $GUI_Button_Stop
    _IEAction($oIE, "stop")
    Case $msg = $GUI_Button_Print
    _IEAction($oIE, "print")
    EndSelect
    $surl1 =_IEPropertyGet($oIE, "locationurl")
    $surl2 = GUICtrlRead($hInput)
    ;ConsoleWrite($surl1 & " " & $surl2 & " " & GUICtrlRead($idProgress) & @CRLF)
    If $surl1 <> $surl2 And GUICtrlRead($idProgress) > 90 Then GUICtrlSetData($hInput, $surl1)
    WinSetTitle($hGUI, "", _IEPropertyGet($oIE, "title"))
    WEnd

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

    $SinkObject = 0 ; IE Eventzuweisung aufheben
    $oIE.Quit ; IE beenden
    $oIE = 0
    GUIDelete()
    Exit

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

    Func IEEvent_ProgressChange($Progress, $ProgressMax)
    $percent = Int(($Progress * 100) / $ProgressMax)
    If $percent >= 0 And $percent <= 100 Then GUICtrlSetData($idProgress, $percent)
    EndFunc ;==>IEEvent_ProgressChange

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

    Func IEEvent_BeforeNavigate2($oIE, $sUrl3, $nFlag, $sFrameName, $sOostData, $sHeaders, $bCancel)
    ConsoleWrite($sUrl3 & " Frame: " & $sFrameName & @CRLF)
    If Not StringInStr($sUrl3, "autoit.de") Then _IEAction($oIE, "stop") ;evtl, noch Hinwaeis ausgeben dass illegale AKtion
    ;if not StringInStr($sUrl3,"autoit.de") then $bCancel = True ;funktioniert bei mir nicht
    EndFunc ;==>IEEvent_BeforeNavigate2

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

    Func IEEvent_NewWindow2($oIE, $bCancel) ;wird leider nicht ausgelöst
    ConsoleWrite("New Window" & @CRLF)
    _IEAction($oIE, "stop")
    ;$bCancel = True
    ;evtl noch eine neue Instanz starten
    EndFunc ;==>IEEvent_NewWindow2

    [/autoit]

    vielleich kannst du ja damit etwas anfangen, beobachte enfach einmal die Konsolenausgabeund versuche damit auf eine andere Seite ausserhalb von autoit.de zu kommen. Literatur dazu gibt es auch: http://msdn.microsoft.com/de-de/library/…v=vs.85%29.aspx Da mein Englisch stark eingerostet ist gehe ich davon aus dass es auch anders (eleganter?) geht

    Stoani und ganz besonders SgtIgram: warum versucht ihr das Thema tot zu reden? Was seine php Erfahrung mit seiner AutoIterfahrung zu tun hat ist mir schleierhaft, dass er logisch denken kann weiss ich. Dass er gerade in php bereit ist Hilfesuchenden zu helfen weis ich aus einem anderen Forum, bis jetzt war er sich noch nie zu fein sein Wissen zu teilen oder eine massgeschneiderte ferige Lösung zu präsentieren. Von daher finde ich

    Zitat von SgtIgram

    er war sich zu fein diese 5-6 zeilen selber zu schreiben genau wie bei den andern threads.

    absolut unpassend, auf lc hätte ich anstelle von unpassend einen treffenden Smiley gesetzt (:puke:).
    Naja vielleicht meldet sich ja einer der echten Profi's der sich damit auskennt und bringt meinen Ansatz zu Ende,

    mfg autoBert

  • Z-DBackup von Frank Baumann

    • autoBert
    • 9. Januar 2012 um 13:01

    Hallo masterbyte,

    stell doch bitte die Daten die das AutoIt Window Info Tool (AU3Info) dazu ausgibt ein,

    mfg autoBert

  • Control Fenster auslesen

    • autoBert
    • 9. Januar 2012 um 12:50
    Zitat von Helveticus

    Das oben ist natürlich nur ein Bsp. eines Setup Programmes. Bei meinem Teilfenster, das ich auslesen möchte, hat es natürliche andere TITEL und CLASS, da es sich nicht um ein Setup Programm handelt.


    Mit Beispielen kann man in diesem konkreten Fall wenig anfangen. Nenne doch bitte die Anwendung vielleicht kennt sie ja jemand und hat schon eine Lösung dafür,

    mfg autoBert

  • Gui-Fenster "magnetisch" machen?

    • autoBert
    • 8. Januar 2012 um 13:36

    Du musst nur laufend mit WinGetPos die Position des Fenster überprüfen und diese mit den Bildschirmmassen vergleichen. Bei Unterschreiten eines Schwellenwertes verschiebst du danach das Fenster mit WinMove,

    mfg autoBert

  • Ftp Server Datei hochladen Problem

    • autoBert
    • 8. Januar 2012 um 11:06
    Zitat von Julien

    Ja, ich habe es auch im Aktiv Modus probiert. Ehrlich gesagt, weiß ich nicht, was ein Slash und ein Backslash ist.


    Slash = /
    Backslash = \
    Unix/Linuxsysteme verwenden den Backslash in den Pfadangaben, Windows den Backslash toleriert aber den Slash indem es ihn automatisch wandelt.

    Zitat von Julien

    Die Fehlerbehandlung habe ich weggelassen, da ich mir eigentlich sicher bin, das der Fehler bei dem _Ftp_FilePut liegt.

    Bei FilePut können ja eigentlich nur noch ungültige Pfadangaben Schuld sein, viel warscheinlicher ist es das ein Freehoster kurzfristig Probleme mit seinem FTP-Dienst hat und dadurch nicht erreichbar ist. Andere haben eine Beschränkung auf eine gleichzeitige Verbindung, das heisst wenn du mit einem FTP-Client (z.B.: FileZilla) verbunden bist wird die Verbindung mit deinem AutoItSkript nie klappen, genauso schlägt ein 2. Verbindungsversuch deines Skriptes fehle falls vergessen wurde die FTP-Sizung wieder zu schliessen.

    Zitat von Julien

    *Was sehr komisch ist :
    " Nachdem ich vor paar Minuten meinen FTP Server gestartet habe, ist mir aufgefallen, dass nun die Textdatei ist " !
    Davor kam sie nicht sofort.

    Du hast einen eigen FTP-Server? Hättest du die Fehlerbehandlung eingebaut hättest du allein über die Meldungen erkennen können, dass der Upload erfolgreich war. Falls du über einen Browser dir die Dateien anschaust kann es vorkommen dass durch den Browsercache die Änderungen deiner "Index of" Seite nicht aktualiesiert wird. In diesem Fall solltest du vorher den BrowserCace leeren (FF: Extras -> neueste Chronik löschen) oder mit STRG-F5 die Seite erneut aufrufen.

    mfg autoBert

  • Uncheck checkbox und Admin File löschen

    • autoBert
    • 7. Januar 2012 um 22:38
    Zitat von Helveticus

    Bei SetCurrentSelection muss man aber auch noch eine occurence übergeben. Was muss ich da angeben?


    da nur ein Eintrag vorhanden ist ist der Index 0

    Zitat von Helveticus

    Und bei ControlListView muss man "DeSelect", From [, To] angeben und da weiss ich nicht was bei From schreiben.

    Hier wäre auch jeweils die 0

    mfg autoBert

  • Ftp Server Datei hochladen Problem

    • autoBert
    • 7. Januar 2012 um 22:16
    Zitat von alpines

    Ich weiß nicht obs daran liegt, aber

    [autoit]


    _FTP_Close($OpenFtp)
    ; muss zu
    _FTP_Close("MeineSitzung")
    ; geändert werden

    [/autoit]

    Außerdem:

    [autoit]


    $FtpConnect ;heißt die eine Variable
    $FTPConnect ;heißt die andere Variable
    ;Groß- und Kleinschreibung ist bei Variablen wichtig!!!

    [/autoit]
    Alles anzeigen

    Beides falsch, FTP_Close wird richtig eingesetzt und AutoIt unterscheidet nicht zwischen Gross- und Kleinschreibung bei Variablennamen.

    @Julien: warum verwendest du den Passiv-Modus, hast du es auch schon im Aktivmodus probiert?
    Kannst du Daten mit FileZilla hochladen?

    In Zeile 8 ist eigentlich ein Fehler, der Slash müsste ein Backslash sein, Windows toleriert dies jedoch (also auch AutoIt.

    Wieso hast du die Fehlerbehandlung aus dem Hilfeskript weggelassen? Dann wüsstest du wenigsten wo der Fehler auftritt.

    Ich habe dein Skript sowohl im aktiven als auch im passiven Modus getestet es läuft mit meinem FTP-Account bei bplaced.

    mfg autoBert

  • Uncheck checkbox und Admin File löschen

    • autoBert
    • 7. Januar 2012 um 18:02

    Hallo Helveticus,

    zu 1.: Das Steuerelemnt ist keine übliche Checkbox, sondern eine ListBox in der Einträge an- bzw.abgewählt werden können. Du müsstest also zuerst mit ControlCammnad den Befehl SetCurrentSelection absetzen damit der Eintrag angewählt wird. (ist aber nur eine Vermutung, musst du selbst testen) Evtl. hilft dir auch ControlListview weiter, dazu wäre es aber Bedingung das TNewCheckListBox von TListview abstammt.
    zu 2.: stelle #RequireAdmin an den Anfang deines Skriptes, dann sollte es nach der Passwortabfrage klappen,

    mfg autoBert

  • Icon in ListView Spalte0 unterdrücken

    • autoBert
    • 7. Januar 2012 um 17:40

    Hallo MrB,

    ich würde es so lösen (ist aber nur ein Workaround):

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiImageList.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <WinAPI.au3>
    #include <WinAPIEx.au3>
    #include <WindowsConstants.au3>

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

    $GUI = GUICreate("tt", @DesktopWidth - 225, @DesktopHeight - 100, 5, 5)
    GUISetBkColor(0x000000, $GUI)

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

    $listview1 = GUICtrlCreateListView("Nr|Name|Erweit.", 5, 50, @DesktopWidth - 225 - 10, @DesktopHeight - 100 - 120)
    $hImageList = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImageList, @SystemDir & "\Shell32.dll", 49,True)
    _GUIImageList_AddIcon($hImageList, @SystemDir & "\Shell32.dll", 49,True)

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

    _GUICtrlListView_SetImageList($listview1, $hImageList, 1)
    _GUICtrlListView_SetExtendedListViewStyle($listview1, $LVS_EX_SUBITEMIMAGES)

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

    $nr = 1
    $Name = "test"
    $Erweiterung = ".au3"

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

    $hIcon = _WinAPI_ShellExtractAssociatedIcon($Erweiterung, 1)

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

    If @error Then MsgBox(0, "", @error)
    _GUIImageList_ReplaceIcon($hImageList, 1, $hIcon)

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

    _GUICtrlListView_AddItem($listview1, $nr) ;Zeile 0, SubItem 1
    _GUICtrlListView_AddSubItem($listview1, 0, $Name, 1,1);Zeile 0, SubItem 2
    _GUICtrlListView_AddSubItem($listview1, 0, $Erweiterung, 2, 1);Zeile 0, SubItem 3

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

    _WinAPI_DestroyIcon($hIcon)

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    gestestet unter Win XP SP3, falls es bei dir wieder Erwarten nicht funktionieren sollte (da anderes BS) such dir mit Hilfe von [Beispiel] Icons von System-DLLs in LV darstellen eine DLL in der ein Icon nicht angezeigt wird. Den Namen und die Nr verwendest du dann in Zeile 14 und 15 anstelle von shell32.dll und der Nr.49,

    mfg autoBert

  • Button bleibt trotz Tab-Wechsel da

    • autoBert
    • 6. Januar 2012 um 15:36

    Wie wäre es wenn du eine Childgui in deine Maingui integrierst. Auf der Main ist nur das Bild, alle Controls sind auf dem Child. Wenn du dieses dann mit WinSetTrans teiltransparent machst hast du zwar einen ganz anderen Effekt als du vielleich vorhattest, sieht aber bestimmt auch gut aus,

    Hier mal ein Beispiel einer solchen GUI:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    frohes neues Jahr

    autoBert

    Dateien

    AutoAdress.JPG 109,11 kB – 0 Downloads
  • Daten in Liste? print?

    • autoBert
    • 6. Januar 2012 um 14:16
    Zitat von entsel

    Array werd ich mir anschauen, aber muss ich da nicht vorher die Anzahl der Daten/Werte wissen? In meinem Übungsbeispiel wollte ich eine (Daten-)Datei einlesen (unbekannte Länge)
    und die Daten verändern...


    Falls die Datei Zeilentrennzeichen enthält solltest du dazu

    [autoit]

    _FileReadToArray

    [/autoit]

    verwenden,

    frohes neues Jahr

    autoBert

  • Neue AutoIT Version liest aus SQLite DB die Umlaute nicht mehr korrekt

    • autoBert
    • 6. Januar 2012 um 12:56

    ich habe zwar mit der DB von dir das Problem mit den Umlauten, bei eigen erstellten DB z.B.:

    Spoiler anzeigen
    [autoit]

    #include <SQLite.au3>
    #include <SQLite.dll.au3>

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

    Global $aSqldb = @ScriptDir & "\Laendertest.db"

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

    If Not FileExists($aSqldb) Then _DatenbankAnlegen()

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

    _SQLite_Startup()
    _SQLite_Open($aSqldb)

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

    Local $aSql = "SELECT * FROM Laendertabelle"
    Local $aResult, $iRows, $iColumns
    Local $iRval = _SQLite_GetTable2d(-1, $aSql, $aResult, $iRows, $iColumns)
    If $iRval = $SQLITE_OK Then _ArrayDisplay($aResult)

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

    _SQLite_Close()
    _SQLite_Shutdown()
    Exit

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

    Func _DatenbankAnlegen()
    Local $aSql, $res
    _FileCreate($aSqldb)
    _SQLite_Startup()
    If @error > 0 Then
    MsgBox(16, "SQLite Fehler", "SQLite.dll kann nicht geladen werden!")
    Exit
    EndIf
    _SQLite_Open($aSqldb)
    $aSql = "CREATE TABLE [Laendertabelle] ([LfdNr] INTEGER NOT NULL PRIMARY KEY, [Name1] NVARCHAR(100) NULL, [Name2] VARCHAR(100) NULL)"
    $res = _SQLite_Exec(-1, $aSql)
    $aSql = 'Insert into Laendertabelle (LfdNr, Name1, Name2) VALUES (1,' & _SQLite_Escape("Großbritannien") & ',' & _SQLite_Escape("äöüß") & ');' & @CRLF
    $res = _SQLite_Exec(-1, $aSql)
    $aSql = 'Insert into Laendertabelle (LfdNr, Name1, Name2) VALUES (2,' & _SQLite_Escape("Dänemark") & ',' & _SQLite_Escape("ÄÖÜß") & ');' & @CRLF
    $res = _SQLite_Exec(-1, $aSql)
    _SQLite_Close()
    _SQLite_Shutdown()
    EndFunc ;==>_DatenbankAnlegen

    [/autoit]

    kann ich das Problem nicht nachvollziehen. Die Ausgabe obigen Programmes ist

    Code
    [0]|LfdNr|Name1|Name2
    [1]|1|Großbritannien|äöüß
    [2]|2|Dänemark|ÄÖÜß

    die Daten werden jedoch in SQLiteAdmin 0.8.3.2 Public BETA falsch angezeigt. Ich benutze AutoIt in der Version 3.3.6.1. Ich habe die SQLite.dll.au3 angehängt aus der ja die DLL beim Programmstart generiert wird,

    frohes neues Jahr

    autoBert

    Dateien

    SQLite.dll.zip 599,55 kB – 553 Downloads
  • _isPressed() verzögerung/umlaut-code

    • autoBert
    • 5. Januar 2012 um 23:31
    Zitat von ThPfund

    Naja, durch Verkleinern des Parameters geht es ja auch mit weniger Millisekunden, z.B. Sleep(1)... ;)

    Falsch denn hier wird automatisch der Mindestwert für sleep = 10 ms genommen und auch das ist zu kurz um einen versehentlichen mehrfachen Tastendruck zu verhindern.

    Zu den Sonderzeichen bin ich der Meinung dass die Werte aus dem Ascii bzw. ANsi-Zeichensatz verwendet werden können. Diese ist im Anhang der AutoIt-Hilfe,

    frohes neues Jahr

    autoBert

  • Button bleibt trotz Tab-Wechsel da

    • autoBert
    • 5. Januar 2012 um 23:12

    Hallo retrokid,

    also chip 's Lösung funktioniert bei mir (Win XP SP3) einwandfrei,

    frohes neues Jahr

    autoBert

  • Problem mit _stringbetween

    • autoBert
    • 5. Januar 2012 um 13:51

    ich kann deinen Versuch unbedingt Recht haben zu wollen wirklich nicht verstehen. Sicher sind die Ergebnisse der beiden Arraydisplay jetzt gleich. Im Fall von

    [autoit]

    _StringBetween($string,"!","#")

    [/autoit]

    wird ja auch das korrekte Ergebnis angezeigt (wie nach Hilfebeschreibung zu erwarten). Im zweiten Fall aber nicht da sich wie du vielleicht hierdurch:

    Zitat

    "S!1654.0!879.5!VIA05_NEW!UNNAMED_1_ELKO_I547_A!!"

    besser erkennen kannst auch 879.5 zwischen einem Ausrufezeichen davor und einem Ausrufzeichen danach befindet stimmt das Ergebnis nicht. Auch ist nach der Hilfebeschreibung:

    Zitat

    _StringBetween

    Gibt einen Teilstring zwischen einem angegebenen Start-String und einem Stopp-String zurück

    nicht mit diesem Ergebnis zu rechnen. Dieser Fall tritt aber nur bei identischem Start- Stopstring auf. Da ich wie bereits geschrieben aber damit leben kann da ich in einem solchen Falle immer StringSplit verwende könnte es mir egal sein, man sollte es aber in der Hilfe unter Bemerkungen hinzufügen.

    frohes neues Jahr

    autoBert

  • Problem mit _FTP_FileGet()

    • autoBert
    • 5. Januar 2012 um 13:03

    Hallo Pitter,

    der Fehler lag a dem fehlendem Backslash in

    [autoit]

    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&$ftpFile[$u])

    [/autoit]

    dies muss eigentlich so sein:

    [autoit]

    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&"\"&$ftpFile[$u])

    [/autoit]

    falls du ihn jetzt nicht unebwusst eingefügt hast sollte es immer noch nicht klappen,

    frohes neues Jahr

    autoBert

  • Problem mit _stringbetween

    • autoBert
    • 5. Januar 2012 um 12:34
    Zitat von chip

    Tja da muss ich dich leider enttäuschen, das ist weder ein Bug noch hat es etwas mit gleichen start und endwert zu tun:

    [autoit]

    #include <Array.au3>
    #include <String.au3>
    $string = "S!1654.0#879.5!VIA05_NEW#UNNAMED_1_ELKO_I547_A!#"
    $array = _StringBetween($string,"!","#")
    _ArrayDisplay($array)

    [/autoit]

    wieso absolut korrektes Ergebnis, alle Werte die sich zwischen einem "!" (also direkt davor) und "#" (also direkt danach) befinden wurden gefunden:

    Code
    [0]|1654.0
    [1]|VIA05_NEW
    [2]|


    bei identischen Zeichen wird jedoch jeder 2. zu findende Streing unterschlagen. Oder liegt in deinem Beispiel:

    Zitat

    Startstring: S!1654.0!879.5!VIA05_NEW!UNNAMED_1_ELKO_I547_A!!

    VIA05_NEW nicht zwischen einem ! und einem nachfolgendem ! :?:

    Wenn die Funktion anscheind so arbeitet wie du beschreibst sollte dies auch aus der Hilfe ersichtlich sein,

    frohes neues Jahr

    autoBert

  • Problem mit _FTP_FileGet()

    • autoBert
    • 5. Januar 2012 um 12:17

    Hallo Pitter,

    füge einfach in dein Skript

    [autoit]

    ConsoleWrite($localfolder&$ftpFile[$u]& @CRLF)

    [/autoit]

    zu Debugzwecke ein. Der Fehler sollte dir dann sofort aufallen.

    frohes neues Jahr

    autoBert

  • Problem mit _stringbetween

    • autoBert
    • 5. Januar 2012 um 12:05
    Zitat von chip

    autoBert doch ist vollkommen richtig, was _StringBetween ausgibt.

    Da _StringBetween den String Stück für Stück zerlegt.

    Beispiel :

    Startstring: S!1654.0!879.5!VIA05_NEW!UNNAMED_1_ELKO_I547_A!!
    erster suche ergibt 1654.0
    Reststring: 879.5!VIA05_NEW!UNNAMED_1_ELKO_I547_A!!
    zweite suche ergibt: VIA05_NEW
    Reststring: UNNAMED_1_ELKO_I547_A!!
    dritte sucher Ergibt:

    schön zurecht gereimt, aber der 1. Reststring müsste korrekt gleich !879.5!VIA05_NEW!UNNAMED_1_ELKO_I547_A!! sein da ja nur um den String der dazwischen liegt (und alles davor gekürzt werde sollte. Imho ist dies ein echter Bug ist der nur auftritt wenn Start- und Stopstring identisch sind. Da ich in einem solche Fall aber eh StringSplit benutze kann ich damit leben,

    frohes neues Jahr autoBert

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™