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

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #255 il: 29 Ottobre 2009, 13:39:48 »
penso sia così:

Codice: [Seleziona]


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

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #256 il: 30 Ottobre 2009, 00:00:11 »
Niente da fare
1.550,00 mi restituisce 1.550,000,00
Non ci capisco niente..

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #258 il: 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

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #259 il: 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).
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #260 il: 31 Ottobre 2009, 01:27:16 »
Si certo, è questione di abitudine
Va molto bene così, basta farci l'occhio :-D

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #261 il: 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)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #262 il: 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:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Programma gestionale vendite ordini consegne
« Risposta #263 il: 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...

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #264 il: 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

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #265 il: 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?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Programma gestionale vendite ordini consegne
« Risposta #266 il: 14 Novembre 2009, 13:25:16 »
Prova a leggere las stringa passandola prima ala funzione Conv:

$Stringa = Conv($Stringa, System.Charset, Desktop.Charset)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #267 il: 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.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #268 il: 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

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Programma gestionale vendite ordini consegne
« Risposta #269 il: 17 Novembre 2009, 02:37:05 »
No problem...