Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Record mit array in Datei schreiben? (https://www.delphipraxis.net/39517-record-mit-array-datei-schreiben.html)

alcaeus 4. Feb 2005 04:50

Re: Record mit array in Datei schreiben?
 
Zitat:

Zitat von Jens Schumann
Zitat:

Zitat von alcaeus
Zitat:

Zitat von Jens Schumann
Natürlich könnte man die Strings noch lesen. Die Strings wären bei der Verwendung von Streams ebenfalls lesbar.

Lesbar,nicht lesbar, der Teil ist eigentlich egal, schliesslich sieht man die Strings im Programm sowieso. :zwinker: Mir geht es mehr darum, dass man die Texte in der Datei nicht so einfach aendern kann...

Greetz
alcaeus

Dann verwende doch die dpcollection mit Binary auf True.

Werd ich machen, wie gesagt, ich melde mich heute nachmittag nochmal. Gleich gehts los :coder:

Greetz
alcaeus

maximov 4. Feb 2005 11:55

Re: Record mit array in Datei schreiben?
 
Moin,

da die dpCollection auf streams basiert und du sie nicht in reinform speichern willst (egal ob binär oder text), würde sich eine strom-verschlüsselung anbieten. Und dafür haben wir ja Hagens RC4 verschlüsselung, die sehr schnell ist unhd tausendmal sicherer als irgendwas einfach zu negieren:

http://www.delphipraxis.net/internal...ct.php?t=30830

Du könntest dort die TRC4Stream-klasse benutzen, welche leider hart von TMemoryStream abstammt. Wesentlich flexibler wäre hier eine RC4-dekorierer klasse. Die dekorierer-klasse würde, wie ein wrapper, um jede beliebige stream-klasse gelegt werden können. Das hatte ich damals verschlafen. Wenn interesse besteht würde ich ihn basteln, da es mich wurmt, das ich hier ein so unflexibles gebilde eingebracht habe.

Konstrukte der art wären dann möglich:

Delphi-Quellcode:
var rc4DekoStream:TRC4StreamDecorator;
begin
  rc4DekoStream:= TRC4StreamDecorator( TFileStream.Create('c:\dat'), fmCreate) );
  try
    myCollection.saveToStream( rc4DekoStream );
  finally
    rc4DekoStream.free;
  end;
end;
egal welcher stream sich im inneren befindet, die daten laufen erstmal durch die verschlüsselung und dann in den eigentlichen stream. Damit ist man nicht mehr von irgendwelcher ableitungshierarchien abhängig und kann die funktionalitäten beliebig kombinieren :-D

dpCollection rules :dp:

alcaeus 4. Feb 2005 12:53

Re: Record mit array in Datei schreiben?
 
Hallo maximov,

Zitat:

Zitat von maximov
da die dpCollection auf streams basiert und du sie nicht in reinform speichern willst (egal ob binär oder text), würde sich eine strom-verschlüsselung anbieten. Und dafür haben wir ja Hagens RC4 verschlüsselung, die sehr schnell ist unhd tausendmal sicherer als irgendwas einfach zu negieren:

es geht nicht unbedingt darum, die Texte unknackbar zu verschluesseln, sondern mehr darum, ein zufaelliges Aendern der Texte zu verhindern (es soll ja User geben die sowas machen wuerden :roll:). Das mit der Wrapper-klasse kannst du ja gerne machen falls du Zeit hast, es waere definitiv ein gutes Feature fuer die Collection.

Zitat:

dpCollection rules :dp:
Stimmt :thumb: Ich habs heute probiert, und musste zwar das ganze Language-Support-System neu schreiben, hatte aber 2 Stunden nach Beginn alles fertig (Klassen, speichern, laden, setzen von Texten, ...). Die Collection ist echt gut :thumb:

Greetz
alcaeus

maximov 4. Feb 2005 13:15

Re: Record mit array in Datei schreiben?
 
Zitat:

Zitat von alcaeus
...es geht nicht unbedingt darum, die Texte unknackbar zu verschluesseln, sondern mehr darum, ein zufaelliges Aendern der Texte zu verhindern (es soll ja User geben die sowas machen wuerden :roll:). ...

Na, dann reicht Binary = true völlig aus, denn dann kann man es höchstens mit BinE zufällig änder (sofern es eine TmxJsCollection ist).

Den dekorierer mach ich bei gelegenheit :wink:

alcaeus 4. Feb 2005 13:32

Re: Record mit array in Datei schreiben?
 
Zitat:

Zitat von maximov
Na, dann reicht Binary = true völlig aus, denn dann kann man es höchstens mit BinE zufällig änder (sofern es eine TmxJsCollection ist).

Joa, das sollte reichen...

Zitat:

Den dekorierer mach ich bei gelegenheit :wink:
Super, darf ich dich um einen Gefallen bitten? Halte die neue Klasse abwaertskompatibel (evtl. ein zusaetzliches Flag), so dass ich nicht alles neu bearbeiten muss ;)

Greetz
alcaeus

Robert_G 4. Feb 2005 13:56

Re: Record mit array in Datei schreiben?
 
[quote="alcaeus"]
Zitat:

Zitat von maximov
Zitat:

Den dekorierer mach ich bei gelegenheit :wink:
Super, darf ich dich um einen Gefallen bitten? Halte die neue Klasse abwaertskompatibel (evtl. ein zusaetzliches Flag), so dass ich nicht alles neu bearbeiten muss ;)

Sollte sich eigentlich nicht viel ändern.
Das DFM-streaming ist eigentlich immer abwärtskomptibel. ;) (ist einer DER Vorteile gegenüber solchen Bastelleien wie file of <type>)

maximov 4. Feb 2005 14:44

Re: Record mit array in Datei schreiben?
 
Jungs! Ihr habt nicht richtig zugehört :-D Der stream-dekorierer hat nix mit der dpCollection zu tun. Höchstens mit dem stream, den man zum streamen benutzt und, da ein Dekorierer nach aussen immer eine kompatible schnittstelle haben muss, braucht ihr euch keine sorgen zu machen.

alcaeus 4. Feb 2005 16:20

Re: Record mit array in Datei schreiben?
 
Super! Ich werde dann mal alles fertigstellen, vielleicht stell ich ja das Language Support System mal hier rein...
Thema erledigt, danke an alle! :thumb:

Greetz
alcaeus

maximov 20. Feb 2005 15:19

Re: Record mit array in Datei schreiben?
 
Zitat:

Zitat von maximov
...
Den dekorierer mach ich bei gelegenheit :wink:

So die gelegenheit war gestern und zu finden is der RC4 Stromdekorierer hier: http://www.delphipraxis.net/internal...586&highlight=

Nich das man denkt ich würde sachen versprechen, die ich nicht halte :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 2 von 2     12   

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