Hallo Leuts,
wer sich noch an Gestern erinnert, weiß, dass ich an einem Adressbuch schreibe.
Das ausglieder der Eingabe von neuen Adressen ist mit Mittlerweile gelungen.
Jetzt möchte ich, auch eine Funktion einbauen, bereits bestehende Adressen zu ändern.
Dafür will ich aber keine neue
Unit kreaieren, sondern das Fenster benutzen, welches schon fürs hinzufügen benutzt wird.
Dafür habe ich 2 unterschiedliche Funktionen in die
Unit geschrieben.
1. Funktion (Hinzufügen von Adressen)
Delphi-Quellcode:
procedure TForm2.BtnHinzuClick(Sender: TObject);
begin
if MessageDlg('Soll die Adresskarte gespeichert werden?',
mtConfirmation,[mbYes,mbNo], 0 ) = mrYes
then
begin
vorname := EdVorname.Text;
Nachname := EdNachname.Text;
Job := EdJob.Text;
Strasse := EdStrasse.Text;
Ort := EdOrt.Text;
Telefon := EdTelefon.Text;
self.ModalResult := mrOK;
end
else
self.ModalResult := mrCancel;
end;
2. Funktion (Ändern von Adressen)
Delphi-Quellcode:
constructor TForm2.Create(AOwner: TComponent; AVorname, ANachname, AJob,
AStrasse, AOrt, ATelefon: string);
begin
inherited Create (AOwner);
EdVorname.Text := AVorname;
EdNachname.Text := ANachname;
EdJob.Text := AJob;
EdStrasse.Text := AStrasse;
EdOrt.Text := AOrt;
EdTelefon.Text := ATelefon;
BtnHinzu.Caption := 'Ändern';
if MessageDlg('Soll die Adresskarte geändert werden?',mtConfirmation,
[mbYes,mbNo], 0 ) = mrYes then
begin
vorname := EdVorname.Text;
Nachname := EdNachname.Text;
Job := EdJob.Text;
Strasse := EdStrasse.Text;
Ort := EdOrt.Text;
Telefon := EdTelefon.Text;
self.ModalResult := mrOK;
end
else
self.ModalResult := mrCancel;
end;
Mein hauptsächliches Problem ist, dass ich nicht wieß, wie ich mit meinem Änder-Button aus Form1 gezielt auf die 2. Funktion zugreife und wie ich die Variablen (AVorname, ANachname, usw.) auf die
Unit übertragen kann.
Bisheriger Quellcode des Ändern-Buttons:
Delphi-Quellcode:
procedure TForm1.BtnAendernClick(Sender: TObject);
var aForm: TForm2;
i : integer;
AVorname, ANachname, AJob, AStrasse, AOrt, ATelefon : string;
begin
if (LBAdressen.ItemIndex <> -1) then
try
aForm := TForm2.Create(self);
i := LBAdressen.ItemIndex;
AVorname := Adressen[i].Vorname;
ANachname := Adressen[i].Nachname;
AJob := Adressen[i].Job;
AStrasse := Adressen[i].Strasse;
AOrt := Adressen[i].Ort;
ATelefon := Adressen[i].Telefon;
if aForm.showmodal=mrOK then
begin
Adressen[i].Vorname := aForm.Vorname;
Adressen[i].Nachname := aForm.Nachname;
Adressen[i].Job := aForm.Job;
Adressen[i].Strasse := aForm.Strasse;
Adressen[i].Ort := aForm.Ort;
Adressen[i].Telefon := aForm.Telefon;
end;
finally
aForm.Free;
end;
end;
Ich hoffe ihr könnt mir helfen
gruß
DutchmanTom