Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 15
1

Научите правильно описывать процедуру

08.10.2012, 16:37. Показов 2217. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Научите правильно описывать процедуру.
Доброе время суток. Научите правильно описать процедуру, а то что-то я сосем запутался.
Для примера, вот я засел на одной. Есть дата модуль(не визуальная форма), на нем размещен не визуальный компонент для подключения к базе данных. Хочу теперь в дата модуле описать свою процедуру. Как ее правильно описать? Как часть этого дата модуля — ДатаМодуль.МояПроцедура или просто МояПроцедура, но тогда к компоненту в моей процедуре мне приходится обращаться ДатаМодуль.Компонет что несколько неудобно.
Второй момент. Как правильно вызвать мою процедуру с другого модуля программы.
Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2012, 16:37
Ответы с готовыми решениями:

Как правильно вызвать процедуру.
Помогите пожалуйста с вызовом процедур. Вот у у меня есть процедура сортировки: procedure...

Как правильно назначить процедуру в параметрах компонента?
Вот объявлена процедура: procedure ScrollSb1(var Up: boolean); Вот она описана: procedure...

Про процедуру или функцию (не знаю как правильно назвать)
Всем привет! Помогите пожалуйста чайнику При создании формы я получаю список COM портов таким вот...

Как правильно осуществить процедуру добавления текста в WebBrowser1.Navigate('');
html документов много поэтому хотелось бы открывать их примерно след образом: var s:integer;...

4
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
08.10.2012, 16:57 2
Есть дата модуль(не визуальная форма), на нем размещен не визуальный компонент для подключения к базе данных. Хочу теперь в дата модуле описать свою процедуру.
сначала задайся вопросом зачем тебе в дата модуле процедура и почему она должна быть обязательно в нем? В большинстве случаев достаточно описания событий компонентов внутри датамодуля.

Как часть этого дата модуля — ДатаМодуль.МояПроцедура или просто МояПроцедура, но тогда к компоненту в моей процедуре мне приходится обращаться ДатаМодуль.Компонет что несколько неудобно.
почитай про классы в дельфи.
Особенно что такое public private protected и волшебное слово self

а также сочетание клавиш CTRL+SHIFT+C которое автоматически пишет базовый код методов классов

тогда не будет возникать вопросов
Второй момент. Как правильно вызвать мою процедуру с другого модуля программы.
сначало надо этот модуль подключить с помощью uses

uses может описываться в двух разделах. interface и implementation
разницу объяснить мне несколько трудно. ибо надо показывать на примере.

Обращение к подключенному модулю довольно простое.

ИмяМодуля.Имяпеременной или класса

DataUnit1.DataModule1.AdoTable1 и тп

для сокращения можно использовать оператор with
0
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 15
08.10.2012, 17:03  [ТС] 3
Пример разбираю.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
unit DataMain;
 
interface
 
uses
  SysUtils, Classes, FIBDatabase, pFIBDatabase;
 
type
  TdmMain = class(TDataModule)
    dbDataBase: TpFIBDatabase;
  private
    { Private declarations }
 
  public
    { Public declarations }
    procedure Login(R: Boolean); <-- здесь ругается Unsatisfied forward or external declaration: 'TdmMain.Login'
  end;
 
var
  dmMain: TdmMain;
 
implementation
 
{$R *.dfm}
 
procedure Login(R: Boolean);
begin
  if dmMain.dbDataBase.Connected then
    dmMain.dbDataBase.Connected := False;
  with dmMain.dbDataBase.ConnectParams do
    begin
      UserName := 'SYSBDA';
      Password := 'masterkey';
      //RoleName := urole;
    end;
  dmMain.dbDataBase.DBName  := '';
  dmMain.dbDataBase.Connected := True;
  R := dmMain.dbDataBase.Connected;
end;
 
end.
Вроде все как Вы сказали. Но ошибка. Я указал где ругается.
0
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
08.10.2012, 17:15 4
public
{ Public declarations }
procedure Login(R: Boolean); //<-- ПОСТАВЬ курсор на эту строчку
end;
поставь туда курсор и нажми CTRL+SHIFT+C
1
10 / 10 / 6
Регистрация: 14.03.2011
Сообщений: 392
08.10.2012, 17:27 5
procedure Login(R: Boolean); Можно дописать так procedure TForm1.Login(R: Boolean); ну или ту форму которая у тебя есть...

А вообще лучше делать как сказал 'Alex Pac', тогда при создании процедур не будет никаких проблем...
1
08.10.2012, 17:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2012, 17:27
Помогаю со студенческими работами здесь

Как правильно описывать переменные в функции
Всем привет столкнулся с такой проблемой, что мне надо описывать каждую переменную отдельно и это...

Как правильно описывать вложенные стили?
Имеется блок Footer, внутри которого находятся два блока со стилями vertikal и dva. При этом внутри...

Как правильно описывать функции и процедуры в *.dll
Доброго дня всем! Вопрос такой: Как правильно описать функцию или процедуру в динамической...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru