Script Hilfe

  • Also es sieht so aus:

    Ich brauche eine externe .txt datei in welche ich ziffern reinschreibe nun soll mein script jeweils die erste zeile kopieren (ohne leerzeichen), dann diese löschen und dann in einer andren datei eintragen...
    dann soll er wieder jetzt die nachgerückte erste zeile lesen, diese dann wieder löschen und soweiter und sofort

    so das läuft auch ganz schön sowie ich es gemacht hat nur dauert es zulange meine lösung sieht so aus:

    • Offizieller Beitrag

    Hallo!

    Mal ein paar Ideen dazu: Mit FileOpen, FileReadLIne und FileClose kannst du direkt auf die Datei zugreifen und bist damit nicht von Notepad abhängig.
    In der Beta-Version hast du sogar die Möglichkeit, die Datei direkt (komplett) in ein Array einzulesen. Der Befehl dazu lautet

    Code
    _FileReadToArray()


    und benötigt

    Code
    #include <Array.au3>


    .
    Das Array kannst du dann mit eine For-Schleife durchlaufen und jeweils mit StringReplace die Leerzeichen rausmachen. Das Ergebnis lässt sich mit

    Code
    _FileWriteFromArray()

    in eine andere Datei schreiben.

    Zur Syntax der einzelenn Funktionen siehe Beta-Hilfe.

    Viel Erfolg,
    peethebee

  • wenn ich es richtig verstanden habe, wird es in der Quelldatei immer nur eine Zeile geben. Du könntest zum Beispiel folgendes machen, um die Zeile ohne Leerzeichen auszulesen...

    Code
    $eineZeile = StringStripWS (FileReadLine($filehandle) , 8 )
    • Offizieller Beitrag

    Hi!

    @jonk: Dann würde aber immer die gleiche Zeile gelesen werden. Es soll aber jede Zeile nacheinander durchgegangen werden. Könnte man evtl. mit einer For-Schleife machen, abe rich würde meine Lösung von oben empfehlen.

    @jonk 2: Evtl. in deiner Signatur "geht" durch "kann" ersetzen...

    peethebee

  • peethebee
    ich würde vorschlagen, wir nehmen Deine Array-Lösung und meinen Leerzeichenvorschlag :)

    mit der Signatur haste recht...wird sofort geändert...

    • Offizieller Beitrag

    Hallo!

    @jonk: Ja, die Kombination sollte rocken. "Deine" Funktion habe ich noch nie benutzt - StringReplace tut es ja auch.

    GtaSpider : siehe hier: Scripte einfach erstellen

    peethebee

  • mit file open fileread und so hab ich gleich als erstes probiert aber dann hat er die file nicht gefunden wieso auch immer daher diese ausweichversuch

    wie stellst du dir das mit array vor kannste das mal in mein script schreiben ich hab grad gar keinen plan was du meinst. hört sich aber gut an vor allem weil das tempo dadurch erheblich erhöht wird da es nicht ständig wechseln muss.

    ah k jetzt weiß ich in etwa was du meinst wo find ich die beta hilfe?

    wär trozdem net wenn du mir schnell was basteln könntest rest mach ich dann selber

    • Offizieller Beitrag

    Hallo!

    So in etwa stelle ich mir das vor:

    Die einzlenen Befehle findest du in der Beta-Hilfe. Die wiederum bekommst du mit der Beta-Version mitgeliefter, Link dazu siehe Erste Hilfe

    Zum Thema Pfadangabe: Lies mal die Sachen zur Verkettung von Strings (&) und zu Makros wie @ScriptDir. Mit ToolTips oder MsgBoxen kann man testweise ausgeben, was zusammengesetzt wird und damit Fehler minimieren.

    peethebee

  • ja danke so hab ich alle leerzeichen beseitigt. aber wie mach ich das er immer die erste zeile liest? und diese dann löscht und die nächste nachrückt (welche dann die erste zeile ist)?

    oder andre lösung wär das er immer die nächste zeile liest aber wie mach ich das?

    edit/ hab ich ganz vergessen durch das leerzeichen sind ja keine umbrüche mehr da also steht theoretisch alles in einer zeile (auch wenn es nicht so dargestellt wird) und dann kann man keine zeilen lesen also muss hinter jedem wort eine zeile stehen!

    edit2/ und fileopen geht bei mir auch nicht???

    3 Mal editiert, zuletzt von Chuck Norris (4. Mai 2006 um 14:13)

  • ok vielen dank jetzt klappts hatte die vergessen die erste schleife wegzustreichen so siehts jetzt aus:

    verbesserungsvorschläge zur erhöhung der geschwindigkeit sind erwünscht =)

    //edit: so das ist die endgültige version

    2 Mal editiert, zuletzt von Chuck Norris (4. Mai 2006 um 15:40)

    • Offizieller Beitrag

    Hallo!

    Schön, wenn es funktioniert. Allerdings könnte ich es mir nicht erklären *g* - wolltest du nicht alle Zeilen letztlich pürfen? Dazu wäre die von mir oben angesprochene For-Schleife (oder eine andere Schleife) nötig...

    peethebee

  • nein nicht prüfen sondern übertragen =). mehr kann ich leider nicht sagen.
    für dich mag das etwas mergwürdig vorkommen aber es erfüllt seinen zweck und das sehr gut!

    jetzt bastel ich mal noch ein bischen dran nur der optik wegen

  • Zitat

    Original von Chuck Norris
    mehr kann ich leider nicht sagen.

    Wird es die Welt verändern?und die HUngersnot beseitigen?;)

  • ok jetzt noch eine frage der soll in die quelle.txt oder workarray gleich zu beginn noch eine zeile einfügen bzw ein string und zwar FINISH. damit ich ne if bedingung machen kann wenn workarray=finish ist msgbox "Durchlauf beendet. Kein Erfolg"
    und dann schließe programm