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. Mr.Fritz

Beiträge von Mr.Fritz

  • FileReadLine erkennt Dateiende nicht

    • Mr.Fritz
    • 19. November 2018 um 17:48

    Hallo und guten Abend,

    ich verzweifle gerade am zeilenweisen Auslesen einer 08/15-Textdatei mit einer Do...Until-Schleife. An sich funktioniert fast alles perfekt - außer eben dem Umstand, dass ich scheinbar dass passende Exit-Kriterium nicht "finde" und somit ewig in der Schleife hänge :/

    Wie gesagt, Problem ist, dass die u.a. Schleife einfach nicht verlassen wird - und ich verstehe nicht, was ich bzgl. der Hilfe/Doke anders mache...

    In der Hilfe zu FileReadLine steht:

    Return Value

    Success: a line of text.

    Failure: sets the @error flag to non-zero.

    @error: 1 = if file not opened in read mode or other error

    -1 = if end-of-file is reached


    Nachfolgend mein (gekürzter) Code:

    Code
    $MyFile = FileOpen($ErrorFile)
    
    Do
        
        $i = $i + 1
        DoLogging("Zeilen gelesen: " & $i)		;steht hier nur zur Fehlersuche und schreibt die gelesene Zeile in meine Logdatei
    
        $MyLine = StringLower(FileReadLine($MyFile))    ;habe hier auch schon erfolglos FileReadLine($MyFile, $i) verwendet
    
        If @error = -1        ;oder
        If @error <> 0        ;oder
        If @error = True      ;oder
        If @error Then
            DoLogging("Verarbeitung Log-File beendet. Zeilen gelesen: " & $i)
            ExitLoop
        EndIf
    
        **** String-basierte-Verarbeitung von $MyLine ****    ;hier funktioniert alles bestens...
    
    Until False
    Alles anzeigen

    Bin für Tip's wirklich sehr (!) dankbar...

    Viele Grüße und nen schönen Abend,

    Mr.Fritz

  • FileLock und PID - durch welchen Prozess ist eine Datei gesperrt/geöffnet

    • Mr.Fritz
    • 13. November 2018 um 15:42

    Hallo zusammen,

    zunächst Danke für die Tipps - "schade", ich dachte (hatte gehofft) dass der Zugriff einfacher möglich ist... Ich werde mir das AutoIt-Script Unlocker mal zu Gemüte führen, und bis dahin arbeite ich mit der Ausgabe von Handles (Sysinternals).

    Viele Grü0ße und schönen Abend!

    Mr.Fritz

  • FileLock und PID - durch welchen Prozess ist eine Datei gesperrt/geöffnet

    • Mr.Fritz
    • 13. November 2018 um 12:04

    Hallo zusammen,

    entweder ist meine Frage so trivial, oder... Na, jedenfalls finde ich zu meiner Fragestellung keine Antwort, weder hier im Forum noch über Google :/

    Ich möchte für eine genau bestimmte Datei ermitteln, durch welchen Prozess diese "in use" ist. Mit _WinAPI_FileInUse kann ich IMHO nur ermitteln, ob die Datei im Zugriff ist (Return Value 1) oder nicht (Return Value 0), aber nicht durch welchen Prozess.

    Danke für Eure Mühe!!

    Viele Grüße, Mr.Fritz

  • Subcommand für FTP

    • Mr.Fritz
    • 13. Juli 2010 um 17:00

    Hallo Forum.

    Na gut, etwas viel "später"... :)

    Ein Problem gelöst, und schon kommt das nächste:

    Der Tip von progandy war erst mal goldrichtig, denn mit

    Code
    $Open = _FTPOpen("MyFTP")
    $Conn = _FTPConnect($Open, $FTP, $USR, $PWD)
    _FTPCommand($Conn, "site SBDATACONN=(IBM-273,ISO8859-1)")
    $FTPG = _FTPGetFile($Conn, $GetFile, $DestFile)
    $FTPC = _FTPClose($Open)


    funktioniert nun der Download - SUPER! Weniger gut ist, dass die Datei binär (habs manuell getestet) übertragen wird und so bei mir nur Kauderwelsch ankommt.

    Kein Problem dachte ich mir, ein

    Code
    _FTPCommand($Conn, "ascii")


    nach dem ersten sollte helfen. Dies hat jedoch keinerlei Auswirkung. Ich hab's dann u.a. mit

    Code
    _FTPCommand($Conn, "TYPE A")


    versucht, aber auch das (sowie geschätzt 10 weitere Versuche) bleibt erfolglos.

    "Ägerlicherweise" stehen im Header der FTP_Ex zwar mehrere Konstanten wie

    Code
    $FTP_TRANSFER_TYPE_ASCII


    deren Gebrauch und v.a. exakte Syntax ist aber leider nirgends dokumentiert... (zumindest hab' ich nichts gefunden)

    Daher meine Frage? Wie schalte ich denn die Dateiübertragung von Binär auf ASCII um???

    Bin für jegliche Art von Tipp dankbar.

    Grüße Alex

    PS: Folgendes Vorgehen per MS-FTP liefert reproduzierbar die falsche binär übertragene Datei:

    ftp 99.99.99.99
    User
    Passwort
    quote site SBDATACONN=(IBM-273,ISO8859-1)
    binary
    get 'XXXX.YYYY.ZZZZ.AAAA.B12345.C98765.D333E444' "binary.txt" -> falsch und exakt die gleiche Datei wie mit o.a. Vorgehen
    ascii
    get 'XXXX.YYYY.ZZZZ.AAAA.B12345.C98765.D333E444' "ascii.txt" -> richtig
    Quit

  • Subcommand für FTP

    • Mr.Fritz
    • 7. Juli 2010 um 15:12

    Hallo progandy

    Oooh jeeeh, ich weiß gar nicht, wie oft ich in der FTP_Ex nach diesem bzw. "so einem" Befehl gesucht habe... :whistling:

    Nun ja, ich versuch es nun also damit mal und melde mich später nochmals.

    Danke schonmal!

    Grüße Alex

  • Subcommand für FTP

    • Mr.Fritz
    • 7. Juli 2010 um 11:58

    Hallo Forum.

    Ich hole mir von div. FTPs Dateien mit meinem AutoIt Skript ab, das klappt alles ganz hervorragend. Nun stehe ich aber vor einem neuen Problem:
    Mein "jetziger" FTP ist ein Host. Abgesehen davon, dass es dort keine Dateien/Verzeichnisse nach dem Windows-Schema gibt sondern nur Bibliotheken (das könnte man vllt. noch in Griff kriegen) muss ich VOR dem eigentlichen GET ein "quote site" Subcommand auf den FTP absetzen. Hierfür finde ich leider keine passende Funktion.

    Der Abruf per DOS-Box klappt übrigens 1a in etwa so:

    ftp 99.99.99.99
    User
    Passwort
    quote site SBDATACONN=(IBM-273,ISO8859-1)
    get 'XXXX.YYYY.ZZZZ.AAAA.B12345.C98765.D333E444' "Meine Datei.txt"
    Quit

    Weiß hier jemand Rat? Notfalls würde ich o.a. Abruf als temp. Batch-Datei mit AutoIt schreiben, dann von dort aufrufen und danach wieder löschen - aber so wirklich schön ist das auch nicht...

    Danke und Grüße, Alex

  • Verschiedene DLL Versionen bereiten Probleme

    • Mr.Fritz
    • 1. Juli 2010 um 17:44

    Hmm...

    Auch wenn es mir noch nicht so ganz klar ist - nach u.a. Änderungen funktioniert das Skript.

    Danke trotzdem für Deine Hilfe!

    Grüße, Alex

  • Verschiedene DLL Versionen bereiten Probleme

    • Mr.Fritz
    • 1. Juli 2010 um 17:07

    Im Grunde genommen nicht...

    Ich verwende zwar Funktionen aus der FTP und der FTP_Ex, aber die beziehen sich ja beide auf eine WinIni - ich sehe da zumindest keine Differenzierung. Außer diese passiert im Hintergrund...

    Woran sehe ich denn, welche Funktionen eine DLL "anbietet"?

    Werde jetzt jedenfalls das komplette Skript mal auf die FTP_Ex umschreiben; melde mich dann nochmals!

  • Verschiedene DLL Versionen bereiten Probleme

    • Mr.Fritz
    • 1. Juli 2010 um 16:00

    Hallo Forum.

    Im betroffenen Skript führe ich diverse FTP Aktionen aus. Die jeweiligen UDF beziehen sich auf die "wininet.dll". Das ist grundsätzlich mal kein Problem und auf meinem Entwicklungsrechner (Vista Ult 64) hat das auch alles funktioniert. Als ich das Skript bzw. die EXE dann aber auf anderen PCs ausführen wollte - habe die 32 und 64 Bit Versionen beachtet -, erhielt ich an einigen PCs Fehlermeldungen, meistens Speicherverletzungen nach dem Muster «Der Vorgang "read" konnte...». Nach diversen Tests habe ich nun erstmal die Version der wininet.dll dafür in Verdacht. Auf PCs mit IE8 (-> wininet Version 8.0.6001) funktioniert das Skript, auf PCs mit IE7 (-> wininet Version 7.0.6000) kommt eben o.a. Fehler.

    Muss man hier etwas die passende DLL mitverteilen? ?( Kann ich mir nicht vorstellen...

    Weiß hier jemand Rat?

    Danke und Grüße, Alex

  • Aufrufparameter für AutoIt-Skript

    • Mr.Fritz
    • 12. Februar 2010 um 11:50

    ...genau das habe ich gesucht!

    Grüße Alex

  • Aufrufparameter für AutoIt-Skript

    • Mr.Fritz
    • 12. Februar 2010 um 10:54

    Hallo Forum.

    Ich bin (noch) neu hier im Forum und auch noch relativ neu bei AutoIt selbst. Bin allerdings schon seit langem in VB und Derivaten in div. Ausprägungen aktiv.

    Eben von VB kenne ich die Möglichkeit, einer EXE Aufrufparameter mitzugeben - und suche diese Möglichkeit nun auch in AutoIt.
    Geht das überhaupt?
    Die Hilfe spuckt mir hierzu nichts aus, auch im Web wird man nicht wirklich fündig...

    Danke schon mal für Eure Hilfe!

    Viele Grüße, Alex

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™