Ein OEM-defined character set ist nunmal kein fest definierter Zeichensatz.
Nur die ersten 128 Zeichen ($00-$7F) stehen fest und der Rest ($80-$FF) hängt vom Zeichensatz ab.
Kennst du zufällig den Zeichensatz deines Displays?
(sollte in der Dokumentation stehen.)
Notfalls stellst du dir einfach selber 'ne Konvertierungsfunktion her.
Delphi-Quellcode:
Function StringToMyOEM(Const s: String): String;
Var i: Integer;
Begin
Result := s;
For i := 1 to Length(Result) do
Case S[i] of
#$00..#%7F: ;
'ü': Result[i] := #$81;
'ä': Result[i] := #$84;
'ö': Result[i] := #$94;
'ß': Result[i] := #$E1;
'Ü': Result[i] := #$9A;
'Ä': Result[i] := #$8E;
'Ö': Result[i] := #$99;
'²': Result[i] := #$FD;
'³': Result[i] := #$FE;
'µ': Result[i] := #$E6;
Else Result[i] := '?';
End;
Am Besten du schaust dir auch mal die anderen Zeichen über $7F an und fügst die nötigen ebenfalls mit ein.