Gambas-it

Gambas3 => Database => Topic aperto da: dex - 16 Aprile 2020, 11:20:11

Titolo: Nuovo gestionale
Inserito da: dex - 16 Aprile 2020, 11:20:11
Ciao Raga
sto creando un nuovo gestionale, il concetto di partenza è:
Deve essere multiutente con accesso tramite password personale
Form Main a pieno schermo che gestisce tutte le finestre, ricalca un po la IDE di gambas con vari pannelli gestibili sul main, le finestre seguono il Main, in fase di chiusura del main avviene un controllo che avvisa se state effettuando delle modifiche, se negativo chiude tutte le finestre attive, se il Main viene ridotto a icona tutte le finestre aperte lo devono seguire (qui ho qualche problema e mi serve il vostro aiuto)
Le finestre sono dimensionabili e posizionabili per ogni utente.

Allego il codice per chi volesse vederlo e darmi qualche aiuto.

Attualmente il programma si avvia anche senza password, questo serve in fase di compilazione per evitare continue immissioni di password, chi volesse provare con la password attiva nel Form Pass sotto l'immagine delle persone trovate 2  RadioButton mettete la spunta al RadioButton2 (si) la pass di default è admin.

Per funzionare con il database Mysql serve la password che trovate nel modulo M1
Codice: [Seleziona]
Public Mpassword As String = "ghdncbgts" 'password per database mysql
qui potete cambiarla inserendo quella che usate per Mysql

Per quanto riguarda il main ho problemi a far ridurre ad icona i form in quanto le funzioni vanno in conflitto con la mia Classe CResize che serve per ridimensionare i controlli all'interno dei form.
Per richiamare le funzioni di riduzione ad icona, la Classe è FMdic e le funzioni sono:
Codice: [Seleziona]
Public Function IcoForm()
Public Function MaxForm()

che devono ridurre a icona o ingrandire i form in base al Main, vengono richiamate in Fmain da
Codice: [Seleziona]
Public Sub Form_Deactivate()
   
 '  Do
  ' Wait 0.01
' Loop Until Me.Minimized = True
 
 ' FMdic.IcoForm
     
End
 

Public Sub Form_Activate()

  ' FMdic.MaxForm

End

attualmente le vedete spuntate in quanto come ho detto mi creano conflitto con CResize, qui gradirei una mano.

una volta avviato potete creare in automatico database e tabelle dal form CreaDatabase oppure dal Main prima voce in alto del menu Accesso > Database

per qualsiasi dubbio chiedete, grazie a chi si interessa, naturalmente sono ben accettate sia critiche che suggerimenti ai fini di ottimizzare e migliorare
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 16 Aprile 2020, 13:51:56
Ciao dex,
la questione è interessante e io parteciperei volentieri, ma non ho mai usato MySQL se vuoi che partecipi devi fare come a suo tempo fece sotema e cioè scrivere un articolo tipo il suo su PostgreSQL ( https://www.gambas-it.org/wiki/index.php?title=Installazione_Server_PostgreSQL )

Se non hai i permessi per la wiki basta che lo scrivi o alleghi la guida qui nel primo post o in uno successivo e se sarà un buon articolo o vuott o io te lo pubblicheremo.

Spiega bene tutti i passaggi in modo che chi come me non ha mai usato questo database possa installarlo, far partire il tuo programma e partecipare alla discussione.

 :ciao: :ciao:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 16 Aprile 2020, 14:11:50
Ciao Gianluigi
io non conosco Postgres
la mia idea era di perfezionarlo insieme a voi e poi mettere un esempio nella farm
Per quanto riguarda il database non è quello il punto su cui ho chiesto aiuto, la connessione al database Mysql o Postgres è abbastanza facile.
Volevo perfezionarlo sulle Classi, moduli ecc, renderlo funzionale e veloce, poi insieme a chi mastica postgres si potrebbe fare addirittura una doppia connessione in cui l'utente all'avvio sceglie Mysql o Postgres
Anche la scrittura dell'articolo sul wiki mi sembra prematura, ci sono ancora molte cose da vedere e mettere a posto
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 16 Aprile 2020, 14:34:12
Scusa sai ma cosa c'entra PostgreSQL è solo da usare come tracciato.
Io chiedevo una guida all'installazione del server MySQL.

- Installazione dei pacchetti
- Configurazione del Server
- Connessione ed autenticazione
- Configurazione utenti

Eventuale installazione di un'interfaccia grafica.

Penso che tu conosca i passaggi e possa tirare giù una guida che ci permetta di partire col piede giusto.
Titolo: Re:Nuovo gestionale
Inserito da: dex - 16 Aprile 2020, 19:33:12
Fatto
non ho accesso alla wiki, ora ti invio i file
ho anche modificato il progetto allegato in quanto una variabile dava problemi
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 16 Aprile 2020, 19:43:20
Fatto
non ho accesso alla wiki, ora ti invio i file
ho anche modificato il progetto allegato in quanto una variabile dava problemi

L'ho scaricata, ora non posso perché ho promesso di guardare un film con mia moglie  :)

Appena riesco lo posto nella wiki, intanto chi è interessato si può scaricare il tuo file e leggerlo.

Grazie  :ciao:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 17 Aprile 2020, 01:42:40

L'ho scaricata, ora non posso perché ho promesso di guardare un film con mia moglie  :)


 che bollino ha il film  8)
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 17 Aprile 2020, 19:18:40

 che bollino ha il film  8)

Non sapevo che P...H.b mettesse il bollino  :-\

Ricevo un errore: Codice 11 - Form CreaDatabase - sub CreaDatabase.Inserisci_dati.458 - Errore Unknown symbol 'mbancai' in class 'M1'

In effetti nella form c'è questa riga: MyRSI!bancaitalia = m1.mbancai

  :violent:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 17 Aprile 2020, 21:36:12

Ricevo un errore: Codice 11 - Form CreaDatabase - sub CreaDatabase.Inserisci_dati.458 - Errore Unknown symbol 'mbancai' in class 'M1'

In effetti nella form c'è questa riga: MyRSI!bancaitalia = m1.mbancai

  :violent:

si quella era la variabile che dava problemi, riscarica che ho messo quello aggiornato
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 17 Aprile 2020, 22:02:08
Si è vero lo avevi scritto ma me ne sono dimenticato  :-[

Domani riprovo, pomeriggio però perché la mattina sono di corvè  :P
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 17 Aprile 2020, 23:22:59
Non ho resistito e ho dato un'occhiata  :P

Si vede che alle spalle c'è tanto lavoro, complimenti  :ok:

Però (e si c'è sempre un però), prima di andare avanti ti consiglio di dare un'occhiata a come è costruita questa finestra, non ricordo se te l'ho già indicata:
https://www.gambas-it.org/smf/index.php?topic=6694.msg44732#msg44732

Vorrebbe essere una semplificazione della finestra principale dell'IDE di Gambas è solo per dare un'idea e ti rammento che Milio in tutti i suoi interventi sul tema ha sempre caldeggiato per i gestionali l'uso di WorkSpace.

Magari inizialmente può apparire poco attraente ma pratica lo è senz'altro...

 :ciao:  :sleepy:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 18 Aprile 2020, 01:22:28
Si me lo avevi consigliato
Dal tuo progetto ho preso lo spunto dei pannelli, so che con il WorkSpace è più organizzato, ma io lavoro diversamente, spesso lavoro con più form aperti e mi è molto più comodo posizionarli dove e come mi servono ingrandirli o rimpicciolirli in base alle esigenze.
Per questo ho creato le classi CResize, la possibilità di salvare le loro posizioni e i vari controlli nel main per vedere se qualche form è in fase di modifica.
Inoltre lavorando con 2 schermi posso spostare alcune finestre sul secondo schermo e lavorare su entrambi gli schermi.
é il mio modo di lavorare con il gestionale, con il WorkSpace non mi trovo bene, ma se qualcuno vuole modificarlo in WorkSpace è libero di farlo.
Il mio gestionale è più sullo stile di Gimp che della Ide di Gambas, anche con Gimp lavoro molto e mi trovo bene con le finestre indipendenti.
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 18 Aprile 2020, 16:12:24
...
Per richiamare le funzioni di riduzione ad icona, la Classe è FMdic e le funzioni sono:
Codice: [Seleziona]
Public Function IcoForm()
Public Function MaxForm()

che devono ridurre a icona o ingrandire i form in base al Main, vengono richiamate in Fmain da
Codice: [Seleziona]
Public Sub Form_Deactivate()
   
 '  Do
  ' Wait 0.01
' Loop Until Me.Minimized = True
 
 ' FMdic.IcoForm
     
End
 

Public Sub Form_Activate()

  ' FMdic.MaxForm

End

attualmente le vedete spuntate in quanto come ho detto mi creano conflitto con CResize, qui gradirei una mano.


Purtroppo sul desktop Gnome la proprietà Me.Minimized non viene intercettata da Form_Resize.
Ho comunicato la cosa sul bugtraker ma temo che non ci sia nulla da fare, sentiamo se Minisini ci risponde qualcosa.
Più tardi provo a vedere se si può sfruttare Form.Close() con un escamotage.
Titolo: Re:Nuovo gestionale
Inserito da: dex - 18 Aprile 2020, 17:15:27
in verità le intercettavo in ritardo.
poi ho abbandonato in quanto mi crascava con CResize
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 18 Aprile 2020, 17:19:28
A precisa domanda Minisini mi ha detto che non è possibile intercettare quando la finestra si riduce a icona.
Mi ha detto di farne richiesta e io l'ho fatto, ho chiesto di inserire l'evento Form_Minimized.

Tu come facevi a intercettarlo? Così magari glielo suggeriamo  ;D
Titolo: Re:Nuovo gestionale
Inserito da: dex - 18 Aprile 2020, 17:37:02
vedi il mio codice
lo intercettavo con il wait loop, ma non funzionava bene e spesso lo vedeva dopo varie chiusure e aperture

Codice: [Seleziona]
Public Sub Form_Deactivate()
   
 '  Do
  ' Wait 0.01
' Loop Until Me.Minimized = True
 
 ' FMdic.IcoForm
     
End
Titolo: Re:Nuovo gestionale
Inserito da: dex - 18 Aprile 2020, 17:41:37
ho aggiornato il programma, corretto alcuni piccoli errori e aggiunto il form utenti lo trovate all'inizio con Gestionale2.zip
il form utenti è riservato all'amministratore in quanto qui vengono assegnati i permessi per ogni utente, se non riuscite ad aprirlo cancellate il file .MyPass si trova nella cartella nascosta della vostra home .Gestione
questo è il file criptato che assegna i permessi, se non lo trova ne crea uno nuovo con l'amministratore
Titolo: Re:Nuovo gestionale
Inserito da: dex - 19 Aprile 2020, 12:42:51
A precisa domanda Minisini mi ha detto che non è possibile intercettare quando la finestra si riduce a icona.
Mi ha detto di farne richiesta e io l'ho fatto, ho chiesto di inserire l'evento Form_Minimized.

Tu come facevi a intercettarlo? Così magari glielo suggeriamo  ;D

non riesco a capire.
ho aggiunto un button
Codice: [Seleziona]
Public Sub Button3_Click()

  Me.Minimized = True

End

e un if nel timer

Codice: [Seleziona]
Public Sub Timer1_Timer()

  Label2.Caption = Format(Now, "dd/mm/yyyy  -  hh-nn-ss")
 
  If Me.Minimized Then
    Message.Info("form ridotto")
  Endif
 
End

e funziona, non avrà l'evento ma tutto il resto c'è, da qui potrebbe creare l'evento ma poi servirà anche l'evento Maximize
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 19 Aprile 2020, 15:10:12
...
e funziona, non avrà l'evento ma tutto il resto c'è, da qui potrebbe creare l'evento ma poi servirà anche l'evento Maximize
Avevo provato senza bottone col timer sempre in funzione ma non quagliava.
Se mi ha chiesto di ricordarglielo vuol dire che prima o poi lo implementa, per ora non lo ha nemmeno accettato  ;D
L'evento Maximize lo puoi ottenere così:
Codice: [Seleziona]
Public Sub Form_Resize()
  If Me.Maximized Then Print "MAXIMIZED"
End
Titolo: Re:Nuovo gestionale
Inserito da: dex - 19 Aprile 2020, 19:11:30
L'evento Maximize lo puoi ottenere così:
Codice: [Seleziona]
Public Sub Form_Resize()
  If Me.Maximized Then Print "MAXIMIZED"
End

non proprio, l'evento resize si attiva quando modifichi le dimensioni del form, se passi da form a pieno schermo e riduci ad icona e poi da icona a pieno schermo l'evento resize non si attiva
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 19 Aprile 2020, 23:18:02
... ma poi servirà anche l'evento Maximize

Giusto ho richiesto anche quello.

notte  :sleepy:
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 21 Aprile 2020, 09:36:41
Dalla versione ee81637c è possibile usufruire degli eventi Minimize e Maximize:
https://gitlab.com/gambas/gambas/-/commit/ee81637c72e94fdd39d8b8e6f0ddbe13ecdd310e
Titolo: Re:Nuovo gestionale
Inserito da: dex - 21 Aprile 2020, 14:40:24
Dalla versione ee81637c è possibile usufruire degli eventi Minimize e Maximize:

io ho gambas 3.14.3
la versione ee81637c a quale corrisponde?
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 21 Aprile 2020, 14:46:33
Corrisponde alla Master, ossia ti tocca compilare ma è solo per il momento perché alla prossima stabile questi eventi verranno implementati.
Per compilare su Ubuntu e Debian ci sono delle guide passo passo:
https://www.gambas-it.org/smf/index.php?topic=6424.0
https://www.gambas-it.org/smf/index.php?topic=6515.0

 :ciao:

Titolo: Re:Nuovo gestionale
Inserito da: dex - 21 Aprile 2020, 20:20:07
Corrisponde alla Master, ossia ti tocca compilare ma è solo per il momento perché alla prossima stabile questi eventi verranno implementati.
Per compilare su Ubuntu e Debian ci sono delle guide passo passo:
https://www.gambas-it.org/smf/index.php?topic=6424.0
https://www.gambas-it.org/smf/index.php?topic=6515.0

 :ciao:

Ottimo  :ok:

Beinot è stato un fulmine ad inserire gli eventi
Titolo: Re:Nuovo gestionale
Inserito da: Gianluigi - 23 Aprile 2020, 23:26:19

Beinot è stato un fulmine ad inserire gli eventi

C'era un bug nel nuovo evento State, ma ora funziona anche con Ubuntu Gnome
Allego piccola dimostrazione
Titolo: Re:Nuovo gestionale
Inserito da: Golia - 24 Aprile 2020, 13:06:31
Buon giorno
Manco dal forum ormai da tanto tempo, ieri ho scaricato la nuova versione di ubuntu e mi sono detto che dovrei rifare il gestionale visto che ormai è fermo da troppo tempo.
Entro e chi trovò?

DEX!!
È forse un segno? Devo proprio ricominciare con gamba? ;D ;)
 :2birre: :2birre: come va amico mio?
Titolo: Re:Nuovo gestionale
Inserito da: dex - 24 Aprile 2020, 13:46:06
Ciao Golia
è un piacere sentirti, anche a me è successa la stessa cosa, il vecchio gestionale oramai funziona e lo lascio cosi.
devo rifarne uno nuovo e ho preferito ripartire da zero
Titolo: Re:Nuovo gestionale
Inserito da: Golia - 24 Aprile 2020, 14:29:21
Dai che provo un pò a rinfrescarmi la memoria e poi ci sentiremo
 :2birre:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 24 Aprile 2020, 15:26:57
Dai che provo un pò a rinfrescarmi la memoria e poi ci sentiremo
 :2birre:

ok
dai che all'epoca il nostro binomio funzionava alla grande.  :2birre:
tu ti divertivi a inventare e scrivere codice e a me lasciavi l'ingrato e gravoso compito di fare copia e incolla  ;D
Titolo: Re:Nuovo gestionale
Inserito da: Golia - 24 Aprile 2020, 19:13:29
 :D no no ero io quello che copiava ;)
Titolo: Re:Nuovo gestionale
Inserito da: Golia - 24 Aprile 2020, 21:15:20
Sto leggendo, appena metto apposto il pc ( pensa non sono riuscito a installare gambas  :rolleyes:) mi aggrego che mi interessa.
Io ho usato nel mio gestionale mysql per un paio di anni, poi postgres. Confermo che è indifferente tranne in alcune query formulate in maniera diversa e sopratutto nella costruzione del database e tabelle. Avevo fatto anch'io la doppia gestione a scelta del database non è difficile.
Al tempo mi ero trovato bene con il componente che aveva fatto Milio, con quello potevi fare un gestionale in brevissimo tempo.
Con lui avevo cominciato a imparare a fare i componenti e mi ero anche fatto un simile gridbox. Riprenderò in mano vediamo se mi ricordo qualcosa.
Ci sentiamo :2birre:
Titolo: Re:Nuovo gestionale
Inserito da: dex - 24 Aprile 2020, 21:51:12
io ho appena installato ubuntu 20 e installato gambas dai repo.
gambas non parte
Titolo: Re:Nuovo gestionale
Inserito da: Golia - 28 Maggio 2020, 18:33:59
A me gambas parte ma non si interfaccia con postgres... comunque ho deciso di aspettare linux Mint. Ho provato Ubuntu dopo tanto tempo ma preferisco ancora Mint