Hallo,
auf der Suche nach einer Lösung für mein Problem bin ich auf Euer Forum gestoßen. Vielleicht kann mir ja hier jemand weiterhelfen, was echt klasse wär.
Am besten fang ich mal ganz vorn an, alles zu erklären. Mein Programm ist dazu da, Personen zwei Dinge zuzuordnen (einmal eine Abkürzung des Namens und ein oder mehrere Gegenstände). Dafür habe ich ein Formblatt, auf dem erstmal die Daten eingelesen und abgespeichert werden müssen. Das funktioniert so weit.
Auf einem zweiten Formblatt sind je drei Editfelder und darunter drei Memofelder. Die erste Spalte (1. Edit und 1. Memo) ist zuständig für den Namen, die zweite Spalte für die Abkürzungen und die dritte für die Gegenstände. Der Nutzer soll dann mit Hilfe einer Suchfunktion die Möglichkeit haben, entweder
a) einen Namen einzugeben (im ersten Editfeld)
=> woraufhin er als Ergebnis der Suche den Namen, die Abkürzung und alle dazugehörigen Gegenstände in den drei passenden Memofeldern angezeigt bekommt
b) eine Abkürzung einzugeben (im zweiten Editfeld)
=> woraufhin er als Ergebnis der Suche den Namen, die Abkürzung und alle dazugehörigen Gegenstände in den drei passenden Memofeldern angezeigt bekommt
c) einen Gegenstand einzugeben (im dritten Editfeld)
=> woraufhin alle Namen inkl. aller dazugehörigen Abkürzungen erscheinen sollen, die diesem Gegenstand zugeordnet wurden.
Soviel zur Theorie. Funktionieren tuts bei mir leider nicht und als Anfänger weiß ich auch nicht, wo ich das Problem angehen soll. Hoffentlich könnt ihr mir dabei helfen.
Mein Programm-Code sieht bisher so aus:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
if edit1.Text <> '' then
begin
Zeiger:=start;
while Zeiger^.Name <> Edit1.Text do
begin
Zeiger:=Zeiger^.Next;
end;
Memo1.Lines.add(Zeiger^.Name);
Memo2.Lines.add(Zeiger^.Kuerzel);
Memo3.Lines.add(Zeiger^.Gegenstand);
end
else if Edit2.Text <> '' then
begin
Zeiger:=start;
while Zeiger^.Kuerzel <> Edit2.Text do
begin
Zeiger:=Zeiger^.Next;
end;
Memo1.Lines.add(Zeiger^.Name);
Memo2.Lines.add(Zeiger^.Kuerzel);
Memo3.Lines.add(Zeiger^.Gegenstand);
end
else if Edit3.Text <> '' then
begin
Zeiger:=start;
while Zeiger^.Gegenstand <> Edit3.Text do
begin
Zeiger:=Zeiger^.Next;
end;
Memo1.Lines.add(Zeiger^.Name);
Memo2.Lines.add(Zeiger^.Kuerzel);
Memo3.Lines.add(Zeiger^.Gegenstand);
end;
end;
Bin für jeden Tipp dankbar.