Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Typisierte datei anlegen (https://www.delphipraxis.net/84944-typisierte-datei-anlegen.html)

schuetzejanett 23. Jan 2007 22:29


Typisierte datei anlegen
 
hallo,

wie lege ich eine typisierte datei an?

Ich möchte eine typisierte datei für folgenden record anlegen

Delphi-Quellcode:
TField = record
     x1,y1,x2,y2,x3,y3,x4,y4 : Integer;
     Name :String[4];
end;
ich möchte die Werte aber in Delphi nur auslesen. da ich die Werte ja kenne , möchte ich sie gerne über einen texteditor eingeben. Weiß allerdings nicht wie, ich diese Datei mit einem editor oder ähnlichem Anlege und die Werte eingebe was muss da als Trennung zwischen den einzelnen Variablen und TFields stehen.

Luckie 23. Jan 2007 22:34

Re: Typisierte datei anlegen
 
Also eine typisierte Dtei mit einem Editor zu editieren, könnte sehr schwer werden. Warum nimmst du keine Ini-Datei? Die wäre wesentlich besser dazu geeigent.

Christian Seehase 23. Jan 2007 22:38

Re: Typisierte datei anlegen
 
Moin Janett,

so wie der Record aufgebaut ist, stehen die integer-Werte als jeweils 4 Byte hintereinander, wobei das niedewertigste Byte jeweils das äusserst Linke ist, dann folgt das Längenbyte des Strings (also eine 4) und dann die vier Zeichen des Strings.
Aber wie willst Du über einen Editor die Integer eingeben?
Zumindest wenn in den Bytes der Integer Werte < 32 stehen sollen/können, wirst Du sie über einen Texteditor nicht mehr eingeben können.

Ausserdem solltest Du den Record besser als packed record deklarieren, um nicht eventuell Lücken im Record zu haben.

Hador 24. Jan 2007 00:05

Re: Typisierte datei anlegen
 
Zitat:

Zitat von Christian Seehase
Aber wie willst Du über einen Editor die Integer eingeben?

:gruebel: Wiso? Mit einem Hex-Editor sollte das eigentlich doch kein Problem sein.

Ein guter ist bspw. HxD

Chemiker 24. Jan 2007 00:48

Re: Typisierte datei anlegen
 
Hallo,

die einzelnen Zahl und der String müsste man im Text-Editor durch Sepparatoren trennen, und sie anschließend im Programm im Einzelnen wieder herauslösen.

z.B.: [10|1|100|22|50|3|88|11|test]

m.wollert 24. Jan 2007 01:41

Re: Typisierte datei anlegen
 
Hallo,

also wenn Du die Auslese-Routine bereits hast, ist es sicher schneller die kurz umzustricken, daß die Datei wie gewünscht angelegt wird, als mit dem Editor etwas zu versuchen.

Grüße!
Michael

Hador 24. Jan 2007 13:31

Re: Typisierte datei anlegen
 
Zitat:

Zitat von Chemiker
Hallo,

die einzelnen Zahl und der String müsste man im Text-Editor durch Sepparatoren trennen, und sie anschließend im Programm im Einzelnen wieder herauslösen.

z.B.: [10|1|100|22|50|3|88|11|test]

:gruebel: Er will das doch mit einer typisierten Datei machen. Da braucht man keine Seperatoren. Jeder Integer bekommt ohnehin 4 Byte. Und die Länge des Strings ist ja auch konstant.

DP-Maintenance 24. Jan 2007 18:44

DP-Maintenance
 
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Hat ja irgendwie mit Delphi zu tun.

Chemiker 24. Jan 2007 20:21

Re: Typisierte datei anlegen
 
Hallo,

Zitat:

Zitat von Hador
Er will das doch mit einer typisierten Datei machen. Da braucht man keine Seperatoren. Jeder Integer bekommt ohnehin 4 Byte. Und die Länge des Strings ist ja auch konstant

Das Auslesen der Werte will schuetzejanett über eine typisierten Datei durchführen, aber die Eingabe soll über einen Texteditor erfolgen.

Und in einem Texteditor werden die Zahlen als Zeichen abgespeichert.


Zitat:

Zitat von Christian Seehase
Ausserdem solltest Du den Record besser als packed record deklarieren, um nicht eventuell Lücken im Record zu haben.

Das stimmt, aber durch die Verwendung von packed wird der Zugriff auf die Daten verlangsamt.
Bei ungepackten Records werden die Felder so erweitert, dass die CPU möglichst effizient darauf zugreifen kann.

Bis bald Chemiker

schuetzejanett 24. Jan 2007 20:30

Re: Typisierte datei anlegen
 
Hallo,

da das doch ziemlich kompliziert zu sein scheint habe ich mir jetzt ein kleines Tool geschrieben was die daten in die indizierte Dati schreibt , und lese sie dann in der anderen einfach wieder aus.

danke trotzdem für eure Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz