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 - Picavbg

Pagine: 1 ... 12 13 [14]
196
Programmazione (Gambas 2) / Evento LostFocus in Combobox
« il: 24 Aprile 2009, 00:29:54 »
Mi sono trovato davanti ad una sorpresa inaspettata: per individuare l'appartenenza della Combobox1.text ad un gruppo di stringhe già presenti nella Combobox1.list, subito dopo l'avvenuta selezione di una stringa già presente o di una digitazione, quindi dopo che l'utente ha deciso di passare alla casella di input successiva della form attiva, ho pensato di sfruttare l'evento "LostFocus". Ma ahimè ho scoperto che l'evento viene schedulato nel momento in cui vado a cliccare col mouse sul quadratino grigio, posto al margine destro della combobox, cioè già nel momento in cui comando l'apertura della tendina che mi permette di vedere il contenuto della relativa lista di stringhe per operare la scelta che mi interessa. Forse non ho capito, ma l'evento lostfocus non dovrebbe manifestarsi quando la Combobox perde il focus? Se é così come credo, perché la Combobox perde il focus già al click che permette di scorrere il contenuto della lista contenente le stringhe da esaminare? :-o
In VB si poteva utilizzare l'evento validate che in Gambas non é disponibile e che permetteva di eseguire del codice di controllo prima di permettere il rilascio del focus. Esiste un evento corrispondente in Gambas? :-?
Inserire il controllo nell'evento "change" che viene schedulato per ogni carattere inserito, mi sembra pesante, mentre il controllo sulla stringa già completa mi sembra che si attui nel momento opportuno. Cosa mi consigliate?
 :ciao:

197
Sto limando l'analisis tecnica del mio progetto e nella identificazione delle trabelle da creare mi trovo davanti ad una necessità: creare una tabella con un campo chiave seguito da elementi ripetitivi variabili da X001 a X999. Siccome ciascuno di codesti elementi si estende per 17 carattteri (abbreviato in crt), ne consegue che una riga della tabella occuperebbe fino a 16987 crt. Inoltre gli elementi ripetitivi potrebbero essere 1 o più di uno, ma non necessaqriamente 999. Allora ho pensato :idea: di organizzare righe concatenate, contenenti ciascuna alcuni degli elementi ripetitivi, in modo da restringere la lunghezza di ciascuna riga di tabella a 501 o 1013 crt. Una riga da 501 crt quindi sarebbe composta da:
 1)  campo chiave ------------>  4 crt
 2)  1° elemento ripetitivo --> 17 crt
 3)  2° elemento ripetitivo --> 17 crt
...........................
12) 29° elemento ripetitivo --> 17 crt
13) chiave riga successiva -->  4 crt         (permette il concatenamneto alla  successiva riga di tabella, se presente).

E' chiaro a questo punto che mi sono posto due domande: posso creare una tabella con campi di tipo tabellare (formata da 1 o fino a 29 elementi)? e se la risposta è si come posso definire un array, sapendo che ciascun elemento ripetitivo contiene al suo interno 5 campi?; la seconda domanda invece riguarada la lunghezza massima di riga che una tabella di DB sqlite3 può supportare. Sono troppi 512 crt o posso arrivare acnhe a 1024 :roll:
Ecco purtroppo non ho saputo dare alcuna risposta alle mie domande e mi augurto che possa trovare le risposte nel Forum. Spero comunque che sia riuscito ad esprimermi in maniera comprensibile.   :ciao:  :ciao:

198
Programmazione (Gambas 2) / Operazioni sui bit
« il: 28 Marzo 2009, 02:12:48 »
Nello studio che sto svolgendo sono incappato sulle funzioni di trattamento dei bit che compongono un valore. Ho trovato nella "A Beginner's Guide to Gambas" un capitolo dal titolo "Bit Operation" con tanto di esempio pratico. Ho allora voluto provare il programmino di esempio per conoscere meglio le funzioni disponibili (BTst, BClr, BSet, BChg, Shl, Shr, Rol, Ror). Dopo avere provato e capito le funzioni "BClr, BSet, BChg", ho provato anche "Shl", però ho risconrato differenza fra quanto detto nella guida, nello specchietto di pag.319 e quanto detto poi nell'esempio dio pag.322. Infatti nello specchietto, relativamente ad "Shl" é detto:
Citazione
Shl Value = Shl(Number , Bit)  Returns operand1 with the bit specified in operand2  shifted left one bit position.
Citazione

che credo voglia dire: "Restituisce operand1 con il bit specificato in opernd2 slittato a sinistra di una posizione

per cui se operand1 contiene "00010100" e operand2 contiene "2" il risultato prodotto da Shl dovrebbe essere "00101000".

A pag.322 leggo:
Citazione
      The   Shl   function   is   will   shift   the   value   of  MyInt  n  bits   left   where  n  is
specified by the second parameter.
Citazione

che credo voglia dire: "la funzione "Shl" svolge lo slittamento del valore di MYiInt(operand1) di n bit a sinistra dove n"n" è specificato dal secondo parametro (operand2).

ho eseguito la prova partendo da operand1=10010110 e operand2=3 il risultato é stato: "10010110000" cioè esattamente quello spiegato nell'esempio.
.
[/quote]
Purtroppo non conosco il linguaggio "C" e non posso trovare , se esiste, la corrispondente funzione.
La discordanza riscontrata, se non ho capito male, é da attribuire ad un errata spiegazione nella guida o, piuttosto, é proprio sbagliato il risultato che fornisce la funzione?
In ogni caso credo che bisognerebbe segnalare l'anomalia a Benoît Minisini.
 :hammer:
Ciao.

199
Programmazione (Gambas 2) / [RISOLTO]Formule matematiche
« il: 26 Febbraio 2009, 22:26:08 »
Non so se qualcuno ha vissuto l'esperienza di dovere digitare dentro un programma una formula matematica da fare assumere così come viene immessa e fornire nello stesso tempo un totale.
Es.:
Citazione
=0,02+0,06+22*0,05+7*0,1+0,2+230
é un'espressione matematica che dovrei immettere in una casella (textBox o altro?)
Il problema però non é soltanto quello; infatti ho bisogno, a digitazione completata, di leggere sia il risultato della formula che la formula stessa nella sua interezza.
 :uhm:
Ho pensato allora di  inserire nella Form due casella, una di tipo TextBox per la digitazione della formula da potere così avere sempre a vista, l'altra di tipo ValueBox (oppure TextEdit ?), da valorizzare da codice (quindi non disponibile all'operatore) col risultato della formula. Secondo Voi sono sulla strada giusta o esiste un'alternativa più semplice che non mi comporti la necessità di scrivere codice per operare il calcolo espresso nella formula?

 :ciao:

200
Programmazione (Gambas 2) / textbox e proprietà ...multiline
« il: 19 Febbraio 2009, 17:57:45 »
Più vado avanti nella stesura del mio progetto e più Gambas mi appassiona. Ora sto lavorando ad una Form dove dovrei inserire una casella di testo con un'altezza tale da permettere di potere scrivere e leggere nella sua interezza un testo più lingo della capacità width della casella stessa. Ciò vuol dire che digitando il testo, al raggiunginmento del bordo destro della casella automaticamente dovrebbe continuare nella riga successiva. Per fare questo VB conteneva la proprietà "multiline". Ho cercato l'equivalente in Gambas mo non ho trovato né la proprioetà, né l'argomento, sia nella guida "a beginner's...", sia nel Forum. Esiste un maniera semplice per ottenere un tale utilizzo della "Textbox"? :ciao:  :ciao:

201
Programmazione (Gambas 2) / Modificare proprietà di una form
« il: 07 Febbraio 2009, 23:26:30 »
Nel mio progetto di contabilità familiare ho inseriro una form (Form1) per la scelta della data contabile da registrare. All'avvio della classe relativa viene cercata e preparata automaticamente una data che può essere anche quella di una giornata non chiusa, cioé non completamente definita. Ho allora previsto una listbox in cui elencare tutte le eventuali date di giornate non chiuse. Però qualora non dovessero essere presenti giornate non chiuse (quindi aperte), vorrei ridurre l'ampiezza della Form1, modificandone la proprietà "width", senza eliminare la listbox che si trova nella parte destra della Form. Spero di essere stato chiaro. Per fare capire meglio il concetto allego la schermata, comprensiva dell listbox delle giornate aperte.
Poiché tale modifica viene fatta all'interno di una classe dinamica creata all'uopo per la costruzione della data automatica da proporre all'operatore, quindi in una classe diversa di quella della Form1.class, ho scritto il seguente codice di modifica della width di cui ho detto sopra:
Citazione

NomeRec = DB_Connection.edit("GGAperte")  'collega il campo di memoria NopmeTab alla Tabella GGAperte in modalità lettura record
   i_NumElem = NomeRec.Count     'estrae il n° di record presenti nella tabella GGAperte
IF i_NumElem <> 0 THEN      'Tabella  "GGAperte" -->  POPOLATA
      NomeRec.MoveFirst          ' Legge il primo record utile della tabbella
      $StriMia = NomeRec!DtCoGGAp
Codice: [Seleziona]

         Form1.width = [600]       ' allarga la grandezza della Form per rendere visibile la ListBox con le date delle giornate aperte

      FOR i_Ind = 0 TO i_NumElem - 1
        $StriMia = NomeRec!DtCoGGAp
        i_Mese = Val(Mid$($StriMia, 5, 2)) - 1    'il valore stringa viene trasformato in valore numerico per prelevare il mese in chiaro dalla Combobox "DtContMM"
        Form1.List_GGAp.i_Ind = [Right$($StriMia, 2) & "-" & Form1.DtContMM.i_Mese & "-" & Left$($StriMia, 4)]
        NomeRec.MoveNext
        INC i_Ind
      NEXT
   ELSE
Codice: [Seleziona]

    Form1.width = [392]    ' riduce la visibilità della Form per l'inesistenza di giornate aperte da rendere visibile la ListBox relativa



Ecco, l'esecuzione dell'istruzione  "Form1.width = [392]" blocca il programma con:
Citazione

l'Errore

Not enough arguments


che tradotta in parole povere dovrebbe corrispondere a: "Argomenti insufficienti".
 :-(

Ho riportato tutto il codice scritto per pura completezza, ma come é facile intuire la precednte istruzione di "modifica width" non viene ancora eseguita per la mancanza di elementi nella tabella GGAperte. Devo dire che nonostante che per consuetudine dalle mie parti c'é sole per gran parte dell'anno (per ora però c'é solo luce, però bagnata dalla pioggia), personalmente mi trovo nel buio più nero!
Evidentemente ho qualche rotella arrugginita dall'acqua piovuta da gennaio fino ad oggi. :-)
Rido da incosciente, ma il buon umore serve per andare sempre avanti. :-)
 :ciao:

202
Non sono riuscito a trovare nel forum, né nella guida "A Beginner's Guide to Gambas" la soluzione del mio problema:
Per immettere la data della giornata in cui inserire le mie registrazioni da utente, ho pensato di costruire una Form con tre Combobox (read-only) e due pulsanti per annullare o confermare la selezione operata nelle Combobox.
Le Combobox dispongono ciascuna della propria "list" di item per la scelta del giorno, del mese e dell'anno. Solo che già in fase di "show" della form vorrei  mostrare le combiobox con la selezione già preparata di giorno,mese,anno relativi alla data di accensione del sistema, in modo da realizzare una preimpostazione ordinaria. Ho già preparato i campi dove ho immesso le informazioni prese dalla data di sitema con le istruzioni
Codice: [Seleziona]

DataOggi=Date
Giorno = Day(DataOggi)
Mese = Month(DataOggi)
Anno = Year(DataOggi)


Ora, dovrei solamente selezionare da codice gli item corrispondenti nelle relative "list". Leggendo in un post un suggerimento di md9327 (.selection 'ritorna un oggetto con le informazioni necessarie), avevo intuito che l'istruzione suggerita potesse funzionare anche per selezionare l'item desiderato e, partendo da codesto concetto, ho scritto:
Codice: [Seleziona]

 ComboGiorno.selection(Giorno)

ma mi sono sbagliato, perché ho dovuto incassare l'errore "Not a function" in esecuzione e sono rimasto a guardare... :roll:
Poichè non credo che sia impossibile comandare una simile operazione da codice, spero che mi possiate dare una spinta...rella. :-)

 :ciao:  :ciao:

203
Programmazione (Gambas 2) / primi approcci con sqlite3
« il: 17 Dicembre 2008, 17:26:40 »
Mentre cerco notizie sulla gestione di un DB-sqlite3, partendo dalla sua creazione, cerco di appuntare sulla carta i passi da inserire all'interno di un programma. Una delle prime curiosità che ho cercato di esaudire é quella di dovere gestire un DB già strutturato o di strutturarlo nel programma stesso (logicamente solo la prima volta). Ho visto, attraverso i post relativi ed attraverso programmini di prova messi a disposizione dai più esperti che é possibile creare un DB durante l'esecuzione del codice gambas e questo mi fa molto piacere (penso che knoda non me ne vorrà). Certo un programma che legge e aggiorna una o più tabelle di un DB predefinito con Knoda o con altro strunmento compatiubile con sqlite3 risulta più veloce da mettere a punto, ma non mi permetterebbe di fare esperienza anche in fase di creazione. ;-)

Nei post che ho guardato ho fatto attenzione all'individuazione del DB in HD e non ho trovato descritto in maniera elementare la dichiarazione  del path completo fino alla directory che contiene il DB; esempiio:
Citazione

' Gambas class file
PUBLIC $hconn1 AS Connection
PUBLIC $hconn2 AS Connection


PUBLIC SUB Button1_Click()
    DIM $hConn AS Connection
    DIM sName AS String ' nome del database
   
    $hConn = NEW Connection ' inizializza una nuova connessione
 
    sName = "esempio.db"    ' imposto i parametri di connessione

    WITH $hConn
      .Type = "sqlite3"       'tipo di database
      .Host = User.Home        percorso del database       °°° ??? °°°
    END WITH
..........
END

Mi sono permesso di ripotrtare qualche riga di codica dal programmino di prova che molto cortesemente mi ha fornito fsurfing, e spero di non provocare il suo disappunto per questo, allo scopo di soffermarmi sulla riga ".Host" della funzione Widh. Infatti quando leggo
Codice: [Seleziona]

 .Host = User.Home  

non capisco  in quale directory sia ubicato il DB, o perlomeno, penso che sia nella directoy home dell'utente.

Supponiamo invece che il DB sia in una directory diversa dalla Home_user; per Es.:
Citazione

home -> Utente_x -> gambas -> progetti -> progetto1 -> esempio.db


Potrebbe inoltre il DB trovarsi nella stessa directory di ProVaGambas (il programma che dovrà gestirlo) oppure essere in una directory diversa.
Ecco, restando a quello che ho capito, io scriverei:
Codice: [Seleziona]

 .Host = home.Utente_x.gambas.progetti.progetto1  

 :uhm:
Non é che non mi fidi di me stesso, ma non mi pare che somigli all'esempio di partenza di fsurfing, nemmeno nella sua parte iniziale.

Dico bene?
 :ciao:

204
Programmazione (Gambas 2) / Notizie informali a grandi linee
« il: 08 Dicembre 2008, 17:38:51 »
Ho appena finito di fare un giro informativo attarverso la scarsa documentazione esistente in termini di guide in italiano (anche quella esistente in lingua inglese é alquanto datata), dopo l'installazione configurata di Gambas2.9.0 nel formato .rpm. Ho anche guardato gli esercizietti presenti nella guida "Iniziamo ad usare Gambas" e mi sono subito ritrovato a casa; infatti quello che ho visto mi é tornato,con i dovuti adattamenti, subito familiare.
Nel progetto di contabilità familiare che ho in mente e che, in parte ho già sviluppato in ambiente Visualbasic-6, dovrei utilizzare una base dati per l'archiviazione e la consultazione delle infotrmazioni da immettere giornalmente.
Per ottenere l'archivio suddetto dovrei strutturare un D.B che poptrebbe essere, così come ho avuto consigliato nei primi approcci in comunità, "SQKLite", per la sua snellezza e facilità d'uso (così ho capito). Avrei pure bisogno di operare un porting di quanto già realizzato in VB6.
In considerazione di ciò ho svolto le mie riocerche in merito ai suddetti punti, ma ho trovato qualcosa su "SQLite", mentre ho capito che un porting automatico di quanto già esistente in VB6 non esiste. Considerato che tutto sommato quanto già scritto in VB6 potrei anche riscriverlo, mi resta l'inconsapevolezza di come fare per strutturare il D.B attraverso SQLlite, se quest'ultimo, potendosi creare attraverso il codice da digitare in Gambas (così ho capito), non ha un ambiente suo di costruzione di tabelle e/o query per la registrazione e l'interrogazione di dati? Mi spiego meglio: come posso risalire alla strutturazione dei dati nelle tabelle e con quali istruzioni posso gestire le tabelle stesse? Devo anche dire che non ho ancora guardato se e come posso identificare i campi di tabella del D.B. nei Wiìdget di Gambas.
Spero che chi abbia già esperienza in merito a tutto quanto detto, se sono stato chiaro, mi possa dare una mano.
 :ciao:

205
Fedora e derivate / [risolto]Gambas per Fedora-9-
« il: 15 Ottobre 2008, 09:16:43 »
Eccomi di nuovo qua, dopo qualche mese. Ho purtroppo perso del tempo prezioso,  ma finalmente col nuovo pc AMD a 64 bit sono riuscito ad installare un ambiente operativo Linux e posso proseguire il mio cammino e conoscere così Gambas.
Visto che, per conoscerlo, la prima cosa da fare é scaricare Gambas, ho letto della disponibilità dei pacchetti RPM per Gambas2; non ho capito però su quale eventualmente orientarmi: (gambas2-2.8.2-1.FC9.ldrweb.i386.tgz) oppure (gambas2-2.7.0-1.FC9.ldrweb.i386.tgz) :roll: , entrambi compatibili per Fedora-9, ma, mi pare di capire, entrambi adatti alla versdione i386. Poiché io, date le caratteristiche hardware del mio pc, ho dovuto installare Fedora-9-64, posso scaricare Gambas? Se si, come posso fare per trovare quello compatipile col mio ambiente operativo?  :nontrovo:
Grazie per l'attenzione! :ciao:

206
Ho deciso di cambiare il mio PC con uno più evoluto. Proprio per questo, prima di compiere il passo, vorrei essere sicuro di non sbagliare. Vorrei conoscere quale ciclo operativo in termini di GHz é consigliato che abbia il processore e quanta RAM occorre per fare girare comodamente Gambas. :nulla: Grazie per l'aiuto.    :ciao:

207
OpenBar / Cerco Visual Basic 6 professional
« il: 16 Luglio 2008, 22:30:16 »
Da circa un anno tento invano di abbandonare Windows. Me ne sono capitate di tutti i colori. L'ultima sventura, veramente assurda, é: ho ordinato un nuovo pc desktop, comprensivo di S.O Linux Ubuntu, ad un negozio on-line ed ho ricevuto la segnalazione di "ordine preso in carico"; ho cominciato così ad aspettare con pasienza. Dopo tre mesi di ostentata, pasiente attesa, il mio ordine é stato annullato. Ora mi sono stancato e poiché mi piace sviluppare programmi in Visual basic, sto cercando di venire in possesso della versione "V.B 6 Professional" che ormai non é più distribuita da Microsoft. Pertanto, nella speranza che qualcuno più fortunato di me, passato già a Linux, si trovi in possesso di una copia di cui si vuole disfarelancio la mia disponibilità ad acquistarla. Resto perciò in attesa di una possibile proposta, nella speranza di trovare un amico che voglia recuperare un pò dei soldi spesi a suo tempo. Grazie anticipate a chi mi volesse aiutare.
Spero di non avere sbagliato ad usare il forum per una necessità estranea a Linux.

208
Domande tecniche (Gambas 2) / installare Gambas su Debian
« il: 05 Giugno 2008, 12:20:08 »
Vorrei tentare di installare sul S.O. Debian 4.0, di cui dispongo Gambas 2.6.0. Ignoro tutto sulle procedure di installazione, poiché da quando ho cominciato a conoscere Linux non ho ancora avviato alcuna installazione. Ho scaricato due file sorgenti di Gambas 2.6.0, uno dal pannello di download di questo sito ed ho ottenuto il file gambas2-2.6.0.tar.tar, l'altro dal sito ufficiale così come indicato in una discussione indirizzata agli utilizzatori di Ubuntu ed ho ottenuto il file gambas2-2.6.0.tar.bz2.   :ok:  Ora dovrei estrarre l'archivio e proseguire con il resto; però non so cosa fare  per estrarre l'archivio e proseguire nell'ambiente Debian per ottenere la mia prima installazione.  :-?  Qualcuno può darmi una spinta? Meglio se robusta. Grazie!  :ciao:

209
OpenBar / Guida "Iniziare ad usare Gambas"
« il: 04 Giugno 2008, 23:00:30 »
Questa, dopo la mia presentazione, é la prima volta che alzo la mano per chiedere lumi: Non possiedo un computer perfettamente affidabile ed ancora arranco infatti nella difficile scalata di apprendimento del S.O. "Debian 4.0". Non riesco fra l'altro a connettermi ad Internet dall'ambiente Linux. Utilizzo pertanto il solito Windows, anche se non lo sopporto più. Vorrei però cominciare a prendere confidenza con la prima installazione in assoluto, quella di "Gambas", però insicuro come sono ho cercato di scaricare, per leggerla successivamente,la guida "Iniziare ad usare Gambas", convinto di eseguire il download di un documento da leggere tranquillamente anche in ambiente Windows;invece dopo il download mi sono ritrovato la cartella "iniziare_ad_usare_gambas.zip" con tante sottocartelle, ma priva, almeno apparentemente, di un file di tipo documento (txt,pdf,...) :-o. Potete illuminarmi per capire se ho sbagliato o se devo compiere quale operazione? E' possibile che dall'ambiente Windows non possa leggere la guida che speravo di trovare? Grazie anticipate per l'aiuto. Ma che bell'inizio!   :aiuto:

Pagine: 1 ... 12 13 [14]