Inhalt eines Editfeldes speichern

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
Antworten
lizardkxnd
Beiträge: 4
Registriert: Mo 6. Jul 2015, 20:19

Inhalt eines Editfeldes speichern

Beitrag von lizardkxnd »

Hallo,
ich würde gerne wissen ob das i.wie funktioniert, dass der Inhalt des Editfeldes gespeichert wird, so dass man dann darauf hin eine Zahl beispielsweise addieren kann.
ich hoffe es kann mir jemand helfen :/

LG

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Inhalt eines Editfeldes speichern

Beitrag von Michl »

Meinst du wirklich nur ein einzelne String Variable in eine Datei speichern und später wieder laden?

Verschiedene Möglichkeiten, wie man Daten in Dateien speichern kann, findest du z.B. hier: http://wiki.freepascal.org/File_Handling_In_Pascal

Es gäbe noch eine Vielzahl verschiedener anderer Möglichkeiten, ohne deine genauen Anforderungen zu kennen, kann man dir da aber schlecht einen guten Ratschlag geben.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Inhalt eines Editfeldes speichern

Beitrag von Komoluna »

Ein Editfeld speichert erstmal nur eine Zeichenkette(String).
Wenn du eine Zahl daraus auslesen möchtest kannst du z.b. StrToInt verwenden:

Code: Alles auswählen

var 
  i: Integer;
begin
  i := StrToInt(Edit1.Text);

und dann zum addieren:

Code: Alles auswählen

i := i + deineZahl;


StrToInt ergibt aber eine Fehlermeldung wenn der Text (des Editfeldes) keine Zahl ist.
Dafür gibt es z.B. StrToIntDef:

Code: Alles auswählen

 i := StrToIntDef(Edit1.Text, 0)// Wenn in Edit1 keine Zahl steht wir "i" der Wert 0 zugewiesen


MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

lizardkxnd
Beiträge: 4
Registriert: Mo 6. Jul 2015, 20:19

Re: Inhalt eines Editfeldes speichern

Beitrag von lizardkxnd »

Komoluna hat geschrieben:Ein Editfeld speichert erstmal nur eine Zeichenkette(String).
Wenn du eine Zahl daraus auslesen möchtest kannst du z.b. StrToInt verwenden:

Code: Alles auswählen

var 
  i: Integer;
begin
  i := StrToInt(Edit1.Text);

und dann zum addieren:

Code: Alles auswählen

i := i + deineZahl;


StrToInt ergibt aber eine Fehlermeldung wenn der Text (des Editfeldes) keine Zahl ist.
Dafür gibt es z.B. StrToIntDef:

Code: Alles auswählen

 i := StrToIntDef(Edit1.Text, 0)// Wenn in Edit1 keine Zahl steht wir "i" der Wert 0 zugewiesen


MFG

Komoluna


und wenn ich keine bestimmte zahl addieren möchte, sondern das, was sich dann aus dem neuen Edit ergibt, wenn der nächste spieltag ist?

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Inhalt eines Editfeldes speichern

Beitrag von baumina »

Ein Editfeld dient ausschließlich zur Eingabe (ggf. auch zur Anzeige) von Werten. Alle Rechenwerte solltest du in Variablen halten, gerechnet wird dann auch immer nur mit den Variablen. Erst wenn es wieder zur Anzeige eines Ergebnisses kommt, werden die Variablenwerte in die Anzeigekomponenten geschoben.
.

Antworten