Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - ilfurlan

Pagine: [1] 2 3 ... 8
1
Grazie, i silenzi valgono più dei dinieghi.
Mi dedicherò all'orto.

2
Progetti degli utenti / MyReport - gestionale per cantieri, e....
« il: 14 Aprile 2017, 11:44:40 »
Cortesemente, prima che continuo con i "Resoconti" le "Fatture" e le "Stampe"....
qualche anima pia che trova del tempo per testarlo la trovo ?


Grazie !!!

P.S.

Spero che le funzionalità e lo scopo del programma siano abbastanza intuitive, per questo non mi dilungo in spiegazioni.

ATTENZIONE:

Vi avvisa, ma ricordate che crea nella vostra Home crea una cartella denominata MyReport, ricordatevi di cancellarla.

3
Progetti degli utenti / Re:gestionale
« il: 03 Marzo 2017, 13:28:02 »
Ciao ilfurlan, ...omissis... per il logo prendo spunto dal tuo esempio ...

Se ti interessa, con l'aiuto di Vuott e Arco sono riuscito a scalare un logo alle massime dimensioni volute, così si risolve tutti i problemi anche nelle stampe...
lo trovi qui http://www.gambas-it.org/smf/index.php?topic=5497.0

4
Codice: [Seleziona]
  $ImLarghezza = ImageStat(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg").Width 'legge la larghezza dell'immagine
  If $ImLarghezza > 350 Then 'controlla se è superiore a quella voluta
  $Incognita = ($ImAltezza * 350) / $ImLarghezza 'calcola la giusta altezza proporzionale
Premesso che non ho gambas installato su questo computer e non posso fare dei test.
Quando cerchi di calcolare  $Incognita non ottieni un risultato valido perchè $ImAltezza non è ancora definita (valore 0).
Prova a modificare il codice così:
Codice: [Seleziona]
Public Sub Button1_Click()

Dim $ImLarghezza As Integer
Dim $ImAltezza As Integer
Dim $Incognita As Integer 'incognita per trovare la larghezza o l'altezza da scalare proporzionalmente
Dim $ImScala As Image
Dim $ImScalata As Image

  $ImLarghezza = ImageStat(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg").Width 'legge la larghezza dell'immagine

  $ImAltezza = ImageStat(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg").Height 'legge la altezza dell'immagine

  If $ImLarghezza > 350 Then 'controlla se è superiore a quella voluta
  $Incognita = ($ImAltezza * 350) / $ImLarghezza 'calcola la giusta altezza proporzionale
  $ImScala = Image.Load(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg") 'legge l'immagine
  $ImScalata = $ImScala.Stretch(350, $Incognita) 'scala l'immagine con il valore dato all'altezza
  $ImScalata.Save(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg", 100) 'salva l'immagine scalata
  Endif

  If $ImAltezza > 150 Then 'controlla se è superiore a quella voluta
  $Incognita = ($ImLarghezza * 150) / $ImAltezza 'calcola la giusta larghezza proporzionale
  $ImScala = Image.Load(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg") 'legge l'immagine
  $ImScalata = $ImScala.Stretch($Incognita, 150) 'scala l'immagine con il valore dato alla larghezza
  $ImScalata.Save(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg", 100) 'salva l'immagine scalata
  Endif

  PictureBoxScalata.Picture = Picture.Load(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg")

End

Perfetto, questo funziona ed ottengo esattamente il risultato voluto.
Intanto, per chi vuole provare allego questo esempio funzionante da scompattare nella Home, poi provo il suggerimento di Gianluigi per capire la differenza.

5
Per concludere ho provato a mettere assieme le due parti di codice, in modo da avere alla fine una immagine scalata in maniera proporzionale ma con dimensioni massime di larghezza e altezza prestabilite,
ma, non salva l'immagine ridimensionata e non capisco perchè (è un errore di codice o per altri motivi? devo abilitare qualche componente?)

Codice: [Seleziona]
Public Sub Button1_Click()

Dim $ImLarghezza As Integer
Dim $ImAltezza As Integer
Dim $Incognita As Integer 'incognita per trovare la larghezza o l'altezza da scalare proporzionalmente
Dim $ImScala As Image
Dim $ImScalata As Image

  $ImLarghezza = ImageStat(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg").Width 'legge la larghezza dell'immagine
  If $ImLarghezza > 350 Then 'controlla se è superiore a quella voluta
  $Incognita = ($ImAltezza * 350) / $ImLarghezza 'calcola la giusta altezza proporzionale
  $ImScala = Image.Load(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg") 'legge l'immagine
  $ImScalata = $ImScala.Stretch(350, $Incognita) 'scala l'immagine con il valore dato all'altezza
  $ImScalata.Save(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg", 100) 'salva l'immagine scalata
  Endif

  $ImAltezza = ImageStat(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg").Height 'legge la altezza dell'immagine
  If $ImAltezza > 150 Then 'controlla se è superiore a quella voluta
  $Incognita = ($ImLarghezza * 150) / $ImAltezza 'calcola la giusta larghezza proporzionale
  $ImScala = Image.Load(User.Home &/ "ScalaImmagine/ImmagineOriginale.jpg") 'legge l'immagine
  $ImScalata = $ImScala.Stretch($Incognita, 150) 'scala l'immagine con il valore dato alla larghezza
  $ImScalata.Save(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg", 100) 'salva l'immagine scalata
  Endif

  PictureBoxScalata.Picture = Picture.Load(User.Home &/ "ScalaImmagine/ImmagineScalata.jpg")

End

Tutto questo l'ho provato nel programmino in allegato (da scompattare nella Home)

6
adesso funziona, basta togliere .Width e .Height dopo ImageStat
Codice: [Seleziona]
Dim l As Integer
Dim h As Integer

  l = ImageStat(User.Home &/ "MyReport/.MyLogo.png").Width
  h = ImageStat(User.Home &/ "MyReport/.MyLogo.png").Height

  Print l
  Print h

7
ma non funziona, cosa sbaglio?
Devi utilizzare "ImageStat" come funzione statica, ed in particolare le previste proprietà dell'oggetto di tipo ImageStat, da essa ritornato.

Più brevemente insomma così:

Codice: [Seleziona]
Dim l As Integer
Dim h As Integer

  l = ImageStat.Width(User.Home &/ "MyReport/.MyLogo.png").Width
  h = ImageStat.Height(User.Home &/ "MyReport/.MyLogo.png").Height

  Print l
  Print h

Non mi funziona, dice:

ImageStat.Whidth is not static

8
ma non funziona, cosa sbaglio?
Devi utilizzare "ImageStat" come funzione statica, ed in particolare le previste proprietà dell'oggetto di tipo ImageStat, da essa ritornato.

Più brevemente insomma così:

Codice: [Seleziona]
Dim l As Integer
Dim h As Integer

  l = ImageStat.Width(User.Home &/ "MyReport/.MyLogo.png").Width
  h = ImageStat.Height(User.Home &/ "MyReport/.MyLogo.png").Height

  Print l
  Print h


Incredibile, è notte e sei ancora qui a rispondere.... Grazie !!!

9
Restando al tuo esempio, direi:

la Larghezza originale sta alla larghezza scalata come l'altezza originale sta all'altezza scalata incognita.

 h = (1200 * 150) / 1600   :-X
 

 :-[ lezione di matematica e non di informatica... grazie !!!

Per trovare h devo conoscere larghezza e altezza, ho provato ad interrogare l'immagine con
Codice: [Seleziona]
Dim l As Integer
Dim h As Integer

  l = ImageStat.Width(User.Home &/ "MyReport/.MyLogo.png")
  h = ImageStat.Height(User.Home &/ "MyReport/.MyLogo.png")

  Print l
  Print h
ma non funziona, cosa sbaglio?

10
Sono riuscito a scalare le dimensioni di una immagine con questo codice

Codice: [Seleziona]
Dim $ImScala As Image
Dim $ImScalata As Image

$ImScala = Image.Load(User.Home &/ "MyReport/MyLogo.png")
$ImScalata = $ImScala.Stretch(150, 100)
$ImScalata.Save(User.Home &/ "MyReport/MyLogo.png", 100)

il problema è che vorrei indicare il valore della larghezza a 150, ma non indicare l'altezza 100 che deve ridimensionarsi in maniera proporzionale.

Esempio:
una immagine L 1600 x H 1200 deve diventare L 150 x H 113

Grazie !

11
Progetti degli utenti / Re:gestionale
« il: 02 Marzo 2017, 14:34:51 »
Ciao ilfurlan, all'interno della cartella Gestionale il programma crea al primo avvio tutti i database, tranne Comuni.db, al primo gennaio ti chiederà di creare una nuova tabella (con il nome dell'anno) delle fatture attive, ovviamente non potrai più usare la tabella, esempio 2016 se l'anno di fatturazione è 2017,  sempre che tu abbia modificato nel form setup anno di fatturazione e ultima fattura ( ad ogni inizio anno sarà 0 ) non crea una cartella di destinazione questa si è una pecca, viene comoda per fare il backup di tutto il database, per il logo prendo spunto dal tuo esempio . ... Ho visto il tuo Myreport.... WOW!
Grazie come sempre Gianluigi per questo HSplit1.Layout = [80, 20]  belin! sono ormai due anni che sto lavorando con gambas ma c'è sempre da imparare  :D :D :ciao: :ciao:

Grazie mille  :ciao:
Già hai ragione, intanto ho buttato giù due tabelle, poi per ordine che ci lavoro e le metto in funzione le miglioro.

12
Progetti degli utenti / Re:gestionale
« il: 02 Marzo 2017, 10:21:12 »
ciao ilfurlan, probabilmente ti da errore perché il percorso del banner è sbagliato, devi andare in in SetUp e modificare percorso.
Come suggerito da Gianluigi ( ho studiato il tuo esempio ma non sono riuscito ad applicarlo al mio progetto in quanto alle VSpli e le HSplit non so come fare dare delle dimensioni prestabilite) ho aggiunto del codice per avere il resize dei controlli, non è perfetto ma funziona, magari con un aiuto si può migliorare.
Codice: [Seleziona]
Private hControl As Object
Private Px As New Integer[]
Private Py As New Integer[]
Private Pw As New Integer[]
Private Ph As New Integer[]
Private Fs As New Integer[]
Private Mw As Integer
Private Mh As Integer

Public Sub Form_Open()
 frmcli.Top = True
  frmcli.y = FMain.Height + 30
  Mod_Open.controlla_db()
 
  verifica_tab
  lista_tab
  grid_carica
  foglio_fattura
   
   Print Me.Controls.Count
 
For Each hControl In Me.Controls
      Px.Add(hControl.x)
      Py.Add(hControl.y)
      Pw.Add(hControl.w)
      Ph.Add(hControl.h)
      Fs.Add(hControl.Font.size) 
      Next

  Mw = Me.W
  Mh = Me.h
 
End

Public Sub form_Resize()
 
  Dim cx, cy As Float
  Dim Nw, Nh, i As Integer

  Nw = Me.W
  Nh = Me.h

  Cx = Nw / Mw
  Cy = Nh / Mh
 
  i = 0
 
  For Each hControl In Me.Controls
    hControl.x = Px[i] * Cx
    hControl.y = Py[i] * Cy
    hControl.w = Pw[i] * Cx
    hControl.h = Ph[i] * Cy
    hControl.Font.size = Fs[i] * Cx
    Inc i
 
  Next
 
End


fonte : http://www.gambas-it.org/smf/index.php?topic=3588.msg33661#msg33661
al momento applicato solo al form: frmcli
 
ho aggiunto anche il controllo del C.F. quando inserisci nuovo cliente.   :ciao: :ciao: ;D



Io rifaccio tutto perché mi piaceva troppo la tua grafica e non mi piaceva il mio codice.

Comunque, io faccio così per evitare successivi problemi di percorso:

1) Quando avvio il programma la prima volta, se non esiste crea una sua cartella per avere un percorso prestabilito
2) Controlla se nella cartella esiste il DB altrimenti lo crea
3) Controlla se nella cartella esiste il Logo provvisorio, altrimenti lo crea (nascosto .Logo)

Per le dimensioni del logo, ho deciso prima che devono avere una dimensione di pixel 150 x150 e l'immagine si ridimensiona a coprire tutto il PictureBox,
non mi sono quindi preoccupato per un logo, ad esempio 150 x 100 che nel mio caso risulterebbe deformato.

Non so aiutarti, comunque è interessante... vedo come fare

Intanto ti allego l'inizio dell'ennesimo rifacimento, dove, nelle impostazioni trovi come gestisco l'immagine  :ciao:

13
Progetti degli utenti / Re:gestionale
« il: 28 Febbraio 2017, 12:00:12 »
Vado a memoria.
Anch'io ottengo il tuo stesso errore.
Controllando ho visto che fa riferimento ad una directory apposita creata dal creatore del programma.
Citazione

Dove hai la cartella del programma? Nella Home?
Il programma io l'ho messo nella home.
Ho provato, ma non funziona, per provare il tuo programma ho disabilitato la linea di errore.
Comunque, è proprio bello, anche graficamente.

14
Progetti degli utenti / Re:gestionale
« il: 27 Febbraio 2017, 18:11:29 »
Veramente molti complimenti, io, dopo aver installato le QT5 ricieste vedo tutto bene...

Unica cosa, se vado in fatture, seleziono la fattura e clicco su visualizza,
si pianta sul Mod_Print
alla riga
Codice: [Seleziona]
       .DrawImage(Image.Load(rsditta[14]), 20, 150) 'caricare immagine banner
Questo errore dovrebbe essere generato da un riferimento ad un path errato durante il caricamento dell'immagine.

Dove hai la cartella del programma? Nella Home?

15
Progetti degli utenti / Re:gestionale
« il: 27 Febbraio 2017, 14:13:33 »
Citazione
io, dopo aver installato le QT5 richieste vedo tutto bene...
Dai però adesso ci spieghi che S.O. usi in che versione e quale Gambas3 hai installato, se da repo o da SVN,
lo sai che stiamo sbattagliando per le QT5!
http://www.gambas-it.org/smf/index.php?topic=5478.0

 :ciao:

Sì, lo so... per questo ti ho detto che vedo tutto bene...

Dunque:
1) Portatile Lenovo Edge E530
2) Schermo 1600 x 900 (16:9)
3) Linux Mint 18 cinnamon 64 bit
4) Gambas 3.9.2
5) QT5 installate tramite il Gestore Pacchetti
6)  :'(  dopo il confronto con il mio lavoro

Pagine: [1] 2 3 ... 8