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

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

В чем ошибка?


Cerg ©   (2011-05-06 07:35:00) 

вот я пытаюсь проверить файл на существование, но все наоборот - если он существует на само деле - выскакивает ошибка, а если его нет, то ничего не происходит... В чем дело? ((

procedure TForm1.ListBox1DblClick(Sender: TObject);
var
Handle : thandle;
begin
 //fileEdit.text:=ListBox2.Items.Strings[Integer(ListBox1.Items.Objects[ListBox1.It emIndex])];
 if FileExists('"'+FormOptions.EditOpenP.Text+'"') = true then
  begin
 ShellExecute(0,PChar('open'),
 PChar('"'+FormOptions.EditOpenP.Text+'"'),
 PChar('"'+ListBox2.Items.Strings[Integer(ListBox1.Items.Objects[ListBox1.ItemIndex])]+'"'),
 nil,
 SW_NORMAL);
 end;
 if FileExists('"'+FormOptions.EditOpenP.Text+'"') = False then
 ShowMessage('Ôàéë íå ñóùåñòâóåò');

end;


Dennis I. Komarov   (2011-05-06 09:58:00) [1]

ShellExecute функция и если такого файла нет сама возвратит ERROR_FILE_NOT_FOUND. Кроме того есть еще куча причин:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx


_CuBiC_   (2011-05-06 08:53:00) [2]

Все, спасибо, OW, дело действительно в кавычках))


_CuBiC_   (2011-05-06 08:50:00) [3]

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


OW   (2011-05-06 08:45:00) [4]

сдается что дело в кавычках
ты кавычки отрезаешь, и потом только в ListBox показываешь?
для чего двойными кавычками обрамляешь при проверке на существование?


_CuBiC_   (2011-05-06 08:32:00) [5]


> ShowMessage('"'+FormOptions.EditOpenP.Text+'"') - что показывает?
>
> и что, такой файл в реале есть?

Да, я в ListBox загружаю файлы определенного расширения (например *.txt)..
По двойному щелчку произвожу проверку на существование (вдруг юзер во время выполнения проги удалил его).


OW   (2011-05-06 08:28:00) [6]


> _CuBiC_   (06.05.11 08:26) [3]
> Я так тоже делаю - все равно не срабатывает ((

так это я не по теме еще выступил  
по теме в 4 :)


_CuBiC_   (2011-05-06 08:26:00) [7]

Я так тоже делаю - все равно не срабатывает ((


OW   (2011-05-06 08:26:00) [8]

'"'+FormOptions.EditOpenP.Text+'"' - что за конструкция? зачем двойные?

ну а так - все верно, значит не существует
ShowMessage('"'+FormOptions.EditOpenP.Text+'"') - что показывает?
и что, такой файл в реале есть?


OW   (2011-05-06 08:20:00) [9]


> if FileExists('"'+FormOptions.EditOpenP.Text+'"') = False

соответственно if not(FileExists()) then


OW   (2011-05-06 08:19:00) [10]

вместо if FileExists() = true
достаточно if FileExists() then


Наверх

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