Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 12:06   #1
BBOBAHH
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 30
По умолчанию Номер Button в цикле ?

Всем привет. Ребята, подскажите как в цикле сделать смену номера кнопки ?

вот мой набросок, но Дэлфи ругается похоже на синтаксис

Код:
var
  d: integer;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 for d:=1 to 10 do
      Button[d+1].visible:=true ;
      Button[d+1].caption:=IntToStr(d+1);
    if d:=10 then  Timer1.Enabled:=false;
end;

end.
BBOBAHH вне форума Ответить с цитированием
Старый 23.10.2010, 12:17   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Переменная D - начальное значение должно задаваться по Button1Click.
В обработчике события Timer1Timer она последней строкой должна увеличиваться.
А цикл в этом обработчике уберите напрочь.
То есть:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
d:=2;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Button[d].visible:=true ;
Button[d].caption:=IntToStr(d);
if d:=10 then  //вот синтаксическая ошибка !
Timer1.Enabled:=false else
Inc(d);
end;

Последний раз редактировалось mihali4; 23.10.2010 в 12:28.
mihali4 вне форума Ответить с цитированием
Старый 23.10.2010, 12:23   #3
BBOBAHH
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 30
По умолчанию

А что в цикле не будет работать ? Или много ворочать ?
BBOBAHH вне форума Ответить с цитированием
Старый 23.10.2010, 12:27   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цикл организуется самим таймером.
При тех условиях, как сделано у вас, вы просто получите моментальную расстановку капшенов и видимости для всех кнопок по первому же срабатыванию таймера.
А вы, как я понял, хотите, чтобы кнопки появлялись с интервалом таймера...
mihali4 вне форума Ответить с цитированием
Старый 23.10.2010, 15:50   #5
BBOBAHH
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 30
По умолчанию

вообще-то я из первоначально представленного кода убрал строчки
Код:
if  oshibka[d]<>0 then Button[d].visible:=true ;
if  oshibka[d]<>0 then Button[d].caption:=IntToStr(d);
а так задача такая, чтоб при появлении oshibka[1] .... oshibka[n] (всмысле oshibka[1] <>0 ) показывались кнопки button[1]....button[n] , ну и капшены тоже . Ошибок и кнопок всего 10 штук. Вот поэтому для укорочения кода я и привязался к циклу. Может я напрасно к нему привязался. поправте


ЗЫ... а еще ругается на строчку
Код:
Button[d].visible:=true ;

Последний раз редактировалось BBOBAHH; 23.10.2010 в 16:00.
BBOBAHH вне форума Ответить с цитированием
Старый 23.10.2010, 17:01   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Вот,скопипастил пример из другой темы:
Код:

procedure TTempForm.Button1Click(Sender: TObject);
var
  i: Integer;
  S: string;
begin
  for i:=0 to Pred(ControlCount) do
    If Controls[i] Is TEdit Then
    Begin
      S:= S+TEdit(Controls[i]).Text;
    End;
  ShowMessage(S);
end;
Ссылка на тему: вот здесь
_-Re@l-_ вне форума Ответить с цитированием
Старый 23.10.2010, 22:31   #7
BBOBAHH
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 30
По умолчанию

не понял нифика...
BBOBAHH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
по букве тома определить физический серийный номер накопителя, а не номер тома @лександр Помощь студентам 6 23.09.2010 15:05
Button ex-hack Общие вопросы C/C++ 5 16.04.2010 23:50
Button Chudo4258 Помощь студентам 2 07.05.2009 21:06
button blackstersl Общие вопросы Delphi 7 29.08.2008 15:31