Diskuze: Násobení double [Lazarus]

Ostatní jazyky Delphi Delphi (Pascal) Násobení double [Lazarus]

Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:

Zdravím,
do Labelu se pokouším dostat výsledek z násobení počtu a ceny produktu.

test.Caption := string(double(pocet.Text) * double(cena.Text));

Label "test" je pouze pro představu, jak napovídá název. V Labelu ale není vidět nic, ani nedostávám chybovou hlášku. Nevíte čím by to mohlo být? Předem děkuji za odpovědi. :)

Odpovědět 26.3.2015 19:09
Avatar
Fredep
Redaktor
Avatar
Odpovídá na Inoue Yūki
Fredep:

Ahoj, už jsem v tom dlouho nic nedělal, ale převody jsem řešil takto.

test.Caption := FloatToStr(StrToFloat(pocet.Text) * StrToFloat(cena.Text));
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 26.3.2015 19:25
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Fredep
Inoue Yūki:

Vizuálně se mi to sice moc nelíbí, ale funguje to, učitelovi to snad bude stačit. A hurá zpátky k C++. :D Díky. :)

Nahoru Odpovědět 26.3.2015 19:34
Avatar
Odpovídá na Inoue Yūki
Michal Haňáček:

Mno, možná by sis o kousek vylepšil score, kdyby jsi tam alespoň ošetřil výjimky. Buď použitím TryStrToFloat & TryFloatToStr a nebo blokem try-except. Zapsat to takhle je prasárna, která nemá moc společnýho s tím jestli je Pascal in, nebo ne ... ale leccos to napoví o člověku, který kód psal.

Shodit tvůj kód by uživatel dokázal byť i nevědomky jen díky tomu že neví jestli má použít desetinnou čárku, nebo tečku.

Nahoru Odpovědět 26.3.2015 20:01
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Michal Haňáček
Inoue Yūki:

To máš naprostou pravdu. K mému neštěstí jsme se ale k výjimkám ještě nedostali (i to, co teď řeším je v podstatě nad rámec učiva); vymluvím se ti s tím, že doma se mi jazyk, který nemá budoucnost učit nechce. Myslím dále, než podle osnov školy. Raději bych to napsal třeba v C#, nebo v Pythonu. Alespoň základy ale musím umět, ne? :)

Nahoru Odpovědět 26.3.2015 20:13
Avatar
Odpovídá na Inoue Yūki
Michal Haňáček:

O to jestli jazyk má, nebo nemá budoucnost bych se raději asi nebavil. Jistě máš nějaké speciální zdroje ze kterých čerpáš když tvrdíš co tvrdíš. Těmi speciálními zdroji nemyslím diskuze zde, kde nadávající viděli naposledy možná Delphi7, o Delphi případně tomu co nabízejí slyšeli od tety na rohu a nadávají zřejmě proto že to tak dělá většina ;). Jen pro pořádek, Delphi se nezastávám jen mi tady ta skálopevná tvrzení tvrzení o budoucnosti čehosi přijdou vtipná ...

Nahoru Odpovědět 26.3.2015 20:44
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Inoue Yūki
Michal Haňáček:

Co se kódu týče, nemá to dle mého příliš společného s tím v čem píšeš. Neošetření takhle do očí bijících výjímek je spíš lenivost, nebo něco jiného ... předpokládám, že v C#, C++, nebo jiném jazyce který máš rád by jsi to ošetřil. Je škoda ustupovat od svého standardu jen proto že zrovna děláš v něčem co ti zrovna nevoní. To je asi celé co jsem chtěl říct už od začátku :D.

Nahoru Odpovědět 26.3.2015 20:49
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Michal Haňáček
Inoue Yūki:

Reálně nemám žádné speciální zdroje, ale z toho co jsem zaslechl v kombinaci s mými politováníhodnými zkušenostmi můžu tvrdit, že jazyk jako takový je relativně použitelný, přestože mu chybí určité rysy, které jsou dneska moderní. Nijak hluboko jsem to nestudoval, ale už v začátcích jsem začal pozorovat určité odchylky, které mi působily nepříjemnosti. Když jsem ale hovořil o budoucnosti Lazaru, měl jsem spíše na mysli ekonomickou stránku věci. Mnoho pracovních míst na tento jazyk nenajdeš. Z tohoto hlediska je perspektivnější pustit se do modernějších jazyků. Mimoto Pascal jako takový byl vytvořen pro studijní účely, nikoli pro reálnou praxi. (To, že se v reálné praxi začal hojně užívat je věc druhá.)

Nahoru Odpovědět 26.3.2015 20:52
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Inoue Yūki
Martin Dráb:

Delphi (Object Pascal) bych s původním Pascalem moc nesrovnával, protože to rozšíření (třídy, rozhraní, generika, přetěžování metod a operátorů...) je značné, i když asi trochu zaspalo dobu.

Jeden z problémů Delphi vidím v tom, že neexistuje (pro dnešní použití) rozumná verze zdarma, takže se produkt nedostane přííliš do povědomí mezi nadšence/studenty. Samozřejmě je tu Lazarus, ale nemám s ním příliš dobré zkušenosti (zvláště s IDE a debuggerem).

Další problém může spočívat v poněkud větší ukecanosti (ale to je možná tím, že moje znalosti jazyka příliš od Delphi 7 nepostoupily) oproti jazykům, které jsou dnes považovány za moderní.

Minimálně z historického pohledu má Delphi docela tradici u velkých databázových projektů (alespoň na to občas narazím) a jsem zvědavý, zda se ujme snaha výrobce dostat jej na mobilní zařízení (Android, iOS).

Takže ano, z pohledu většiny zdejší komunity (a i jiných komunit) Delphi rozhodně nepředstavuje mainstream, ale nezatracoval bych jej. Myslím si, že uživit se jím určitě půjde. Pracovních nabídek nebude tolik, o to ale mohou být zajímavější.

Nahoru Odpovědět  +1 27.3.2015 1:09
2 + 2 = 5 for extremely large values of 2
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Martin Dráb
Inoue Yūki:

Nevím, jak Delphi, Lazarus má ale myslím knihovnu na převod do .apk. :) Jinak s tebou víceméně souhlasím. :)

Nahoru Odpovědět 27.3.2015 6:13
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Inoue Yūki
Martin Dráb:

U Delphi se v posledních verzích snaží o něco na způsob multiplatformního frameworku pro tvorbu GUI (náhrada za/alternativa VCL) – FireMonkey. Nevím ale, jaká je realita (jak je to použitelné).

Nahoru Odpovědět 27.3.2015 18:17
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Michal Haňáček:

Je to moc příjemné, v kombinaci s LiveBindingem se dají poměrně jednoduše dělat docela zajímavý věci...
Do budoucna by mělo jít (mám za to, že jsem v dokumentaci něco zakového zahlédl, ale jsem líný to hledat) o náhradu za VCL. V současné době fungují v desktopovém vývoji obě knihovny vedle sebe.

Editováno 27.3.2015 19:33
Nahoru Odpovědět 27.3.2015 19:31
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.