Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi 7 - program na výpočet procent ze zadané ceny

Jsem zacatecnik a chtel bych si naprogramovat program v delphi abych si mohl z vlozene ceny vypocitat treba 4 procenta. Potrebuji to naprogramovat abych mel jeden formular do ktereho bych zadal cenu druhy formular kde bych zadal kolik procent chci vypocitat a tlacitko ktere zmacknu a to se vypocita a napise mi kolik to je. Pomohl by mi nekdo s tim? Dekuji

Změna předmětu, původně: Delphi 7 (host)

Předmět Autor Datum
Co v Delphi už umíš? A s čím konkrétně chceš pomoct? abych mel jeden formular do ktereho bych zadal…
host 02.01.2010 12:11
host
Skoro vubec nic:-) Dneska jsem si nainstaloval delphi a chtel bych si na tenhle vypocet udelat kalku…
vasek0001 02.01.2010 12:15
vasek0001
Vzorec na vypocet procent se bere na zakladni skole. ;-)
Jan Fiala 02.01.2010 12:20
Jan Fiala
ja vim jak se to vypocita jenze nevim jak to naprogramovat v delphi. Zkusim to dekuji za radu
vasek0001 02.01.2010 12:21
vasek0001
A nechceš se nejdřív naučit základy, než začneš vytvářet programy? :-? Jak jsem už psal, tlačítku n…
host 02.01.2010 12:22
host
Musel bys pouzit nejaky ValueEdit. Standardni edit ma jen Text a pak je treba to prevest na cislo a…
Jan Fiala 02.01.2010 12:27
Jan Fiala
V Delphi jsem dělal naposledy před 100 lety, jen jsem se snažil nastínit podstatu. Asi jsem měl spíš…
host 02.01.2010 12:34
host
var cena, procento: Integer; begin cena := StrToIntDef(Edit1.text, -1); procento := StrToIntDef(Edit…
Jan Fiala 02.01.2010 12:19
Jan Fiala
uz to trochu chapu ale nevim co delam spatne kdyz tam vlozim ten kon udela mi to eror u te ceny. Nev…
vasek0001 02.01.2010 12:33
vasek0001
Neudělá ti to "eror", ale napíše ti to jasnou chybovou hlášku, v které je uvedeno, co je špatně.
host 02.01.2010 12:35
host
no teda chybova hlaska. Nevite co delam spatne? udelal jsem presne to co si tu napsal a hodi mi to c…
vasek0001 02.01.2010 12:36
vasek0001
Nevite co delam spatne? Máš to napsané v té chybové hlášce. Od toho tam je.
host 02.01.2010 12:38
host
var cena, procento: Integer; begin cena := StrToIntDef(Edit1.text, -1); procento := StrToIntDef(Edit…
Víťa 02.01.2010 14:07
Víťa
Ja nemuzu vedet, jak si pojmenoval labely. Mnohem prinosnejsi by bylo, kdyby napsal text te chyby.
Jan Fiala 02.01.2010 14:35
Jan Fiala
Tak ja jsem uz na tu chybu prisel. moc vam dekuji za rady
vasek0001 02.01.2010 14:37
vasek0001
nevite jak to osetrit abych u Label2 mohl zadat aji desetine cislo?
vasek0001 03.01.2010 10:44
vasek0001
V Delphi neumím, ale není třeba přepsat datový typ z Integer na Float? PS: Tj. asi takto: var cena,…
marekdrtic 03.01.2010 11:03
marekdrtic
no kdyz jsem tam dal Float hodilo to chybovou hlasku. Nevite co s tim?
vasek0001 03.01.2010 11:26
vasek0001
nevite jak to udelat aby tam sla dat desetina tecka?
vasek0001 03.01.2010 12:30
vasek0001
Dej sem kod, ktery nejde. My nevime, kam jsi dal "float". Fakt je odsud na tvou obrazovku spatne vid…
Jan Fiala 03.01.2010 14:00
Jan Fiala
procedure TForm1.Button1Click(Sender: TObject); var cena, procento, vydelek: Float; begin cena := St…
vasek0001 03.01.2010 14:25
vasek0001
takhle jsem to naprogramoval a nic
vasek0001 03.01.2010 14:53
vasek0001
odhlášení k tomuto tématu
Víťa 03.01.2010 16:25
Víťa
? teď jsem trochu tvůj příspěvek nepochopil
marekdrtic 03.01.2010 16:40
marekdrtic
takze si precti prispevek, ktery jsem napsat nad tim tvym kodem a kod si podle nej uprav
Jan Fiala 03.01.2010 17:16
Jan Fiala
a co, myslis si ze sa to spravi samo? ked konecne vyrasties a prestanes mat vyjadrovanie ako male de…
shiro 03.01.2010 17:37
shiro
Já bych to udělal v Excelu :-p
L-Core 03.01.2010 11:08
L-Core
Kdyz uz float tak dobrej je tez extended pak je to vetsi sranda + vlastni database pomoci StreamMemo… poslední
virus 05.01.2010 19:39
virus

Co v Delphi už umíš? A s čím konkrétně chceš pomoct?

abych mel jeden formular do ktereho bych zadal cenu druhy formular kde bych zadal kolik procent

Proč dva formuláře?

Stačí jeden formulář, na něj plácneš tři edit boxy (cena, procenta, výsledná cena), edit box s výslednou cenou nastavíš na ReadOnly, přidáš tlačítko a na jeho událost OnClick přiřadíš výpočet procent.

A nechceš se nejdřív naučit základy, než začneš vytvářet programy? :-?

Jak jsem už psal, tlačítku na OnClick přiřadíš kód:

Edit3.value = Edit1.value / 100 * Edit2.value;

Píšu to z hlavy, tak to možná není syntakticky správně, o tom, že je potřeba ošetřit vstupní hodnoty ani nemluvím...

Jan Fiala to uvede na pravou míru...

var
  cena, procento: Integer;
begin
  cena := StrToIntDef(Edit1.text, -1);
  procento := StrToIntDef(Edit2.Text, -1);
  if (cena = -1) or (procento = -1) then
    Label.Caption := 'chybné zadání'
  else
    Label.Caption := FormatFloat('0.00', cena/100*procento);
end;

Pokud potrebujes zadavat cenu a procenta ne na cela cisla, ale na desetinna mista, tak si to uprav.

V Delphi neumím, ale není třeba přepsat datový typ z Integer na Float?
PS: Tj. asi takto:

var
  cena, procento: Float;
begin
  cena := StrToIntDef(Edit1.text, -1);
  procento := StrToIntDef(Edit2.Text, -1);
  if (cena = -1) or (procento = -1) then
    Label1.Caption := 'chybné zadání'
  else
    Label1.Caption := FormatFloat('0.00', cena/100*procento);
end;

PS2: A IMHO to nebude fungovat s desetinnou čárkou, ale s desetinnou tečkou

procedure TForm1.Button1Click(Sender: TObject);
var cena, procento, vydelek: Float;
begin
cena := StrToIntDef(Edit1.text, -1);
procento := StrToIntDef(Edit2.Text, -1);
vydelek := StrToIntDef(Edit3.Text, -1);
if (cena = -1) or (procento = -1)
then Label1.Caption := 'chybné zadání'
else
Label1.Caption := FormatFloat('0.00kč', (cena/100)*procento+10+cena+vydelek);
end;

Takhle jsem to vse nastavil

Zpět do poradny Odpovědět na původní otázku Nahoru