Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 156
от 18.06.2005, 19:00

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 9


Вопрос № 22095: Покажите пример копирования,удаления папок и файлов...
Вопрос № 22111: сБЮФЮЕЛШЕ ЛЮЯРЕПЮ, ОНДЯЙЮФХРЕ ОКХГ.... с ЛЕМЪ ОПХ БШОНКМЕМХХ ДЮММНЦН ЙНДЮ Б АЮГЕ ДЮММШУ БНГМХЙЮЕР НЬХАЙЮ, ЕЯКХ ГЮОХЯЭ МЕ МЮИДЕМЮ (РН ЕЯРЭ Б Edit6 ББЕДЕМН ЯКНБН, ЙНРНПНЦН МЕР Б АЮГЕ ДЮММШУ) еЯКХ ДЮММШЕ МЮИДЕМШ, РН БЯЕ нй. ю БНР ЕЯКХ ОНКЭГ...
Вопрос № 22120: Для sir henry к вопросу № 22111 Я вот только не понял, зачем в запросе такое бешеное количество слэшей? Делал как по теории (Фленов - Язык SQL)... Вообще-то ни BOF ни EOF не имеют никакого значения, т.к. при выполнении запроса проверяются...

Вопрос № 22.095
Покажите пример копирования,удаления папок и файлов
Отправлен: 12.06.2005, 19:09
Вопрос задал: Sassoft (статус: Посетитель)
Всего ответов отправлено: 6

Отвечает: X
Здравствуйте, Sassoft!
Вот функция для копирования папки.
Если копировать файл - то просто CopyFile.

Приложение:

Ответ отправил: X (статус: 6-ой класс)
Отправлен: 12.06.2005, 19:39

Отвечает: Pushkin
Здравствуйте, Sassoft!
Что-то типа этого:
procedure TForm1.BuildFileList(path: string; dest: string);
var
SR: TSearchRec;
s,s1: string;
res: Integer;
begin
s1 := copy(path,4,length(path)-4);
if path[length(path)]<>'' then begin
s := '';
end else begin
s := '';
end;
CreateDirectory(PChar(dest+s1),nil);
res := FindFirst(path+s+'*.*', faAnyFile, SR);
while res=0 do begin
if (SR.Name<>'.') and (SR.Name<>'..') then begin
Memo1.Lines.Add(Sr.Name);
if (SR.Attr and faDirectory) = faDirectory then begin
CreateDirectory(PChar(dest+s1+''+SR.Name),nil);
BuildFileList( path+s+SR.Name, dest+s1+''+SR.Name );
end else begin
CopyFile(PChar(path+s+SR.Name), PChar(dest+s1+''+SR.Name), true);
end;
end;
res := FindNext(SR);
end;
FindClose(SR);
end;
Копирование файлов:
CopyFile(PChar('D:project1.exe'),PChar('D:project2.exe'),true);
Удаление файлов
DeleteFile('D:project2.exe');
Ответ отправил: Pushkin (статус: 4-ый класс)
Отправлен: 12.06.2005, 19:56
Оценка за ответ: 4
Комментарий оценки:
Нет,а как сделать чтобы в Pchar-e был Edit1.text(Там был бы текст),я так делал но не получается.

Отвечает: sir henry
Здравствуйте, Sassoft!
Примеры копирования (разными способами) приведены в Приложении1.
Удаление в корзину - в Приложении 2.

Приложение:

Ответ отправил: sir henry (статус: Профессор)
Отправлен: 13.06.2005, 06:27

Отвечает: Gin
Здравствуйте, Sassoft!
Name: Eye Candy 4000.zip
URL: http://www.spbtur.ru/webdesign/Eye%20Candy%204000.zip
Size: 2531540
Create time: 31.03.2005 21:21:30
Complete time: 31.03.2005 23:48:31
Referer:
Description: Eye Candy 4000.zip ... набор фильтров для Photoshop CS от разработчика.. с таблеточкой :)
Gin. P.S. Таблетка внутри архива - качай.
Ответ отправил: Gin (статус: 4-ый класс)
Отправлен: 13.06.2005, 10:20

Отвечает: Delphin
Здравствуйте, Sassoft!
Копирование: CopyFile('из','в');
Удаление файла: DeleteFile('Имя файла'); , В корзину смотри пр1
Удаление папки в корзину пр2

Приложение:

---------
Ищу сервис пак для школы ^)))

Ответ отправил: Delphin (статус: 5-ый класс)
Отправлен: 15.06.2005, 15:38

Отвечает: Stamm
Здравствуйте, Sassoft!
Копировать файл -CopyFile(путь, новый путь,True or false{Переписывать файл});
Удалять файл - DeleteFile(путь);
Ответ отправил: Stamm (статус: 3-ий класс)
Отправлен: 17.06.2005, 00:47
Оценка за ответ: 5


Вопрос № 22.111
сБЮФЮЕЛШЕ ЛЮЯРЕПЮ, ОНДЯЙЮФХРЕ ОКХГ....
с ЛЕМЪ ОПХ БШОНКМЕМХХ ДЮММНЦН ЙНДЮ Б АЮГЕ ДЮММШУ БНГМХЙЮЕР НЬХАЙЮ, ЕЯКХ
ГЮОХЯЭ МЕ МЮИДЕМЮ (РН ЕЯРЭ Б Edit6 ББЕДЕМН ЯКНБН, ЙНРНПНЦН МЕР Б АЮГЕ ДЮММШУ)
еЯКХ ДЮММШЕ МЮИДЕМШ, РН БЯЕ нй. ю БНР ЕЯКХ ОНКЭГНБЮРЕКЭ ББЕДЕР ЯКНБН, ЙНРНПНЦН МЕР
Б ДЮММНИ АЮГЕ- БНГМХЙЮЕР НЬХАЙЮ Я ЯННАЫЕМХЕЛ:
"BOF ХКХ EOF ХЛЕЕР ГМЮВЕМХЕ True, КХАН РЕЙСЫЮЪ ГЮОХЯЭ СДЮКЕМЮ.
дКЪ БШОНКМЪЕЛНИ НОЕПЮЖХХ РПЕАСЕРЯЪ РЕЙСЫЮЪ ГЮОХЯЭ".
procedure TForm1.Edit6Change(Sender: TObject);
begin
findQuery.Close;
findQuery.SQL.Clear;
findQuery.SQL.Add('Select *');
findQuery.SQL.Add('From цКЮБМЮЪ');
findQuery.SQL.Add('Where мЮГБЮМХЕ Like '''+edit6.Text+'%'+'''');
findQuery.open;
end;
лНФЕР ЙРН ГМЮЕР, ВРН ДЕКЮРЭ..
я СБЮФЕМХЕЛ, цМНЛ...
Отправлен: 13.06.2005, 07:59
Вопрос задал: 23 (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, 23!
Я вот только не понял, зачем в запросе такое бешеное количество слэшей?
Вообще-то ни BOF ни EOF не имеют никакого значения, т.к. при выполнении запроса проверяются только условия WHERE и уж причем тут текущая запись - совершенно непонятно. В любом случае, если есть записи отвечающие условию WHERE, то они возвращаются в наборе записей, если нет, выдается пустой набор.
Тут возникают вопросы:
- Куда вы помещаете полученый после запроса набор данных (Grid и т.п.)?
- Является ли у Вас Edit6 чисто текстовым полем ввода или Вы используете TDBEdit?
- Нужно ли выборку помещать в событие OnChange Edit'а? Лучше поместите его под специальную кнопочку (например "Поиск"). Иначе на каждой введенной или стертой буковки в поле Edit у Вас будет формироваться запрос.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 13.06.2005, 09:03


Вопрос № 22.120
Для sir henry к вопросу № 22111
Я вот только не понял, зачем в запросе такое бешеное количество слэшей?
Делал как по теории (Фленов - Язык SQL)...
Вообще-то ни BOF ни EOF не имеют никакого значения, т.к. при выполнении запроса проверяются только условия WHERE и уж причем тут текущая запись - совершенно непонятно. В любом случае, если есть записи отвечающие условию WHERE, то они возвращаются в наборе записей, если нет, выдается пустой набор.
Тут возникают вопросы:
- Куда вы помещаете полученый после запроса набор данных (Grid и т.п.)?
В DBGrid
- Является ли у Вас Edit6 чисто текстовым полем ввода или Вы используете TDBEdit?
Чисто текстовое
- Нужно ли выборку помещать в событие OnChange Edit\\\'а? Лучше поместите его под специальную кнопочку (например "Поиск"). Иначе на каждой введенной или стертой буковки в поле Edit у Вас будет формироваться запрос.
И даже если код поместить под кнопку, то после выполнения запроса с нулевым вариантом (то есть когда записей нет), задать любой поиск - опять возникает ошибка. с Тем же сообщением...
Отправлен: 13.06.2005, 12:37
Вопрос задал: 23 (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Denisss
Здравствуйте, 23!
Очень похоже, что приведенная Вами процедура не содержит ошибок.
Вполне возможно, что ошибка появляется в каком-нибудь обработчике:
Query.AfterOpen, например или еще где. Проверьте их.
- Нужно ли выборку помещать в событие OnChange Edit'а? Лучше поместите его под специальную кнопочку
Здесь с sir henry согласится большое количество программистов. Здесь даже не в ошибке дело, а в том, что если ставить выборку в OnChange, то при каждом малейшем изменении текста в поле будет делаться запрос, что может в дальнейшем, при росте базы данных не очень хорошо сказаться.
Ответ отправил: Denisss (статус: 5-ый класс)
Отправлен: 13.06.2005, 14:09

Отвечает: sir henry
Здравствуйте, 23!
1. "Делал как по теории (Фленов - Язык SQL)..."
Не читал. Но в других книгах в запросах не пишутся флэши, по крайней мере я нигде не видел. Может быть я чего-то упустил из виду, тогда, пожалуйста, объясните зачем в Вашем запросе присутствуют флэши.
2. У меня большие сомнения в правильности Вашего запроса. Впрочем, не о нем речь. Вы уверены, что правильно определили место ошибки?
3. Не пытаетесь ли Вы вести поиск в результатах запроса (о чем может косвенно говорить сообщение об ошибке, т.к. возвращаемый набор данных отвечает условию, что и BOF и EOF равны True)? Или сам запрос является аналогом поиска?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 14.06.2005, 06:24


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное