Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Creazione Gestione Apputamenti
domenica 02 settembre 2012 - 21.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Access (.mdb)
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
dom 2 set 2012 - 21:41
Buonasera a tutti,
volevo solamente un consiglio su come sviluppare un semplicissimo software di inserimento appuntamenti.
In particolare, ovviamente, il programma deve riuscire a fare evitare che l'utente possa inserire diversi appuntamenti per la stessa ora/durata.
Mi date qualche consiglio su come implementare questa verifica?
Grazie a tutti!
Davide1986
Profilo
| Junior Member
89
messaggi | Data Invio:
lun 3 set 2012 - 10:40
La prima cosa che mi viene in mente è creare un database che contiene le informazioni ( Data / Ora Inizio / Ora Termina/ Note ) . Già cosi sai cosa far apparire quando sei arrivato a X Data all'Ora X appare l'informazione memorizzata a Note.
Per la memorizzazione il nuovo orario e per verificare che non si accavalli mi viene in mente questa cosa :
I = (Ora Inizio memorizzato Database )
F = (Ora Fine/Termina memorizzato Database)
I' = (Nuovo Orario Inizio)
F' =(Nuovo Orario Fine)
Possono succedere tre cose :
a) Il nuovo orario è dentro il Range di I e F ex : I = 12:00 e F = 14:00 , I' = 13:00 e F' = 13:50
b) Il nuovo orario termina dentro il Range di I e F ex: I = 12:00 e F=14:00 , I' = 9:00 e F'= 13:00
c) Il nuovo orario Inizia dentro il Range di I e F ex : I = 12:00 e F=14:00 , I' = 13:00 e F' = 18:00
f) Controllare che I' e F' non coincidono con I e F memorizzati .
Dobbiamo fare in modo che verifichi sempre che non succedono questi tre casi :
Quindi pensavo di fare un controllo in questa maniera :
If ( I = I' ) AND (F = F') THEN
return FALSE
End if
Prima di verificare tutti i casi faccio un controllo che l'orario inserito è di sicuro più piccolo di quello memorizzato o più grande di quello memorizzato :
Se l'orario nuovo di fine (F') è più piccolo dell'orario di inizio (I) che è già memorizzato lo inserisco subito If ( F' < I) then return TRUE end if
Se l'orario nuovo di inizio (I') è più grande dell'orario di fine (F) che è già memorizzato lo inserisco subito if( I' > F) then return TRUE end if
Ora procedo a verificare se si accavalla l'orario :
if (( I < I') AND (F > F') ) OR ((I>I') AND (F >F') ) OR ((I<I') AND (I'<F)) THEN
return FALSE
End if
Tradotto :
per verificare la condizione (a) devo fare la verifica di ( I < I' ) AND (F>F')
per verificare la condizione (b) devo fare la verifica di (I > I' ) AND (F>F')
per verificare la condizione (c) devo fare la verifica di (I < I' ) AND ( I'<F)
Spero che mi sono fatto capire, non l'ho provato fammi sapere.
Saluti Davide
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !