При использовании DOS DBF файлов - перекодировка между форматами
Материал из DRKB
При использовании DOS DBF файлов - перекодировка между форматами[править | править код]
При использовании DOS DBF файлов можно сделать небольшую программку (или процедурку), которая произведет перекодировку между форматами. что-то типа:
function update_dos(s: string): string;
var
c: string;
I: Integer;
l: Byte;
dd: Char;
begin
i := 1;
c := '';
while i < Length(s)+1 do
begin
l := Ord(s[i]);
Inc(i);
if (l >= 128) and (l <= 192) then
l := l + 64
else if (l >= 224) and (l < 240) then
l := l + 16
else if l = 241 then
l := 184
else if l = 240 then
l := 168;
dd := Chr(l);
c := c + dd;
end;
Result := c;
end;
function update_win(s: string): string;
var
c: string;
I: Integer;
l: Byte;
dd: Char;
begin
i := 1;
c := '';
while i < Length(s)+1 do
begin
l := Ord(s[i]);
Inc(i);
if (l >= 192) and (l < 240) then
l := l - 64
else if (l >= 240) and (l < 256) then
l := l - 16
else if l = 184 then
l := 241
else if l = 168 then
l := 240;
dd := chr(l);
c := c + dd;
end;
Result := c;
end;
это и туда и обратно, у меня работает на старых DBF. Осталось только вызвать в нужный момент.
Source: Взято с http://delphiworld.narod.ru
ID: 02704