Delphi-Help

  • Увеличить размер шрифта
  • Default font size
  • Уменьшить размер шрифта

Перекодировка MS-DOS в Windows и обратно

Оценить
(0 голоса)

Перекодировка MS-DOS в Windows и обратно

Из MS-DOS кодировки в Windows кодировку:

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;
update_dos:=c;
end;

Вызов:

update_dos(PChar((Table1.FieldByName('FIO').AsString)));

Из Windows кодировки в MS-DOS кодировку:

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;
update_win:=c;
end;

Вызов:

update_win(Table1.FieldByName('FIO').AsString);
Login to post comments

Счетчики