Eigene Suchroutine erstellen

Anfängerfragen zum Programmieren mit PureBasic.
x3n
Beiträge: 7
Registriert: 30.09.2009 16:38

Eigene Suchroutine erstellen

Beitrag von x3n »

Hallo,
ich bin dabei mir ein kleines Programm zu Erstellen indem ich nach Daten suchen möchte, die bereits vorher eingegeben wurden. Alle Daten habe ich in einer LinkedList eingespeichert, die wie folgt aussieht:

Leimname
Leimhersteller
Temperatur
...
...
...

Jetzt möchte ich mit meiner Suchfunktion auswählen, ob nur von einem oder mehreren Herstellern der Leim angezeigt werden soll oder alle Leime aus einem Temperaturbereich oder Kombinationen aus beiden.
Bis jetzt realisiere ich dies mit IF- Schleifen und der ForEach Next Schleife, was aber sehr unübersichtlich ist und auch nur mit großen Aufwand erweiterbar auf zusätzliche Suchkriterien ist.
Meine Frage ist nun, wie ich solch eine Funktion übersichtlicher und leicht erweiterbar gestalten kann.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Eigene Suchroutine erstellen

Beitrag von Josh »

kommt drauf an, wie umfangreich deine daten sind. hast du dir schon mal eine datenbank überlegt?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Eigene Suchroutine erstellen

Beitrag von Kaeru Gaman »

der Einwand ist durchaus berechtigt.
Je nachdem welchen Umfang das annimmt und wie erweiterbar es sein soll, stellt dir ein DB-System schon Alles zur Verfügung was du brauchst.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
x3n
Beiträge: 7
Registriert: 30.09.2009 16:38

Re: Eigene Suchroutine erstellen

Beitrag von x3n »

Danke für die schnellen Antworten. Über eine Datenbank habe ich bisher noch nicht nachgedacht, da ich, um ehrlich zu sein, mich damit noch nie beschäftigt habe. Ich werde mir mal die Beispiele in der Hilfe anschauen.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Eigene Suchroutine erstellen

Beitrag von Kiffi »

@x3n:

Was Josh und KG vergessen haben explizit zu erwähnen: Solltest Du die Datenbank-Variante
wählen, so hast Du sehr gute Möglichkeiten, in Deinem Datenbestand zu suchen.
Hierfür gibt es eine 'Abfragesprache', die relativ einfach zu erlernen ist und mit der
Du Deine Problem im Ursprungsposting lösen kannst.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Eigene Suchroutine erstellen

Beitrag von Josh »

auch auf die gefahr hin, dass ich jetzt von einigen ausgepuht werde. aber zum einsteigen find ich access gar keine so schlechte lösung. da kann man mit bordmitteln schnell mal was lauffähiges hinbiegen und dann kontinuierlich durch externe programme ersetzen.

nach meiner meinung haben die meisten von vornherein nicht unbedingt ein so klares konzept für die datenbank, das dann auch bis zum ende durchhält. da ergibt sich einfach zu viel erst im laufenden betrieb und diese änderungen sind in access halt schneller durchgeführt als immer das programm anpassen zu müssen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Eigene Suchroutine erstellen

Beitrag von Kaeru Gaman »

ja klasse, und wer bezahlt dem Jungen die Access-Vollversion?
und wenn es mehrere benutzen sollen, wer bezahlt die Client-Lizenzen?

... ich find das klasse, wie selbstverständlich sauteure Software zu empfehlen, zeugt von großem Einfühlungsvermögen.

... oder davon, dass hier jemand Schwarzkopien benutzt ohne drüber nachzudenken. /:->

also, fühle dich ausgebuht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Eigene Suchroutine erstellen

Beitrag von DarkDragon »

x3n hat geschrieben:Hallo,
ich bin dabei mir ein kleines Programm zu Erstellen indem ich nach Daten suchen möchte, die bereits vorher eingegeben wurden. Alle Daten habe ich in einer LinkedList eingespeichert, die wie folgt aussieht:

Leimname
Leimhersteller
Temperatur
...
...
...

Jetzt möchte ich mit meiner Suchfunktion auswählen, ob nur von einem oder mehreren Herstellern der Leim angezeigt werden soll oder alle Leime aus einem Temperaturbereich oder Kombinationen aus beiden.
Bis jetzt realisiere ich dies mit IF- Schleifen und der ForEach Next Schleife, was aber sehr unübersichtlich ist und auch nur mit großen Aufwand erweiterbar auf zusätzliche Suchkriterien ist.
Meine Frage ist nun, wie ich solch eine Funktion übersichtlicher und leicht erweiterbar gestalten kann.
Also wenns jetzt nicht mit Datenbank sein soll geht das optimieren z.B. durch "Hashing" und/oder verwenden von "InsertionSort" (Fürs einfügen eines neuen Datensatzes, bzw du solltest deine Daten alle mal Sortieren) + "Binäre Suche" oder ähnlichem recht gut.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
x3n
Beiträge: 7
Registriert: 30.09.2009 16:38

Re: Eigene Suchroutine erstellen

Beitrag von x3n »

@ Josh
Ein kurzer Blick im Microsoft Store hat mir verraten, mir doch nicht Access zuzulegen, da ich dann gleich die Ultimate Editition kaufen müsste und ich das "Programm" dann auch nicht weitergeben könnte. Kurz gesagt Access möchte ich nicht nutzen.

@ Kiffi
mit deiner "Abfragesprache" meinst du SQLite?
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Eigene Suchroutine erstellen

Beitrag von Kiffi »

x3n hat geschrieben:@ Kiffi
mit deiner "Abfragesprache" meinst du SQLite?
Nein. SQL ist die Abfragesprache. SQLite ist das 'Datenbanksystem',
welches Du (in PB übrigens nativ!) nutzen kannst.

Grüße ... Kiffi
a²+b²=mc²
Antworten