GUI anfänger frage

  • hallo leute ich möchte eine CSV to ICS vonverter schreiben. das ganze ist glaube ich nicht so das problem.
    Ich möchte das ganze über eine GUI machen aber dafür brauchte ich einen Button der mir den PFAD zu der CSV ausgibt also z.b solch einen DURCHSUCH BUTTON.

    ist das möglich per AutoIT GUI?
    Vielen lieben dank für eure bemühungen

    Einmal editiert, zuletzt von ParTy (15. Juli 2008 um 10:24)

  • vielen dank für die schnelle antwort. jetzt habe ich aber noch eine kleine frage

    die Werte in der CSV sind jeweils von "" eingeschlossen. jetzt kann ich diese zwar mittels:

    [autoit]


    StringReplace($ar2CSV[$n],'"','')

    [/autoit]


    ersetzen aber wenn es in der CSV einen fall gibt z.b : "dies ist ein "Test" haha" dann ersetzt es mir diese beim test auch... jetzt ist meine frage kann ich nur das erste " und das letzte " wegnehmen??

    vielen dank für eure bemühungen


    edit: gleich noch eine frage an unseren array king :D

    wenn ich die CSV auslesen dann hab ich in der ersten Zeile die beschreibung von den Feldern.
    wenn ich diese dann per _ArrayDisplay ausgebe dann steht ja oben in der legenede row[Zahl] und dann Col 0, Col1, balblabla kann man dort auch irgendwie die erste Zeile von dem Array auslesen dann die legende dann meine erste zeile aus der CSV ist?

    Einmal editiert, zuletzt von ParTy (3. Juli 2008 um 14:29)

    • Offizieller Beitrag

    Wenn es das erste bzw. letzte Zeichen des Strings ist, kannst du es mit StringTrimLeft() und StringTrimRight() abschneiden.
    Ist in dem String noch mehr kannst du die Position mit StringInString() bestimmen. (erstmaliges Auftreten von links oder rechts, Flag 1/-1).
    Dann kannst du mit den anderen Stringoperationen selektieren (StringMid).

  • danke mittels StringTrimLeft() und Right klappt es.
    hast du auch eine lösung für mein CSV Legende Zeilen problem? ist das machbar?

    • Offizieller Beitrag

    Um in das vorhandene Array deine Legende einzufügen, brauchst du nur das Array um eine Zeile vergrößern

    [autoit]

    ReDim $Array[UBound($Array)+1][x]

    [/autoit]


    Dann schreibst du die Einträge aus Index0 an die letzte Position

    [autoit]

    For $i = 0 To Ubound($Array,2) -1
    $Array[UBound($Array)-1][$i] = $Array[0][$i]
    Next

    [/autoit]


    Und jetzt die Einträge der Legende an Index0

    [autoit]

    For $i = 0 To Ubound($Array,2) -1
    $Array[0][0] = 'Legende für diese Spalte'
    $Array[0][1] = 'Legende für diese Spalte' ; usw.
    Next

    [/autoit]
  • ich glaub das kam in meinem Beitrag nicht richtig rüber sry. also ich hab bereits eine legende in dem Array nur wenn ich das ganze mittels

    _DisplayArray oder wie der Befehl heist ausgebe dann steht ganz oben (Button) Row col0 col1 col2 und so weiter das ist von der funktion aus so
    nun wollte ich wissen ob man da auch ändern kann das dort meine legende steht :)

  • Ok danke das hat geklappt jetzt aber eine allgemeine Array Frage lesen ja eine CSV datei aus und möchte den Inhalt dann auch dem User zeigen.

    [autoit]


    #include <Array.au3>
    #include <File.au3>
    Dim $arCSV
    $csvFile = "UNI.csv"
    _FileReadToArray($csvFile, $arCSV)

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

    For $i = 1 To $arCSV[0]
    $arCSV[$i] = StringSplit($arCSV[$i], ";")
    $x = $arCSV[$i]
    Next

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

    _ArrayDisplay($x, "$avArray as a 2D array",1)

    [/autoit]

    1. Spalte;2. Spalte;3. Spalte;4. Spalte;5. Spalte... bis 13
    2. Zeile;1. Inhalt;2. Inhalt;3. Inhalt;4. Inhalt...bis 13
    3. Zeile;5. Inhalt;6. Inhalt;7. Inhalt;8. Inhalt...bis 13
    4. Zeile;9. Inhalt;10. Inhalt;11. Inhalt;12. Inhalt...bis 13


    habe rechts 13 spalten und die zeilen kann ich ja nicht fix definieren da diese immer anderst sind von csv zu csv.
    jetzt möchte ich alle einträge mittels ArrayDisplay ausgeben so wie ich es jetzt habe zeit er mir aber nur den letzten an. wie stelle ich das am besten an?

    vielen dank für eure bemühungen