Diskusije : Programiranje

Diskusija je deaktivirana na neodređeno vreme.
 Komentar
Kako rešiti zagonetku u Delphi
trilivade
(Komp)
29. oktobar 2010. u 06.10
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.

Kada sam pokusao ovako nešto 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;

Kako da resim ovaj problem.

Hvala vam.

dimko
(svasta)
10. novembar 2010. u 16.16
Dosta davno sam ovo radio pa samo principijelan savet (ako sam u pravu)
Mislim da ne možeš ići iz „if” naredbe u drugu „if naredbu bez ”and„. Dakle ako onda ako- potrebno je ako i ako i ako... onda pocni.
Ako se dobro secam combo box i pored toga sto ima text svojstva polja u stvari radi sa redovima gde je prvi red (polje) ima vrednoct 0. Zatim, naravno ako se dobro secam :) , promena text edit dva treba da se promeni promenom (combobox1.change) kombo boksa 1. Znaci uslov ide if combobox1=0 begin combo box2.=0. Naravno ovo nije isprvna sintaksa ali mislim da je ta filozofija. Potom mislim da ovo nije ipsravno kako si napisao:
begin
Edit2.Text := Table1Cena.AsString;
Ovde polaznoj osobini text polja dodajes osobinu string sto je suvisno. Ovo se radi samo kada:
-edit polje koje u sebi može nositi bilo koji znak sa tastature treba ograniciti na brojeve kada je uputno svojvtvo mu pormeniti u integer
-kada je potrebno usaglasiti osobine sa vise drugih edit polja
-kada u jednom trenutku trebamo da od teksta imamo broj. Na primer:
edit1 je tekst i ti tu možeš pitati banane i cenu
edit2 tekst ali ti treba vrednost sto nadalje znači da da ćeš mu dati svojstva integer. Tada u njemu ne može biti zapisano bilo šta osim broj jer u protivnom će kompajler prijaviti grešku.
Zatim vidim da upotrebljavas pojam tabela. To je nešto sasvim drugo i sa njima se operise na drugaciji način.
Ovo sve samo kao ideja. Potom,posto sam nekada davno rmalo radio u Delfiju i jako ga zavoleo, dajem ti punu podrsku da nastavis je je program izuzetno mocan i zarazan. Oni koji ovladaju njime su pravi majstri. Uputio bih te na www.torry.ru (ako još postoji) gde ćeš naći puno korisnih stvari, pa nadjinesto sicno i ”iskasapi„ kod. Tako se naj brze i najbolje uci.
Svako dobro!”
trilivade
(Komp)
18. novembar 2010. u 09.35
dimko

Hvala ti/ Probacu sve.

Bilo bi dobro da moderatori stave jedan kutak za programere koji rade u Delphi to bi bilo ekstra.

U svakom slučaju hvala na pomoć.
dimko
(svasta)
19. novembar 2010. u 18.44
Evo još neke greške koje nisam video u samom početku.
„ if ComboBox1.Text = 'Banana' then
begin
if Edit1.Text < '4' then // za kilograme ”
Ove si u sintaksi rekao da kompajler odredi uslov kad je edit1.text<'4' then sto jenemoguće jer u osobini text ne može odrediti vise ili manje teksta, dakle osobina edit jedan mora biti texttoint - tekst to integer. Kako ja na brzinu vidim ovo se mora deklarisati u javnim promnljivama pre početka procedura ali proveri.
Što se tiče predloga da se otvori tema o delfiju na sc potpuno te podržavam ali meni to nije poslo za rukom pre nekoliko godina. Što ne znači da tebi neće-kontaktiraj moderatora. Dotle otidji na elitesecurity.org tamo ćeš naći puuuunoooo raznih saveta iz mnogo čega pa i delfija.
Svako dobro
trilivade
(Komp)
07. decembar 2010. u 08.34
Hvala ti dimko

Upravu si.

Samo da te pitam

Kako da uradim sledeće.

Želim da zastitim program. Na koji način? Sličan Windowsu.

Administrator ima lozinku i on se uloguje u Win i može da podesava šta želi.

Administrator može da ogranici bilo koje usere koje je napravio i dao im lozinku.

Na tom principu.

Da li postoji neki Code Source ili VCL kojim mogu da postignem sve te stvari
kada napravim program pre ulaska u program da mora da ukuca ime i lozinku koju mu je
dao Administrator. Isto tako da taj pod to ime ima ogranicenja u programu koju mu zadam
kao Administrator. A ja kao Administrator imam slobodan pristum celom programu.

Da li postoji neki VCL za Delphi 7.

Hvala Ti puno.
dimko
(svasta)
30. decembar 2010. u 14.13
Vidi ovde moramo razjasniti pojmove zastite i korisnicke privilegije. Zastiti program je nešto sasvim drugo i radi se na poseban način, ali ako sam te dobro shvatio tebe vise interesuju korisnicke privilegije. E tu sad moramo znati kog je tipa program, dakle ako je baza onda se to radi u okviru manipulacije bazom i koliko znam nije bas jednostavno, bar ne sa početnickog aspekta. Ako je pak nešto drugo po sredi postoje login konponente za delphi koje će ograniciti pristup korisniku koji nema lozinku. Ako je pak program koji radi u vise formi moguće je logingom usloviti otvaranje neke forme, dakle ako iz forme jedan hoćeš u formu dva onda se u dogadjaju forme 2 on create postavi da ide prvo login forma pa se frma otvara tek kada je uslov ispunjen. I treće meni poznato jesu male cake. Jedna od njih je recimo da su forme iz kojih vrsis neka podesavanja u statusu hide odnosno invisible i one se pojavljuju samo ako je ukuca određena „sifra”, odnosno forma je nevidljiva dok na tastatuti ne držiš u statusu „on down” 7gr33 (ako si tako zadao u kodu). To prakticno znaci tek kada držiš ove tipke istovremeno stisnute forma će se pojaviti. Ovo jest da bas nije profesionalno ali ovakve cake ima i sam WIN.
Eto ne znam jesam li ti pomogao ali samo napred.
 Komentar Zapamti ovu temu!

Looking for Tassel Earrings?
.