Autor Beitrag
Stefan S.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Mi 20.04.05 12:50 
Sorry, wenn ich wieder irgendwelche FAQ-Threads übersehen habe, aber ich habe nichts brauchbares gefunden. Ich will einige Strings in einer Datei abspeichern. Bis jetzt hab ich das immer einfach mit "Writeln" gemacht, aber ich wollte mal fragen, ob es eigentlich ausser der Tatsache, dass man nicht mehr in den Dateien "rumspielen" kann noch Vorteile bringt, eine Datei binär abzuspeichern. Dass sie viel weniger belegt hab ich bei diversen Testprogrammen jedenfalls nicht festgestellt...
Und wenn ja, wie geht das, dass man Strings abspeichert? Ich weiss ja, wie man mit "FileWrite" Zahlen abspeichert, aber muss man dann wirklich eigenhändig jedes einzelne Zeichen in eine Zahl umwandeln?
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 20.04.05 13:01 
die "umwandlung in eine zahl" passiert von selber, da der computer ja intern alles mit zahlen speichert. du wirst also das problem haben, dass du zwar eine binäre datei hast, die strings aber trotzdem im klartext lesbar sind. die einfachste lösung hierfür wäre eine Suche in: Delphi-Forum, Delphi-Library XOR VERSCHLÜSSELUNG

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Stefan S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Mi 20.04.05 13:23 
Das bringt dann aber nur den Vorteil, dass man es nicht mehr lesen kann, nicht, dass es weniger belegt, oder?
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 20.04.05 14:45 
das ist richtig, weniger platz braucht es nur wenn man den text komprimiert.

was du probieren könntest ist, deine strings in einen Suche in: Delphi-Forum, Delphi-Library PACKED RECORD zu stecken, und den dann in die datei zu schreiben. rein theoretisch sollte das dann komprimiert sein. ich habe es aber noch nicht ausprobiert.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Mi 20.04.05 15:07 
Ein Packed Record packt nicht.
Das "packed" bewirkt nur, dass die "Optimierung auf Bereichgrenzen" ignoriert wird.

Um auf die ursprüngliche Frage zu kommen:
Ich für meinen Teil kann binäre Dateien nicht leiden.
Gründe:
- "von außen" kann man nix mit ihnen anfangen
- Man kann bei Weiterentwicklung der Software richtig Schwierigkeiten mit der Kompatibilität bekommen.

Ich liebe Ini-Files, die leicht zu handeln und flexibel sind und in die man notfalls auch mal mit nem Texteditor reingucken kann.
Brauchen zwar etwas mehr Speicherplatz, aber bei den heutigen Festplattengrößen ist das egal. Und wenn man ganz große Datenmenge verwalten will, dann sollte man sowieso auf eine richtige Datenbank umsteigen.

Beste Grüße
Tastaro
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Mi 20.04.05 16:13 
Ich würde mal sagen, der Einsatzbereich Binär/Textdatei ist einfach nicht der gleiche.
Im Fall der Binärdatei ist es meist klar, ob es Sinn macht. Nämlich dann, wenn
1. sich Daten nicht auf sinnvolle Art und Weise in eine Human-Readable Form gebracht werden können (z.B. Audio/Video)
2. wenn Platz gespart werden soll
3. die Daten komprimiert oder verschlüsselt sind
4. ein Eingriff von aussen möglichst verhindert werden soll
5. es sich um eine grosse Datenmege handelt und die Daten stark strukturiert sind
Das ist natürlich keine vollständige Liste ;)

Bei Konfigurationsdateien ist eine Ini-Datei wohl am bequemsten. Für semistrukturierte Daten XML.
Stefan S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Do 21.04.05 12:49 
OK, davon trifft jetzt bei dem einen Programm eigentlich nichts wirklich zu. Aber wenn bei einem anderen Programm was davon zutreffen sollte, wie programmier ich das dann am besten?