schreiben in ein File-Of
spacer
Autor Nachricht
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1718

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.01.12 08:44 
Hi, Delpher,

ein kleines Prob, weil ich es schon sehr lange nicht mehr gemacht habe:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Assignfile(afile, 'a1.sta'); Rewrite(afile); j := 0;
repeat
j := j+1;
datensatz.satzart := stringgrid1.cells[0,j];
datensatz.kstb := stringgrid1.Cells[1,j];
datensatz.ksta := stringgrid1.Cells[2,j];
datensatz.kstbez := stringgrid1.Cells[3,j];
datensatz.ikosten := strtofloat(stringgrid1.Cells[4,j]);
datensatz.skosten := strtofloat(stringgrid1.Cells[5,j]);
datensatz.datum := stringgrid1.Cells[6,j];
datensatz.sonst := stringgrid1.Cells[7,j];
write(afile, datensatz);
until j = stringgrid1.rowcount-1;
closefile(afile);
showmessage('Es wurden ' + inttostr(j) + ' Datensätze geschrieben');


Der Datensatz wird nicht geschrieben, es liegt an den beiden Reals ikosten und skosten. Was ist da los?
Danke, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 92
Erhaltene Danke: 11


D6 Prof, XE2 Prof
BeitragVerfasst: Mo 30.01.12 09:59 
Du hast nicht geschrieben was genau passiert, ich vermute aufs erste daß die Zellen beim strtofloat leer sind und deshalb strtofloat nicht funktioniert. Sollte dies der Fall sein versuche es mit strtofloatdef, da kannst Du einen Defaultwert angeben der verwendet wird wenn sich die Zelle nicht in einen Float umwandeln läßz, z.B. weil sie leer ist.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Mo 30.01.12 10:22 
Es wäre auch keine schlechte Idee uns mitzuteilen was das für Datentypen sind in dem Record. Strings kann man so nämlich nicht schreiben, da es nur Zeiger auf einen Speicherbereich sind.

_________________
Gruß Michael
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1718

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.01.12 11:03 
Scusi,

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Type  Satz  =  Record
satzart : String [3];
kstb : String [2];
ksta : String [3];
kstbez : String [21];
ikosten : Real;
skosten : Real;
datum : String [6];
sonst : String [45]
End;


Es ist ein eConvertError: "" ist kein gültiger Gleitkommawert.

_________________
ut vires desint, tamen est laudanda voluntas
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 92
Erhaltene Danke: 11


D6 Prof, XE2 Prof
BeitragVerfasst: Mo 30.01.12 11:09 
user profile iconD. Annies hat folgendes geschrieben Zum zitierten Posting springen:


Es ist ein eConvertError: "" ist kein gültiger Gleitkommawert.


Ein leerer String kann nicht in ein Float konvertiert werden. Also StrToFloatDef (xxx, 0) verwenden.

Für diesen Beitrag haben gedankt: D. Annies
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1718

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.01.12 11:16 
Hi, Mandras, es war noch etwas anderes:
Die Abbruchbedingung war falsch: stringgrid1.rowcount-1;
Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home