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

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

Компонент OpenDialog [D5, D6, Win2k, WinXP]


Страницы:   1 2

Unknone ©   (2006-10-12 08:56:00) 

Всем доброго дня. Диалог после открытия выбранного файла при повторном вызове диалога не меняет путь.


Игорь Шевченко   (2006-10-12 11:31:00) [21]

Elen ©   (12.10.06 10:13) [15]

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


Плохиш   (2006-10-12 11:02:00) [22]


> Unknone ©   (12.10.06 10:26) [16]

У тебя ошибка в 17й строке.


Elen   (2006-10-12 10:37:00) [23]


> Unknone

Кстати путь должен венчаться символом *


Elen   (2006-10-12 10:35:00) [24]


> Unknone

Составь меню из путей в капшинах и на каждый MenuItem задай обработчик :
procedure TForm1.c1Click(Sender: TObject);
begin

OpenDialog1.FileName:=tmenuitem(sender).Caption;
OpenDialog1.Execute
end;

В меню выставь autohotkeys:=mamanual и попробуй


Unknone   (2006-10-12 10:26:00) [25]

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


Elen   (2006-10-12 10:13:00) [26]


> Unknone

протестируй это у меня работает :

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.FileName:='c:\temp\*';
if OpenDialog1.Execute then
begin
if  OpenDialog1.FileName<>'' then
begin
 if MessageBox(handle,pchar('fdf'),pchar('sfsd'),36)=IDYES then
 begin
  ShellExecute(handle,nil,pchar(OpenDialog1.FileName),'','',SW_SHOWNORMAL);
 end;
 end;
end;

end;


Это все время открывает папку temp


Unknone   (2006-10-12 10:11:00) [27]

Директории меняются в зависимости от выбранного пункта меню.


Unknone   (2006-10-12 10:09:00) [28]

В общем так... Есть несколько папок, в каждой из них лежат файлы. Есть несколько пунктов меню, которые вызывают диалог. Если просто вызывать диалог, не открывая файлов, директории менются правильно. Если открыть файл, то при следующем вызове диалога остается директория предидущего вызова.


Elen   (2006-10-12 10:05:00) [29]


> Unknone

еще раз подробнее проблему : тебе нужно чтоб OpenDialog открывал всегда в одном и том же месте или что?


Unknone   (2006-10-12 10:00:00) [30]

> Elen
Все равно директория не меняется


Elen   (2006-10-12 09:58:00) [31]


> Unknone

поправочка -  OpenDialog1.FileName:='c:\temp\*'; следует читать как
OpenDialog1.FileName:= 'указывается папка'+ '\*';


Elen   (2006-10-12 09:56:00) [32]


> Unknone

попробуй замени OpenDialog1.InitialDir:=... указывается папкана   OpenDialog1.FileName:='c:\temp\*';


Unknone   (2006-10-12 09:31:00) [33]

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


Palladin   (2006-10-12 09:27:00) [34]


> OpenDialog1.InitialDir:=... указывается папка

ну и что ты хочешь? ты же все время жестко одну и туже начальную папку указываешь... с какой стати он (диалог) будет открываться в другой?


Unknone   (2006-10-12 09:24:00) [35]

Я не знаю как у кого но у меня так...

OpenDialog1.InitialDir:=... указывается папка
OpenDialog1.Title:=... указывается заголовок

if OpenDialog1.Execute then
begin

 if  OpenDialog1.FileName'' then
 begin
  Mes:=MessageBox(handle,pchar('Îòêðûòü âûáðàííûé ôàéë?'),pchar('ÌÏÏ'),36);

  if Mes=IDYES then
  begin
   path_to_base:=OpenDialog1.FileName;
   ShellExecute(handle,nil,pchar(path_to_base),'','',SW_SHOWNORMAL);
  end;

 end;

end;

Этот кусок вызывается несколько раз, при этом меняется путь.

При первом вызове нормально открывает папку, если не открывать файл, то при повторном вызове папка меняетется. Если файл открывается то при повтормом вызове диалога остается директория предидущего вызова.


Palladin   (2006-10-12 09:18:00) [36]

Не обманывай. False - работает как надо.

Hint: Если в диалоге нажать "Отмена"/Cancel, то путь не сменится.


Unknone   (2006-10-12 09:16:00) [37]

Я его и в True ставил и в False, никакой разницы


Palladin   (2006-10-12 09:14:00) [38]

А зачем ты его в True ставил? Или ты не осознаешь что делаешь?


Unknone   (2006-10-12 09:13:00) [39]

Мне надо чтобы путь менялся, ofNoChangeDir в True ставил, все равно путь при повторном вызове не меняется


Palladin   (2006-10-12 09:11:00) [40]

Это константация факта?

а если повод для беспокойства, то, телепатор подсказывает, ofNoChangeDir в True выставленно


Страницы:   1 2

Наверх

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