Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.09.2010, 13:18
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию ftp-клиент (кодировка)

Одну проблему решил... Но появилась другая.... при создание новой папки с именем с русскими буквами - программа выдаёт ошибку ((( что же делать с этими кодировками???????
2.JPG
Изображения
Тип файла: jpg 1.JPG (72.3 Кбайт, 15 просмотров)
Вложения
Тип файла: txt ftp.txt (17.2 Кбайт, 8 просмотров)

Последний раз редактировалось koszh2007, 01.10.2010 в 00:06. Причина: новай проблема при создание новой папки на русском языке
Ответить с цитированием
  #2  
Старый 30.09.2010, 13:24
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

866 в cp1251 пробовал?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 30.09.2010, 13:26
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Может это как-то связано с этим:

// Name:= Pansichar(FileName);
// OemtoAnsi(Name, Pansichar(FileName));
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 30.09.2010, 13:29
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию

нет... не пробывал, я даже не знаю в какой кодировки получаются имена... а какая функция прекодировает???
Ответить с цитированием
  #5  
Старый 30.09.2010, 13:30
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Может это как-то связано с этим:

// Name:= Pansichar(FileName);
// OemtoAnsi(Name, Pansichar(FileName));
да эта я пробывал менять различные кодировки, но всё равно не получается
Ответить с цитированием
  #6  
Старый 30.09.2010, 13:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
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  
Старый 30.09.2010, 14:14
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию

Спасибо большое... но и это не помогло (переводит в другую кодировку)... но кое как решил проблему... я по-буквено строку прекодировал в ансичар и получилось
Код:
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;
Ответить с цитированием
  #8  
Старый 01.10.2010, 16:07
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию ftp-клиент (кодировка) 2 - проблема создание папки

при создание новой папки с именем с русскими буквами - программа выдаёт ошибку ((( что же делать с этими кодировками???????2.JPG
ftp.txt
Ответить с цитированием
  #9  
Старый 01.10.2010, 16:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну возможно ваш ftp-сервер просто не поддерживает русские имена папок. Как вариант, можно их в транслит перегнать, но разумнее конечно взять ftp-сервер который умеет работать с кирилицией.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter