Gambas-it

Programmazione => Progetti degli utenti => Topic aperto da: Golia - 20 Giugno 2009, 01:40:49

Titolo: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 20 Giugno 2009, 01:40:49
Ciao a tutti
Sono tornato, i bimbi mi portano via tempo (e sonno) :-D

Non essendo capace di andare avanti col mio programmino chiedo aiuto!!

Il mio progetto è un programma gestionale per vendita al dettaglio con:
Archivio clienti
Preventivi
Ordini
Ritiri
Consegne

Ho già fatto questo con access personalizzandolo con la mia attività (vendo mobili), lo usiamo da circa 10 anni (è sempre stato in continua evoluzione) e con mia soddisfazione personale, ho dato il  software a un mio amico programmatore che lo ha rivenduto a varie aziende (in genere del mio stesso campo).
Unico neo: gira solo su win...:cry:
Premetto che non sono un programmatore, è più passione. Il mio programma l'ho rifatto da zero 6 volte, ogni volta che finivo imparavo qualche tecnica migliore :-)

Io volevo fare questo programma libero a tutti, perciò se qualcuno ha voglia e tempo è più che ben accetto. Penso che da solo stavolta non ce la faccio :-x
Posso mettere a disposizione anche il programma fatto con access per capire meglio di cosa si tratta.

Grazie, franco
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 20 Giugno 2009, 12:45:42
Potresti dare maggiori info magari riguardo ad ogni modulo? Così se posso ti aiuto su le cose che so..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 20 Giugno 2009, 15:13:19
Ciao, si potrebbe fare un programma base di anagrafe clienti, preventivi, e ordini in modo che dopo si può estendere a seconda delle esigenze.

Funziona così:

- Anagrafe clienti (un pò piu di una rubrica)
- a ogni cliente si associa un preventivo o più
- un preventivo può diventare vendita (cioè quando il cliente accetta)
   basta un flag 0 = preventivo 1 = vendita , in modo che se     voglio  vedere tutte le vendite filtro solo i preventivi con il flag = 1
- Ogni preventivo avrà una lista più o meno corta di dettagli

   esempio:

   Preventivo -->    Fornitura frutta
   
      Dettagli -->    2 banane   20,00
      Dettagli -->    3 mele     80,00
      Dettagli -->    8 pere     50,00

 ....scusa l'esemnpio del fruttivendolo :oops:

Comunque se il progetto prende faccio un bel schema con tanto di disegni.
Inoltre se pensate che il database sia fatto con Mysql posso preparare io tutte le tabelle.
Grazie, penso comunque che può essere utile per qualsiasi negozio di vendita al dettaglio, dopo basta estenderlo in base alle esigenze, su misura!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 20 Giugno 2009, 21:08:09
se hai bisogno io sono disponibile  :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 21 Giugno 2009, 00:36:47
Ragazzi mi date la carica!!! 8-)

Vi ringrazio, penso sarà un bel progetto

Per cominciare io dividerei in 2 il progetto:

1 parte:
Anagrafe clienti
Preventivi
Dettagli del preventivo

2 parte
Anagrafe Fornitori
Catalogo prodotti
Dettagli prodotti

Poi collegheremo il tutto nel dettaglio preventivi per l'inserimento dei Dettagli prodotti.

Faccio le tabelle e qualche maschera (un pò buttata la :oops: ) così da farvi capire di cosa si tratta. Magari cerco di farvi qualche schizzo.

Tempo permettendo in settimana posto qualcosa

Vorrei chiarire che non voglio sia su misura per me, qualunque modifica o suggerimento è ben gradita

Grazie a presto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 22 Giugno 2009, 19:02:02
@ Golia

Io ti aiuto su tutto ciò che non è un database o una drawing area perchè sono argomenti ostici per me!!!!!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Giugno 2009, 23:26:02
@ Ceskho

Grazie, qualsiasi contributo è importante.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Giugno 2009, 00:20:25
Ho un problema che penso sia banale..
Come devo fare per passare un valore da una maschera all'altra?
Esempio devo aprire un preventivo di un cliente. come faccio per passare l'ID?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 23 Giugno 2009, 20:24:24
clicca su progetto>proprietà>opzioni e setta come nell' immagine
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Giugno 2009, 20:42:44
Fatto, grazie mille
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 28 Giugno 2009, 12:24:55
@ golia

Ci alleghi il tuo lavoro e magari ci dici le cose che dobbiamo fare? così ti aiutiamo...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Giugno 2009, 18:12:35
Ciao Cesckho
Sto procedendo bene, appena termino la maschera preventivi posto il tutto così potrete capire meglio. Prometto che questa settimana invio :-D .
Volevo fare una cosa (che sinceramente ci ho solo pensato..); Al primo avvio vorrei che si aprisse una maschera per inserire i dati personali e varie impostazioni. Penso che si possa fare con "Setting". Ho visto che ne avete già discusso e ho anche provato col codice tuo e anche di md9327, ma non ne dò fuori.. :cry:

Ciao grazie, posto in settimana (posso allegare quà sul post?)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: leo72 - 29 Giugno 2009, 21:44:33
Se usi un DB, io ti consiglio di inserire le impostazioni nel DB stesso, in una tabella apposita per la configurazione del programma. E' sempre meglio riunire i dati in un unico punto di raccolta, ti semplifichi la vita quando in futuro rimetterai le mani sull'applicazione per modificarla.

P.S.:
puoi allegare il file anche al thread.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 29 Giugno 2009, 22:50:09
@ Golia

La questione "primo avvio" può essere gestita in mille modi diversi...ad esempo, quando avvii il programma potresti scrivere una funzione che controlla l'esistenza di un file di testo (ad esempio impostazioni.txt) nascosto nella home in cui salvi i valori...ovviamente se il file non esiste vuol dire che è il primo avvio e allora apri il form di impostazione e scegli i valori.

Oppure come hai detto puoi usare setting....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Giugno 2009, 00:10:03
Non volevo salvare le impostazioni su un db, perchè se il programma è usato da più utenti avrà un unico db condiviso, mentre le impostazioni rimarranno personali. E anche nel caso di più sedi, il db andrà condiviso in rete. Quasi sempre la ragione sociale è unica ma l'indirizzo che va intestare una carta di vendita è quello della sede di vendita stesso.
Però dimmi se il ragionamento è sbagliato..

Penso vada bene un file txt, così per esempio se un utente deve sostituire il pc può salvarsi le impostazioni personali.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: leo72 - 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.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 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...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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 :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: leo72 - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 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! ;-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 02 Luglio 2009, 18:29:20
:lol:  ok grazie a tutti e due
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 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.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 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

Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 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
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 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

 
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 04 Luglio 2009, 00:24:16
in alternativa dovrebbe funzionare anche 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 EACH Myrs.count

         ComboBox1.add(MyRS!formulacortesia)
     
      next
   ENDIF
 
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Luglio 2009, 00:27:09
trovato, DIM i AS Integer.
Però mi restituisce tutti i record uguali al primo.
Es. ho inserito: "gent. sig" "spett.le" "egreg." e mi escono 3 "gent. sig"
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 04 Luglio 2009, 00:29:34
vero modifica cosi:

Codice: [Seleziona]


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

         ComboBox1.add(MyRS!formulacortesia  ,i)
         myMrs.movenext '''''muove l' indice del result al prossimo valore
      next
   ENDIF
 
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Luglio 2009, 00:32:16
:-(  non va da un errore quando entro nella maschera clienti "Not an object"
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 04 Luglio 2009, 00:37:27
bisogna vedere a che righa di codice ti da errore per capire il problema, il codice sembra corretto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Luglio 2009, 00:37:55
Perfetto grazie mille!!
Ci sono deglie errori di scrittura per chi può interessare il codice
Codice: [Seleziona]


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

         ComboBox1.add(MyRS!formulacortesia  ,i)
         MyRS.movenext '''''muove l' indice del result al prossimo valore
      next
   ENDIF


Grazie mille
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Luglio 2009, 15:29:15
Caspita adesso non va più..
Mi da errore sulla riga: DIM i AS Integer.
Devo dichiarare i (si dice cosi? :oops: ) giusto?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 04 Luglio 2009, 16:04:16
se ti ha dato errore su

DIM i AS integer

probabilmente hai inserito la dichiarazione nel posto sbagliato o è dichiarata piu volte.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Luglio 2009, 17:56:01
Ho provato a rinominare anche i, ma mi da errore. Allego l'errore.
Grazie per l'aiuto fsurfing
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 04 Luglio 2009, 18:40:14
gambas ti sta dicendo che in quella posizione non si aspetta un DIM, sicuramente perchè prima di DIM i2 as integer hai altro codice .

le dichiarazioni si possono effettuare solamente ad inizio funzione e non qua e la .
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 04 Luglio 2009, 19:02:34
Le dichiarazioni vanno effettuate ad inizio funzione per le variabili dee locali (cioè usabili solo all'interno della funzione) mentre ad inizio codice per quelle globali (cioè richiamabili da più del programma stesso).
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 05 Luglio 2009, 10:36:25
Grazie mille, in effetti funziona!! Sono proprio un testone :-D


Scusate.. altra domanda.
quando avvio il programma si apre la maschera principale, poi apro la maschera clienti, etcc. Per non creare un mare di icone da "principale" quando apro "clienti" scrivo oltre che CLIENTI.SHOW; ANCHE ME.HIDE.  e fin qui ok, nella barra ho solo l'icona di clienti. ma quando chiudo clienti non si apre principale. E' giusto che quando chiudo clienti gli dico PRINCIPALE.SHOW ?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 05 Luglio 2009, 12:29:38
Hai usato il codice di apertura del form prima della chiusura dell'altro form?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 06 Luglio 2009, 08:22:05
Si ma la maschera principale non si apre
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 06 Luglio 2009, 14:30:12
Penso sia giusto fare PRINCIPALE.SHOW alla chiusura della maschera clienti,
Ho visto che cbsof nel programma primanota contabile fa così :-D
grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 10 Luglio 2009, 18:29:07
Eccomi qua con un'altro intoppo :cry:
Campo prezzo.
Ho fatto con mysql campo prezzo "DECIMAL(8,2)"
Nella maschera ho il campo vbprezzo VALUEBOX con type NUMBER.
Problema non riesco a salvare, ho provato con:

prezzo = Format(vbprezzo.value, "###,###,##0.00")
o
prezzo = Format(vbprezzo.text, "###,###,##0.00")
o
prezzo = vbprezzo.value

Dove sbaglio??
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 10 Luglio 2009, 19:23:02
hai provato a dichiarare il campo come float ?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 11 Luglio 2009, 10:43:55
Si ho provato anche con numeric... caspita mi sono piantato su una cosa così banale :cry:  .
Ma è giusto nel form mettere il prezzo su ValueBox?
Con FLOAT funziona, ma senza formattare, cioè così:

MyRS!prezzo = vbprezzo.Value

e viceversa per riempire il campo

vbprezzo.Value = MyRS!prezzo

proprio non nè do fuori!!

grazie per l'aiuto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: leo72 - 13 Luglio 2009, 06:35:40
Mah... io i valuebox li uso solo per le date. Per i numeri, uso i semplici Textbox con l'output formattato con Format().
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 13 Luglio 2009, 10:45:19
Hai ragione,  funziona benissimo così.
Ho visto che impostando type nella tabella mysql "DECIMAL(10,2)" non serve neanche formattare.
Grazie


Vi piace il mio Avatar? :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Luglio 2009, 17:45:53
Ciao ragazzi, ho nuovo problema
Ho fatto una GridView per i dettagli, ho pensato di spostarmi su questa con i tasti UP e DOWN. Però se uso per esempio i tasti F4 e F5 tutto ok, mentre se uso UP e DOWN il cursore mi va in giro e non funziona niente. E' possibile disabilitarli?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 22 Luglio 2009, 18:22:36
Nell'evento keypress di GridView devi inserire

Codice: [Seleziona]
IF (key.code = Key.up OR key.code = Key.down) THEN 
  STOP EVENT
ELSE
  RETURN
END IF


In pratica IF isola i tasti up e down della tastiera
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Luglio 2009, 13:19:16
Ciao Ceskho grazie, satasera provo.
Un dubbio.. se ho capito bene così sono disattivati, io dovrei disattivarli per il loro normale funzionamento, però mi servono per spostarmi nei record. E' giusto fare così?
Codice: [Seleziona]

IF (key.code = Key.up) THEN    
STOP EVENT
MIAFUNZIONEUP
ELSE  
RETURN
ENDIF

 Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Luglio 2009, 14:18:13
Sinceramente così su due piedi non so dirti...guardando il codice pare che funzioni.....penso che la migliore risposta sia provare....tentar non nuoce...poi fammi sapere se funzione ok?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Luglio 2009, 16:04:12
Grazie Ceskho, funziona così
Codice: [Seleziona]
       
IF key.code = Key.Up THEN
  FUNZIONE_UP
  STOP EVENT
ENDIF    

IF key.code = Key.Down THEN  
  FUNZIONE_DOWN
  STOP EVENT  
ENDIF


Grazie mille, tra pochi giorni posto la prima parte del progetto, Gambas è una figata

P.S. quando mi mandi l'email con le coordinate del tuo conto corrente? :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Luglio 2009, 16:07:27
Ok sono contento che funziona. Almeno so di non aver scritto una castroneria :-D.

[OT]
Guarda non c'è bisogno che ti rechi in banca per darmi i soldi ci pensano i miei scagnozzi a venirseli a prendere!!!!!
[OT]
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Luglio 2009, 12:18:09
Ecco quà!!
Vi presento la prima parte del mio progetto (mancano le stampe..)
La seconda parte si tratta dei listini fornitori, quindi si inserirà in automatico i dettagli direttamente dal listino, quindi codice descrizione prezzo etcc.
La terza si parlerà di ordini ai fornitori.
La quarta, stampe (dolori!! :-( ) non so nemmeno dove cominciare..

In allegato le sorgenti del programma, inoltre trovate i file: "mysql.pdf" con tutte le spiegazioni di come installare mysql e caricare il databse utile al programma; e poi "gestione.sql" che sarebbe il database, nel file pdf ci sono le istruzioni per carcarlo.

Ringrazio Ceskho Fsurfing e Leo72 che grazie alle loro dritte mi è stato possibile fare questo, e che mi sta facendo appassionare tantissimo Gambas.

P.S. state attenti alle dritte di Ceskho, costano tantissimo io ho sborsato più di 200.000 euro!! :lol:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Luglio 2009, 12:52:35
Per quanto riguarda le stampe ti consiglio di fare una bella ricerca nel forum perchè è un argomento di cui si è parlato molto e poi ti consiglio anche di scaricare i progetti che contengono la possibilità di una stampa per poter studiare come è stato scritto il codice.

Per quanto riguarda il costo del mio aiuto ti consiglio di sbrigarti a versare l'altra metà della somma perchè sto perdendo la pazienza.


:-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 27 Luglio 2009, 18:32:59
per le stampe posta una scannerizzazione di come vuoi che rimanga il report , con tutte le tabelle e descrizioni e se ho tempo ti tiro giù due righe di codice
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 27 Luglio 2009, 18:57:08
Grazie fsurfing, appena posso ti spedisco un grafico per la stampa.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 27 Luglio 2009, 20:04:30
ho provato il tuo programma ,
molto bello , ottimo lavoro

se posso permettermi ti consiglio di riguardare la disposizione dei vari pulsanti magari usando una toolbar, inoltre se preferisci che il programma sia visualizzato massimizzato non sarebbe male disporre i vari oggetti centrati al form.

io inoltre metterei dei pulsanti di salva cliente nel form di memorizzazione , non mi piace molto dover premere nuovo per salvare il cliente che sto memorizzando.

Come più volte scritto in questo forum l' utilizzo del metodo application.path è piuttosto pericoloso se decidi di distribuire il programma in pacchetti rpm o deb , infatti tu vai a scrivere le informazioni di connessione in un file posizionato nella cartella di programma tramite "application.path", il problema sorge quando installando il tuo programma tramite deb l' eseguibile viene posizionato in /usr/bin per cui il programma (lanciato da utente normale) non potrà scrivere il file di configurazione in tale cartella facendo crashare brutalmente il tuo programma.

utilissa le funzioni fornite da "settings" oppure crea il tuo file di configurazione in una cartella apposita (magari nascosta come fanno la maggiorparte dei programmi) nella home (tale procedura dovrà essere fatta dal tuo programma in automatico al primo avvio) per maggiori informazioni cerca nel forum
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Luglio 2009, 23:25:00
Grazie per aver guardato il mio progettino.

Citazione

se posso permettermi ti consiglio di riguardare la disposizione dei vari pulsanti magari usando una toolbar, inoltre se preferisci che il programma sia visualizzato massimizzato non sarebbe male disporre i vari oggetti centrati al form.


Si, con la toolbar è più carino e.."proffessionale" lo farò sicuramente.
Se ho capito bene, per "oggetti centrati al form" intendi dire la disposizione in automatico a seconda della risoluzione, ci devo lavorare, sbircerò tra altri progetti.

Citazione

io inoltre metterei dei pulsanti di salva cliente nel form di memorizzazione , non mi piace molto dover premere nuovo per salvare il cliente che sto memorizzando.


Quà penso che non hai guardato bene, quando faccio "nuovo" il record viene salvato in vari eventi: chiusura, spostamento nel grid, sul pulsante preventivo, e ancora su nuovo. In ogni azione che si può compiere. Inoltre controlla se è nuovo o se è modifica. non mi piace dovermi ricordare di salvare, preferisco farlo in automatico.

Citazione

Come più volte scritto in questo forum l' utilizzo del metodo application.path è piuttosto pericoloso se decidi di distribuire il programma in pacchetti rpm o deb......

Me lo avevi già detto..e hai ragione ho provato e in effetti non va.. devo cambiare, penso che la strada giusta sia la cartella nascosta.
Grazie, alle prossime domande :-)

P.S. ho notato che sono anche passato di grado!! 8-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 28 Luglio 2009, 23:39:34
congratulazioni per la promozione!!!!


Citazione
Quà penso che non hai guardato bene, quando faccio "nuovo" il record viene salvato in vari eventi: chiusura, spostamento nel grid, sul pulsante preventivo, e ancora su nuovo. In ogni azione che si può compiere. Inoltre controlla se è nuovo o se è modifica. non mi piace dovermi ricordare di salvare, preferisco farlo in automatico.

tu hai ragione però secondo mè anche un pulsante salva non ci starebbe male , anche perchè potrebbe essere + intuitivo.
io provandolo ho inserito tutti i dati e poi mi son chiesto :

" ed ora per salvare il cliente come faccio?"

per centrare i vari componenti prova ad inserirli in un panel e poi in base alle dimensioni dello schermo sposti il panel in posizione centrata, dovrebbe funzionare bene scrivendo solo un paio di righe di codice
(questa idea mi è venuta ora cos' su due piedi è da verificare)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Luglio 2009, 10:17:46
si, infondo nella toolbar il pulsante salva è d'obbligo.
Non ho capito ancora bene come fare per centrare, sbircerò tra i progetti.
Grazie, ti mando un esempio di stampa appena posso
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Luglio 2009, 20:28:32
Ti ho fatto un programmino di prova che ti centra gli oggetti con solo 2 righe di codice
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 31 Luglio 2009, 16:38:06
Grazie, chiarissimo.
Devo solo creare un Frame e incollare gli oggetti che ho già fatto.
Grazie mille
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 05 Agosto 2009, 11:15:11
Eccomi ancora..
Non capisco come fare la toolbar :ehm:
Ho provato "toolpanel" ma oltre a non capire come mettere il codice per farla funzionare, mi sembra di non essere nella direzione giusta..
Ho provato a cercare tra i progetti disponibili ma non trovo niente..o forse non ho capito bene cosa sia la toolbar :muro:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 05 Agosto 2009, 12:40:08
puoi usare dei toolbutton inseriti in un panel.

i tool button funzionano come un button qualsiasi

puoi quardare il codice di meteomachine o di elettricad entrambi hanno una barra degli strumenti
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 06 Agosto 2009, 23:53:54
Grazie fsurfing, sei sempre pronto e disponibile
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 07 Agosto 2009, 00:10:10
quando hai finito il programma ti mando il conto! :-P
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 07 Agosto 2009, 00:17:18
:-o  ok, fammi bene :-D
Ho dato un'occhiata veloce a meteomachine....sono sconvolto!!
Come fate a fare tutte quelle cose??? Lavorate alla Nasa?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 11 Agosto 2009, 11:41:30
Ciao ragazzi, eccomi ancora..
Ho questo problema: (spero di spiegarmi bene perchè ormai ho il cervello in tilt :-? )
Devo aggiornare dei record filtrati:
Ho dei record (dettagli) che appartegono a un preventivo, (possono essere 2,3,4,100). Io dovrei aggiornare tutti i dettagli solo di questo preventivo.
Il cambiamento che devo fare è questo: sul primo dettaglio ho scritto un nome fornitore, dovrei scriverlo su tutti, in patica tutti uguali al primo.
Spero di essermi spiegato. ho provato a fare questo codice..non dovrei neanche mostrarlo
Codice: [Seleziona]

PUBLIC SUB sostelementi()  
DIM i2 AS Integer  
DIM sql AS String  
DIM mystriga AS String    
DIM myid AS String                
sql = "select * from dettagli WHERE idpreventivo  LIKE '%" & tbidpreventivo.Text & "%'" " "    
sql = sql & "order by iddettaglio"      
MODMain.Connect()    
MyRS = MODMain.$conn.Exec(sql)    
IF MyRS.Available = TRUE THEN        
MyRS.movefirst        
mystriga = MyRS!fornitore      
FOR i2 = 0 TO Myrs.count - 1          
myid = MyRS!iddettaglio          
aggiornacampo(myid, mystriga)          
MyRS.movenext      
NEXT    
ENDIF    
END  

PUBLIC SUB aggiornacampo(lamiastringa AS String, miocampo AS String) AS String            
MODMain.Connect()            
MyRS = MODMain.$conn.Edit("dettagli", "iddettaglio=" & lamiastringa)            
MyRS!fornitore = miocampo            
MyRS.Update            
MODMain.$conn.Commit                
MODMain.$conn.Close  
END

Grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 13 Agosto 2009, 11:10:06
Dopo ripetute botte in testa ho fatto questo:
Codice: [Seleziona]

   PUBLIC MyRS AS Result
   
   ........
   MODMain.Connect()    
   MyRS = MODMain.$conn.EXEC("UPDATE dettagli SET fornitore=&1", tbfornitore.text, )

e funziona, solo che mi cambia tutti i fornitore, ho bisogno di filtrare solo i dettagli di un preventivo, questa è la condizione:
Codice: [Seleziona]

   DIM sql AS String
   sql = "WHERE idpreventivo  LIKE '%" & tbidpreventivo.Text & "%'" ""

Solo che non riesco a mettere insieme il tutto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 13 Agosto 2009, 17:33:51
Finalmente ce l'ho fatta :-?
Codice: [Seleziona]

sql = "UPDATE dettagli SET fornitore = '" & tbfornitore.text & "'"
sql = sql & "WHERE idpreventivo = '" & tbidpreventivo.Text & "'"
           
   MODMain.Connect()
   MyRS = MODMain.$conn.EXEC(sql)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 17 Agosto 2009, 18:31:50
Ciao, sono ancora in guerra con le query..
Devo fare una query di accodamento da tabella DETTAGLI  a tabella DETTAGLIORDINI.
Devo copiare i dettagli filtrati da IDPREVENTIVO e IDFORNITORE inoltre dovrei scrivere nei nuovi DETTAGLIORDINI l'idordine
Ho provato a fare questo (che naturalmente non va..)
Codice: [Seleziona]

PUBLIC MyRS AS Result

PUBLIC SUB accodadettagli()
  DIM sql AS String  
  sql = "insert into dettagliordini (descrizione, idordine)values "
  sql = sql & "SELECT descrizione, " & tbidordine.Text
  sql = sql & "FROM dettagli"
  sql = sql & "WHERE idpreventivo = '" & tbidpreventivo.Text & "'" ""
  sql = sql & "and idfornitore = '" & tbidfornitore.Text & "'" ""  
  MODMain.Connect()
  MyRS = MODMain.$conn.Exec(sql)
END




Dove sbaglio?

A parte le stampe questo dovrebbe essere uno dei ultimi problemi.
Ho quasi finito il mio programma :-), sono contento è venuto una figata, vedrete!
Lo posto presto (appena ho risolto questo problema e finito l'ultima form)

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 18 Agosto 2009, 21:28:28
Premetto che non ho avuto modo di provare il tuo progetto, quindi non conoscendo la logica con cui hai impostato le tabelle del DB mi viene un po' in salita aiutarti, però alcune cose non corrette le ho notate:

L'Insert così come l'hai strutturato tu non vuole la clausola Values che va' cancellata.

Nella seconda riga, per intenderci quella dove hai inserito SELECT non mi sembra sintatticamente corretta.

Qualcosa di strano mi pare che ci sia anche nelle altre righe:
troppi apici.

Prova così
Codice: [Seleziona]

PUBLIC MyRS AS Result

PUBLIC SUB accodadettagli()
  DIM sql AS String  

  sql = "INSERT INTO dettagliordini (descrizione, idordine)"
  sql &= "SELECT descrizione, '" & tbidordine.Text & "'"
  sql &= "FROM dettagli"
  sql &= "WHERE idpreventivo = '" & tbidpreventivo.Text & "'"
  sql &= "AND idfornitore = '" & tbidfornitore.Text & "'"  
  MODMain.Connect()
  MyRS = MODMain.$conn.Exec(sql)
END
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 18 Agosto 2009, 21:37:54
grazie mille, appena metto a letto i bimbi provo, ti faccio sapere.
grazie ancora
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 19 Agosto 2009, 00:09:11
Mitico!!
Funziona alla grande, mancava uno spazio ma ho risolto subito.
Sono 2 giorni che provo a girarla in tutte le maniere..
Ti ringrazio tantissimo

per chi può interessare il codice:
Codice: [Seleziona]

PUBLIC MyRS AS Result

PUBLIC SUB accodadettagli()
  DIM sql AS String  

  sql = "INSERT INTO dettagliordini (descrizione, idordine)"
  sql &= "SELECT descrizione, '" & tbidordine.Text & "'"
  sql &= "FROM dettagli "
  sql &= "WHERE idpreventivo = '" & tbidpreventivo.Text & "'"
  sql &= "AND idfornitore = '" & tbidfornitore.Text & "'"  
  MODMain.Connect()
  MyRS = MODMain.$conn.Exec(sql)
END
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 20 Agosto 2009, 19:04:39
Ecco fatto!!:pint:  :pint:
Praticamente finito tranne le stampe che mi dedicherò da adesso in poi.
Nell'allegato c'è il backup delle tabelle per mysql e un file pdf con le istruzioni per inserirlo.
Ringrazio tutti coloro che mi hanno aiutato, ricordo che sono partito pochi mesi fà, Gambas proprio non lo conoscevo, avevo solo delle deboli basi di Access e grazie all'aiuto del forum sono riuscito a fare questo (e anche a capirci qualcosa :-D  )
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 22 Agosto 2009, 11:33:53
Ho provato il tuo programma. Premetto che non me ne intendo e non so a cosa serva. ti parlo perciò da ignorante. Secondo me dovresti permettere all'utente di poter switchare dalla versione del programma a tutto schermo a quella in finestra.

E poi cambierei la posizione dei tasti all'inizio....sembrano in posizioni casuali...capito cosa intendo?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Agosto 2009, 11:58:51
Ti ringrazio di aver guardato il mio progettino :-)
Si è vero che la pagina iniziale è un pò disordinata, devo studiarla meglio hai ragione. per quanto riguarda "switchare" non so perche ci sono form che mi riempiono tutto lo schermo..come potrei fare?

Inoltre volevo segnalare a chi ha scaricato il mio progetto che ho trovato già diversi errori, quindi per il momento non è affidabile.  

Ceskho mi sai dire dove posso studiare qualche esempio di stampa? Quà sono a livello sottozero. Dovevo mandare a furfing un esempio perchè mi aveva detto che mi faceva una bozza (e te lo manderò non preoccuparti :-P ) ma volevo prima almeno capirci qualcosina
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 22 Agosto 2009, 15:39:21
Io non ho mai trattato la stampa direttamente ma se apri i sorgenti di meteomachine troverai sicuramente ciò che fa al caso tuo.

Oppure puoi vedere l'esempio che c'è in gambas, ma in quel caso saresti costretto a sviluppare il tuo software prevalentemente con le qt!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Agosto 2009, 17:59:43
Grazie provo a guardare, l'avevo già scaricato ma non avevo pensato di guardare le stampe
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Agosto 2009, 18:30:15
Un particolare che avevo rimandato e che ora volevo sistemare.
Nella gridview ho una colonna prezzo, come faccio ad allineare tutti i prezzi a destra? Grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 22 Agosto 2009, 19:26:54
Esempio:
Codice: [Seleziona]

DIM i AS Integer

FOR EACH mioResult
  i = mioResult.Index
 
  GridView[i, Colonna].Alignment = 2
  GridView[i, Colonna].Text = mioResult["prezzo"]
NEXT


Colonna = Nr. Colonna che visualizza i prezzi
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Agosto 2009, 01:04:56
Ti ringrazio, funziona come sempre :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Agosto 2009, 16:32:34
Altra chicca da fare.
Per inserire i listini dei fornitore nel database di mysql, solitamente i fornitori forniscono un file .xls quindi apribile da openoffice.
Io ho pensato di convertire il file in csv e quindi importare.
Cosa dite? è la procedura giusta?

Se fosse la procedura giusta, con conosco il codice per collegarmi al file csv, qualcuno potrebbe aiutarmi?
Grazie mille
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 26 Agosto 2009, 16:53:44
Premetto che non so usare i database e ormai lo sanno pure i sacchetti per le urine....però se non erro (non vorrei una cavolata!!!) questi tipi di dati sono stati trattati da md**** nel suo progetto pgdesigner....prova a dare un'occhiata....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Agosto 2009, 23:18:03
Grazie ceskho, ci ho dato un'occhiata ma mi ci vogliono dieci anni per capire quel progetto...md è un mostro!!

Ceskho ma che battute usi??? :-o  :-)
Dovresti imparare sono sicuro che ti piacerebbe
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Agosto 2009, 12:06:27
Per le stampe ho trovato questa (http://www.gambas-it.org/gmbs/modules/newbb/viewtopic.php?topic_id=81&viewmode=flat&order=ASC&type=&mode=0&start=0) discussione, adesso mi metto a studiare :-)

Nessuna idea per importare da csv?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 13 Settembre 2009, 00:51:00
Ciao, appena tornato e prima di andare a nanna vi faccio subito una domandina  :-)
(Mi mancavate tanto!! :lol:  :lol: )
La questione è importare da file csv.
Ho torvato questo, che si lancia da terminale, l'esempio è di importare dei nomi in un database di nome Rubrica con tabella Amici con campi Cognome;Nome;Numero.

Codice: [Seleziona]

mysql -u root -p

use Rubrica

LOAD DATA LOCAL INFILE '/home/franco/Gestione/export.csv'
INTO TABLE Amici
FIELDS TERMINATED BY ';'
enclosed by '"'
LINES TERMINATED BY '\n'
(Cognome, Nome, Numero);


E fin quà funziona. Però io volevo farlo con una query, è possibile?

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 14 Settembre 2009, 23:03:52
Non so più che pesci pigliare..
Avevo pensato di fare una shell con lo script che vi ho scritto sopra. con lo script mi avrebbe copiato i dati da csv a una tabella provisoria di mysql, poi copiavo da tabella a tabella con una semplice query. Però lo script non funziona perchè mi chiede la paasword e la shell si pianta :cry:
Nessuno si ricorda di aver visto qualche esempio per importare da file csv a mysql? :aiuto:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 15 Settembre 2009, 01:21:05
Ma la shell ti chiede la password si root o la password che protegge il database?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 15 Settembre 2009, 14:56:50
Se vuoi usare la shell, devi passargli anche la password, anche se questo và fuori ambito sicurezza.

Non ho letto tutti i messaggi di questo post, ma se l'obiettivo è quello di caricare dati su un db mysql, da un file csv, e deve essere integrato in un programma gambas, ti consiglio di creare e usare Gambas.
Mi spiego meglio...
Se il tuo obiettivo è il semplice caricamento di dati, lo fai a riga di comando, e la cosa finisce lì.
Se invece devi integrare una sorta di funzionalità all'interno di un tuo programma, ti conviene usare le funzionalità del linguaggio Gambas. A parte una minima conoscenza di Gambas, non vedo grandi difficoltà a creare oggetti o funzioni ad-hoc per fare questa operazione.

Sapendo come è composto un file csv, abbiamo le seguenti casistiche di base:

1) ogni riga è un record; le righe sono terminate con LF (ascii linux=Chr(10), dos=Chr(10)+Chr(13));
2) ogni campo è separato dal carattere "virgola"; se il carattere è diverso il file non è un puro csv;
3) se i campi possono contenere caratteri separatori (ovvero la virgola), allora ogni campo è delimitato da doppi apici.

Date queste tre regole, la lettura del file può essere fatta con tre righe di codice, mentre la decodifica un'altro paio ancora. Una volta determinati i campi componenti la riga (puoi salvarli in una Collection o in un array), il salvataggio sul db è altrettanto semplice, ovviamente dopo averne stabilito la connessione. Unico problema potrebbe essere il come formare l'istruzione sql, i cui campi possono essere di formato divero; questo lo puoi determinare leggendo la struttura della tabella di destinazione, e convertendo prima i dati rilevati dalla riga in input, poi formattandoli opportunamente.

Creare apposita procedura con Gambas, ti permette soprattutto di avere maggior controllo su quello che stai inserendo nel database (es. controllare codice validi, o valori nulli).

Sò che forse quello che ho scritto potrebbe non essere perfettamente chiaro, ma sono a disposizione per ulteriori aiuti.

Ciao
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 15 Settembre 2009, 15:16:18
Se vuoi passare alla shell la password di root non devi per forza compremettere la sicurezza....infatti (fortunatamente) esistono due importanti strumenti per questo compito infame:

Ksudo
Gsudo

Il primo è per ambienti KDE e il secondo per ambienti GNOME. In pratica sono delle pratiche finestrelle dove immettere la password di root!

Provare per credere

Purtroppo non os se su altri OS esistono questi due programmi ma su *buntu sono sicuro che ci sono....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Gaspare - 15 Settembre 2009, 16:25:23
per gestire meglio le query e mysql prova ad installare Emma, è un front-end molto semplice e funzionale (e mi pare che importi anche le tabelle dai file .csv)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 15 Settembre 2009, 16:29:55
Non in tutti i sistemi sono installati e attivi di default, per esempio su Fedora no. Diciamo che non tutti i sistemi Linux hanno le stesse impostazioni; alcune sono di base, ma altre sono date all'utente.

Ad ogni modo, anche si utilizzano programmi ad-hot, devi comunque passare per svariati strati di software, di cui uno è proprio Gambas.
E' ovvio che il mio accenno alla sicurezza potrebbe essere fuori luogo, in ambienti come un desktop casalingo, ma sicuramente è comunque soggetto ad attacchi.
La cosa diventa importante se il database contiene dati sensibili; se invece si parla di db di test o di sviluppo... bè... si può tralasciare la parte security...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 15 Settembre 2009, 16:51:31
In verità se si volesse passare la password con "trasparenza" si dovrebbe ricorrere alla crittografia almeno...e qui penso che Leo potrebbe illuminarci tutti come solo una bella torcia a LED bianchi sa fare!!!

Se ionvece provi i programmi che ti ho detto io puoi risparmiarti molte righe di codice e un bel pò di lavoro. Poi se essi non sono presenti nel sistema puoi sempre "avvisare" l'utente di installarli...non bisogna certo perdersi su queste cose...;-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 15 Settembre 2009, 23:04:39
Grazie per i suggerimenti di tutti,
La mia prima intenzione era di importare i dati di csv al db mysql direttamente da gambas, però non sapendolo fare volevo provare la scorciatoia della shell.

@md9327
Se non è chiedere troppo questo sarebbe quello che devo fare:

 da un file xls converto in csv, questo è il risultato (CODICE;DESCRIZIONE;PREZZO)

ba45;base da 45;45,23
ba30;base da 30;30,11
pe22;pensile da 22;22,22

al posto della virgola come separatore di campo ho preferito il puntoevirgola perchè ho paura che vada in conflitto con la virgola del campo prezzo

Devo andare a copiare i dati nella tabella "dettaglilistini", i campi interessati sono questi:

codice ----varchar(50)
descrizione ----varchar(250)  
prezzo ----decimal(10,2)
idfornitore ----int(4)
fornitore ----varchar(50)

Codice descrizione e prezzo sono i campi interessati ai dati del csv, mentre idfornitore e fornitore dovranno avere gli stessi valori su tutti i record copiati,
idfornitore = 2
fornitore = "pippo"

Ti faccio anche un esempio di come mi collego al db
Codice: [Seleziona]

          sql = "select * from dettaglilistini"      
          MODMain.Connect()
          MyRS = MODMain.$conn.Exec(sql)



Ho fatto un bel poema... :oops:
Ti ringrazio
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 16 Settembre 2009, 11:12:49
Bè, ufficialmente non mi hai chiesto nulla... :-)

In grandi linee, il materiale che hai elencato è quello che ti ho descritto anche io.
La scelta del ";" è personale, quindi non soggetta a repliche.
La conversione da file excel non è possibile, a meno che qualcuno non abbia scritto procedure ad-hoc, cosa quantomeno improbabile.
Una volta convertito a mano, ti trovi con un bel csv, e a questo punto puoi crearti le tue funzionalità di acquisizione.
E' certo che una cosa del genere, fatta direttamente tramite mysql, è sicuramente più veloce; se non ricordo male puoi impostare anche il carattere separatore sulla riga del comando mysql.
Non capisco però il codice di connessione... quello sembra solo una query al db, ma eseguibile solo dopo aver effettuato la connessione vera e propria. Se leggi la doc, o fai un giro dell'area download, credo tu possa trovare qualche esempio di gestione di un db mysql.

P.S.: posso anche pensare di mettr su una classe apposita per l'acquisizione di file csv, ma il risultato non sarà immediato. Ti consiglio al momento di andare avanti con la tua logica...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 16 Settembre 2009, 17:35:35
Nei download stò caricando un file con una classe di lettura file/stream di dati in formato CSV.

Non sò quando sarà disponibile, per cui la posto anche qui...

L'ho scritta ora e funziona.

Vedi se ti può andare bene.

Ciao
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 16 Settembre 2009, 18:49:37
Ti ringrazio dell'esempio, stasera lo guardo bene.
Purtroppo a me serve qualche esempio per capirci qualcosa.
Sto facendo un programma che a me piace tantissimo :-) ma diciamo che l'unica bravura mia è stata nel mettere insieme tanti pezzettini raccolti quà e là, e (sopratutto) l'aiuto dei ragazzi quà del forum.
Presto lo riposterò perchè è praticamente finito, tranne le stampe che devo ancora cominciare a studiare  :oops:
Grazie mille per la disponibilità
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 16 Settembre 2009, 19:16:02
Di nulla, siamo qui appunto per aiutare...

:-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 17 Settembre 2009, 22:02:00
@md9327
Ho provato a studiarmi bene la classe che mi hai fatto, ma mi spiace io proprio non ci arrivo :oops: .
Non so come richiamare la funzione..penso sia OpenFile & il nome del file csv, e dopo non saprei come tirarmi fuori i dati da $data..
Allora ho pensato che potrei prepararti un bell'esempio con sqlite, tipo una rubrica o qualcosa del genere, il file csv, e se dopo tu ci scrivi il resto.. dopo possiamo metterlo in download come esempio, andrà benissimo per qualche altro testone come me :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 17 Settembre 2009, 23:55:34
Prima di andare avanti col resto vi rimando "Gestione" corretta in vari punti. Pensavo di avere quasi finito (tranne le stampe), invece mi stà appassionando talmente tanto che ho trovato varie chicche da fare :-).

Per chi aveva già scaricato il programma e installato il db di mysql dovrà comunque rifare tutto perchè il db è cambiato. Inoltre ricordo che assieme al file sql c'è una guida per caricare il db in mysql (mysql.pdf)

Ringrazio chi mi ha aiutato
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 18 Settembre 2009, 12:19:21
Il file che ho postato non è altro che una classe.

Per poter leggere e fare quello che devi fare, devi, all'interno del tuo codice, creare una variabile di tipo Csv (nome della classe), aprire la connessione con il file (OpenFile), leggere i dati con un loop (fino a che Read non ritorna False), chiude la connessione con il file (Close).

Un esempietto:

Codice: [Seleziona]


DIM csv AS NEW pgCsv()
DIM dati as String[]

csv.OpenFile($filename)
WHILE csv.Read()
  dati = csv.Data
WEND
csv.Close()



Ora devo scappare, appena ritorno e se necessario ti dò qualche altra info...

Bye
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 18 Settembre 2009, 21:23:54
Grazie, gentilissimo!!
Visto così mi sembra più familiare :-D
Metto a letto i bimbi e poi provo, grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 21 Settembre 2009, 10:32:45
Ritornato un pò in ritardo, ma ritornato...

Continuando il mio post precedente, devo farti notare (e si vede anche nel codice), che ogni riga letta con Read, viene ritornata splittata in un array stringa (Data).
Ovviamente la classe non tratta la traduzione e la conversione dei dati, e la memoprizzazione nel database; questa fase devi farla tu.

In realtà, sarebbe anche possibile implementare la classe, in modo che i dati letti vengano direttamente salvata in una tabella, ma al momento questo esula, a mio avviso, dallo scopo del singolo oggetto. Un'idea è quella di implementare un'oggetto ad-hoc per la conversione e il salvataggio di dati sul database, passandogli appunto l'array ritornato da CSV, e che converta opportunamente le singole stringhe in valori corrispondenti alle colonne della tabella.
Ma questa è un'altra storia...

:-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 22 Settembre 2009, 00:32:54
Ciao, non preoccuparti, nessun ritardo anch'io ho poco tempo e qualche sera quando metto a letto i piccoli..ci resto anch'io :sonno:
Ci ho provato ancora, ma proprio non ci arrivo  :eh:
Io ti avrei preparato un esempio, anzi l'ho solo modificato. E' l'esempio di Fsurfing "Gambas_e_sqlite". L'ho preparato per inserire il file csv. I campi sono Nome Cognome Indirizzo. c'è anche il file csv.
Solo se hai tempo.
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 22 Settembre 2009, 16:33:42
Ho dato un'occhiata al volo, tenendo conto che al momento non ho Gambas a disposizione, e questo è il risultato:

1) la variabile $conn è illogico inserirla in ogni funzione; la cosa può essere sistemata, spostando la sua dichiarazione in modo che questa risulti una proprietà della classe, ovvero, basta spostarla ad inizio file (dopo la nota <' Gambas class file>). Dopo di che, nel metodo _new(), può essere istanziata (creata), completata dei parametri di connessione, quindi aperta. In questo modo ogni metodo può accedere a questa proprietà, sicuro che questa sia valida e già aperta, e usando le sue caratteristiche a seconda dei casi. Ovviamente bisogna ric ordarsi di chiudere la connessione alla chiusura della Form, anche se (se ricordo bene), questo viene comunque fatto da Gambas. Ad ogni modo, può fare l'apertura della connessione dentro Form_Open(); la cosa cambia a seconda della logica adottata, ma questo si può analizzare dopo...

2) A seguito di quanto sopra, puoi comunque eseguire apertura di connessione, query e chiusura in ogni metodo, tanto l'oggetto è già stato creato, quindi non hai bisogno di scrivere più volte lo stesso codice, e la gestione diventa più snella.

3) Il codice che hai inserito nell'evento click di Button6, manca solo del trasferimenti dei dati letti dal file CSV nella Griglia o in variabili da utilizzare per l'inserimento nel database. Non ho approfondito tutta la logica scritta nella Form, ma presumo che tu voglia visualizzare il contenuto del file, permettendone la modifica (e non), salvare i dati nella tabella. Se questo è l'intento, a parte forse qualche ridondanza nel codice, penso ti basi solo inserire due righe di codice nel Button6_Click per la lettura delle info dal file.

Spero di essere stato abbastanza chiaro...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Settembre 2009, 13:39:45
Ciao
Ho preparato l'esempio un po' in fretta, in effetti sul mio progetto fccio così:
Ho un modulo chiamato “ModMain” (l'ho trovato sempre qua nel forum”

Codice: [Seleziona]


PUBLIC $conn AS NEW Connection

PUBLIC PROCEDURE Connect()
   $conn.Close  
   $conn.Type = "mysql"
   $conn.Host = "localhost"
   $conn.Login = "root"
   $conn.port = "3306"        
   $conn.Name = "Gestione"
   $conn.Password = "MIAPASSWORD"
   $conn.Open
END

PUBLIC SUB Main()
Connect() 'avvia la procedura per la connessione
END



Riempio la grid con questo codice:

Codice: [Seleziona]

PUBLIC MyRS AS Result

PUBLIC SUB riempigrid()
    DIM sql AS String
    DIM i AS Integer
    DIM cal AS String

 
    GridView1.Clear        
          sql = "select * from dettagli WHERE idpreventivo  LIKE '%" & tbidpreventivo.Text & "%'" " " '  tbidpreventivo è l'id per filtrare i dettagli solo per questo preventivo
          sql = sql & "order by iddettaglio"                        
           MODMain.Connect()
           MyRS = MODMain.$conn.Exec(sql)                    
          IF MyRS.Available = TRUE THEN    
                GridView1.Mode = Select.multiple
                GridView1.Header = GridView1.Horizontal                
                GridView1.Columns.Count = 10
               
                GridView1.Columns[0].Width = 20
                GridView1.Columns[1].Width = 20
                GridView1.Columns[2].Width = 80
                GridView1.Columns[3].Width = 400
                GridView1.Columns[4].Width = 80                
                GridView1.Columns[5].Width = 20
                GridView1.Columns[6].Width = 20
                GridView1.Columns[7].Width = 20
                GridView1.Columns[8].Width = 80
                GridView1.Columns[9].Width = 80
                GridView1.Rows.Height = 20
                               
                GridView1.Columns[0].Text = ""
                GridView1.Columns[1].Text = "Q.tà"
                GridView1.Columns[2].Text = "Codice"
                GridView1.Columns[3].Text = "Descrizione"
                GridView1.Columns[4].Text = "Prezzo"
                GridView1.Columns[5].Text = "IVA"
                GridView1.Columns[6].Text = "Aum"
                GridView1.Columns[7].Text = "Sco"
                GridView1.Columns[8].Text = "Prezzo tot"
                GridView1.Columns[9].Text = "Fornitore"
                GridView1.Rows.Count = MyRS.Count        
                i = 0
                FOR EACH MyRS                          
                  GridView1[i, 0].Picture = ""
                  GridView1[i, 1].Text = MyRS!quantita  
                  GridView1[i, 2].Text = MyRS!codice  
                  GridView1[i, 3].Text = MyRS!descrizione  
                  GridView1[i, 4].Alignment = 2
                  GridView1[i, 4].Text = MyRS!prezzo
                  GridView1[i, 5].Text = MyRS!iva
                  GridView1[i, 6].Text = MyRS!maggiorazione
                  GridView1[i, 7].Text = MyRS!sconto
                  GridView1[i, 8].Alignment = 2
                  cal = (((MyRS!prezzo * MyRS!quantita) * ((MyRS!iva / 100) + 1)) * ((MyRS!maggiorazione / 100) + 1)) * (1 - (MyRS!sconto / 100))
                  GridView1[i, 8].Text = Format(cal, "######0.00")
                  GridView1[i, 9].Text = MyRS!fornitore
                  INC i          
                NEXT
               
          ELSE
                  GridView1.Columns.Count = 1
                  GridView1.Rows.Count = 1
                  GridView1[0, 0].Text = "Nessun dato"  
          ENDIF

                     
  CATCH  
  Message.Error(Error.Text)  
END



Un dubbio: MODMain.Connect() io lo uso in ogni funzione. E' giusto o devo metterlo in “Form_Open” ?

Mi sono guardato bene la tua classe, purtroppo io non ci capisco molto, però ho capito che si può scegliere il carattere separatore colonna, la prima riga per il nome colonna .. però più in là non riesco andare.

Il lavoro che vorrei fare io sarebbe di accodare il csv nella mia tabella "dettaglilistino" . Il file CSV deve essere preparato prima, penso che qualsiasi utente con una guida (che preparerò) sia capace di convertire con OpenOffice un file xls. Poi dalla maschera “Listini” scegliendo il file mi copierà i dati del csv (però dovrò riempiere anche i campi Idlistino e Idfornitore con i valori che ci saranno nella maschera al momento dell'importazione)

Spero di essermi spiegato meglio adesso, sono un po' casinista di natura :-)

Ti ringrazio tanto del tempo che mi dedichi
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Settembre 2009, 14:50:47
[OT]
Scusate se esco dai ranghi delle richieste ma leggendo il codice ho notato una cosa: quando fai riferimento ai dati di login vengono scritti direttamente...più precisamente
Codice: [Seleziona]

   $conn.Login = "root"
   $conn.Password = "MIAPASSWORD"  


Questo non è un pò controproducente per la sicurezza? Non dovresti creare un form in cui l'utente inserisce login-name e password?
/OT]
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Settembre 2009, 16:13:27
@ceskho
Si è vero, in realtà nel progetto questi dati vengono "pescati" da un file (mi avevi fatto tu l'esempio per scrivere e leggere un file txt :-D ). Per semplificare la lettura del codice ho scritto così
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Settembre 2009, 16:44:03
ok..allora scusami tanto per l'offtopic...ma anche così la sicurezza è blanda poichè un file di testo può essere benissimo prelevato e letto con semplicità assoluta...secondo me dovresti creare un form che chieda i dati di login ogni volta...in questo modo non salvi dati sensibili da nessuna parte.

So che per l'utente finale potrebbe essere una scocciatura immettere sempre gli stesi dati ma almeno il db dovrebbe essere al "sicuro".
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Settembre 2009, 17:39:07
Citazione
ok..allora scusami tanto per l'offtopic...

Non devi scusarti...grazie dell'interesse invece.
Si hai ragione nel fatto della sicurezza, penso che farò in modo che possa decidere l'utente, cioè, se si decide di entrare direttamente il programma legge i dati, altrimenti si apre il form password così i dati non andranno mai scritti
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Settembre 2009, 17:58:16
Bravo....se non hai tempo posso darti una mano...ovviamente il progetto è tuo e lo conosci meglio di me...:-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Settembre 2009, 22:49:31
Mi farebbe molto piacere!
All'avvio del programma si apre il form "Principale", là (nella funzione Form_open) viene controllato se è stato creato il file /.Gestione/dati.txt e quindi anche conn.txt che è il file dove scrivo i dati per collegarmi al database. Puoi scaricare l'ultimo aggiornamento che ho fatto qualche giorno fà, nella pagina precedente di questa. Però devi cambiare la funzione Form_open con questa perchè mi ero dimenticato un particolare.
Codice: [Seleziona]

PUBLIC SUB Form_Open()
DIM hFile AS File
DIM Dato1 AS String
label2.Text = Format(Now(), "dddd dd mmmm yyyy")

  IF NOT Exist(User.Home & "/.Gestione/Dati.txt") THEN
   MKDIR (User.Home & "/.Gestione")
   impostazioni.Show
   connessione.Show
  ELSE
  hFile = OPEN User.Home & "/.Gestione/Dati.txt" FOR INPUT
   LINE INPUT #hFile, Dato1
    CLOSE #hFile
   lbintestazione.text = Dato1
  END IF  
  ME.Center
END

Vedi te come fare, mi fido ...ceskhamente :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Settembre 2009, 00:46:02
Ehi Golia....la meccanica e la struttura del programma non sono facili da capire per chi lo legge da fuori...c'è un modo per metterci in contatto per parlare? hai skype? sarebbe l'ideale....attendo tue notizie...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Settembre 2009, 01:10:17
No mi spiace, e non ho neanche il microfono

edit:
Forse posso rubarne uno al lavoro, ti faccio sapere
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Settembre 2009, 01:23:51
Ma con skype si può anche parlare come messaggistica istantanea..no vabbè non voglio che ti arrestano/licenziano per un microfono...:-)

Comunque ho fatto quello che dovevo fare....ora ti allego il file...una cosa però:ho creato il form da cui ci si può connettere o si può decidere se far sì che il programma ricordi i dati...non ho fatto riferimento al mio form nel tuo programma poichè non so in quali punti essi dovrebbe essere richiamato. Lascio a te questo compito che conosci il tuo codice...Qualora decidessi di usare il mio form puoi eliminare dal tuo progetto sia il form "connessione" che il modulo "ModMain"...

Spero ti serva....

P.S.

Nel mio form ho usato le icone che ho trovato nel progetto per rendere il tutto omogeneo.....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Settembre 2009, 09:57:51
Grazie ceskho, stasera lo guardo
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Settembre 2009, 15:20:48
Perfetto...attendo tue notizie!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 00:12:14
Stupendo ceskho, ci ho messo un pò le mani ma è una figata.
Il modulo modMain serve, allora ho fatto .. non so come si chiamano (STATIC PUBLIC t$Type AS String). Quando mi connetto vado a "scrivere" i dati su questa, modMain "legge" da questa.
Fantastico grazie :-)  :2birre:


p.s. io ti allego perchè mi fa piacere che vedi il tuo lavoro, ma non stò inserendo troppi allegati? :nulla:

edit:

ho dimenticato una cosa: cambia questa funzione nella classe "Principale"
Codice: [Seleziona]

PUBLIC SUB Form_Open()
DIM hFile AS File
DIM Dato1 AS String
DIM con1, con2, con3, con4, con5, con6 AS String
label2.Text = Format(Now(), "dddd dd mmmm yyyy")

  IF NOT Exist(User.Home & "/.Gestione/tblogin.txt") THEN
   dtbLogin.Show
   ELSE
    hFile = OPEN User.Home & "/.Gestione/Conn.txt" FOR INPUT
    LINE INPUT #hFile, con1
    LINE INPUT #hFile, con2
    LINE INPUT #hFile, con3
    LINE INPUT #hFile, con4
    LINE INPUT #hFile, con5
    LINE INPUT #hFile, con6
    CLOSE #hFile
    Global.t$Type = con1
    Global.t$Host = con2
    Global.t$Login = con3
    Global.t$port = con4
    Global.t$Name = con5
    Global.t$Password = con6
  ENDIF

  IF NOT Exist(User.Home & "/.Gestione/Dati.txt") THEN
   MKDIR (User.Home & "/.Gestione")
   impostazioni.Show
  ELSE
  hFile = OPEN User.Home & "/.Gestione/Dati.txt" FOR INPUT
   LINE INPUT #hFile, Dato1
    CLOSE #hFile
   lbintestazione.text = Dato1
  END IF  
  ME.Center
END
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 00:35:24
Ecco..ho finito la calcolatrice.....ora la pubblico sul mio sito ok? Così la puoi scaricare e inserire nel tuo progetto...va bene?

P.S. Mi fa piacere che il mio lavoro ti piaccia!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 00:43:07
Caspita che velocità!!
Bella, bel lavoro

Io ci aggiungerei la %

Inoltre, sarebbe bello fare "la calcolatrice a nastro", c'è per win ma per linux non l'ho trovata, sarebbe un bel progetto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 00:48:05
Vada per il % ma la calcolatrice a nastro che cos'è????
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 00:49:33
sarebbe a dire questa
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 00:57:50
Ah...ok...ma poi quel nastro devo riversarlo in un file di testo?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 01:00:34
Non so se serve. Diciamo che è comodo vedere le operazioni fatte in precedenza.
Vado a nanna, :sonno:
Ciao, grazie di tutto
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 01:02:16
Perfetto....mi rimetto al lavoro....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 01:04:53
ma tu non dormi? :ciao:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 01:16:40
[OT]Il pomeriggio studio e le cose che mi piacciono devo farle quando non studio: cioè la notte!! :-)[/OT]

EDIT: Ho caricato sul mio sito la versione della calcolatrice con il nastro..:-)

Volevo implementare anche la funzione per la percentuale ma non capisco cosa debba fare o come deve essere strutturata. Se mi date delucidazioni provvedo.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 11:53:51
Ciao, proprio bella come la volevo :-)

Io uso le percentuali cosi:

-Sconto:
  1000 - 20 % = 800 ----(1000 *(1 -( 20 / 100) )) le variabili sono "1000" "-" "20"

-aumento:
  1000 + 20 % = 1200 ----(1000 *(1 +( 20 / 100) )) le variabili sono "1000" "+" "20"

Ho notato che non funzionano bene i numeri da tastiera

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 14:46:35
In che senso i tasti non funzionano?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 15:29:54
se scrivo da tastiera e faccio es. 12+ una volta scritto + con la tastiera non scrivo più niente. La versione precedente funzionava, ma non so se è il mio portatile, stasera controllo col pc
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 16:06:26
si hai ragione...il problema risiede nel fatto che per far vedere nel nastro l'ultima operazione fatta devo aggiornalo lo stesso e questo fa perdere il focus al form che si occupa di gestire i testi...ora metto apposto e ti aggiorno sul lavoro...

EDIT: non capisco perchè ma una volta che aggiorno il nastro per far vedere di volta in volta l'ultima operazione effettuata il form non riesce più a prendere il focus! Che noia!!!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 17:40:28
Ho pubblicato sul mio sito la nuova versione della calcolatrice...ora è molto più intelligente poichè prevede il tasto percentuale che mi hai detto tu. Non sapendo però per quali operazioni ti potesse servire l'ho implementato per tutte e quattro..ho fatto bene? Cioè ora puoi fare:

1000 + 20 %
1000 - 20 %
1000 * 20 %
1000 / 20 %

Per ora il nastro non si aggiorna da solo. Questo finchè non capisco perchè l'auto-scorrimento della textarea mi da problemi. Va bene?

Ti sarei grato se mi eseguissi ulteriori test poichè sicuramente qualcosa mi sarà sfuggito come al solito...-P
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 18:41:18
Ciao ceskho,
il * e / non servono per calcolare le percentuali, solo + e -.

Però non funziona proprio bene la percentuale.
esempio
100 +
20 %
120 =
220

dovrebbe fare così
100 +
20 %
120 =

anche con la sottrazione fa la stessa cosa.

Comunque mi piace, e hai fatto prestissimo..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 18:48:49
hai ragione...non ci avevo proprio fatto caso a questo...provvedo subito a rimediare...

EDIT: fatto! Ho corretto il problema che hai riscontrato e mi ero pure dimenticato di dare la possibilità di fare la percentuale da tastiera...ho messo pure quella....basta premere il tasto %
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 23:15:48
Adesso la scarico, grazie ceskho
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 25 Settembre 2009, 23:24:59
Mi sembra bella e sopratutto funzionante!! :-D
Una volta che hai sistemato il nastro mettila sul sito bella impachettata con un pac.deb, funziona meglio di quella di ubuntu (o che io non sò usarla) sbaglia le percentuali
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 25 Settembre 2009, 23:50:03
Bene. Insieme a fsurfing ho corretto il problema per ciò che riguardava l'auto-scorrimento del nastro. Ora spero vada bene.

Pubblicata sul sito la versione 1.2.0

EDIT: Ho riscontrato il problema che mi dicevi dei numeri decimali...l'ho risolto...rilasciata pertanto versione 1.2.2
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Settembre 2009, 14:33:30
Ciao, scusami ma ho riscontrato ancora un problema...(come tester sono un rompi c...)  :-)
Se fai un'operazione con i decimali, tipo 12.3 x 2 si pianta il programma.
prova a vedere quando hai tempo, ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 26 Settembre 2009, 14:38:52
No no...ho corretto...leggi l'EDIT nella risposta prima della tua...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Settembre 2009, 15:02:52
oops.. scusa non avevo visto.
Sarsera guardo, ciao grazie ancora
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Settembre 2009, 22:26:38
Grande ceskho, funziona bene adesso  :pint:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 27 Settembre 2009, 00:50:38
Un bug c'è sempre....in realtà nei miei programmi i bug non sono casuali...ce li metto io per rendere il test del mio software più interessante..:-D

Sono contento che funziona...ora penso che puoi benissimo usarla nel tuo progetto.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 27 Settembre 2009, 01:31:28
Già messa :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 27 Settembre 2009, 01:41:56
Grazie... :cappello:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: g.paolo - 27 Settembre 2009, 10:43:22
@cesko
Non pensi che forse sarebbe più pratico avere la singola operazione sulla medesima riga? Ad esempio:
34+6=40
40/10=4 e così via.
Questo permetterebbe l'esame di più operazioni precedenti senza dover scorrere la lista.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 27 Settembre 2009, 14:49:59
Io trovo più pratica la visualizzazione stile "vera-calcolatrice". In questo modo la lista ha un pò più di senso. Poi non so. Vorrei avere più pareri a riguardo in modo da vedere "statisticamente" qual cosa risulta più utile.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 27 Settembre 2009, 22:00:14
A me sembra che così vado proprio bene. Dovresti metterci il tuo nome con il link del tuo sito.. Però per accontentare tutti potresti continuare a elaborarla, Ci metti delle varie opzioni così l'utente finale se la visualizza come crede
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 00:02:42
Ciao a tutti, ho cominciato a studiarmi le stampe.
Ho visto che devo abilitare il componente gb.qt, però mi fà disabilitare il componente gb.gui. fatto questo quando apro il programma, i caratteri delle form non sono come prima, orribili.
Potete spiegarmi perchè e come devo fare per abilitarmi le stampe?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 28 Settembre 2009, 12:22:14
attualmente si può stampare direttamente solo con le qt,

in alternativa puoi stampare su un immagine o un file di testo e poi stampare questi file tramite terminale.(non è proprio il massimo)

quiondi il tuo programma dovrà essere realizzato usando le qt , se trovi orribili i caratteri o la disposizione dei componenti divrai cambiarli in modo che siano accettabili.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 28 Settembre 2009, 12:36:21
Personalmente penso che sia meglio usare la soluzione disegno+terminale perchè oltre al fatto che usare solo le qt rende il programma "stonato" negli ambienti GNOME e XFCE e per di più esse hanno delle fastidiose restrizione di licenza.

Se poi opti per le qt dimmelo così posso migliorare la calcolatrice con alcuni componenti che le gtk non hanno.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 13:04:37
:muro:  :muro:
Caspita che guaio!!
Citazione
in alternativa puoi stampare su un immagine o un file di testo e poi stampare questi file tramite terminale.(non è proprio il massimo)

Come si fà a stampare in un file immagine? inoltre è possibile variare i caratteri, fare linee etcc.?
Se ho ben capito, cambiando le gtk con le qt sarebbe meglio avere kde. se cambio i miei caratteri fatti con gtk restano uguali con le qt? (qualcosa mi dice proprio di no :cry: ), inoltre se compilo tutto il programma con le qt in ambiente kde, una volta compilato si vede uguale in ambiente gnome?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 28 Settembre 2009, 13:18:37
Le qt sono la base su cui si sviluppa KDE...il fatto che un programma venga scritto in qt lo rende perfettamente utilizzabile anche in GNOME ma si noterà una differenza prettamente grafica. Se hai gnome e usi skype capirai cosa voglio dire. Si nota come quest'ultimo abbia uno stile grafico diverso rispetto a tutto il contesto.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 13:37:23
Si, ho capito cosa intendi.
Adesso non sò cosa fare, voglio provare a stampare in un file immagine, solo non so cosa fare e dove cercare. Non ho trovato niente
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 28 Settembre 2009, 13:49:40
Personalmente non l'ho mai fatto ma fsurfing lo fece per meteomachine. Scarica i sorgenti e guarda lì.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 14:28:27
Grazie mille, l'avevo già scaricato dopo guardo
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 16:32:26
Ho guardato meteomachine, adesso penso proprio che devo fare con le qt.
Stampare in un file di testo mi sembra di tornare indietro di 15 anni.
Sistemerò tutte le maschere, penso sia la soluzione più giusta anche perchè se le gtk andassero ok la sistemazione sarebbe più breve. penso.
Grazie.

@Ceskho
Se è solo per me, la calcolatrice me la sistemo io, basta solo che sistemo i caratteri giusto?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 28 Settembre 2009, 16:49:16
No no...in realtà mediante le qt posso migliorare l'aspetto del nastro....stasera la aggiusto e te la invio ok?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 16:51:09
ok ho capito grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 18:03:56
Aspettate, non ho valutato drawingarea.
Ho guardato meteomachine, ma mi sembra che venga usato solo per fare il grafico.
E' possibile cambiare anche font di testo? dopo viene esportata come immagine?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 28 Settembre 2009, 19:56:22
facciamo chiarezza:


io personalmente ti consiglio di usare la stampa tramite le qt , anche se ci sono alcuni piccoli problemi quasi irrilevanti ottieni un lavoro + professionale , inoltre i tempi di trasmissione della stampa alla stampante sono decisamente + brevi, poi se nella tua stampa ci sono molte parti nere  queste verranno stampate utilizzando inchiostro nero preservando quello colorato solo per le parti "grafiche" in cui è necessario visualizzare un colore.

Se utilizzi le gtk ti conviene disegnare su una picture piuttosto che  su una dravingarea (puoi usare tutti i caratteri che vuoi linee cerchi ecc ecc)poi dovrai trovarti un comando da terminale (valido per tutte le distribuzioni )che ti stampi la picture,
in questo caso però invierai alla stampante un immagine che quindi verrà stampata come tale è utilizzerà sempre le cartucce del colore , che per fatture ddt e comande  non mi sembra il caso.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 28 Settembre 2009, 19:59:14
ancora una cosa:

la stampa tramite file di testo che hai trovato in meteomachine non fa testo(scusa il gioco di parole)era un esperimento veloce che poi non ho portato avanti, si potrebbe migliorare utilizzando un diverso tipo di file come opendocument o pdf o altro.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 28 Settembre 2009, 20:51:00
Citazione

Ceskho ha scritto:
Personalmente penso che sia meglio usare la soluzione disegno+terminale perchè oltre al fatto che usare solo le qt rende il programma "stonato" negli ambienti GNOME e XFCE e per di più esse hanno delle fastidiose restrizione di licenza.

Se poi opti per le qt dimmelo così posso migliorare la calcolatrice con alcuni componenti che le gtk non hanno.


Per quanto riguarda la "stonatura" io a suo tempo utilizzai un suggerimento di Leo che pubblicò in questo link http://www.gambas-it.org/gmbs/modules/article/view.article.php?c6/8 Allego uno screenshot del programma che stò sviluppando, il risultato non mi sembra così male.

Per quanto riguarda la licenza delle librerie Qt, la situazione e completamente cambiata o le notizie che si trovano in giro non sono correte:
http://www.nntp.it/hobby-elettronica-digitale/1658426-librerie-qt-rilasciata-con-licenza-lgpl.html
(oppure io non ho capito).
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 22:34:49
Grazie Tornu, provo subito il consiglio
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 22:53:17
@fsurfing
Non ti avevo "letto"
Grazie, seguirò il tuo consiglio userò le qt. Mi sembra come hai detto te più professionale.

Sto seguendo il consiglio di tornu, solo non trovo "kcontrol" tra i pacchetti..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 28 Settembre 2009, 23:09:34
Digita  da terminale: sudo kcontrol
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Settembre 2009, 23:41:40
niene, command not found.
Ho qualche casino nel pc, devo decidermi a reinstallare.
Comunque grazie ho capito bene il concetto.

Volevo chiederti un'altra cosa, come fai ad allineare i prezzi a dx?
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 29 Settembre 2009, 00:11:44
Non ho capito la domanda su l'allineamento dei prezzi.
Allineamento rispetto a cosa...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 09:48:46
Si scusa, non mi sono spiegato per niente..
Ho letto i tuoi post dell'anno scorso qui (http://www.gambas-it.org/gmbs/modules/newbb/viewtopic.php?topic_id=81&viewmode=flat&order=ASC&type=&mode=0&start=30), grazie a questo ho cominciato a capirci qualcosa con le stampe :-D
E ho visto che hai avuto anche tu la problematica di allineare, nelle stampe, a destra un campo con decimali (prezzo).
Hai scritto questo:
Codice: [Seleziona]

FOR EACH xResult
  Draw.Text(codice, x, y)
  codice = xResult!cdart
  Draw.Text(articolo, x + xinc1, y)
  articolo = xResult!descrizione
  Draw.Text(prezzo, x + 3000, y, Align.Right)
  prezzo = Format(xResult!prezzo2, "#0.00")
NEXT


poi avete parlato di "rettangolo testuale" ma non ho capito cosa sia..
Avresti un esempietto? Grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 14:42:34
@fsurfing
Ho scritto:
Citazione

Stampare in un file di testo mi sembra di tornare indietro di 15 anni.


fsurfing ha scritto:
Citazione

la stampa tramite file di testo che hai trovato in meteomachine non fa testo(scusa il gioco di parole)era un esperimento veloce che poi non ho portato avanti, si potrebbe migliorare utilizzando un diverso tipo di file come opendocument o pdf o altro


Guarda che non volevo denigrare il tuo lavoro! :roll:
Avevo capito che il file poteva servire a qualcos'altro, infatti non è diretto in stampa...io ti considero tra i più tosti quà.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 29 Settembre 2009, 15:05:24
Con le qt l'aggiornamento del nastro non funziona.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 18:08:22
No? ma cambia così tanto con le qt?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 18:10:05
@md9327
Quando vuoi se hai tempo, riprendiamo il discorso csv?
Grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 29 Settembre 2009, 18:11:16
Pare di si...ma allora alla fine opti per le qt o stai cercando di usare il sistema disegno/stampa?

Io personalmente ho provato ad abilitare solo le qt e a sostituire il nastro con un textedito invece di una textarea...con la textarea lo scorrimento funziona perfettamente con la textedit no...

Quindi il problema è irrilevante poichè se lascio se la calcolatrice così com'è va che è un amore!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 18:18:30
Ho deciso che vado avanti con le qt
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 29 Settembre 2009, 18:32:04
Ok...vedo se riesco a risolvere il problema del textedit altrimenti la calcolatrice rimane così...va bene?

EDIT: Purtroppo abbiamo un problema con le qt....il nastro nno si aggiorna con nessun componente..pare che la proprietà EnsureVisible non funzioni con le qt...bisogna segnalarlo a Benoit...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 18:46:53
che peccato..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Settembre 2009, 19:44:47
per allineare un testo hai due possibilità

1: utilizzi la proprietà allineamento nel comando draw.text indicando però la dimensione del rettangolo in cui vuoi scrivere il testo

2: nella funzione draw.text indichi il punto di disegno dell' asse x considerando la dimensione del testo che vai a stampare che ricavi con draw.textwidth(testo)

comunque se vuoi ti scrivo un po di codice se mi fai uno schizzo di cosa vuoi ottenere
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 22:14:09
Grazie fsurfing. Sai ho scoperto che è molto bello impostare le stampe :-)
Questo è quello che ho fatto, non so come allineare i prezzi però
Codice: [Seleziona]

PUBLIC SUB btnstampa_Click()
  DIM sql AS String
  DIM x AS Integer
  DIM xquant AS Integer
  DIM xcod AS Integer
  DIM xprez AS Integer
  DIM xdescr AS Integer
  DIM y AS Integer
  DIM valorepag AS Integer
  DIM valoreymax AS Integer
  DIM valoreynewpage AS Integer
  valorepag = 1
  valoreymax = 6800
  valoreynewpage = 200
 
          sql = "select * from dettagli WHERE idpreventivo  LIKE '%" & tbidpreventivo.Text & "%'" " "
          sql = sql & "order by iddettaglio"            
  MyRS = MODMain.$conn.Exec(sql)

 'IF Printer.Setup() THEN RETURN  'fai apparire il modulo di  conf. stampante    
  Printer.Name = "PDF" ' nome stampante imposto PDF per comodità
Draw.Begin(Printer) ' Initializes the draw
draw.LineWidth = 1
Draw.Foreground = color.Black
Draw.Background = color.White  
PNTintestazione.stintestazione ' richiamo funzione intestazione
'''''''''''''''''
Draw.LineWidth = 10 '-- spessore
Draw.Line(100, 1000, 100, 6800) '-- coordinate di inizio e fine espresse nella coppia X,Y

draw.Font.Bold = TRUE ' grassetto
draw.Font.Italic = FALSE ' italico
draw.Font.size = 7 ' dimensione
draw.text("Pag. " & valorepag, 4400, 6850) ' scrivo il n° prima pagina
draw.Font.size = 10 ' dimensione
x = 100
y = 1000
xquant = 100
xcod = 250
xdescr = 900
xprez = 4000
          IF MyRS.Available = TRUE THEN    
          FOR EACH MyRS
           draw.text(MyRS!quantita, xquant, y)
          draw.text(MyRS!codice, xcod, y)
          draw.text(MyRS!descrizione, xdescr, y)
          draw.text(MyRS!prezzo, xprez, y) ' quà non so come incolonnare il prezzo a dx          
           y = y + 150
            IF y > valoreymax THEN
             printer.newpage()
             Y = valoreynewpage
             valorepag = valorepag + 1
             draw.Font.size = 7 ' dimensione
             draw.text("Pag. " & valorepag, 4400, 6850) ' scrivo il n° pagine successive
             draw.Font.size = 15 ' dimensione
            ENDIF
          NEXT
          ENDIF

''''''''''
Draw.end
''questo comando è provvisorio
WAIT 2 ' aspetto 2 secondi per poi aprire il pdf
SHELL "evince " & User.Home & "/PDF/_stdin_.pdf" 'apro il pdf (non sò perchè lo chiama _stdin_.pdf ???) è provvisorio
 

END
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 22:25:50
Dimenticavo, come posso impostare il carattere, es. "serif" ?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Settembre 2009, 22:37:08
draw.font.name mi pare di ricordare
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Settembre 2009, 22:43:05
per il prezzo fai così

mi pare di capire che la colonna dei prezzi inizi a 4000 pixel

io ipotizzo che finisca a 5000 tu correggi di conseguenza


Codice: [Seleziona]
draw.text(MyRS!prezzo, xprez+1000-draw.textwidth(MyRS!prezzo), y) '   


logicamente tutti i prezzi dovranno essere formattati allo stesso modo ad esempio tutti con due decimali
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 29 Settembre 2009, 22:54:20
Citazione

Golia ha scritto:
Codice: [Seleziona]

x = 100
y = 1000
xquant = 100
xcod = 250
xdescr = 900
xprez = 4000
          IF MyRS.Available = TRUE THEN    
          FOR EACH MyRS
           draw.text(MyRS!quantita, xquant, y)
          draw.text(MyRS!codice, xcod, y)
          draw.text(MyRS!descrizione, xdescr, y)
          draw.text(MyRS!prezzo, xprez, y, x2, y2, Align.TopRight) ' dovrebbe essere così          


Dichiara x2 e y2 Integer, assegna a x2 un valore (per esempio 80) e fai delle prove.
Sto andando a memoria, non ho il mio pc con Gambas sottomano, spero di non darti informazioni errate. Se non mi ricordo male nella mia discussione da dove hai preso spunto per le stampe Leo mi diede la sintassi esatta per l'allineamento, rileggi la discussione dovresti trovare l'informazione che ti serve.

Per il carattere : Draw.Font.Name = "Serif"

Scusami per eventuali inesattezze.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 23:10:37
Vi ringrazio tutti e due, già messo in pratica  :-)
Un'altra domanda, se il mio testo è più lungo dello spazio destinato:
é giusto fare così: se draw.textwidth > valore ...e poi ? come faccio a spaccare il testo in 2 ? e dirgli quanto lungo il primo pezzo? spero di essermi spiegato
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Settembre 2009, 23:23:25
Citazione
é giusto fare così: se draw.textwidth > valore ...e poi ? come faccio a spaccare il testo in 2 ?


detta così son c...i amari , io a suo tempo avevo risolto memorizzando già nel db solo stringhe con un numero di caratteri che potessoro essere stampati nel posto assegnatoli.

se non puoi fare altrettanto dovrai crearti una routine che spezza la frase in considerazione del numero di caratteri o della dimensione di stampa e degli spazi in modo di andare a capo solo a fine parola (auguri)

in qualche post di questo forum tempo fa scrissi una rootine del genere  ma valla a trovare!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Settembre 2009, 23:39:44
ho capito devo vedere quanti caratteri ci stanno, avevo fatto una funzione del genere con access mi sembra ci voglia LEN LEFT etcc. Grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 29 Settembre 2009, 23:59:08
Citazione
fsurfing ha scritto:
.....in qualche post di questo forum tempo fa scrissi una rootine del genere ma valla a trovare!


Forse intendevi questo:
http://www.gambas-it.org/gmbs/modules/newbb/viewtopic.php?topic_id=649&viewmode=flat&order=ASC&type=&mode=0&start=0
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 30 Settembre 2009, 16:26:36
Faccio notare che esiste una libreria per Gambas "PdfWriter", che mi pare sia nei download, per poter stampare in PDF.
Tra le funzioni, c'è anche la possibilità di dividere righe di testo troppo lunghe.

Se non c'è nei downloads, fammelo sapere, ti invio il link.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Settembre 2009, 16:34:50
si c'è grazie, l'ho già scaricata è che come la funzione csv che mi hai fatto non riesco a capire come applicarla. Se ti va di complicarti un pò la vita possiamo approfondire :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 30 Settembre 2009, 16:45:13
Perfetto!

Se l'hai scaricata, e visto che è il porting di una famosa libreria PHP, ti consiglierei di fare un giro sul sito:

http://www.fpdf.org/

Lì trovi documentazione ed esempi, facilmente convertibili in Gambas.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Settembre 2009, 18:39:29
ok grazie mille, studio poi ti faccio sapere
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Settembre 2009, 18:45:48
Premetto che non ho ancora provato e ho solo dato un'occhiata al tutorial, usando "PdfWriter" non sono necessarie le QT o sbaglio?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Settembre 2009, 20:07:45
@tornu
Grazie dell'esempio (non ti avevo letto prima :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 01 Ottobre 2009, 00:37:34
@md9327
Ho guardato bene il sito FPDF, mi sono concentrato nel tutorial "Esempio Minimo", ho provato applicarlo in gambas, anche cercando di capire guardando il tuo "PdfWriter". Ho provato a fare un esempio, mi sono caricato la classe Pdfwriter, ho attivato il componente gb.pdf, e ho cercato di tradurre "l'esempio minimo", senza risultati..
Per favore mi fai andare questo esempio?
Codice: [Seleziona]

PUBLIC SUB Button1_Click()

  DIM pdf AS PdfWriter
 
pdf = NEW PdfWriter("P", "mm", "A4")  
pdf.AddPage()
pdf.SetFont("Arial", "B", "16")
pdf.Cell(40, 10, "Hello World!")
pdf.Output(Application.Path &/ "prova.pdf", FALSE)

CATCH
  Message.Error(Error.Text & "\n" & Error.Where)
END


L'esempio tuo Pdfwriter, non mi va, non sò dove posso aver sbagliato qualcosa, mi esce questo:
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 01 Ottobre 2009, 02:11:16
La libreria PdfWriter non ha bisogno di quella Gambas gb.pdf, perchè il file lo scrive e non lo legge.
Per prima cosa ti porti PdfWriter all'interno del tuo progetto.
Dato che la classe è dichiarata PRIVATE, devi necessariamente crearne una tua derivata da PdfWriter, scrivendo la seguente istruzione all'inizio del file della tua classe:
Codice: [Seleziona]

INHERITS PdfWriter


Al suo interno PdfWriter ha tutte le funzionalità per scrivere pagine pdf, ma chiama due metodi, che devono essere presenti nella tua classe derivata:
Codice: [Seleziona]

PUBLIC FUNCTION Footer()
 ...
END

PUBLIC SUB Header()
 ...
END

Questi due metodi ti permettono di scrivere sulla pagina corrente, ovvero:

Footer: ti permette di scrivere sul fondo pagina, come ad esempio il numero della pagina corrente;

Header: ti permette di scrivere sulla testata della pagina.

I metodi vengono chiamati ad ogni nuova pagina, ma puoi anche evitare di utilizzarle.

In linea di principio, l'uso di PdfWriter prevede:

1) creazione del documento, con le impostazioni di formato pagina (Landscape o Portrait), unità di misura (es mm=millimetri), dimensione della pagina (es. A4).
2) impostazione di alcune informazioni facoltative, ad es.: autore, creatore, soggetto, titolo, ecc.
3) apertura del documento (Open)
4) impostazione del numero di pagine totale (AliasNbPages)
5) scrittura della testata (Header)
6) gestione delle pagine (AddPage, Bookmark), del colore (SetTextColor) e del font (SetFont)
7) scrittura del contenuto, ad es.:
   - una serie di celle contenenti testo
   - testo libero in vari formati, font, colori, e posizione
   - immagini
   - varie combinazioni

Implementando opportunamente la tua classe, puoi aggiungere ulteriori funzionalità, come ad esempio la lettura di un file o una tabella da un database, riportando i dati in formato colonnare sul documento pdf.
Io personalmente lo uso per creare dei report da un database, e per formattare le pagine di fatture.

Quindi, ritornando al tuo codice, la prima cosa da fare è quella di creare una nuova classe derivata da PdfWriter, dopodiche il resto del tuo esempio credo possa andare, ma poi lo vedrai nel risultato finale.
Solo una nota: prima di scrivere nel documento, è necessario prima aprirlo con Open(); quindi, prima di AddPage, è necessario aggiungere un bel:
Codice: [Seleziona]

pdf.Open()

altrimenti PdfWriter resta bloccato in uno stato inattivo...
Diciamo che questa è una prassi generale nella programmazione...

La funzione di chiusura viene eseguita automaticamente dal metodo Output().

Più avanti ti indicherò qualche altra dritta per gestire, ad esempio la stampa del numero di pagina a fondo, o del totale pagine...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 01 Ottobre 2009, 17:49:23
@md9327
Ciao, grazie prima di tutto
Devo assolutamente impararmi questa classe!! :-D
Mi ero appena imparato l'oggetto printer, ma questa mi pare vada ben oltre.. inoltre mi arrichisco il mio piccolo bagaglio.:-D

Non ho ancora potuto provare, da come ho capito creando una classe con scritto all'inizio "INHERITS PdfWriter" diventerebbe una "sottoclasse" (si dice così?) di PdfWrtiter.
Questa "sottoclasse" va fatta per ogni tipo di stampa? Esempio se ho Una stampa "fatture" e una "bolle di accompagnamento" devo crearne 2?

Comunque intanto mi guardo bene il tuo esempio (che però non mi funziona) che ho visto ha una sottoclasse chiamata "provaPDF" mi sembra..

Stasera studio grazie

Hei non mi mollare!! ;-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 01 Ottobre 2009, 22:43:16
:evviva:  non ci credo!! ce l'ho fatta!!
Md9327 devo pagarti da bere :2birre: mi sembra di aver vinto alla lotteria :-)

Stupendo!! ho già capito varie funzioni, un volta capito il meccanismo non è difficile

Naturalmente resta qualche domanda...

Ho capito come spostarmi in basso, cosi:
ME.Ln() ' riga successiva
ME.Ln(20) ' piu in giu di 20 (mm?)
ma come faccio a impostare la partenza a sx, X ?

intanto mi fermo quà, stasera sono troppo contento, mi riguardo le mie stampe, se le mostro a qualcuno mi dice che sono scemo, ma per me sono troppo belle :-D

Ti ringrazio tantissimo
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 02 Ottobre 2009, 10:45:06
No, non ti mollo... :-)

Sì, hai capito bene.
In Gambas, come anche in altri linguaggi (consiglio: leggiti il wiki) puoi, anzi è buona cosa, crearti classi personalizzate, derivate da altre classi.

Ti faccio un esempio...

In Gambas esiste una classe Panel, e questa la puoi instanziare, aggiungendola ad una tua Form, e dandogli un nome preciso. Gambas, non fà altro che creare un nuovo oggetto di tipo Panel in memoria, che è una copia esatta di quello presente nella sua libreria.
Però questo oggetto è solo una copia, e contiene solo ed esclusivamente le proprietà dell'oggetto Panel.
Se tu desideri personalizzare questa copia di Panel, non fai altro che crearti una classe, derivata da Panel, e aggiungendo le carattersitiche che desideri, proprietà e metodi (semplicemente: variabili e funzioni).
Considera che le classi contenute nelle librerie di Gambas, non sono altro che dei template (delle basi), per costruire oggetti reali.
PdfWriter è un template, e questo lo definisce l'istruzione ad inizio classe:
Codice: [Seleziona]

CREATE PRIVATE

Questa istruzione permette di definire la classe, ma non ne permette l'utilizzo diretto. Per utilizzarla, è necessario creare una sottoclasse.
La creazione di questa sottoclasse ti permette, inoltre, di aggiungere ulteriori proprietà, cosa alquanto auspicabile, visto che la classe in sè stessa non fà assolutamente nulla, e per "nulla" intendo la necessità di passargli parametri e chiamare le sue proprietà e metodi, per raggiungere i tuoi scopi.

Riguardo alla classe Printer, e in genere la maggioranza degli oggetti contenuti nelle librerie di Gambas, definiscono oggetti generici, che necessitano di essere implementati in codice intelligente, ovvero, integrate in meccanismi più complessi.
Per esempio, la classe statica Draw, ti permette di disegnare piò o meno su qualsiasi cosa (printer, drawingarea, picture, ecc.), ma è necessario costruire codice idoneo ai tuoi scopi, chiamando opportunamente le proprietà di Draw.

Spero di aver chiarito i concetti di base...

Ad ogni modo, nel wiki, ho scritto qualcosina in merito, e ti consiglio di dargli una letta più approfondita...

Ciao
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 02 Ottobre 2009, 10:47:46
Perdonami, ho letto la tua risposta in ritardo...

Se non ricordo male, esistono due metodi per impostare la posizione nel documento: PosX e PosY (posso sbagliare i nomi...).

Ricordati che puoi disegnare la pagina come desideri, ma quando salti alla successiva non puoi più modificarla.

P.S.: Io preferisco la birra scura!!! :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 02 Ottobre 2009, 11:33:02
Grazie, vedo di studiarmi bene il wiki adesso che comincio a capire.
Adesso mi dedico alle stampe, ritorniamo al discorso del csv un pò più avanti?
Grazie di tutto

P.s. Io preferisco la bionda, però mi piacciono molto le "more"  ;-) :2birre:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 03 Ottobre 2009, 01:34:52
...non faccio distinzioni di colore... semmai di misure... :-)

Per il csv, avevo inviato un file con due nuove classi, ma stò ancora aspettando che qualcuno (in paricolare leo) me lo convalidi e lo pubblichi dei download.

Diciamo che sono due oggetti che leggono e scrivono file csv, con qualche bel parametrino a corredo... e funzionano...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 03 Ottobre 2009, 10:58:12
Ciao, ho quasi il controllo di PdfWriter :-D ..quasi

Ho capito come impostare la pagina, inserire celle con bordo e non, pagina di pagine etcc.
Sto provando un esempio tipo fattura, nel corpo faccio questo

cell (.... Quantità...)
cell (.... codice...)
cell (.... Descrizione...)
cell (.... prezzo...)
ln()

risultato:
1  ba  banane  10
4  me  mele    30
6  pe  pere    15

e fin quì tutto ok mi viene una bella griglia con 4 colonne e ad ogni riga ho il mio record.
Però il testo descrizione potrebbe essere più lungo della cella.
Allora ho provato "multicell" e funziona, va a capo e scrive tante righe quante ne ha bisogno il testo.
Però ho visto che mi ritorna a capo creando un'altra riga e non capisco il perchè. es.

cell (.... Quantità...)
cell (.... codice...)
multicell (.... Descrizione...)
cell (.... prezzo...)
ln()

risultato:
1  ba  
banane  
10
4  me  
mele    
30
6  pe  
pere    
15
Ho saltato qualche impostazione oppure va usato un'altro sistema?
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 03 Ottobre 2009, 14:56:07
Potresti impostare una lunghezza massima per la descrizione in modo che non vada fuori range....la mia è solo un'idea...non mi intendo di fatture...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 03 Ottobre 2009, 16:51:00
@ Ceskho
Si è giusto, era quello che stavo facendo con l'oggetto printer prima che MD9327 mi insegnasse PdfWriter, questa classe ha molte funzioni, credo anche quella di andare a capo come volevo fare io.

Mi piacerebbe che sulla calcolatrice che mi hai fatto ci fosse un tuo riferimento sul form, oltre che quello che c'è già nella classe naturalmente.

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 03 Ottobre 2009, 18:31:58
In che senso? Che riferimento?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 03 Ottobre 2009, 18:37:51
Il tuo nome, email..  autore
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 03 Ottobre 2009, 18:45:05
Ah...no non preoccuparti...mi basta che ci siano scritte nel codice queste cose....non è importante che appaia il mio nome..poi al massimo puoi creare il tipico form "About" dover scrivi di te, dei ringraziamenti e et simila e mi citi lì.....

Ma tanto non è fondamentale come cosa...l'importante è che il mio lavoro funzioni.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 03 Ottobre 2009, 22:20:23
Il form lo preparerò sicuramente, ho pensato di scopiazzarlo da meteomachine
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 03 Ottobre 2009, 23:38:01
Citazione
Il form lo preparerò sicuramente, ho pensato di scopiazzarlo da meteomachine



ehi ehi come osi fare cio?!!!!!!!!!!!

Naturalmente scherzo  :-)

anzi fa piacere che un programma di cui sono coautore, ultimamente sia usato spesso come "contenitore di esempi"

 :-P
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 03 Ottobre 2009, 23:47:36
Già, una valanga di idee e informazioni. Naturalmente copio dai migliori :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 04 Ottobre 2009, 00:00:21
Ceskho ha scritto:
Citazione

Potresti impostare una lunghezza massima per la descrizione in modo che non vada fuori range....la mia è solo un'idea...

Questo lo avevo pensato solo con l'oggetto printer, dopo qualche ora che avevo letto il tuo post, mi hai illuminato :idea:
Si può fare la stessa cosa, non so se la procedura è giusta però funziona
Ecco quà

Controllo con ME.GetStringWidth(mio testo) la lunghezza del testo, se è più lunga dello spazio alla fine della scrittura della riga raddoppio lo spostamento Y, se è più lunga del doppio la triplico...
Inoltre mi posiziono con ME.SetXY ad ogni cell o multicell.

Pdfprinter è fantastico!! Consiglio a chi usa le stampe di provarlo, ci si fà di tutto, ho visto che stampa anche i codici a barre

Ringrazio MD9327 per averci fatto una classe così potente
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 05 Ottobre 2009, 09:56:37
Ti ringrazio, ma il merito non è mio, ma della persona che lo ha scritto per PHP. Io ho solo fatto il porting in Gambas...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 06 Ottobre 2009, 22:49:04
Il merito è tuo se possiamo usarlo noi :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 06 Ottobre 2009, 22:57:53
Ho un altro problemino: :-)
Ho fatto due funzioni che mi permettono di scorrere tra le righe di una gridview.
Ho fatto due pulsanti, e funziona benissimo.
Però volevo anche usare i tasti "up" e "down", allora ho fato questo
Codice: [Seleziona]

        IF key.code = Key.Up THEN    
         btup_Click        
         STOP EVENT      
        ENDIF
        IF key.code = Key.Down THEN
         btdown_Click          
         STOP EVENT
        ENDIF

Praticamente richiama la funzione fatta dai bottoni.
Questo funziona, però solo finche non vado a cliccare una combobox che ho nel form, fatto ciò up e down da tastiera non funzionano più, se premo i bottoni del form funziona lo spostamento e anche si riattivano i pulsanti da tastiera. Credo che si dica "ho perso il focus" :oops:  Giusto?
@ Ceskho
So che hai avuto un problema del genere per la calcolatrice, ho guardato ma non ho capito tanto..anzi niente :-)
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 07 Ottobre 2009, 00:48:26
Ti spiego subito: in pratica quando tu premi i tasti da tastiera essi valgono nella sub in cui gli vai ad inserire. DAl tuo problema deduco che tu abbia usato Form_keypress giusto?

Quando vai a cliccare un altro qualsiasi elemento del form stesso (o anche al di fuori) il form perde il cosiddetto focus, ovvero la facoltà di essere in evidenza.

Io avevo lo stesso problema con la calcolatrice solo che quando andavo a dire di dare il focus al form (FMain.setfocus) non funzionava. Io ho risolto dando il focus ad un tasto qualsiasi. Provaci anche tu.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 07 Ottobre 2009, 21:00:17
Grazie, funziona!!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 07 Ottobre 2009, 22:21:23
Altra domandina sempre nella gridview
Quando seleziono una riga col mouse, la riga si evidenzia e diventa arancione. Se mi sposto con i tasti up e down cambiando riga, resta evidenziata la riga che avevo cliccato in precedenza. Come posso cambiare l'evidenziatore?, oppure disattivarlo?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 08 Ottobre 2009, 10:26:46
Nella GridView esiste una proprietà Mode che ti permette di:

- non selezionare nulla
- selezionare una riga per volta
- selezionare più righe contemporaneamente

La prima può servire per esporre una grid non interattiva, ma solo per presentazione dati.
La seconda è utile per gestire i record singolarmente.
La terza per selezionare più righe, ad esempio per poi utilizzarle come lista di selezione per funzioni a valle.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 08 Ottobre 2009, 18:40:09
Ti ringrazio, stasera provo, ho anche trovato questo, scritto da fsurfing
Codice: [Seleziona]

GridView1.Mode=select.single
'oppure
gridview1.mode=select.none
'oppure
gridview1.mode=select.multiple

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 08 Ottobre 2009, 23:46:09
Risolto, ho fatto così.
Ho disattivato mode, gridview1.mode=select.none
Poi ad ogni mio spostamento nella grid coloro la riga interessata di azzurro così
Codice: [Seleziona]

GridView1[myrow, 1].Background = &H7FFFFF&
GridView1[myrow, 2].Background = &H7FFFFF&
....

Risultato ottimo :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 09 Ottobre 2009, 00:49:22
Bravo....come vedi ti sei appena dimostrato che la mente umana può fare tante cose con pochissimi strumenti a disposizione. Alla faccia di chi dice che il programmatore non è più importante del linguaggio su cui lavora!!!

Bravissimo...;-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 09 Ottobre 2009, 09:07:43
Grazie, gentilissimo :cappello:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 09 Ottobre 2009, 12:09:12
Citazione

 GridView1[myrow, 1].Background = &H7FFFFF&
 GridView1[myrow, 2].Background = &H7FFFFF& ....


ricordo a tutti che gambas offre l' opportunità di selezionare un colore (circa una trentina mi pare)tramite delle costanti , ad esempio il bianco è

color.wite

il nero: color.black
blu chiaro: color.lightblue
blu scuro: color.darkblue
blu: color.blue

ecc ecc

personalmente io lo trovo molto più comodo se non si deve ricercare una particolare tonalita di colore
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 09 Ottobre 2009, 16:12:53
Si è molto più comodo, grazie non lo sapevo
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 10 Ottobre 2009, 00:09:04
Ciao, volevo fare un combobox autocompletante.
Cioè quando comincio a scrivere mi ricerca e mi completa la parola che ho in lista.
Riempio il combobox cosi:
Codice: [Seleziona]

   MyRS = MODMain.$conn.Exec("select * from fornitori order by fornitore")                  
   IF MyRS.Available = TRUE THEN
         tbfornitore.clear
       MyRS.movefirst
     FOR i2 = 0 TO Myrs.count - 1
         tbfornitore.add(MyRS!fornitore, i2)
         MyRS.movenext
      NEXT
   ENDIF

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Ottobre 2009, 01:22:48
Ho fatto qualcosa riguardo la combobox autocompletante.
Intanto non ci vuole una combobox ma un testbox.
Ecco questo è il codice che ho fatto fino adesso, funziona abbastanza bene.

Codice: [Seleziona]

PUBLIC SUB tbauto_Change()
DIM sql AS String
DIM p AS Integer
DIM myfiltro AS String
DIM risu AS String
DIM lungrisu AS Integer
p = tbauto.Pos
 IF p > 0 THEN
  myfiltro = Left$(tbauto.Text, p)
  sql = "select * from clienti WHERE "
  sql = sql & "cognome  LIKE '%" & myfiltro & "%'" "  "
  sql = sql & "order by cognome"            
  MyRS = MODMain.$conn.Exec(sql)                    
      IF MyRS.Available = TRUE THEN
        MyRS.movefirst
        risu = MyRS!cognome
        lungrisu = Len(risu)
        tbauto.Text = myfiltro & Right$(risu, (lungrisu - p))
        tbauto.Pos = p
        ELSE
        tbauto.Text = myfiltro
        tbauto.Pos = p
      ENDIF
  ENDIF
END


Ha questo problema:
Se cerco un cognome es. Rossi, digitanto "r" prima di darmi Rossi mi trova altri cognome con la lettera "r" che non è per forza la prima lettera, esempio "baraldi" dandomi questo risultato quà "raraldi"
Avete qualche idea di come risolvere questo errore?
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 23 Ottobre 2009, 12:36:30
togli il segno % davanti a myfiltro.


come hai scritto tu cerca il valore di myfiltro con qualsiasi cosa ci sia davanti o dietro
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Ottobre 2009, 13:51:45
Grazie Fsurfing, sono proprio un testone :oops:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Ottobre 2009, 18:24:57
Ciao, volevo chiedere se qualcuno ha tempo per farmi le maschere per i ringraziamenti, licenza etcc. Volevo copiarla da meteomachine ma mi sembra che non vada tanto bene..  :nono: Inoltre non so come funzionano le licenze e quindi non so cosa scrivere.
Ah, ricordo che il programma sarà libero a tutti.
Con il programma sono a buon punto, mi sembra sempre di avere quasi finito, ma poi mi accorgo che manca qualcosa o di fare qualche miglioria.
Mi manca anche l'importazione da file csv, ma farò in un secondo tempo, ho deciso di rimandare un pochino. (md9327 ti stresserò la vita più avanti ;-)
Spero di farcela nel giro di un mesetto..purtroppo posso lavorarci solo la sera.
Intanto vi ringrazio ancora perchè senza di voi non sarei neanche all'inizio :2birre:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Ottobre 2009, 18:41:44
Puoi copiare da meteomachine non preoccuparti..figurati se è un problema copiare i ringraziamenti su un programma in GPL3...:_)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Ottobre 2009, 18:46:48
E quanto riguarda l'uso della licenza è uguale?
Adesso non ho meteomachine sottomano, ma ho letto che c'è una copia depositata ..non ricordo dove. Fammi capire
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 23 Ottobre 2009, 18:57:45
La licenza di meteomachine è la GPL versione 3 basta fare riferimento a quella..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 23 Ottobre 2009, 21:16:30
ok grazie, io copio :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Ottobre 2009, 00:23:14
[OT] Ochio! In caso ti becca la maestra [/OT]

Beh come prosegue il progetto allora? Cosa manca? Cosa hai intenzione di implementare? Quanto tempo pensi che passerà prima del rilascio? Che si mangia domani? Dov'è il santo Graal?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Ottobre 2009, 00:30:09
So risponderti solo alle ultime 2 domande, sai io sono un mago non un programmatore  :-)
 Diciamo che stasera sto dando una bella botta :-D
Mi mancano tutte le stampe che però so già come fare grazie alla classe di md.
Sto modificando i form della licenza di meteomachine, mi puoi spiegare questo punto?
Citazione
Una copia della licenza GNU General Public License è disponibile con MeteoMachine Linux; se così non fosse, scrivere alla Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Ottobre 2009, 01:28:30
@Ceskho
Stasera sono in vena, mi è saltata per la testa la radice quadrata √ , e l'ho inserita nella tua calcolatrice
Codice: [Seleziona]

PUBLIC SUB radquad_Click()
  '-- aggiorna il nastro
  ''simbolo tasto √;
  tNastro.Text &= tVal.Text & " √" & gb.NewLine
    tVal.Text = Sqr(Val(tVal.Text))    
  tNastro.Text &= tVal.Text & gb.NewLine
  tNastro.EnsureVisible()
  ugu.SetFocus
  operazione = ""
  virgola = FALSE
  other = FALSE
END




edit:
il simbolo è questo √, non so come mai quà vengono fuori quei numeri
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Ottobre 2009, 11:13:21
Scusa non ho capito il problema...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Ottobre 2009, 13:11:12
no, nessun problema, ho solo aggiunto la radice quadrata alla calcolatrice, era se volevi aggiungerla anche alla tua
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Ottobre 2009, 13:55:00
.. forse ti riferivi a questo
Citazione
edit: il simbolo è questo √, non so come mai quà vengono fuori quei numeri

E solo che ho fatto più fatica a trovare il simbolo che la funzione, e una volta scritta nel post il simbolo si è trasformato in numeri :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 24 Ottobre 2009, 14:45:06
Ah..perdonami..avevo interpretato il tuo posto come una richiesta...

certo che la implementerò...veramente avevo proprio intenzione di espanderla un sacco ma per ora non ho proprio moto tempo. Ti ringrazio per avermi agevolato il lavoro...:-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Ottobre 2009, 16:15:59
Ciao, ho il seguente problema:

in una rubrica ho messo un testo di ricerca che cerca su Cognome Nome e Citta.
Eccola quà
Codice: [Seleziona]

           sql = "select * from clienti WHERE "
           sql = sql & "cognome  LIKE '%" & tbricerca.Text & "%'" "  "
           sql = sql & "OR nome LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "OR citta LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "order by cognome"

e funziona.

Però adesso ho bisogno di filtrare anche per categoria.
Categoria può essere 1 o 2.

Dopo varie prove ho visto che funziona solo se tolgo dalla ricerca nome e citta,
cioè così
Codice: [Seleziona]

           sql = "select * from clienti WHERE "
           sql = sql & "cognome LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "AND categoria = 1 "
           sql = sql & "order by cognome"

Dove sbaglio? mi servirebbe la ricerca su tutti e 3 i campi.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 26 Ottobre 2009, 16:50:12
Prova con
Codice: [Seleziona]

sql = "select * from clienti WHERE "
           sql = sql & "cognome LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "AND categoria = 1 "
           sql = sql & "OR categoria = 2 "
           sql = sql & "order by cognome "
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 26 Ottobre 2009, 23:40:52
no, cosi non va. dovrei fare così
Codice: [Seleziona]

sql = "select * from clienti WHERE "
           sql = sql & "cognome  LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "OR nome LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "OR citta LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "AND categoria = 1 "
           sql = sql & "order by cognome"

ma comunque non va....
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 26 Ottobre 2009, 23:54:53
devi cercare di fare degli or di vari and
non saprei scriverlo in sql ma matematicamente sarebbe così:


(cognome and categoria)or (nome and categoria) or (città and categoria)


a te metterlo in sintassi sql

poi posta il risultato
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 27 Ottobre 2009, 00:40:30
@ fsurfing

Neanche come dici tu è corrette poichè per ogni AND dovrebbe confrontare le OR delle due categorie....sarebbe a dire

[cognome AND (categoria1 OR categoria2)] OR [nome AND categoria1 OR categoria2] OR [città AND (categoria1 OR categoria2)]
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 27 Ottobre 2009, 00:43:10
se non ho capito male le categorie possibili sono 2  o 1 o 2 quindi la variabile e una sola, percui è corretto come ho scritto..del resto IO ho sempre ragione  :-P
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 27 Ottobre 2009, 02:39:52
Citazione

Golia ha scritto:
Codice: [Seleziona]

           sql = "select * from clienti WHERE "
           sql = sql & "cognome  LIKE '%" & tbricerca.Text & "%'" "  "
           sql = sql & "OR nome LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "OR citta LIKE '%" & tbricerca.Text & "%' "
           sql = sql & "order by cognome"


La sintassi che hai usato e formalmente corretta, quindi se aggiungi la ricerca per categoria deve funzionare.
Codice: [Seleziona]

sql = "SELECT * FROM clienti"
sql &= " WHERE cognome  LIKE '%" & tbricerca.Text & "%'"    
sql &= " OR nome LIKE '%" & tbricerca.Text & "%'"            
sql &= " OR citta LIKE '%" & tbricerca.Text & "%'"            
sql &= " AND categoria = 1"
sql &= " ORDER BY cognome"


In caso contrario prova la query direttamente sul DB, così puoi capire se il problema dipende da qualche errore di codice in Gambas o da qualche problema/impostazione sul DB.

Un altro consiglio: verifica con il debug di Gambas.
Se non risolvi posta eventuali messaggi di errore..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 27 Ottobre 2009, 15:33:47
Citazione

fsurfing ha scritto:
se non ho capito male le categorie possibili sono 2  o 1 o 2 quindi la variabile e una sola, percui è corretto come ho scritto..del resto IO ho sempre ragione  :-P


Avevo capito male io....tu ne approfitti perchè io non sono italiano ed ho problemi con la lingua!!!
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Ottobre 2009, 01:04:14
Grazie ragazzi, ho risolto.
Ho seguito il consiglio di tornu, ho smanettato direttamente dal db con mysql browser, provando le più svariate combinazioni. Quella giusta è questa
Codice: [Seleziona]

sql = "SELECT * FROM clienti"
sql &= " WHERE (cognome  LIKE '%" & tbricerca.Text & "%'"    
sql &= " OR nome LIKE '%" & tbricerca.Text & "%'"            
sql &= " OR citta LIKE '%" & tbricerca.Text & "%')"            
sql &= " AND categoria = 1"
sql &= " ORDER BY cognome"


Ho messo le parentisi nelle ricerce con LIKE...funziona

Grazie mille
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Ottobre 2009, 01:08:47
Adesso che guardo i post precedenti penso che fsurfin matematicamente aveva ragione  :-)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 29 Ottobre 2009, 01:00:08
Un'altra cosina che avevo lasciato indietro..
Codice: [Seleziona]

Format(MyRS!prezzo, "######0.00")

Fino adesso ho formattato il campo prezzo così e mi restituisce questo

1550,00

se faccio così
Codice: [Seleziona]

Format(MyRS!prezzo, "####,##0.00")


1 550,00

se faccio così
Codice: [Seleziona]

Format(MyRS!prezzo, "####.##0,00")


1.550.000,00 ???  :-?

Come si fa a formattare in maniera corretta il campo prezzo, cioè così
1.550,00
Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 29 Ottobre 2009, 13:39:48
penso sia così:

Codice: [Seleziona]


Format(MyRS!prezzo, "#.##0,00")
 
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 30 Ottobre 2009, 00:00:11
Niente da fare
1.550,00 mi restituisce 1.550,000,00
Non ci capisco niente..
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 30 Ottobre 2009, 23:04:02
Qui trovi la soluzione al tuo problema
http://www.gambas-it.org/gmbs/modules/newbb/viewtopic.php?topic_id=28&forum=2&post_id=119#forumpost119
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 31 Ottobre 2009, 00:13:37
Grazie tornu
Format("1550.00", "###,##0.00")
mi restituisce 1 550,00 che non è male
io avrei voluto così 1.550,00
Però può andare bene, grazie ciao
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: tornu - 31 Ottobre 2009, 01:20:11
Come avrai letto nella risposta che mi diede leo a suo tempo, il problema non è di Gambas ma di Ubuntu (non so se tu usi Ubuntu), non ho avuto occasione di provare su altri S.O. per sapere se si presenta lo stesso "problema", magari qualche utente che usa altre distribuzioni potrebbe farci sapere. Comunque il risultato come hai detto tu non è male, a me sinceramente piace la visualizzazione delle cifre separate dallo spazio, sembra più "professionale" (parere personale).
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 31 Ottobre 2009, 01:27:16
Si certo, è questione di abitudine
Va molto bene così, basta farci l'occhio :-D
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 31 Ottobre 2009, 18:50:23
in alternativa puoi utilizzare una funzione fatta ad hoc per le tue esigenze :

Codice: [Seleziona]

PUBLIC SUB formatta(stringa AS String) AS String

DIM p, p1, itemp, itemp1 AS Integer
DIM initstringa AS String

''''sostituzione o aggiunta della virgola

      IF InStr(stringa, ".") <> 0 THEN
          stringa = Replace(stringa, ".", ",")
      ELSE
          stringa = stringa & ",00"
      ENDIF
     
'''''arrotondamento a due decimali
     
     
      p = InStr(stringa, ",")
     
      p1 = Len(stringa) - p
     
      initstringa = Left(stringa, p - 1)
     
      IF p1 = 2 THEN
          stringa = stringa
      ELSE IF p1 <= 1 THEN
          stringa = stringa & "0"
      ELSE IF p1 > 2 THEN
          itemp = CInt(Mid(stringa, p + 1, 2))
          itemp1 = CInt(Mid(stringa, p + 1 + 2, 1))
          IF itemp1 >= 5 THEN
              INC itemp
          ENDIF
          IF itemp = 100 THEN
              stringa = CString(CInt(initstringa) + 1) & ",00"
          ELSE
              stringa = initstringa & "," & CString(itemp)
          ENDIF
      ENDIF
             
''''''''''''aggiunta puntini ogni 1000      

      IF Len(stringa) >= 7 THEN
        stringa = Mid(stringa, 1, (Len(stringa) - 6)) & "." & Right(stringa, 6)
      ENDIF
     
      IF Len(stringa) >= 11 THEN
        stringa = Mid(stringa, 1, (Len(stringa) - 10)) & "." & Right(stringa, 10)
      ENDIF
     
      IF Len(stringa) >= 15 THEN
        stringa = Mid(stringa, 1, (Len(stringa) - 14)) & "." & Right(stringa, 14)
      ENDIF
     
      IF Len(stringa) >= 19 THEN
        stringa = Mid(stringa, 1, (Len(stringa) - 18)) & "." & Right(stringa, 18)
      ENDIF
     
RETURN stringa

END


la funzione puoi lanciarla con

Codice: [Seleziona]

stringa_formattata=formatta(stringa_da_formattare)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 01 Novembre 2009, 23:35:27
:good:
Grazie fsurfing, bella funzione.
L'ho inserita e mi dava un problema quando vado a salvare nel DB.
Spiego: con la tua funzione vado a formattare il risultato del db per inserirlo nel textbox, e quì ok. Quando salvo, vado a leggere il textbox per salvarlo nel db, e qui da errore perchè trova punti e virgola che non ci dovrebbero essere (ho impostato il campo del db così: DECIMAL(10,2) ).

Allora (grazie a te che adesso ho imparato :-) ) ho fatto questa funzione che controlla il prezzo prima di salvarlo e lo formatta in maniera corretta.
Codice: [Seleziona]

PUBLIC SUB trasfvaluta(stringa AS String) AS String
      ''se scrivo l'importo con separatore decimale "." anzichè ","
      IF Left(Right(stringa, (Len(stringa)) - (InStr(stringa, ".")) + 1), 1) = "." THEN
      stringa = Left(stringa, (Len(stringa) - 3)) & "," & Right(stringa, 2)
      ENDIF
      ''tolgo i punti di separatori migliaia
      stringa = Replace(stringa, ".", "")
      ''cambio il separatore decimale da "," a "." per salvarlo in db
      stringa = Replace(stringa, ",", ".")
  RETURN stringa
END


Grazie mille  :2birre:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 02 Novembre 2009, 00:13:09
@ Golia

Non ti bastava semplicemente usare i due Raplace() senza dover usare anche l'IF?
Mi sembra che sia un passaggio di troppo...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 02 Novembre 2009, 00:33:00
no,
Se scrivo 15,05 salta l'if
Se scrivo così 15.05  mi cambia con 15.05

se scrivo 1.550.05 mi cambia con 1550.05, se non faccio l'if mi farebbe 155005

è un pò contorta come funzione, sono sicuro che ci si arriva con più semplicità ...ma io sono fatto ad oc per complicarmi le cose :-)  :lol:
Però funziona
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 14 Novembre 2009, 00:20:25
Ciao, mi manca poco poco per finire. Mi è saltato fuori un problemino..
Gestisco la stampa con PdfWriter, e mi trovo benissimo sinceramente, però ho notato questo problema, non so se sono io che sbaglio a impostare qualcosa (però non saprei cosa?)
L'errore è questo, mi scambia "è" con "à ̈ " esempio scrivo "perchè" mi stampa "perchà ̈ "
Lo fà anche con i seguenti caratteri : è ò  ° ù £
Qualcuno sa dirmi come posso fare per evitare questo errore?
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 14 Novembre 2009, 13:25:16
Prova a leggere las stringa passandola prima ala funzione Conv:

$Stringa = Conv($Stringa, System.Charset, Desktop.Charset)
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 14 Novembre 2009, 20:32:41
Perdonatemi, il problema è vecchio, e io non ho più aggiornato il repository.

Se non vuoi attendere la nuova release (0.0.4) di PdfWrite, puoi inserire la seguente riga, appena dopo la riga [960]:
Codice: [Seleziona]

txt2 = Conv(txt2, "UTF-8", "ISO-8859-1")

La riga [960] contiene una serie di Replace della variabile txt2.

Questa modifica è opzionale, in alternativa puoi usare il consiglio di Ceskho.

A dire il vero, credo di aver omesso di aggiornare il repository, a causa dei dubbi sull'inserimento della funzione di conversione, perchè sarebbe il caso di restare su UTF-8, che sarà lo standard a livello generale.
Gambas2 usa UTF-8 per tutto, ma a volte si scontra con le impostazioni nel sistema, che potrebbero essere diverse, per cui è necessaria una conversione.
Anche gli altri linguaggi si basano di default su UTF-8.
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 15 Novembre 2009, 14:13:13
Vi ringrazio, Ho aggiornato PdfWriter come mi ha suggerito md9327 funziona a meraviglia :-D
Non vedo l'ora di farvi vedere il mio progetto completato, mancano solo poche ore di lavoro.. devo però trovare un pò di tempo.. con la teppa di mio figlio :-) che continua a darmi calci ci ho messo 20 minuti a scrivere questo post.. :-D  Mi farò vivo persto.

@md9327
Per l'importazione dal file csv intanto provvisoriamente ho fatto con una query, certo che devo formattarmi prima per bene il file csv. Mentre con la tua classe ho potuto vedere che tira sù anche i sassi :lol: . Ne riparliamo quando hai tempo tu, ok?

Ciao grazie
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: md9327 - 17 Novembre 2009, 02:37:05
No problem...
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 18 Novembre 2009, 16:19:27
Eccomi!! finalmente vi faccio vedere il mio progetto :amici:  :2birre:
Diciamo che è da testare ma mi sembra già bello funzionante
Nell'allegato ci sono le guide pdf per installare il database, e anche la guida per connettere il database con un'altro pc in locale.

Spero di ricevere vostre critiche,.. anche complimenti  :-D

Citazione

Ricordo che per chi aveva già installato questo progetto, dovrebbe comunque ricaricare il database e cancellare la cartella nascosta .Gestione


Sono molto contento di questo progetto che ho fatto, sopratutto perchè a febbraio quando ho cominciato avevo solo una debole esperienza di access e visualbasic.
Diciamo che il merito è sopratutto del forum, senza non sarei neanche partito.

Ringrazio prima di tutto Leo (che spero mi legga) che mi ha indirizzato a gambas e mysql ma sopratutto a "creato" questo forum.

Non finirò mai di ringraziare

Citazione

CESKHO
FSURFING
MD9327
TORNU
LEO


che mi hanno aiutato tantissimo e che desidero mettere nome cognome e email nei ringraziamenti del mio progetto (se gentilmente mi date i dati franco.cappellaro@gmail.com o qui)

Grazie ancora a tutti
 :amici:  :2birre:  :2birre:  :2birre:  :2birre:  :2birre:  :2birre:

edit:
Ho dimenticato di ringraziare un persona importantissima :hammer:
Mia moglie, che ha portato tanta pazienza questo periodo :coccole:
Titolo: Re: Programma gestionale vendite ordini consegne
Inserito da: Golia - 18 Novembre 2009, 16:24:54
Dimenticavo, il progetto lo metto nell'area download quando completo il form ringraziamenti
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 18 Novembre 2009, 18:08:47
I miei migliori auguri e complimenti...;-)

EDIT: Alcuni suggerimenti:

1) gestire il resize del form
2) l'immagine nel form principale ha la frase tagliata e nasconde la data
3) Nei ringraziamenti il mio nome viene prima di quello di fsurfing...:-D
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 18 Novembre 2009, 23:17:15
Ciao Ceskho grazie per aver guardato il mio progettino.
Da me non copre la data e non viene tagliata l'immagine...è forse una questione di impostazioni video? Mi definisci meglio cosa intendo per gestire il resize del form? :oops:
Ciao grazie
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: fsurfing - 18 Novembre 2009, 23:52:52
è sempre una grande  soddisfazione vedere un progetto che arriva ad una fase di distribuzione :)

complimenti golia!!!!

appena ho tempo do un occhiata al progetto,

grazie per i ringraziamenti!
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: md9327 - 19 Novembre 2009, 01:48:15
A prescindere, ti faccio anche io i miei complimenti.

A prescindere, perchè ho scaricato il tar, ma lo devo ancora aprire ma, ad ogni modo fà piacere che il progetto sia sbocciato, e che i tuoi sforzi abbiano avuto successo, e sono anche felice di aver contribuito un pochino.

Appena riesco a dargli un'occhio, ti faccio sapere le mie impressioni ma, in ongi caso un bravo ci stà tutto... :-)

P.S.: il mio riferimento lo hai, in PdfWriter... bye
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 19 Novembre 2009, 15:41:13
Ti allego la finestra per fati vedere l' "errore" grafico

P.S.

Per resize intendo la gestione degli oggetti in modo che al variare della dimensione del form varino le misure degli oggetti al suo interno..sono stato chiaro cosa intendo?
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 19 Novembre 2009, 18:25:34
Caspita la scritta va fuori di un terzo... come mai tanta diffrenza da un pc all'altro? sul mio è larga un pò meno dell'immagine.

Si ho capito cosa intendi per il resize, ho fatto su qualche form ma non su tutti gli oggetti. Sistemerò, ti ringrazio dell'interessamento. Fammi sapere se vedi altre cose che non vanno
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 19 Novembre 2009, 18:33:28
Se può esserti di aiuto ti posto qualche info in più sul mio sistema:

gambas 2.17 compilato dai sorgenti;
debian sid 5.0 con kernel 2.6.26;
gnome 2.22.3.

Penso sia tutto ciò che c'è da sapere....

Posso darti un consiglio? Quella scritta inglobala nell'immagine così non hai problemi...:-)

P.S. Non chiedermi grazie per il mio interessamento..kla cosa più bella che puoi fare e tenere conto dei nostri commenti...il belo del nostro hobby e proprio questo scambio reciproco di idee, consigli e lamentele..:-)
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: tornu - 19 Novembre 2009, 20:48:59
Mi associo ai complimenti e ti ringrazio per la citazione anche se il mio contributo è stato veramente minimo.

Confermo le osservazioni di Ceskho, anche io vedo la schermata come lo screenshot che ti ha postato.
Appena avrò un po' di tempo lo testerò a fondo e ti faccio sapere eventuali osservazioni.
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 19 Novembre 2009, 22:14:24
Si, la inglobo nell'immagine.

Scusate se sono ripetitivo ma vi ringrazio ancora :-)

Temo che troverete il mio codice piuttosto...disordinato :oops:

Ciao
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 24 Novembre 2009, 01:30:11
@md9327 a scritto
Citazione

Per il csv, avevo inviato un file con due nuove classi, ma stò ancora aspettando che qualcuno (in paricolare leo) me lo convalidi e lo pubblichi dei download.

Diciamo che sono due oggetti che leggono e scrivono file csv, con qualche bel parametrino a corredo... e funzionano...


Potresti metterle nell' area download temporanea? così intanto comincio a studiare :-D

Ciao grazie
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: md9327 - 27 Novembre 2009, 09:34:19
Guarda, metto il file qui, tanto è così piccolo...
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 27 Novembre 2009, 11:43:03
Grazie mille, stasera me lo studio per bene poi ti faccio sapere.
Grazie ciao
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 28 Novembre 2009, 22:12:10
:ok:  stavolta ho capito al volo :-)
Md9327 sei un mago, devo offrirti un'altra birra :2birre:
Ciao grazie
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: md9327 - 30 Novembre 2009, 16:36:01
Scura, possibilmente... :-)
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 07 Dicembre 2009, 11:12:48
@Ceskho
Ciao, ho incorporato la scritta nell'immagine, anzi ho cambiato proprio il logo :-) Volevo saper se hai trovato altri errori nella grafica.
Ciao grazie,
P.S. ho provato andare diverse volte nel canale irc, ma non trovo mai nessuno  :nontrovo:
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 07 Dicembre 2009, 14:55:50
@ Golia

Dove trovo i nuovi allegati...

Purtroppo sul canale IRC o trovi me o alle volte fsurfing....io ci sono spesso a parte la mattina che sto all'università...in questi giorni di festa non so fino a che punto posso esserci...comunque tu prova sempre che ogni tanto uno stolto lo trovi..;-)
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 07 Dicembre 2009, 15:22:01
Prima di mandare ancora allegati volevo sapere se hia visto altri problemi
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 07 Dicembre 2009, 15:31:47
Mi pare di no, per ora...però tieni conto del fatto che ho fatto un uso del tuo software molto superficiale poichè non ho un'attività per poterlo applicare in maniera concreta quindi dovresti affidarti a chi potrebbe usarlo con continuità....io ho solo scritato qui e là le possibilità e le funzioni e ho letto un pò il sorgente perchè sono una creatura curiosa..:-D..
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 09 Dicembre 2009, 23:14:56
Ciao, ho riscontrato il seguente problema:
Ho compilato il programma e installato il pacchetto DEB, tutto ok, però con questa funzione
Codice: [Seleziona]
 
Dialog.Filter = ["*.png", "file png"]
Dialog.Title = "Apri immagine"
IF Dialog.OpenFile() THEN RETURN  
tbpathimage.Text = Dialog.Path

..quando vado ad cercare il file mi trovo in usr/bin.
Come devo fare per posizionarmi in una cartella da me definita?

Inoltre, quando devo dare un nome a un nuovo file uso questo:
Codice: [Seleziona]

   Dialog.Filter = ["*.pdf", "file pdf"]
   Dialog.Title = "Salva file PDF"  
   Dialog.Path = User.Home ' & "/Documenti"
   IF Dialog.SaveFile() THEN RETURN    
  pdf.Output(Dialog.Path, FALSE)

Come faccio a posizionarmi nella cartella, e anche a dare l'estensione in automatico?

Grazie mille
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 09 Dicembre 2009, 23:35:37
Devi usare DIalog.Path prima di aprire la finestra...

Ad esempio se vuoi di default la home devi fare così:

Codice: [Seleziona]
Dialog.Filter = ["*.png", "file png"]
Dialog.Title = "Apri immagine"
Dialog.Path = User.Home
IF Dialog.OpenFile() THEN RETURN  
tbpathimage.Text = Dialog.Path


Per il secondo punto non so aiutarti..scusami...
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Golia - 10 Dicembre 2009, 00:11:10
Grazie mille, forse per l'estensione devo fare un controllo con right che se c'è ok e se non c'è metto l'estensione...non sò
Titolo: Re: [Completato] Programma gestionale vendite ordini consegne
Inserito da: Ceskho - 10 Dicembre 2009, 00:25:00
Secondo me se vuoi un Dialog con l'estensione devi costruirtelo da solo....nel senso ch crei un nuovo form, ci metti dentro tutti gli oggetti che tio servono e te li gestisci come vuoi tu...

Spero per te che qualcuno mi smentisca..:-)