32 lecții despre Delfi
Deschideți caseta combo „Selector de obiect“, în partea de sus a Object Inspector - acum nu are două componente: TForm și TQuery.
Faceți clic dreapta pe obiect TQuery și din meniul contextual, selectați „Fields Editor“. Faceți clic pe butonul Add - Adauga caseta de dialog Câmpuri să apară, așa cum se arată în figura 1
Aceste noi facilități vor fi utilizate pentru reprezentarea vizuală a tabelului CLIENT pentru utilizator.
Iată lista completă a obiectelor pe care tocmai au fost create:
Acest acord poate fi foarte util atunci când se lucrează cu mai multe mese, și doriți doar să știu, această variabilă se referă la un câmp de tabel.
Cea mai importantă proprietate numita valoare. O puteți accesa după cum urmează:
Procedura TForm1.Button1Click (Expeditor: TObject);
Codul prezentat aici, cesiona mai întâi valorile variabilelor d și S. Următoarele două linii de a modifica aceste valori, iar ultimele două sunt atribuite noi valori ale obiectelor. Nu are prea mult sens pentru a scrie cod ca acest lucru în program, dar acest cod este folosit doar pentru a demonstra sintaxa utilizată de către descendenții TField.
Proprietatea Valoarea corespunde întotdeauna tipul câmpului, la care se referă. De exemplu, la TStringFields - string, TCurrencyFields - dublu. Cu toate acestea, dacă sunt afișate câmp de tip TCurrencyField folosind componenta „date sensibile“ (date conștient: TDBEdit, TDBGrid etc), acesta va fi reprezentat printr-un șir de caractere, cum ar fi: „$ 5.00“.
Acest lucru s-ar putea face să crezi că Delphi deconectat brusc tastarea puternic. Dupa TCurrencyField.Value declarate ca dublă, și dacă încercați să atribuiți un șir de caractere, veți obține o eroare de „nepotrivire de tip“ (nepotrivire de tip). Exemplul de mai sus demonstrează, de fapt, proprietățile obiectelor de vizualizare a datelor, mai degrabă decât de tip slăbire control. (Cu toate acestea, este posibil pentru a obține valoarea câmpului este deja convertit la un alt tip. Pentru aceasta TField și urmașii săi un set AsString sau metode de tip AsFloat. Desigur, transformarea are loc doar atunci când are sens.)
Dacă doriți să obțineți numele câmpurilor din curent DataSet, atunci acesta utilizează numele_campului proprietatea una din cele două moduri, după cum se arată mai jos:
Dacă doriți să obțineți numele obiectului asociat cu câmpul, atunci trebuie să utilizați proprietatea Nume:
Acest program leagă cele trei mese într-un unu-la-mulți. În special, comenzi și elemente legate de OrderNo domeniu. și piese de elemente și legate de domeniul PartNo. (Tabelul COMENZI conține toate comenzile, în tabelul de articole - elementele indicate în ordine; PARTS - obiecte director). În programul pe care îl puteți naviga tabelul de comenzi și vezi asociate cu lista ordinea actuală a elementelor incluse. Programul CALC_ USM este destul de complicat, dar ilustrează bine puterea câmpurilor calculate.
Secvența de creare a proiectului CALC_SUM:- Crearea unui nou proiect (File | New Project) și scoateți-l din forma (în Manager de Proiect View | Manager de proiect)
- Selectați forme de baze de date de experți din meniul Help.
- Pe primul ecran, selectați „Create master / detaliu forma“ și „Creați un formular folosind TQuery obiecte“.
- Faceți clic pe Următorul și selectați tabelul din baza de date alias ORDERS.DB DBDEMOS.
- Faceți clic pe Următorul și alegeți câmpurile OrderNo, CustNo, DataVânzării, SHIPDATE și ItemsTotal din tabelul ORDERS.DB.
- Faceți clic pe Next și selectați „orizontală“ din plasarea componentelor pe forma dbEdit.
- Faceți clic pe Next și selectați tabelul ITEMS.DB.
- În următoarele două ecrane, selectați toate câmpurile din tabel și le-a pus într-o grilă.
- Faceți clic pe Next și selectați Ordinul nr câmp din Aster M și Detaliu LisTB boi, și faceți clic pe butonul Add.
- Faceți clic pe Următorul, și va genera un formular.
Selectați primul dintre cele două obiecte TQuery și instalați proprietatea activă la True. Pentru Query2 în proprietatea SQL scrie textul cererii.
selectați * de la elemente I părțile P
unde (I.OrderNo =: OrderNo) și
Un proces simplu este descris în paragraful anterior, se arată modul de a crea un câmp calculat. Dacă te uiți într-un DBGrid, puteți vedea că există acum există o altă cutie goală. Pentru a pune o valoare în acest domeniu, deschideți Object Inspector pagina Evenimente obiect Query2 și dublu-clic pe OnCalcFields. Umple metoda este creată după cum urmează:
TForm2.Query2CalcFields Procedura (DataSet: TDataSet);
După începerea programului câmpul Total va conține șirul $ ora 23.00.
Acest lucru arată cât de ușor este de a crea un câmp calculat care afișează date formatate corect. De fapt, acest domeniu ar trebui să arate altceva - câmpurile de lucru Cant (cantitate) și ListPrice (prețul). În acest scop, codul de mai sus pentru un eveniment OnCalcFields fi modificat după cum urmează.
TForm1.Query2CalcFields Procedura (DataSet: TDataset);
Dacă executați acum programul, câmpul total va conține valoarea dorită.
În cazul OnCalcFields handler poate efectua calcule mai complexe (va fi prezentat mai târziu), dar trebuie amintit faptul că acest lucru determină o încetinire corespunzătoare a vitezei programului.
TForm1.Query1CalcFields Procedura (DataSet: TDataset);
cu Query2 do începe