Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> продцедура обработки события в Delphi 2010 
:(
    Опции темы
supervladislav
Дата 19.9.2012, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Вставил в своё приложение две кнопки SaveFileDialog и OpenFileDialog ,кликаю по ним ,чтобы создать продцедуру , а Delphi открывает само окно выбора/сохранения файлов , данная  функция в Delphi 7 была доступна по двойному щелчку на эллемент формы.
Кто пользуется Delphi 2010 подскажите , как вызвать продцедуру обработки в ответ на событие? 
PM MAIL   Вверх
northener
Дата 19.9.2012, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(supervladislav @  19.9.2012,  16:04 Найти цитируемый пост)
Вставил в своё приложение две кнопки SaveFileDialog и OpenFileDialog ,кликаю по ним ,чтобы создать продцедуру


Цитата(supervladislav @  19.9.2012,  16:04 Найти цитируемый пост)
как вызвать продцедуру обработки в ответ на событие?

Обработка какого события интересует?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Данкинг
Дата 19.9.2012, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(supervladislav @  19.9.2012,  17:04 Найти цитируемый пост)
а Delphi открывает само окно выбора/сохранения файлов , данная  функция в Delphi 7 была доступна по двойному щелчку на эллемент формы.

Да и в D7 аналогично.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 19.9.2012, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, Данкинг,  событие срабатывающее при выборе файла.
PM MAIL   Вверх
northener
Дата 19.9.2012, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(supervladislav @  19.9.2012,  17:11 Найти цитируемый пост)
событие срабатывающее при выборе файла. 

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


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Данкинг
Дата 19.9.2012, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



OpenDialog.Execute оно называется.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Чучмек
Дата 20.9.2012, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Цитата(northener @  19.9.2012,  17:24 Найти цитируемый пост)
Такого события нет и никогда не было

А какже OnCanClose???
Назначается как и все. В ObjectInspector на вкладке Events двойным щелчком по соответствующему полю.

Это сообщение отредактировал(а) Чучмек - 20.9.2012, 20:11


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
supervladislav
Дата 20.9.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, Данкинг. Я имел ввиду  ,как можно сгенерировать продцедуру ,так чтобы она появилась в коде моего модуля и в типах.
В D7 это было очень просто- двойной счелчок мыши и всё.

 

PM MAIL   Вверх
Данкинг
Дата 20.9.2012, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



If opendialog.execute then...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
northener
Дата 20.9.2012, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(supervladislav @  20.9.2012,  20:12 Найти цитируемый пост)
В D7 это было очень просто- двойной счелчок мыши и всё.

Ты ошибаешься. Такого не было никогда.
Вот для TButton, например, так и есть, потому что у него есть событие OnClick. А для TOpenDialog, TSaveDialog события OnClick нет и быть не может. Ибо они оба компоненты невизуальные.

Добавлено через 48 секунд
Цитата(Чучмек @  20.9.2012,  20:09 Найти цитируемый пост)
А какже OnCanClose???

Имхо автору нужно не оно.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
northener
Дата 21.9.2012, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Чучмек @  20.9.2012,  20:09 Найти цитируемый пост)
А какже OnCanClose???

И кстати. Я просто не понимаю зачем это событие в TOpenDialog/TSaveDialog вообще нужно?


Это сообщение отредактировал(а) northener - 21.9.2012, 02:41


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
supervladislav
Дата 21.9.2012, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, не очень просто догнал можно ли сделать открытие файлового диалога через tbottom?
 
PM MAIL   Вверх
Чучмек
Дата 21.9.2012, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Цитата(northener @  21.9.2012,  02:38 Найти цитируемый пост)
И кстати. Я просто не понимаю зачем это событие в TOpenDialog/TSaveDialog вообще нужно?

OnCanClose
Цитата

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


Цитата(supervladislav @  21.9.2012,  10:12 Найти цитируемый пост)
можно ли сделать открытие файлового диалога через tbottom?

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
 MessageBox(0,PChar('Выбран файл '+opendialog1.FileName),'',0) else
 MessageBox(0,'Файл не выбран',nil,0);
end;


Это сообщение отредактировал(а) Чучмек - 21.9.2012, 10:52


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Данкинг
Дата 21.9.2012, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(supervladislav @  21.9.2012,  11:12 Найти цитируемый пост)
tbottom?

TButton т.е.?
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
 if opendialog.execute then showmessage('Йа окошко');
end;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
northener
Дата 22.9.2012, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Чучмек @  21.9.2012,  10:51 Найти цитируемый пост)
Цитата(northener @  21.9.2012,  02:38 Найти цитируемый пост)
И кстати. Я просто не понимаю зачем это событие в TOpenDialog/TSaveDialog вообще нужно?

OnCanClose
Цитата

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


Вот именно это и не понимаю. Закрытие диалогового окна "крестиком", имхо всегда по определению тождественно нажатию кнопки "Cancel". 


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
bems
Дата 22.9.2012, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Цитата(northener @  22.9.2012,  00:49 Найти цитируемый пост)
Закрытие диалогового окна "крестиком", имхо всегда по определению тождественно нажатию кнопки "Cancel".
да, и в этот момент можно проверить допустим ли выбранный файл



--------------------
Обижено школьников: 8
PM MAIL   Вверх
northener
Дата 22.9.2012, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(bems @  22.9.2012,  01:38 Найти цитируемый пост)
да, и в этот момент можно проверить допустим ли выбранный файл

bems, какой к лешему "выбраный файл" и его "допустимость", если пользователь отказался его выбирать? И даже вообще отказался выбирать какой-либо файл?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
bems
Дата 22.9.2012, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Прочитай хелп уже. Там англицким по белому написано что событие возникает при закрытии диалога без отмены


--------------------
Обижено школьников: 8
PM MAIL   Вверх
supervladislav
Дата 22.9.2012, 18:44 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг, 
Мне не совсем ясно было ,какой вобще командой открыть окно, 
Код

opendialog1.Execute

А скажите сам контроль надо перетаскивать , а если надо то как его можно скрыть?
PM MAIL   Вверх
supervladislav
Дата 22.9.2012, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, Зы ,а как проверить булевое значение вот тут 
Мне прежде чем появляется путь к файлу сначала открывается окно добавления файла ,я его выбираю ,потом как только я выбираю файл мне 
открывается ещё одно окно.

Код

if OpenDialog1.Execute then
    begin
    OpenDialog1.Execute;
    ShowMessage(OpenDialog1.FileName);
    end;


PM MAIL   Вверх
Данкинг
Дата 22.9.2012, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(supervladislav @  22.9.2012,  19:44 Найти цитируемый пост)
А скажите сам контроль надо перетаскивать , а если надо то как его можно скрыть? 

Кладёшь его на форму как обычно. Но при работе программы его не видно.

Добавлено через 44 секунды
Цитата(supervladislav @  22.9.2012,  20:07 Найти цитируемый пост)
Мне прежде чем появляется путь к файлу сначала открывается окно добавления файла ,я его выбираю ,потом как только я выбираю файл мне 
открывается ещё одно окно.

Ещё раз.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 22.9.2012, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг,  да ещё раз , после того как я убрал 
Код

OpenDialog1.Execute;

 сейчас вобще всё отрубилосЬ
вроде как.

Checking project dependencies...
Compiling Project2.dproj (Debug, Win32)
dcc command line for "Project2.dpr"
  
Failed
Elapsed time: 00:00:00.4
А как понять в какой строке ошибка?

Код

if OpenDialog1.Execute then
    begin
    
    ShowMessage(OpenDialog1.FileName);
    end;

  end;


Добавлено через 8 минут и 24 секунды
Данкинг, northener, OpenDialog надо объявлять в типах пока незабыл  

Это сообщение отредактировал(а) supervladislav - 22.9.2012, 19:49
PM MAIL   Вверх
Данкинг
Дата 22.9.2012, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(supervladislav @  22.9.2012,  20:48 Найти цитируемый пост)
OpenDialog надо объявлять в типах пока незабыл  

Просто кидаешь его как компонент, больше с ним ничего делать не требуется.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 22.9.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг, о не оно было  объявлено как компонент всё впорядке.
Так у когонибудь есть какиенибудь соображения на этот счёт.
Как кстате скрыть саму кнопку OpenDialog Скрыть?
При условии ,что я буду использовать свою кнопку типа Tbottom.

PM MAIL   Вверх
northener
Дата 23.9.2012, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(supervladislav @  22.9.2012,  20:12 Найти цитируемый пост)
Так у когонибудь есть какиенибудь соображения на этот счёт.

Есть. Объясни простыми человеческими словами свою задачу. Не проблему, а именно задачу! Зачем тебе нужно вызывать диалог открытия/записи файла?

Добавлено через 14 минут и 53 секунды
Цитата(bems @  22.9.2012,  02:58 Найти цитируемый пост)
Прочитай хелп уже.

Прочитал. Теперь понятно для чего это событие "нужно". 
Но в своих проектах это событие использовать не собираюсь.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
supervladislav
Дата 23.9.2012, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, да разобрался ,спасибо ,но вобще о некотрых деталях говорить надо.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.