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

Beiträge von Greenhorn

  • Verzeichnis-Pfad auslesen

    • Greenhorn
    • 11. Februar 2007 um 18:40

    Versuch's mal so...

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    $target = "C:\Programme\Mozilla Firefox\firefox.exe"

    ; Dateiname auslesen
    $file = StringSplit($target, "\")
    _ArrayDisplay($file, "Dateiname")

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

    ; Dateiname
    MsgBox(64 + 8192, "Dateiname", $file[$file[0]])

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

    ; Pfadname
    _ArrayPop($file)
    _ArrayDisplay($file, "Pfad")
    $Path = _ArrayToString($file, "\",1)
    MsgBox(0, "Pfad", $Path)

    [/autoit]

    Gruß

  • Konsoleprogramme einbinden

    • Greenhorn
    • 11. Februar 2007 um 18:30

    BugFix

    :kiss:

    shorten

  • Konsoleprogramme einbinden

    • Greenhorn
    • 11. Februar 2007 um 18:02

    Da kannst Du schon Recht haben, aber wenn ich keine WorkingDir angebe wird doch der Pfad genommen in dem mein Script sich befindet und dort habe ich ja auch die shorten.exe...

    Shorten installiert sich nicht, es ist ein reines Kommandozeilentool, genauso wie UHARC.

    Man kann die shorten.exe z.B. in den WINDOWS Ordner kopieren und dann mit der Konsole ausführen, oder man schreibt eine Batch mit den Kommandos und kopiert dann die Batch.cmd/bat & shorten.exe in den Ordner mit den *.wav Dateien und führt dann die Batch aus.


    Install.txt

    Spoiler anzeigen


    shorten for DOS/Windows
    -----------------------

    shorten has been built for DOS/Windows using the Cygwin toolkit, available at
    <http://sources.redhat.com/cygwin/>.


    ------------
    Installation
    ------------

    To install shorten, first extract the files contained in the distribution .zip
    file to a temporary directory, and copy shorten.exe and cygwin1.dll to a
    directory that is in your PATH. To find out what directories are in your PATH,
    go to the DOS prompt and type:

    C:\> echo %PATH%

    Any of the listed directories will do, but perhaps the best choice is one of the
    Windows directories, e.g. C:\Windows, C:\Windows\Command, C:\Windows\System,
    C:\WinNT, C:\WinNT\System32, et cetera. Of course, yours may be different than
    these, and there may be more than one Windows directory listed.

    To make sure shorten working correctly, go to the DOS prompt and type:

    C:\> shorten -h

    You should see shorten's version information (verify that it shows the correct
    version - if not, then you probably have an outdated copy of shorten.exe
    somewhere on your hard drive that you need to remove). If you don't see the
    version information, or if you get a message saying that the command was not
    found, then shorten is not installed correctly.


    ------
    Quirks
    ------

    Due to the way Cygwin works, there are certain times when file names need to be
    specified in a way different from the normal DOS syntax. Essentially, the
    differences are that (a) you use forward slashes instead of backslashes, and (b)
    if you want to access files on a different drive than the one you are currently
    on, you use can either use "d:", or if that doesn't work, "/cygdrive/d", where "d"
    is the drive you want to access.


    Case 1
    ======

    If you are shortening files in the current directory, you can simply issue a
    command similar to this:

    C:\> shorten track01.wav


    Case 2
    ======

    Now suppose your .wav's are in a different directory than the current directory
    you are in, but they are on the same drive (drive C: for instance). Then you
    can specify where they are in one of two ways.

    1. Example using a relative path to get to them:

    C:\> shorten ../disc2/track01.wav

    2. Example using an absolute path to get to them:

    C:\> shorten c:/other/directory/track01.wav

    or:

    C:\> shorten /cygdrive/c/other/directory/track01.wav


    Case 3
    ======


    Finally, suppose the .shn's you want to extract are on a completely different
    drive. Then you need to specify the drive letter, as well as the path to the
    files, similar to the following:

    C:\> shorten -x d:/directory/on/this/drive/track01.shn

    or:

    C:\> shorten -x /cygdrive/d/directory/on/this/drive/track01.shn


    You can easily avoid having to remember to do any of this, however, if you
    always change to the desired directory before running shorten. Taking the
    example from Case 3, this is how you would go about doing this:

    C:\> d:
    D:\> cd directory\on\this\drive
    D:\directory\on\this\drive> shorten -x track01.shn

    Note that you use forward slashes as a pathname separator *only* when invoking
    shorten, not when you are issuing normal DOS commands.


    Gruß

  • Konsoleprogramme einbinden

    • Greenhorn
    • 11. Februar 2007 um 16:00

    peethebee & th.meger

    shorten ist ein Kommandozeilentool um .wav Dateien verlustfrei in .shn Dateien zu komprimieren.

    Dafür möchte ich nun gern eine GUI erstellen. :rofl:

    Wenn ich jetzt einen der Befehle (die im Code mit ";" ) ausführe, dann sehe ich nur das Konsolenfenster aufblitzen..., so oft wie die Schleife eben durchläuft, aber es passiert nichts !

    Die shorten.exe befindet sich in meiner Script Directory und nicht im WINDOWS Ordner !!

    Würde ich jetzt eine *.cmd schreiben mit den entsprechenden Befehlen ( "shorten Track 01.wav", bzw. "shorten -x Track 01.shn" ) und würde die .cmd & die shorten. exe in den Ordner kopieren in dem die AudioFiles (".wav", bzw. ".shn", dann fuktionuckelt es.

    Aber wie gesagt, ich möchte nun ein GUI Programm erstellen, welches mir die Arbeit eine *.cmd zu schreiben erspart. ;)

    Bei WinUHA funzt es ja schließlich auch, und das ist ja eigentlich das gleiche Prinzip !

  • Konsoleprogramme einbinden

    • Greenhorn
    • 11. Februar 2007 um 15:31

    Hmmm,

    irgendwas mache ich falsch ! :irre:


    Code:

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.2.2.0
    Author: myName

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

    Script Function:
    WinShorten a GUI for Shorten

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

    #ce ----------------------------------------------------------------------------

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

    #include <GuiConstants.au3>
    #include <GUIList.au3>

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

    Dim $Array

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

    GuiCreate("WinShorten", 634, 419,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))

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

    $Group_1 = GuiCtrlCreateGroup("Dateien auswählen", 20, 30, 580, 270)
    $Add = GuiCtrlCreateButton("Hinzufügen", 490, 70, 90, 30)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $Del = GuiCtrlCreateButton("Entfernen", 490, 140, 90, 30)
    $List = GuiCtrlCreateList("", 60, 60, 370, 214)
    $Group_2 = GuiCtrlCreateGroup("", 20, 310, 180, 100)
    $Compress = GuiCtrlCreateRadio("Komprimieren", 30, 330, 100, 20)
    $Extract = GuiCtrlCreateRadio("Extrahieren", 30, 370, 100, 20)
    $Start = GuiCtrlCreateButton("Start", 500, 320, 100, 30)
    $Cancel = GuiCtrlCreateButton("Abbrechen", 500, 370, 100, 30)

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

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $Add
    $message = "Hold down Ctrl or Shift to choose multiple files."
    $var = FileOpenDialog($message, @DesktopDir & "\", "(*.wav)", 1 + 4 )
    If @error Then
    MsgBox(4096,"","No .wav File(s) chosen")
    Else
    $Array = StringSplit($var, "|")
    For $i = 2 To UBound($Array)-1
    $File = $Array[$i]
    GUICtrlSetData($List, $File)
    Next
    EndIf
    Case $msg = $Del
    $chosen = _GUICtrlListSelectedIndex($List)
    _GUICtrlListDeleteItem($List, $chosen)
    Case $msg = $Compress
    $c = ""
    Case $msg = $Extract
    $c = "-x "
    Case $msg = $Start
    $tmp = $Array[1]
    $Path = StringRegExpReplace($tmp, "\\", "/")
    For $i = 2 To UBound($Array)-1
    ;ShellExecuteWait("shorten.exe ", $c & $Path & "/" & $Array[$i])
    ;RunWait("shorten.exe " & $c & $Path & "/" & $Array[$i])
    ;RunWait(@ComSpec & " /c " & "shorten " & $c & $Path & "/" & $Array[$i], "", @SW_MAXIMIZE)
    Next
    Case $msg = $Cancel
    ExitLoop
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd
    Exit

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

    Syntax:

    Spoiler anzeigen

    Case 1
    ======

    If you are shortening files in the current directory, you can simply issue a
    command similar to this:

    C:\> shorten track01.wav


    Case 2
    ======

    Now suppose your .wav's are in a different directory than the current directory
    you are in, but they are on the same drive (drive C: for instance). Then you
    can specify where they are in one of two ways.

    1. Example using a relative path to get to them:

    C:\> shorten ../disc2/track01.wav

    2. Example using an absolute path to get to them:

    C:\> shorten c:/other/directory/track01.wav

    or:

    C:\> shorten /cygdrive/c/other/directory/track01.wav


    Case 3
    ======


    Finally, suppose the .shn's you want to extract are on a completely different
    drive. Then you need to specify the drive letter, as well as the path to the
    files, similar to the following:

    C:\> shorten -x d:/directory/on/this/drive/track01.shn

    or:

    C:\> shorten -x /cygdrive/d/directory/on/this/drive/track01.shn


    You can easily avoid having to remember to do any of this, however, if you
    always change to the desired directory before running shorten. Taking the
    example from Case 3, this is how you would go about doing this:

    C:\> d:
    D:\> cd directory\on\this\drive
    D:\directory\on\this\drive> shorten -x track01.shn

    Note that you use forward slashes as a pathname separator *only* when invoking
    shorten, not when you are issuing normal DOS commands.


    :help: :weinen:


    Wäre für nochmalige Hilfestellung dankbar !

  • GUI -> mehrere Dateien und/oder Ordnerinhalt importieren

    • Greenhorn
    • 10. Februar 2007 um 23:58

    Vielen Dank BugFix ! :kiss:

    Habe in der Hilfe gelesen, dass man mit FileOpenDialog auch mehrere Dateien auswählen kann... :hammer:

    Ich lasse das Thema esrtmal offen, falls noch Probleme auftreten sollten...


    Gruß

  • GUI -> mehrere Dateien und/oder Ordnerinhalt importieren

    • Greenhorn
    • 10. Februar 2007 um 23:26

    Hi snoozer,

    Ich möchte .wav Dateien mit shorten in .shn dateien konvertieren.

    shorten ist ein Kommandozeilentool um .wav Dateien verlustfrei zu komprimieren..., dafür möchte ich nun eine GUI erstellen !


    Gruß

  • GUI -> mehrere Dateien und/oder Ordnerinhalt importieren

    • Greenhorn
    • 10. Februar 2007 um 23:08

    Moin,

    ich bin's nur... :rofl:

    Ich möchte eine GUI erstellen, oder besser gesagt bin gerade dabei eine zu erstellen.

    Nun möchte ich Dateien bestimmter Art, sagen wir mal .wav-Dateien, auswählen um sie dann zu verarbeiten.
    Soweit, so gut.
    Jetzt möchte ich mit der GUI Ordner auswählen können, die besagte .wav-Dateien enthalten. Und/oder ich möchte mehrere Dateien auf einmal auswählen und importieren um sie dann nacheinander zu verarbeiten.

    Beispiel 1:

    Ordner "Musik" enthält mehrere .wav Dateien.

    Nun möchte ich, dass alle .wav Dateien aus diesem Ordner nacheinander von meinem Proggie abgearbeitet werden.

    Beispiel 2:

    Ordner "Musik" enthält mehrere .wav Dateien.

    Nun möchte ich alle oder mehrere Dateien in diesem Ordner markieren und diese sollen dann nacheinander von meinem Proggie abgearbeitet werden.


    Versteht ihr..., wenn ich mit FileOpenDialog arbeite, kann ich, soweit ich weiß nur eine Datei auswählen.

    Ich möchte aber mehrere Dateien auswählen, diese sollen dann in der GUI aufgelistet werden.


    Könnt ihr mir bitte irgendwie ansatzweise helfen ?
    Welche Befehle kommen dafür in Frage, oder gibt es hier irgendwo ein Bsp-Script ?

    Ich hoffe ich verlange nicht zuviel von euch... :help:


    Gruß

  • Konsoleprogramme einbinden

    • Greenhorn
    • 7. Februar 2007 um 22:37

    Vielen Dank, wenn ich euch nicht hätte... :kiss:

    Und was ist das besagte /k aus der Hilfe..., und welche kommandos gibt es noch ? (*liebfrag*)

  • Konsoleprogramme einbinden

    • Greenhorn
    • 7. Februar 2007 um 21:30

    Danke euch allen,
    aber kann mir jemand genauer erklären wie @ComSpec funktioniert ?

    Was bedeutet "/c" und das andere... Die Hilfe ist hierzu ziemlich dürftig !

  • Konsoleprogramme einbinden

    • Greenhorn
    • 7. Februar 2007 um 21:17

    peethebee

    Hab's mit ShellExecute versucht => Datei/Pfad konnte nicht gefunden werden oder existiert nicht !

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $maingui = "WinUPX - The Ultimate Packer for eXecutables"
    GUICreate( $maingui, 600, 400, -1, -1)

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

    Global $defaultstatus = "Ready"
    Global $status

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

    $filemenu = GUICtrlCreateMenu ("&Datei")
    $fileitem = GUICtrlCreateMenuitem ("Öffnen",$filemenu)
    GUICtrlSetState(-1,$GUI_DEFBUTTON)
    $helpmenu = GUICtrlCreateMenu ("?")
    $saveitem = GUICtrlCreateMenuitem ("Speichern",$filemenu)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $infoitem = GUICtrlCreateMenuitem ("Info",$helpmenu)
    $exititem = GUICtrlCreateMenuitem ("Beenden",$filemenu)
    $recentfilesmenu = GUICtrlCreateMenu ("Zuletzt",$filemenu,1)

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

    $separator1 = GUICtrlCreateMenuitem ("",$filemenu,2) ; create a separator line

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

    $viewmenu = GUICtrlCreateMenu("Ansicht",-1,1) ; is created before "?" menu
    $viewstatusitem = GUICtrlCreateMenuitem ("Statusbar",$viewmenu)
    GUICtrlSetState(-1,$GUI_CHECKED)
    $okbutton = GUICtrlCreateButton ("OK",50,130,70,20)
    GUICtrlSetState(-1,$GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton ("Abbrechen",180,130,70,20)

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

    $statuslabel = GUICtrlCreateLabel ($defaultstatus,0,364,600,16,BitOr($SS_SIMPLE,$SS_SUNKEN))

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

    $checkCN = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
    $Input = GUICtrlCreateInput ("", 10, 35, 300, 20)
    $decompress = GUICtrlCreateRadio ("Datei entpacken", 10, 70)
    $compress = GUICtrlCreateRadio ("Datei packen", 10, 100)
    $browse = GUICtrlCreateButton ("Durchsuchen...", 340, 35, 90, 20)

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

    GUISetState ()
    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $browse
    $file = FileOpenDialog("Datei auswählen...",@MyDocumentsDir,"Executables (*.exe)")
    $datei = FileGetShortName($file)
    MsgBox(0, "TT", $datei)
    $tmp = FileOpen("Temp.txt", 2)
    FileWrite($tmp, $datei)
    FileChangeDir($tmp)
    Case $msg = $fileitem
    $file = FileOpenDialog("Datei auswählen...",@DesktopCommonDir,"Executables (*.exe)")
    Case $msg = $viewstatusitem
    If BitAnd(GUICtrlRead($viewstatusitem),$GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($viewstatusitem,$GUI_UNCHECKED)
    GUICtrlSetState($statuslabel,$GUI_HIDE)
    Else
    GUICtrlSetState($viewstatusitem,$GUI_CHECKED)
    GUICtrlSetState($statuslabel,$GUI_SHOW)
    EndIf
    Case $msg = $decompress
    $option = "-d"
    Case $msg = $okbutton
    $Exec = ShellExecute ("upx.exe ", "-d " & $datei)
    If $Exec <> 1 Then MsgBox(4096, "error", "error")
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton Or $msg = $exititem
    ExitLoop
    Case $msg = $infoitem
    Msgbox(64,"Info","Nur ein Test...")
    EndSelect
    WEnd
    GUIDelete()

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

    Exit

    [/autoit]
  • Konsoleprogramme einbinden

    • Greenhorn
    • 7. Februar 2007 um 20:58

    Moin,

    ich möchte für ein Kommandozeilen-Programm eine GUI erstellen.

    Wie muss ich nun das Kommandozeilen-Programm ansprechen..., also mit Befehlen, Optionen usw. ?

    Muss ich mit @ComSpec arbeiten ?

    Wenn ich z.B. Run("upx.exe"," -d " & $Pfad) benutze, passiert nichts... :irre:


    Gruß

  • _FileWriteFromArray

    • Greenhorn
    • 5. Februar 2007 um 17:37

    GtaSpider

    Vielen Dank, aber ich habe vor ein paar Wochen ein Script geschrieben in dem die Variable funzt...

    Spoiler anzeigen
    [autoit]


    Dim $RegScript = FileOpen($regdest, 2)

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

    ; Funktion Pfade im Script ändern
    Func PathReplace()
    Dim $arFile

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

    If _FileReadToArray($RegScript, $arFile) = 0 Then
    MsgBox(0, 'Achtung', "Datei konnte nicht eingelesen werden!")
    Exit
    EndIf
    $Replace = '@WorkingDir & "'
    $Path = "[A-Z]" & ":" & "\\" & "Programme"
    For $i = 1 To UBound($arFile) - 1
    $Line = $arFile[$i]
    $vRes = StringRegExp($Line, $Path, 1)
    If @extended Then $arFile[$i] = StringRegExpReplace($Line, '"' & $Path, $Replace)
    Next
    _FileWriteFromArray($RegScript, $arFile,1)
    EndFunc ;==>PathReplace

    [/autoit]

    Gruß

  • _FileWriteFromArray

    • Greenhorn
    • 5. Februar 2007 um 17:03

    Hi,

    Was ist denn hierdran schon wieder falsch ??? :irre:

    Wenn ich bei der Funktion _FileWriteFromArray den direkten Pfad angebe funzt es, wenn ich das Filehandle nehme bleibt "Test.usd" leer

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>
    #include <String.au3>

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

    Dim $ArFile, $Dest = FileOpen(@MyDocumentsDir & "\Test.usd", 2)

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

    If _FileReadToArray(@MyDocumentsDir & "\Tut.usd", $ArFile)= -1 Then
    MsgBox(0, "Error", "Datei konnte nicht eingelesen werden !")
    EndIf

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

    For $i=1 To UBound($ArFile)-1
    $tmp = $ArFile[$i]
    If StringInStr($tmp, "/url") Then
    $ArFile[$i] = StringRegExpReplace($tmp, "[][]"& "(/url)" & "[][]", "")
    EndIf
    Next

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

    _FileWriteFromArray($Dest, $ArFile,1)
    ;FileClose($Dest)
    Exit

    [/autoit]

    Gruß

  • Array Problem...

    • Greenhorn
    • 28. Januar 2007 um 20:02

    So geht's...

    Spoiler anzeigen
    [autoit]

    _ArrayAdd($arTemp, "")
    $arTemp[0] = UBound($arTemp)

    For $i = 1 To UBound($arTemp)-1
    $tmp0 = $arTemp[$i]
    $tmp1 = $tmp0 & "\"
    $Pos = _ArraySearch($arTemp, $tmp1, 0, 0, 0, True)
    Select
    Case $Pos = -1
    FileWriteLine($UnRegScript, 'RegDelete("' & $tmp0 & '")')
    Case Else
    If $tmp1 = "\" Then ExitLoop
    $v = _ArrayDelete($arTemp, $Pos)
    $i = $i-1
    EndSelect
    Next
    FileWriteLine($UnRegScript, "; EndFunc")
    FileClose($pfadRead)
    FileDelete(@TempDir & "\Temp.txt")

    [/autoit]

    Vielen Dank für die Hilfe !!!


    Gruß

  • Array Problem...

    • Greenhorn
    • 28. Januar 2007 um 19:16

    BugFix


    Hilfe:
    #include <Array.au3>
    _ArraySearch ( $avArray, $vWhat2Find, $iStart = 0, $iEnd = 0, $iCaseSense = 0, $fPartialSearch = False )


    $fPartialSearch (Optional) If set to True then executes a partial search. If omitted it is set to False


    Der Inhalt von $arTemp wurde aus einer Textdatei gelesen, bevor ich die Idee mit der ersten Schleife (Zeilen 21 bis 28 ) hatte und da hat es noch funktionert

  • Array Problem...

    • Greenhorn
    • 28. Januar 2007 um 18:17

    Habe ich gemacht, ist alles o.k., so wie ich es haben will...

    Spoiler anzeigen


    [Blockierte Grafik: http://xs411.xs.to/xs411/07040/ar.png]

  • Array Problem...

    • Greenhorn
    • 28. Januar 2007 um 17:42

    Hi,

    ich bin' nur..., mal wieder ! :rofl:

    Habe mal wieder 'nen Knoten im Hirn ! :hammer: :hammer:

    Was ist an diesem Code denn nun schon wieder falsch... :hm:

    Bis zur zweiten For ... Next Schleife läuft alles gut...

    Bei der zweiten For ... Next Schleife kommt zur Zeile 33: $tmp = $arTemp[$i] die Fehlermeldung ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    Spoiler anzeigen
    [autoit]

    Func Unregister()
    #include <File.au3>
    #include <String.au3>
    #include <Array.au3>

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

    $RegASCI = StringReplace(FileGetShortName($regsource), ".reg", ".old")
    RunWait(@ComSpec & " /c type " & FileGetShortName($regsource) & ">" & $RegASCI, @MyDocumentsDir, @SW_HIDE)
    FileCopy($RegASCI, $regsource, 1)
    FileDelete($RegASCI)

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

    Dim $arFile, $str, $v, $tmp
    Dim $pfadRead = FileOpen($regsource, 0)
    Dim $arTemp[1]

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

    FileWriteLine($UnRegScript, "; Func Unregister()")

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

    If _FileReadToArray($regsource, $arFile) = 0 Then
    MsgBox(0, 'Achtung', "Datei konnte nicht eingelesen werden!")
    Exit
    EndIf
    For $i = 1 To UBound($arFile)-1
    $tmp = $arFile[$i]
    $vResult = StringRegExp($tmp, "[][]", 1)
    If @extended Then
    $keyname = StringRegExpReplace($tmp, "[][]", "")
    _ArrayAdd($arTemp, $keyname)
    EndIf
    Next

    $arTemp[0] = UBound($arTemp)

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

    For $i = 1 To UBound($arTemp)-1
    $tmp = $arTemp[$i]
    $tmp1 = $tmp & "\"
    $Pos = _ArraySearch($arTemp, $tmp1, 0, 0, 0, True)
    Select
    Case $Pos = -1
    FileWriteLine($UnRegScript, 'RegDelete("' & $tmp & '")')
    Case Else
    If $tmp1 = "\" Then ExitLoop
    $v = _ArrayDelete($arTemp, $Pos)
    $i = $i - 1
    EndSelect
    Next
    FileWriteLine($UnRegScript, "; EndFunc")
    FileClose($pfadRead)
    FileDelete(@TempDir & "\Temp.txt")
    EndFunc ;==>Unregister

    [/autoit]

    Gruß

  • Leere Zeilen aus Text-Array löschen...

    • Greenhorn
    • 26. Januar 2007 um 23:55

    Prima, so klappt's ! :party3:

    Danke, ihr Beiden ! Ich bin heilfroh dass es euch gibt :kiss:


    Gruß

  • Leere Zeilen aus Text-Array löschen...

    • Greenhorn
    • 26. Januar 2007 um 23:21

    Salute,

    ich möchte ein Text File als Array einlesen, alle leeren Zeilen entfernen und das Array dann weiter bearbeiten...

    Beim Löschen treten schon die ersten Fehler auf, gut was... ?

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>
    #include <String.au3>

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

    Dim $aSource

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

    If _FileReadToArray("D:\Eigene Dateien\Register-1.reg", $aSource) = 0 Then
    MsgBox(0, 'Achtung', "Datei konnte nicht eingelesen werden!")
    Exit
    EndIf
    _ArrayDisplay($aSource, "before...")
    $Pos = _ArraySearch ($aSource, "", 0, 0, 0, True)
    If $Pos <> -1 Then _ArrayDelete($aSource, $Pos)
    _ArrayDisplay($aSource, "after !")

    [/autoit]

    Was läuft da verkehrt ??? :irre:


    Gruß

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™