Перекодировка текста

  1. procedure TForm1.Button1Click (Sender: TObject);
  2. var code1, code2: TCode;s: string;c: char;i: integer;chars: array [char] of char;str: array [TCode] of string;
  3. begin
  4. case ComboBox1.ItemIndex of
  5. 1: code1:= koi;
  6. 2: code1:= iso;
  7. 3: code1:= dos;
  8. else
  9. code1:= win;
  10. end;
  11. case ComboBox2.ItemIndex of
  12. 1: code2:= koi;
  13. 2: code2:= iso;
  14. 3: code2:= dos;
  15. else
  16. code2:= win;
  17. end;
  18. s:= Memo1.Text;
  19. Str[win]:='АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя';
  20. Str[koi]:='юЮаАбБцЦдДеЕфФгГхХиИйЙкКлЛмМнНоОпПяЯрРсСтТуУжЖвВьЬыЫзЗшШэЭщЩчЧъЪ';
  21. Str[iso]:='РрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяа №бёвђгѓдєеѕжізїијйљкњлћмќн§оўпџ';
  22. Str[dos]:='Ђ ЃЎ‚ўѓЈ„¤…Ґ†¦‡§ЂЁ ‰©ЉЄ‹"Њ¬ЌЋ®ЏЇђа'б'в“г”д•е–ж— з�и™йљк›лњмќнћоџп';
  23. for c:= #0 to #255 do
  24. Chars[c]:=c;
  25. for i:= 1 to Length(Str[win]) do
  26. Chars[Str[code2][i]]:=Str[code1][i];
  27. for i:= 1 to Length(s) do
  28. s[i]:= Chars[s[i]];
  29. Memo2.Text:=s;
  30. end;
Delphi/Pascal (!). Опера мини ставит лишние пробелы, мог не все убрать.

Реклама

Мы в соцсетях

tw tg yt gt