![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]()
Нашёл на этом форуме такой код для удаления файлов в папке
Код:
[Error] Unit1.pas(28): Undeclared identifier: 'DeleteFiles' [Warning] Unit1.pas(44): Symbol 'IncludeTrailingBackslash' is specific to a platform [Error] Unit1.pas(57): Statement expected but '<' found [Error] Unit1.pas(60): EXCEPT or FINALLY expected [Error] Unit1.pas(61): 'END' expected but 'FINALLY' found [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Что не так? Или подскажите, как можно удалить файлы, которые содержат в своём названии текст *planeta* в папке C:\Test ? P.S. сегодня первый день в дельфи Последний раз редактировалось Pavel55; 09.01.2008 в 21:34. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
![]()
1. Это ведь только часть кода. Здесь предполагается, что есть еще форма, на которой лежит по крайней мере одна кнопка и ей назначен обработчик Button1Click. У вас есть эта форма с кнопкой?
2. [Error] Unit1.pas(28): Undeclared identifier: 'DeleteFiles' означает, что процедура DeleteFiles должна быть либо размещена перед Button1Click, либо предварительно описана как процедура в секции interface. 3. [Warning] Unit1.pas(44): Symbol 'IncludeTrailingBackslash' is specific to a platform - в принципе, ничего страшного. Наличие сообщения будет зависеть от версии Delphi и кое-каких опций. 4. [Error] Unit1.pas(57): Statement expected but '<' found - вероятно при копировании текст вставился в виде <SPAN class=highlight>DeleteFile</SPAN>(Path + List[i]); - надо написать просто DeleteFile(Path + List[i]); |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]()
1) Да, конечно, форма с кнопкой есть и обработчик кнопки создан (я программирую на VBA )
2) а как её нужно описать как процедуру? так? Код:
4) спасибо, я что-то и не понял сперва, что это тэги с форума) Теперь у меня такие ошибки [Warning] Unit1.pas(41): Symbol 'IncludeTrailingBackslash' is specific to a platform [Error] Unit1.pas(66): Too many actual parameters (это строка DeleteFiles('C:\Test\*.*');) [Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.DeleteFiles' (это строка procedure DeleteFiles(); ) [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Последний раз редактировалось Pavel55; 09.01.2008 в 22:45. |
![]() |
![]() |
![]() |
#4 | ||
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]() Цитата:
ЗЫ: Напомнило мне случай когда чел вставил код программы написанной на Си в VB и спрашивал почему всё красное и почему некомпилится... ![]() Цитата:
Procedure DeleteFiles(Path: string); ....... End; procedure TForm1.Button1Click(Sender: TObject); begin DeleteFiles('C:\Test\*planeta*.txt' ); end; Должно быть в такой последовательности...
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... Последний раз редактировалось Карась; 09.01.2008 в 22:59. |
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]()
Я про VBA сказал, имея ввиду, что я знаю, что у меня в проекте должна быть форма с кнопкой). Но сейчас пытаюсь понять азы Дельфи)
Вот весь мой код. Но не работает Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
![]()
1. Там, где идет объявление класса, нужно вместо procedure DeleteFiles(); записать procedure DeleteFiles(Path: string);
2. Не обязательно объявлять DeleteFiles методом класса и необязательно записывать эту процедуру перед другими процедурами/функциями. Просто достаточно объявить ее в секции interface. Напрмер: Код:
|
![]() |
![]() |
![]() |
#7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Пардон, что вмешиваюсь.
procedure DeleteFiles(); Procedure DeleteFiles(Path: string); 1. Описания должны быть одинаковыми (параметры); 2. Если описали процедуру заранее, в тексте программы необходимо указать принадлежность ее к форме, так же, как и procedure TForm1.Button1Click(Sender: TObject); |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]()
Уф, большое вам спасибо ) всё заработало
Я могу написать эту прогу на VB(A) или сделать скрипт, но хочется перейти на Delphi. VBA для меня становится мал, хочется чего-то большего). P.S. Смысл проги. На одном форуме, посвящённому VBA, происходит какой-то глюк. Заходишь в тему, отписываешься там, закрываешь форум, при повторном просмотре некоторых тем, через какое-то время, некоторые темы на форуме не открывываются и появляется пустая белая страница с надписью 502 Bad Gateway ------------------------------------------------------- nginx/0.3.35 Помогает очистка Cookies. Вот я и подумал написать прогу, которая бы очищала кукисы этого сайта. Последний раз редактировалось Pavel55; 10.01.2008 в 00:55. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с WIN+D | Altera | Общие вопросы Delphi | 4 | 15.08.2008 15:55 |
Ошибка при удалении... | JRcoker | Общие вопросы Delphi | 8 | 29.07.2008 22:53 |
Нужна помощь: выбор файлов исходя из имени файлов | Antik163RUS | Помощь студентам | 4 | 19.06.2008 21:20 |
Печать pdf файлов из списка файлов в Excel | АПС | Microsoft Office Excel | 5 | 15.04.2008 16:04 |
Проблемы с DLL | Дмитрий2006 | Общие вопросы C/C++ | 5 | 15.10.2007 12:43 |