AGB  ·  Datenschutz  ·  Impressum  







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

Dateigröße bei Array of String[255];

Ein Thema von Hazardos · begonnen am 13. Nov 2003 · letzter Beitrag vom 18. Nov 2003
Antwort Antwort
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#1

Dateigröße bei Array of String[255];

  Alt 13. Nov 2003, 12:10
Hallo,
ich habe ein Programm geschrieben, welches eine Datei einliest mit einem Array[0..1000] of String [255]
Ich möchte, dass sich die Länge der Strings automatisch einstellt, um die Datei kleiner zu machen. Die Länge sollte aber auch maximal werden können.

mfg Hazardos
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Dateigröße bei Array of String[255];

  Alt 13. Nov 2003, 12:55
Hallo Hazardos!

Sofern die Datei nur Text und keine anderen Daten beinhaltet, verwende doch einfach TStringlist (Methoden:LoadFromFile, SaveToFile). Falls Du NonVCL würd ich mir die VCL Implementierung mal anschauen. Ist nämlich gut gelöst von den Borländern.

Viele Grüsse

OLLI
No Pain No Gain!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Dateigröße bei Array of String[255];

  Alt 13. Nov 2003, 15:15
Wie wäre es mit AssigneFile, Reset, und Readln?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#4

Re: Dateigröße bei Array of String[255];

  Alt 16. Nov 2003, 23:35
und ähm

...array of string; //[255] weglassen
  Mit Zitat antworten Zitat
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#5

Re: Dateigröße bei Array of String[255];

  Alt 17. Nov 2003, 08:48
Den teil brauche ich um eine datei diesen typs zu speichern.... deswegen auch
array[0..1000] of string[255]
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Dateigröße bei Array of String[255];

  Alt 17. Nov 2003, 19:02
Ich würde das so machen! [Nicht verpflichtend]

Delphi-Quellcode:
?? = record
  dwLength : Cardinal; // Anzahl der Zeichen
  fStrs : array [0..0] of String;
end;
Einfache währe eine TStringList nachkomme!

In die Datei wird dann gespeichert:

4 Byte - Anzahl der Strings

für jeden Eintrag
4 Byte - Länge des Strings
n Byte - Daten des Textes
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Dateigröße bei Array of String[255];

  Alt 17. Nov 2003, 20:08
Moin Neolithos,

wenn Du versuchst einen Record einzulesen, der so aufgebaut ist, wirst Du aber nicht das Gewünschte erhalten.
Ein String ist schliesslich erst einmal nur ein Pointer, dass heisst der Record, den Du da deklariert hast, hat eine Länge von 8 Byte.

Das beschriebene Prinzip (Länge + n Byte Daten) ist natürlich richtig, aber so einen Record kannst Du leider nicht dafür verwenden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Dateigröße bei Array of String[255];

  Alt 18. Nov 2003, 11:05
Warum nicht???

Mein Bsp. ausführlicher (nur einlesen):

BlockRead-> ersten 4 Bytes in dwLength
GetMem(fData, 4 * dwLength + 4) <- obwohl ich mir an dieser Stelle nicht sicher bin ob ich Delphi mit seiner String-Verarbeitung durcheinander bringe (deshalb verwende ich meistens PChar's, die sind eindeutig)

fData.dwLength := dwLength;

Und dann für jeden Eintrag:

Länge via. BlockRead
Einlesen der String-Daten

String -> SetLength(fData.fStr[I], Länge)
PChar -> GetMem(fData.fStr[I], Länge + 1)

------

* vorsicht nicht getestet, nur aus dem gedächtnis notiert *
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Dateigröße bei Array of String[255];

  Alt 18. Nov 2003, 20:13
Moin Neolithos,

so ginge das natürlich.
Ich meinte, dass man nicht einfach einen Record so definieren kann, wie Du es getan hast, und direkt in diesen Einlesen, ohne Speicher zu reservieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:21 Uhr.
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