Autore Topic: [Completato] Programma gestionale vendite ordini consegne  (Letto 33163 volte)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Programma gestionale vendite ordini consegne
« Risposta #15 il: 30 Giugno 2009, 10:06:44 »
Puoi risolvere in entrambi i modi: o creare una tabella con una riga con le impostazioni relative ad ogni client oppure creare un file testo nascosto da salvare nella cartella locale dei singoli utenti.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #16 il: 30 Giugno 2009, 13:19:24 »
Giusto!, buona idea.
Penso che al momento per mandare avanti il programma utilizzo l'idea del txt, ma il tuo suggerimento è buono e penso proprio che quando sarò a un buon punto lo girerò sul db. Quando un utente andrà a scrivere le sue impostazioni, le stesse andranno salvate su una riga del db, bisognerà solo salvare in memoria del pc solo id delle impostazioni. mi è tutto chiaro :-D  grazie

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #17 il: 01 Luglio 2009, 01:03:40 »
Ecco quà primo invio.
Non ho completato la maschera preventivi come mi ero imposto..

@Ceskho
Mi faresti un esempio per il primo avvio per salvare le impostazioni personali su file txt?
Intanto basta che ci metti "Nome ditta" "indirizzo" e li fai poi scrivere all'apertura nella maschera "principale" su un label. Così vedo come si fa e posso fare io. Grazie.

@*
Domanda 1: è possibile che nella barra si apra solo un'icona invece che una ogni maschera aperta?

Domanda 2: Nella maschera "clienti" ho 2 combobox che vorrei fossero collegate alle tabelle "f_cortesia" e "f_saluto". Io ho provato ma non ci sono arrivato e intanto ho fatto così:
 cmbcortesia.list = ["Egregio sig.", "pippo2", "pippo3", "pippo4"].

Domanda 3: Nei controlli Data mi piacerebbe che quando si clicca sulla casella della data si aprisse un controllo calendario.

Domanda 4: E' possibile mettere su tutti i textbox l'evento _Change per salvare o modificare il database in modo da non dovere sempre agire sul pulsante "Salva" o "Cambia"?

Scusate se ho scritto troppe cose :oops:

Grazie a tutti

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #18 il: 01 Luglio 2009, 13:39:26 »
Mi ero dimenticato di allegare le tabelle. il file giusto è il secondo quello un pò più grosso.

Si può togliere il primo file sbagliato?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Programma gestionale vendite ordini consegne
« Risposta #19 il: 01 Luglio 2009, 13:46:19 »
Certo..mi metto al lavoro e ti faccio vedere...però devi darmi un pò di tempo che sono un p preso..non appena finisco ti posto l'esempio...

EDIT: Ho fatto l'esempio....scaricalo e dimmi se va bene...

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #20 il: 01 Luglio 2009, 23:53:12 »
Grazie, hai fatto prestissimo!!.
Al primo avvio funziona ok e inserisco il nome. Poi non si apre più niente.., forse perchè fai chiudere il form principale? Comunque volevo chiederti come funziona file.load nel caso di più campi: es. nome, cognome, indirizzo?
Ho cambiato il tuo esempio così: ho messo Fmain come classe di avvio. Su fmain
Codice: [Seleziona]

PUBLIC SUB Form_Open()
  IF NOT Exist(User.Home & "/.cartella_nascosta1") THEN
    MKDIR (User.Home & "/.cartella_nascosta1")
   FNome.Show
  ELSE
   Label1.text = file.load(user.home & "/.cartella_nascosta1/impostazioni.txt")
  END IF
END

Su fnome:
Codice: [Seleziona]

PUBLIC SUB Button1_Click()

  'controlliamo che la casella sia vuota
  IF TextBox1.text = "" THEN
    Message.Error("Inserire un nome!", "Ok")
  ELSE
  'se è piena salviamo la stringa nel file di testo delle configurazioni
    file.save(User.Home & "/.cartella_nascosta1/impostazioni.txt", TextBox1.text)
    ME.Close
     FMain.Label1.text = file.load(user.home & "/.cartella_nascosta1/impostazioni.txt")
  END IF

END


Non preoccuparti se non hai tanto tempo, io per primo ne ho pochissimo. Comunque ci conto tanto sul tuo aiuto, grazie :-)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Programma gestionale vendite ordini consegne
« Risposta #21 il: 02 Luglio 2009, 10:27:28 »
Suggerimento: evita di spargere file a giro per la home, meglio lasciare tutti i dati all'interno della cartella dove risiede usando Application.Path invece di User.home.

Per gestire più righe un metodo semplice è questo:
Codice: [Seleziona]

DIM hFile AS File
DIM Dato1, Dato2 AS Text

  '-- lettura
  hFile = OPEN Application.Path & "/nome_del_file" FOR INPUT
  LINE INPUT #hFile, Dato1
  LINE INPUT #hFile, Dato2
  CLOSE #hFile

  '-- scrittura
  hFile = OPEN Application.Path & "/nome_del_file" FOR CREATE    
  PRINT #hFile, Dato1
  PRINT #hFile, Dato2
  CLOSE #hFile
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Programma gestionale vendite ordini consegne
« Risposta #22 il: 02 Luglio 2009, 18:24:24 »
@ Leo

Personalmente faccio sempre una cartella nascosta col nome del programma e dentro ci metto tutto quello che serve perchè penso che così una gestione futura, anche da parte dell'utente steso. sia più facile...così ha tutto sotto mano senza dover andare a scavare dove si trova il file...

@ Golia

Ti ha risposto Leo per me...è il mio portavoce ufficiale..quindi ti puoi fidare! ;-)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #23 il: 02 Luglio 2009, 18:29:20 »
:lol:  ok grazie a tutti e due

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Programma gestionale vendite ordini consegne
« Risposta #24 il: 02 Luglio 2009, 18:33:52 »
Citazione

Golia ha scritto:
Comunque ci conto tanto sul tuo aiuto, grazie :-)


Finalmente qualcuno che ha capito che deve affidarsi al migliore.. 8-)  :potta:

Citazione

Golia ha scritto:
ok grazie a tutti e due


Tranquillo...quando hai bisogno di aiuto chiedi pure.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #25 il: 02 Luglio 2009, 20:50:19 »
@ leo

se usi application.phat per salvare i file di configurazione, che succede se poi fai un pacchetto del tuo programma? ad esempio il deb porrà l' eseguibile in /usr/bin , quindi riuscirà l' applicazione a scriversi un file in quella cartella ? o dovra avere i permessi di root?

io preferisco creare una cartella nascosta con il nome del programma come viene fatto da moltissimi altri programmi

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #26 il: 03 Luglio 2009, 22:34:51 »
Ciao ragazzi, mi potreste aiutare a capire come funzionano le combobox che proprio non ne dò fuori..
Non riesco a popolare la combo con i valori della tabella, tutto quello che riesco a fare è questo: cmbcortesia.list = ["Egregio sig.", "pippo2", "pippo3", "pippo4"]. La mia tabella è "f_cortesia" il campo "formulacortesia". Questo proprio non va
Codice: [Seleziona]

   MODMain.Connect()
   MyRS = MODMain.$conn.Exec("select * from f_cortesia")                  
   IF MyRS.Available = TRUE THEN  
   ComboBox1.list = MyRS!formulacortesia  
   ENDIF

Grazie

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #27 il: 04 Luglio 2009, 00:09:02 »
prova così:
Codice: [Seleziona]


MODMain.Connect()
   MyRS = MODMain.$conn.Exec("select * from f_cortesia")                  
   IF MyRS.Available = TRUE THEN
         comboBox1.clear ''''''questo potrebbe non servire
     for i=0 to Myrs.count-1

         ComboBox1.add(MyRS!formulacortesia  ,i)
     
      next
   ENDIF



se la combobox è definita come solo lettura puoimodificare così:

Codice: [Seleziona]


MODMain.Connect()
   MyRS = MODMain.$conn.Exec("select * from f_cortesia")                  
   IF MyRS.Available = TRUE THEN
     comboBox1.readonly=false
     comboBox1.clear ''''''questo potrebbe non servire

     for i=0 to Myrs.count-1

         ComboBox1.add(MyRS!formulacortesia  ,i)
     
      next
     
     comboBox1.readonly=true

   ENDIF


Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #28 il: 04 Luglio 2009, 00:18:55 »
Grazie, appena provata e mi da un errore.
Unknown identifier: i
Scusami ma non ci capisco tanto..
Grazie mille

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #29 il: 04 Luglio 2009, 00:22:34 »
semplicemente ad inizio funzione devi dichiarare la variabile i che io ho utilizzato per tenere l' indice della combo , la puoi dichiarare con un

Codice: [Seleziona]
dim i as integer


posizionato giusto dopo la dichiarazione di funzione della procedura che hai scritto tu .

esempio

Codice: [Seleziona]


Public funcion button1_click

dim i as integer

MODMain.Connect()
   MyRS = MODMain.$conn.Exec("select * from f_cortesia")                  
   IF MyRS.Available = TRUE THEN
         comboBox1.clear ''''''questo potrebbe non servire
     for i=0 to Myrs.count-1

         ComboBox1.add(MyRS!formulacortesia  ,i)
     
      next
   ENDIF