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.


Topics - ilfurlan

Pagine: [1] 2
1
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.

2
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 !

3
Programmazione / [RISOLTO] € con due numeri dopo la virgola
« il: 09 Febbraio 2017, 17:38:27 »
Nelle mie prove, fin qui ci sono riuscito ma una cosa non mi funziona:

Ho messo una TextBox1 per il prezzo (numero con virgola)
Ho messo una TextBox2 per la quantità (numero intero)
Ho messo una TextBox3 per il totale (numero con virgola)

ho scritto e provato questo codice che funziona:
Codice: [Seleziona]
Dim vString As String
vString = TextBox1.Text
TextBox3.Text = Val(vString) * TextBox2.Text
TextBox3.Text = Format$(TextBox3.Text, "€0.00")
se però aggiungo alla fine questa riga, per dare il giusto formato al valore che ho scritto nella TextBox1,
mi restituisce un errore e non capisco il motivo visto che è uguale a quella per la TextBox3
Codice: [Seleziona]
TextBox1.Text = Format$(TextBox1.Text, "€0.00")

 :'(

4
Intanto ciao a tutti... assenza forzata da tanta nanna  :sleepy: con tanta febbre  :evil:

e veniamo al dunque, sperimentando, per una TextBox ho utilizzato del codice che aveva suggerito quel genio di vuott in un vecchio post

Codice: [Seleziona]
TextBox1.Text = Format(Replace(TextBox4.Text, ",", Null) / 100, "0.00")

bene, ora con il numero che scrivo vorrei far compiere una operazione, esempio:

Codice: [Seleziona]
TextBox2.Text = (TextBox1.Text * 5)

chiaramente mi da un errore perchè i campi non sono numerici... so che la cosa più facile è renderli tali,
ma ho qualche altra possibilità?

Grazie  ;)

5
Cortesemente, visto che sono alle mie prime esperienze con Gambas...
prima che continuo magari sulla strada sbagliata nella mia gestione dei DB o con cose che graficamente non funzionano, qualcuno può provare se è tutto ok ?

Vi chiedo di provare il pulsante Clienti con relativo DB e nel menu "Tools"  il cambio logo e intestazione.

Dopo averla scompattata, mettete la cartella nella vostra Home, potete poi cancellarla senza che nulla si modifichi sul vostro PC

Grazie mille a chi si offre

Andrea  :ciao:

6
Programmazione / [RISOLTO] Spostarsi tra i record
« il: 13 Gennaio 2017, 14:12:50 »
Dunque
1) ho creato una maschera con delle textbox che mi mostrano i campi dei record del mio database.
2) ho inserito una textbox per filtrare i record
3) ho scritto questo codice che funziona alla grande
Codice: [Seleziona]
Public Sub TextBoxFiltra_Change()

Dim vConnessione As New Connection
Dim vRisultato As Result

With vConnessione
.Type = "sqlite3"
.Name = "Report_DB.sqlite"
.Host = User.Home &/ "MyReport/"
.Login = ""
.Password = ""
End With

vConnessione.Open()
  vRisultato = vConnessione.Exec("SELECT * FROM Clienti WHERE Cliente LIKE '%" & TextBoxFiltra.Text & "%'")
  If vRisultato.Available Then
  TextBoxId.Text = vRisultato!id_Clienti
  TextBox1.Text = vRisultato!Cliente
  TextBox2.Text = vRisultato!Ragione_Sociale
  Else
  vRisultato = vConnessione.Exec("SELECT * FROM Clienti WHERE Ragione_Sociale LIKE '%" & TextBoxFiltra.Text & "%'")
  If vRisultato.Available Then
  TextBoxId.Text = vRisultato!id_Clienti
  TextBox1.Text = vRisultato!Cliente
  TextBox2.Text = vRisultato!Ragione_Sociale
  End If
  End If

sql = vRisultato
vConnessione.Close()

End
4) ho una Public sql As Result alla quale, prima di chiudere la connessione assegno il risultato del filtro sql=vRisultato
Parte non funzionante:
5) ho inserito i pulsanti di spostamento ai quali al click ho assegnato sql.MoveFirst e sql.MoveLast

 :hard: i record non cambiano... sono fuori strada ?

7
Programmazione / [RISOLTO] Form a scelta obbligatoria
« il: 12 Gennaio 2017, 18:14:30 »
Sempre io, non vi arrabbiate...

Ho creato una maschera e nelle proprietà ho messo "Persistent" = "True"

le istruzioni di Persistent dicono: Indicates if the window is persistent, i.e. if it is not destroyed but only hidden when the users closes it..

Questo mi va bene, ma ho bisogno anche che sia sempre in primo piano sino alla scelta obbligatoria....

Avete lumi ?

8
Istruzioni passo passo...

Create un database SQLite3 (potete farlo con Sqliteman oppure con il codice http://www.gambas-it.org/wiki/index.php?title=Creare_un_DataBase_sqlite3 ),
poi, con Gambas:

1) Create un progetto Database application
2) Cliccate con il tasto destro su Connessioni e selezionate New Connection
3) Nella finestra di dialogo che si apre selezionate Tipo = SQLite e poi il Percorso e il Database che avete precedentemente creato
4) Andate ora nella vostra Form ed inserite un DataSource (IMPORTANTE: trascinate il bordo del DataSource per ingrandirlo)
5) Nelle proprietà del DataSource, alla voce Connection selezionate la connessione che avete precedentemente creato e alla voce Table selezionate la tabella che volete collegare
6) All'interno (IMPORTANTE: all'interno) del DataSource mettete un DataBrowser
7) Nelle proprietà del DataBroswer, alla voce Columns selezionate i campi che volete visualizzare

Lanciate ora la vostra Form per poter utilizzare il vostro database

9
Se a qualcuno può tornare utile, si fa così... sembra difficile ma non lo è, provate  ;)

Il codice crea una cartella nella Home chiamata MyReport e all'interno il database Report_DB.sqlite

Codice: [Seleziona]
Public Sub Form_Open()

Dim vConnessione As New Connection
Dim vPercorso As String ' variabile per il percorso in cui creare il db
Dim vDatabase As String ' variabile per il nome che diamo al database
Dim vTabella As Table
Dim vTabellaUno As String ' variabile per la creazione della tabella UNO e dei campi
Dim vTabellaDue As String ' variabile per la creazione della tabella DUE e dei campi
Dim vRisultato As Result

vPercorso = User.Home &/ "MyReport/" ' definisce il percorso del database
vDatabase = "Report_DB.sqlite" ' definisce il nome del database

vTabellaUno = "CREATE TABLE 'NomeTabellaUno'" & ' nome della tabella e dei campi che si andrà a creare
                        "('id_TabellaUno' INTEGER PRIMARY KEY," & ' chiave primaria
                        "'NomeCampoUnoNumerico' INTEGER Default '0'," & ' nome del campo, tipo e valore predefinito
                        "'NomeCampoDue' VARCHAR(55) Default Null," & ' nome del campo, tipo e valore predefinito
                        "'NomeCampoTre' VARCHAR(55) Default Null);" ' nome del campo, tipo e valore predefinito
vTabellaDue = "CREATE TABLE 'NomeTabellaDue'" &
                        "('id_TabellaDue' INTEGER PRIMARY KEY," &
                        "'NomeCampoUnoNumerico' INTEGER Default '0'," &
                        "'NomeCampoDue' VARCHAR(55) Default Null," &
                        "'NomeCampoTre' VARCHAR(55) Default Null);"

With vConnessione
.Type = "sqlite3" ' indicazione del tipo di database da utilizzare
.Host = vPercorso
.Login = ""
.Password = ""
End With

If Not Exist(vPercorso) ' se non esiste la cartella MyReport
Mkdir User.Home & "/MyReport" 'creala
End If

vConnessione.Open() ' apre la connessione
If Not vConnessione.Databases.Exist(vDatabase) Then ' verifica che il db non esista già
vConnessione.Databases.Add(vDatabase) ' crea il database
vConnessione.Close() ' chiude la connessione
vConnessione.Name = vDatabase ' alla connessione assegna il nome del database
vConnessione.Open() ' riapre la connessione
vRisultato = vConnessione.Exec(vTabellaUno) ' aggiunge al database la tabella con i campi, come sopra definito
vRisultato = vConnessione.Exec(vTabellaDue) ' aggiunge al database la tabella con i campi, come sopra definito
Message.Info("Nella Home è stata creata la cartella ''MyReport''" & Chr$(10) & "e il database ''Report_DB.sqlite''", "Ok") ' informa che il database è stato creato
Endif
vConnessione.Close() 'chiude la connessione

End Sub

10
Codice: [Seleziona]
  Dim vConnessione As New Connection
  Dim vRisultato As Result
  Dim sql As String
 
With vConnessione
  .Type = "sqlite3"
  .Name = "Report_DB.sqlite"
  .Host = User.Home &/ "MyReport/"
  .Login = ""
  .Password = ""
End With

  vConnessione.Open()
  sql = "Select Nome From Intestazione WHERE Nome not null"                                                'imposto la query
  vRisultato = vConnessione.Exec(sql)                                                                                              'eseguo la query
  DataSource1.Filter = sql                                                                                                                     'restituisco il risultato al filtro (ma non funziona)
  vConnessione.Close()

Chi mi aiuta? dov'è l'errore?  :hard:
La connessione funziona...
La query funziona e viene eseguita...
Datasource1.Filter si blocca sulla stringa  :-\

11
Programmazione / [RISOLTO] FileChooser1 e restituzione scelta
« il: 06 Gennaio 2017, 22:45:20 »
Utilizzando FileChooser,

Con
Codice: [Seleziona]
FileChooser1.Filter = ["*.png", "Seleziona una immagine nel formato:   "]
imposto la visualizzazione dei file nel solo formato .png

Con
Codice: [Seleziona]
If FileChooser1.SelectedPath = "" Then
  Message.Info("Non hai selezionato una immagine")
End If
segnalo che la scelta non è stata fatta

Nonostante il filtro impostato, in FileChooser rimane comunque la possibilità di visualizzare "Tutti i file", quindi, per evitare scelte diverse da una immagine .png ho inserito

Codice: [Seleziona]
If FileChooser1.SelectedPath <> "*.png" Then
  Message.Info("Non hai selezionato una immagine nel formato .png   ")
End If

ma, quest'ultima parte non funziona, perchè?   :nono:

Grazie  ;)

12
OpenBar / Ma questo forum è vivo ?
« il: 04 Gennaio 2017, 14:27:58 »
 :'(

Mi sorge un dubbio ma...
se leggo qua http://www.gambas-it.org/wp/?wpfb_dl=102 l'archivio termina nel 2013
se vado qui è fermo al 2015 http://www.gambas-it.org/wiki/index.php?title=Lezioni
se vado a vedere il profilo di molti amministratori e moderatori hanno l'ultimo accesso che risale a uno due anni
se pongo dei quesiti sono sempre due persone ad aiutare o commentare (un moderatore ed un senatore)
mi piacerebbe capire xchè se è così non perdo tempo e torno a Phyton

P.S.
Scusate lo sfogo ma cercate di capire le motivazioni

Andrea

13
Programmazione / DataSource1.Filter da un DataBrowser
« il: 22 Dicembre 2016, 16:03:03 »
Dunque, dopo ore di intense ricerche e traduzioni approssimative di pagine varie, non ci sono riuscito...
sono troppo legato agli schemi di Access  :'(

Codice: [Seleziona]
Public Sub Form_Open()
  Datasource1.Filter = DB.Subst("Numero = &1", DataBrowser2["Numero"])
End

Perchè se scrivo

Codice: [Seleziona]
DataSource1.Filter = DB.Subst("Numero = &1", TextBox1.text)
mi filtra i risultati in base al contenuto della TextBox1.text
mentre se sostituisco TextBox1.text con DataBroswer2["Numero"] non funziona e mi dice Not an array ?

DataBroswer2["Numero"] non dovrebbe fornirmi una stringa con i contenuti delle righe della colonna, separati da virgole  :rolleyes:

 :hatecomputer:

14
Programmazione / DataSource1.Filter su una sola colonna
« il: 22 Dicembre 2016, 15:48:09 »
Dunque, dopo ore di intense ricerche e traduzioni approssimative di pagine varie, sono riuscito in parte ad impostare i filtri nelle mie prove sui DB

Codice: [Seleziona]
Public Sub TextBox1_Change()
  DataSource1.Filter = DB.Subst("Numero = &1", TextBox1.text)
End

Funziona, quello che digito nella TextBox viene poi filtrato,
Il problema è che lo fa in tutte le colonne del database mentre io vorrei che filtrasse solo nella colonna "Numero".

Come faccio a farlo ?

Una  :2birre: a chi mi aiuta, due  :2birre: :2birre: a chi mi spiega anche il significato di &1

15
GBHelp

Guida rapida per non perdersi nei primi passi in Gambas3,
perchè quando si è agli esordi, le cose più facili sono le cose più difficili da realizzare.

1) tipo di progetto
2) finestre e dialogo
3) come operare sui file
4) come interagire con il terminale
5) variabili e database
6) come fornire ad altri il risultato finale

NOTE:
Perchè tutto funzioni scompattate l'allegato nella vostra Home

Pagine: [1] 2