Тема: delphi pop3
Показать сообщение отдельно
  #11  
Старый 07.01.2014, 00:47
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот ещё в довесок к теме - преобразование Win1251 <-> Koi8r
Код:
type TConvertChars = array[#128..#255] of char;

const Win_KoiChars: TConvertChars = 
(#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#060,
 #139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#169,
 #150,#151,#152,#153,#154,#062,#176,#157,#183,#159,#160,
 #246,#247,#074,#164,#231,#166,#167,#179,#169,#180,#060,
 #172,#173,#174,#183,#156,#177,#073,#105,#199,#181,#182,
 #158,#163,#191,#164,#062,#106,#189,#190,#167,#225,#226,
 #247,#231,#228,#229,#246,#250,#233,#234,#235,#236,#237,
 #238,#239,#240,#242,#243,#244,#245,#230,#232,#227,#254,
 #251,#253,#154,#249,#248,#252,#224,#241,#193,#194,#215,
 #199,#196,#197,#214,#218,#201,#202,#203,#204,#205,#206,
 #207,#208,#210,#211,#212,#213,#198,#200,#195,#222,#219,
 #221,#223,#217,#216,#220,#192,#209);  

Koi_WinChars: TConvertChars = 
(#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,#218,#155,#176,#157,#183,#159,#160,
 #161,#162,#184,#186,#165,#166,#191,#168,#169,#170,#171,
 #172,#173,#174,#175,#156,#177,#178,#168,#170,#181,#182,
 #175,#184,#185,#186,#187,#188,#189,#190,#185,#254,#224,
 #225,#246,#228,#229,#244,#227,#245,#232,#233,#234,#235,
 #236,#237,#238,#239,#255,#240,#241,#242,#243,#230,#226,
 #252,#251,#231,#248,#253,#249,#247,#250,#222,#192,#193,
 #214,#196,#197,#212,#195,#213,#200,#201,#202,#203,#204,
 #205,#206,#207,#223,#208,#209,#210,#211,#198,#194,#220,
 #219,#199,#216,#221,#217,#215,#218);

function Win_KoiConvert(const St: string): string;
var 
 i: integer;
begin 
 Result:=St;  
 for i:=1 to Length(St) do
  if St[i]>#127 then Result[i]:=Win_KoiChars[St[i]];
end;
©Drkb::04287
Ответить с цитированием