Einzelnen Beitrag anzeigen

Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#1

Verschlüsselung einer CSV Datenbank Klappt nicht ganz

  Alt 8. Mai 2009, 10:53
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
Manuel
Lieber heimlich schlau als unheimlich dumm
  Mit Zitat antworten Zitat