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

Delphi aplikacija, problem provera termina???

[es] :: Pascal / Delphi / Kylix :: Delphi aplikacija, problem provera termina???

[ Pregleda: 2567 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
79.101.166.*



Profil

icon Delphi aplikacija, problem provera termina???28.10.2009. u 14:58 - pre 175 meseci
Zdravo svima!



koristim delphi i mysql za izradu aplikacije koja sluzi za pracenje nastave na fakultetu(u pitanju je seminarski rad). Korisnicki zahtevi su sa akcentom na vece iskoriscenje kapaciteta kabineta.


problem je sledeci :

npr. datog datuma kabinet je zauzet od 11:00 do 12:30, zatim od 15:00 do 17:30 (moze biti i vise termina) , kako da na nivou aplikacije postavim ogranicenje da korisnik ne moze uneti novi termin u slucaju da je dati kabinet vec zauzet u tom terminu ili terminu koji se poklapa sa vec postojecim tog datuma, kako ne bi dolazilo do poklapanja termina ili drugim recima kako da izvrisim proveru da li se termini datog datuma poklapaju sa terminom kojeg korisnik hoce da unese?
dobro bi dosao i neki open sorce primer sa slicnom tematikom, ako je neko vec naisao na neki slican problem.


Nadam se da sam bio jasan, hvala unapred.
 
Odgovor na temu

stankons
Stanko Milošev
ise Gmbh, Deutschland
Bonn

Član broj: 99408
Poruke: 231
*.trinet.si.

ICQ: 147767352
Sajt: www.milosev.com


Profil

icon Re: Delphi aplikacija, problem provera termina???28.10.2009. u 15:07 - pre 175 meseci
Što se mene tiče, nisi uopšte jasan.

Da li hoćeš da ti neko napiše ceo kod, ili samo ideju?

Možeš sa if...then...else..., a možeš i da napišeš SQL upit koji će proveravati dati uslov, sve zavisi kako je (ako je) aplikacija napisana, pa šta ti je lakše.
 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
79.101.166.*



Profil

icon Re: Delphi aplikacija, problem provera termina???28.10.2009. u 15:19 - pre 175 meseci
ideju, kod , bilo sta...

mogao bih ja preko if ... else da odradim da je u pitanju jedan termin, medjutim meni problem predstavlja sto datog datuma moze biti vise termina. nemam ideju kako da izvrsim proveru, ako bi mogao da mi napises pseudo kod.
 
Odgovor na temu

stankons
Stanko Milošev
ise Gmbh, Deutschland
Bonn

Član broj: 99408
Poruke: 231
*.trinet.si.

ICQ: 147767352
Sajt: www.milosev.com


Profil

icon Re: Delphi aplikacija, problem provera termina???28.10.2009. u 15:23 - pre 175 meseci
Na brzinu mi je pala na pamet ideja, da selektuješ iz baze sve termine, i jednom while petljom i if then else, proveravaš da li je kabinet već zauzet.

Druga ideja je da napišeš SQL upit (in rezervisana reč).

Sad, pitanje je kog je tipa polje u koje ubacuješ termine? Ako je string, kako izgleda taj string, da li možeš da ga konvertuješ u TDateTime?
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Delphi aplikacija, problem provera termina???28.10.2009. u 15:43 - pre 175 meseci
Evo ti primjer sa provjerom slobodnih dana (rezervacije), pa vjerujem da ćeš se snaći, možda ti pomogne:

Code:
'select j.sifra sifra, j.naziv naziv, j.sifra_str str, t.naziv struktura ' +
        'from sobe j, strukture t ' +
        'where j.sifra_str=t.sifra and j.sifra_so=:sifra_sobe +
        ' and not exists  ' +
        '(select sifra_sj ' +
        '    from check_in  ' +
        '    where check_in.sifra_sj = j.sifra  ' +
        '    and :zaDatum
        ' between check_in.datum_od and check_in.datum_do) ' +
        'and ' +
        'not exists( ' +
        '    select s.sifra_sj ' +
        '    from rezervacije_sj s, rezervacije r ' +
        '    where ' +
        '    s.broj_rez=r.broj and  ' +
        '    s.sifra_sj = j.sifra ' +
        '    and r.oznaka = :oznaka ' +
        '    and :zaDatum
        ' between r.dolazak and r.odlazak) order by sifra';

F
 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
79.101.166.*



Profil

icon Re: Delphi aplikacija, problem provera termina???28.10.2009. u 18:41 - pre 175 meseci
hvala obojici (stankos i captPicard) malo pre na faxu mi je na pamet pala ideja da sa while i if else uporedim sve termine sa zadatim,ovaj drugi primer koji je poslao captPicard sa SQL upitom je takodje koristan jer je slicna logika. Hvala, mislim da cu sad moci da resim.
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Delphi aplikacija, problem provera termina???29.10.2009. u 14:05 - pre 175 meseci
Provjera da li je termin slobodan, a bez if ... then ... else

(pisano za FB Sql, lako prepraviti za MySQL)

Ulazni parametri:
- broj sobe (kabineta)
- datum
- početno vrijeme
- krajnje vrijeme

Struktura tablice SOBE:
1. ID - integer
2. SOBA_ID - broj sobe
3. DATUM - datum zauzeća
3. OD_VREMENA - početno vrijeme
4. DO_VREMENA - krajnje vrijeme

Code:

SELECT COUNT(ID) AS BROJ FROM SOBE
    WHERE DATUM = :DATUM AND
    (
    (:POCETNO_VRIJEME >= OD_VREMENA AND :POCETNO_VRIJEME < DO_VREMENA)
    OR
    (:KRAJNJE_VRIJEME > OD_VREMENA AND :KRAJNJE_VRIJEME <= DO_VREMENA)
    )


rezulat koji vraža SLQ je broj termina u koje ulazi novi. Ako je 0 - ne preklapa se niti s jednim terminom.

sql dozvoljava isto vrijeme za krajnje i sljedeće početno. tako su OK termini:
1. 08,00 - 10,00
2. 10,00 - 11,00

ako se znak '>' tj '<' zamjeni sa '>=' tj. '<=', početno vrijeme sljedećeg termina će morati biti bar za 1 sekundu veće od predhodnog krajnjeg.
 
Odgovor na temu

siki_2006
siki iki
novi pazar

Član broj: 126120
Poruke: 9
93.87.173.*



Profil

icon Re: Delphi aplikacija, problem provera termina???29.10.2009. u 15:26 - pre 175 meseci
Hvala na odgovoru, dobro resenje



 
Odgovor na temu

markic
Marko Markovic
Novi Sad

Član broj: 10148
Poruke: 210
77.46.194.*



+2 Profil

icon Re: Delphi aplikacija, problem provera termina???29.10.2009. u 20:49 - pre 175 meseci
Citat:
franjo_tahi:
Code:

SELECT COUNT(ID) AS BROJ FROM SOBE
    WHERE DATUM = :DATUM AND
    (
    (:POCETNO_VRIJEME >= OD_VREMENA AND :POCETNO_VRIJEME < DO_VREMENA)
    OR
    (:KRAJNJE_VRIJEME > OD_VREMENA AND :KRAJNJE_VRIJEME <= DO_VREMENA)
    )


Nedostaje ti jos jedan slucaj kada vazi
:POCETNO_VRIJEME < OD_VREMENA < DO_VREMENA < :KRAJNJE_VRIJEME
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Delphi aplikacija, problem provera termina???30.10.2009. u 10:59 - pre 175 meseci
Citat:
markic: Nedostaje ti jos jedan slucaj kada vazi
:POCETNO_VRIJEME < OD_VREMENA < DO_VREMENA < :KRAJNJE_VRIJEME


Istina,
treba dodati još:

Code:

or
(:POCETNO_VRIJEME <= OD_VREMENA AND :KRAJNJE_VRIJEME >= DO_VREMENA)

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi aplikacija, problem provera termina???

[ Pregleda: 2567 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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