|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
ftp-клиент (кодировка)
Одну проблему решил... Но появилась другая.... при создание новой папки с именем с русскими буквами - программа выдаёт ошибку ((( что же делать с этими кодировками???????
2.JPG Последний раз редактировалось koszh2007, 01.10.2010 в 00:06. Причина: новай проблема при создание новой папки на русском языке |
#2
|
||||
|
||||
866 в cp1251 пробовал?
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
нет... не пробывал, я даже не знаю в какой кодировки получаются имена... а какая функция прекодировает???
|
#4
|
||||
|
||||
Может это как-то связано с этим:
// Name:= Pansichar(FileName); // OemtoAnsi(Name, Pansichar(FileName)); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
Код:
function DosToWin(s: string): string; var i, vol: integer; begin for i:=1 to Length(s) do begin vol:=Ord(s[i]); if vol=$f0 then begin s[i]:=Chr($a8); continue; end; if vol=$f1 then begin s[i]:=Chr($b8); continue; end; if (vol>=128) and (vol<=175) then begin s[i]:=Chr(vol+64); end else if (vol>=224) and (vol<=239) then begin s[i]:=Chr(vol+16); end; end; result:=s; end; function WinToDos(s: string): string; var i, vol: integer; begin for i:=1 to Length(s) do begin vol:=Ord(s[i]); if vol=$a8 then begin s[i]:=Chr($f0); continue; end; if vol=$b8 then begin s[i]:=Chr($f1); continue; end; if (vol>=192) and (vol<=239) then begin s[i]:=Chr(vol-64); end; if (vol>=240) and (vol<=239+16) then begin s[i]:=Chr(vol-16); end; end; result:=s; end; Пишу программы за еду. __________________ |
#7
|
|||
|
|||
Спасибо большое... но и это не помогло (переводит в другую кодировку)... но кое как решил проблему... я по-буквено строку прекодировал в ансичар и получилось
Код:
function rus(s: string): string; var i: integer; str:string; Name: PAnsiChar; begin str:=''; for i:=1 to Length(s) do begin name:= PAnsiChar(copy(s,i,1)); str:=str+name; end; result:=str; end; |
#9
|
||||
|
||||
Ну возможно ваш ftp-сервер просто не поддерживает русские имена папок. Как вариант, можно их в транслит перегнать, но разумнее конечно взять ftp-сервер который умеет работать с кирилицией.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |