Moin,
ich habe eine Textdatei(Datenbank1.txt) die folgendermassen aussieht:
Zitat:
Ein anderes Wort für Geige ?Violine
Wer malte die "Mona Lisa" ?Leonardo da Vinci
Welche Mauer muss sich den ganzen Tag Klagen "anhören" ?Klagemauer
Nun habe ich im OnClick von Button1 auf meiner Form1 folgende Prozedur:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
xfile: textfile;
buffer: string;
i: integer;
Ch:Char;
begin
buffer := '';
AssignFile(xfile, 'C:\Datenbank1.txt');
Reset(xfile);
while not eof(xfile) do
begin
Read(xfile, ch);
buffer := buffer + ch;
end;
CloseFile(xfile);
for i := 1 to length(buffer) do
buffer[i] := Chr(Ord(buffer[i]) xor ((i mod 128)));
AssignFile(xfile, 'C:\Datenbank2.txt');
ReWrite(xfile);
for i := 1 to Length(buffer) do
write(xfile, buffer[i]);
CloseFile(xfile);
end;
Das Ergebnis in "Datenbank2" ist nach Klick des Buttons folgendes:
Zitat:
Dkm$dhcm{ox,Za}d1tïf5Qrq~;#HvOMKMA(,pM[
FMAZJU[V{XVXwUN_`~C!*(&:-%k(,n9?1:Y_24:2>|?*BG L PW,[7eo"!eknñzld),2D|puvytcrj
So nun möchte ich den Text wieder im Klartext haben, meine Button2-prozedur sieht so aus:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
xfile: textfile;
buffer: string;
i: integer;
ch: char;
begin
buffer := '';
AssignFile(xfile, 'C:\qdatenbank2.txt');
Reset(xfile);
while not eof(xfile) do
begin
Read(xfile, ch);
buffer := buffer + ch;
end;
CloseFile(xfile);
for i := 1 to length(buffer) do
buffer[i] := Chr(Ord(buffer[i]) xor ((i mod 128)));
AssignFile(xfile, 'C:\Datenbank3.txt');
ReWrite(xfile);
for i := 1 to Length(buffer) do
write(xfile, buffer[i]);
CloseFile(xfile);
end;
Nach einem Klick auf Button2, sieht Datenbank3.txt so aus:
Zitat:
Ein anderes Wort für Geige ?Violine
Wer malte die "Mona
Bitte nicht den Rest beachten, z.b warum ich für das ganze 2 prozeduren hab oder sonst was, da ich das nur testweise alles so habe, hier gehts mir lediglich darum, warum da im ergebniss Text fehlt?