
Originariamente inviata da
eziogsv
E' possibile non mi sia ben svegliato (sono andato a letto alle 4

)... ma in tutto il codice che hai messo non vedo dove "modifichi" le label aggiungendo il tempo.
Azz!.. ed io che mi reputo un animale notturno!... vedo che c'è chi mi batte!!... ahahahaha a dire il vero ci passo le nottate a lavorare al pc perche di notte riesco a concentrarmi meglio... nel pieno silenzio... lavoro meglio...
Mi hai riportato il codice di quello che dici di non aver visto??? ahahahahah... e si.... avevi sonno!.. ahahahah
Allora...
"Est" (che non è altro che l'abbreviazione di "estendi") assolutamente serve si... perche?... perche appunto è un valore "variabile" che può cambiare in base a cosa decide l'utente.... se non creassi questa variabile ti mostro cosa uscirebbe fuori... ma prima, ti faccio una piccola osservazione...
Hai notato quel: S1P2 che hai riportato nel codice?... quelle... non sono lettere e numeri a caso...
S1 = Salone 1
P2 = Poltrona 2
In tutto... ci sono 4 saloni e ogni salone ha 10 poltrone... e tutte devono essere indipendenti.
Se non avessi la variabile "Est", dovrei scrivere il codice del pulsante "Estendi" (chiamato nel programma "BTNEstendi") in questo modo:
codice:
Select Case Label2.Text
Case "S1P1"
If RB1ora.Checked = True Then
FormColloqui.LBTimerS1P1.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 3600).ToString
FormColloqui.CBSala1Posto1.Text += 1
ElseIf RB2ore.Checked = True Then
FormColloqui.LBTimerS1P1.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 7200).ToString
FormColloqui.CBSala1Posto1.Text += 1
ElseIf RB3ore.Checked = True Then
FormColloqui.LBTimerS1P1.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 10800).ToString
FormColloqui.CBSala1Posto1.Text += 1
End If
Case "S1P2"
If RB1ora.Checked = True Then
FormColloqui.LBTimerS1P2.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 3600).ToString
FormColloqui.CBSala1Posto2.Text += 1
ElseIf RB2ore.Checked = True Then
FormColloqui.LBTimerS1P2.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 7200).ToString
FormColloqui.CBSala1Posto2.Text += 1
ElseIf RB3ore.Checked = True Then
FormColloqui.LBTimerS1P2.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 10800).ToString
FormColloqui.CBSala1Posto2.Text += 1
End If
Case "S1P3"
If RB1ora.Checked = True Then
FormColloqui.LBTimerS1P3.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 3600).ToString
FormColloqui.CBSala1Posto3.Text += 1
ElseIf RB2ore.Checked = True Then
FormColloqui.LBTimerS1P3.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 7200).ToString
FormColloqui.CBSala1Posto3.Text += 1
ElseIf RB3ore.Checked = True Then
FormColloqui.LBTimerS1P3.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 10800).ToString
FormColloqui.CBSala1Posto3.Text += 1
End If
Case "S1P4"
If RB1ora.Checked = True Then
FormColloqui.LBTimerS1P4.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 3600).ToString
FormColloqui.CBSala1Posto4.Text += 1
ElseIf RB2ore.Checked = True Then
FormColloqui.LBTimerS1P4.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 7200).ToString
FormColloqui.CBSala1Posto4.Text += 1
ElseIf RB3ore.Checked = True Then
FormColloqui.LBTimerS1P4.Text=(Cint(FormPrincipale.LBTimerS1P2.Text) + 10800).ToString
FormColloqui.CBSala1Posto4.Text += 1
End If
ecc... ecc... ecc...
Io, invece di scrivere tutto sto casino, ho pensato che era più semplice e veloce per il programma, se non più leggero, ragionare in questo modo:
codice:
Private Sub BTNEstendi_Click(sender As System.Object, e As System.EventArgs) Handles BTNEstendi.Click
If RB1ora.Checked = True Then
Est = 3600
End If
If RB2ore.Checked = True Then
Est = 7200
End If
If RB3ore.Checked = True Then
Est = 10800
End If
Select Case Label2.Text
Case "S1P1"
If MsgBox("ATTENZIONE!, stai estendendo la durata del colloquio!... CONFERMI?", MsgBoxStyle.YesNo + MsgBoxStyle.Information) = MsgBoxResult.Yes Then
FormColloqui.LBTimerS1P1.Text += Val(Est) - (Now - StartTime).TotalSeconds
FormColloqui.CBSala1Posto1.Text += 1
End If
Case "S1P2"
If MsgBox("ATTENZIONE!, stai estendendo la durata del colloquio!... CONFERMI?", MsgBoxStyle.YesNo + MsgBoxStyle.Information) = MsgBoxResult.Yes Then
FormColloqui.LBTimerS1P2.Text += Val(Est) - (Now - StartTime).TotalSeconds
FormColloqui.CBSala1Posto2.Text += 1
End If
Case "S1P3"
If MsgBox("ATTENZIONE!, stai estendendo la durata del colloquio!... CONFERMI?", MsgBoxStyle.YesNo + MsgBoxStyle.Information) = MsgBoxResult.Yes Then
FormColloqui.LBTimerS1P3.Text += Val(Est) - (Now - StartTime).TotalSeconds
FormColloqui.CBSala1Posto3.Text += 1
End If
Case "S1P4"
If MsgBox("ATTENZIONE!, stai estendendo la durata del colloquio!... CONFERMI?", MsgBoxStyle.YesNo + MsgBoxStyle.Information) = MsgBoxResult.Yes Then
FormColloqui.LBTimerS1P4.Text += Val(Est) - (Now - StartTime).TotalSeconds
FormColloqui.CBSala1Posto4.Text += 1
End If
ecc... ecc... ecc...
Ho riportato SOLO le prime 4 postazioni del salone 1!.... ne mancano altre 46 di postazioni... che ovviamente evito qui di trascrivere...
Che succede come ho fatto io?
Il programma crea questa variabile di nome "Est" e sa che è un valore numerico che cambia in base al radio botton scelto dall'utente.... poi...
In primis il programma mi chiede la conferma se voglio estendere la durata... cosa che potrebbe tornare utile in caso di "click accidentali"... (purtroppo devo pensare pure a questo!...)
Perche ho usato poi il "Select Case"?... perche essendoci 50 postazioni, devo in qualche modo dire al programma a QUALE di quelle 50 postazioni deve estendere la durata!...
Quando l'utente fa click sul pallino VERDE del FormColloqui, per esempio, sulla postazione 5 del salone 3, il programma, prima di aprire l'apposita finestra per la scelta (FormScelta), modifica la proprietà text della "Label2" del FormScelta scrivendo "S3P5".
Si apre poi il FormScelta.
L'utente seleziona il radio botton 1, 2 o 3 per dire al programma se vuole estende di 1 ora, 2 ore o 3 ore e poi clicca sul bottone "Estendi".
Quando poi l'utente ha fatto click sul bottone "Estendi" il programma legge la proprietà text della label2 del medesimo form e comincia ad andare in rassegna dei casi con il Select Case.
Inizia comparando il testo della label2, che è diventato: "S3P5" con...
Case S1P1, no...
Case S1P2, no...
Case S1P3, no...
ecc... ecc...
Case S1P9, no...
Case S1P10, no...
Case S2P1, no...
Case S2P2, no...
ecc... ecc...
Case S3P3, no...
Case S3P4, no...
Case S3P5, BINGO!.... e così capisce che l'estensione della durata è riferito al Salone 3, Poltrona 5.