Clientdaten speichern

Navigation:  Tutorial: Der Form Editor > Exemplarische Erstellung einer Form >

Clientdaten speichern

Version 1.0.0

Die Daten des aktuell markierten Clients werden nun angezeigt. Die Funktion der Form soll jetzt um die Möglichkeit erweitert werden, die Daten eines Clients in einer Datei speichern zu können. Dazu platzieren Sie einen Button auf der Form und weisen ihm über den Object Inspector z.B. die Caption (Überschrift) In Datei speichern zu. Anschließend erstellen Sie über den Tab Events eine neue Funktion indem Sie einen Doppelklick in das leere Feld neben dem Event OnClick ausführen.

 

11.3.3 - Formeditor

Vervollständigen der Form

 

Da der Benutzer später die Möglichkeit haben soll, die angezeigten Daten in einer beliebigen Datei speichern zu können, wird ein entsprechender (Standard-)Dialog benötigt, welcher eine Dateiauswahl zulässt. Um diesen zu erstellen, wechseln Sie von dem Code- zum Design-Tab und positionieren die Komponente TSaveDialog aus der Werkzeugpalette (unter Dialogs) auf der Form. Über den Object Inspector können Sie die z.B. die DefaultExt (Dateierweiterung) auf .txt und den Filter auf Text file (*.txt) | *.txt setzen. Die Komponente ist bei der Ausführung der Form allerdings nicht zu sehen.

 

Wechseln Sie nun wieder zur Quellcode-Ansicht in die Funktion Button1Click. Dort deklarieren Sie die TStringList-Variable data. Anschließend wird eine Sicherheitsabfrage eingebaut, welche kontrolliert, ob überhaupt ein Client in der ListBox markiert ist. Ist dies nicht der Fall, wird das Speichern über exit abgebrochen.

 

Dem TSaveDialog wird nun ein Dateiname zugewiesen. Dazu wird die markierte Clientname aus der ListBox ausgelesen, wie es bereits in der Funktion FormActivate geschieht. Anschließend wird der TSaveDialog in einer if-Abfrage ausgeführt. Dadurch öffnet sich der Standarddialog zum Speichern einer Datei. Als Dateiname ist bereits der eben zugewiesene Clientname als Vorschlag eingetragen. Wird der Dialog abgebrochen, wird ein Informationsdialog ausgegeben, dass das Speichern fehlgeschlagen ist.

 

Wird der Dialog bestätigt, wird in einem try/finally-Block die Variable data zunächst initialisiert und über die add()-Funktion mit den Daten aus den Edit-Feldern sowie dem Clientname aus der ListBox gefüllt. Anschließend wird die Methode SaveToFile aufgerufen, wodurch der Dateiinhalt in der ausgewählten Datei gespeichert wird. SaveDialog1.FileName beinhaltet dabei den ausgewählten Dateinamen.

 

Nach der Speicherung werden die Ressourcen der Variable data freigegeben. Die Form ist nun fertig und besitzt die verlangten Funktionen.

 

procedure Button1Click(Sender: TObject);

var

 data : TStringList;

begin

 if ListBox1.ItemIndex < 0 then 

 exit;

 

 SaveDialog1.FileName := ListBox1.items.strings[ListBox1.ItemIndex] + '.txt';

 

 if SaveDialog1.Execute(null) then

     begin

          try

               data := TStringList.Create();

               data.Add('Client = ' + ListBox1.items.strings[ListBox1.ItemIndex]);

               data.Add('Domain = ' + EditDomain.Text);

               data.Add('Beschreibung = ' + EditBeschreibung.Text);

               data.Add('IP Adresse = ' + EditIP.Text);

               data.Add('MAC Adresse = ' + EditMAC.Text);

               data.Add('Betriebssystem = ' + EditOS.Text);

               data.Add('Version = ' + EditVersion.Text);

               data.Add('ServicePack = ' + EditSP.Text);

               data.SaveToFile(SaveDialog1.FileName);

           finally

               data.Free;

               ShowMessage('Daten wurden gespeichert in: ' + SaveDialog1.FileName);

           end;

      end;

 else

     ShowMessage('Speichern abgebrochen.');

end;

Zuletzt bearbeitet am 07.03.2017