powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Украинская "і" при перекодировке из-под доса....
2 сообщений из 2, страница 1 из 1
Украинская "і" при перекодировке из-под доса....
    #32360944
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос к людям, которые знакомы с проблемой отображения украинской "і" при выводе данных дос-заполненной таблицы.... Как Вы знаете, вместо корректного символа выдает что-то типа у-краткого....
Как устранить этот недостаток?... Подменой символа?...
Подскажите, кто знает....

---
С наилучшими,
Dr. l'Ego aka VMik
...
Рейтинг: 0 / 0
Украинская "і" при перекодировке из-под доса....
    #32361077
VMik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Догадался сам...
Ну, а для тех, кому нужно, читайте:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
{не мой код, брал отсюдова - с СКуЕль, автора не записал, так что 
звыняйте...}
const
AlfWinChr: array[ 1 .. 67 ]of integer=
( 192 , 193 , 194 , 195 , 196 , 197 , 168 , 198 , 199 , 200 , 201 , 202 , 203 , 204 , 205 ,
  206 , 207 , 208 , 209 , 210 , 211 , 212 , 213 , 214 , 215 , 216 , 217 , 218 , 219 , 220 ,
  221 , 222 , 223 , 224 , 225 , 226 , 227 , 228 , 229 , 184 , 230 , 231 , 232 , 233 , 234 ,
  235 , 236 , 237 , 238 , 239 , 240 , 241 , 242 , 243 , 244 , 245 , 246 , 247 , 248 , 249 ,
  250 , 251 , 252 , 253 , 254 , 255 , 179 );

{отдельно циклом с помощью ord('x') подбираем значения для украинского набора символов и ставим сюда. Желательно и русское Ы добавить... 
Я делал так:
procedure TForm1.Button2Click(Sender: TObject);
var stmp: char;
zzz: integer;
begin
for  zzz:= 1  to Length(Edit1.Text) do begin
stmp:=Edit1.Text[zzz];
Edit2.Text:=Edit2.Text+' '+intToStr(ord(stmp));
end;
end;}

AlfDOSChr: array[ 1 .. 67 ]of integer=
( 128 , 129 , 130 , 131 , 132 , 133 , 240 , 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 , 241 , 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 , 247 );

{аналогично... Но строка должна быть закодирована в досе....}

function DosToWin(st:string):string;
var
 len,k,kk:longint;
 lit,litout:string[ 1 ];
 Stout:string;
 ordNom:integer;
 Enter:boolean;
 begin
  if st='' then
   begin
    DosToWin:='';
    exit;
   end;
  stout:='';
  len:=Length(st);
  for k:= 1  to len do
   begin
    lit:=Copy(st,k, 1 );
    ordNom:=Ord(lit[ 1 ]);
    Enter:=False;
    for kk:= 1  to  67  do
     begin
      if ordNom=AlfDosChr[kk] then
       begin
        litOut:=chr(AlfWinChr[kk]);
        Enter:=true;
        Break;
       end;
     end;
    if Enter then stout:=stout+litOut{+' d('+IntToStr(AlfDOSChr[kk])+')' +' w('+IntToStr(AlfWinChr[kk])+')'} else stout:=stout+lit;
   end;
  DosToWin:=stout;
 end;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Украинская "і" при перекодировке из-под доса....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]