Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2007, 20:38   #1
Acros
 
Регистрация: 13.02.2007
Сообщений: 3
По умолчанию Работа с файлами

Пишу простенькую программу основной задачей которой будет
создание/перемещение/удаление/копирование файлов.
Однако проблема в том, что каждый раз, когда программа пытается
что либо переместить создать или скопировать, появляется окошко
прогресса этого процесса. Мне же это совершенно ненужно. Как его
отключить ???



Вот пример кода который отвечает за копирование...

procedure TForm1.Button1Click(Sender: TObject);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
Begin
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, 'h:\testDir' );
StrPCopy( tobuf, 'd:\' );
With OpStruc DO Begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
ShFileOperation( OpStruc );
end;
"Если родина думает что она нас кормит, то пускай думает что мы её защищаем..."
© Армейская Истина

Последний раз редактировалось Acros; 13.02.2007 в 23:22. Причина: Забыл фото.
Acros вне форума Ответить с цитированием
Старый 13.02.2007, 21:17   #2
Lynx
Пользователь
 
Аватар для Lynx
 
Регистрация: 09.02.2007
Сообщений: 49
По умолчанию

А почему бы не использовать:
-для создания файла
Код:
...
AssignFile(F,<Путь к файлу>)
Rewrite(F)
...
CloseFile(F)...
-для копирования, перемещения и удаления файлов
Код:
...
CopyFile(<имя файла источника>,<имя файла получателя>);
RenameFile(<старое имя файла>,<новое имя файла>);
DeleteFile(<имя файла>);
Свой среди чужих
Чужой среди своих
Lynx вне форума Ответить с цитированием
Старый 13.02.2007, 23:00   #3
Acros
 
Регистрация: 13.02.2007
Сообщений: 3
По умолчанию

Согласен, так проще, да вот только если не ошибаюсь у казанный тобою метод роботает только для файлов. Мне же нужен универсальный способ для работы как с файлами, так и с КАТАЛОГАМИ. Указанный мной кусок кода делает и то и это без лишних заморочек.
"Если родина думает что она нас кормит, то пускай думает что мы её защищаем..."
© Армейская Истина
Acros вне форума Ответить с цитированием
Старый 14.02.2007, 12:33   #4
Lynx
Пользователь
 
Аватар для Lynx
 
Регистрация: 09.02.2007
Сообщений: 49
По умолчанию

Если проникнуть в суть проблемы, что есть каталог на жестком диске? Сколько он занимает места?
На сколько я знаю, каталог - это часть логического имени файла.
И ни как на информационную часть файла не влияет, только как псевдо адрес...
Так что ты можешь манипулируя апи функциями либо работой с файлами и каталогами паскалевским методом добиться наилучшей производительности, чем с твоим окном!!! Так как многие такты процессора отводятся на визуализацию окна, а тебе это нужно?
Свой среди чужих
Чужой среди своих
Lynx вне форума Ответить с цитированием
Старый 14.02.2007, 16:01   #5
Acros
 
Регистрация: 13.02.2007
Сообщений: 3
По умолчанию

Спасибо, разобрался !!!
"Если родина думает что она нас кормит, то пускай думает что мы её защищаем..."
© Армейская Истина
Acros вне форума Ответить с цитированием
Старый 14.02.2007, 18:40   #6
Lynx
Пользователь
 
Аватар для Lynx
 
Регистрация: 09.02.2007
Сообщений: 49
По умолчанию

Да не за что, обращайтесь...
Свой среди чужих
Чужой среди своих
Lynx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03
Работа с файлами Stiker Общие вопросы C/C++ 1 10.04.2008 22:47
Работа с файлами ShVad Общие вопросы Delphi 4 03.02.2007 10:43
Работа с файлами El_Bint0 Помощь студентам 1 20.12.2006 02:07