AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigener Dateityp - aber WIE?

Ein Thema von Stanlay Hanks · begonnen am 23. Apr 2003 · letzter Beitrag vom 21. Feb 2004
 
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#4
  Alt 24. Apr 2003, 00:47
Hi,

@Specialwork: Versteh das nich so richtig. Wie meinst du das mit "binär" abspeichern? Wandelst du irgendwie all deine Daten in integer- Werte um, rechnest sie dann in einen Binären code um und speicherst diesen dann als Text ab oder wie?

Ich mach das mit eigenen Dateitypen meistens so:
Erstmal gucke ich was ich in meinem Programm für einen Datentyp brauche, den ich verwalten muss bzw. welches Format die Daten haben sollten die ich verwalten muss.
Dann deklrarier ich mir einen Typ, z.B. für eine Adressverwaltung:
Delphi-Quellcode:
type
     adresstyp = record
                   name, strasse, ort: string;
                   hausnr, tel, fax: integer;
                 end;
Ok, in dem Beispiel sieht man jetz nich wirklich den Sinn von eigenen Typen, weil ich für all diese Daten eigentlich nur Strings brauche, aber so könnte das z.B. aussehen.
Dann kann ich irgendeine Variable deklarieren, die dieesen Typ hat; bei Adressverwaltungen solltes dann aber schon ein Array sein:
adressen: array[0..99] of adresstyp; Ne Wertezuweisung kann dann so aussehen:
adressen[0].name= 'S - tefano'; So, aber jetz kommt eigentlich ers das für dich eher wesentliche.
Naja, oder auch nicht. Denn den Typ haben wir ja oben schon deklariert, und wir können auch einen Array erzeugen und ihn mit Daten füllen. Diese Daten sind dann schon so "formatiert" wie wir es oben haben wollten.
Wir haben also quasi schon fast ne Datei, aber noch isses nur n Array der diesen Typ hat, den wir noch abspeichern müssen.
Sowas geht dann (so mach ich es jedenfalls) mit Files.

Delphi-Quellcode:
procedure abspeichern;
var
 f: file of adresstyp;{die Variable steht im Programm stellvertretend für ne Datei}
 i: integer;{Schleifenzähler der gleichzeitig Index im Array angibt}
begin
 assignfile(f, 'dateiname.adr'); {der Variable f einen Dateinamen zuweisen}
 {$I-} {Compilerschalter, weiß nich mehr warum der sein muss, aber ich bin mir ziemlich sicher dass der muss... :lol: }
 reset(f);
 if ioresult= 0 then begin {wenn kein Fehleraufgetreten is, dann...}
  for i:= 0 to arlength do begin {arlength soll der Index des letzten Eintrags im Array ein}
   write(f, adressen[i]); {in der Schleife werden die einzelnen Datensätze des Arrays in die Datei geschrieben, sind ja nur aneinandergereihte Variablen}
  end;
  closefile(f); {Datei wieder schließen, um anderen Programmen den Zugriff zu ermöglichen}
  {$I+}
 end;
end;
Hm, irgendwas hab ich bestimmt falsch gemacht, weil lange nich mehr sowas gemacht, aber das is eigentlich alles was du für ein eigenes Dateiformat brauchst.
OK, auslesen solcher Dateien wär ja auch nich schlecht, aber dazu bin ich jetz mittlerweile doch schon zu müüüde...

Hoffe mal dass es überhaupt das war was du wissen wolltest...

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 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