Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HELP ME!!!


AZIZE ©   (2007-07-10 16:20:00) 

Необходимо файл выбранный в OpenDialog скопировать в
каталог размещения программы\INFO\
при этом оставить прежнее имя (возможно очень длинное)
запарился уже, никак не выходит


AZIZE   (2007-07-10 17:50:00) [1]

спасибо за помощь, задача решена


AZIZE   (2007-07-10 17:32:00) [2]


> а MyCopyFile.fFlags кто будет указывать?


не указывал т.к. в данных флагах не нуждаюсь
> и не вредно бы обнулить структуру перед работой, если локальная
> переменная

Переменная обнуляется только она не локальная а глобальная


clickmaker   (2007-07-10 17:28:00) [3]

а MyCopyFile.fFlags кто будет указывать?
и не вредно бы обнулить структуру перед работой, если локальная переменная


AZIZE   (2007-07-10 17:28:00) [4]


> homm

Ставил разницы нет


homm   (2007-07-10 17:25:00) [5]

> MyCopyFile.pTo:=PAnsiChar(strFileTo);

а что, там #0 не нужен?


AZIZE   (2007-07-10 17:22:00) [6]


> Код то приведи копирования


const
DIRECTORY_OF_INFO='\INFO\';
...
   strFileName:=lbeInfo.Text;
   for wrdInd := length(strFileName) downto 1 do
     if(Copy(strFileName,wrdInd,1)='\')and(wrdNumberPos=0) then
       wrdNumberPos:=wrdInd;
   strFileTo:=ExtractFilePath(application.exename)+DIRECTORY_OF_INFO+Copy(strFileName,wrdNumberPos+1,length(strFileName)-wrdNumberPos);
   if strFileTo<>strFileName then
   begin
     MyCopyFile.wFunc:=FO_COPY;
     MyCopyFile.pTo:=PAnsiChar(strFileTo);
     MyCopyFile.pFrom:=PAnsiChar(strFileName + #0);
     SHFileOperation(MyCopyFile);
   end;


tesseract   (2007-07-10 17:15:00) [7]


> Программа


Код то приведи копирования


clickmaker   (2007-07-10 17:13:00) [8]


> [11] AZIZE ©   (10.07.07 17:08)
>
> > Кто? о_О
>
> Программа

чья?


AZIZE   (2007-07-10 17:08:00) [9]


> Кто? о_О

Программа

> Длину проверил, она больше 260 символов, или нет?

меньше


homm   (2007-07-10 17:02:00) [10]

> Выдаёт сообщение

Кто? о_О

Длину проверил, она больше 260 символов, или нет?


AZIZE   (2007-07-10 16:54:00) [11]


> homm ©   (10.07.07 16:49) [8]

Выдаёт сообщение что приемник (каталог куда копируется файл) не поддерживает длинные имена файлов и предлагает уменьшить имя файла до семи символов плюс расширение.
Если соглашаешься копирует в папку С: \INFO\


homm   (2007-07-10 16:49:00) [12]

> [7] AZIZE ©   (10.07.07 16:45)

А теперь по русски изъяснись, что-бы мысль твою уловить можно было.


AZIZE   (2007-07-10 16:45:00) [13]


> homm

при такой записи копирует в С: \INFO\
а длинное имя определяет больне семи символов (формат DOS)


app   (2007-07-10 16:32:00) [14]

>   ()  []

Скоро перемещать прекращу, это последний раз.


homm   (2007-07-10 16:32:00) [15]

Короче,
каталог размещения программы\INFO\+ прежнее имя (возможно очень длинное)не должно превышать 260 символов. Это предел для Windows. Больше нельзя по определению.


AZIZE   (2007-07-10 16:31:00) [16]


> homm

очень смешно


homm   (2007-07-10 16:27:00) [17]

> [0] AZIZE ©   (10.07.07 16:20)
> Необходимо файл выбранный в OpenDialog скопировать в
> каталог размещения программы\INFO\

Шли файл, скопирую :)


AZIZE   (2007-07-10 16:26:00) [18]


> Сергей М.

Убедительная просьба ответы давать по теме


Сергей М.   (2007-07-10 16:22:00) [19]


> не выходит


"А нефих было засовывать !" (С) (анекд.)


Наверх

Титульная страница Поиск, карта сайта Написать письмо