Autor Beitrag
kalle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Alles mögliche
D7 ?
BeitragVerfasst: So 04.01.09 10:27 
Hallo ich habe einen Integer wert mit inttostr gewandelt und dann in eine test.txt geschrieben
und zwar mit tstringlist test.savetofile('c:\test.txt');
funktioniert auch super habe den wert 240 geschrieben
Aber wie kann ich das jetzt wieder auslesen
Klar mit loadfromfile('c:\test.txt');
macht der auch aber dann kommt es beim strtoint zum fehler
Und zwar dieser : 240 is not a valid integer value
Kann mir da jemand helfen?
Ziel ist es alle 5 min einen wert zu speichern und diesen auszulesen und zu verarbeiten
Warum ? wird mein Programm beendet ,stürzt ab ,so soll der gespeicherte Wert beim neustart von meinm
Programm benutzt werden.
Freue mich auf antwort
Oreaden
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 16



BeitragVerfasst: So 04.01.09 10:38 
Schönen Morgen Kalle,

vielleicht wäre es sinnvoller den Integer als Integer zu schreiben und zu lesen, damit brauchst keine Trennzeichen und das ganze ist viel Speichersparender. Hierzu schaue dir mal an

  • file of
  • assign
  • read
  • write
  • seek


Falls Du das nicht möchtest, solltest Du auch Trennzeichen implementieren. Die Umkehrfunktion von IntToStr ist StrToInt.

Schöne Grüße
OREADEN
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 04.01.09 10:44 
Wie wäre es denn mit einer Ini.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 04.01.09 11:18 
Bevor andere Lösungsmöglichkeiten aufgezeigt werden, sollte der Fehler zunächst lokalisiert werden.

Kalle, schau Dir mal genau den Inhalt bzw. poste den Codeabschnitt, der die Zahl per StrToInt wieder ausliest. Ich vermute, das in dem String, den Du an StrToInt vergibst, weitere Zeichen enthalten sind.

_________________
Na denn, dann. Bis dann, denn.
dummzeuch
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: So 04.01.09 11:50 
user profile iconkalle hat folgendes geschrieben Zum zitierten Posting springen:

Klar mit loadfromfile('c:\test.txt');
macht der auch aber dann kommt es beim strtoint zum fehler Und zwar dieser : 240 is not a valid integer value
Kann mir da jemand helfen?


Ich vermute, Du benutzt folgenden Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  sl: TStringList;
  i: integer;
begin
  sl := TStringList.Create;
  sl.LoadFromFile('c:\test.txt');
  i := StrToInt(sl.Text);


Falls ja, versuche mal:
ausblenden Delphi-Quelltext
1:
  i := StrToInt(sl[0]);					


Grund: .Text enthaelt immer CR/LF Zeilentrenner, auch wenn nur eine einzelne Zeile in der Datei steht. Dieser wiederum wird von StrToInt nicht verstanden.

twm
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 04.01.09 13:30 
Das lässt sich auch leicht beheben, indem man statt
ausblenden Delphi-Quelltext
1:
  i := StrToInt(sl.Text);					
schreibt
ausblenden Delphi-Quelltext
1:
  i := StrToInt(Trim(sl.Text));					
;-)
kalle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Alles mögliche
D7 ?
BeitragVerfasst: Mo 05.01.09 00:24 
Titel: Danke an alle
Hi und danke ihr habt mein Probl. gelöst
Hab die von Jaenicke genommen