![]() |
Records speichern in Datei
Hi alle miteinander
ich habe mal wieder ein Problem... und zwar will ich records speichern, das ist ja ansich nicht das Problem. Es gibt einen wert a, einen wert b und einen wert c=a+b+1, der in einer Schleife hochgezählt wird bis zu einem bestimmten wert und jeweils immer in einer ListBox ausgegeben wird. Jetzt das Problem, wie speichere ich diese Werte (c) in einem Record, so dass ich das in einer Datei Speichern kann und die untereinander stehen. Das Speichern von a und b ist ja kein Problem, aber c hat ja mehrere Wert... Hat jemand ne Idee?? PS: Sorry, hab das ins falsche Forum gepostet, weiss aber nicht, wie ich das im Nachhinein verschieben kann :-( |
Re: Records speichern in Datei
Zitat:
entwewer ist c=a+b+1, da ist das für jedes a und b nur ein Wert, oder habe ich es nicht verstanden :?: Mein Vorschlag: a,b speichern und c bei laden neu berechnen! |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Internet / LAN / ASP.NET" nach "Object-Pascal / Delphi-Language" verschoben.
Ich habe den Thread mal verschoben |
Re: Records speichern in Datei
öh...da habe ich mich wohl unglücklich ausgedrückt
Also c is inner Schleife und wird quasi hochgezählt...z.B. 1 2 3 4 5 jetzt will ich, dass diese Werte in nem Record gespeichert werden und dann in einer Datei gespeichert werden...hab aber keinen Plan, wie ich das bewerkstelligen soll... |
Re: Records speichern in Datei
Da du alle werte in einer ListBox speicherst, würde sich vielleicht dies anbieten:
Delphi-Quellcode:
ListBox1.Items.SaveToFile('DATEINAME');
|
Re: Records speichern in Datei
Zitat:
|
Re: Records speichern in Datei
ja, daran habe ich auch schon gedacht, aber die Werte müssen alle in als Record sein und da geht dis ja net so
ich versuchs nochmal zu erklären... Wert a wird in einer Record gespeichert Wert b wird in der selben Record gespeichert jetzt Speichere diese beiden Werte in einer Datei nebeneinander es geht weiter mit Wert c Wert c hat den Startwert 1-->speichere diesen Wert in das Record, in das auch schon a und b sind und speichere es auch in der selben Datei neben b. Also wenn a z.B. den wert 3 hat und b den wert 2...dann sieht das jetzt so aus in der Datei: 3 2 1 so und nun zähle c hoch bis 5 2 3 4 5 und speichere jeweils immer die Werte wieder in der Record und dann in die Datei am Ende steht das in der Datei 3 2 1 ----- 2 ----- 3 ----- 4 ----- 5 |
Re: Records speichern in Datei
Hi!
Zitat:
Ciao Frederic |
Re: Records speichern in Datei
na so soll es in der Datei aussehen
a b c 3 2 1 -----2 -----3 -----4 -----5 Die "-----" sollen in der Datei leerzeichen sein... |
Re: Records speichern in Datei
dann speichere doch a und b immer wieder mit
a b c 3 2 1 3 2 2 3 2 3 3 2 4 3 2 5 und teste bei laden, ob sich a ubnd b ändern, wenn ja dann ausgeben, wenn nein dann Leerzeichen |
Re: Records speichern in Datei
Hi!
Sollen die Zahlen immer positiv sein? Falls ja, dann würde ich ein neues Record immmer mit -1, -1, -1 initialisieren und dann nur c bspw. ändern. Dann kannst du es mit file of TTyp_deines_records in einer Datei wegspeichern und auch wieder lesen. Beim lesen kannst du dann die -1 wieder unter den Tisch fallen lassen.... Ciao Frederic |
Re: Records speichern in Datei
die Zahlen variieren. also sind sie nicht immer positiv
|
Re: Records speichern in Datei
Der Sinn des Ganzen kommt bei mir nicht an.
Ich würde zwei Records nehmen:
Delphi-Quellcode:
MyRec1 benutzt du für interne Zwecke und MyRec2 für die Datenspeicherung. Vor dem Speichern musst du MyRec2 nur mit den entsprechenden Werten aus MyRec1 füllen, bzw mit Leerstrings auffüllen.
type
TMyRec1 = Record a : Integer; b : Integer; c : Integer; end; TMyRec2 = Record a : String[5]; b : String[5]; c : String[5]; end; var MyRec1 : TMyRec1; MyRec2 : TMyRec2; //EDIT: Source ein wenig angepasst. |
Re: Records speichern in Datei
oder
Delphi-Quellcode:
und Load entsprechend!
TMyRecord = record
A,B: Integer; C: array of Integer; end; procedure SaveRecord (const F: TFileStream; const R: TMyRecord), var I: Integer; begin F.Write (R.A,SizeOf(Integer)); F.Write (R.B,SizeOf(Integer)); F.Write (Lenght(C),SizeOf(Integer)); for I := 0 to Length(C)-1 do F.Write (R.C[I],SizeOf(Integer)); end; |
Re: Records speichern in Datei
Hallo
Vielen Dank für die Hilfe werde ich gleich mal ausprobieren |
Re: Records speichern in Datei
Hi Darthwader. :hi:
Also, wenn ich deine Beschreibungen so lese, dann glaube ich zu meinen, dass du die Daten tabellarisch (Vorsicht: Record ist ein Fachbegriff) in die Datei schreiben willst. Schau dir hierzu mal in der Hilfe die Funktion ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
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