Beiträge von Xenon

    Und so?
    Func ProgDelete()
    $sSelected = GUICtrlRead($lstPrograms)
    For $i = 0 To $iSize -1
    If $aProgram[0][$i] = $sSelected Then
    MsgBox(0, "Löschen", $aProgram[0][$i] & "wurde gelöscht.")
    MsgBox(0, "ID", "Programm: " & $aProgram[0][$i] & @CRLF & "Speicherpfad: " & $aProgram[1][$i] )
    $aProgram[0][$i] = ""
    $aProgram[1][$i] = ""
    Global $iArNr = $i
    _GUICtrlListBox_DeleteString ($hlstPrograms, _GUICtrlListBox_FindInText ($hlstPrograms, $sSelected))
    EndIf
    Next
    EndFunc

    Hallo DasIch,


    also eigentlich benötigst du die Count-Variable in diesem Beispiel nicht:



    Aber es ist praktischer, denn dann kannst du auch vor den Daten aus der Ini schon welche einfügen oder diese öfters auslesen:



    MfG Xenon :)

    Also würde das mit der Ini File so aussehen?


    IniWrite ("programs.ini", "Programme", "Programm", $aProgram[0][$aCounter]&"|")


    IniWrite ("programs.ini", "Programme", "Pfad", $aProgram[1][$aCounter]&"|"


    Nicht ganz, denn dann würde nur der eine Wert der Position $aCounter gespeichert werden und nichts aneinandergehängt, wie ich meinte.


    $aSplitProgram[0][] = IniRead("programs.ini","Programme","Programm")
    $aSplitProgram[0][] = StringSplit($aProgram[$aCounter], "|")


    $aSplitProgram[1][] = IniRead("programs.ini","Programme","Pfad")
    $aSplitProgram[1][] = StringSplit($aProgram[$aCounter], "|")


    Hier stimmt auch schonmal die Grundidee mit IniRead und StringSplit. Jedoch solltest du für StringSplit als ersten Parameter den Text aus der Ini verwenden, denn den möchtest du ja splitten.


    Ich habe dir mal ein Beispiel geschrieben um das Auslesen und Schreiben zu verdeutlichen. Probiere es mal aus und schaue dir den Quelltext mit Kommentaren an. Wenn etwas nicht verständlich ist, dann kannst du gern fragen. ;) Speichere dir aber zum Testen die Ini (im Anhang) im Skriptverzeichnis als Settings.ini damit es klappt und schau sie dir ruhig an.



    MfG Xenon :)

    Hallo DasIch,


    also für Programme in einer Listview hatte ich mir einmal folgende Speicherart ausgedacht:


    Die Pfade werden durch | getrennt aneinander gehängt, ebenso alle Programmnamen.
    Dann lässt sich das wie folgt in einer .ini abspeichern:


    Code
    [Programme]
    Pfade=C:\Pfad1\Programm1|D:\Pfad2\Programm2
    Titel=TitelProgramm1|TitelProgramm2


    Zum Auslesen führst du mit den Pfad- bzw. Titelstring ein StringSplit ($Pfade/Titel, "|") durch und erhältst sie als Array. Das kannst du nun durchlaufen und die Liste erstellen.


    MfG Xenon :)


    Edit:
    Die Pfade und Titel würde ich in einem zweidimensionalen Array speichern. Dadurch ist ein eindeutiger Bezug Pfad - Programm möglich. Bspw. $Array[0][$x] - Programmname; $Array[1][$x] - Pfad.

    Ich würde sagen, das liegt daran, dass du eine Verknüpfung ausführen willst. Versuche doch mal, die Exe-Datei direkt zu starten (Exe geht auch per Run).
    Oder du probierst mal das Skript aus, auf welches ich im 2. Post verwiesen hatte. ;)


    MfG Xenon

    Die Lösung ist, nicht einfach eine Formel hinzukrachen, sondern "Hilfe zur Selbsthilfe"

    Ja, das sehe ich ein, sorry. Ich hätte meine Formel erklären sollen, sonst bringt das echt nichts.


    MfG Xenon

    Hallo liebe Community,


    ich habe ein Skript geschrieben, welches im Hintergrund die Eingabeaufforderung startet (@SW_HIDE) und deren Textausgabe im eigenen CUI-Fenster darstellen soll. Das funktioniert soweit auch ganz gut, jedoch würde ich es auch gerne so machen, dass man die Eingabe des CMD-Befehles direkt in der CUI machen kann. Bisher hatte ich dies durch eine InputBox gelöst, denn in die CUI kann man ja leider nichts reinschreiben.


    Gibt es dafür vielleicht doch eine Möglichkeit?


    Hier mein Code: (Bitte kompilieren, damit die CUI erstellt wird!)


    Für Hilfe wäre ich sehr dankbar!


    MfG Xenon :)

    Vielleicht so?



    MfG Xenon :)

    So könnte es funktionieren:



    MfG Xenon :)