Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigenen DateiTypen für mein Programm! (https://www.delphipraxis.net/108654-eigenen-dateitypen-fuer-mein-programm.html)

ily.94 17. Feb 2008 11:47


Eigenen DateiTypen für mein Programm!
 
Also ich muss mich entschuldigen falls die überschrift nicht informationsreicher ist nur habe ich keine andere überschrift gefunden ,
und ich weiß es gibt schon so einen ähnlichen Theard nur hat dieser mir nicht weiter geholfen

Ich habe folgendes Problem: Ich will für mein Programm einen Eigenen Dateitypen erstellen eine Variable vom Typ String ins Hex umwandeln und das dann in diesen Dateitypen abspeichern also ungefähr sowas:


Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var YEK : MEINTYP ;
var KEY : String ;
begin
Try
YEK := MEINTYP.Create(X ORT);
KEY := StrToHex('I-ein Key');

YEK.WriteString(KEY);
Finally
YEK.Free
end;
end;

end.

und diese Hex möchte ich dann als Serial benutzen


habt ihr vorschläge ? Ich danke im Vorraus

rollstuhlfahrer 17. Feb 2008 11:53

Re: Eigenen DateiTypen für mein Programm!
 
so wie ich das sehe, suchst du Klassen und/oder Objekte.

versuchs doch mal mit class() oder record als Typ

rollstuhlfahrer

PS: wenn du in eine Datei speichern willst, dann nimm doch einfach ein Record

Corpsman 17. Feb 2008 11:54

Re: Eigenen DateiTypen für mein Programm!
 
Der Dateityp an sich ist ja ein schwammiger Begriff.

Die Frage ist was genau du mit deiner Umwandlung in Hex bezwecken willst.

ich würde etwas in der Art
Delphi-Quellcode:
Var f:Tfilestream;
    daten:String;
    i:Integer;
begin
  f := Tfilestream.create(Dateiname,fmopenwrite or fmcreate);
  f.write(length(daten),sizeof(integer));
  for i := 1 to length(Daten) do
    f.write(daten[i],sizeof(byte));
  f.free;
end;
ausprobieren.

ily.94 17. Feb 2008 12:08

Re: Eigenen DateiTypen für mein Programm!
 
Ich will mit der umwandlung in Hex die sicherheit des Keys erhöhen

Corpsman 17. Feb 2008 17:41

Re: Eigenen DateiTypen für mein Programm!
 
ok das schaffst du damit definitiv nicht.

Speichere den Schlüssel selbst verschlüsselt ab.

ily.94 17. Feb 2008 18:16

Re: Eigenen DateiTypen für mein Programm!
 
ICh verschlüssel ihn doch indem ich ihn in Hex umwandle oder nicht???

Corpsman 17. Feb 2008 18:32

Re: Eigenen DateiTypen für mein Programm!
 
Nein, damit nicht

den der PC stellt intern sowieso alles in hex dar

Ein Verschl+sseln wäre es wenn du sagen wir mal das ganze mittels xor speicherst

also

Delphi-Quellcode:

var key,b:Byte;
Daten:String;
begin
key := 123;

Schleife über daten
  b := ord{ oder odd }(Daten[i]);
  f.write(b xor key,sizeof(b));
..

ily.94 17. Feb 2008 19:24

Re: Eigenen DateiTypen für mein Programm!
 
was muss ich bei (Daten[i]); ergänzen????

Schleife über daten ... was muss ich GENAU da machen??? also wirte...... oder was wird da gemacht??

Corpsman 18. Feb 2008 08:19

Re: Eigenen DateiTypen für mein Programm!
 
Oh je,

soll keine Beleidigung sein, aber du hast mal 0 Ahnung.

Aber weil wir hier alle nett und freundlich sind, und ich auch mal klein angefangen hab will ich dir das ganze mal ausschreiben. Ich empfehle dir aber dringend es auch zu verstehn.
Delphi-Quellcode:
Var f:Tfilestream;
    daten:String;
    i:Integer;
    b:byte;
    Key:Byte;
begin
  f := Tfilestream.create(Dateiname,fmopenwrite or fmcreate);
  f.write(length(daten),sizeof(integer));
  Key := 123; // das ist der Key mit dem du verschlüsselst, im Prinzip egal was, hauptsache du weist es beim laden..
  for i := 1 to length(Daten) do
    b := ord(Daten[i]);
    b := b xor Key;
    (* 
    // Wenn du es noch ein wenig besser machen willst dann nimmst du diesen Kommentar auch noch mit rein
    // Allerdings must dann beim Decodieren ein wenig aufpassen, also erst mal ohne Testen
    //
    Key := (Key + 15 ) mod 256; // Verändern des Keys damit Gleiche Zeichen im Schlüssel unterschiedlich aussehen
    //*)
    f.write(b,sizeof(b));
  f.free;
end;

ily.94 20. Feb 2008 16:22

Re: Eigenen DateiTypen für mein Programm!
 
Ok vielen vielen Dank ich habs mir angeschaut und auch einigermaßen verstanden ;-)

doch muss der Variable daten nicht i-was zugewiesen werden???

Corpsman 20. Feb 2008 17:13

Re: Eigenen DateiTypen für mein Programm!
 
schau mal


Delphi-Quellcode:
f := Tfilestream.create(Dateiname,fmopenwrite or fmcreate);
der 2. Parameter sagt das die Datei zum Schreiben geöffnet wurde.

D.h. die Ganze Routine die du da siehst speichert, und beim Speichern mus man nur Lesend auf die Daten zugreifen.

Das Laden geht im prinzip Rückwärts und dabei wird dann auch ein String aufgebaut.

ily.94 20. Feb 2008 17:18

Re: Eigenen DateiTypen für mein Programm!
 
Ok sehr herzlichen dank ich werds mal probieren

und wohin speichert er das ganze :-D

sry wenn ich lässtig bin


//edit :
Delphi-Quellcode:
f.write(length(daten),sizeof(integer));
Zitat:

Variable erforderlich
waht is dis

Corpsman 20. Feb 2008 19:33

Re: Eigenen DateiTypen für mein Programm!
 
Du hast definitiv nicht versucht das was ich alles geschrieben habe zu verstehen.

Delphi-Quellcode:
f := Tfilestream.create(Dateiname,fmopenwrite or fmcreate);
in der Hilfe steht das Dateiname die Datei angibt in die gespeichert wird ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz