Hallo Zusammen,
momentan arbeite ich an einem Programm das eine
CSV-Datei als Datenbank benutzt. Diese Datei würde ich gerne Verschlüsseln.
Ich Verschlüssele mit RCx
Anfangs lief alles wunderbar. Wenn ich die Datei unverschlüsselt geladen hatte dann Codiert und wieder Decodiert hatte war alles super, aber wenn ich die
CSV-Date verschlüsselt gespeichert und wieder geladen hatte, lädt es nicht alles in das Memo oder in das Stringgrid mittels diesem Code
Delphi-Quellcode:
procedure loadgrid(StringGrid: TStringGrid;
const FileName: TFileName);
var
csv : TStringList;
i : Integer;
begin
csv := TStringList.create;
csv.loadfromfile(Filename);
stringGrid.rowCount :=
csv.count ;
for i:=0
to csv.count -1
do
begin
clear(
CSV[i]);
StringGrid.Rows[i].Delimiter:='
;';
StringGrid.Rows[i].DelimitedText:=
csv[i];
end;
csv.free;
end;
er bricht dann irgendwann ab, wobei die Datenmenge nicht groß ist (3 KB)
Ich glaube, das er irgendwie ein Problem beim einlesen mit "LoadfromFile" hat irgendein Zechen schmeckt ihm nicht
Hier die beiden Aufrufe zum Ver- und Entschlüsseln
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
x: TRCxContext;
I: Integer;
C: Integer;
STR1,STR2:String;
begin
stringgrid2.RowCount := stringgrid1.RowCount;
stringgrid2.ColCount := stringgrid1.colcount;
for I := 0 to stringgrid1.RowCount - 1 do
begin
for C := 0 to stringgrid1.ColCount - 1 do
begin
str1 := '';
str2 := '';
str1 := Stringgrid1.Cells[C,i];
setLength(str2,length(str1));
RCxInit(x,'Passwort');
RCxenCode(x, str1[1], str2[1], Length(str1)); // verschlüsseln
RcxDone(x);
stringgrid2.Cells[C,i] := str2;
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
x: TRCxContext;
I: Integer;
C: Integer;
STR1,STR2:String;
begin
stringgrid3.RowCount := stringgrid2.RowCount;
stringgrid3.ColCount := stringgrid2.colcount;
for I := 0 to stringgrid2.RowCount - 1 do
begin
for C := 0 to stringgrid2.ColCount - 1 do
begin
str1 := '';
str2 := '';
str1 := Stringgrid2.Cells[C,i];
setLength(str2,length(str1));
RCxInit(x,'Passwort');
RCxdeCode(x, str1[1], str2[1], Length(str1)); // verschlüsseln
RcxDone(x);
stringgrid3.Cells[C,i] := str2;
end;
end;
end;
Ich weis ehrlich gesagt nicht wie ich damit umgehen soll und hoffe das ihr mir Helfen könnt das er alles komplett einliest und auch wieder richtig Entschlüsseln kann.
Ich hoffe das ich es einigermaßen gut beschrieben hab ansonsten werde ich den Post nochmal editieren falls Unklarheiten vorhanden sein sollten.
Gruß
Manu