Einzelnen Beitrag anzeigen

DutchmanTom

Registriert seit: 12. Okt 2009
11 Beiträge
 
#1

Problem mit Weiterleitung auf 2-Funktionen-Unit

  Alt 13. Okt 2009, 11:49
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
  Mit Zitat antworten Zitat