Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 23.05.03 20:26 
Hallo,
wie kann ich am besten folgenden record abspeichern:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
type
  TTK = record
    Termin, Wann, Um, Bemerkung:String;
  end;

das ist ein dynamischer array

_________________
MFG
Michael Springwald, "kann kein englisch...."
Segelflieger
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 124

WinXP Pro
D7 Prof
BeitragVerfasst: Fr 23.05.03 22:39 
meinst du in einer Datei speichern?

_________________
Früher hatten die Menschen Angst vor der Zukunft. Heute muss die Zukunft Angst vor den Menschen haben.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 23.05.03 22:40 
bisher habe ich mir dafür immer ein einges format ausgedeacht und habe mit TSringList gearbeitet aber das finde ich doof.

und suche eine besser/schneller lösung, gibt es eine ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 23.05.03 23:43 
Kuck mal hier:
[url=www.luckie-online.de...dfilessfx.exe]Klasse für typisierte Dateien mit Demo[/url]
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 24.05.03 12:53 
Hallo,

hier mal ein paar Links die dich interssieren könnten:
www.delphi-forum.de/viewtopic.php?t=7881
www.delphi-forum.de/viewtopic.php?t=7296
www.delphi-forum.de/viewtopic.php?t=9624

Grundtenor hierfür in diesen Artikeln sind Typisierte Dateien. Wie auch in den Postings erwähnt, kannst du hier ein Beispielprogramm dazu runterladen.

Gruß
Klabautermann
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.05.03 14:42 
Klabautermann hat folgendes geschrieben:
kannst du hier ein Beispielprogramm dazu runterladen.

An deinem Beispiel, habe ich übrigens meine Klasse aufgebaut. Mir hat nicht gefallen, dass die Wiederverwendbarkeit nicht so gegeben war. Ich denke, dass habe ich mit meiner Klasse mehr oder weniger gelöst, man muß nur die Felder des Rekords in der Datei TypedFile.pas seinen bedürfnissen anpassen, dann kannman die Methoden ganz einfach benutzen und muß sich um nichts mehr kümmern. Kuck es dir doch mal an und sag mir mal was du davon hältst.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 24.05.03 14:54 
was mich nur stört ist:
ausblenden Delphi-Quelltext
1:
Vorname, NachName : STRING[40];					

das [40] könnte man darauf nicht versichten ????

_________________
MFG
Michael Springwald, "kann kein englisch...."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.05.03 15:00 
Nein.

Es muß ja Speicher für den Record reserviert werden und das geht nur, wenn vorher bekannt ist, wie groß dieser Record ist. Deshalb sind typisierte Dateien mit Strings auf ShortStrings begrenzt. Ein normaler Pascal String ist ja auch nur ein dynamisches Array und die bekommst du auch nicht in Records unter, eben weil deren Größe unbekannt ist.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 24.05.03 15:36 
gibt es noch mehr wege ein record einfach abzuspeichern, ohne dafür extra ein format zu erstellen ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.05.03 15:38 
Der Record ist Datei-Format.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 24.05.03 15:44 
ja schom, aber bei meinen formaten die ich immer erstelle brauche ich keine [40] einzugeben, und so, und ich dachte halt das es einen allgemeinen weg gibt:)

_________________
MFG
Michael Springwald, "kann kein englisch...."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.05.03 15:50 
Wenn ich das richtig verstanden habe, hast du ja immer nur Stringlisten abgespeichert. Und das sind ganz normale ASCII-Textdateien. Von einem eigenen Dateiformat kann also keine Rede sein.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 24.05.03 15:53 
Hallo,
mimi hat folgendes geschrieben:
gibt es noch mehr wege ein record einfach abzuspeichern, ohne dafür extra ein format zu erstellen ?

ein Format musst du dir immer erstellen, die Frage ist nur, ob du den Einfachen Weg über Typisierte Dateien gehst, für diese muss ein Record Fester größe vorhanden sein, oder ob du mehr Flexibilität benötigst und dafür dann aber auch mehr Arbeit investierst.

Ein Beispiel für einen Formatentwurf der letzten Kathegorie findest du im dritten Link aus meinem letzten Post. Dort wird zwar auch auf Basis von Records gearbeitet, du kannst aber auch jeden anderen Datentyp (String) zugrundelegen und diese auch mischen. Du musst nur die entsprechenden Zusatzinformationen mitnehmen.

Gruß
Klabautermann
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 24.05.03 16:03 
Hallo,
Luckie hat folgendes geschrieben:
Kuck es dir doch mal an und sag mir mal was du davon hältst.

macht 'n ganz guten eindruck. Es ist doch immer wieder erstaumlich was man mit wenig Aufand machen kann. Denn deine Klasse beherrscht ja so ziemlich alles was man so zur (typisierten)Datenspeicherung benötigt. Ich wollte mal sowas ähnliches machen, allerdings auf Basis von untypiserten Dateien, dann muss die Klasse nur die Größe des Records kennen, seine Struktur aber nicht. Mal wieder eines dieser "irgendwann wenn ich Zeit und Lust habe" Projekte ;).

Gruß
Klabautermann
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.05.03 16:11 
Klabautermann hat folgendes geschrieben:
allerdings auf Basis von untypiserten Dateien, dann muss die Klasse nur die Größe des Records kennen, seine Struktur aber nicht.

Das wäre der Gag überhaupt, dann kann man die Recorddeklaration ganz aus der Klassen-Datei rausnehmen und übergibt zusätzlich nur die Recordgröße.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 24.05.03 16:16 
was meinst du mit Recordgröße ?
der einzelen variable ?
oder wie meinst du das ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 24.05.03 19:23 
Hi,
mimi hat folgendes geschrieben:
was meinst du mit Recordgröße ?
der einzelen variable ?
oder wie meinst du das ?

ja, aber die Variante setzt immernoch voraus, das du weist, wie Groß deine Daten sind, das tust du nicht mehr sobald du die Eckigen Klammern bei Strings weglässt.

Gruß
Klabautermann
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 24.05.03 19:50 
aber in mein fall muss ich strings abspeichern wo ich nicht die größe immer weiß.... und wo ich auch keine maxi größe festlegen möchte, gibt es dafür auch eine lösung ?

_________________
MFG
Michael Springwald, "kann kein englisch...."