Íåäàâíî äîáàâëåííûå èñõîäíèêè

•  DeLiKaTeS Tetris (Òåòðèñ)  3 787

•  TDictionary Custom Sort  5 902

•  Fast Watermark Sources  5 700

•  3D Designer  8 473

•  Sik Screen Capture  6 036

•  Patch Maker  6 480

•  Àéáîëèò (remote control)  6 472

•  ListBox Drag & Drop  5 336

•  Äîñêà äëÿ èãðû Ðåâåðñè  94 940

•  Ãðàôè÷åñêèå ýôôåêòû  6 677

•  Ðèñîâàíèå ïî ìàñêå  5 797

•  Ïåðåòàñêèâàíèå èçîáðàæåíèé  4 859

•  Canvas Drawing  5 235

•  Ðèñîâàíèå Ëóíû  4 958

•  Ïîâîðîò èçîáðàæåíèÿ  4 504

•  Ðèñîâàíèå ñòåðæíåé  3 186

•  Paint on Shape  2 431

•  Ãåíåðàòîð êðîññâîðäîâ  3 306

•  Ãîëîâîëîìêà Paletto  2 619

•  Òåîðåìà Ìîíæà îá îêðóæíîñòÿõ  3 402

•  Ïàçë Numbrix  2 248

•  Çàáîðû è êîììèâîÿæåðû  2 908

•  Èãðà HIP  1 878

•  Èãðà Go (Ãî)  1 792

•  Ñèìóëÿòîð ëèôòà  2 130

•  Ïðîãðàììà óêëàäêè ïëèòêè  1 857

•  Ãåíåðàòîð ëàáèðèíòà  2 296

•  Ïðîâåðêà ÷èñëîâîãî ââîäà  1 983

•  HEX View  2 293

•  Ôèçè÷åñêèé ìàÿòíèê  1 956

 
ñêðûòü

  Ôîðóì  

Delphi FAQ - ×àñòî çàäàâàåìûå âîïðîñû

| Áàçû äàííûõ | Ãðàôèêà è Èãðû | Èíòåðíåò è Ñåòè | Êîìïîíåíòû è Êëàññû | Ìóëüòèìåäèà |
| ÎÑ è Æåëåçî | Ïðîãðàììà è Èíòåðôåéñ | Ðàáî÷èé ñòîë | Ñèíòàêñèñ | Òåõíîëîãèè | Ôàéëîâàÿ ñèñòåìà |



Delphi Sources

Ïåðåêîäèðîâàíèå



Ýòîò àëãîðèòì ïîçâîëÿåò ïåðåêîäèðîâàòü òåêñò. Ðåàëèçîâàíû êîäèðîâêè Windows-1251, KOI8-R, ISO-8859-5 è DOS. Êîäèðîâêà – ýòî òàáëèöà, â êîòîðîé óêàçàíî, íàïðèìåð, ÷òî ñèìâîë ïîä íîìåðîì 160 - ýòî ðóññêàÿ áóêâà "à", à ïîä íîìåðîì 150 – "Ö" è ò. ä. Êîäèðîâêè ðàçëè÷àþòñÿ íîìåðàìè ðóññêèõ áóêâ (êàê ðàñïîëàãàòü àíãëèéñêèå áóêâû äîãîâîðèëèñü). Ðàçíûå êîìïüþòåðû â Èíòåðíåòå èñïîëüçóþò ðàçíûå êîäèðîâêè. È ïîýòîìó, êîãäà ðóññêèé òåêñò èäåò ïî Èíòåðíåòó, åãî ìíîãîêðàòíî ïåðåêîäèðóþò.

Ýòîò àëãîðèòì îáåñïå÷èâàåò âûñîêóþ ñêîðîñòü ïåðåêîäèðîâàíèÿ áîëüøèõ îáúåìîâ äàííûõ.


procedure TForm1.Button1Click(Sender: TObject);
var
  code1, code2: TCode;
  s: string;
  c: char;
  i: integer;
  chars: array [char] of char;
  str: array [TCode] of string;
begin
  case ComboBox1.ItemIndex of
    1: code1 := koi;
    2: code1 := iso;
    3: code1 := dos;
    else code1 := win;
  end;
  case ComboBox2.ItemIndex of
    1: code2 := koi;
    2: code2 := iso;
    3: code2 := dos;
    else code2 := win;
  end;
  s := Memo1.Text;

  Str[win] := 'ÀàÁáÂâÃãÄäÅ寿ÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖö×÷ØøÙùÚúÛûÜüÝýÞþßÿ';
  Str[koi] := 'þÞàÀáÁöÖäÄåÅôÔãÃõÕèÈéÉêÊëËìÌíÍîÎïÏÿßðÐñÑòÒóÓæÆâÂüÜûÛçÇøØýÝùÙ÷×úÚ';
  Str[iso] := 'ÐðÑñÒòÓóÔôÕõÖö×÷ØøÙùÚúÛûÜüÝýÞþßÿà¹á¸â?ãƒäºå¾æ³ç¿è¼éšêœëžì?í§î¢ïŸ';
  Str[dos] := 'ˆ ?¡‚¢ƒ£„¤…¥†¦‡§ˆ¨‰©Šª‹"Œ¬?­Ž®?¯?à'á'â“ã”ä•å–æ—ç˜è™éšê›ëœì?ížîŸï';

  for c := #0 to #255 do
    Chars[c] := c;

  for i := 1 to Length(Str[win]) do
    Chars[Str[code2][i]] := Str[code1][i];

  for i := 1 to Length(s) do
    s[i] := Chars[s[i]];

  Memo2.Text := s;
end;








Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Ãðóïïà ÂÊîíòàêòå