![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Одну проблему решил... Но появилась другая.... при создание новой папки с именем с русскими буквами - программа выдаёт ошибку ((( что же делать с этими кодировками???????
2.JPG Последний раз редактировалось koszh2007, 01.10.2010 в 00:06. Причина: новай проблема при создание новой папки на русском языке |
|
#2
|
||||
|
||||
|
866 в cp1251 пробовал?
|
|
#3
|
||||
|
||||
|
Может это как-то связано с этим:
// Name:= Pansichar(FileName); // OemtoAnsi(Name, Pansichar(FileName)); |
|
#4
|
|||
|
|||
|
нет... не пробывал, я даже не знаю в какой кодировки получаются имена... а какая функция прекодировает???
|
|
#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-сервер который умеет работать с кирилицией.
|