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

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

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

Ответить
midisa
новенький
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk
Контактная информация:

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

Сообщение midisa »

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

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

Помогите пожалуйста. Дайте понятное описание как сделать функцию, в которой будут видны элементы управления.
Заранее всем спасибо.
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Сообщение resident »

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 раз.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

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;         

 
midisa
новенький
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk
Контактная информация:

Сообщение midisa »

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

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

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

Еще раз спасибо всем, тема закрыта.
Ответить