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

Beiträge von Grandpa

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 8. August 2014 um 11:52

    Nachtrag: Danke für eure Unterstützung. Aber am Ende ist die "Lösung" bzw. Erkenntnis wahrscheinlich sehr simpel. Wenn die Option DefaultRoot auf das Verzeichnis gesetzt ist, dann kann ich mit FTP machen was ich will. Ich komme in kein übergeordnetes Verzeichnis. Somit kann ich mir jegliche weitere Mühe sparen und muss Wohl oder Übel auf meine Script-Version zurück greifen.

    Danke trotzdem nochmal euch allen. :rock:

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 8. August 2014 um 09:41
    Zitat von AspirinJunkie

    Bist du sicher, dass du das Skript bis auf die Variablen $server, $username, $pass und $directory unangetastet gelassen hast?
    Weil in der Messagebox sollte als erstes "Return: " stehen.
    Bei dir steht aber schon der Inhalt des Rückgabewertes.


    Ich hebe dein Script, bis auf Umgebungsrelevante Werte, nicht verändert. Und "Return:" kommt in der MsgBox nicht als erstes. Deine Zeile:

    [autoit]

    MsgBox(0, "Error-Report", ($ReturnValue & "Return: " & $ReturnValue & @CRLF & "") & "@error: " & $err & @CRLF & "@extended: " & $ext & @CRLF & "API-Error: " & $dAPIError & " - " & $dAPIMessage & @CRLF & "FTP-Error: " & $dFTPError & " - " & $sFTPMessage)

    [/autoit]

    Ist aber auch nicht so wichtig.

    Zitat von AspirinJunkie

    Das verstehe ich nicht warum das klar sein soll - was hat dies mit dem aktuellen Ordner zu tun?


    Verstehe ich, dass du das nicht verstehst. Der zweite Screener (_Arraydisplay) zeigt den Inhalt des aktuellen Verzeichnisses (die 99 Ordner und 2 Dateien). Die gibt es aber nur in dem Verzeichnis /app/mt2/ftp/efn/. Warum ich bereits in dem Verzeichnis bin? Nunja. Wenn man auf einem Rechner/Server einen FTP-User einrichtet, dann gibt man ihm i.d.R. einen Pfad, in dem er landen soll, sobald er sich verbunden hat. Und das ist in diesem Fall /app/mt2/ftp/efn/. Mit anderen Usern lande ich woanders. Das sagt aber noch nichts darüber aus, wo ich überall hin darf.
    Das eine _FTP_DirSetCurrent soll mich aber in ein anderes Verzeichnis, welches sich außerhalb des aktuellen Ordners befindet, "verfrachten".

    Zitat von AspirinJunkie

    Ist /var/app/mt2inet/log/tomcat-7.0.27-inst1/ nur ein Unterordner von /app/mt2/ftp/efn/?


    Nein ist es nicht. Genau da liegt anscheinend das Problem. Wie ich schon schrieb, schafft es _FTP_DirSetCurrent scheinbar nicht aus diesem Einsprungsordner (/app/mt2/ftp/efn/) heraus zu gehen und in einen außerhalb liegenden Ordner zu wechseln.
    Hier mal ein Teil der Ordner-Struktur von root. Die Ordner, die für mich bzw. im Script eine Rolle spielen, wurden gleich komplettiert,fett blau markiert und kommentiert.


    drwxr-xr-x 8 root root 1024 Apr 25 10:18 app/mt2/ftp/efn/ ;Einsprungsordner nach FTP-Login
    drwxr-xr-x 2 root root 4096 Jun 4 19:06 bin
    drwxr-xr-x 4 root root 1024 Jun 4 19:11 boot
    .
    .
    drwxr-xr-x 14 root root 4096 Feb 15 2012 usr
    dr-xr-xr-x 18 root root 4096 Jun 4 19:07 var/app/mt2inet/log/tomcat-7.0.27-inst1/ ;Ordner, wo ich hin will

    Man sieht, ich muss ins root und dann in den Zielordner. Oder wenn ich auf der Konsole wäre, mit diesem Befehl direkt wechseln:


    Server:/app/mt2/ftp/efn> ;Einsprungsordner - wird von _FTP_DirGetCurrent als '/' erkannt
    Server:/app/mt2/ftp/efn> cd /var/app/mt2inet/log/tomcat-7.0.27-inst1 ;Befehl - _FTP_DirSetCurrent sollte eigentlich das gleiche wie cd machen
    Server:/var/app/mt2inet/log/tomcat-7.0.27-inst1> ;gewünschtes Ergebnis

    Ich hoffe damit ist jetzt etwas Licht ins Dunkel gekommen.

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 7. August 2014 um 11:28

    Sorry, dass ich erst jetzt antworte. War etwas busy. Ich habe jetzt mal deinen Code genommen, entsprechend angepasst und ausgeführt. Die erste Ausgabe sah folgendermaßen aus:
    [Blockierte Grafik: https://lh4.googleusercontent.com/Ygft-WdMU1w8j2HzAEtk_vWFBQYZw8IgxJjqjh_YvBg=w404-h207-p-no]
    Interpretieren muss man da ja nicht viel. Er kann das Verzeichnis nicht finden. Klar, denn der Inhalt des Verzeichnisses, in dem er sich aktuell befindet sieht folgendermaßen aus (ein Ausschnitt):
    [Blockierte Grafik: https://lh3.googleusercontent.com/V5_XkRExDUHpHDMzLV6DcL3LRgJ30UqNxrZzk7761yY=s192-p-no]
    Das sind 100 Verzeichnisse (00-99) und noch 2 Dateien. Und das Verzeichnis, in dem er sich gerade befindet, ist folgendes: /app/mt2/ftp/efn>

    Und jetzt noch die zweite deiner Ausgaben:
    [Blockierte Grafik: https://lh6.googleusercontent.com/4T4CPjBfZZonI8xBxiNJXovh7fvZ4VF7Kqm3q5ZbYOU=w319-h207-p-no]

    Als Endergebnis kann man also sagen, dass das von mir gepostete Verzeichnis (/app/mt2/ftp/efn/) nicht so erkannt wird, sondern als '/' gewertet wird.

    Und jetzt kommst du. ;)

    PS: Jetzt kennst du die eigentliche Verzeichnisstruktur. Ich habe ursprünglich andere Namen gewählt, da es sich um einen Firmenserver handelt. Aber das spielt ja keine Rolle bei dem eigentlichen Problem.

    PPS: Warum sollte ich Grampa heißen. Verstehe grad den Witz dahinter nicht. Simpson Grandpa heißt doch Abe?

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 1. August 2014 um 12:23

    Entschuldige, dass ich die Fehlerbehandlung dort weggelassen hatte. Ich mache eigentlich immer eine Fehlerbehandlung. Deswegen sind "3-Zeiler" bei mir dann 5 oder 6 Zeilen lang. :D Ich hab jetzt mal deine Zeilen eingefügt und durfte feststellen, dass das Script bzw. der Befehl _FTP_DirSetCurrent($Conn, "/") oder _FTP_DirSetCurrent($Conn, "//") die Variable @error nicht mit einem Wert belegt. @error hat den Wert 0 (hab ich mir ausgeben lassen). Obwohl kein Fehler besteht, habe ich den Befehl _FTP_GetLastResponseInfo($dError, $sMessage) ausgeführt und mit dem Befehl MsgBox(0, "", "Error: " & @error & @CRLF & "Return: " & $dRet & @CRLF & $dError & " - " & $sMessage) folgendes zurück bekommen:

    Error: 0
    Return: 1
    0 - 250 CWD command succesful

    Bedeutet ja eigentlich, dass der Befehl ohne Fehler mit Rückgabewert 1 durchgeführt wurde. Der Wert von @error kommt quasi doppelt drin vor.
    Einen Fehler in diesem Sektor kann man also schonmal ausschließen. Das bestätigt aber gleichzeitig meinen Verdacht, dass ich auf diese Weise nicht aus dem Verzeichnis heraus komme. Für diese FTP-Session stecke "logisch" ich im root, auch wenn es real nicht der Fall ist. Sprich eine Etage höher geht nicht. Irgendwie deprimierend.

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 1. August 2014 um 08:00
    • Ja, ich möchte mir Dateien eines anderen Pfades ziehen. Die Logdateien liegen im Verzeichnis der Anwendung selbst, nicht im Datenverzeichnis. Der FTP_User landet aber nach dem Verbinden automatisch im Datenverzeichnis. Das ist das Problem.
    • Als Admin kann ich das Ganze nicht ausführen, da der Server nicht mir "gehört". Mir gehören die Daten der Anwendung. Allerdings muss ich ich ab und zu die Logs auswerten. Und die liegen nunmal im Verzeichnis der Anwendung.
    • Ja. Der Zugriff funktioniert ohne weiteres, da ich ja wie gesagt per psftp und automatisch erstelltem Script die Dateien ziehen kann. Per Putty komme ich auch ohne Probleme auf den Server und kann in den Verzeichnissen rumspringen und mir die Dateien anschauen. Wie gesagt - an den Rechten (Dateien: -rw-r--r-- , Verzeichnis: drwxr-xr-x) liegt es nicht.
    • And last but not least - ja, das/die Verzeichnis/se existiert/existieren.

    Wie schon geschrieben. Ich habe das Gefühl, dass ich mit _ftp_dirsetcurrent maximal weitere Ebenen runter aber nicht hoch komme. Sprich, aus /app/Anwendung/ komme ich nicht heraus.

    Aber gleich ne Frage nebenbei: macht es überhaupt einen Unterschied (zeitlich gesehen) mit den AutoIt-Funktionen den Dateitransfer durchzuführen? Oder nimmt sich das nichts? Wir reden hier von einer Gesamtgröße von ca 25 bis 26 Mb.

  • FTP - Wechsel in ein übergeordnetes Verzeichnis

    • Grandpa
    • 31. Juli 2014 um 17:08

    Moin,

    seit 3 Tagen sitze ich an dem Problem, dass ich nach erfolgreicher FTP-Verbindung nicht in einer übergeordnetes Verzeichnis wechseln kann. Sprich: befinde ich mich im Verzeichnis /app/Anwendung/FTP-Verzeichnis komme ich nicht nach /var/app/Anwendung/Log-Verzeichnis, um von dort die Log-Files zu ziehen.
    An den Rechten liegt es schonmal nicht. Erstelle ich ein Script und führe dies mit psftp aus, funktioniert das hervorragend. Siehe Code:

    Spoiler anzeigen
    [autoit]

    Func createScriptFile($fileFlag=0)
    local $tempRet
    If FileExists(@ScriptDir & "\getTraceLog.scr") Then
    FileDelete(@ScriptDir & "\getTraceLog.scr")
    EndIf
    If $fileFlag = 1 Then
    $tempRet = FileOpen(@ScriptDir & "\getTraceLog.scr", 1)
    If $tempRet <> -1 Then
    FileWrite($tempRet, 'get "/var/app/Anwendung/trace.log" "' & @ScriptDir & '\trace_new.log"' & @CRLF)
    FileWrite($tempRet, 'quit')
    Endif
    FileClose($tempRet)
    EndIf
    EndFunc

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

    Func getTraceLog($Server = "")
    If $Server = "" Then
    $Server = $selectedServer ; $selectedServer wird ggf. an anderer Stelle ermittelt (aus ListBox)
    EndIf
    createScriptFile(1)
    If FileExists($traceFile) Then ; $traceFile ist der Name der Datei
    FileDelete($traceFile)
    EndIf
    $traceServer = $Server
    If $traceServer <> "0" Then
    RunWait('"' & @ComSpec & '" /c ' & "d:\psftp.exe -pw Passwort User -b " & @ScriptDir & "\getTraceLog.scr", @ScriptDir, @SW_HIDE, BitOr($STDERR_CHILD, $STDOUT_CHILD, $STDIN_CHILD))
    EndIf
    createScriptFile()
    EndFunc

    [/autoit]


    Versuche ich das Ganze jetzt mit den gegebenen FTP-Funktionen, lande ich nur im Start-Verzeichnis des FTP-Users. Versuche, mit _FTP_DirSetCurrent das aktuelle Verzeichnis zu wechseln, schlagen fehl bzw. das aktuelle Verzeichnis ändert sich nicht. Hier der aktuelle Code:

    Spoiler anzeigen
    [autoit]


    #include <FTPEx.au3>
    #include <array.au3>
    #include <file.au3>
    Global $traceArray, $aFile, $ftpFileHandle, $string, $h_Handle

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

    $server = 'Server'
    $username = 'User'
    $pass = 'Passwort'

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

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

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

    If @error Then _Exit()
    _FTP_DirSetCurrent($Conn, "/var/app/Anwendung/")
    MsgBox(0, "", _FTP_DirGetCurrent($Conn)) ;Ergebnis ist und bleibt "/", egal ob ich vorher ein _FTP_DirSetCurrent mache
    $aFile = _Ftp_ListToArray($Conn) ;damit habe ich überprüft, wo ich mich gerade befinde
    _ArrayDisplay($aFile)
    $aFile = _FTP_FileGet($Conn, "//var/app/Anwendung/trace.log", @ScriptDir & "\trace_new.log") ; verzweifelter Versuch trotzdem was zu holen - wurde auch mit nur einem "/" am Anfang versucht
    If @error Then
    MsgBox(0, "", "Es wurde nichts geladen")
    _exit()
    EndIf

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

    $Ftpc = _FTP_Close($Open)

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]


    Mache ich was falsch oder ist das mit den bereitgestellten _FTP-Funktionen nicht möglich? Vielen Dank schonmal an euch.

  • MySQl starten nach FileOpenDialog nicht möglich

    • Grandpa
    • 17. März 2014 um 11:08

    Hi,

    an alle, die sich den Kopf zerbrochen haben:

    Problem war, FileOpenDialog verändert bei Erfolg das Makro @WorkingDir und setzt den Wert auf das Verzeichnis, in dem die geöffnete Datei liegt. Da die Funktion _MySQL_InitLibrary() standardmäßig die dll im Arbeitsverzeichnis sucht, konnte die dll nicht gefunden werden. Es hat somit gereicht die Funktion zum initialisieren der MySQL-dll wie folgt aufzurufen:_MySQL_InitLibrary(@ScriptDir & "\libmysql.dll")

    Und wieder etwas schlauer. Der Thread kann also geschlossen werden. Danke trotzdem. 8)

  • Listview flackert beim einlesen von Daten

    • Grandpa
    • 13. März 2014 um 14:39

    Hi,

    ich habe es jetzt nicht getestet. Aber mein erster Versuch wäre, die Differenz aus dem ListViewInhalt und dem neuen Array zu ermitteln und anschließend nur diese Differenz hinzuzufügen oder aus der Liste zu entfernen. Am einfachsten ist es, wenn du das mit zwei Array's machst. Geht am schnellsten.

    Array1 = aktuelle Datensätze im Listview
    Array2 = wird durch _SQLite_GetTable2D gefüllt

  • MySQl starten nach FileOpenDialog nicht möglich

    • Grandpa
    • 13. März 2014 um 09:56

    Hallo,

    ich erstelle gerade ein Tool, dass Hostnamen und IP-Adressen aus einem Excel-Sheet einliest und in eine MySQL-Datenbank importiert. Bevor ich das jedoch mache, will ich erstmal überprüfen, ob es diesen Hostnamen bereits in der Datenbank gibt.
    Problem: wenn ich alles so ausführe, wie es im Code steht, dann bricht das Skript in der Funktion determineHosts beim Befehl
    _MySQL_InitLibrary()
    ab. Die Library befindet sich im Skriptverzeichnis und wird immer mit FileInstall mitgeliefert. Schließe ich somit aus. Die Daten für die SQL-Verbindung werden per Global Const nach den #include's und globalen Variablen-Definitionen definiert.
    Gleich vorweg. Der Zugriff auf die Datenbank funktioniert an anderer Stelle im gleichen Skript mit gleichem Query ohne Probleme (im Code aktuell auskommentiert). Selbst in der gleichen Funktion, 2 Zeilen bevor ich das Excelsheet öffne und einlese, kann ich den gleichen Select absetzen. Lasse ich den Part des Excelsheet-Einlesens weg, funktioniert auch der SQL-Befehl. Hier mal ein Ausschnitt des Codes:

    Spoiler anzeigen
    [autoit]


    While 1
    $nMsg = GUIGetMsg($GuiSchrank)
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btnClose
    Exit
    Case $btnImport ; es wurde der Button "Importieren" gedrückt
    ;~ $schrankHostname = "Hostname" ; hier steht der Hostname des Schrankes zum Test
    ;~ $query = "SELECT * FROM mt2db_neu.netzdaten WHERE netzdaten.dnsname LIKE '" & $schrankHostname & "%';" ; gibt es den Namen schon in der Datenbank - Abfrage?
    ;~ determineHosts($query, "Netzdaten des Schranks ermitteln", $edtSchrankArray) ; Abfrage ausführen
    $tempInt = MsgBox(4, "Excel-Sheet importieren", "Sind Sie sich sicher, dass das Excel-Sheet aus zwei Spalten (Hostname, IP-Adresse) besteht?")
    If $tempInt = "6" Then
    $fileImport = FileOpenDialog("Bitte Excel-Sheet auswählen", "d:\Job\01-MT2-Client\01-Zarsen", "Alle (*.*)", 1) ; Datei zum auslesen auswählen
    $excelSheetHandle = _ExcelBookOpen($fileImport , 0, True) ; Datei öffnen ...
    $excelSheetArray = _ExcelReadSheetToArray($excelSheetHandle, 1, 1, 0, 2, True) ; ... in ein Array einlesen ...
    _ExcelBookClose($excelSheetHandle) ; ... und anschließend wieder schließen
    _ArrayDisplay($excelSheetArray) ; mal schauen, was da drin war
    $schrankHostname = StringStripWS($excelSheetArray[1][0], 8) ; in [0][1] steht der Hostname des Schrankes und den will ich ohne Leerzeichen
    $query = "SELECT * FROM mt2db_neu.netzdaten WHERE netzdaten.dnsname LIKE '" & $schrankHostname & "%';" ; gibt es den Namen schon in der Datenbank - Abfrage?
    determineHosts($query, "Netzdaten des Schranks ermitteln", $edtSchrankArray) ; Abfrage ausführen
    If UBound($edtSchrankArray) > 1 Then ; wird ein Array mit Inhalt zurückgeliefert?
    _text("Dieser Hostname existiert bereits in der Datenbank.")
    Else
    _text(UBound($edtSchrankArray))
    EndIf
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Und damit alle wissen, was sich hinter der Funktion "determineHosts" verbirgt. Es ist eine kleine Funktion, die als Parameter den SQL-Befehl, einen String (für evtl. Log-Einträge) und ein 2D-Array für die Ergebnisse entgegen nimmt.

    Spoiler anzeigen
    [autoit]


    ;#################### Funktion zum ausführen von MySQL-Abfragen der oben definierten Datenbank ####################
    Func determineHosts($query, $SuchString, ByRef $array)
    Local $data2
    Local $hostArray[1][2] ;Überbleibsel eines anderen Tools
    Local $functionName = "Ermitteln von " & $SuchString & ": " ;Überbleibsel eines anderen Tools

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

    ;~ Starten von MySQL
    _MySQL_InitLibrary()
    If @error Then
    Return
    EndIf

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

    ;~ Initialisierung der MySQL-Instanz
    $MysqlConnect = _MySQL_Init()
    If @error Then
    Return
    EndIf

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

    ;~ Verbindung zum MySQL-Server aufbauen
    $connected = _MySQL_Real_Connect($MysqlConnect, $db_server, $db_user, $db_password , $db_database)
    If $connected = 0 Then
    Return
    Endif

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

    ;~ Durchführen der Abfrage für die Zars-Zentralen (siehe Globale Variablendeklaration query1)
    If _MySQL_Real_Query($MysqlConnect, $query) = 0 Then
    $res = _MySQL_Store_Result($MysqlConnect)
    $fields = _MySQL_Num_Fields($res)
    $rows = _MySQL_Num_Rows($res)
    Else
    Return
    EndIf
    For $k = 1 To $rows
    $data2 = ""
    ;~ nächste Zeile des Ergebnissets holen
    $mysqlrow = _MySQL_Fetch_Row($res,$fields)
    ;~ Länge der Spalten der aktuellen Zeile ermitteln
    $lenthsStruct = _MySQL_Fetch_Lengths($res)
    ;~ Durchgehen der einzelnen Felder und speichern derer Inhalte im Array
    For $i = 1 To $fields
    $length = DllStructGetData($lenthsStruct, 1, $i)
    $fieldPtr = DllStructGetData($mysqlrow, 1, $i)
    $data = DllStructGetData(DllStructCreate("char[" & $length & "]", $fieldPtr), 1)
    If $i = $fields Then
    $data2 = $data2 & $data
    Else
    $data2 = $data2 & $data & "|"
    EndIf
    Next
    _Array2DAdd($array, $data2)
    Next

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

    ;~ MySQL-Verbindung trennen
    _MySQL_Close($MysqlConnect)

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

    ;~ MySQL-Bibliothek schließen
    _MySQL_EndLibrary()
    Return $hostArray
    EndFunc

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

    Was mache ich verkehrt? Vielleicht bin ich inzwischen AutoIt-Blind. Ein kleiner Anstoß in die richtige Richtung reicht schon. Bloß keine kompletten Lösungen. Danke. ;)

    Nachtrag:
    Bei weiteren Test's hat sich herausgestellt, dass der Excelprozess, der durch _ExcelBookOpen gestartet wird, nicht mit _ExcelBookClose geschlossen wird. Erst, wenn das Skript beendet wird, wird auch der Excel-Prozess beendet. Gibt es eine Möglichkeit den Prozess anders zu schließen (kein ProzessClose, da noch weitere Excel-Prozesse mit gleichem Titel laufen könnten). Vielleicht eine Option -f wie force? Ich weiß, diese Option gibt es nicht. 8) Hat aber eigentlich nichts mit dem eigentlichen Problem zu tun.

    Nachtrag 2:
    Damit die Funktion trotzdem ein "halbwegs" akzeptables Ergebnis liefert, habe ich den SQL-Befehl geändert und an eine andere Position verschoben. Die SQL-Abfrage sieht jetzt so aus:

    [autoit]


    $query = "SELECT * FROM mt2db_neu.netzdaten;"
    determineHosts($query, "Netzdaten des Schranks ermitteln", $edtSchrankArray) ; Abfrage ausführen

    [/autoit]

    Zuerst (eigentlich aus Versehen) direkt nach dem FileOpenDialog. Da stellte sich jedoch heraus, dass die Abfrage trotzdem nicht funktioniert. Anschließend habe ich den FileOpenDialog unter die Ausführung der SQL-Abfrage gesetzt und siehe da... es funktioniert. Bleibt am Ende also die Frage, Was macht dieser FileOpenDialog so dass eine SQL-Session nicht gestartet werden kann? Und werde ich jemals eine Antwort auf meine Fragen bekommen? Ich weiß, dass viele in diesem Forum helle Köpfchen sind. Aber den Grund für dieses Verhalten kennt wahrscheinlich niemand. ;(

    Nachtrag 3:
    Dieser Nachtrag untermauert eigentlich schon das, was ich im Nachtrag 2 geschrieben habe. Ich habe zum Test den FileOpenDialog entfernt und die Variable, in die der Dateiname geschieben wird, hardcoded gesetzt. Die Excel-Funktionen laufen durch und das anschließende SQL-Statement gibt auch das erwartete Ergebnis zurück.

    Gibt es eine Möglichkeit die Entwickler von AutoIt zu kontaktieren?

  • RichEdit in Datei Streamen

    • Grandpa
    • 25. Februar 2014 um 13:07

    Hi,

    ich vermute mal, dass das nur ein Ausschnitt deines Prog's ist. Denn in dem Quellcode wurde keine GUI erstellt.
    Und nimmt man diesen Code so, muss die Datei auch leer sein, da das RichTextFeld nirgends befüllt wird. Ergo - Datei ohne Inhalt.

  • Auslesen aller SMART-Infos via WMI

    • Grandpa
    • 27. September 2012 um 14:49

    Hey, cool. Danke für die zahlreichen Antworten. Ich werde mich gleich mal an die Arbeit machen und testen.

    Nochmals danke. Ihr rockt. :rock:

  • Auslesen aller SMART-Infos via WMI

    • Grandpa
    • 27. September 2012 um 08:14

    Moin,

    gleich vorweg. Die Suche wurde benutzt, jedoch nicht das Passende gefunden.

    Ich suche einen Anstoß, wie ich die SMART-Infos der Festplatte auslesen kann. Ich weiß, dass es via WMI möglich ist und dass das Objekt MSStorageDriver_ATAPISmartData heißt. Jedoch bin ich wohl zu doof das Ganze in die richtige Form zu bringen.

    Danke für eure Tips schon mal im voraus.

  • Problem mit der Darstellung einer URL in einem IEembedded-Fenster

    • Grandpa
    • 23. November 2011 um 08:04

    * push *

  • Sendmessage und Linefeed

    • Grandpa
    • 16. November 2011 um 07:46

    Moin,


    hmm, wenn ich mir deinen Code anschaue und das ganze mit der Hilfe vergleiche, dann verwirrt mich das etwas. Lt. Hilfe ist der 2. Parameter die Nachricht. Das müsste also so aussehen (vorausgesetzt, dass der Inhalt des Array die Nachricht ist, die versendet werden soll):

    [autoit]

    For $i = 0 To UBound($aString) -1
    _SendMessage($controlhwnd, Binary($aString[$i]) & @CRLF, $WM_CHAR)
    Next

    [/autoit]



    Worauf es mir eigentlich ankommt, ist dieses & @CRLF nach dem String, der versendet werden soll. Damit wird ein Wagenrücklauf mit Zeilenumbruch ausgelöst. Ich würde allerdings noch eine Abfrage machen, ob $i = UBound($aString) -1 ist und in diesem Falle dann des @CRLF weglassen.

  • Problem mit der Darstellung einer URL in einem IEembedded-Fenster

    • Grandpa
    • 12. November 2011 um 17:38

    Hallo,

    wie in der Überschrift schon geschrieben, habe ich ein Problem mit der Darstellung einer bestimmten Seite (https://autoit.de/www.abfrager.de) in einem Object, welches mit _IECreateEmbedded () erstellt wurde. Öffne ich die Seite ganz normal im IE (nicht scriptgesteuert), wird die Seite korrekt angezeigt. Liegt es an der ie.au3? Kann man dort irgendwelche Änderungen vornehmen, die dieses Problem beheben.

    Als weitere info's:
    Das Script wird unter Win7 HomePremium 64 geschrieben und getestet und später unter Win XP Professional ausgeführt werden.

    Ich hoffe, es kann mir einer von euch helfen. Danke schonmal im voraus.

    Edit 2011-11-16:
    Ist mein Problem ein Generelles oder weiß einfach keiner eine Lösung? Schade eigentlich. ?(

  • dynamischer Filter für ListView

    • Grandpa
    • 12. Oktober 2011 um 15:35

    Big THX BugFix. Geniale UDF.

  • dynamischer Filter für ListView

    • Grandpa
    • 12. Oktober 2011 um 09:58

    Moin,

    ich habe ein kleines Programm geschrieben, welches in einer ListView den Inhalt einer Datenbank anzeigt (vorher die Daten in ein Array geschmissen und aus Arrayinhalt ListViewItems erstellt). Nun möchte ich den Inhalt der ListView per Eingabe (bei jedem Zeichen) in ein Input-Objekt dynamisch filtern. So wie per Eingabe in das ListView-Objekt. Also automatisch.
    Ich könnte mir vorstellen, dass man das Eintippen der Zeichen per GUIGetMsg() abfängt und jedes Mal eine Suche (_array2dsearch) durchführt. Das ist aber nicht gerade die eleganteste und schnellste Methode. Kann man das nicht besser lösen?

    Kleine Denkanstösse würden mir schon reichen. Den Code stricke ich mir dann schon selbst zusammen.

    Danke schonmal.

  • Sync Lotus Mail-File mit Google

    • Grandpa
    • 9. Juni 2011 um 12:04

    Keiner eine Idee? Schade.

  • Sync Lotus Mail-File mit Google

    • Grandpa
    • 3. Mai 2011 um 15:13

    Moin,

    ich möchte die Daten (Kalender & Kontakte) von meinem Mail-File (Firma, Domino 8.02) mit meinem Google Mailfile syncen. Dazu muss ich aber erstmal an die Mail-DB rankommen und entsprechende Abfragen machen können. Servername & ID-File sind vorhanden. Es fehlen nur noch die Werkzeuge.
    Gibt es eine API, mit der man auf die internen Funktionen von Notes/Domino zugreifen kann? Oder gar eine UDF? Ich habe mir schon die Referenz von Domino 8.01 reingezogen. Aber nicht wirklich was kapiert. Im www war auch nicht viel zu finden. Deshalb wende ich mich jetzt vertrauensvoll an euch. Vielleicht habt ihr ja ein paar Tips für mich. Danke.

    Gruß, Grandpa

  • IniReadSection Größenbeschränkung

    • Grandpa
    • 26. August 2010 um 08:11
    Zitat von Tweaky

    Ich denke mal du suchst dies hier
    http://www.autoitscript.com/forum/index.php?showtopic=32004&st=0&p=340387&hl=_iniread&fromsearch=1&#entry340387


    Sorry, aber nöö. Das Skript, was in dem anderen Forum vorgestellt wird, ist zum auslesen von bestimmten Sektionsparametern gedacht (Func _IniReadEx($hFile, $vSection, $vKey, $vDefault = -1)
    ). Das, was SEuBo gepostet hat, hat es schon sehr gut getroffen. An den pattern wurde zwar noch etwas angepasst, aber im Großen und Ganzen entsprach es dem, was ich gesucht hatte.

    Und da das Problem gelöst ist, kann dieser Thread geschlossen werden. *zu Mod schiel*

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™