Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Stringfield in Datenbank; EIN Byte ÄNDERN

  Alt 26. Sep 2007, 13:48
Deine Vorgehensweise gefällt mir gar nicht; zu umständlich.
Zunächst wird ein Varianter Record definiert:
Delphi-Quellcode:
type
   T32BitCharField = record
      case Integer of
         0:
          (LongValue:Longint);
         1:
          (bytes: array[0..3] of char);
   end;
Damit kann man zwischen den verschiedenen Darstellungen wechseln:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   x : T32BitCharField;
   s : string;
begin
   s := adstableAnzahl.AsString; // Feld auslesen
   StrLCopy(x.bytes, Pchar(s), 4); // auf "x" kopieren

   // x wird verändert
   x.LongValue := x.LongValue + 100;

   SetString(s, x.bytes, 4);
   dstableAnzahl.AsString := s; // Feld zurückschreiben
end;
Andreas
  Mit Zitat antworten Zitat