Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TLabel+TEdit (https://www.delphipraxis.net/38433-tlabel-tedit.html)

LOMBI 20. Jan 2005 19:06

Re: TLabel+TEdit
 
Danke für Euer Interesse!

Sharky:

Ich habe nun die Eigenschaft OnCreate auf der Form2 gewählt.

MrSpock:

Ich habe den Quellcode genau übernommen, aber es will immer noch nicht,
dh beim Progstart fehlen die Einträge in den TEdits auf Form2. Muß ich
vielleicht manuell in der win.ini die Feldinhalte hinzufügen?

Gruß
Lombi

SirThornberry 20. Jan 2005 19:46

Re: TLabel+TEdit
 
win.ini? gehts noch? wurde die inidatei (Freifelder.ini) eigentlich angelegt?

Matze 20. Jan 2005 20:32

Re: TLabel+TEdit
 
Lies dir mal das Ini-Tutorial durch, das im 4. Post angesprochen wurde, so wird das nichts.

Win.ini :lol:

LOMBI 21. Jan 2005 15:52

Re: TLabel+TEdit
 
Hallo,

im Freifelder-Editor steht folgendes:

[Aktiv]
Wert=1
[userinformation]
userneu=Test
[Feldinhalte]
Feld1=EditFreifeld1
Feld2=EditFreifeld2
...

Wenn auf Form2 der Text in den Edit-Eingabefeldern geändert
wird, dann müßte sich das doch oben auswirken oder? Wähle ich
zB als Text "Geburtstag", dann müßte Feld1=Geburtstag lauten.

Gruß
Lombi

Matze 21. Jan 2005 16:17

Re: TLabel+TEdit
 
Wenn du es per

Delphi-Quellcode:
ini.writestring(...);
hineinschreibst, dann ja.

LOMBI 21. Jan 2005 16:28

Re: TLabel+TEdit
 
... genauso mache ich das. Woran könnte es dann noch liegen?
Es wird auch alles einwandfrei compiliert.

Gruß

Matze 21. Jan 2005 16:29

Re: TLabel+TEdit
 
Zeig bitte deinen Code, so kann keiner etwas dazu sagen.

MrSpock 21. Jan 2005 19:04

Re: TLabel+TEdit
 
Hallo LOMBI,

in meinem Code musst du natürlich noch die korrekten Namen der EditFelder eingeben, die du speichern willst:

Delphi-Quellcode:
...Ini.WriteString('Feldinhalte', 'Feld1', Freifeld1Edit.Text);
Ini.WriteString('Feldinhalte', 'Feld2', Freifeld2Edit.Text);
Ini.WriteString('Feldinhalte', 'Feld3', Freifeld3Edit.Text);
In der OnCreate musst du jetzt diese Felder wieder mit ReadString einlesen:
Delphi-Quellcode:
...
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+
       'Freifelder.ini');
Freifeld1Edit.Text := Ini.ReadString('Feldinhalte', 'Feld1', '');
Freifeld2Edit.Text := Ini.ReadString('Feldinhalte', 'Feld2', '');
Freifeld3Edit.Text := Ini.ReadString('Feldinhalte', 'Feld3', '');
Ini.Free;

LOMBI 22. Jan 2005 19:03

Re: TLabel+TEdit
 
Hier mein Code:

Delphi-Quellcode:
Uses ...IniFiles;
...
procedure TForm2.FormCreate(Sender: TObject);
var
Ini: TIniFile;
begin
Ini:= TIniFile.Create(ExtractFilePath(ParamStr(0))+
      'Freifelder.Ini');
      Try
      Ini.WriteString('Feldinhalte','Feld1',EditFreifeld1.Text);
      Ini.WriteString('Feldinhalte','Feld2',EditFreifeld2.Text);
      Ini.WriteString('Feldinhalte','Feld3',EditFreifeld3.Text);
EditFreifeld1.Text := Ini.ReadString('Feldinhalte','Feld1','');
EditFreifeld2.Text := Ini.ReadString('Feldinhalte','Feld2','');
EditFreifeld3.Text := Ini.ReadString('Feldinhalte','Feld3','');
Finally;
Ini.Free;
end;
Das Programm wird einwandfrei compiliert, aber die Einträge auf Form2
in den EditFreifeldern1-3 in der Ini nicht gespeichert. Bitte prüfen,
vielen Dank!

Gruß
Lombi

MrSpock 22. Jan 2005 19:19

Re: TLabel+TEdit
 
Hallo LOMBI,

du solltest den Code nicht einfach blind kopieren. Denke doch einmal nach, was du da programmierst. Mit WriteString schreibst du die Daten, die in den EditFeldern stehen in die Ini Datei und mit ReadString liest du sie wieder aus. Du hast nun beide Aktionen in die OnCreate Methode geschrieben. Dort sind die Editfelder natürlich noch leer. Du schreibst dann die leeren Strings in die Ini Datei und liest sie anschließend leer wieder aus.

Richtig wäre die Daten dann zu schreiben, wenn etwas Sinnvolles drin steht. Also packst du entweder einen Schalter "Speichern" auf das Formular und speicherst die Inhalte der Editfelder auf Knopfdruck oder du speicherst sie z.B. im OnClose Event, also mit dem Schließen des Formulars. In der OnCreate Methode darfst du dann die Werte nur LESEN, aber natürlich nicht sofort wieder mit Leereinträgen überschreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.
Seite 2 von 2     12   

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