PDA

View Full Version : [VB6]Creare in RANDOM rispettando delle condizioni


OrcaAssassina
14-04-2005, 12:38
Vi spiego a grandi linee cosa devo fare.

Faccio il macchinista e stavo studiando un programma che mi potesse creare in automatico il turno di lavoro

Mi spiego. Sono di Ancona...e facciamo finta che noi abbiamo da fare 50 treni al giorno.

Nel programma inseriro i vari 50 treni..ad esempio.
Treno IR 2128 Ancona Bologna 6:40 9:25
Treno IR 2127 Bologna Ancona 13.35 16:50
E cosi per 50 treni inseriti uno di seguito l'altro

Fino a qui non ci sono problemi, perchè sono in grado di realizzarlo

Ora viene il problema.
Devo inserire la normativa, con la quale il PC creera il turno.
Ad esempio:
Una giornta lavorativa non deve essere maggiore di 10 ore
Se si inizia prima delle 5:00 non deve essere maggiore di di 7 ore
Tra un servizio ed un altro devono trascorrere almeno 15 minuti
E cosi via dicendo tante altre.

Fatto questo.
Premendo un pulsante il PC mi deve unire i vari treni e creare le giornate basandosi sulle norme regolamentare che ho inserito

Quindi lui mi dira, ad esempio
Treno 11528 Ancona Bologna 7:40 - 10:25 Treno 11539 13:39 - 15:50
Treno 12025 Ancona pescara 6:15 - 8:15 Treno 12026 11:58 - 13:58

Un programma che mi crei una parte random, che però deve tener conto di certi parametri non l'ho mai realizzato.

Per iniziare mi potete dire come realizzare tutta la parte normativa.

Non è facile spiegare...mi date una manina.

P.S.: Ho fatto un programma che mi calcolava l'impegno giornaliero del macchinista, anche li c'erano tanti paramentri, però con cicli IF sono riuscito a crearlo anche perchè lavorare con un datagrid quindi gli facevo confrontare i vari valori delle celle e di conseguiva lui esesguiva i calcoli. Qui non ho delle celle quindi non posso fare IF daragrid.columns(inizio) = "valore" then....qui ho dei valori che non so proprio come trattare

Mi date un aiutino

Ciao e grazieeeeeeeee

OrcaAssassina
14-04-2005, 12:39
Ora devo creare la parte normativa con la quale il programma si appoggerà per creare da solo i servizi, o meglio gli allacci tra un servizio ed un altro

Come devo impostare queste condizioni????

Sul programma che calcola l'impegno, come ho detto sopra, lui in base ai dati che facevo andava a fare i calcoli in base alla normativa, quindi ero capace perchè gli facevo eseguire dei conti in base a dei valori che inserivo io, cioè inizio e fino della giornata

Su questo invece io gli devo impostare dei parametro, cioè la normativa, ad esempio, tra un servizo ed un altro ci devono essere 15 min di pausa, prima delle 5 posso creare un servizio che non può passare le 7 ore se dopo le 5 non po passare le 10 ore, nelle fasce di cena 19:00 - 21:00 tra un servizio ed un altro ci deve essere 30 minuti, ogni 6 giorni ci deve essere un riposo.

Lui in base a questo regolamento, va a pescara i serzivi che gli ho dato e si deve creare DA SOLO, il miglior turno di lavoro.

Non ho la minima idea di come si deve provedere per dare in "pasto" al pc di creare un turno in base ai parametri

Mi potete iniziare a dire, come devo partite

Immagino che non è facile per voi spiegarmelo

Ciao e grazieeeeeee

OrcaAssassina
15-04-2005, 15:42
Proviamo in questo modo.

Ho un file access, con una tabella 'SERVIZI' con i seguenti campi:
TRENO
ORARIO_PARTENZA
ORARIO_ARRIVO
LOCALITA_PARTENZA
LOCALITA_ARRIVO
CLASSIFICAZIONE
ed altri che ora non servono

In questo file ho gia archiviato una 50 di servizi

In VB ho gia creato una maschera per l'inserimento di servizi, per la visualizzazione e per la modifica.

Ora quindi ho 50 servizi non allacciati tra loro
Per allacciati intendo che un servizio non ha un seguito
Ad esempio un servizio è ANCONA-BOLOGNA un altro ANCONA-PESCARA un altro ANCONA-FABRIANO un altro BOLOGNA-ANCONA un altro PESCARA-ANCONA
un altro FABRIANO-ANCONA

Lo scopo di questo programma è di creare gli allacci.
Tipo: 1° giornata: ANCONA-BOLOGNA BOLOGNA-ANCONA
2° giornata: ANCONA-FABRIANO FABRIANO-ANCONA
Questi allacci devono essere eseguiti automaticamente.
In pratica il PC deve analizzarsi tutti i servizi e rispettando le CONDIZIONI (cioè la normativa, tutte le condizioni) deve crearsi da SOLO un turno che copre tutti i servizi

Io non voglio che mi fate la normativa perchè giustamente quella solo noi la conosciamo.

ECCO COSA CHIEDO:

Voglio creare una maschera che premendo un pulsante mi esegua questa semplice operazione.

- ALLACCIARE I TRENI SOLO IN BASE ALLA LOCALITA -
Quindi se un servizio e' ANCONA-BOLOGNA lui deve continuare con BOLOGNA-ANCONA
Poi se va avanti e analizza ANCONA-PESCARA e ci aggancia PESCARA-ANCONA

Nello stesso file di access ho creato un altra tabella 'TURNO'
Questi servizi non deve far altro che riportarmeli in questa tabella

ES
Record 1> Ancona - Bologna
Record 2> Bologna - Ancona
Record 3> Ancona - Pescara
Record 4> Pescara - Ancona

Con questo esempio posso capire i comandi da dire al PC, per TROVARE un servizio e BASANDOSI sulla condione di allancio mediante LOCALITA mi unisca i servizi

Se mi volete aiutare bene, altrimenti non importa

Ciao e grazieeeeeeeeee

OrcaAssassina
21-04-2005, 12:12
Ho preparato tutta la prima parte del programma.

Volevo chiedere se qualcona aveva voglia di crearmi 2 stinghe in modo da farmi vedere la sintassi

In pratica ho inserito nel programma 6 servizi.
Non chiedo altro che collegare la fine di un servizio, (riferendomi alla località) ad un altro servizio che come inizio ha la località di arrivo del precedente

Chi mi vuol dare una mano, gli invio i file da me creati con la spiegazione.

Ciao e grazieeeeeeee