Combobox auslesen mit Textdatei vergleicheun und einen Wert wiedergeben

  • Hallo Leute,
    wollte mich mal auf eine neue Sache stürzen habe aber keine passende Anleitung im Internet gefunden darum frage ich mal hier:
    Und zwar möchte ich in meinen Comboboxen Sachen auswählen, diese mit einer Text Datei vergleichen (In der Textdatei soll eine Liste stehen womit das verglichen wird) und dann am Ende, wenn eine gleiche Auswahl in der Textdatei steht die in der Liste eingetragenen Werte wiedergeben. Vom Sinn her weiß ich wie ich das machen will aber die Ausführung weiß ich nicht. Ich habe sowas auch noch nicht gemacht und wollte es halt mal Lernen.
    Vielleicht weiß jemand eine Seite wo sowas beschrieben ist oder kann mir das so ein bisschen erklären.

    Hier mal mein Script

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Abstimmtool", 323, 499, 192, 124)
    $Group1 = GUICtrlCreateGroup("Setup", 8, 24, 305, 225)
    $Label1 = GUICtrlCreateLabel("Motorblock", 16, 48, 71, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Zylinder", 16, 72, 52, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("Auspuffanlage", 16, 96, 90, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("Vergaser", 16, 120, 60, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Luftfilter", 16, 144, 48, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label6 = GUICtrlCreateLabel("Variator", 16, 168, 51, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label7 = GUICtrlCreateLabel("Riemenscheibe", 16, 192, 99, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label8 = GUICtrlCreateLabel("Kupplung", 16, 216, 60, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Combo1 = GUICtrlCreateCombo("", 160, 48, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Peugeot Horizontal LC|", "Peugeot Horizontal LC")
    $Combo2 = GUICtrlCreateCombo("", 160, 72, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original/Ersatz|Airsal Alu Sport 50|Polini Sport 50|Malossi MHR Replica|MVT Alu 50|Polini Evolution II 50|Malossi 70 Sport|Airsal Alu Sport 70|Airsal Racing T6|Polini Alu 70|Malossi MHR Racing 70", "Original/Ersatz")
    $Combo3 = GUICtrlCreateCombo("", 160, 96, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Stage6 Street|Gianelli Go|Tecnigas Silent Pro|Naraku Traffic|LeoVince ZX|LeoVince ZX-R|LeoVinde TT|Stage6 PRO Replica|Tecnigas Next-R|Tecnigas Trek|Tecnigas Triops|Tecnigas Q-Tre Sport|Tecnigas RS II|Yasuni R|Laser XPro|Doppler RR-7|Doppler S3r|Gianelli Extra|Gianelli Rekord|Roost P70H|LeoVince GP", "Original")
    $Combo4 = GUICtrlCreateCombo("", 160, 120, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|17,5mm|19mm|21mm|24mm|28mm|30mm|32mm", "Original")
    $Combo5 = GUICtrlCreateCombo("", 160, 144, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Sport/Racing", "Original")
    $Combo7 = GUICtrlCreateCombo("", 160, 192, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Stage6", "Original")
    $Combo8 = GUICtrlCreateCombo("", 160, 216, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Sport/Racing", "Original")
    $Combo6 = GUICtrlCreateCombo("", 160, 168, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Motorforce Racing|Stage6 Sport Pro|Naraku Sport|Toxik Ultimate|Polini Hi-Speed|Malossi Multivar|Pamakit Sport|Hebo Next Generation|Polini SpeedControl", "Original")
    $Button1 = GUICtrlCreateButton("Abstimmen", 16, 256, 169, 49)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("Beenden", 240, 256, 65, 57)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Group2 = GUICtrlCreateGroup("Abstimmung", 8, 328, 305, 105)
    $Label9 = GUICtrlCreateLabel("Hauptdüse", 16, 352, 70, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label10 = GUICtrlCreateLabel("Variomatikgewichte", 16, 376, 121, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label11 = GUICtrlCreateLabel("Kupplungsfedern", 16, 400, 105, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label12 = GUICtrlCreateLabel("", 192, 352, 108, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label13 = GUICtrlCreateLabel("", 192, 376, 108, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label14 = GUICtrlCreateLabel("", 192, 400, 108, 20)
    GUICtrlSetFont(-1, 6, 400, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $Button1

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

    EndSelect
    WEnd

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

    Also noch mal zur Erklärung:
    1. Ich öffne mein Programm und wähle irgendwelche Sachen in den Comboboxen aus.
    2. Ich drücke auf "Abstimmen".
    3. Das Programm soll in einer Textdatei nach der ausgewählten Variante in den Comboboxen suchen.
    4. Ist diese Variante vorhanden, soll in den 3 Labeln unten Zahlen (die in der Liste in der Textdatei stehen) eingefügt werden.

    Ich hoffe ich konnte es verständlich erklären :)

    Für Hilfe oder Erklärung wäre ich sehr Dankbar :)

    EDIT
    So sollte die txt Datei aufgebaut sein:

    Spoiler anzeigen


    Liste 2

    Spoiler anzeigen


    Liste 3

    Spoiler anzeigen

    4 Mal editiert, zuletzt von Darkhunter566 (31. Mai 2013 um 16:54)

  • Und wo ist die ominöse Textdatei? Solange wir nicht wissen wie diese aufgebaut ist kann man dir nicht wirklich weiterhelfen.
    Für den Anfang kannst du dir schonmal diese Befehle anschauen, da du diese wohl aufjedenfall brauchst, egal wie die textdatei nun aufgebaut ist:

    [autoit]


    guictrlread(...)
    _filereadtoarray(...)
    _arraysearch(...) ; oder eben allgemein der Umgang mit Arrays und Schleifen

    [/autoit]

    EDIT:
    Da die Frage aber wohl immernoch die Selbe ist hättest du dein Anliegen auch in deinem anderen Thread nochmals wie dir nahegelegt wurde ordentlich beschreiben können: https://autoit.de/index.php?page=Thread&amp;threadID=40602

    Einmal editiert, zuletzt von misterspeed (21. Mai 2013 um 17:48)

  • Habe mal bisschen das auslesen der Textdatei mir angeschaut und habe bis jetzt das hier hinbekommen

    Spoiler anzeigen
    [autoit]

    local $datei, $zeile

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

    $zeile = 1

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

    $stop = 0

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

    $datei = FileOpen("C:\auslesen.txt", 0)

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

    while 1

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

    $zeile = FileReadLine($datei)
    Sleep(100)
    if $zeile = "" Then
    ExitLoop
    EndIf
    if $stop >= 10 Then
    ExitLoop
    EndIf

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

    MsgBox(0, "Hinweis", $zeile)

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

    $zeile = $zeile +1
    $stop = $stop + 1
    Sleep(500)
    WEnd

    [/autoit]

    Kann ich damit weiter machen oder bin ich auf einen falschen Weg ?

    Einmal editiert, zuletzt von Darkhunter566 (23. Mai 2013 um 15:06)

  • Umgekehrt, aus einer Datei Zahlen auslesen und dann in die Combobox einfügen kann ich.
    Habe mir da folgenden Script für zusammen gestellt:

    Spoiler anzeigen
    [autoit]

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    $Form1 = GUICreate("Form1", 189, 155, 192, 124)
    $hCombo = GUICtrlCreateCombo("", 24, 16, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUISetState(@SW_SHOW)

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

    Local $i = 1
    $sRead = FileReadLine("auslesen.txt", $i)
    While $sRead <> ""
    $sRead = FileReadLine("auslesen.txt", $i)
    $aData = StringSplit($sRead, "|")
    If $aData[0] = 3 Then
    GUICtrlSetData($hCombo, $aData[1], $i)
    $i += 1
    EndIf
    WEnd

    [/autoit]

    Ich weiß halt nur nicht wie ich es anstelle, den Inhalt der Combobox auszulesen (Comboboxinhalt kann ich auslesen) und den Inhalt dann mit der Datei3 zu vergleichen und wenn das ausgewählte in der Datei vorhanden ist, mit der SetupNR in der Datei2 die dazugehörigen Zahlen raus zu suchen und die dann auf ein Label schreiben.

  • Vorgehensweise wurde mir gesagt das ich es so machen soll/muss:
    Auslesen: GUICtrlRead; Mit Datei3 vergleichen: Schleife mit FileReadLine; Bei richtiger Zeile SetupNR auslesen: StringRegExp; SetupNR mit Datei2 vergleichen: Schleife mit FileReadLine

    Habe das dann angefangen aber irgendwie klappt es nicht... Was mache ich falsch?..

    Spoiler anzeigen
    [autoit]

    Func dateilesen()
    Local $file = FileOpen("Liste 3.txt")
    While 1
    $a = GUICtrlRead($Combo1)
    $b = GUICtrlRead($combo2)
    $c = GUICtrlRead($combo3)
    $d = GUICtrlRead($combo4)
    $e = GUICtrlRead($combo5)
    $f = GUICtrlRead($combo6)
    $g = GUICtrlRead($combo7)
    $h = GUICtrlRead($combo8)
    $j = StringInStr (FileReadLine($file),$a&"|"&$b&"|"&$c&"|"&$d&"|"&$e&"|"&$f&"|"&$g&"|"&$h&"|")
    If $j Then
    MsgBox(0, "Test","Test OK")
    Else
    MsgBox(0,"Test","Test nicht OK")
    EndIf
    WEnd
    FileClose($file)
    EndFunc

    [/autoit]
  • Update:

    Script:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Abstimmtool", 323, 499, 192, 124)
    $Group1 = GUICtrlCreateGroup("Setup", 8, 24, 305, 225)
    $Label1 = GUICtrlCreateLabel("Motorblock", 16, 48, 71, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Zylinder", 16, 72, 52, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("Auspuffanlage", 16, 96, 90, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("Vergaser", 16, 120, 60, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Luftfilter", 16, 144, 48, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label6 = GUICtrlCreateLabel("Variator", 16, 168, 51, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label7 = GUICtrlCreateLabel("Riemenscheibe", 16, 192, 99, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label8 = GUICtrlCreateLabel("Kupplung", 16, 216, 60, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Combo1 = GUICtrlCreateCombo("", 160, 48, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Peugeot Horizontal LC|", "Peugeot Horizontal LC")
    $Combo2 = GUICtrlCreateCombo("", 160, 72, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original/Ersatz|Airsal Alu Sport 50|Polini Sport 50|Malossi MHR Replica|MVT Alu 50|Polini Evolution II 50|Malossi 70 Sport|Airsal Alu Sport 70|Airsal Racing T6|Polini Alu 70|Malossi MHR Racing 70", "Original/Ersatz")
    $Combo3 = GUICtrlCreateCombo("", 160, 96, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Stage6 Street|Gianelli Go|Tecnigas Silent Pro|Naraku Traffic|LeoVince ZX|LeoVince ZX-R|LeoVinde TT|Stage6 PRO Replica|Tecnigas Next-R|Tecnigas Trek|Tecnigas Triops|Tecnigas Q-Tre Sport|Tecnigas RS II|Yasuni R|Laser XPro|Doppler RR-7|Doppler S3r|Gianelli Extra|Gianelli Rekord|Roost P70H|LeoVince GP", "Original")
    $Combo4 = GUICtrlCreateCombo("", 160, 120, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|17,5mm|19mm|21mm|24mm|28mm|30mm|32mm", "Original")
    $Combo5 = GUICtrlCreateCombo("", 160, 144, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Sport/Racing", "Original")
    $Combo7 = GUICtrlCreateCombo("", 160, 192, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Stage6", "Original")
    $Combo8 = GUICtrlCreateCombo("", 160, 216, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Sport/Racing", "Original")
    $Combo6 = GUICtrlCreateCombo("", 160, 168, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Original|Motorforce Racing|Stage6 Sport Pro|Naraku Sport|Toxik Ultimate|Polini Hi-Speed|Malossi Multivar|Pamakit Sport|Hebo Next Generation|Polini SpeedControl", "Original")
    $Button1 = GUICtrlCreateButton("Abstimmen", 16, 256, 169, 49)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("Beenden", 240, 256, 65, 57)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Group2 = GUICtrlCreateGroup("Abstimmung", 8, 328, 305, 105)
    $Label9 = GUICtrlCreateLabel("Hauptdüse", 16, 352, 70, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label10 = GUICtrlCreateLabel("Variomatikgewichte", 16, 376, 121, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label11 = GUICtrlCreateLabel("Kupplungsfedern", 16, 400, 105, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label12 = GUICtrlCreateLabel("", 192, 352, 108, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label13 = GUICtrlCreateLabel("", 192, 376, 108, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label14 = GUICtrlCreateLabel("", 192, 400, 108, 20)
    GUICtrlSetFont(-1, 6, 400, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $Button1
    _ReadFile()

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

    EndSelect
    WEnd

    Func _ReadFile()
    Local $hFile = FileOpen("Liste 3.txt")
    Local $sSearch, $iMatchLine, $sCurrentLine, $iCurrentLine
    ;Searchstring zusammenbauen
    $sSearch &= GUICtrlRead($combo1) & "|"
    $sSearch &= GUICtrlRead($combo2) & "|"
    $sSearch &= GUICtrlRead($combo3) & "|"
    $sSearch &= GUICtrlRead($combo4) & "|"
    $sSearch &= GUICtrlRead($combo5) & "|"
    $sSearch &= GUICtrlRead($combo6) & "|"
    $sSearch &= GUICtrlRead($combo7) & "|"
    $sSearch &= GUICtrlRead($combo8) & "|"

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

    $iCurrentLine = 1 ;Zeile 1 -> Anfang
    $iMatchLine = 0

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

    While True
    $sCurrentLine = FileReadLine($hFile)
    If @error Then ExitLoop
    If StringInStr($sCurrentLine, $sSearch) Then
    $iMatchLine = $iCurrentLine
    ExitLoop
    EndIf
    $iCurrentLine += 1 ;Zeilennummer erhöhen.
    $sCurrentLine = "" ;Zurücksetzen wegen dem Ergebnis-Handling
    WEnd
    $sID = StringReplace($sCurrentLine, $sSearch, "")
    FileClose($hFile)
    Msgbox(0,"Test","haha" & $sID)
    _ReadFile1($sID)

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

    EndFunc ;==>_ReadFile

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

    Func _ReadFile1($sID)
    Local $hFile1 = FileOpen("Liste 2.txt")
    Local $sSearch, $iMatchLine, $sCurrentLine, $iCurrentLine
    $sSearch = $sID
    $iCurrentLine = 1 ;Zeile 1 -> Anfang
    While True
    $sCurrentLine = FileReadLine($hFile1)
    If @error Then ExitLoop
    If StringInStr($sCurrentLine, $sSearch) Then
    $iMatchLine = $iCurrentLine
    ExitLoop
    EndIf
    $iCurrentLine += 1 ;Zeilennummer erhöhen.
    $sCurrentLine = "" ;Zurücksetzen wegen dem Ergebnis-Handling
    WEnd
    MsgBox(0, "", "Übereinstimmung in Zeile " & $iMatchLine & " (Zeile 0 -> Keine Übereinstimmung)" & @CRLF & @CRLF & $sCurrentLine)
    FileClose($hFile1)
    EndFunc

    [/autoit]


    Problem: Wenn ich bei

    [autoit]

    $sSearch = $sID

    [/autoit]

    anstatt

    [autoit]

    $sID

    [/autoit]

    eine Zahl (z.b. 3) hinschreibe, bekomme ich am Ende die Werte ausgegeben. Lasse ich es aber so stehen, bekomme ich keine Werte mehr ausgegeben obwohl die oben ausgelesene Zahl für

    [autoit]

    $sID

    [/autoit]

    mit runtergenommen wird und die Zahl an

    [autoit]

    $sSearch

    [/autoit]

    übergibt.
    Zudem ganzen noch... Wie kann ich es jetzt machen das am Ende die Ausgelesenen Ergebnisse aus Liste 2.txt in meinem Programm auf den Label's wie folgt angezeigt werden? Spalte2 --> Label 1 : Spalte3 --> Label 2 : Spalte 4 --> Label 3
    Über Hilfe würde ich mich freuen.


    Liste 2:

    Spoiler anzeigen

    SetupNr|HD|Gewichte|Kullus
    1|54/55|8|Originale Federn
    2|58|7|Stage6 Orange
    3|60|3,6|Hebo Rot
    4|80|6,6|Hebo Rot
    5|60|5,6|Stage6 Rot
    6|60|5,8|Malossi Schwarz
    7|98-102|5,6|Stage6 Rot
    8|98-102|5,6|Stage6 Rot
    9|60|5,5|Malossi Schwarz
    10|60|5,5|Malossi Schwarz
    11|58|7|Mitgelieferten
    12|58|6,25|Malossi Schwarz/Rot
    13|58|5,8|Malossi Gelb
    14|69/71|6,25|Malossi Schwarz/Rot
    15|58|7,25|Stage6 Orange
    16|60|4,9|Polini Gelb/Blau
    17|60|6,5|Naruku Rot
    18|58|6,2|Stage6 Orange
    19|58|5,6|Stage6 Orange
    20|60|4,8|Malossi Schwarz
    21|-/-|7|Naruku Rot
    22|60|5,5|Stage6 Rot
    23|62|6|Stage6 Orange
    24|60|5,5|Polini Gelb
    25|60|6,75|Stage6 Rot
    26|65|8,5|BMG Blau
    27|58|5,8|Malossi Gelb
    28|60|4,9|Polini Gelb/Blau
    29|58|6,5|Polini Blau
    30|60|6,5|Naruku Rot
    31|60|5,5|Malossi Schwarz
    32|60/62|5,5|Malossi Schwarz

    Liste 3:

    Spoiler anzeigen

    Motorblock|Zylinder|Auspuff|Vergaser|Luftfilter|Variomatik|Riemenscheibe|Kupplung|SetupNR
    Peugeot Horizontal LC|Original/Ersatz|Original|Original|Original|Original|Original|Original|1
    Peugeot Horizontal LC|Original/Ersatz|Laser XPro|Original|Original|Original|Original|Original|2
    Peugeot Horizontal LC|Original/Ersatz|Stage6 PRO Replica|Original|Original|Hebo Next Generation|Original|Original|3
    Peugeot Horizontal LC|Airsal Racing T6|Stage6 PRO Replica|21mm|Sport/Racing|Hebo Next Generation|Original|Sport/Racing|4
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Original|Original|Original|5
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Polini SpeedControl|Original|Original|6
    Peugeot Horizontal LC|Airsal Racing T6|Yasuni R|Original|Sport/Racing|Polini|SpeedControl|Original|Sport/Racing|7
    Peugeot Horizontal LC|Airsal Racing T6|Yasuni R|17,5mm|Sport/Racing|Polini SpeedControl|Original|Sport/Racing|8
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas Next-R|Original|Original|Original|Original|Original|9
    Peugeot Horizontal LC|Original/Ersatz|Yasuni R|Original|Original|Original|Original|Original|10
    Peugeot Horizontal LC|Original/Ersatz|LeoVince ZX|Original|Original|Malossi Multivar|Original|Original|11
    Peugeot Horizontal LC|Original/Ersatz|LeoVince ZX|Original|Original|Original|Original|Original|12
    Peugeot Horizontal LC|Original/Ersatz|LeoVince ZX|Original|Original|Polini SpeedControl|Original|Original|13
    Peugeot Horizontal LC|Original/Ersatz|LeoVince ZX|Original|Sport/Racing|Original|Original|Original|14
    Peugeot Horizontal LC|Original/Ersatz|Laser XPro|Original|Original|Malossi Multivar|Original|Original|15
    Peugeot Horizontal LC|Original/Ersatz|Yasuni R|Original|Original|Polini SpeedControl|Original|Original|16
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Malossi Multivar|Original|Original|17
    Peugeot Horizontal LC|Original/Ersatz|LeoVince GP|Original|Original|Original|Original|Original|18
    Peugeot Horizontal LC|Original/Ersatz|LeoVince GP|Original|Original|Polini SpeedControl|Original|Original|19
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Hebo Next Generation|Original|Original|20
    Peugeot Horizontal LC|Malossi 70 Sport|Tecnigas Trek|Original|Original|Original|Original|Original|21
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas Next-R|Original|Original|Polini SpeedControl|Original|Original|22
    Peugeot Horizontal LC|Original/Ersatz|Doppler RR-7|Original|Original|Original|Original|Original|23
    Peugeot Horizontal LC|Original/Ersatz|Yasuni R|Original|Original|Malossi Multivar|Original|Original|24
    Peugeot Horizontal LC|Original/Ersatz|Stage6 PRO Replica|Original|Original|Stage6 Sport Pro|Original|Original|25
    Peugeot Horizontal LC|Malossi 70 Sport|Tecnigas RS II|17,5mm|Original|Malossi Multivar|Original|Original|26
    Peugeot Horizontal LC|Original/Ersatz|LeoVince ZX|Original|Original|Polini SpeedControl|Original|Original|27
    Peugeot Horizontal LC|Original/Ersatz|Yasuni R|Original|Original|Polini SpeedControl|Original|Original|28
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Stage6 Sport Pro|Original|Original|29
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas RS II|Original|Original|Malossi Multivar|Original|Original|30
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas Next-R|Original|Original|Original|Original|Original|31
    Peugeot Horizontal LC|Original/Ersatz|Tecnigas Triops|Original|Original|Original|Original|Original|32

  • Wie kann ich bei dieser Liste aus der ersten Spalte die letzte Zahl auslesen und die dann +1 rechnen und eine Zeile dadrunter wieder hinschreiben?

    Liste

    Spoiler anzeigen

    SetupNr|HD|Gewichte|Kullus
    1|54/55|8|Originale Federn
    2|58|7|Stage6 Orange
    3|60|3,6|Hebo Rot
    4|80|6,6|Hebo Rot
    5|60|5,6|Stage6 Rot
    6|60|5,8|Malossi Schwarz
    7|98-102|5,6|Stage6 Rot
    8|98-102|5,6|Stage6 Rot
    9|60|5,5|Malossi Schwarz
    10|60|5,5|Malossi Schwarz
    11|58|7|Mitgelieferten
    12|58|6,25|Malossi Schwarz/Rot
    13|58|5,8|Malossi Gelb
    14|69/71|6,25|Malossi Schwarz/Rot
    15|58|7,25|Stage6 Orange
    16|60|4,9|Polini Gelb/Blau
    17|60|6,5|Naruku Rot
    18|58|6,2|Stage6 Orange
    19|58|5,6|Stage6 Orange
    20|60|4,8|Malossi Schwarz
    21|-/-|7|Naruku Rot
    22|60|5,5|Stage6 Rot
    23|62|6|Stage6 Orange
    24|60|5,5|Polini Gelb
    25|60|6,75|Stage6 Rot
    26|65|8,5|BMG Blau
    27|58|5,8|Malossi Gelb
    28|60|4,9|Polini Gelb/Blau
    29|58|6,5|Polini Blau
    30|60|6,5|Naruku Rot
    31|60|5,5|Malossi Schwarz
    32|60/62|5,5|Malossi Schwarz

  • Ich bin mal so nett und stelle das hier als Antwort auf deine Frage in der SB (wie man die letzte Zahl einer Zeile auslesen könne) rein.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    $sText = FileRead(@ScriptDir & "\t.txt")

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

    $aRes = StringRegExp($sText, "\|(\d+)\|(?!=\d)", 3)
    _ArrayDisplay($aRes)

    [/autoit]


    Wobei t.txt natürlich durch den Namen deiner Datei ersetzt werden muss in der deine Daten gespeichert sind.
    Der Codeschnipsel liest jeweils die letzte, durch Pipesymbole ("|") abgegrenzte Zahl einer Zeile aus. Es war zwar nur von einer Zeile die Rede, aber jetzt hast du praktisch mehr als du wolltest. ;)

  • (\d+)\|(?!=\d)

    Cool danke :)
    Habe mir daraus jetzt das gemacht was ich brauche :)
    Aber irgendwie bekomme ich es nicht hin, die erste Zahl von der 32 auszulesen...
    Die 32 steht ja in der letzten Zeile... Von der letzten Zeile habe ich jetzt die 2 die ausgelesen wird aber nicht die 3 :o
    Weiß jemand was ich verändern muss damit die 3 auch einzelnd ausgelesen wird ?

    Spoiler anzeigen
    [autoit]

    Local $file = FileOpen(@ScriptDir & "\Liste 2.txt", 1)
    Local $sSearch, $aRet, $aRet1
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf
    $aRet = StringRegExp($file,"\A(\d+)", 3) ;<----- Liest die 2 aus soll aber die 3 auslesen
    MsgBox(0,"Test", $aRet[0])
    $aRet1 = StringRegExp($file,"\A(\d)+", 3) ;<---- Liest die 2 aus
    MsgBox(0,"Test", $aRet1[0])
    FileClose($File)

    [/autoit]