Einzelnen Beitrag anzeigen

Benutzerbild von matthiasl
matthiasl

Registriert seit: 30. Okt 2003
Ort: Nienburg
14 Beiträge
 
Delphi 2007 Enterprise
 
#1

ungültiger Extended-Value

  Alt 17. Feb 2006, 02:06
Schönen guten Tag erstmal,

ich habe gerade beim Übertragen von Access(DAO)-Daten in MySql einen Extended-Wert gefunden, der sich beim Kopieren nicht in Zeichen umwandeln ließ. Mit einem Hex-Editor hab ich den seltsamen Wert gesucht und gefunden.

Delphi-Quellcode:
var
  e:Extended;
  p:^Byte;
begin
  p:=@e;
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$00; inc(p);
  p^:=$C0; inc(p);
  p^:=$FF; inc(p);
  p^:=$FF; inc(p);

  ShowMessage(FloatToStr(e)+' und '+VarToStr(e));
end;
Frage 1: Kann mir jemand erklären, wie es eine Extended-Variable geben kann, die keinen gültigen Wert enthält?

Frage 2: Kann mir jemand erklären, woran man solche Werte identifizieren kann? Eine Funktion wie "isValidFloat(e:Extended):Boolean" wäre das Ziel.

Frage 3: Wie kann es zu solchen Werten kommen? Gibt es andere Leute, die aus einer ansonsten intakten Access-Datenbank soetwas rausgelesen haben?

Jeder auch noch so kleine Ansatz/Idee wird hilfreich sein.
  Mit Zitat antworten Zitat