Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.336 pregleda

Najnovija ↓

Problem sa FindComponent i sl. 20.09.2008. u 20:02 · pre 220 meseci #1
Imam panel sa nekoliko SpinEdita. SpinEdit name idu: a34, a35, a36.... i tako dalje.

Kako da sa for ciklusu pristupim do svaki?

Pokusavao sam u stilu:

Code:

for i:=x to y do
   FindComponent('a'+inttostr(i) as TSpinEdit).Value = 2323;


I svakojake kombinacije sa FindComponent, ali ne radi.

Pomoc ako moze :(
Potpis
routing protocols enable routers to route routed protocols!
Re: Problem sa FindComponent i sl. 20.09.2008. u 20:26 · pre 220 meseci #2
Verovatno treba
Code:

(FindComponent('a'+inttostr(i)) as TSpinEdit).Value := 2323;


Sta znaci da "ne radi"? Da li dobijes neki exception?
Takodje, vrednost ce automatski biti ogranicena [MinValue, MaxValue] opsegom. Proveri da te to ne ometa.
Re: Problem sa FindComponent i sl. 20.09.2008. u 20:36 · pre 220 meseci #3
Ma pokusavao sam ShowMessage(IntToStr((FindComponent('a'+inttostr(i)) as TSpinEdit).Value)); i dobijem:

Project xxx raised exception class EConvertError with message ''' is not valid integer value'

Inace, sve SpinEdite imaju default vrednost 0.
Potpis
routing protocols enable routers to route routed protocols!
Re: Problem sa FindComponent i sl. 20.09.2008. u 21:20 · pre 220 meseci #4
> FindComponent('a'+inttostr(i) as TSpinEdit).Value = 2323;

Ne može tako.

TSpinEdit(FindComponent('a'+inttostr(i)).Value = 2323 ili
(FindComponent('a'+inttostr(i)) as TSpinEdit).Value = 2323.

> Ma pokusavao sam ShowMessage(IntToStr((FindComponent('a'+inttostr(i)) as TSpinEdit).Value)); i dobijem:
> Project xxx raised exception class EConvertError with message ''' is not valid integer value'

To znači da je pokušana konverzija stringa u Integer, npr. preko StrToInt, kako je ti ne pozivaš onda jedino da je poziva ta kontrola. Za početak proveri da li uopšte dobijaš nešto sa FindComponent.

Code:

var
  Temp: TSpinEdit;
begin
  Temp := TSpinEdit(FindComponent('a4'));
  if Assigned(Temp) then
   ...
end;

Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Problem sa FindComponent i sl. 20.09.2008. u 21:30 · pre 220 meseci #5
E sad se nista ne desava. Ne dobijem Showmessage.
Potpis
routing protocols enable routers to route routed protocols!
Re: Problem sa FindComponent i sl. 20.09.2008. u 22:17 · pre 220 meseci #6
> E sad se nista ne desava. Ne dobijem Showmessage.

Šta hoćeš da kažeš da uslov Assigned(Temp) nije ispunjen? To znači da FindComponent nije našla tu komponentu, verovatno pogrešan naziv ili forma nije njen Owner.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Problem sa FindComponent i sl. 20.09.2008. u 22:20 · pre 220 meseci #7
Ok, to znaci da 1) ime nije dobro, 2) forma sa koje pozivas FindComponent nije Owner tih SpinEdit kontrola ili 3) greskom pozivas FindComponent metod neke druge komponente (a ne forme), sto je moguce ako si npr. u nekom with bloku.

Re: Problem sa FindComponent i sl. 22.09.2008. u 18:56 · pre 220 meseci #8
SpinEdit se nalaze u panelu. Dali mozda treba da pozovem FindComponent od panela?
Potpis
routing protocols enable routers to route routed protocols!
Re: Problem sa FindComponent i sl. 23.09.2008. u 09:14 · pre 220 meseci #10
Citat:
sojic: SpinEdit se nalaze u panelu. Dali mozda treba da pozovem FindComponent od panela?


Ne, osim ako nisi u kodu rucno podesio da Owner za SpinEdit kontrole bude panel.. Ako se ne varam, podrazumevano ponasanje za komponente koje se postavljaju u form designer-u je da im je forma Owner, bez obzira na panele, box-ove i slicno.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme