![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 существует лейбл, который меняется при изменение переменной. 
		
	
		
		
		
		
		
	
		
		
	
	
	в общем: Код: 
	блаблабла
    procedure SpinButton1UpClick(Sender: TObject);
    procedure SpinButton1DownClick(Sender: TObject);
блаблабла
procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin
  str:= str + 1;
  fre:= fre - 1;
end;
procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin
  str:= str - 1;
  fre:= fre + 1;
end;
end.в инете нашёл шаблон, где это же действие показано, скопировал всё идентично, и всё равно не работает  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ну, здесь ошибки нет. 
		
	
		
		
		
		
		
	
		
		
	
	
	Проверь, оба ли обработчика присвоены обеим кнопкам. Может второй обработчик ты скопировал, но не назначил кнопке. И я не вижу присваивания лейблу нового значения ни в одном из обрабочтиков.  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 там лейбл обновляется таймером и выставляется значение переменной 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Проверь присвоение обработчиков кнопке, как написал lmikle, и если не получится выкладывай весь код. Да и зачем делать присвоение Label'у через таймер? О_о 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 всё, разобрался, всё работает 
		
	
		
		
		
		
		
		
			Drozh а как ещё менять лейбл? при действие? мне это не подходит Последний раз редактировалось ctpaxm, 03.08.2010 в 15:14.  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Просто ради интереса, почему неполучится менять лейбл в процедурах SpinButton1UpClick и SpinButton1DownClick? 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 у меня просто очень много лейблов(для начала) которые надо менять, и для каждого лейбла прописывать действие, вместе с изменением переменной - очень муторно, проще будет написать  
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TForm1.Timer1Timer(Sender: TObject); begin Form1.Label11.Caption:=IntToStr(str); Form1.Label12.Caption:=IntToStr(agi); Form1.Label13.Caption:=IntToStr(int); Form1.Label14.Caption:=IntToStr(uda); Form1.Label15.Caption:=IntToStr(ref); Form1.Label16.Caption:=IntToStr(mud); Form1.Label17.Caption:=IntToStr(slo); Form1.Label21.Caption:=IntToStr(elix); Form1.Label24.Caption:=IntToStr(hp); Form1.Label25.Caption:=IntToStr(mp); Form1.Label19.Caption:=IntToStr(fre); end;  | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ну в процедурах UP и DOWN, вы меняете только два параметра, зачем тогда обновлять их все в таймере? ))) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Оффтоп - что за игру пишешь?  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	![]() И, да, проще в процедурах ап/дауна изменять...  | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Drozh просто я не хочу обновлять лейблы при процедуре 
		
	
		
		
		
		
		
		
			![]() DJ PhoeniX это не игра, а любительская прога для игры ![]() Люди выручайте, появилась ещё одна проблема: Код: 
	... var hp:integer; slo:integer; lvl:integer; ... hp:= 5*slo*(1+lvl/10); end; при запуске в логе пишет Error... Incompatible types: 'Integer' and 'Extended' помогите исправить Последний раз редактировалось ctpaxm, 04.08.2010 в 01:50.  | 
| 
		 
			 
			#11  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 hp:integer; - тобишь ЦЕЛОЕ 
		
	
		
		
		
		
		
	
		
		
	
	
	slo:integer; - и это ЦЕЛОЕ lvl:integer; - и ещ одно ЦЕЛОЕ ... hp:= 5*slo*(1+lvl/10); Разбираемся: Целое * Целое = ЦЕЛОЕ, значит умножение нам не помеха... Целое + Целое = ЦЕЛОЕ, значит сложение тоже... И что же осталось? lvl/10 .... на давай разделим 15 на 10 ...частное целое? Вот тебе и несовместимость типов ![]()  | 
| 
		 
			 
			#12  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 но мне надо разделить, и совершить все остальные действия, и если там получиться не целое число то надо округлить до целых. 
		
	
		
		
		
		
		
	
		
		
	
	
	кто может помочь? кароч надо сделать так, что бы переменная hp назначалась по формуле 5*slo*(1+lvl/10) и потом округлялось.  | 
| 
		 
			 
			#13  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Round(X) - округляем 
		
	
		
		
		
		
		
	
		
		
	
	
	Trunc(X) - отбрасываем дробную часть  | 
| 
		 
			 
			#14  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 round(...)? 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	// опоздал, ибо глюк ![]()  |