Suchfunktion für Seriennummern!!!
-
Hallo Leute,
Habe einen Hilferuf an euch ausgesendet bitte hilft mir!!!
Ich möchte eine Suchfunktion von Seriennummern programmieren. Dabei sollte es möglich sein, dass die Seriennummer auch Asci Zeichen enthält. Die Suche sollte Nummerisch funktionieren und nicht Zeichen weise Vorgehen.
Beispiele:
Achsverstärker@6532646786 Gerät @ Seriennummer
Das Gerät wird ausgeschlossen da erst nach dem @ gesucht werden soll.
Eine Liste der Seriennummern wäre:Seriennummer: 1 Seriennummer: 2 Seriennummer: 3 Seriennummer: 4 NICHT IM BEREICH Seriennummer: 5 AUSGABE VON Seriennummer: 6 Seriennummer: 7 Seriennummer: 8 Seriennummer: 9 Seriennummer:10 Seriennummer:11 Seriennummer:12 Seriennummer:13 IM BEREICH Seriennummer:26 Seriennummer: 1A Seriennummer: 2A Seriennummer: 1B Seriennummer: 2B Seriennummer: 3B Seriennummer: A1 Seriennummer: A5 Seriennummer: A10 Seriennummer: B1 Seriennummer: B5 Seriennummer: B10 Seriennummer: C1 Seriennummer: C15 Seriennummer: C49 Seriennummer: CC2 AUSGABE BIS Seriennummer: CC43 NICHT IM BEREICH
Die Funktion sollte so suchen.
Alle Seriennummern im Bereich VON, BIS sollen gefunden werden.
VON = 5 , BIS = CC21.)
Also zuerst alle Seriennummern Von Seriennummer 5 - 26. (Nummerisch steigend).
Seriennummern die gefunden wurden sollen in eine ListeBox oder
in einem AnsiString Feld LISTE[] einfügt werden.
Diese Teilfunktion hat die wichtigste Priorität, weil die meisten Seriennummern nur aus Zahlen bestehen.2.)
Alle Seriennummern mit Zahlen und Buchstaben, Seriennummer 9 - 3B (steigend, lexikalisch).
Wobei 5 - 26 nummerisch steigend sein soll, Fall 1 schon durchsucht wurde, wenn aber die Seriennummer schon mal vor kam sollte diese ausscheiden.
Seriennummern die danach kommen sollen in der ListeBox einfügt werden.3.)
Alle Seriennummern mit Buchstaben und Zahlen Von Seriennummer (Steigend, Alphabetisch).
Wobei Fall 1 und 2 schon durchsucht wurde, wenn aber die Seriennummer schon mal vorkam sollte diese ausscheiden.
Seriennummern die danach kommen sollen in der ListBox einfügt werden.Meine Bisherigen Ergebnisse sind für mich nicht befriedigend.
Beispiel das ich bis jetzt verwendet habe:BereichV = strcmp(IST,VON); BereichB = strcmp(IST,BIS); // Wenn die Seriennummer die gleiche ist die in "Von" angegeben wurde if ( (BereichV == 0) ) { Form3->ListBox1->Items->Add(IST); } // Wenn die Seriennummer groesser ist als in "Von", // und im Bereich liegt der in "Von <->Bis" angegeben wurde // UND // Wenn die Seriennummer kleiner ist als in "Bis", // und im Bereich liegt der in "Von <-> Bis" angegeben wurde if ( ( BereichV > 0) & ( BereichB < 0 ) ) { Form3->ListBox1->Items->Add(IST); } // Wenn die Seriennummer die gleiche ist die in "Bis" angegeben wurde if(BereichB == 0) { Form3->ListBox1->Items->Add(IST); }
Also gut, ist vieleicht schlecht oder schwer beschrieben. Die ganze Sache ist aber auch nicht einfach denke ich.-
Suche nach Seriennummern (Zahlen) mit unbegrenzter Anzahl der Zeichen
Beispiel: 5 ist kleiner als 15 -
Suche nach Seriennummern (Zahlen+Buchstaben) mit unbegrenzter
Anzahl der Zeichen. Beispiel: 1A ist kleiner als 1B -
Suche nach Seriennummern (Buchstaben) mit unbegrenzter Anzahl der
Zeichen. Beispiel: AB ist keliner als AC oder als BA
ich denke jetzt wird es mit der oben beschriebenen Aufgabe klarer.
In dem Code ist das Problem das nur jedes Zeichen verglichen wird und damit bei einem Suchbereich von 5 bis 25, die in dem Bereich liegenden Zahlen (also 6,7,8,....21,22, 23,24) nicht gefunden werden. Das Suchergebnis ist dann nur 5 u. 25 weil es eben gleich der Eingabe von "VON" und "BIS" ist.
Gut denke jetzt müsste es klar sein.
Bin im voraus schon dankbar um jede Idee und Hilfe
Wäre toll es würde mir jemand helfen können.
Danke!!!
Edit:
Bitte die Code-Tags benutzen. Danke!
-
-
Hallo Leute,
keiner ne Idee??? Hoffe es meldet sich noch jemand.
come on
-
hallo,
tja, ich denke du hast mit deiner frage erst mal alle die sie gelesen haben erschlagen. da müsste man sich ja erst mal total reinarbeiten und reindenken, und ich z. b. habe nicht stundenlang zeit für sowas. musst also darauf hoffen, dass du jemanden findest, der da zeit für hat, oder aber jemanden, der eine raschere aufnahmefähigkeit besitzt als die meisten hier ...
mfg
murphy