Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Кто знает как сделать....


Автор: User 7.2.2005, 12:35
У меня на форме есть Edit1 и Button1
Как сделать, что бы при нажатии на Button1 программа находила по заранее прописанному пути папку (ну скажем ''...\BD''), и просматривала все имена находящихся там файлов. Если имя файла совпадает, с тем именем которое мы вводим в Edit1, то появляется сообщение ('Файл с таким именем уже существует'), а если такого имени нет, то создавался бы файл. Данный алгоритм нужен мне для динамического создания таблиц б.д. Paradox.
Если можно, приведите пожалуйста пример как это описать?

Автор: Sharl 7.2.2005, 13:00
Код


var
 filename  : TFileName;

begin
 filename := 'папка' + 'имя файла';

 if  FileExists( filename ) then
   ShowMessage ('Файл с таким именем уже существует');

end;

Автор: Slawanix 7.2.2005, 13:40
Вот так можно получить имена всех файлов в заданном каталоге, включая подкаталоги (взято из Faq DRKB)
Код

Procedure ScanDir(Dir:string);
var SearchRec:TSearchRec;
begin
if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';  
if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then  
repeat  
 if (SearchRec.name='.') or (SearchRec.name='..') then continue;  
 if (SearchRec.Attr and faDirectory)<>0 then  
 ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"  
else  
 Showmessage(Dir+SearchRec.name); //we found File: "Dir+SearchRec.name"  
 until FindNext(SearchRec)<>0;  
 FindClose(SearchRec);  
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
ScanDir('c:');  
end;

А дальше, как Sharl сказал.
Добавлено @ 13:42
Цитата(Sharl @ 7.2.2005, 14:00)
if  FileExists( filename ) then
  ShowMessage ('Файл с таким именем уже существует');


Делай так:
Код

if FileExists(Form1.Edit1.Text) then
  ShowMessage ('Файл с таким именем уже существует');

Автор: ~FoX~ 7.2.2005, 15:18
Цитата(Slawanix @ 7.2.2005, 13:40)
Делай так:

Код 

if FileExists(Form1.Edit1.Text) then
  ShowMessage ('Файл с таким именем уже существует');


Тогда уж так:

Код

if FileExists('MyFolder\'+Form1.Edit1.Text) then
  ShowMessage ('Файл с таким именем уже существует');

Автор: Slawanix 7.2.2005, 15:29
Цитата
Тогда уж так:


Код

if FileExists('MyFolder\'+Form1.Edit1.Text) then
  ShowMessage ('Файл с таким именем уже существует');

Согласен с тобой, но у меня подразумевалось, в Edit1.Text путь к файлу прописан с каталогом smile

Автор: User 8.2.2005, 12:47
Попробую, посмотрим что получиться

Автор: ~FoX~ 8.2.2005, 15:42
Slawanix
Да я понял, но:
Цитата(User @ 7.2.2005, 12:35)
по заранее прописанному пути папку (ну скажем ''...\BD'')



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)