Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ho iniziato a scrivere un programma in VB.NET riguardante la gestione degli iscritti ad una Gimkana Automobilistica.
In sintesi il mio programma prevede una suddivisione in Tab Control, in ogni Tab ho la gestione di un argomento, es.:
nella prima Tab, ho la registrazione dei dati (Nome, Cognome, indirizzo, mail, ecc.) riguardanti gli iscritti, concludendo l'inserimento di tutti gli iscritti, passo in automatico alla seconda tab, dove visualizzo in un DataGridView tutti i dati per ogni iscritto, e volendo posso salvare la tabella in un file Excel.
Nella terza Tab, tramite un Button, richiamo in un nuovo DataGridView solo alcuni dati importanti dei concorrenti (Nome, Cognome, Classe, Tipo di Auto), ed aggiungo manualmente nella tabella i vari numeri di gara dei concorrenti; inoltre inserisco il numero totale delle manche da svolgere.
I problemi sorgono nella quarta Tab, dove popolo una ListBox con il nome e cognome di tutti i concorrenti.
Cliccando su ogni concorrente ho affianco alla List Box la visualizzazione del numero di gara, del Nome e Cognome e del tipo di Auto (Questa Funziona!!!),
poi ho delle Text Box dove gestisco l'inserimento del Tempo impiegato per compiere un giro del precorso e del numero di birilli abbattuti come penalitā.
Sia il tempo sia il numero di birilli, vengono poi trasformati in punteggio secondo un regolamento.
Ho inoltre delle Check Box che se selezionate vanno ad incrementare questo punteggio in base a delle penalitā costanti.
Un Problema č questo:
-Inserisco il tempo ed il numero di birilli, ma devo cliccare di nuovo sul concorrente perché mi vengano aggiornate le label che mi visualizzano il tempo inserito, il punteggio corrispondente hai birilli abbattuti, il punteggio totale delle sole penalitā ed il punteggio totale del tempo + le penalitā.
Codice sorgente - presumibilmente VB.NET
PrivateSub LstBoxSelConc_SelectedIndexChanged(sender AsObject, e As EventArgs)Handles LstBoxSelConc.SelectedIndexChanged
Dim i AsInteger
i = LstBoxSelConc.SelectedIndex
'Visualizzazione dei dati principali del Concorrente selezionato
LblNumConcSel.Text= DataGridView2.Rows(i).Cells(0).Value'Numero di Gara
LblNomeConcSel.Text= LstBoxSelConc.SelectedItem.ToString()'Nome e Cognome
Altro Problema:
- Ho creato una funzione (Altre_Penalitā), che in base alla selezione della Check Box mi da un totale delle penalitā costanti,
ma non funziona non so cosa sbaglio, volevo usare il Select Case ma anche quello non mi va
Poi vi chiederei anche un consiglio:
devo continuare il programma con altre Tab, per la gestione delle classifiche di manche, delle classifiche di classe e per la classifica assoluta, come mi consigliate di memorizzare i dati relativi ad ogni concorrente (i dati sono: Numero di Gara, Nome e Cognome, Classe, Auto, Numero di Manche, Tempo di Manche, Numero di Birilli, ed i punteggi visti sopra riguardanti le penalitā)?
Altro Problema:
- Ho creato una funzione (Altre_Penalitā), che in base alla selezione della Check Box mi da un totale delle penalitā costanti,
ma non funziona non so cosa sbaglio, volevo usare il Select Case ma anche quello non mi va
non mi va č troppo generico, dovresti specificare che errori rileva
Altro Problema:
- Ho creato una funzione (Altre_Penalitā), che in base alla selezione della Check Box mi da un totale delle penalitā costanti,
ma non funziona non so cosa sbaglio, volevo usare il Select Case ma anche quello non mi va
non mi va č troppo generico, dovresti specificare che errori rileva
Non rileva nessun problema, sembra che non mi entri proprio nella funzione...non so se ho sbagliato la dichiarazione, il richiamo (si vede nel primo listato di codice che ho inviato), o se č sbagliato l'utilizzo del Check Box.
Perché se mi entrasse nella funzione dovrebbe comunque farmi comparire il msgbox(SommaPen) che ho messo appunto come controllo.
E per il primo problema qualche idea su come posso risolverlo?
Altro Problema:
- Ho creato una funzione (Altre_Penalitā), che in base alla selezione della Check Box mi da un totale delle penalitā costanti,
ma non funziona non so cosa sbaglio, volevo usare il Select Case ma anche quello non mi va
non mi va č troppo generico, dovresti specificare che errori rileva
Non rileva nessun problema, sembra che non mi entri proprio nella funzione...non so se ho sbagliato la dichiarazione, il richiamo (si vede nel primo listato di codice che ho inviato), o se č sbagliato l'utilizzo del Check Box.
Perché se mi entrasse nella funzione dovrebbe comunque farmi comparire il msgbox(SommaPen) che ho messo appunto come controllo.
E per il primo problema qualche idea su come posso risolverlo?
il msgbox non compare perchč ad ogni "Return" la funzione esce e ti ritorna un risultato, che dovrebbe essere
un array di integer o un integer
Penso che tutti quei IF - elseif sono decisamente da principiante, usa questo:
Codice sorgente - presumibilmente VB.NET
Dim SommaPen AsInteger= 0
If ChBoxPenPartAnt.CheckState=TrueThen SommaPen = PenalitāPartAnt
If ChBoxPenJmpTrack.CheckState=TrueThen SommaPen += PenalitāJmpTrack
If ChBoxPenBirillone.CheckState=TrueThen SommaPen += PenalitāBirillone
If ChBoxPenMedia.CheckState=TrueThen SommaPen += PenalitāMedia
return SommaPen
quello che viene dopo return NON viene eseguito dal compilatore! quindi aggiungere MsgBox(SommaPen) dopo return e inutile.
Provo...
Provato non da nessun segno di funzionare, e non da nessun tipo di errore o avvertimento, come dicevo sembra quasi che non entri nella funzione!!!
Non č che sia sbagliato il comando CheckState?
Codice sorgente - presumibilmente C# / VB.NET
ChBoxPenMedia.CheckState = True
o il richiamo della funzione?
Perché un altro problema che ho indicato come quello principale č che selezionando un concorrente dalla ListBox, ed inserendo i campi delle TextBox, per far in modo di visualizzare i dati inseriti in queste ultime, nelle label corrispondenti, devo riselezionare il concorrente.
Non so se ho sbagliato il metodo della Sub corrispondente (il SelectedIndexChanged):
Codice sorgente - presumibilmente VB.NET
PrivateSub LstBoxSelConc_SelectedIndexChanged(sender AsObject, e As EventArgs)Handles LstBoxSelConc.SelectedIndexChanged
If ChBoxPenPartAnt.Checked=TrueThen SommaPen = PenalitāPartAnt
If ChBoxPenJmpTrack.Checked=TrueThen SommaPen += PenalitāJmpTrack
If ChBoxPenBirillone.Checked=TrueThen SommaPen += PenalitāBirillone
If ChBoxPenMedia.Checked=TrueThen SommaPen += PenalitāMedia
return SommaPen
endFunction
Domanda... perché Friend? All'interno del programma ho fatto altre funzioni, che eseguono dei calcoli (Vedi la Controlla_Tempo e Converti_Tempo), che funzionano benissimo a cui perō non ho aggiunto ne Public, ne Private ne Friend... č perché lavora sui CheckBox che bisogna aggiungerlo?