Как создать функцию?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как создать функцию?

Сообщение midisa » 18.06.2013 17:49:15

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

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

Помогите пожалуйста. Дайте понятное описание как сделать функцию, в которой будут видны элементы управления.
Заранее всем спасибо.
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk

Re: Как создать функцию?

Сообщение resident » 18.06.2013 18:12:33

Try to add your function (or procedure) to private section in form class.
Код: Выделить всё
type
  TfMain = class(TForm)
    ....
  private
    { private declarations }
    function YourFunc(...):...;
    procedure YourProc(...);
  public
    { public declarations }
  end;

implementation

function TfMain.YourFunc(...):...;
  begin
     ....
  end;

procedure TfMain.YourProc(...);
  begin
     ....
  end;
Последний раз редактировалось resident 18.06.2013 18:14:29, всего редактировалось 1 раз.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Как создать функцию?

Сообщение Лекс Айрин » 18.06.2013 18:14:14

midisa,Поясните задачу примером кода. Пример работы с разными элементами окна (формы):

Код: Выделить всё
procedure TForm1.FormActivate(Sender: TObject);
begin
  Form1.AlphaBlendValue:=Form1.TrackBar1.Position;
  Form1.MainEditor.Font.Size:=Form1.SpinEdit1.Value;
  Form1.ColorBox1.Selected:=Form1.FontDialog1.Font.Color;
  Form1.FontDialog1.Font.Bold:=Form1.CheckBox1.Checked;
  Form1.FontDialog1.Font.Italic:=Form1.CheckBox2.Checked;
end; 

procedure TForm1.ColorBox1Change(Sender: TObject);
begin
  Form1.MainEditor.Font.Color:=Form1.ColorBox1.Selected;
  Form1.FontDialog1.Font.Color:=Form1.ColorBox1.Selected;
end;

procedure TForm1.CheckBox1Change(Sender: TObject);
begin
     Form1.MainEditor.Font.Bold:=Form1.CheckBox1.Checked;
     Form1.FontDialog1.Font.Bold:=Form1.CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Change(Sender: TObject);
begin
     Form1.MainEditor.Font.Italic:=Form1.CheckBox2.Checked;
     Form1.FontDialog1.Font.Italic:=Form1.CheckBox2.Checked;
end;         

 
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Как создать функцию?

Сообщение midisa » 18.06.2013 20:48:54

Спасибо Вам за помощь

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

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

Еще раз спасибо всем, тема закрыта.
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 261

Рейтинг@Mail.ru