Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Speichern von Stringgrid-Daten in ein Record, dann Array
mb09092 - Di 20.07.10 19:00
Titel: Speichern von Stringgrid-Daten in ein Record, dann Array
Hallo Zusammen!
Hab ein kleines Problem:
Bin am Programmiern eines Regressionsformulars, d.h. man füttert ein Stringgrid mit x- und y-Werten und bekommt vom Programm eine Exponentielle Regression ausgeführt.
Tut soweit alles wunderbar, nur häng ich jetzt beim Speichern.
Ich will die vom Benutzer eingegebenen x- und y-Werte auf Festplatte abspeichern können um später wieder laden zu können.
Hab dazu einen Record definiert und ein Array...
Delphi-Quelltext
1: 2: 3: 4: 5:
| type Rec = record xWert:double; yWert:double; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Anz:integer; Regressionsformular: TRegressionsformular; r,a,b:double; Speicherarray:array[1..1000] of rec; Speicherung : file of rec; |
Dann hab ich in der Speicherprocedur folgenden Quelltext geschrieben, um zuerst jede Zeile des Grids in das Record zu speichern und dann diese Zeile in ein Array der Stelle i...usw
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TRegressionsformular.Speichern_buClick(Sender: TObject);
var i:integer;
begin for i := 1 to Tab.RowCount-1 do begin rec.xWert:=strtofloat(Tab.Cells[1,i]); rec.yWert:=strtofloat(Tab.Cells[2,i]); Speicherarray[i]:=rec; end;
if Festspeichern.execute then begin AssignFile(Speicherung,FestSpeichern.FileName); Rewrite(Speicherung ); for i := 1 to Tab.RowCount-1 do begin write(Speicherung,Speicherarray[i]); end; closeFile(Speicherung); end;
end; |
Kann mir jemand sagen was ich falsch gemacht hab also warum es nicht funktioniert und wie es richtig heißen müsste??
Danke schonmal!
Grüße
Seba
Moderiert von
Narses: Doppelslahes am Zeilenanfang im Code entfernt und Highlight-Tags ergänzt.
mb09092 - Di 20.07.10 19:02
Das ist eine gute Idee, nur: könntest du mir sagen wie du das genau meinst?
Bin neu hier :-)
Hab halt den Qualltext ausm RADStudio rauskopiert...
ALF - Di 20.07.10 19:07
kurz erklärt '[delphi]dein quelltext[/delphi]'
oder im Editor auf Bereiche gehen :wink:
und :welcome: hier
Gruss Alf
mb09092 - Di 20.07.10 19:22
Danke euch schonmal dafür :-)
Jetzt mal schaun was aus meinem Prob wird...
jaenicke - Di 20.07.10 21:08
Du greifst auf rec zu, das ist aber der Recordtyp. (Deshalb sollte das auch
TRec heißen...)
Entweder deklarierst du dir eine Variable und greifst auf die jeweils zu oder du machst es ganz einfach:
Delphi-Quelltext
1: 2:
| Speicherarray[i].xWert := StrToFloat(Tab.Cells[1, i]); Speicherarray[i].yWert := StrToFloat(Tab.Cells[2, i]); |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!