Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: AnsiString speichern und laden

  Alt 14. Mär 2021, 20:52
Damit er erstmal dennoch weiterkommt
ohne extras die delphi nicht besitzt
für das Experiment habe ich mal was getippst hier in Editor, in der Hoffnung das wichtigste zu zeigen.

Delphi-Quellcode:
uses System.NetEncoding, System.IniFiles;

function WilliEnc(const AValue: AnsiString): AnsiString;
var
  Nibble: AnsiString;
begin
  Nibble := AValue;
  // mach hier dein nibble ding


  // hier verpacken wir alles in ein Base64
  Nibble := TNetEncoding.Base64.Encode(Nibble);
  Exit(Nibble);
end;

function WilliDec(const AValue: AnsiString): AnsiString;
var
  Bytes: TBytes;
  Nibble: AnsiString;
begin
  // hier wird aus dem base64 wieder ein ansistring, und zwar nur ein ansistring (!)
  Bytes := TNetEncoding.Base64.DecodeStringToBytes(AValue);
  Nibble := TEncoding.ANSI.GetString(Bytes);
  // ab dieser stelle ist der geladene base64 kodierte inhalt wieder dein original ansistring
  // also mach ab hier dein nibble ding :-)


  Exit(Nibble);
end;

function LoadData: string;
var
  Ini: TIniFile;
begin
  Result := '';
  if FileExists('name.ini') then
    begin
      Ini := TIniFile.Create('name.ini');
      try
        Result := WilliDec(Ini.ReadString('Sektion', 'Ident', ''));
      finally
        Ini.Free;
      end;
    end;
end;

procedure SaveData(const AValue: string);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create('name.ini');
  try
    Ini.WriteString('Sektion', 'Ident', WilliEnc(AValue));
  finally
    Ini.Free;
  end;
end;



// exemplarische Anwendung

procedure TForm1.btnLoadClick(Sender: TObject);
begin
  Edit1.Text := LoadData;
end;

procedure TForm1.btnSaveClick(Sender: TObject);
begin
  SaveData(Edit1.Text);
end;
nicht getestet, nur getippt

...roter text beim speichern oh oh...


//edit
an Thomas: ich bin voll auf deiner seite!
Gruß vom KodeZwerg

Geändert von KodeZwerg (14. Mär 2021 um 20:57 Uhr)
  Mit Zitat antworten Zitat