Ein altes DOS-Programm benutzte ein String-Feld für Nummern. War dort am Anfang ein #0 eingetragen, war das ein Kennzeichen, daß keine gültige Nummer, sondern ein Steuerzeichen folgte.
z.B.
12345 --> Nummer 12345 (Standard)
#0#1 --> Steuerkennzeichen 1
function TestStatus(F: TStringField): integer;
var
C : PChar;
begin
Result := 0;
GetMem(C, F.DataSize); // genügend Speicher reservieren
try
if F.GetData(C) then // true--> Feld ist nicht leer
// C enthält den Inhalt des Feldes
if C[0] = #0 then // Steuerzeichen ?
Result := ord(C[1]);
finally
FreeMem(C);
end;
end;
|