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 2 [3] 4 5 ... 14
31
Debian, Ubuntu e derivate / [Risolto] Gambas3 nel mio nuovo Ubuntu
« il: 26 Novembre 2014, 18:23:39 »
Ebbene si! Oggi ho installato sulla partizione sda2 l'ultima versione Ubuntu LTS, cioè la 14.04.01, così per i prossimi due anni dovrei stare tranquillo. E poi? e poi, se ce la farò cambierò pc.
Disponendo di un nuovo giocattolo ho provato a configurarlo secondo i miei desideri. Naturalmente non poteva mancare Gambas. Però la versione installata dal Softawre Center è la 3.1.1, quando in fedora-18 utilizzo già la versione 3.4.1.
Disallineamento non gradito, ma per ora, visto che sono immerso in Lavori in corso, mi conviene non aggiungere altra carne al fuoco, ma sicuramente ne riparlerò.
 :ciao:

32
Programmazione / Aggiornare il contenuto di una linguetta TabStrip
« il: 10 Luglio 2014, 15:21:24 »
Ancora difficoltà con le TabStrip. Ho cercato discussioni sull'argomento, ma non ho trovato niente che riguardasse come andare ad aggiornare una delle proprietà di una linguetta intermedia.

Supponiamo che ad un certo punto del lavoro, mi trovi una TabStrip con 6 linguette. Clicco su una di esse, per es. la terza, in modo da attivarla. Essa viene posta in primo piano e diventa immediatamente visibile. Agendo su un pulsante esterno alla TabStrip, scateno un evento che ha il compito di modificare il colore di foregrouand di una TextLabel ed il testo di una Label della linguetta correntemente attiva.

Ebbene, non cambia niente. Le proprietà modificate sono sempre quelle dell'ultima linguetta presente nella TabStrip. Sono intervenuto in diversi modi, anche forzando da codice il valore TabStrp.Index. La label modificata è sempre quella dell'ultima linguetta della TabStrip.
Ecco il codice scritto:
Codice: [Seleziona]
Print "TabSchede.countx= '" & TabSchede.count & "'"
 Print "TabSchede.index= '" & TabSchede.index & "'"
 Print "TabSchede.CoVoceCassa.Text= '" & CoVoceCassa.Text & "'"
 TabSchede.index = 3
 Label2.Text = "Prova"
 IdCassa.Foreground = iColorSfo
 For i = 0 To TabSchede.count - 1
   TabSchede.index = i
   Print "TabSchede.index= '" & TabSchede.index & "'"       
   Print "Label2.Text = '" & Label2.Text & "'"
   Print "IdCassa.Foreground = " & IdCassa.Foreground
Next

Citazione
TabSchede.countx= '6'
TabSchede.index= '2'

TabSchede.index= '3'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656
TabSchede.index= '1'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656
TabSchede.index= '2'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656
TabSchede.index= '3'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656
TabSchede.index= '4'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656
TabSchede.index= '5'
Label2.Text = 'Prova'
IdCassa.Foreground = 16776656

il Text "Prova"  è stato scritto una sola volta, mentre le Print lo riportano tante volte quanti sono  le schede di Tabstrip, così pure il colore del testo della IdCassa.
Pur cambiando Il puntamento TabSchede.index ogni volta, i valore riportati nelle Print sno sempre uguali.

C'è sisuramente qualcosa o qualche parametro che mi sfugge, eppure la documentazione di Gambas.org si esprime così nei riguardi della proprietà TabStripIndex
Citazione
TabStrip.Index (gb.qt4)
Property Index As Integer
Returns or sets the index of the current tab.


33
Programmazione / [RISOLTO] L'order by di SQLite3 non funziona
« il: 08 Luglio 2014, 00:07:07 »
Non ci avevo fatto mai caso. Oggi, esaminando attentamente i dati rilevati da un programma di verifica sul contenuto del DB tenuto in continuo aggiornamento dal mio ContabFam,  ho avuto la sensazione che i record letti da una tabella non venissero sequenzializzati secondo il criterio del comando "ORDER BY" dato nell'istruzione SQL relativa:
Codice: [Seleziona]
 RecMovgg = ApriDB.DB_Connection.EXEC("SELECT * FROM movimgg ORDER BY CoVocMovvgg AND DtCoMovgg, DtSolMovgg, OraSolMovgg")

Secondo quando capito a suo tempo, l'ordine con cui i record sarebbero stati letti avrebbe dovuto seguire le seguenti priorità
1) Lettura dei record della tabella "movimgg" in ordine crescente del contenuto colonna "CoVocMovvgg"
  2) Per tutti i record con lo stesso valore di  "CoVocMovvgg", secondo l'ordine crescente del contenuto colonna "DtCoMovgg"
    3) Per tutti i record con lo stesso valore di  "CoVocMovvgg" e "DtCoMovgg", secondo l'ordine crescente del contenuto colonna "DtSolMovgg"
      4) Per tutti i record con lo stesso valore di  "CoVocMovvgg", "DtCoMovgg" e "DtSolMovgg", secondo l'ordine crescente del contenuto colonna "OraSolMovgg"

Invece tutto questo non è avvenuto ed i record sono stati passati al programma in maniera piuttosto disordinata:
Citazione
=========================================================================
Livelli teorici di ordinamento:                                    |       2°       |      3°        |       4°      |------|       1°         |
---------------------------------------------------------------------------------------------------------------------------------------------------
TestaMovimgg--> RecMovgg!IdMovvgg.'22709' ==> '20011230' | '20110626' | '211540' | '1' | '101601010' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22710' ==> '20011230' | '20110626' | '211839' | '2' | '101505012' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22711' ==> '20011230' | '20110626' | '214703' | '3' | '101300027' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22712' ==> '20011230' | '20110626' | '214748' | '4' | '101603012' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22713' ==> '20011231' | '20110704' | '152506' | '1' | '101300027' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22714' ==> '20011231' | '20110723' | '152637' | '2' | '101590002' |
TestaMovimgg--> RecMovgg!IdMovvgg.'22715' ==> '20011231' | '20110723' | '162559' | '3' | '101403004' |
TestaMovimgg--> RecMovgg!IdMovvgg.'26364' ==> '20110725' | '20110727' |   '83304' | '1' | '101295003' |
TestaMovimgg--> RecMovgg!IdMovvgg.'26365' ==> '20110725' | '20110727' |   '83339' | '2' | '101295003' |
TestaMovimgg--> RecMovgg!IdMovvgg.'26366' ==> '20110725' | '20110727' |   '83449' | '3' | '101710002' |

Basta guardare l'ultima colonna di quelle riportate, corrispondente al  "CoVocMovvgg", per accorgersi che i codici vanno su è giù senza mantenere alcun ordine crescente.
Se non manca qualche parametro di ulteriore puntualizzazione nell'istruzione SQL, direi che SQLite3 non funziona come dovrebbe.
E allora? Come stare tranquilli durante l'esecuzione di un programma. se non si sa dove andrà a parare?
 :evil:

34
Programmazione / Impostazioni indirette di una Form
« il: 06 Luglio 2014, 17:31:41 »
Da tempo cerco di disegnare le mie Form e, naturalmente,  gli oggetti in esse contenuti con riferimenti ai valori X, Y, Width e Height del Desktop. Lo faccio, anche se, per la verità non sempre; infatti è un lavoro assai certosino e faticoso, perchè è tutto scritto sotto forma di istruzioni, però quando ho necessità di non incappare in alterazioni provocate dalle successive release di Gambas, cerco di attenermi al suddetto metodo.
Dopo il dovuto preambolo, vengo al dunque. Sto disegnando una nuova Form che dovrebbe occupare quasi tutta l'area del Desktop, sovrapponendosi per circa il 90% alla Form Parent.
A prescindere da come ho dimensionato le proprietà della Form nell'ide di Gambas, ho scritto le seguenti istruzioni:
Codice: gambas [Seleziona]
' ----> Siamo nella FormRiep00.Class

Public Sub _new($Periodo As String)
'------------------------------------------------------
  Select Case $Periodo
          Case "01"
          Case "02"
          Case Else   ' "03" = Sintesi occasionale
            CompRiep03
  End Select
End


Private Sub CompRiep03() 
Dim $SfoFFFFBF As String = "&HFFFFBF&"      'colore di fondo della Form
Dim iSfondoForm As Integer = Val($SfoFFFFBF)
'----------------------------------------------
  With Me
        .X = Desktop.X + 5
        .Y = Desktop.Y + 10
        .Width = Desktop.Width - 20
        .Height = Desktop.Height - 150
  End With
        Print "Desktop.Width = '" & Desktop.Width & "'"
        Print "Desktop.Height = '" & Desktop.Height & "'"
        Print "CompRiep03.Form.X = '" & Me.X & "'"
        Print "CompRiep03.Form.Y = '" & Me.Y & "'"
        Print "CompRiep03.Form.Width = '" & Me.Width & "'"
        Print "CompRiep03.Form.Height = '" & Me.Height & "'"
End


Ed ecco le stampe prodotte dalle istruzioni Print
Citazione
Desktop.Width = '1366'
Desktop.Height = '741'
CompRiep03.Form.X = '5'
CompRiep03.Form.Y = '37'
CompRiep03.Form.Width = '1346'
CompRiep03.Form.Height = '711'

Con frontando l'output delle Print con le mi impostazioni si rileva:
CompRiep03.Form.X = '5'       <--->   e la mia istruzione era Me.X = Desktop.X + 5          (OK)   
CompRiep03.Form.Y = '37'     <--->   e la mia istruzione era Me.Y = Desktop.X + 10               ???
CompRiep03.Form.Width = '1346'     <--->   e la mia istruzione era Me.Width = Desktop.Width - 20       (OK)
CompRiep03.Form.Height = '711'      <--->   e la mia istruzione era Me..Height = Desktop.Height - 150       ???

É lampante che le mie impostazioni non sono state tutte accettate da Gambas. La posizione di partenza della coordinata Y della Form è più in basso rispetto a quella desiderata, mentre l'altezza è enormemente più alta e la finestra è praticamente a schermata piena, come si può vedere nell'allegato.
Però se riduco congruamente l'altezza, il dimensionamento diventa corretto, con l'eccezione della coordinata Y che rimane a '37', quando dovrebbe diventare '10'.

Potrebbe trattarsi di un bug?
 :rolleyes:

35
Ho scoperto che le tabelle del mio DB non sono proprio perfette. Ce n'è qualcuna che, per cause ancora da scoprire, manca di qualche record. Per individuare i record anomali, ho pensato di costruire un elenco organizzato con struttura tabellare, da esporre, riga dopo riga, in contenitori di oggetti di tipo "TabStrip".
Non avendo mai usato TabStrip, ho cercato sia nel Forum  che nel Wiki della nostra comunità ed ho trovato qualcosa inerente la gestione di detto tipo di oggetto-contenitore. Seguendo un pò il mio istinto, un pò quanto trovato nel sito, ho disegnato in una nuova Form la scheda TabStrip modello.
Dopo avere trattato la prima anomalia e valorizzato le caselle-oggetto della prima scheda TabStrip, avendo incontrato una seconda anomalia, con le stesse caratteristiche della prima, ho aggiunto da codice una seconda scheda TabStrip che è comparsa regolarmente, ma, ahimè, completamente vuota.

Poichè nell'unica discussione che ho trovato sull'argomento, datata 2008 e nel wiki, non si fa cenno alla necessità di dovere disegnare manualmente, da codice, tutti gli oggetti di ciascuna scheda, oggetti perfettamente duplicati rispetto alle precedenti, credo che il Modello disegnato nella nuova Form debba mantenere la sua veste formale uguale per tutte le schede via via aggiunte, dalla prima fino all'ultima, esattamente come un modulo cartaceo tipografico.
Allora, se Gambas non lo fa, probabilmente è perchè si aspetta che io gli fornisca un parametro per la generazione automatica degli oggetti tipo dellla TabStrip.
Purtroppo io non ho capito quale sia detto parametro.
 :ciao:

36
Programmazione / Gestione DB nel Wiki della comunità
« il: 30 Dicembre 2013, 16:20:23 »
Stamani ho trovato una soluzione per la costruzione, in SQLite3, di una Query, risultato dell'unione di altre due query. La soluzione ottenuta funziona perfettamente e vorrei aggiungerne l'illustrazione nel Wiki della nostra comunità, ma non ho trovato l'argomento. Pensavo di trovarlo all'interno di gestione file, ma mi sembra che non ci sia; non c'è neppure come argomento distinto.
Eppure ricordo di avere già letto qualcosa in proposito, applicato, fra la'ltro, a SQLite3.
Ricordo male?

37
Programmazione / [Risolto] Segno di spunta nei sorgenti gambas
« il: 02 Dicembre 2013, 23:57:26 »
Oggi ho scoperto come fare comparire/sparire il simbolo spunta a sinistra di una riga di codice sorgente, subito dopo il n° di riga: premendo infatti "ctrl+b" il suddetto simbolo compare, o, se già presente, scompare.
Capito il meccanismo, mi resterebbe di capirne l'ultilità. Chi ne è a conoscenza?  Mentre qualcuno cercherà di scoprirlo, io  :sleepy:
 :D  :ciao:

38
Altri linguaggi / [Risolto] Uscire fuori dal seminato?
« il: 04 Ottobre 2013, 11:48:06 »
Mi trovo di fronte ad una difficoltà pratica e psicologica. Dovrei scrivere, perchè l'ho avuto richiesto, un programma che giri in ambiente windows, ma io di windows non ne voglio sapere. Perciò l'ideale sarebbe scrivere il programma su Linux e poi farlo girare su windows. Ridurrei così i contatti con quel sistema al minimo indispensabile. Però, essendo Gambas monopiattaforma, non posso, in quest'occasione, farne uso. Dovendo girare lo sguardo verso altre potenzialità software di programmazione, ho davanti a me tre possibilità di scelta. Potrei puntare su C++, Python o Java. Qualcuno mi consiglia Java, più vicino al C++, ma più semplice e più versatile a funzionare su più piattaforme , senza dovere affrontare, probabilmente, una compilazione obbligatoria su Windows.
Son sul punto di dover decidere, ma non ci riesco. Graderei, se possibile, ricevere conforto e consiglio da chi conosce i suddetti linguaggi o  :D non necessariamente tutti e tre.
 :ciao:

39
Segnalazione bug / Search & Replace
« il: 30 Settembre 2013, 09:36:54 »
Nell'Ide del mio Gambas-3.4.1, la funzione di  ricerca per eventuali sostituzioni di termini all'interno dei sorgenti di un progetto in lavorazione non viene seguita sempre correttamente. Infatti. come si può riscontrare dall'immagine allegata, eseguendo la macro all'interno di una procedura mi viene risposto che il termine cercato non è trovato, quando invece è presente ben 11 volte.
Ho notato che l'attuale ultima versione è la 3.4.2. Prima di procedere ad una segnalazione allo staff di Gambas, sarei grato a chi, disponendo di quest'ultima, potesse provare lo stesso tipo di ricerca e sostituzione nel proprio ambiente e comunicarmi l'esito della prova.
Grazie!
 :ciao:

40
Programmazione / Applicativo -Gambas da avviare su SO.Linux virtuale
« il: 24 Settembre 2013, 19:46:03 »
Un mio figlio mi ha chiesto di scrivere un programma per un'Associazione presso la quale collabora attivamente.
Considerato che detta Associazione utilizza SO. Windows, l'unica strada percorribile mi sembrerebbe quella di installare su quel SO il programma di virtualizzazione "VirtuaBox". Su di esso occorrerebbe installare poi un ambiente operativo Linux (es. -> fedora). Infine, sul nuovo ambiente virtuale dovrei installare Gambas e successivamente passargli il programma scritto con Gambas.
Detto a parole mi sembra di esservi già riuscito.  ;D

Ragionandoci un pò sopra ho alcune perplessità da superare.

Installare VirtualBox non dovrebbe essere difficoltoso. Successivamente, come dovrei procedere per installare fedora?  Ho letto che lo si può fare tranquillamente come se si installasse su una macchina sprovvista di SO., cioè utilizzando il mio DVD di installazione.
Però mi viene da chiedere: la macchina virtuale va partizionata? L'installazione di fedora, una volta conclusa, può essere salvata per essere riutilizzata successivamente?
Se tutto quanto sopra dovesse concludersi come spero, dovrei installarvi sopra Gambas ed avere così, alla fine, Linux-fedora incapsulato in Windows. Ciò significa che ogni volta che avvierei VirtuaBox, da Windows, mi troverei immediatamente dentro fedora, dal quale potrei avviare Gambas ed il programma che scriverò. Potrei, però, almeno lo spero, avviare lo stesso programma nel suo formato "eseguibile"

Spero di evidenziato chiaramente le mie perplessità. Personalmente non ho esperienza di VirtualBox; non parliamo poi di tutto il resto. Posso azzardare un "ssssi" a mio figlio? :D
 :ciao:

41
Domande tecniche / [Risolto] Gambas3 e gli esempi a corredo
« il: 10 Settembre 2013, 08:46:18 »
Da quando ho installato la versione 3.4.1 di Gambas, non riesco più a scorrere il codice sorgente degli esempi che corredano il pacchetto. Tutti i programmi di esempio sono disponibili solo in lettura,e posso visionare solamente le Form che li compongono. Non posso aprire nemmeno aprire una delle classi componenti. La barra dei titotli delle form e classi dell'ide riporta solamente i file.form.
Non riesco a capire perchè mi succeda nè so come fare per  ripristinare la giusta funzionalità dell'ambiente.
 :ciao:

42
Programmazione / [Risolto]Importare una form da un altro programma
« il: 07 Settembre 2013, 23:42:56 »
Avrei bisogno di impiegare una form già bell'e pronta in un altro programma. Ho trovato un suggerimento qui che ho subito messo in pratica. Quello che serve a me non è proprio la stessa cosa discussa nell'esempio riportato nel link, ma mi sembra simile.
Dopo avere copiato il file nel nuovo programma, ho aperto l'ide relativo e la Form compare nella sezione Form, Classi,Moduli, a sinistra della finestra, ma se richiamo la form con
Formx.ShowModal mi viene segnalato l'errore unknown identifier Formx.

È come se Gambas non lo riconoscesse come figlio legittimo del nuovo programma. Devo modificare qualche parametro? Dove?
 :ciao:

43
Vorrei fare risaltare il contenuto di tutte le celle interne ad una colonna di GridView o TableView. Ho già visto come gestire a mio uso e consumo la pseudoselezione di una o più righe della griglia, lasciando la proprietà Mode=None, però dovrei fare risaltare nella riga selezionata il carattere "X" che inserisco nella 3a cella. La soluzione puiù rapida e sicura sarebbe quella di definire lo stile del font durante la costruzione della TableView, nell'istruzione
Codice: [Seleziona]
TableView1.Columns[2].??? =  ???
Ma non ho capito cosa scrivere al posto dei punti interrogativi. Infatti sia scriva TableView1.Columns[2].Font = TipoFont , sia che scriva TableView1.Columns[2].Style = Bold, rcevo sempre l'errore
Citazione
Unknown symbol 'Font/Style' in class '_GridView_Comumn'
:(

44
Domande tecniche (Gambas 2) / Cannot make executable
« il: 20 Luglio 2013, 18:17:35 »
Oggi, dopo una piccola modifica al mio ContabFam, ho avviato la procedura di creazione del relativo file_eseguibile. Ebbene, ho ricevuto in tutta risposta il seguente messaggio di errore:
Citazione
gba:ERROR cannot make executable: cannot create executable: invalid cross-device link Project MakeExecutable.2828
Devo dire però che il percorso di creazione del file era:
Citazione
1)
/home/pierfed181/mont/dativari/contabfam
Poi  ho riprovato dando il seguente percorso:
Citazione
2)
/home/pierfed181/contabfam
e questa volta ha funzionato.

A me però servirebbe generare il file_eseguibile nel percorso n.1, il quale contiene il mount automatico, dichiarato in fstab, della partizione sdb1 (disco sdb), pari a
Codice: [Seleziona]
mount /dev/sdb1 /home/pierfed181/mont
dove sdb1 contiene la directory /dativari.

Spero di essere stato chiaro.

Non capisco perchè la creazione dell'eseguibile non debba funzionare.
 :(

45
Debian, Ubuntu e derivate / sto provando Ubuntu
« il: 12 Luglio 2013, 23:46:34 »
E si, è proprio così. L'ultimo mio tentativo di creare un plurima presenza di SO.Linux con  la stessa versione di gambas continua, perchè quanto provato fino ad ora, ad eccezione di fedora, non mi ha soddisfatto. Però pare che anche Ubuntu voglia deludermi. Premesso che ieri ho installato Ubuntu 12.04.2 LTS, stasera ho provato ad installare gambas3 da Ubuntu-Software-Center. Però la ricerca di Gambas3 si è conclusa con la seguente risposta:
Citazione
Nessun elemento corrisponde a «gambas3» Forse si intendeva gambas2?
In effetti, modificando il 3 in 2, viene trovato un pacchetto gambas2. Però che me ne faccio? In fedora ho installato gambas3.4.1. Insomma, dopo avere impegnato un bel pò di tempo per installare e configurare (ancora non ho finito) Ubuntu, sono davanti all'unico binario percorribile: il binario morto.
 :(

Pagine: 1 2 [3] 4 5 ... 14