Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 08:48   #11
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
Печаль всё так

вы правы, событие отсутствовало....
----------------------------------------------------
Действительно! так работает:
Код:
Unit1 in 'Unit1.pas' {Form1};
но и так работает ! ( такой вариант вы и выложили в архиве)) :

Код:
 Unit1 in 'Unit1.pas' {Form1},
  func in 'func.pas';
получается , нет никакой разницы ?
------------------------------------------------------------

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

и ещё получается , что не работают события keypress . их тоже в отдельный модуль вынести нельзя ?.
Много вопросов. Может книгу посоветуете, в которой говориться не только, что модуль состоит из 4-ёх разделов.......ужас.
против абортов=за + жизнь;.фкн вгу;_______________________мойблг

Последний раз редактировалось vedro-compota; 24.04.2010 в 09:06.
vedro-compota вне форума Ответить с цитированием
Старый 24.04.2010, 12:02   #12
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
получается , нет никакой разницы ?
Если работает, то нормально. Но разница есть. Вы так подключаете его как модуль от второй формы. (Хотя я могу ошибаться) Просто обычные модули лучше так не подключать. Их лучше всего просто указывать в разделе Uses в Unit1. (Хотя это всё ещё зависит от самих модулей и от проекта. В общем там куча нюансов)
Цитата:
а можно ли событие, которое происходит по нажатию кнопки перенести в другой модуль (его реализацию, при этом не меняя названия модуля) ?
так как я пытался сделать с button1.......
Можно. Создаёте свою функцию или процедуру в другом модуле, которая будет обрабатывать действия при нажатии на кнопку и потом вызываете её(в Вашем варианте из Unit1).
Цитата:
и ещё получается , что не работают события keypress . их тоже в отдельный модуль вынести нельзя ?.
Можно. Аналогично как я писал выше.
Цитата:
Может книгу посоветуете, в которой говориться не только, что модуль состоит из 4-ёх разделов
Даже не знаю, что посоветовать, я книги про модули не встречал... Я сам учился.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 24.04.2010, 12:09   #13
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
Хорошо эт да

методом проб и ошибок ? )) вообще сейчас все говорят: "читайте по-английски, например- help........"

сейчас попробую подключить всё это. хотя уже пробывал. вообще, силён тот, кто может всё сам.
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 24.04.2010, 12:22   #14
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

чтобы "закрепить" процедуру за объектом ( например кнопкой ) насколько я понимаю ( уже пробывал) необходимо в разделе events выбрать имя процедуры , которая будет работать в случае совершения определённого действия над объектом...........так вот, если я прорисываю там какое-то имя ,например- Form1keypress . делфи сразу же предлагает выполнить реализацию в unit1 ( в основном модуле) .
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 24.04.2010, 13:04   #15
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

У многих классов VCL есть события. Возьмем кнопку к примеру, при нажатии на нее генерируется событие. Это происходит так: сканируются сообщения Windows, если среди них есть сообщение о нажатии этой кнопки, то в коде внутри класса кнопки, скрытом от нас в недрах VCL, генерируется событие, а по сути вызывается процедура - обработчик события, к-рая назначена на событие OnClick.

Назначить процедуру на событие можно двумя способами (процедура обязательно должна быть методом класса и соответствовать своими параметрами событию)
1. Вручную: Button.OnClick := SomeProc;
2. С помощью инспектора объектов, в этом случае процедура должна быть объявлена в published разделе класса, иначе ее не будет видно в выпадающем списке подходящих методов. Если в списке пусто и щелкнуть там дважды, то среда сгенерирует сама процедуру обработчик.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.04.2010, 14:19   #16
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

да,)) но сгенирирует в том модуле ,в котором эта самая форма и находиться ( простите если я опять не то говорю), а надо в другой....но я ещё не дочитал раздел по той ссылке, которую вы скинули ))
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 24.04.2010, 14:50   #17
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
Радость

Переделал Ваш исходничёк 3.rar. Вынес действия Button1 и KeyPress в модуль func.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 24.04.2010, 15:50   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
да,)) но сгенирирует в том модуле ,в котором эта самая форма и находиться ( простите если я опять не то говорю), а надо в другой...
Ну и что? Перечитайте еще раз условия к-рым должна отвечать процедура для назначения ее обработчиком события
Цитата:
процедура обязательно должна быть методом класса и соответствовать своими параметрами событию
Здесь не написано, что она должна быть обязательно методом класса главной формы. Она должна быть просто методом любого класса. Это может быть другая форма, или вообще любой класс, главное чтобы класс был в области видимости, имел нужный метод в себе и объект его был создан на момент присвоения его метода на какое-либо событие.

Цитата:
я ещё не дочитал раздел по той ссылке, которую вы скинули
Там кажется нет про события, поэтому и отвечаю. А вообще читайте конечно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.04.2010, 16:05   #19
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

модуль можно подключить в разделе реализации?
Код:
unit func;

interface

uses
 SysUtils, Windows, Dialogs;

type
  pelement= ^telement;
  Telement= record
             infa: integer;
             ukazatel:pelement;
            end;


function fg ( r: pelement ; b:integer) :integer ;
Procedure Bt;
Function KeyP(K: Char): Char;

implementation

uses
 unit1;

Procedure Bt;
Begin
Form1.StringGrid1.ColCount:=strtoint(Form1.edit1.text);
End;
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 24.04.2010, 20:02   #20
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
модуль можно подключить в разделе реализации?
Можно. В данном случае он подключён для обращения к Form1.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуры модуля Crt Bin Помощь студентам 0 16.12.2009 16:58
Вызов ShellExecute из модуля. Какой тогда дескриптор окна указывать? Вавел из ГМТУ Общие вопросы Delphi 12 27.08.2009 14:44
Вызов процедуры igbizon Общие вопросы Delphi 5 02.09.2008 10:44
Вызов Метода из др. модуля Mickle Общие вопросы Delphi 2 10.05.2007 23:41