1
Progetti degli utenti / Re:MyReport - gestionale per cantieri, e....
« il: 02 Maggio 2017, 12:40:34 »
Grazie, i silenzi valgono più dei dinieghi.
Mi dedicherò all'orto.
Mi dedicherò all'orto.
19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
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.
Ciao ilfurlan, ...omissis... per il logo prendo spunto dal tuo esempio ...
Codice: [Seleziona]Premesso che non ho gambas installato su questo computer e non posso fare dei test.$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
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
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
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
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
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
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
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
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)
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
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.
Vado a memoria.Ho provato, ma non funziona, per provare il tuo programma ho disabilitato la linea di errore.
Anch'io ottengo il tuo stesso errore.
Controllando ho visto che fa riferimento ad una directory apposita creata dal creatore del programma.CitazioneIl programma io l'ho messo nella home.
Dove hai la cartella del programma? Nella Home?
Veramente molti complimenti, io, dopo aver installato le QT5 ricieste vedo tutto bene...Questo errore dovrebbe essere generato da un riferimento ad un path errato durante il caricamento dell'immagine.
Unica cosa, se vado in fatture, seleziono la fattura e clicco su visualizza,
si pianta sul Mod_Print
alla rigaCodice: [Seleziona].DrawImage(Image.Load(rsditta[14]), 20, 150) 'caricare immagine banner
Citazioneio, 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