[ dr.zmaj @ 23.12.2006. 19:58 ] @
| Treba mi pomoc da isprogramiram aplikaciju koja omogucava unos knjiga i evidenciju izdatih knjiga. Glavna forma ima 4 edit polja za prikaz podataka o knjizi i 3 polja za podatke o korisniku. Jedan check box koji je True ako je knjiga izdata. Spisak knjiga se nalazi na ListBox-u. Kada se klikne na knjigu na ListBoxu, podaci su vidljivi u Edit poljima, a ukoliko je knjiga izdata treba da se pokazu i podaci o korisniku. Ukoliko knjiga nije izdata labele i editi korisnika su sivi. Na glavnoj formi nalazi se i dugme koje omogucava da se prikaze druga forma koja treba da prikaze knjige koje su izdate. Sve ovo treba da se koliko sam razumeo uradi sa slogovima i nizom. Problem je sto ja ne mogu da dodjem na ideju kako da ovo realizujem. Problem je ako sve podatke stavljam u jedan record, kada preskocim edit polja za korisnika javlja mi gresku. Znaci treba mi pomoc kako da povezem podatke za knjige sa podacima korisnika. |
[ StevanD @ 23.12.2006. 22:36 ] @
Rado bih ti pomogao ali cini mi se da nisam bas shvatio problem jer mi se cini da je to sve bas jednostavno....
da li koristis neku bazu podatka?
koliko tabela imas?
mozes li malo da detaljnije opises gde te koci...
[ Srki_82 @ 23.12.2006. 22:57 ] @
Pseudokod bi ovako izgledao
Code:
type
TPodaci = record
...
end;
var
NizPodataka: array of TPodaci;
...
procedure Popuni(I: Integer);
begin
NizPodataka[I].NekiPodatak = EditX.Text;
...
end;
[ Brkic @ 23.12.2006. 23:01 ] @
Problem je krajnje jednostavan, isti princim kao i program za Video klub (kasete-clanovi),za clana vezi koji broj klnjige je uzeo, ali veci ti je problem sto radis sa record pa ce ucitavanje fajla korisnika i knjiga biti dugotrajno vec preko 1000.
Predji na neku bazu da to radi kako treba.
[ dr.zmaj @ 24.12.2006. 19:48 ] @
Zadatak je da koristim slogove i nizove, a ne baze i tabele. Kao primer radili smo adresar, koji ima polja definisana u jednom record-u. To je sve u redu, ali zadatak je da preko npr. dugmeta za NOVI podatak unesem podatke o knjizi, dugme menja ime u UPISI, podatak se premesta u ListBox, a Edit polja se brisu i spremna su za novi podatak. Medjutim kada upisem podatke za knjigu, javlja mi gresku kada zelim da upisem podatke u listbox, jer sam ostavio prazna Edit polja za korisnika. Kada kliknem na Naziv knjige u ListBoxu (u ListBoxu treba samo da se pojavi naziv knjige i autor), treba da se pojave svi podaci o knjizi u Edit poljima, a ako je knjiga izdata da se automatski cekira CheckBox, a Edit polja za korisnika budu ispisana podacima o korisniku. Ukoliko knjiga nije izdata, mora se omoguciti rucno cekiranje cime se aktiviraju Edit polja za unos korisnika. Dugme za OBRISI, PROMENI, nisu mi problem.
Da li na forumu postoji negde program za videoteku, ali da je uradjen pomocu slogova i nizova.
[ dr.zmaj @ 30.12.2006. 20:10 ] @
Resio sam problem oko neprihvatanja praznih polja u slogu tako sto sam sva polja u slogu odredio kao string. Evo deo koda.
TKnjiga = record
NazKnjige: string[30];
Autor: string[20];
Godina: string[10];
Sifra: string[15];
Ime: string[30];
Tel: string[20];
Datum: string[15];
end;
TBibNiz=array [1..MAX] of TKnjiga;
TBibFile= file of TKnjiga;
.....................................................
public
BibZapis: TBibNiz;
TotalBib: integer;
unos_u_toku: Boolean;
.........................................................
procedure TBiblioPro.DodajZapis;
begin
inc(TotalBib);
BibZapis[TotalBib].NazKnjige := NazivKnjEdit.Text;
BibZapis[TotalBib].Autor := AutorEdit.Text;
BibZapis[TotalBib].Godina := GodinaEdit.Text;
BibZapis[TotalBib].Sifra := SifraEdit.Text;
BibZapis[TotalBib].Ime := ImeKorEdit.Text;
BibZapis[TotalBib].Tel := TelefonEdit.Text;
BibZapis[TotalBib].Datum := DatumEdit.Text;
if not KnjigaCheck.Checked then begin
if MessageDlg('Upis novog podatka u fajl',
MtInformation,[mbyes,mbno],0)=mryes then begin
PopuniSveEdite;
end;
end;
end;
U ListBox-u prikazuju se samo podaci o nazivu knjige i autoru sledecim kodom:
var i : integer;
begin
KnjigeList.Items.Clear;
for i := 1 to TotalBib do
KnjigeList.Items.Add(BibZapis.NazKnjige + ', ' + BibZapis.Autor);
end;
Na drugoj Formi imam takodje ListBox u kojem se trebaju prikazati samo izdate knjige, odnosno oni slogovi kod kojih postoji upisan korisnik. Znam kako prikazati podatke kao na prvoj Formi, ali kako da se samo prikazu knjige koje su izdate.
Molim za pomoc ako neko zna kako ovo da resim.
[ savkic @ 30.12.2006. 22:13 ] @
> Na drugoj Formi imam takodje ListBox u kojem se trebaju prikazati samo izdate knjige, odnosno oni slogovi kod kojih postoji upisan korisnik.
> Znam kako prikazati podatke kao na prvoj Formi, ali kako da se samo prikazu knjige koje su izdate.
Zar nisi sam dao odgovor na pitanje? To su slogovi kod kojih postoji upisan korisnik. Ako je korisnika čuvaš u polju Ime, prođi kroz sve slogove i upiši one gde je ime prazno.
Ako to nije ono što tražiš, onda razjasni.
[ dr.zmaj @ 31.12.2006. 13:15 ] @
Pa verovatno jeste to resenje, ali nemam ideju kako bi to izgledalo u kodu. U ListBoxu treba da se pojavi samo naziv knjige i autor iz sloga u kojem imamo ime korisnika. Ne znam kako bi to u kodu izveo.
[ savkic @ 31.12.2006. 13:33 ] @
> Pa verovatno jeste to resenje, ali nemam ideju kako bi to izgledalo u kodu. U ListBoxu treba da se pojavi samo naziv knjige i autor iz
> sloga u kojem imamo ime korisnika. Ne znam kako bi to u kodu izveo.
Code:
var
i : integer;
begin
KnjigeList.Items.Clear;
for i := 1 to TotalBib do
if BibZapis[i].Ime <> '' then
KnjigeList.Items.Add(BibZapis[i].NazKnjige + ', ' + BibZapis[i].Autor);
end;
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.