Prosím jak zapsat rovnici
Edit1.text:= (Spinedit1.text)-(2*(Spinedit2.text));
Fórum › Delphi
Počítání se SpinEdity
Je třeba si uvědomit, že vlastnosti Edit1.Text, Spinedit1.Text a Spinedit2.Text jsou proměnnými typu String, s tímto typem se však nedají provádět aritmetické operace (které zřejmě ty chceš na data získaná z těchto proměnných aplikovat). Proto bude zapotřebí použít funkce StrToInt() a IntToStr(). První jmenovaná funkce přebírá argument typu String a vrací hodnotu typu Integer (je to hodnota převedená ze stringu, tj. pokud je jakožto řetězec předáno číslo, je převedeno na celočíselný typ Integer), druhá pracuje přesně naopak (tj. budou se hodit k převedení obsahů Spineditů na typ Integer a po vypočítání celého výrazu se výsledek převede zpět na string, aby mohl být zobrazen v Editu). Po aplikaci těchto funkcí to bude vypadat nějak takto:
Edit1.text:= IntToStr(StrToInt(Spinedit1.text)-2*StrToInt(Spinedit2.text));
Toto řešení je vhodné pro práci s celočíselnými hodnotami, pokud chceš pracovat s nějakým typem s plovoucí destinnou čárkou, můžeš použít analogické funkce StrToFloat() a FloatToStr(). Pro tuto variantu pak zdroják bude:
Edit1.text:= FloatToStr(StrToFloat(Spinedit1.text)-2*StrToFloat(Spinedit2.text));
jj děkuji.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Počítání s maticemi — založil Loloska
Počítání Sessions — založil Bryant
Počítání písmen — založil MadKing
Počítání v long — založil Boblig
Počítání metody — založil lekejs