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

Beiträge von Eistee

  • Stringsplit Komplette datei ?

    • Eistee
    • 13. März 2008 um 23:55

    Problem :

    Spoiler anzeigen
    [autoit]

    FileWrite($file,$split[0]&@CRLF&$split[1]&@CRLF&$split[2]&@CRLF&$split[3]&@CRLF&$split[4]&@CRLF&$split[5])

    [/autoit]

    So erhalte ich fehlermeldungen wenn ich mehr angebe asl es gibt also bei [1] jedoch ist es zwingend notwendig hier keine Fehler zu erhalten da die Zeilenanzahl in der quelldatei variable ist wie kann ich dafür sorgen das er einfach alles in eine Textdatei schreibt ohne darauf zu achten wie viele split´s das es gibt ?

  • Stringsplit Komplette datei ?

    • Eistee
    • 13. März 2008 um 23:41

    No leider geht das nicht

    C:\Users\Eistee\Desktop\Testreihe.au3 (3) : ==> Incorrect number of parameters in function call.:

    Edit: doch nech dem festlegen des fensternamens und der richtigen Textdatei (binwohlblind) geht es dann doch Thx Xenobiologist

  • Stringsplit Komplette datei ?

    • Eistee
    • 13. März 2008 um 22:52

    Das Problem ist hier :

    Spoiler anzeigen
    [autoit]

    $File = FileOpen(@DesktopDir &"\file.txt",0)
    $Chars1 = FileRead($File)
    $stringsplit1 = StringSplit($Chars1, ",")

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

    $file1 = FileOpen("test.txt",2)
    FileWrite($file1, $stringsplit1[1]&@crlf)

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

    FileClose("test.txt")

    [/autoit]


    So wird nur zeile 1 in die Datei geschrieben

    Und wenn ich es so versuche

    Spoiler anzeigen
    [autoit]

    $File = FileOpen(@DesktopDir &"\file.txt",0)
    $Chars1 = FileRead($File)
    $stringsplit1 = StringSplit($Chars1, ",")

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

    $file1 = FileOpen("test.txt",2)
    FileWrite($file1, $stringsplit1[1]&@crlf&$stringsplit1[7])

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

    FileClose("test.txt")

    [/autoit]

    Dann ist leider in zeile 2 der Textdatei einer der Teile zu sehen die ich mit dem befehl entfernen möchte für den Fall das es Hilft Hänge ich Hier Noch die Textdatei An um die es sich Handelt


    Spoiler anzeigen

    ./notice.txt,49be56ea9f71ff98bec2dc94b1987d5e
    ./Serverside/xlate-e.dat,5b646e2c5d0a87a54544e8366824c49
    ./data/Hypertext/e/e.pk,563456345
    ./data/Config/config.pk,345345345
    ./data/maps/435623,4353454
    ./tesf/loade/gsgsg.exe,5345345

    Und hier benötige ich nur was vor dem , steht

    Mfg Eistee

  • enter drücken lassen

    • Eistee
    • 13. März 2008 um 22:30

    Zwischen die Zeilen

    [autoit]

    Sleep(500)

    [/autoit]

    Dann pausiert er für 500 Millisekunden

    Mfg Eistee


    Edit : mist Gleichzeitig Posted

  • Stringsplit Komplette datei ?

    • Eistee
    • 13. März 2008 um 22:28

    Hallo Comunity

    Ich versuche seit einiger Zeit einen Stringsplitt Befehl Auf eine Komplette Textdatei zu Erweitern aber ich komme nicht weiter
    ist es möglich nicht nur einen einfachen Textstrang Anzugeben sondern StringSplit auf eine komplette Datei auszuweiten wenn ja ? Dann wie ?

    Mfg Eistee

  • Hallo erstmal, Inetget + String

    • Eistee
    • 13. März 2008 um 21:49

    Erst mal danke WoW-Unit

    Ich denke mal das ist ein beispiel für stringregexpreplace aber kann man mir das auch erklären mit einem etwas einfacheren beispiel ? hier wird scheinbar auch Multipliziert und alles kann man das Irgendwie Entfernen ?

    Mfg Eistee

  • Hallo erstmal, Inetget + String

    • Eistee
    • 13. März 2008 um 21:45

    Hi Eistee herzlichh wilkomm

    Ich wollte erstmal sagen wenn du (beim schreiben von nem beitrag) oben auf das autitzeichen klickst
    dann wird dein code auch dargestellt wie im editor

    zweitns

    ich kann leider nicht viel helfen aber vielleicht hilft dir das da

    Spoiler anzeigen
    [autoit]

    ; Brav alle Variablen deklarieren
    Local $filename = GUICtrlRead($Input1) & '\InitMonster.txt' ; Name der Datei
    Local $meinarray ; Darin lege ich die Datei ab und ändere den Wert auf den neuen
    Local $meinarray1
    Local $newEXP ; Der neue Wert der in exp rein soll
    Local $nLfd ; einfach ein Variable zum zählen
    Local $nLfd1
    Local $alterWert ; Für den alten Wert
    Local $Multiplikator = GUICtrlRead($Input2) ; Mit was * genommen werden soll
    Local $arr ; Hilfs - Array
    Local $hFile ; FileHandle

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

    $hFile = FileOpen($filename,0) ; Datei zum lesen öffnen
    _FileReadToArray($filename,$meinarray) ; Hier wird die Datei eingelesen und in ein Array gepackt
    FileClose($hFile) ; Datei schliessen

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

    ; Datei zum schreiben öffnen
    $hFile = FileOpen($filename,2)

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

    ; Hier prüfe ich jede Zeile im Array (von 1 bis maximal Index, der in Index 0 steht)
    ; ob er was ersetzen kann

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

    For $nLfd = 1 To $meinarray[0]
    $arr = StringRegExp($meinarray[$nLfd],'\(exp (\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d)\)',3)
    If Not @error AND IsArray($arr) Then
    $alterWert = $arr[0]
    $newEXP = $alterWert * $Multiplikator
    $meinarray[$nLfd] = StringRegExpReplace($meinarray[$nLfd],'\(exp (\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d)\)','(exp ' & $newEXP & ')')
    EndIf
    If $nLfd <> $meinarray[0] Then $meinarray[$nLfd] &= @CRLF
    FileWrite($hFile,$meinarray[$nLfd])
    Next
    ; Datei schliessen
    FileClose($hFile)

    [/autoit]
  • Hallo erstmal, Inetget + String

    • Eistee
    • 13. März 2008 um 00:12

    Das habe ich gemacht jedoch ohne grossen Erfolg

    Ich habe es noch nicht ganz herausgefunden wie das geht,könntet ihr mir helfen und wenn möglich die zeilen auskommentieren damit ich das in zukunft selbst verwenden kann ?

    Spoiler anzeigen

    #include <file.au3>


    Local $filename = "\file.list"
    Local $filename2 = "\test.txt"
    Local $meinarray
    Local $nLfd1
    Local $arr
    Local $hFile
    Local $hFile2

    $hFile = FileOpen($filename,0)


    _FileReadToArray($filename,$meinarray)
    FileClose($hFile)
    $hFile2 = FileOpen($filename2,2)
    _FileWritefromArray($hFile2,$meinarray)

    das Funktioniert Leider nicht die test.txt bleibt vollkommen leer wer kann mir sagen was hier Falsch gemacht wurde von mir ?

    Edit : Folgendermassen Gelöst

    Spoiler anzeigen


    #include <file.au3>


    Local $meinarray
    $FILEPATH = (@ScriptDir &"\file.txt")
    $filename = (@ScriptDir &"\file.list")
    $hFile = FileOpen($filename,0)


    _FilereadToArray($filename, $meinarray)


    _FileWriteFromArray($FILEPATH, $meinarray)

    So geht das wie baue ich jetzt ein das wieder stringsplit funktioniert ?
    brauche in der file.list nur alles bis zum komma vorhin hatte ich das bereits jedoch habe ich jetzt Dank Bugfixes toller hilfe eine Möglichkeit gefunden
    mit der ich alle lines der file.list in eine file.txt bekomme ohne strings nutzen zu müssen jetzt müssen nur noch alle / in \ umgewandelt werden(Spiele gerade mit stringregexpreplace) und ich muss wieder irgendwie stringsplitt reinbekommen
    Danke schon mal für die tolle Hilfe Bisher (hoffe ich kann bald selber helfen)
    Mfg Eistee


    Edit: Ich erkläre Hier mal genau um was es geht und zwar : ich habe eine Ordner struktur in der ist der Ordner data in diesem sind einige unterordner in denen sich datein befinden sagen wir mal data\hypertext\config\config.pk
    wenn ich jetzt diese struktur benutzen möchte dann editirt sich die files.list so
    ./data/hypertext/config/config.pk,123456789
    Das Script soll jetzt folgendes Tun

    er soll bei ./data/hypertext/config/config.pk,123456789 alles nach dem , weglassen danach alle / in \ verwandeln
    anschliesend soll er die datei ./data/hypertext/config/config.pk nach .\data\hypertext\config\config.pk Downloaden(InetGet)
    da man aber über die file.list mehr als nur eine Datei machen kann (bis 3000) ist es sehr langwierig alles per filewriteline und consorten zu benutzen daher eben diese idee es über externe dateien und arrays einfacher zu bestimmen

    Mfg Eistee

  • Hallo erstmal, Inetget + String

    • Eistee
    • 12. März 2008 um 23:22

    Hallo Nochmal
    Ich habe noch eine frage und zwar soll der script ja die file.list Auslesen den Inhalt in eine Textdatei schreiben diese öffnen alle / durch \
    Ersetzen und dann alles downloaden und installieren
    Meine Frage ist jetzt Folgende es kann vorkommen das in der file.list bis zu 3000 zeilen stehen
    und ich müsste jetzt so wie hier

    Spoiler anzeigen

    $Chars1 = FileReadLine($File, 1)
    $Chars2 = FileReadLine($File, 2)
    $Chars3 = FileReadLine($File, 3)
    $Chars4 = FileReadLine($File, 4)
    $Chars5 = FileReadLine($File, 5)
    $Chars6 = FileReadLine($File, 6)
    $Chars7 = FileReadLine($File, 7)
    $Chars8 = FileReadLine($File, 8)
    $Chars9 = FileReadLine($File, 9)
    $Chars10 = FileReadLine($File, 10)
    $Chars11 = FileReadLine($File, 11)
    $Chars12 = FileReadLine($File, 12)
    $Chars13 = FileReadLine($File, 13)
    $Chars14 = FileReadLine($File, 14)
    $Chars15 = FileReadLine($File, 15)
    $Chars16 = FileReadLine($File, 16)
    $Chars17 = FileReadLine($File, 17)
    $Chars18 = FileReadLine($File, 18)
    $Chars19 = FileReadLine($File, 19)
    $Chars20 = FileReadLine($File, 20)
    $Chars21 = FileReadLine($File, 21)
    $Chars22 = FileReadLine($File, 22)
    $Chars23 = FileReadLine($File, 23)
    $Chars24 = FileReadLine($File, 24)
    $Chars25 = FileReadLine($File, 25)
    $Chars26 = FileReadLine($File, 26)
    $Chars27 = FileReadLine($File, 27)
    $Chars28 = FileReadLine($File, 28)
    $Chars29 = FileReadLine($File, 29)
    $Chars30 = FileReadLine($File, 30)
    $Chars31 = FileReadLine($File, 31)
    $Chars32 = FileReadLine($File, 32)
    $Chars33 = FileReadLine($File, 33)
    $Chars34 = FileReadLine($File, 34)
    $Chars35 = FileReadLine($File, 35)
    $Chars36 = FileReadLine($File, 36)
    $Chars37 = FileReadLine($File, 37)
    $Chars38 = FileReadLine($File, 38)
    $Chars39 = FileReadLine($File, 39)
    $Chars40 = FileReadLine($File, 40)
    $Chars41 = FileReadLine($File, 41)
    $Chars42 = FileReadLine($File, 42)
    $Chars43 = FileReadLine($File, 43)
    $Chars44 = FileReadLine($File, 44)
    $Chars45 = FileReadLine($File, 45)
    $Chars46 = FileReadLine($File, 46)
    $Chars47 = FileReadLine($File, 47)
    $Chars48 = FileReadLine($File, 48)
    $Chars49 = FileReadLine($File, 49)
    $Chars50 = FileReadLine($File, 50)
    $Chars51 = FileReadLine($File, 51)
    $Chars52 = FileReadLine($File, 52)
    $Chars53 = FileReadLine($File, 53)
    $Chars54 = FileReadLine($File, 54)


    Jede Zeile Einzelnd Eingeben gibt es hier für mich eine Möglichkeit das einfach zahlen und zeilen unabhängig zu machen ?
    Weil es wäre schon einiges an arbeit für 3000 Zeilen alles einzelnd zu schreiben

    Mfg Eistee

  • Hallo erstmal, Inetget + String

    • Eistee
    • 12. März 2008 um 22:05

    Danke Blubbstar so funktioniert es sehr vielen dank jedoch habe ich das Problem das ich bei einem weiteren befehl Identischer Natur nicht in die nächste Zeile Schreiben kann trotz des befehls &@clrf wo liegt hierbei der Fehler ? Denn Laut der Hilfe müsste es so Funktionieren
    So sieht es Momentan aus :

    Spoiler anzeigen

    $IP = "http://127.0.0.1/yourhost.com/updater"
    InetGet($IP &"/file.list", @DesktopDir &"\file.list")
    $File = FileOpen(@DesktopDir &"\file.list",0)
    $Chars = FileReadLine($File, 1)
    $Chars2 = FileReadLine($File, 2)
    $stringsplit = StringSplit($Chars, ",")
    $stringsplit1 = StringSplit($Chars2, ",")
    $file1 = FileOpen("test.txt",1)
    FileWrite($file1, $stringsplit[1])
    FileWrite($file1, $stringsplit1[1]&@crlf)
    FileClose("test.txt")


    Edit: FolgenderMaßen gelöst :

    Spoiler anzeigen

    $IP = "http://127.0.0.1/yourhost.com/updater"
    InetGet($IP &"/file.list", @DesktopDir &"\file.list")
    $File = FileOpen(@DesktopDir &"\file.list",0)
    $Chars = FileReadLine($File, 1)
    $Chars2 = FileReadLine($File, 2)
    $stringsplit = StringSplit($Chars, ",")
    $stringsplit1 = StringSplit($Chars2, ",")
    $file1 = FileOpen("test.txt",1)
    FileWriteLine($file1, $stringsplit[1]&@crlf)
    FileWriteLine($file1, $stringsplit1[1]&@crlf)
    FileClose("test.txt")

  • Hallo erstmal, Inetget + String

    • Eistee
    • 12. März 2008 um 21:32

    Hallo liebe Comunity

    Ich beschäftige mich seit ca einer Woche mit Autoit und finde es echt super
    Ich bin halt noch am üben und daher schonmal an eine meiner momentanen Gränzen gestossen

    Ich benötige einen Script der von einer Seite eine datei Downloadet diese öffnet und den inhalt in eine Text Datei Schreibt
    Das ist bisher mein Anfang

    Spoiler anzeigen

    $IP = "http://127.0.0.1"
    InetGet($IP &"/yourhost.com/updater/file.list", @DesktopDir &"\file.list")
    $File = FileOpen(@DesktopDir &"\file.list",0)
    $Chars = FileReadLine($File, 1)
    $file1 = FileOpen("test.txt",1)
    FileWrite($file1, $Chars)
    FileClose("test.txt")

    das funktioniert auch ohne probleme so wie es da steht , mein problem besteht darin das die zeile die der script aussieht folgendermassen aussieht:

    .\notice.txt,453346346652

    und ich nur das brauche das vor dem , steht. Ein weiteres Problem Besteht darin das in der Zeile nicht immer nur .\notice.txt steht sondern auch mal z.B. .\test\teste\testu\file.txt wie kann ich dafür sorgen das er immer alles so ausliest wie es vor dem , steht ?

    Für Eure Hilfe im Voraus vielen Dank Eistee

    P.s. am ende soll ein Script entstehen der die benannten Stellen in der file.list ausliest und im anschluss daran die dateien von der Ip Downloadet
    und anschliessend per FileInstall dort hin setzt wo sie dann gehören.

  • bat datei probleme Lösbar ?

    • Eistee
    • 12. März 2008 um 10:42

    Ich habe es schon hingekriegt das es geht aber nur wenn ich die selber öffne nicht wenn ich sie per run befehl ausführe dann findet er die engine.exe nicht obwohl er die datei ausführt

  • bat datei probleme Lösbar ?

    • Eistee
    • 12. März 2008 um 01:11

    Als erstes möchte ich klar stellen das ich euch nicht zum illegalen hacken überreden wollte wie hier scheinbar allgemein gedacht
    ich hatte die erlaubnis des autors wenn ihr mir nicht glaubt fragt Xenobiologist der hatt ein screenshot mit einem chat welchen ich mit dem autor hatte und der author der datei hatte ihm eine e-mail geschrieben das das ok war.
    Jetzt zu meinem Problem
    ich muss ein spiel starten das in $input1 ist
    hier mein bisheriger versuch

    Spoiler anzeigen
    [autoit]

    IniWrite($szIniName, "Dir","default",GUICtrlRead($Input1))
    FileInstall("start.bat", Guictrlread($Input1) & "\start.bat")
    ShellExecute(guictrlread($Input1) &"\start.bat")

    [/autoit]

    Das geht nur nicht weil er sagt engine.exe nicht gefunden, wenn ich allerdings die start.bat in dem verzeichnis selber starte dann geht das
    wie kann ich das machen ohne probleme ?

    Das hier steht in der .bat

    Spoiler anzeigen

    @echo off
    start engine.exe /load /config debug
    exit /b
    echo on

  • Splashimageon ohne Rand ?

    • Eistee
    • 11. März 2008 um 01:18

    Hi
    Also wie man ein Splashimage macht weis ich aber ist es acuh möglich nur das bild anzeigen zu lassen ohne den windows rand ?

  • Probleme mit Decompilen...

    • Eistee
    • 10. März 2008 um 21:07

    Hi Comunity

    ich habe mal ein script geschrieben und compieliert den script dann leider gelöscht ist es jetzt möglich den script wiederzukriegen ?
    mit dem Decompiler der im autoit verzeichnis ist geht es scheinbar nicht kann ich das umgehen ?


    Die Datei um die es geht liegt bei

    Dateien

    Server Manager Rev 3.rar 269,63 kB – 221 Downloads
  • FileInstallFolder ? Geht das ganzen ordner + Unterverzeichnis einbinden ?

    • Eistee
    • 10. März 2008 um 21:05

    nicht das ich wüsste Include ist nichts weiter als ein befehl zum einbinden bestimmter parameter die standartmäsig dabei sind und für Udf´s
    damit man den code nit tippen muss ^^

  • FileInstallFolder ? Geht das ganzen ordner + Unterverzeichnis einbinden ?

    • Eistee
    • 10. März 2008 um 00:08

    Naja wenn man als installverzeichnis desktop wählt und die logdatein aus hatt gehts

  • FileInstallFolder ? Geht das ganzen ordner + Unterverzeichnis einbinden ?

    • Eistee
    • 9. März 2008 um 23:38

    BugFix sry aber die datei die dein tool generiert ist fehlerhaft...
    da kommt immer Installation fehlerhaft

    Noch Grösseres Problem Jetzt wenn ich auf code übernehmen gehe macht dein tool garnix mehr

  • FileInstallFolder ? Geht das ganzen ordner + Unterverzeichnis einbinden ?

    • Eistee
    • 9. März 2008 um 16:01

    Wie der Titel schon sagt ich würde gerne das programm Xampp (kennt ihr sicher) in einen script einbauen um einen testserver für homepages zu bauen ist es somit möglich den gesamten xampp ordner mit unter ordnern per fileinstall oder sonst wie zu integrieren ?

  • Erneut Problem mit StrinRegExpReplace

    • Eistee
    • 9. März 2008 um 11:49

    Bernd jo ich weis das wir das behandelt haben aber mal ehrlich siehst du in dem thread einen einzigen post der mir sagt wie genau ich definiere welche stelle er einliest und welche nicht ?
    ich habe da nichts gesehen was mir geholfen hätte sry

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™