Приветствую Вас Гость | RSS

Delphi заготовки

Суббота, 11.05.2024, 13:17
Главная » 2012 » Апрель » 18 » Delphi пример функции для перехода из Dos кодировки в Win 1251 и из Win1251 в OEM DOS
10:30
Delphi пример функции для перехода из Dos кодировки в Win 1251 и из Win1251 в OEM DOS
Пример функции перехода из Dos OEM 866 кодировки в Win 1251 без использования

функции системы  CharToOem

var
DosCode:array[1..255] of char=(
#001,#002,#003,#004,#005,#006,#007,#008,#009,#010,#011,
#012,#013,#014,#015,#016,#017,#018,#019,#020,#021,#022,#023,#024,#025,
#026,#027,#028,#029,#030,#031,#032,#033,#034,#035,#036,
#037,#038,#039,#040,#041,#042,#043,#044,#045,#046,#047,#048,#049,#050,
#051,#052,#053,#054,#055,#056,#057,#058,#059,#060,#061,
#062,#063,#064,#065,#066,#067,#068,#069,#070,#071,#072,#073,#074,#075,
#076,#077,#078,#079,#080,#081,#082,#083,#084,#085,#086,
#087,#088,#089,#090,#091,#092,#093,#094,#095,#096,#097,#098,#099,#100,
#101,#102,#103,#104,#105,#106,#107,#108,#109,#110,#111,
#112,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122,
#123,#124,#125,#126,#127,#095,#095,#039,#095,#034,#058,#197,
#216,#095,#037,#095,#060,#095,#095,#095,#095,#095,#039,#039,
#034,#034,#007,#045,#045,#095,#084,#095,#062,#095,#095,#095,
#095,#255,#246,#247,#095,#253,#095,#179,#021,#240,#099,#242,
#060,#191,#045,#082,#244,
#248,#043,#095,#095,#095,#231,#020,#250,#241,#252,#243,#062,
#095,#095,#095,#245,#128,#129,#130,#131,#132,#133,#134,#135,#136,
#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,
#149,#150,#151,#152,#153,#154,#155,#156,#157,#158,#159,#160,#161,
#162,#163,#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,
#174,#175,#224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,
#235,#236,#237,#238,#239);

Function DosOEMToWin1251(s:string):string;
  var i : integer;
      x : integer;
begin
result:='';
  for X:=1 to length(s) do begin
     for i:=1 to 255 do if DosCode[i]=s[x] then break;
     result:=result+chr(i);
     end
end;

Function Win2151ToDosOEM(s:string):string;
var x:integer;
begin
result:='';
 for X:=1 to length(S) do
   result:=result+DosCode[ord(s[x])];
end;


тоже самое через использование WinAPI

Function WinToDos(const S: string):string;
var
  NewStr: string;
begin
  SetLength(NewStr, Length(S));
  Windows.CharToOem(PChar(S), PChar(NewStr));
  result:=NewStr;
end;


Просмотров: 3764 | Добавил: NetSoftWare | Рейтинг: 4.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: