Autor Beitrag
Dyon
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 20.04.09 16:45 
Hallo zusammen,
Ich habe ein mehrdimensionales Array in dem ich zum Beispiel Auftragnummern, Personalnummern, Positionsnummern, Stunden gespeichert habe.

Nun möchte ich wie bei einer MySQL-Datenbank das Array gezielt auslesen.
Bei MySQL gibt es ja den Befehl "Select * From Datenbank WHERE Positionsnummer=3".
Also einfach einen Befehl/ Funktion oder etwas in die Richtung, mit der ich meine Einträge im Array gezielt nach einem bestimmten Wert auslesen kann.

Habe schon gesucht aber irgendwie noch nicht das gefunden, was ich brauch.

Danke


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 20.04.2009 um 18:20
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 20.04.09 17:01 
was vordefiniertes gibt es da meines Wissens nicht.
Letztendlich wird es aber darauf hinauslaufen dass du in einer Schleife alle Werte durchläufst und jeweils guckst ob der Wert passt.
Wenn das zu langsam ist kannst du erstmal nach dem Wert sortieren, was aber schwierig ist, wenn du mehrere Werte prüfen musst. Alternativ kannst du für eine Spalte alle möglichen Werte in einem Array speichern und dazu dann alle Einträge der Originaltabelle, also sowas:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
TIndexEntry = record
  value:TXYZ;
  references:array of Integer; //Referenz zur Originaltabelle
end;
Indices:array of TIndexEntry

Damit bist du dann auf dem besten Wege dir deine eigene Datenbank zu schreiben - viel Glück :D

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
DaVinciFF7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win XP
Delphi 2007
BeitragVerfasst: Mo 20.04.09 21:33 
Mach es doch mit ner For-Schleife
Hab jetzt gerade nur die Java Syntax im Kopf, aber wenn ich mich recht erinnere ist es in Pascal ähnlich

Bei Java sieht das so aus:

ausblenden Quelltext
1:
2:
3:
int i;

for (i := 0; i < array.length; i++)

und dann halt ne if klammer
ausblenden Quelltext
1:
2:
if array[i] = gesucht
     blablubb


Wie gesagt..Ich weiß nicht, ob die Syntax stimmt, aber vom Prinzip her ist es so glaub ich am einfachsten.

_________________
Ich würde ja gerne die Welt verändern...Aber Gott will mir den verdammten Sourcecode nicht geben!
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Fr 01.05.09 15:50 
Hallo Dyon,

die Spalten kannst Du ja - soweit ich mich recht erinnere - mit "case of" zuordnen:
ausblenden Delphi-Quelltext
1:
2:
3:
case momentanGefragteSpalte of 
3:SpaltenName:='Positionsnummer'
4:SpaltenName:='Name'