Hallo.
Ich muss für meinen Informatikunterricht ein Programm mit Delphi coden und habe ein paar Probleme damit. Vielleicht kann mir hier jemand helfen, meine Fragen zu klären?

Das Projekt soll eine Art Datenbank sein, die Kundendaten erfasst. Diese Kundendaten soll das Programm vorher (FormCreate) zufällig generiert (aus den Buchstaben A bis Z) und in einer Listbox gespeichert haben. Alle Zeichenketten haben 8 Zeichen lang zu sein, meinetwegen ABCDEFG.

Wenn das fertig ist, brauche ich eine Suchfunktion, die die Listbox durchsucht und aus den vorhandenen Einträgen gezielt welche sucht, die die eingegebene Zahlenfolge irgendwo in sich selbst aufweisen. Mit dem gefundenen Ergebnis soll ein Editfeld, das ich vorher erstellt habe, gefüllt werden.


Was ich bis jetzt habe (allerdings bekomme ich einen Error, wenn ich es ausführen will):
Vielleicht kann mir jemand ein paar Fragen hierzu beantworten...
Code:
unit msuchen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    edkunde: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    edkundennummer: TEdit;
    edumsatz: TEdit;
    edtyp: TEdit;
    ListBox1: TListBox;
    bt_suchen: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit5: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    bt_test: TButton;
    procedure bt_suchenClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
   
  private
    { Private-Deklarationen }
    kunde: string;
    ZArray : array['A'..'Z'] of char;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.bt_suchenClick(Sender: TObject);
var i:integer;
begin
for i := 0 to Listbox1.Count -1 do
begin
  if pos(listbox1.items[i], '<suchstr>') > 0 then ... //gefunden
end;     

procedure TForm1.FormCreate(Sender: TObject);
var j:integer;
i:integer;
s:string;
begin
  for j := 1 to 1000 do
  s := '        ';
  for i := 1 to 8 do
  begin
    s[i] := Chr(Random(26) + 65);
  end;
  listbox1.add( s);
end;

end.
procedure TForm1.Button4Click(Sender: TObject);
zuordnen(delimiter:char;
quelle:string;
var e1,e2,e3,e4:tedit)

begin
e1.text:=copy(quelle,1,pos(delimiter,quelle)-1);
delete(quelle,1,ps(delimiter,quelle));
e2.text:=copy(quelle,1,pos(delimiter,quelle)-1);

---

{zuordnen('#',kundenbox.items[i],edname,edkundennummer,
edumsatz,edtyp);
end;    }
So sieht es bis jetzt aus, und einige Teile funktionieren sogar, aber der Rest...nun:


Code:
procedure TForm1.FormCreate(Sender: TObject); 
var j:integer;
i:integer; 
s:string; 
begin for j := 1 to 1000 do 
s := ' '; 
for i := 1 to 8 do begin 
s[i] := Chr(Random(26) + 65); end; 
listbox1.add( s); 
end;

Aus j, i und s habe ich Variablen gemacht.
Nun funktioniert das Einfügen in die Listbox (Listbox1) aber nicht, kann mir jemand erklären, wie ich das ändern könnte, sodass es funktioniert?
Und was mache ich mit listbox1.add( s);?

Code:
begin
procedure TForm1.bt_suchenClick(Sender: TObject);
var i:integer;
begin
for i := 0 to Listbox1.Count -1 do
begin
  if pos(listbox1.items[i], '<suchstr>') > 0 then ... //gefunden
end;
Das gehört zur Suchfunktion.

Könnte man das Ergebnis der Suche so in das Editfeld schreiben:
if pos(listbox1.items[i], '<suchstr>') > 0 then edit1.caption + 'ergebnis'?
'ergebnis' müsste irgendetwas mit einem Listbox-Index oder so sein, glaube ich.
Weiß das vielleicht jemand?

Wäre sehr nett, wenn mir jemand helfen könnte.