Commit da7961da authored by Michele's avatar Michele

Merge branch 'next' into 'master'

merge next in master in preparazione alla 3.11.1

See merge request akrobaticone/Gestione-manifestazioni!8
parents c5a8cf2c 74c56e13
.icon.png

10.5 KB | W: | H:

.icon.png

10.7 KB | W: | H:

.icon.png
.icon.png
.icon.png
.icon.png
  • 2-up
  • Swipe
  • Onion skin
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
......@@ -2,7 +2,7 @@
Title=Gestione manifestazioni
Startup=MAvvio
Icon=frequenze3.png
Version=3.10.1
Version=3.10.99
Component=gb.image
Component=gb.qt4
Component=gb.form
......
......@@ -2,12 +2,12 @@
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
'******* Impostazioni di sistema
Public Const CREDENZIALI As String = "Michele Villa - (c) 2009-2018 "
Public Const FILE_VERS As String = "V1" ' versione formato file, incrementare quando si cambia formato di salvataggio La V serve a verificare se versione corretta
Public Const CREDENZIALI As String = "Michele Villa - (c) 2009-2019 "
Public Const FILE_VERS As String = "V2" ' versione formato file, incrementare quando si cambia formato di salvataggio La V serve a verificare se versione corretta
Public Const INIZIO_PILOTI As Integer = 1 ' l'array piloti incomincia dal numero 1
Public Const NUMERO_LINGUE_INSTALLATE As Integer = 2
Public Const CARTELLA_PROGRAMMA As String = "Gestman"
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-18
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Inherits PDFWriter
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-18
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Create Static
......
......@@ -2,7 +2,7 @@
' classe pilota con proprietà e metodi
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Private $numero As Integer
......@@ -426,20 +426,22 @@ End
'************ cancella pilota
Public Sub annulla()
$nome = ""
$frequenza = ""
'$nome = ""
'$frequenza = ""
$voli = 0
$stato = 0
$nomemodello = ""
$nazione = ""
$gruppo = ""
'$nazione = ""
'$gruppo = ""
$nomemodello = Null
$prioritaprenota = 0
$oraultimo = Time(0, 0, 0)
$nota = ""
$evidenzia = False
$flag = False
$round = "" ' stato 0 pilota cancellato
$tempovolo = Time(0, 0, 0) ' camcella tutti i tempi
$tempoultimovolo = Time(0, 0, 0)
$oraultimo = Time(0, 0, 0)
$stato = C.STATO_ELIMINATO
End Sub
......@@ -455,8 +457,11 @@ Public Sub inizializza()
$round = "" ' stato 0 pilota cancellato
$tempovolo = Time(0, 0, 0) ' camcella tutti i tempi
$tempoultimovolo = Time(0, 0, 0)
$oraultimo = Time(0, 0, 0)
$nomemodello = Null
$evidenzia = False
$nota = ""
$oraultimo = Time(0, 0, 0)
For i = 0 To $lista_modelli[2].max
$lista_modelli[2][i] = "0"
Next
......
' Gambas module file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Public Piloti As New Object[]
......@@ -15,3 +15,4 @@ Public punta_prenota As Integer ' contatore per p
Public lista_lingue As New String[C.NUMERO_LINGUE_INSTALLATE, 2]
Public sLista As New String[]
Public nome_crono As String ' array frequenze
Public massimo_in_volo As Integer
' Gambas module file
' Gestione frequenze
' Michele Villa - (c) 2009-18
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Public Sub statistica(dati As String[][])
......@@ -67,10 +67,10 @@ Public Sub statistica(dati As String[][])
Endif
Next
n_costruttori = costruttori.count
If totale_modelli = 0 Then ' calcola media costruttori ed evita divizsione per 0
If totale_modelli = 0 Then ' calcola media costruttori ed evita divisione per 0
media_costruttori = 0
Else
media_costruttori = Round(totale_modelli / n_costruttori)
media_costruttori = Round(totale_modelli / n_costruttori, -1)
Endif
a = Time(totale_tempo)
If massimo = 0 Then ' evita divisione per zero
......@@ -97,6 +97,7 @@ Public Sub statistica(dati As String[][])
dati.Push([("Numero costruttori"), n_costruttori])
dati.push([("Numero modelli volanti"), totale_modelli])
dati.push([("Numero voli effettuati"), totale_voli])
dati.push([("Numero massimo di piloti contemporaneamente in volo"), d.massimo_in_volo])
dati.push([("Media modelli per pilota"), mediamodelli])
dati.Push([("Media modelli per costruttore"), media_costruttori])
dati.push([("Media voli per pilota"), media_voli])
......@@ -133,6 +134,13 @@ Public Sub add_cronologia(numero As Integer, evento As String)
End
Public Sub inizializza_cronologia()
D.array_cronologia.Clear
D.array_cronologia.Add(("** Eventi da : ") & Format(Now, "dd/mm/yyyy hh:nn"))
End
Public Function DueCifre(numero As Integer) As String ' stringa sempre di due cifre
Dim sTemp As String
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-18
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Public numeri As New Integer[]
......
......@@ -4,6 +4,7 @@
Move(0,0,315,287)
#Scaled = False
Text = ("Cronologia")
Icon = Picture["Immagini/Radio.png"]
Resizable = False
{ Label1 Label
Move(7,7,301,42)
......@@ -13,6 +14,7 @@
}
{ txb_testo TextBox
Move(7,161,301,42)
Background = Color.White
}
{ rbn_generico RadioButton
Move(7,56,119,28)
......@@ -26,6 +28,8 @@
{ ComboBox1 ComboBox
Move(7,119,301,28)
Visible = False
Background = Color.White
ReadOnly = True
}
{ btn_ok Button
Move(154,238,161,49)
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Private numero As Integer
......
......@@ -3,8 +3,10 @@
{ Form Form
MoveScaled(0,0,56,29)
Text = ("Cambia Modello")
Icon = Picture["Immagini/Radio.png"]
{ ListBox1 ListBox
MoveScaled(0,3,28,21)
Background = Color.White
}
{ btn_ok Button
MoveScaled(28,24,28,5)
......@@ -25,6 +27,7 @@
{ ListBox2 ListBox
MoveScaled(28,3,28,21)
Enabled = False
Background = Color.White
}
{ Label2 Label
MoveScaled(28,0,28,3)
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
Private $parametro As Integer
Public numeri As New Integer[]
Public Sub _new(parametro As Integer)
......@@ -27,14 +29,14 @@ End
Public Sub rdb_scambia_Click()
ValueBox1.enabled = True ' abilita valuebox selezionando "scegli il numero"
ValueBox1.SetFocus()
cmb_pilota.enabled = True ' abilita valuebox selezionando "scegli il numero"
cmb_pilota.SetFocus()
End
Public Sub rdb_fondo_Click()
ValueBox1.enabled = False ' deseleziona valuebox se sposta in fondo
cmb_pilota.enabled = False ' deseleziona valuebox se sposta in fondo
End
......@@ -43,38 +45,43 @@ Public Sub btn_ok_Click()
Dim valore As Integer = 0
If rdb_fondo.value Then valore = C.PRIORITA_ULTIMO
If rdb_scambia.value Then valore = ValueBox1.value
If rdb_scambia.value Then valore = numeri[cmb_pilota.index]
If rdb_sali.value Then valore = C.PRIORITA_SU
If rdb_scendi.value Then valore = C.PRIORITA_GIU ' se scelto scambio con pilota ritorna numero pilota
Me.close(valore)
End
Public Sub ValueBox1_Change()
If ValueBox1.value < 0 Then ValueBox1.value = 0 ' se inserito numero negativo cancella numero
End
Public Sub Form_Open()
Dim i As Integer
Dim s As String
If D.Piloti[$parametro].prioritaprenota = F.min_prenota() Then rdb_sali.enabled = False
If D.Piloti[$parametro].prioritaprenota = F.max_prenota() Then
rdb_scendi.enabled = False
rdb_fondo.enabled = False
rdb_sali.value = True
Endif
For i = 1 To D.piloti.Max
If (D.piloti[i].stato = C.STATO_PRENOTA Or D.piloti[i].stato = C.STATO_CHIAMATA) And D.piloti[i].numero <> $parametro Then
s = D.piloti[i].numero & " " & D.piloti[i].nome
cmb_pilota.Add(s)
numeri.Add(D.piloti[i].numero)
Endif
Next
End
Public Sub rdb_sali_Click()
ValueBox1.enabled = False ' deseleziona valuebox se sposta in fondo
cmb_pilota.enabled = False ' deseleziona valuebox se sposta in fondo
End
Public Sub rdb_scendi_Click()
ValueBox1.enabled = False ' deseleziona valuebox se sposta in fondo
cmb_pilota.enabled = False ' deseleziona valuebox se sposta in fondo
End
# Gambas Form File 3.0
{ Form Form
MoveScaled(0,0,28,26)
MoveScaled(0,0,33,30)
Icon = Picture["Immagini/Radio.png"]
Border = False
{ btn_annulla Button
MoveScaled(0,21,14,5)
MoveScaled(0,23,16,6)
Text = ("Annulla")
}
{ btn_ok Button
MoveScaled(14,21,14,5)
MoveScaled(16,23,16,6)
Text = ("Ok")
}
{ rdb_fondo RadioButton
MoveScaled(2,1,18,4)
MoveScaled(1,10,18,4)
Text = ("Sposta in fondo")
Value = True
}
{ rdb_scambia RadioButton
MoveScaled(2,6,18,4)
MoveScaled(1,1,18,4)
Text = ("Scambia con N°")
}
{ ValueBox1 ValueBox
MoveScaled(20,5,6,5)
Enabled = False
Value = True
}
{ rdb_scendi RadioButton
MoveScaled(2,17,24,2)
MoveScaled(1,19,24,2)
Text = ("Scendi")
}
{ rdb_sali RadioButton
MoveScaled(2,12,24,2)
MoveScaled(1,15,24,2)
Text = ("Sali")
}
{ cmb_pilota ComboBox
MoveScaled(1,5,30,4)
Background = Color.White
ReadOnly = True
}
}
......@@ -3,7 +3,7 @@
' Gambas module file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
......
......@@ -3,11 +3,13 @@
{ Form Form
MoveScaled(0,0,103,84)
Font = Font["Arial"]
Icon = Picture["Immagini/Radio.png"]
Arrangement = Arrange.Fill
AutoResize = True
{ GridView1 GridView
MoveScaled(0,2,102,82)
Font = Font["Arial"]
Background = Color.White
}
{ Timer1 #Timer
#MoveScaled(86,0)
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
......
......@@ -4,7 +4,7 @@
Move(0,0,651,371)
#Scaled = False
Text = ("Gestione manifestazioni - Informa")
Icon = Picture["Radio.png"]
Icon = Picture["Immagini/Radio.png"]
{ TabStrip1 TabStrip
Move(7,7,637,315)
Font = Font["Arial"]
......@@ -67,8 +67,6 @@
Move(553,217,63,56)
Picture = Picture["Immagini/gambas.png"]
Stretch = True
AutoResize = True
Alignment = Align.Center
}
{ PictureBox3 PictureBox
Move(21,217,63,56)
......
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2019
Public Sub rdb_totale_Click()
frm_dati.enabled = False
End
Public Sub rdb_selettiva_Click()
frm_dati.enabled = True
End
Public Sub btn_annulla_Click()
Me.Close
End
Public Sub btn_inizializza_Click()
Dim i As Integer
Dim y As Integer
For i = C.INIZIO_PILOTI To D.Piloti.Max ' fai girare tutti i piloti
With D.Piloti[i]
If .stato <> C.STATO_ELIMINATO Or ckb_eliminati.value Then ' se pilota era già eliminato ignoralo
If rdb_totale.value Then
.inizializza()
Else
If ckb_ultimo_volo.value Then .oraultimo = Time(0, 0, 0)
If ckb_numero_voli.value Then
For y = 0 To .get_indice_modelli()
.lista_modelli[2][y] = "0"
Next
Endif
If ckb_totale_tempo.value Then .tempovolo = Time(0, 0, 0)
If ckb_evidenziazione.value Then .evidenzia = False
If ckb_note.value Then .nota = Null
Endif
Endif
If rdb_attivi.value Then .stato = C.STATO_LISTA
If rdb_sospesi.value Then .stato = C.STATO_SOSPESO
If rdb_invisibili.value Then .stato = C.STATO_INVISIBILE
.oraprenotazione = Time(0, 0, 0)
.prioritaprenota = 0
.flag = False
.round = Null
.tempoultimovolo = Time(0, 0, 0)
End With
Next
d.punta_prenota = 0
d.massimo_in_volo = 0
If ckb_cronologia Then F.inizializza_cronologia()
F.add_cronologia(-1, ("Inizializzazione piloti"))
Me.close
End
Public Sub Form_Open()
Me.text = d.nome_manifestazione & " - " & "Inizializza piloti"
End
# Gambas Form File 3.0
{ Form Form
MoveScaled(0,0,68,55)
Icon = Picture["Immagini/Radio.png"]
Resizable = False
{ frm_tipo Frame
MoveScaled(3,4,31,14)
Text = ("Tipo inizializzazione")
{ rdb_totale RadioButton
MoveScaled(0,4,27,4)
Text = ("Totale")
Value = True
}
{ rdb_selettiva RadioButton
MoveScaled(0,9,28,3)
Text = ("Parziale")
}
}
{ frm_stato Frame
MoveScaled(37,4,29,18)
Text = ("Seleziona stato piloti")
{ rdb_attivi RadioButton
MoveScaled(0,4,25,3)
Text = ("Attivi")
Value = True
}
{ rdb_sospesi RadioButton
MoveScaled(0,8,25,3)
Text = ("Sospesi")
}
{ rdb_invisibili RadioButton
MoveScaled(0,12,25,3)
Text = ("Invisibili")
}
}
{ frm_dati Frame
MoveScaled(3,22,31,31)
Enabled = False
Text = ("Dati da inizializzare")
{ ckb_ultimo_volo CheckBox
MoveScaled(0,5,28,4)
Text = ("Ora ultimo volo")
Value = CheckBox.True
}
{ ckb_numero_voli CheckBox
MoveScaled(0,10,29,4)
Text = ("Numero di voli")
Value = CheckBox.True
}
{ ckb_totale_tempo CheckBox
MoveScaled(0,15,29,4)
Text = ("Totale tempo di volo")
Value = CheckBox.True
}
{ ckb_evidenziazione CheckBox
MoveScaled(0,25,30,4)
Text = ("Evidenziazione")
Value = CheckBox.True
}
{ ckb_note CheckBox
MoveScaled(0,20,30,4)
Text = ("Note")
Value = CheckBox.True
}
}
{ frm_applicazione Frame
MoveScaled(37,22,29,13)
Text = ("Applicazione")
{ ckb_cronologia CheckBox
MoveScaled(0,4,28,4)
Text = ("Azzera cronologia")
}
{ ckb_eliminati CheckBox
MoveScaled(0,9,31,4)
Text = ("Ripristina piloti eliminati")
}
}
{ btn_inizializza Button
MoveScaled(37,38,29,7)
Text = ("Inizializza")
}
{ btn_annulla Button
MoveScaled(37,46,29,7)
Text = ("Annulla")
}
}
' Gambas class file
' Gestione frequenze
' Michele Villa - (c) 2009-2018
' Michele Villa - (c) 2009-2019
' Under GNU GPL V2 or Later
......@@ -29,10 +29,17 @@ Public Sub Form_Open()
Dim nr As Integer
Dim numero As Integer
cmb_stato.Add("Invisibile") ' 0
cmb_stato.Add("Sospeso") ' 1
cmb_stato.Add("Attivo") ' 2
cmb_stato.Add(("Invisibile")) ' 0
cmb_stato.Add(("Sospeso")) ' 1
cmb_stato.Add(("Attivo")) ' 2
cmb_nazione.Add(("ITALIA"))
cmb_nazione.Add(("GERMANIA"))
cmb_nazione.Add(("SVIZZERA"))
cmb_nazione.Add(("FRANCIA"))
cmb_nazione.Add(("AUSTRIA"))
cmb_nazione.Add(("SPAGNA"))
cmb_nazione.Add(("INGHILTERRA"))
If $passaggio_dati = NUOVO Then
cmb_stato.index = ATTIVO
Else
......@@ -73,7 +80,7 @@ Public Sub Form_Open()
btn_Esci.text = ("Annulla")
txt_nome.text = D.Piloti[$passaggio_dati].nome
cmb_frequenza.text = D.Piloti[$passaggio_dati].frequenza
txt_nazione.text = D.Piloti[$passaggio_dati].nazione
cmb_nazione.text = D.Piloti[$passaggio_dati].nazione
txt_gruppo.text = D.Piloti[$passaggio_dati].gruppo
txt_note.text = D.Piloti[$passaggio_dati].nota
chk_evidenzia.value = D.Piloti[$passaggio_dati].evidenzia
......@@ -86,11 +93,12 @@ Public Sub Form_Open()
Next
' appoggio = D.Piloti[$passaggio_dati].lista_modelli
' lista_m = appoggio.copy()
disegna_lista()
Endif
lbl_numero.text = numero
num = numero
disegna_lista()
End
Public Sub btn_aggiungi_Click() ' aggiunngi o modifica piloti
......@@ -99,6 +107,9 @@ Public Sub btn_aggiungi_Click()
Dim obje As Object
Dim numero As Integer
Dim attuale As Integer
Dim stringa As String
Dim stato_precedente As Integer
btn_add_modello_Click()
If txt_nome.text = "" Then ' manca nome pilota
......@@ -106,9 +117,9 @@ Public Sub btn_aggiungi_Click()
txt_nome.SetFocus()
Return
Endif
If txt_nazione.text = "" Then ' manca nome pilota
If cmb_nazione.text = "" Then ' manca nome pilota
Message(("Inserire nazionalità pilota"), "Ok")
txt_nazione.SetFocus()
cmb_nazione.SetFocus()
Return
Endif
If lista_m[0].count = 0 Then ' lista modelli vuota
......@@ -121,7 +132,7 @@ Public Sub btn_aggiungi_Click()
txt_costruttore.SetFocus()
Return
Endif
stringa = stringa & ":"
' nomemodello = lista[0][0] 'assegna modello attuale il primo
If $passaggio_dati = NUOVO Then ' nuovo pilota
For i = C.INIZIO_PILOTI To D.Piloti.Max
......@@ -149,7 +160,7 @@ Public Sub btn_aggiungi_Click()
.nomemodello = lista_m[0][0]
.indice_modello = 0
.oraprenotazione = Time(0, 0, 0)
.nazione = txt_nazione.Text
.nazione = cmb_nazione.Text
.gruppo = txt_gruppo.text
.prioritaprenota = 0
.round = ""
......@@ -159,9 +170,10 @@ Public Sub btn_aggiungi_Click()
.lista_modelli = lista_m.copy()
End With
stringa = ("Iscritto")
txt_nome.text = ""
txt_costruttore.text = ""
txt_nazione.text = ""
cmb_nazione.index = 0
txt_gruppo.text = ""
txt_note.text = ""
chk_evidenzia.Value = False
......@@ -176,11 +188,13 @@ Public Sub btn_aggiungi_Click()
nuovo_pilota = False
Endif
lbl_numero.text = num
Else
Else
stato_precedente = D.Piloti[$passaggio_dati].stato
With D.Piloti[$passaggio_dati] 'form aperto per modificare pilota
.nome = txt_nome.Text
.frequenza = Replace(cmb_frequenza.Text, ",", ".")
.nazione = txt_nazione.Text
.nazione = cmb_nazione.Text
.gruppo = txt_gruppo.text
.nota = txt_note.text
.nomemodello = lista_m[0][0] 'assegna primo modello in lista
......@@ -188,36 +202,41 @@ Public Sub btn_aggiungi_Click()
.indice_modello = 0
.evidenzia = chk_evidenzia.value
.lista_modelli = lista_m.copy()
End With
attuale = $passaggio_dati
stringa = ("Modificato")
Endif
F.add_cronologia(attuale, stringa)
If cmb_stato.index = ATTIVO Then
If $passaggio_dati = NUOVO Then
D.Piloti[attuale].stato = C.STATO_LISTA
F.add_cronologia(attuale, ("iscritto"))
Else
D.Piloti[attuale].stato = stato
F.add_cronologia(attuale, ("Modificato"))
Endif
Else
If cmb_stato.index = INVISIBILE Then
D.Piloti[attuale].stato = C.STATO_INVISIBILE
F.add_cronologia(attuale, ("Stato invisibile"))
Endif
If cmb_stato.index = SOSPESO Then
D.Piloti[attuale].stato = C.STATO_SOSPESO
F.add_cronologia(attuale, ("Stato sospeso")) '
Endif
If $passaggio_dati = NUOVO Then
D.Piloti[attuale].stato = C.STATO_LISTA
Else
D.Piloti[attuale].stato = stato
Endif
stringa = ("Stato attivo")
Endif
If cmb_stato.index = INVISIBILE Then
D.Piloti[attuale].stato = C.STATO_INVISIBILE
stringa = ("Stato invisibile")
Endif
If cmb_stato.index = SOSPESO Then
D.Piloti[attuale].stato = C.STATO_SOSPESO
stringa = ("Stato sospeso") '
Endif
If ($passaggio_dati = NUOVO Or ($passaggio_dati <> NUOVO And stato_precedente <> D.Piloti[attuale].stato)) Then
F.add_cronologia(attuale, stringa)
Endif
If $passaggio_dati <> NUOVO Then
Me.Close
Else
tbv_lista.Clear
tbv_lista.Rows.count = 0
cmb_stato.index = ATTIVO
pulisci_lista
pulisci_lista()
Endif
FMain.aggiorna_liste()
End
......@@ -233,14 +252,15 @@ Public Sub btn_cancella_Click()
txt_nome.text = ""
txt_costruttore.text = ""
txt_nazione.text = ""
cmb_nazione.text = ""
txt_gruppo.text = ""
txt_note.text = ""
chk_evidenzia.Value = False
txt_nome.setfocus
txt_nomemodello.text = ""
tbv_lista.Clear()