[ Senjorita @ 20.03.2006. 20:59 ] @
Pozdrav svima na forumu,,
Vec izvesno vreme pratim divne komentare i upute na ovom forumu.Zahvaljujuci tome pocela sam i ja da ucim Delphi.
Instalirala sam Delphi 7 i BDS 2006 . Namera mi je da savladam programiranje baza podataka.
BTW sto se tice D7 i BDS 2006 i nisam primetila neku razliku, cak mislim da je D7 pregledniji za korisnika , ali verujem to je zato sto koristim ili pokusavam da koristim samo mali deo od ocigledno velikog potencijala ovih programa.
Savladala sam nesto, cak sam i napravila prvu aplikaciju u delphi-ju , ali vrlo jednostavnu i9stina. Idem dalje.
Pregledala sam forum , postavila pretrazivanje na "racunanje", "mnozenje" "formula" i sl ali nisam nasla adekvatan odgovor na poitanje kako da :

ADOTable1/DBGrid/Kolona 1= cena/ Kolona 2= komada/Kolona3= Ukupno
Dobijem izracun :kol1Xkol2 u kol3

Moze izgledati jednostavno nekome ko zna , ali meni je zadnja dva tri dana neresiv problem.
Zato molim, ko ima malo vremena da mi odgovori primerom.
Hvala
[ Miloš Baić @ 20.03.2006. 22:16 ] @
Klikneš na ADOTable1 desnim klikom miša i pritisneš Fields Editor. U ovom editoru, klikneš desnim klikom i odabereš Add Fields. Selektuješ sva polja i klikneš na OK. Zatim opet na Fields Editor-u desni klik i klikneš na New Field. U opciji Name unosiš ime za to polje a u opciji Type tip podataka i tu izabereš Float. Field Type treba da bude Calculated.
Sad treba da obezbediš način na koji će se izračunati novo polje. Klikneš na ADOTable jedan i u Object Inspector - u odeš na karticu Events i praviš događaj za OnCalcFields. Npr:
Code:
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
  ADOTable1Naziv_sracunate_kolone.Value:= ADOTable1Naziv_Kolone1.Value * ADOTable1Naziv_Kolone2.Value 
end;

Konkretno:
Code:
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
  ADOTable1Ukupno.Value:= ADOTable1NetoPlata.Value + ADOTable1Regres.Value 
end;


Jedan od načina, verujem i najlakši...
Pozzz..
[ Senjorita @ 20.03.2006. 22:55 ] @
Mnogo Ti hvala.
Probala sam i sve savrseno radi.
Pretpostavljam da na ovom principu radi i deljenja i sabiranje , oduzimanje procenti i sl.
[ Senjorita @ 20.03.2006. 23:03 ] @
Tako je i to radi ( +,-,/ )
Ali sad idu nova pitanja, kao sto je to obicno.

Kako se ogranicava broj decimala recimo na dve??? ili izracunava procenat ???

I jos jedno molim:

Kako se sabira kolona po vertikali / ovaj isti primer /

Jooj, nadam se da nisam naporna iako je prvi put da se javljam.

[Ovu poruku je menjao Senjorita dana 21.03.2006. u 00:35 GMT+1]
[ Miloš Baić @ 20.03.2006. 23:51 ] @
Suma kolone:
Code:
...
var
  Bookmark: TBookmarkStr;
  Total: Double;
begin
  Bookmark := ADOTable1.Bookmark;
  ADOTable1.DisableControls;
  Total := 0;
  try
    ADOTable1.First;
    while not ADOTable1.EOF do
    begin
      Total := Total + ADOTable1Naziv_Kolone.Value;
      ADOTable1.Next;
    end;
  finally
    ADOTable1.Bookmark := Bookmark;
    ADOTable1.EnableControls;
  end;
  begin
    Edit1.Text:= Format ('%m', [Total]);
  end;


Za kolonu sa brojkama, recimo sračunatu, može i ovo:
Code:
(ADOTable1.FieldByName ('Naziv_Kolone') as TFloatField).
    DisplayFormat := '###,###,###';


[Ovu poruku je menjao loshmiscg dana 21.03.2006. u 00:58 GMT+1]