Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Da li neko zna kako da se resi jedna zagonetka u Delphi.

[es] :: Pascal / Delphi / Kylix :: Da li neko zna kako da se resi jedna zagonetka u Delphi.

[ Pregleda: 1996 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pijavica.
Paracin

Član broj: 137624
Poruke: 56
*.dynamic.isp.telekom.rs.



Profil

icon Da li neko zna kako da se resi jedna zagonetka u Delphi.08.12.2010. u 11:25 - pre 148 meseci
Da li neko zna kako da se resi jedna zagonetka u Delphi.

Evo kako izgleda


Zamislite da imate 4 vrste voca: Banana, Ananas, Kivi, Mandarina.

Primera radi.

Banana

od 1kg do 4kg kosta 100 dinara

od 4kg do 8kg kosta 200 dinara

od 8kg do 12kg kosta 300 dinara

i tako dalje...

Za Ananas je malo drugacije

od 1kg do 4kg kosta 150 dinara

od 4kg do 8kg kosta 250 dinara

od 8kg do 12kg kosta 350 dinara

i tako dalje za sva druge vrsta voca.


U Delphi sam ovako postavio:

Dugme za izvrsenje naredbe ili racunanja,
(ComboBox1 za Artikal, Edit1 za kilograme, Edit2 za Dinare)

I normalno napravio tabele za Banane, ... itd...

Naziv Artikla> Banana
Kilogram > 1-4, 4-8, 8-12 svaki red.
Cena > 100, 200, 300 dinara

Zagonetka je:

Kako kada stavim u ComboBox1 da je Banana a u Edit1 stavim npr.
'3' da u Edit2 pokaze koliko dinara a to je 100 ili
'5' da u Edit2 pokaze koliko dinara a to je 200 ili
'10' da u Edit2 pokaze koliko dinara a to je 300 ne bitno kada pritisnem Dugme

Kako da resim ovaj problem.

Kada sam pokusao ovako nesto ne funkcionise.

procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.Text = 'Banana' then
begin
if Edit1.Text < '4' then // za kilograme
begin
Edit2.Text := Table1Cena.AsString; // za dinare
end;
if Edit1.Text < '8' then
begin
Edit2.Text := Table1Cena.AsString;

end;
end;
end;

Da li tu igra uloga StrtoInt ili umesto AsString da to bude AsInteger.

Da li mozete da mi objasnite. Bas se trudim da razumem kako sta funkcionise.

Hvala vam.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2723



+88 Profil

icon Re: Da li neko zna kako da se resi jedna zagonetka u Delphi.08.12.2010. u 20:44 - pre 148 meseci
> od 8kg do 12kg kosta 350 dinara
> i tako dalje za sva druge vrsta voca.

Da li se ti podaci nalaze u nekoj tabeli ili ih moraš provući kroz kod?

> Kada sam pokusao ovako nesto ne funkcionise.

Code:

> if ComboBox1.Text = 'Banana' then
> begin
> if Edit1.Text < '4' then // za kilograme

Prvo deklariši odgovarajuće promenljive: npr.

var
  ArtNaziv: string;
  Kolicina: Integer;
  Cena: Double;

dodeli vrednosti promenljivama:

  ArtNaziv := cbArtNaziv.Text; // Mnogo je bolje kada pravilno imenuješ kontrole umesto upotrebe generičkih imena poput ComboBox1
  Kolicina := StrToIntDef(edtKolicina.Text, 0);

  if ArtNaziv = 'Banana' then
  begin
    if Kolicina < 4 then
      Cena := 100
   else
      if Kolicina < 8 then
         Cena := 200
      else
         if Kolicina < 12 then
            Cena := 300;

    // Ovako pisanje uslova nije previse prakticno, ako imas vise podataka onda bi to trebalo cuvati u nekom nizu.
  end;

  if ArtNaziv = 'Ananas' then
  begin
    ...
  end;

  edtCena := FloatToStr(Cena);
end;


Ako sve uslove čuvaš u tabeli onda je mnogo lakše, uz nekoliko qverija možeš dobiti odmah sve podatke, ali primere ne mogu davati bez strukture tabele.
 
Odgovor na temu

jelenakg18
Stojanovic Jelena
glavni programer, Zastava Oruzje ad
Karagujevac, Srbija

Član broj: 258481
Poruke: 9
*.dynamic.isp.telekom.rs.



Profil

icon Re: Da li neko zna kako da se resi jedna zagonetka u Delphi.10.12.2010. u 10:29 - pre 148 meseci
Nisi se koliko vidim ni locirao na tacno odredjeni slog tabele Table1 kad kupis cenu.
Stojanovic Jelena
 
Odgovor na temu

pijavica.
Paracin

Član broj: 137624
Poruke: 56
*.dynamic.isp.telekom.rs.



Profil

icon Re: Da li neko zna kako da se resi jedna zagonetka u Delphi.10.12.2010. u 19:54 - pre 148 meseci
Hvala ti na objasnjenju Savkic i jelenakg18.

Imam Tabelu i ona se zove Voce. U tabeli imam 3 kolone

1 kolona zove se Naziv_Ploda // neka bude String
2 kolona zove se Kilogram // Sta da stavim String ili Integer
3 kolona zove se CENA // Kod cena Float


Kako vi smatrate da je bolje.

Objasni te mi u prvi red

u 1 koloni Stavljam Banana
u 2 koloni stavljam kilograme od 1-5 kosta onoliko koliko je stavljeno u trecoj koloni
u 2 koloni primer 200din

Sve isto i u drugom redu

u 1 koloni Stavljam Banana
u 2 koloni stavljam kilograme od 6-10 kosta onoliko koliko je stavljeno u trecoj koloni
u 2 koloni primer 300din

i tako dalje.

Kako kada stavim u DBComboBox1 (moze da vuce iz tabele Voce, naziv_ploda) da je Banana a u Edit1 stavim npr.
'3' da u Edit2 pokaze koliko dinara a to je 200 ili
'7' da u Edit2 pokaze koliko dinara a to je 300 ili
'11' da u Edit2 pokaze koliko dinara a to je 400 ne bitno kada pritisnem Dugme

Savkic hvala sto si mi objasnio. Moram da shvatim kako funkcionise hvala ti. Jos nisam probao.

Ali ako mislite da je bolje uraditi nesto jednostavnije ok. Prihvatam.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Da li neko zna kako da se resi jedna zagonetka u Delphi.

[ Pregleda: 1996 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.