Einzelnen Beitrag anzeigen

Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: "Cardinal-String" zurück in Cardinal: Exceptio

  Alt 12. Mai 2006, 14:13
Zitat von himitsu:
Also willst du eine Cardinal-Variable in 'ner INI speichern, welche ja "nur" Integer annimmt ... hab ich dat richtig verstanden?

Dann tu doch einfach so, als wenn der Cardinal ein Integer wäre ^^
Delphi-Quellcode:
Var C: Cardinal;

Ini.ReadInteger('...', '...', Integer(C));
Ini.WriteInteger('...', '...', Integer(C));
Ich möchte eine Cardinal-Var (voller Bereich also 0..high(Cardinal)) in eine Ini speichern und sie auch wieder lesen. Aber dein Weg klappt super. THX

Zitat von Klaus01:
Dann leite doch das Object TIni ab und gebe ihm noch die Methode die fehlt.


Nur ein Ansatz:
Delphi-Quellcode:
function ReadCardinal(const Section, Ident: String; Default: Cardinal): cardinal;
var
  s:String;
begin
  s:=ReadString(section,ident,0);
  result:=StrToInt64(s); // vielleicht noch auf cardinal casten
end;
...

Grüße
Klaus
Das wäre eine Möglichkeit, da hst du recht.

Zitat von marabu:
Das Problem ist, das die API Funktionen für die veralteten IniFiles nicht mitspielen. Ich würde TMemIniFile verwenden und alle anderen Vorteile genießen, die diese Klasse mitbringt:

Delphi-Quellcode:
procedure TDemoForm.ExtraGridClick(Sender: TObject);
var
  c: Cardinal;
begin
  with TMemIniFile.Create(ExtractFilePath(ParamStr(0)) + 'temp.ini') do
  begin
    ShowMessage(IntToHex(MaxInt, 8));
    c := Cardinal(MaxInt) shl 1;
    WriteInteger('test', 'card', c);
    c := ReadInteger('test', 'card', 0);
    ShowMessage(IntToHex(c, 8));
    Free;
  end;
end;
Grüße vom marabu
Auch eine super Möglichkeit.


Vielen Dank an alle. Ihr habt mir - wie immer - sehr gut weiter geholfen
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat