|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
SpeedButton - как передать значение переменной из Form1 в Form3
SpeedButton - как передать значение переменной из Form1 в Form3
есть три формы, в первой Unit1: Код:
procedure TForm1.SpeedButton1Click(Sender: TObject); begin g := 1 + AA[0]; rr:=IntToStr(g); Form1.Hide; Form3.Show; end; при нажатии кнопки нужно значение переменной rr передать в Form3 (Unit3) в uses Unit1 есть Unit2, Unit3; а в uses Unit3 есть Unit1; пока не получается. не переставай удивляться обычному
Последний раз редактировалось Admin, 24.02.2015 в 21:55. |
#2
|
||||
|
||||
А зачем значение передавать?, это лишне, объявите переменную в public секции первого юнита, и тогда можно будет использовать её значение простым выбором
Код:
... uses unit1; ... g:= Form1.rr; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
Цитата:
у меня программа для учения правил дорожного движения, там 952 билета, из формы первой по индексу массива нажатием на SpeedButton из Imagelist берет номер билета и по картинке из этого Imagelist в форме третьей буду формировать сам тест. ну попробую изложить код - не судите - не много знаю программирование: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, ImgList, Buttons; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; Image15: TImage; Image16: TImage; Image17: TImage; Image18: TImage; Image19: TImage; Image20: TImage; Image21: TImage; Image22: TImage; Image23: TImage; Image24: TImage; Image25: TImage; Image26: TImage; Image27: TImage; Image28: TImage; Image29: TImage; Image30: TImage; Image31: TImage; ImageList1: TImageList; ImageList2: TImageList; ImageList3: TImageList; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; SpeedButton25: TSpeedButton; SpeedButton26: TSpeedButton; SpeedButton27: TSpeedButton; SpeedButton28: TSpeedButton; SpeedButton29: TSpeedButton; SpeedButton30: TSpeedButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton7Click(Sender: TObject); procedure SpeedButton8Click(Sender: TObject); procedure SpeedButton9Click(Sender: TObject); procedure SpeedButton10Click(Sender: TObject); procedure SpeedButton11Click(Sender: TObject); procedure SpeedButton12Click(Sender: TObject); procedure SpeedButton13Click(Sender: TObject); procedure SpeedButton14Click(Sender: TObject); procedure SpeedButton15Click(Sender: TObject); procedure SpeedButton16Click(Sender: TObject); procedure SpeedButton17Click(Sender: TObject); procedure SpeedButton18Click(Sender: TObject); procedure SpeedButton19Click(Sender: TObject); procedure SpeedButton20Click(Sender: TObject); procedure SpeedButton21Click(Sender: TObject); procedure SpeedButton22Click(Sender: TObject); procedure SpeedButton23Click(Sender: TObject); procedure SpeedButton24Click(Sender: TObject); procedure SpeedButton25Click(Sender: TObject); procedure SpeedButton26Click(Sender: TObject); procedure SpeedButton27Click(Sender: TObject); procedure SpeedButton28Click(Sender: TObject); procedure SpeedButton29Click(Sender: TObject); procedure SpeedButton30Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; b: array[1..11] of string; i,n,r,ii,ee,g,h: integer; s,rr,a, xx01, xx02, xx03, xx04: string; x1,x2,x3: real; ty: array[1..35] of integer; tn: array[1..35] of integer; t: array[0..35] of integer; d: set of byte; AA: array[0..112] of integer; implementation uses Unit2, Unit3; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ee:=0; Imagelist2.GetBitmap(ee, Image2.Picture.Bitmap); Imagelist2.GetBitmap(ee, Image3.Picture.Bitmap); // и так далее Imagelist2.GetBitmap(ee, Image30.Picture.Bitmap); Imagelist2.GetBitmap(ee, Image31.Picture.Bitmap); end; procedure TForm1.Button3Click(Sender: TObject); begin ee:=0; Image2.Picture:= nil; Imagelist2.GetBitmap(ee, Image2.Picture.Bitmap); Image3.Picture:= nil; Imagelist2.GetBitmap(ee, Image3.Picture.Bitmap); Image4.Picture:= nil; Imagelist2.GetBitmap(ee, Image4.Picture.Bitmap); // и так далее до Image29.Picture:= nil; Imagelist2.GetBitmap(ee, Image29.Picture.Bitmap); Image30.Picture:= nil; Imagelist2.GetBitmap(ee, Image30.Picture.Bitmap); Image31.Picture:= nil; Imagelist2.GetBitmap(ee, Image31.Picture.Bitmap); end; procedure TForm1.Button4Click(Sender: TObject); begin randomize; d:=[]; for i := 0 to 111 - 1 do // chia 112 - maksimali masyvo reikshme begin repeat r := random(111); until not (r in d); d := d + [r]; AA[i] := r; end; Image2.Picture:= nil; ii:= AA[0]; t[0] := ii + 1; Imagelist1.GetBitmap(ii, Image2.Picture.Bitmap); Image3.Picture:= nil; ii:= AA[1]; t[1]:= ii + 1; Imagelist1.GetBitmap(ii, Image3.Picture.Bitmap); Image4.Picture:= nil; ii:= AA[2]; t[2]:= ii + 1; Imagelist1.GetBitmap(ii, Image4.Picture.Bitmap); Image5.Picture:= nil; ii:= AA[3]; Imagelist1.GetBitmap(ii, Image5.Picture.Bitmap); // и так далее до Image29.Picture:= nil; ii:= AA[27]; Imagelist1.GetBitmap(ii, Image29.Picture.Bitmap); Image30.Picture:= nil; ii:= AA[28]; Imagelist1.GetBitmap(ii, Image30.Picture.Bitmap); Image31.Picture:= nil; ii:= AA[29]; Imagelist1.GetBitmap(ii, Image31.Picture.Bitmap); end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin g := 1 + AA[0]; rr:=IntToStr(g); Form1.Hide; Form3.Show; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin g := 1 + AA[1]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton3Click(Sender: TObject); begin g := 1 + AA[2]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton4Click(Sender: TObject); begin g := 1 + AA[3]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton5Click(Sender: TObject); begin g := 1 + AA[4]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton6Click(Sender: TObject); begin g := 1 + AA[5]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton7Click(Sender: TObject); begin g := 1 + AA[6]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton8Click(Sender: TObject); begin g := 1 + AA[7]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton9Click(Sender: TObject); begin g := 1 + AA[8]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton10Click(Sender: TObject); begin g := 1 + AA[9]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton11Click(Sender: TObject); begin g := 1 + AA[10]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton12Click(Sender: TObject); begin g := 1 + AA[11]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton13Click(Sender: TObject); begin g := 1 + AA[12]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton14Click(Sender: TObject); begin g := 1 + AA[13]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton15Click(Sender: TObject); begin g := 1 + AA[14]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton16Click(Sender: TObject); begin g := 1 + AA[15]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton17Click(Sender: TObject); begin g := 1 + AA[16]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton18Click(Sender: TObject); begin g := 1 + AA[17]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton19Click(Sender: TObject); begin g := 1 + AA[18]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton20Click(Sender: TObject); begin g := 1 + AA[19]; rr := IntToStr(g); end; procedure TForm1.SpeedButton21Click(Sender: TObject); begin g := 1 + AA[20]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton22Click(Sender: TObject); begin g := 1 + AA[21]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton23Click(Sender: TObject); begin g := 1 + AA[22]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton24Click(Sender: TObject); begin g := 1 + AA[23]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton25Click(Sender: TObject); begin g := 1 + AA[24]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton26Click(Sender: TObject); begin g := 1 + AA[25]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton27Click(Sender: TObject); begin g := 1 + AA[26]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton28Click(Sender: TObject); begin g := 1 + AA[27]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton29Click(Sender: TObject); begin g := 1 + AA[28]; rr:=IntToStr(g); end; procedure TForm1.SpeedButton30Click(Sender: TObject); begin g := 1 + AA[29]; rr:=IntToStr(g); end; procedure TForm1.Button2Click(Sender: TObject); begin Form1.Hide; Form2.Show; end; procedure TForm1.Button1Click(Sender: TObject); begin // конец Close; end; end. не переставай удивляться обычному
|
#4
|
||||
|
||||
Сократите код немного, уберите лишние обработчики кнопок со 2й по 30ю, оставив один
Код:
procedure TForm1.SpeedButton2Click(Sender: TObject); begin g :=1 + AA[(Sender as TSpeedButton).Tag]; Form3.rr:= IntToStr(g); end; З.Ы. Кстати, и в обработчике Button3Click можно подсократить слегка, если цикл задействовать Код:
for i := 1 to 30 do (FindComponent('Image' + IntToStr(i)) as TImage).Picture:= nil; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 25.02.2015 в 00:18. |
#5
|
||||
|
||||
Цитата:
вставил со второго по 30 ваш код: Цитата:
выдало три ошибки: Expected ] but received ) at line 370 Expected . but received ; at line 372 Expected the end of file but received an identifier 'Button2Click' at line 377 не переставай удивляться обычному
Последний раз редактировалось roland196, 25.02.2015 в 00:26. |
#6
|
||||
|
||||
Скобка ) лишняя, после Tag.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
||||
|
||||
<<DELETED>>
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 25.02.2015 в 01:45. |
#8
|
||||
|
||||
Цитата:
да, за Цитата:
спасибо, но с первым: Цитата:
выдало уже только одну ошибку: 'TForm3' does not contain a member 'rr' at line 343 не переставай удивляться обычному
|
#9
|
||||
|
||||
А вы переменную rr в public формы3 видимо пока не объявили, хотя там ей самое место
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#10
|
||||
|
||||
И правильно выдало ошибку. Такой переменной (rr) в форме 3 нет. И как сказали выше, заведи её в секции public.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#11
|
||||
|
||||
вот, пример маленький - если не трудно - посмотрите.
не переставай удивляться обычному
|
#12
|
||||
|
||||
Подправил.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |