Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ValueListEditor; Wie Daten in DB speichern und umgekehrt (https://www.delphipraxis.net/45990-valuelisteditor%3B-wie-daten-db-speichern-und-umgekehrt.html)

Hansi 16. Mai 2005 09:55


ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Schönen Feiertag,

Ich schreibe in einen ValueListEditor verschiedene Werte mit unterschiedlicher Anzahl Zeilen.
Nun meine Frage: Wie kann ich die Daten in eine Paradox Tabelle speichern, dass ich Sie später wieder auslesen kann?

Könnt Ihr mir bitte ein Code-Beispiel geben?
Vielen Dank schon mal!

100nF 16. Mai 2005 10:22

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
hallo Hansi,

speichern kannst du sie so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ValueListEditor1.Strings.SaveToFile('C:\file.txt');
end;
und laden so:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
if fileexists('C:\file.txt') then // fileexists() kann nie schaden...
ValueListEditor1.Strings.LoadFromFile('C:\file.txt')
// evtl. else showmessage('nicht gefunden');
end;

Harald 16. Mai 2005 10:32

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Hallo!

Definiere doch einfach Memos in der Tabelle und zeige sie in Deiner Anwendung als TDBMemo an.

Gruß
Harald

Hansi 16. Mai 2005 11:11

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Für mich ist leider immer noch unklar wie die Daten in die Tabelle kommen und auch wieder raus!

Wie wird aus mehreren Keys und Values ein "String" den ich in die Tabelle speichern kann?

Könnt Ihr mir ein Beispiel geben?

marabu 16. Mai 2005 11:30

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Wenn du deine Name-Value-Paare in einer Paradox-Tabelle speichern willst, dann brauchst du zuerst einmal eine Tabelle. Du kannst zwar ein Zeichenketten-Feld vorsehen und "Name=Wert" dort eintragen, aber du kannst auch zwei Felder definieren - NAME und WERT.

Im Programm kannst du dann etwa so vorgehen:

Delphi-Quellcode:
procedure TMainForm.VLE_Save;
var
  i: integer;
  key: string;
begin
  with TBL do begin
    EmptyTable;
    for i := 1 to VLE.RowCount - 1 do begin
      key := VLE.Keys[i];
      TBL.Edit;
      TBL.FieldByName('NAME').AsString := key;
      TBL.FieldByName('WERT').AsString := VLE.Values[key];
      TBL.Post;
    end;
  end;
end;
Grüße vom marabu

Harald 16. Mai 2005 11:56

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Hallo Hansi,

wenn Du Deine Tabelleneinträge als Strings speicherst geht das über die Eigenschaft Text des TDBMemo. (Das TDBMemo musst Du über TTable und TDataSource mit der Paradoxtabelle verbinden!)

Der Text kann mehrzeilig sein und auch sehr sehr lang.

Code habe ich keinen, den musst Du Dir schon selbst erarbeiten.

Beste Grüße
Harald

Hansi 16. Mai 2005 12:08

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Hallo,

Vielen Dank für eure Hilfe! (Aber warum schreibt Ihr immer von Memo?!?)

Bis ich was besseres weiss werde ich den Inhalt des ValueListEditor in eine txt-Datei speichern und meine restlichen Daten in die Paradox Tabelle. Ist zwar nicht besonders super, aber derzeit der einzige Weg!

Bis dann...

Harald 16. Mai 2005 12:12

Re: ValueListEditor; Wie Daten in DB speichern und umgekehrt
 
Nochmal Hallo!

Du solltest mal in den Hilfedateien nachschauen: Ein Memo ist ein mehrzeiliges Textfeld in einer Paradoxtabelle. Damit kannst Du auch sehr lange und mehrzeilige Texte in der DB speichern.

Gruß
Harald


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz