Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lazarus

Войти
Регистрация
Восстановить пароль
 
HelenLee
3 / 3 / 0
Регистрация: 08.10.2014
Сообщений: 50
#1

Использование переменной из 1 формы во 2 форме - Lazarus

09.06.2016, 16:22. Просмотров 212. Ответов 4
Метки нет (Все метки)

Компиляция проходит успешно. Когда я нажимаю на кнопку в 1 форме, у меня должна выйти вторая форма и посчитать общее количество. Но при нажатии, у меня просто очищаются поля или же выдает ошибку "Введите ваши баллы!". До того, как написала код во 2 форме, у меня он открывал вторую форму при нажатии кнопки. Теперь - нет. И совсем не понимаю, почему. Может, я даже ошибки не правильно описала.. не уверена. Подскажите, пожалуйста

Вот Unit1:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unit2;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
  mat,inf,ob,c:integer;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   Edit1.Clear;
   Edit2.Clear;
   Edit3.Clear;
 
   val(edit1.text,mat);
   val(edit2.text,inf);
   val(edit3.text,ob);
 
   if (mat>0) and (inf>0) and (ob>0) then Form2.Show
     else
        if (mat<0) and (inf>0) and (ob>0) then
          begin
             MessageDlg('Введите Ваши баллы по математике!', mtInformation, [mbok], 0);
             Edit1.Clear;
             Edit2.Clear;
             Edit3.Clear;
          end
           else
              if (inf<0) and (mat>0) and (ob>0) then
                begin
                 MessageDlg('Введите Ваши баллы по информатике!', mtInformation, [mbok], 0);
                 Edit1.Clear;
                 Edit2.Clear;
                 Edit3.Clear;
                end
                  else
                    if (ob<0) and (inf>0) and (mat>0) then
                      begin
                         MessageDlg('Введите Ваши баллы по обществознанию!', mtInformation, [mbok], 0);
                         Edit1.Clear;
                         Edit2.Clear;
                         Edit3.Clear;
                      end;
                       else
                         begin
                           MessageDlg('Введите Ваши баллы!', mtInformation, [mbok], 0);
                           Edit1.Clear;
                           Edit2.Clear;
                           Edit3.Clear;
                         end; 
 
end;
end.
Это Unit2:

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
unit Unit2;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm2 }
 
  TForm2 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form2: TForm2;
  s:integer;
 
implementation
uses unit1;
{$R *.lfm}
 
{ TForm2 }
 
procedure TForm2.FormCreate(Sender: TObject);
begin
   s:=mat+inf+ob;
   Edit1.Text:=IntToStr(s);
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2016, 16:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование переменной из 1 формы во 2 форме (Lazarus):

Вывод значения переменной на форме - Delphi
Здравствуйте! Как можно по другомо вывести вот это значение во дабустим мне нужно в верхнем углу Zoloto:=1; WriteLn(Zoloto); ...

Использование формы для приведенного кода - Delphi
Парни, в програмировании полный ноль, а покачаться в игре охото, помогите прикрутить.... unit Unit10; interface uses ...

Использование значения переменной в форме из другой формы - C#
есть три формы: frmServices, frmInput и frmKeys. в frmInput есть переменная servID = _service.id.Value;хадача заключается в том что в...

Использование переменной из второй формы - C++ Builder БД
У меня две формы. В первой присваивается переменной значение веденное пользователем, а во второй форме мне нужно использовать это значение....

Использование переменной с одной формы в другой - Visual Basic
Здраствуйте. У меня 2 формы: 1) Имеет кнопку и код: Dim a As String Private Sub Command1_Click() Form2.Show End Sub

Использование Label1 с первой формы во второй форме - Delphi
Доброе время суток.Такой вопрос,как сделать что бы Label1 с первой формы,можно было использовать во второй форме?

4
Puporev
Модератор
52841 / 40652 / 13905
Регистрация: 18.05.2008
Сообщений: 94,358
09.06.2016, 17:06 #2
Все должно работать, только вычисления не нужно вешать на OnCreate;
Форма 1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  Form1: TForm1;
  mat,inf,ob:integer; 
.........................
uses unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
val(edit1.text,mat);
val(edit2.text,inf);
val(edit3.text,ob);
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
Форма 2.
Pascal
1
2
3
4
5
6
7
uses unit1;
procedure TForm2.Button1Click(Sender: TObject);
var s:integer;
begin
s:=mat+inf+ob;
Edit1.Text:=IntToStr(s);
end;
0
HelenLee
3 / 3 / 0
Регистрация: 08.10.2014
Сообщений: 50
09.06.2016, 17:16  [ТС] #3
Если я правильно вас понимаю, то на второй форме должна быть кнопка? Или как?
Возможно ли сделать так: я нажимаю на кнопку в 1 форме, он открывает вторую форму, и там уже подсчитана сумма введенных чисел?
0
Puporev
Модератор
52841 / 40652 / 13905
Регистрация: 18.05.2008
Сообщений: 94,358
09.06.2016, 17:30 #4
1 форма
Pascal
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
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
  mat,inf,ob,s:integer;
implementation
 
{$R *.lfm}
 
{ TForm1 }
uses unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
val(edit1.text,mat);
val(edit2.text,inf);
val(edit3.text,ob);
s:=mat+inf+ob;
Form1.Hide;
Form2.Show;
Form2.Edit1.Text:=IntToStr(s);
end;
2 форма
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  { TForm2 }
 
  TForm2 = class(TForm)
    Edit1: TEdit;
 
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.lfm}
 
{ TForm2 }
 
 
end.
0
HelenLee
3 / 3 / 0
Регистрация: 08.10.2014
Сообщений: 50
09.06.2016, 17:46  [ТС] #5
Спасибо большое!
0
09.06.2016, 17:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2016, 17:46
Привет! Вот еще темы с ответами:

Обращение к переменной одной формы, обрабатывая событие на другой форме... - C#
Я сделал в гриде столбец селект. При нажатии на кнопку, я сохраняю индекс выбранного ряда в переменную: public void...

Получить значение переменной одной формы в другой форме (Delphi 6) - Delphi
ребят, тупая запарка.... как перенести значение x1(unit1) в x2(unit2)???

Использование имени метода/переменной, указанного в переменной String - Java SE
public class Oll { String FishR = {&quot;R&quot;,&quot;U&quot;,&quot;Rb&quot;,&quot;U&quot;,&quot;R&quot;,&quot;U&quot;,&quot;U&quot;,&quot;Rb&quot;}; String FishL = {&quot;Lb&quot;,&quot;Ub&quot;,&quot;L&quot;,&quot;Ub&quot;,&quot;Lb&quot;,&quot;U&quot;,&quot;U&quot;,&quot;L&quot;}; ...

Использование переменных, объявленных в одной форме, в другой форме - Delphi
Возможно ли где-нибудь или как-нибудь объявить переменные, которые можно использовать на всех формах? Или как переменные объявленные на...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.