![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Вообщем по этому событию у меня начинается цикл. Есть (отдельно) функция (написанная мною). В ней две строковых переменные. В них заносятся результаты вычислений из цикла события OnClick.
Если нажать на кнопку повторно, то в строках уже будут значения из двух циклов подряд. Если их обнулять в функции, то занесутся только последние значения вычислений в цикле. Спасает обнуление во время наступления события OnClick'а, но тогда строки приходится описывать как глобальные переменные. Вопрос: можно-ли в моей функции отслеживать события нажатия на кнопку? |
|
#2
|
|||
|
|||
|
А теперь поподробнее.
Как сейчас в эти >>В ней две строковых переменные попадают значения из цикла, написаного в OnClick ? |
|
#3
|
||||
|
||||
|
Цитата:
Это простая функция с параметром. В параметр заносится результат вычислений из цикла. Строки заполняются из значения параметра. |
|
#4
|
||||
|
||||
|
вы код покажите, а то так долго можно гадать.
|
|
#5
|
||||
|
||||
|
Вот код:
Код:
var
Form1: TForm1;
a,b,c,i,rez:byte;
mas:array [1..8,1..8] of byte;
s1,s2:string;
implementation
{$R *.dfm}
function OutRez(rez:byte):byte;
var
x,y:byte;
begin
if i>2
then s1:=s1+IntToStr(rez)
else s2:=s2+IntToStr(rez);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
s1:=(''); s2:=('');
Label1.Caption:=('');
for i:=5 downto 0 do
begin
rez:=0;
randomize;
a:=random(2);
b:=random(2);
c:=random(2);
inc(rez,a);inc(rez,b);inc(rez,c);
if rez<2 then rez:=0
else rez:=1;
Label1.Caption:=Label1.Caption+(' ')+IntToStr(rez);
OutRez(rez);
end;
ShowMessage('s1 = '+s1+' s2 = '+s2 );
end;
end. |
|
#6
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.enabled:=false;
{тело процедуры}
Button1.enabled:=true;
end; |