Gambas-it

Gambas3 => Programmazione => Topic aperto da: Cocirio - 21 Aprile 2015, 11:22:56

Titolo: [RISOLTO] progetto di disegno nella guida per principianti
Inserito da: Cocirio - 21 Aprile 2015, 11:22:56
Salve. Ho cominciato a copiare il progetto di disegno del capitolo 12 della guida di La Torre. Purtroppo non funziona niente.
1) Questo statement "da.W = Form1.W { 10" l'ho dovuto cambiare in "da.W = 67", cioè ho preso la proprietà Width (in pixel, se ricordo bene) del controllo DrawingArea ('da' è il suo nome). La stessa cosa ho fatto per la Height.
2) La cosa più grave è che l'istruzione "Draw.Begin(da)"  riceve l'errore "Cannot paint outside of Draw event handler". Alcune pagine di internet mi dicono che su questo argomento è cambiato tutto con la versione 3.4 (mi pare) e forse è tutto obsoleto. Però il controllo esiste. Come si fa?

Qualcuno mi può aiutare? Grazie.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Top Fuel - 21 Aprile 2015, 12:16:34
Proprietà Cached = True
prova così.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 21 Aprile 2015, 12:19:31
Se dai retta a me ti studi la DrawingArea qui (0) poi ti guardi anche queste discussioni(1) e se vuoi ritorni alla lezione e crei quanto li scritto con le nuove conoscenze.
 :ciao:
(0) http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#DrawingArea
(1) http://www.gambas-it.org/smf/index.php?topic=3259.msg32059#msg32059
http://www.gambas-it.org/smf/index.php?topic=3410.msg32867#msg32867
http://www.gambas-it.org/smf/index.php?topic=1702.msg18934#msg18934
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 24 Aprile 2015, 09:44:30
Scusa il ritardo. Sto seguendo la pagina da te indicata per studiare la DrawingArea e tutti gli esempi del suo uso, che sto provando. In particolare sto cercando di capire il funzionamento di varie classi come la Paint e la Draw. In questa occasione mi sarebbe piaciuto riuscire a copiare in un documento a parte il contenuto dei pop-up che appaiono scrivendo le diverse parti del codice o guardando le proprietà dei controlli. Non ci sono riuscito col copia e incolla.
Nella pagina http://www.gambas-it.org/wp/tag/guida/ c'è scritto che all'indirizzo http://beginnersguidetogambas.com/ cliccando sul flash_widget si può scaricare una copia di Gambas Beguinners Guide aggiornata alla versione 3. Non so cos'è un flash_widget e ho trovato solo la possibilità di ordinare una copia cartacea. Per favore, se ce l'hai, puoi darmi il link vero? Grazie.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 24 Aprile 2015, 11:36:47
Scusa il ritardo. Sto seguendo la pagina da te indicata per studiare la DrawingArea e tutti gli esempi del suo uso, che sto provando. In particolare sto cercando di capire il funzionamento di varie classi come la Paint e la Draw. In questa occasione mi sarebbe piaciuto riuscire a copiare in un documento a parte il contenuto dei pop-up che appaiono scrivendo le diverse parti del codice o guardando le proprietà dei controlli. Non ci sono riuscito col copia e incolla.
Non ho capito a cosa ti riferisci in particolare puoi essere più preciso? Magari ti possiamo aiutare.
Citazione
Nella pagina http://www.gambas-it.org/wp/tag/guida/ c'è scritto che all'indirizzo http://beginnersguidetogambas.com/ cliccando sul flash_widget si può scaricare una copia di Gambas Beguinners Guide aggiornata alla versione 3. Non so cos'è un flash_widget e ho trovato solo la possibilità di ordinare una copia cartacea. Per favore, se ce l'hai, puoi darmi il link vero? Grazie.
Il fash widget non funziona più da un po, comunque ripeto fai una domanda specifica e soprattutto chiara e se ne sarò capace ti risponderò, altrimenti è facile che ti risponda qualcuno più in gamba(s) di me.
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 24 Aprile 2015, 14:58:48
Per favore, se ce l'hai, puoi darmi il link vero? Grazie.
Io ti suggerisco, con riferimento a manuali on-line, questo (in spagnolo):
http://www.cursogambas.blogspot.com.es/p/indice.html


Inoltre, come già ti ha detto Gianluigi, non temere di inserire domande qui nel forum: è fatto appunto per questo.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 24 Aprile 2015, 16:00:31
Ecco. Metti che stai scrivendo con l'editor del codice uno statement così: "Paint.Brush = Paint.LinearGradient(150, 0, 400, 80, c, p). Mentre, p. es., stai scrivendo "LinearGr" viene fuori un messaggio pop-up intitolato  "Paint.LinearGradient (gp.qt4)" che ti dà il paradigma della funzione che ti trascrivo qui:
"Paint.LinearGradient (X0 As Float, Y0 As Float, X1 As Float, Y1 As Float, Colors As Integer[], Positions As Float[] [ , Extended As Integer ] ) As PaintBrush
e ti spiega (lo traduco in italiano):
X0: coordinata x del punto di inizio
Y0: coordinata y del punto di inizio
X1: coordinata x del punto di fine
Y1: coordinata y del punto di fine
Colors: array di colori
Positions: la posizione di ogni colore, essendo 0 l'inizio del gradiente e 1 la fine del gradiente".
Allora io avrei voluto riportare questa roba (paradigma e spiegazione) in un mio documento a parte. Ma, col 'copia e incolla', non ci sono riuscito.
In alternativa avrei voluto scaricarmi la Guida per principianti aggiornata a Gambas 3 in inglese, ma non sono riuscito a scaricarla.
Perché queste velleità?
Perché il pop-up (utilissimo), per me, è scomodo: si può scorrere ma, per me, andrebbe allargato. E poi avrei proprio bisogno di un documento ampio e ordinato per categorie da consultare al momento opportuno.
La guida in spagnolo, forse, potrebbe andare. Gli darò un'occhiata.
Ciao
P.S. Avete mai usato le 'Note Tomboy'. Se sì, sono veramente utili?
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 24 Aprile 2015, 16:13:53
La guida on-line, che appare nel pop-up, la trovi qui:

http://gambaswiki.org/wiki


Ad esempio:
http://gambaswiki.org/wiki/comp/gb.qt4/paint/lineargradient
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 24 Aprile 2015, 16:25:18
Se intendi copiare quanto appare nei pop-up quando stai scrivendo il codice tipo quello dell'immagine allegata, non devi fare altro che tasto destro copy e poi incolli dove vuoi.
Io non uso note tomboy uso gedit l'ho a portata di mano nel launcer e se serve copio li.
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 24 Aprile 2015, 16:58:38
... non devi fare altro che tasto destro copy e poi incolli dove vuoi.
....uso gedit l'ho a portata di mano nel launcer e se serve copio li.

Confermo quanto scritto da Gianluigi, ed è anche solo sufficiente  :-\ evidenziare con il mouse il testo interessato e riportarlo poi su un editor come Gedit. 
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 24 Aprile 2015, 17:55:37
Giusto sarà bene che prima di copiare evidenziamo quanto ci interessa ;D  :ok:
Inoltre mi sono dimenticato di dire che uso anche un altro “sistema”, quando noi completiamo la parola il pop-up sparisce noi però possiamo ritornarci sopra con il mouse e cliccando sul tasto funzione F2 riottenere l'aiuto, a volte però quando la parola è un  widget, al completamento del nome sparisce il pop-up e non succede nulla con F2 perché a quel punto si tratta di un oggetto specifico e non generico. Allora io se ho ancora bisogno di aiuto cancello con Backspace il numero così da poter ottenere aiuto da F2, occorre ricordarsi alla fine di rimettere i numeri.
Magari ci sono anche “trucchi” più intelligenti ma io uso questi e questi ti dico. A parte che tu non ci crederai ma sono sicuro che a tanti questi aiuti disturbano assai.
:ciao:

P.S. Con F1 appare l'help generale se dividiamo la finestra con un clic su show help tree ottieni un help più utile.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 24 Aprile 2015, 19:50:05
Bene, bene, bene, bene.
1. (vuott) Ok per http://gambaswiki.org/wiki che avevo già visitato senza notare che fosse proprio quello che mi serviva! :-[
2. (Gianluigi) Tasto destro copy e incolla ok. Io credevo di usare Gedit invece il doppio clic su un file di testo o l'uso del menu 'accessori/Editor di testo' mi danno Pluma 1.8.1.
3. (vuott) Il metodo di selezionare il testo e andarlo a copiare usando il tasto mediano del mouse l'avevo letto in una tip del giorno  :).
4. (Gianluigi) In un primo momento i miei tentativi con F2 sono falliti. Poi ho visto che dovevo cambiare riga. Così ha funzionato. L'F1, anche con il clic sull'icona con tooltip 'show help tree', mi pare che dia qualcosa di parziale. Ma devo ancora provarlo in altre occasioni.
Sono andato a vedere cos'è un widget su Wikipedia. E' un 'window gadget'!  :ok:  :sleepy: Posso dormire contento.
Ciao ragazzi. A presto.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 25 Aprile 2015, 14:32:19
2. (Gianluigi) Tasto destro copy e incolla ok. Io credevo di usare Gedit invece il doppio clic su un file di testo o l'uso del menu 'accessori/Editor di testo' mi danno Pluma 1.8.1.

Scusa, io do sempre per scontato che tutti usino Ubuntu... avrei dovuto esprimermi in modo più appropriato e dire editor di testo, comunque più o meno funzionano allo stesso modo.

Citazione
4. (Gianluigi) In un primo momento i miei tentativi con F2 sono falliti. Poi ho visto che dovevo cambiare riga. Così ha funzionato. L'F1, anche con il clic sull'icona con tooltip 'show help tree', mi pare che dia qualcosa di parziale. Ma devo ancora provarlo in altre occasioni.

Questa non l'ho capita se ti inserisci nel nome dell'oggetto, metodo o altro di cui ti interessa l'help e premi F2 ti appare appunto l'help non devi andare in nessuna  riga  :-\

Citazione
Sono andato a vedere cos'è un widget su Wikipedia. E' un 'window gadget'!  :ok:  :sleepy: Posso dormire contento.
Ciao ragazzi. A presto.

Bravo è il giusto atteggiamento, prima ci si informa e poi si chiede :)
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 12 Maggio 2015, 17:53:29
Salve. Scommetto che cominciavate a preoccuparvi :). Torno da un lungo viaggio nelle pratiche burocratiche del 730 e poi in problemacci imprevisti nelle terre lontane e impervie di Windows :hatecomputer: (hate winzozz).
Nello studio della DrawingArea ero arrivato alla pagina http://www.gambas-it.org/wiki/index.php?title=Generare_un_file_immagine_da_una_DrawingArea
dove, nella seconda parte, c'è un esempio di disegno e salvataggio di un'immagine utilizzando funzioni esterne di X11 e ImLib2. Come al solito, ho letto e copiato il codice in un Form e ho cercato di eseguirlo. Purtroppo mi sono arenato sullo statement "st = Memory XImage For Read", prima perché la variabile st non era definita, poi, dopo che io l'ho definita come Stream (passando prima da String e poi da File :-[) ho avuto, in esecuzione, l'errore  "Bad Argument". Da qui, fino ad ora, non sono riuscito a uscire.
Però posso assicurarvi che prima ho capito ed eseguito sulla mia Ide tutti gli esempi precedenti, ricavandone due progetti, diciamo, didattici che, per l'avvenire mi saranno utili. Grazie.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 12 Maggio 2015, 19:38:16
Purtroppo mi sono arenato sullo statement "st = Memory XImage For Read", prima perché la variabile st non era definita, poi, dopo che io l'ho definita come Stream (passando prima da String e poi da File :-[) ho avuto, in esecuzione, l'errore  "Bad Argument".

Sì, scusami, avevo dimenticato di scrivere la dichiarazione di quella variabile.
Ti ringrazio della segnalazione.
Ho effettuato qualche altro ritocco.

Ricopia il nuovo codice corretto, inserisci in fondo il percorso del file immagine da creare (ad esempio: /tmp/miofile.png) e fammi sapere.



Però posso assicurarvi che prima ho capito ed eseguito sulla mia Ide tutti gli esempi precedenti, ricavandone due progetti, diciamo, didattici che, per l'avvenire mi saranno utili.
Molto bene.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 13 Maggio 2015, 12:24:52
vuott, ho visto la definizione che hai messo, ma per me... l'errore è sempre lo stesso  :'(.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 13 Maggio 2015, 12:41:51
vuott, ho visto la definizione che hai messo, ma per me... l'errore è sempre lo stesso
Hai provato l'intero codice, come da me reinserito nella pagina ?
A me funziona perfettamente.

Vorrei sapere, inoltre, a quale riga precisamente compare quell'avviso di errore.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 13 Maggio 2015, 12:55:22
Capire di più sul codice dell'esempio da te segnalato..


Riguardo al codice da te segnalato, cerchiamo di comprendere brevemente perché sia necessario spostarsi al 17° byte (indice 16) dell'area di memoria puntata dal Puntatore XImage.

Bisogna innanzitutto tenere in consideratione la omonima Struttura XImage restituita dalla funzione "XGetImage()", che può essere presa in visione qui:
http://tronche.com/gui/x/xlib/graphics/images.html#XImage

Ebbene, il quinto membro di detta Struttura
Codice: c [Seleziona]
char *data;        /* pointer to image data */

è, come si nota, una variabile Puntatore di tipo Char, che contiene l'indirizzo dell'area di memoria ove sono stipati i dati dell'immagine mostrata dalla DrawingArea.

Va precisato che, come evidente, nell'esempio in Gambas noi operiamo semplicemente sull'area di memoria riservata dalla predetta funzione "XGetImage()" e puntata dall'apposita variabile XImage. Insomma, non abbiamo passato una variabile di tipo Struttura (come in realtà è previsto nella libreria esterna di X11), ma semplicemente un Puntatore all'area di memoria riservata coerentemente corrispondente a quella della omonima Struttura prevista dalla funzione "XGetImage()".

Perché dobbiamo spostarci al byte di indice 16 per leggere il valore di quell'indirizzo di memoria ?
La risposta è nei quattro membri precedenti, i quali sono tutti di tipo Intero, e pertanto occupano ciascuno 4 byte di memoria e complessivamente: 4 * 4 = 16 . Il valore del Puntatore (ossia l'indirizzo di memoria dei dati grezzi dell'immagine puntati dalla omonima Struttura "XImage" della libreria esterna di X11), che a noi interessa, si trova a cominciare da 17° byte (indice 16 ovviamente).
Il valore dell'indirizzo di memoria verrà da noi salvato nel tipo di variabile a ciò deputato: ...il Puntatore, e così passato alla successiva funzione "imlib_create_image_using_data()", come da essa richiesto.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 13 Maggio 2015, 16:12:53
Grazie. Mi hai spiegato tutto per bene. Ho guardato la documentazione su XImage e su XGetImage, che poi andrò a rileggere. La linea in cui ricevo l'errore "Bad argument" è la 74, cioè due in più perché in testa alla sub Button1_click ho aggiunto la "Dim SAppPath As String" e l'istruzione "SAppPath = Application.Path". La linea 74 (per te 72) è "st = Memory XImage For Read". Poco fa mi sono accorto che il pointer XImage caricato da GetXImage contiene 'Nil'. Quindi devo cercare di capire perché qui questa funzione non ha funzionato.
Tutto quello che posso vedere nel codice bloccato su quella linea è che la variabile dsp contiene un indirizzo di memoria (0x964df68), DrawingArea.Handle contiene un numero (52428825) e ZPixmap contiene 2.
Ora vado a rileggere la documentazione. A presto.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 13 Maggio 2015, 16:44:00
Grazie. Mi hai spiegato tutto per bene. Ho guardato la documentazione su XImage e su XGetImage, che poi andrò a rileggere. La linea in cui ricevo l'errore "Bad argument" è la 74, cioè due in più perché in testa alla sub Button1_click ho aggiunto la "Dim SAppPath As String" e l'istruzione "SAppPath = Application.Path". La linea 74 (per te 72) è "st = Memory XImage For Read". Poco fa mi sono accorto che il pointer XImage caricato da GetXImage contiene 'Nil'. Quindi devo cercare di capire perché qui questa funzione non ha funzionato.
Tutto quello che posso vedere nel codice bloccato su quella linea è che la variabile dsp contiene un indirizzo di memoria (0x964df68), DrawingArea.Handle contiene un numero (52428825) e ZPixmap contiene 2.
Ora vado a rileggere la documentazione. A presto.

...dopo le righe:
Codice: gambas [Seleziona]
' Otteniamo un puntatore alla "Struttura" contenente i dati dell'immagine disegnata nella "DrawingArea":
  XImage = XGetImage(dsp, DrawingArea1.Handle, 0, 0, DrawingArea1.W, DrawingArea1.H, XAllPlanes(), ZPixmap)


inserisci questa:
 
Codice: gambas [Seleziona]
If IsNull(XImage) Then Error.Raise("Impossibile ottenere un 'Puntatore' ai dati dell'immagine della DrawingArea !")


Fammi sapere il risultato (...molto probabilmente verrà sollevato l'errore di Puntatore nullo).
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 14 Maggio 2015, 10:10:31
Ok. Si è fermato sull'errore "Impossibile ottenere un 'Puntatore' ai dati dell'immagine della DrawingArea !".
Mi è venuto il sospetto che le proprietà del progetto non siano adeguate all'uso di quelle librerie "libX11:6.3.0" e "libImlib2:1.4.6". Forse dovevo metterci qualcosa oltre a Qt4 ecc.? Oppure dovevo aggiornare Gambas 3? Ah, ora che mi ricordo, qualche giorno fa ho aggiornato Linux Mint e mi pare di aver visto anche aggiornamenti di Gambas3. Può essere quello? Forse mi conviene disinstallarlo integralmente e reinstallarlo, dal momento che l'avevo installato per conto mio con un PPA esterno?
Comunque intanto sono andato avanti col progetto (che è fatto di un form indice con pulsanti che lanciano gli altri form) e devo dire che nemmeno i due form successivi ("individuazione di un pixel" e "Rotazione del testo") funzionano, mentre funzionano "Scrivere un testo" e "Spostare un testo col mouse", sulla DrawingArea.
In particolare la rotazione del testo, che non ha bisogno di librerie, si ferma sull'istruzione ".DrawText(sTesto, x, y, iLarg, iAlt)" con l'errore "Pending path".
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 14 Maggio 2015, 13:55:20
Ok. Si è fermato sull'errore "Impossibile ottenere un 'Puntatore' ai dati dell'immagine della DrawingArea !".
C'era da aspettarselo, dato che ricevevi l'errore "Bad argument" sulla riga del Memory Steam che risultava operare, dunque, su un Puntatore nullo.


Mi è venuto il sospetto che le proprietà del progetto non siano adeguate all'uso di quelle librerie "libX11:6.3.0" e "libImlib2:1.4.6".
...potrebbe anche darsi, nonostante mi pare così strano, dato che la libreria di X è una libreria fondamentale, base.  :-\
Ripeto che a me quel codice funziona sia sul PC che sul portatile.
V'è da aggiungere che non sembrano esserci problemi relativi al passaggio alla funzione esterna XGetImage() dei valori attinenti all'handle della DrawingArea ed all'handle della connessione al server grafico X, poiché tu hai scritto che andandoli a leggere riportano entrambi valori positivi.



Forse dovevo metterci qualcosa oltre a Qt4 ecc.?
Il codice non richiede componenti di Gambas aggiuntivi. Esso tra l'altro (ho compiuto la prova proprio adesso) funziona sia con QT4 che con GTK.
Sarebbe interessante vedere il risultato di test effettuati anche da altri membri del forum su quel codice.



Oppure dovevo aggiornare Gambas 3?...... mi pare di aver visto anche aggiornamenti di Gambas3. Può essere quello?
Io suppongo di no  :-\ , poiché si tratta - laddove ti compare l'errore - di una funzione appartenente ad una libreria esterna.
Però...a 'sto punto... tutto può essere... :-X


Forse mi conviene disinstallarlo integralmente e reinstallarlo, dal momento che l'avevo installato per conto mio con un PPA esterno?
Non saprei  :-\ . Potresti forse fare il tentativo: non mim sento di escludere in assoluto un problema determinato dal tuo sistema e/o dalla tua versione di Gambas.   :-\



Comunque intanto sono andato avanti col progetto (che è fatto di un form indice con pulsanti che lanciano gli altri form) e devo dire che nemmeno i due form successivi "individuazione di un pixel"
Vedi ? A me quel codice funziona. L'ho riprovato adesso.
....prova a cambiare la costante da XYPixmap a ZPixmap.
Fai questo cambio anche nell'altro esempio per la generazione di un file immagine da un DrawingArea (...non ci credo molto, ma non si sa mai  :-\ ).
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 14 Maggio 2015, 14:48:27
Comunque intanto sono andato avanti col progetto (che è fatto di un form indice con pulsanti che lanciano gli altri form) e devo dire che nemmeno i due form successivi ("individuazione di un pixel" e "Rotazione del testo") funzionano, mentre funzionano "Scrivere un testo" e "Spostare un testo col mouse", sulla DrawingArea.
In particolare la rotazione del testo, che non ha bisogno di librerie, si ferma sull'istruzione ".DrawText(sTesto, x, y, iLarg, iAlt)" con l'errore "Pending path".

Confermo l'errore ma non ne capisco il motivo, prima funzionava  :-\
Provo a chiedere sulla ML e poi se mi rispondono ti riferisco.
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 14 Maggio 2015, 16:26:40
Confermo l'errore ma non ne capisco il motivo, prima funzionava  :-\


Comunque......... che ultimamente ci sia qualche problema, è vero: anche io mi sono trovato codici che prima funzionavano ed ora non funzionano più, oppure funzionano sul portatile ma non sul PC.   :-\
Un esempio di questo secondo caso è il codice presente in questa pagina:
 http://www.gambas-it.org/wiki/index.php?title=La_gestione_mediante_le_funzioni_esterne_dell%27API_di_PulseAudio

     :hard:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 14 Maggio 2015, 17:20:41
Confermo l'errore ma non ne capisco il motivo, prima funzionava  :-\


Comunque......... che ultimamente ci sia qualche problema, è vero: anche io mi sono trovato codici che prima funzionavano ed ora non funzionano più, oppure funzionano sul portatile ma non sul PC.   :-\
Un esempio di questo secondo caso è il codice presente in questa pagina:
 http://www.gambas-it.org/wiki/index.php?title=La_gestione_mediante_le_funzioni_esterne_dell%27API_di_PulseAudio

     :hard:

Come ho appena avuto modo di scriverti anche in privato a me questo codice funziona bene.
 :ciao:

P.s. Su Gambas 3.7.1
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 14 Maggio 2015, 17:29:08
http://www.gambas-it.org/wiki/index.php?title=La_gestione_mediante_le_funzioni_esterne_dell%27API_di_PulseAudio

Come ho appena avuto modo di scriverti anche in privato a me questo codice funziona bene.

P.s. Su Gambas 3.7.1

...vedi che stranezza ?
A me funziona sul portatile, ma non sul PC; mentre a te sul PC funziona.

.........ricordo una frase di un mio collega... molti anni fa ebbe a dire:

" Computer, donne e motori: gioie e dolori ! "    ;D
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 15 Maggio 2015, 14:14:45
...vedi che stranezza ?
A me funziona sul portatile, ma non sul PC; mentre a te sul PC funziona.

.........ricordo una frase di un mio collega... molti anni fa ebbe a dire:

" Computer, donne e motori: gioie e dolori ! "    ;D

Almeno ci tengono il cervello sempre all'erta... più o meno  :mad:

@Cocirio

Invece sul fronte ML tutto tace ma posso confermarti che almeno fino alla versione 3.6.2 funzionava a dovere.
Speriamo trovino l'inghippo  >:(
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 15 Maggio 2015, 19:24:05
Che è una ML? Mailing List? Di chi?
Mentre aspettiamo gli eventi, meditiamo.
1) Nell'esempio della rotazione del testo che può significare "Pending Path"? Forse che è stato definito un punto sulla DrawingArea e Gambas non sa cosa farci? Boh?
2) Negli esempi di azioni sulla DrawingArea con l'uso di librerie esterne, che vuol dire "cambiare la costante da XYPixmap a ZPixmap"? Io ho provato a scambiarle tra loro, ma a Gambas non è piaciuto.
3) Negli ultimi due esempi di stampa di testo scritto nella DrawingArea, il primo mi lascia la stampa sospesa. Nella coda di stampa rimane il documento in attesa, anche se poi, togliendo la spina e riaccendeno per fare uscire la carta, risulta stampato.
 
Domani sul punto 3 ci guardo meglio.
Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 15 Maggio 2015, 19:42:58
Che è una ML? Mailing List? Di chi?

La Mailing List internazionale ufficiale di Gambas:
https://lists.sourceforge.net/lists/listinfo/gambas-user


2) Negli esempi di azioni sulla DrawingArea con l'uso di librerie esterne, che vuol dire "cambiare la costante da XYPixmap a ZPixmap"? Io ho provato a scambiarle tra loro, ma a Gambas non è piaciuto.


Sì, sostituire "XYPixmap" con quell'altra.
Che non gli piacesse, c'era da aspettarselo.



3) Negli ultimi due esempi di stampa di testo scritto nella DrawingArea, il primo mi lascia la stampa sospesa. Nella coda di stampa rimane il documento in attesa, anche se poi, togliendo la spina e riaccendeno per fare uscire la carta, risulta stampato.


A me funzionano perfettamente entrambi.    :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 15 Maggio 2015, 21:00:25
Che è una ML? Mailing List? Di chi?
Mentre aspettiamo gli eventi, meditiamo.
1) Nell'esempio della rotazione del testo che può significare "Pending Path"? Forse che è stato definito un punto sulla DrawingArea e Gambas non sa cosa farci? Boh?

Non credo sia roba nostra, vale a dire alla ns. portata, certamente non alla mia.  :mad:

Citazione
3) Negli ultimi due esempi di stampa di testo scritto nella DrawingArea, il primo mi lascia la stampa sospesa. Nella coda di stampa rimane il documento in attesa, anche se poi, togliendo la spina e riaccendeno per fare uscire la carta, risulta stampato.
 
Domani sul punto 3 ci guardo meglio.
Ciao

fsurfing e vuott mi hanno insegnato a non sprecare carta stampando in pdf, fallo anche tu, l'altro modo è solo dispendioso.
Per fare funzionare gli ultimi due esempi (li ho appena riprovati e funzionano anche a me) hai inserito in una FMain una drawing area (DrawindArea1)+ un pulsante (Button1) + una printer (Printer1)?
Se poi stampi su file pdf devi andarlo a vedere in /tmp (Computer > tmp > file.pdf).
Comunque siccome spesso gli allievi superano i maestri se ti scarichi i miei esempi postati nelle discussioni che ti ho indicato...  :P
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 16 Maggio 2015, 16:48:47
In particolare la rotazione del testo, che non ha bisogno di librerie, si ferma sull'istruzione ".DrawText(sTesto, x, y, iLarg, iAlt)" con l'errore "Pending path".

Anche io ottengo questo errore !
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 16 Maggio 2015, 20:04:32
Sì, sostituire "XYPixmap" con quell'altra.
Che non gli piacesse, c'era da aspettarselo.
Ho provato a mettere ZPixmap come secondo e ultimo elemento dell'enumerazione in "Private Enum XYBitmap = 0, XYPixmap, ZPixmap". Così passa il debug del source, ma poi si ferma sempre alla "st = Memory XImage For Read" con 'bad argument', purtroppo.

A me funzionano perfettamente entrambi.    :-\
Può anche dipendere dalla mia stampante, ma forse c'è un comando del controllo Printer che permette di rilasciare il foglio. Andrò a vedere.

fsurfing e vuott mi hanno insegnato a non sprecare carta stampando in pdf, fallo anche tu, l'altro modo è solo dispendioso.
Per fare funzionare gli ultimi due esempi (li ho appena riprovati e funzionano anche a me) hai inserito in una FMain una drawing area (DrawingArea1)+ un pulsante (Button1) + una printer (Printer1)?
Se poi stampi su file pdf devi andarlo a vedere in /tmp (Computer > tmp > file.pdf).
Comunque siccome spesso gli allievi superano i maestri se ti scarichi i miei esempi postati nelle discussioni che ti ho indicato...  :P
Sorvolo sulla domanda retorica riguardo alla possibile omissione dei controlli sul form :P. Per le discussioni che mi hai indicato, scusami, ma me le sono perse :-[.  Sul risparmio di carta non posso che concordare.

Cacchio! Era nel tuo primo messagggio! :-[ Ora vado a vedere.

Ora vi chiedo: se mi decidessi a disinstallare e reinstallare Gambas3, è sicuro che non mi perderei tutti i progetti che stanno nella mia cartella personale?
Ora penso che anche questa sia una domanda retorica :)
Altra domanda: come si fa a leggere il contenuto delle varie parti di un progetto, dopo avere impostato "mostra i file nascosti"? Ad esempio, in una cartella .Gambas come faccio a vedere il contenuto dei file "FMAIN", "FORM1", ecc. (ammesso che contengano, come in VB6, testo leggibile)?
Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 16 Maggio 2015, 21:17:07
Ora vi chiedo: se mi decidessi a disinstallare e reinstallare Gambas3, è sicuro che non mi perderei tutti i progetti che stanno nella mia cartella personale?

A me capita qualche volta che, per mio errore, sono costretto a reinstallare Gambas. Non ho mai perso alcun progetto, purché le loro cartelle si trovino in directory diverse da quelle dei sorgenti di Gambas, ...ovviamente.
...e comunque, i progetti sono sempre perfettamente funzionanti anche dopo la reinstallazione.



Altra domanda: .... in una cartella .Gambas come faccio a vedere il contenuto dei file "FMAIN", "FORM1", ecc. (ammesso che contengano, come in VB6, testo leggibile)?

Apri quei file con un editor esadecimale.
...oppure puoi crearti un programmino  ;D Gambas per leggere in caratteri ASCII i dati che tali file contengono. 

I file FMain.form, FMain.class e simili, presenti nella cartella .src di un progetto, possono essere agevolmente letti con un editor di testo (ad esempio: Gedit).
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 16 Maggio 2015, 22:04:51
In particolare la rotazione del testo, che non ha bisogno di librerie, si ferma sull'istruzione ".DrawText(sTesto, x, y, iLarg, iAlt)" con l'errore "Pending path".

Anche io ottengo questo errore !

Purtroppo ho un problema con la posta elettronica, le mie mail sulla ML vengono lette come spam e fintanto che non lo risolvo penso che non potrò passare il software a Minisini  :'(
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 17 Maggio 2015, 09:50:50
Apri quei file con un editor esadecimale.
...oppure puoi crearti un programmino  ;D Gambas per leggere in caratteri ASCII i dati che tali file contengono. 
I file FMain.form, FMain.class e simili, presenti nella cartella .src di un progetto, possono essere agevolmente letti con un editor di testo (ad esempio: Gedit).
Ci ho provato e ho ricevuto questa risposta: "Impossibile mostrare "/home/coc1/progetto_prove_grafiche/.src/FMain.class". Poi mi viene proposto di andare a cercare un'applicazione adatta ma non viene trovata. Invece viene letto bene con un lettore di testo, p. es., il file FMain.form che. se ha lo stesso contenuto sostanziale di FMain.class e di FMain.class-, mi sta bene.
Va bene, mi cerco un editor esadecimale. E anche Gedit. E poi provo a usare il Terminale.

Come si fa per l'email di Gianluigi? Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 17 Maggio 2015, 14:17:15
"Impossibile mostrare "/home/coc1/progetto_prove_grafiche/.src/FMain.class".

Per un file come FMain.class va bene un qualsiasi lettore di file di testo (come ad esempio Gedit).

Riguardo all'editor esadecimale, io uso GHex .
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 17 Maggio 2015, 23:02:55
Comunque intanto sono andato avanti col progetto (che è fatto di un form indice con pulsanti che lanciano gli altri form) e devo dire che nemmeno i due form successivi ("individuazione di un pixel" e "Rotazione del testo") funzionano, mentre funzionano "Scrivere un testo" e "Spostare un testo col mouse", sulla DrawingArea.
In particolare la rotazione del testo, che non ha bisogno di librerie, si ferma sull'istruzione ".DrawText(sTesto, x, y, iLarg, iAlt)" con l'errore "Pending path".

Confermo l'errore ma non ne capisco il motivo, prima funzionava  :-\
Provo a chiedere sulla ML e poi se mi rispondono ti riferisco.
 :ciao:

Bene, per l'ennesima volta (ma intanto se non ho imparato ormai non imparo più) ho avuto la dimostrazione che chi fa da se fa per tre.
La soluzione invero è molto semplice basta spostare alla fine il disegno del cerchio e cambiare DrawText con Text e Fill così:
Codice: gambas [Seleziona]
' Riporto solo la parte finale dopo End Select della Sub da_Draw()

          ' In questa dimostrazione il fulcro (vortice) è sempre il centro
          ' dell'area di disegno:
          xArc = CFloat((da.W / 2))
          yArc = CFloat(da.H / 2)
          
          fSopra1 = CFloat((da.W / 2))
          fSopra2 = CFloat(da.H / 2)
          fSotto1 = CFloat(- (da.W / 2))
          fSotto2 = CFloat(- (da.H / 2))                        
          ' Vortice:
          .Translate(fSopra1, fSopra2)    
          .Rotate(Rad(fAngolo))  
          .Translate(fSotto1, fSotto2)
          ' Testo:
          '.DrawText(sTesto, x, y, iLarg, iAlt)          
          .Text(sTesto, x, y, iLarg, iAlt)
          .Fill            
          ' Arco:
          .Arc(xArc, yArc, fRaggio)
          .Stroke
          .End
                
       End With    
       bOk = False
    Endif
  
End


 :ciao:
P.S. Ho provato a limitarmi a spostare solo il disegno del cerchio alla fine e funziona anche così evidentemente malgrado lo Stroke a true non manteneva il path era solo sta scemenza e io ho fatto tutto questo casino diventando anche un untore di spam  :'(
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 17 Maggio 2015, 23:32:57
Fai la modifica anche nella pagina della WIKI !
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 17 Maggio 2015, 23:42:04
Fai la modifica anche nella pagina della WIKI !

Non ho l'autorizzazione, invero l'avevi scritta tu  :-[
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 18 Maggio 2015, 00:46:46
Fatto.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 18 Maggio 2015, 10:23:14
Per un file come FMain.class va bene un qualsiasi lettore di file di testo (come ad esempio Gedit).
Riguardo all'editor esadecimale, io uso GHex .
Ho installato entrambi, ma non ho concluso niente. Ho provato il comando "sudo gedit", ma non basta. Servirebbe la visualizzazione dei file nascosti che non sembra possibile. Con Caja sì. Ma "sudo Caja" non mi dà risultati diversi dall'uso normale di Caja tramite "Computer". Forse ci vorrebbe un utente "root". Mi pare che si dovrebbe usare "su", ma non sono capace.

La correzione del programma di rotazione del testo, fatta dall'ottimo Gianluigi, mi rincuora e mi ha fatto... vedere la luce! :)
Sono molto grato ai miei due maestri: il gatto (bellissimo) e... ci vorrebbe la volpe, ma va benissimo un tonno verde.
Affé mia (espressione trecentesca), corpo di mille balene (piratesco), non ho mai avuto due maestri al mio sevizio!  :2birre:
 :D
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 18 Maggio 2015, 10:49:43
Fatto.

Grazie vuott, a suo tempo mi consigliasti di togliere la parte del disegno del cerchio e ridurre la lezione al sodo ma io mi rifiutai perché pensavo fosse utile per capire meglio il “vortice”, se ti avessi dato retta non sarebbe successo niente.
A questo punto chiedo a Cocirio se la lezione così congegnata è utile, se il cerchio aiuta a capire oppure no.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 18 Maggio 2015, 10:51:02

Ho installato entrambi, ma non ho concluso niente. ...
...
Affé mia (espressione trecentesca), corpo di mille balene (piratesco), non ho mai avuto due maestri al mio sevizio!  :2birre:
 :D

Forse non ho capito il problema, ma dopo aver visualizzato i file nascosti se ci fai tasto destro e scegli altra applicazione?

Grazie per l'apprezzamento  :ok:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 18 Maggio 2015, 10:51:59
Servirebbe la visualizzazione dei file nascosti che non sembra possibile.

Ma, scusa, non l'avevi già impostata la cartella in modalità di visualizzazione dei file nascosti ?

...ad ogni modo la procedura è semplice:
1) aprire la cartella del nostro progetto Gambas;
2) cliccare in alto su "Visualizza";
3) clicca su "Mostra file nascosti".

...e poi continui come indicato da Gianluigi con "scegli altra applicazione" dal tasto destro del mouse.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 18 Maggio 2015, 18:48:40
Ok. Grazie. Non avevo pensato a cliccare col tasto destro. Ora che l'ho letto una volta con GHex, me lo legge con GHex anche se faccio doppio clic.

Riguardo al programma di rotazione lo trovo molto bello e istruttivo. Non so dire se il cerchio faccia capire meglio o no, ma ha una sua funzione estetica e, direi, di simmetria... A pensarci meglio, se non ci fosse non si capirebbe bene se il testo si muove in modo perfettamente circolare.
Ho inserito due label con bordo visibile, una "Posiziona il testo" sopra i quattro pulsanti che servono a posizionare il testo e una "Ruota di 45°" sopra i due pulsanti che lo fanno ruotare di 45°. Al posto delle label si potrebbero usare due frame, credo.
I commenti che iniziano con "Indica il tipo di rotazione" li sostituirei con "Imposta la posizione rispetto al cerchio" o "rispetto alla rotazione" se il cerchio non ci fosse. I concetti di "centro", "coda" e "testa" alla fine non risultano univoci ;D.

Non so se avete mai letto, visto o sentito la storiella o vignetta del programmatore/progettista che, interpretando la commessa, realizza un'altalena a due posti con tre corde. Poi si scopre che il committente aveva chiesto un copertone appeso a un albero.

Riguardo ai programmi di stampa, come ho già detto, mi succede che il risultato sulla carta si vede solo quando riesco a spegnere e riaccendere la stampante. Credo che la mia stampante non funzioni bene con Linux Mint perché, pur essendo riconosciuta, non ha un driver installato. Pazienza.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 18 Maggio 2015, 20:24:57
Credo che la mia stampante non funzioni bene con Linux Mint perché, pur essendo riconosciuta, non ha un driver installato.


E' probabile.   :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 21 Maggio 2015, 11:11:49
Chiedo scusa, ma devo tornare sulla mia difficoltà di leggere la documentazione.
Quando ho davanti la Ide di Gambas con un form contenente una DrawingArea, se seleziono la DrawingArea, sulla parte destra appaiono le relative proprietà e, più sotto tutta la documentazione della classe/controllo intitolata "DrawingArea gb.qt4". Suppongo che, come in altri casi già visti, ci sia un modo per ingrandire questo tipo di documento o per leggerlo da qualche altra parte. Mi è parso che nel Wiki non ci sia. Spero di sbagliarmi. Grazie.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 21 Maggio 2015, 13:47:58
Chiedo scusa, ma devo tornare sulla mia difficoltà di leggere la documentazione.
Quando ho davanti la Ide di Gambas con un form contenente una DrawingArea, se seleziono la DrawingArea, sulla parte destra appaiono le relative proprietà e, più sotto tutta la documentazione della classe/controllo intitolata "DrawingArea gb.qt4". Suppongo che, come in altri casi già visti, ci sia un modo per ingrandire questo tipo di documento o per leggerlo da qualche altra parte. Mi è parso che nel Wiki non ci sia. Spero di sbagliarmi. Grazie.

Per fare come da immagine allegata devi agire sul tasto funzione F1 quindi evidenzia gb.qt4 dal menu di sinistra dell'aiuto e cliccare sulla voce desiderata nella parte destra in questo caso DravingArea.
Puoi anche ingrandire l'aiuto che appare a destra trascinando i bordi...
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 21 Maggio 2015, 15:11:14
Grazie mille. Non so come farei senza di te. :D
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 22 Maggio 2015, 10:54:17
Eccomi di nuovo. Sto ripassando tutto sulla DrawingArea. Ho riguardato "Disegnare un cerchio con la classe Draw" e ho visto che la Draw non è più consigliata dalla versione 3.4 di Gambas. Quindi ho riguardato anche l'esempio con la classe Paint. Allora sull'esempio con Draw ho cambiato gli angoli start e stop credendo di poter vedere solo un settore del cerchio, invece ho visto solo cambiare il raggio (credo iniziale), ma il cercho è rimasto sempre intero.
Ho fatto poi lo stesso esperimento con la Paint aggiungendo nel metodo .Ellipse l'angolo di partenza e la lunghezza in radianti, e anche qui non ho visto nessun cambiamento. Come si spiega? Grazie.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 22 Maggio 2015, 11:22:34
Allora sull'esempio con Draw ho cambiato gli angoli start e stop credendo di poter vedere solo un settore del cerchio, invece ho visto solo cambiare il raggio (credo iniziale), ma il cercho è rimasto sempre intero.
Ho fatto poi lo stesso esperimento con la Paint aggiungendo nel metodo .Ellipse l'angolo di partenza e la lunghezza in radianti, e anche qui non ho visto nessun cambiamento. Come si spiega?

Ti ringrazio della segnalazione... nell'esempio con Draw avevo dimenticato  :mad: di convertire il valore inserito nell'esempio da gradi in radianti.  

Conseguentemente, per ottenere una parte di cerchio o di una ellisse, devi inserire in radianti gli altri parametri previsti allo scopo. Se inserisci il valore in gradi puoi convertirlo in radianti con la funzione Rad().
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 22 Maggio 2015, 13:46:02
hummm
io proverei così :

Codice: gambas [Seleziona]
Public Sub Button1_Click()
  
  Dim xc, yc, radius, fR, fD As Float
  
  DrawingArea1.Cached = True
  DrawingArea1.Clear
  With Paint
    .Begin(DrawingArea1)
     xc = DrawingArea1.W / 2
     yc = DrawingArea1.H / 2
     radius = DrawingArea1.W / 3
    .LineWidth = 0.5  
    .Brush = Paint.Color(8421504)      
    fR = Rad(270)
    fD = -1
    .Arc(xc, yc, radius, fR, fD, True)
    .Stroke(True)
    .Background = Color.RGB(255, 220, 0)
    .Fill    
    .End    
  End With

End
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 23 Maggio 2015, 09:19:28
Grazie. Ho provato come sempre l'esempio di .Arc in un progetto nuovo con un Form, una DrawingArea e un pulsante. L'esempio funziona perfettamente.
Ma ho voluto provare a:
1) togliere .Stroke: sembra ininfluente
2) togliere .Background:  quando non c'è il colore inserito con .Brush diventa grigio scuro. Quindi il giallo è una mescolanza tra i due colori?
3) togliere .LineWidth: quando non c'è sembra schiarire il colore!?
4) togliere il Pie True: viene fuori una corda invece che un settore

Poi sono tornato all'esempio di disegno di un cerchio pieno con il metodo Ellipse().
Qui siamo direttamente nella subroutine dell'evento Draw della DrawingArea dove ho modificato la linea ".Ellipse(100, 10, 100, 100)" in
".Ellipse(10, 10, 180, 180, Rad(0), Rad(150), True)" ed è venuto fuori un settore, che diventa una corda, senza il True. All'interno della subroutine si può anche togliere il Begin() senza cambiare il risultato. Scrivere 0 o Rad(0) è la stessa cosa :).

Ho aggiornato Gambas 3 alla versione 3.7.90 "a mio rischio e pericolo" ;D
Si vede qualche cambiamento nell'editor, precisamente nel copia e incolla. Ho imparato il Ctrl,Shift,v. Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 23 Maggio 2015, 14:27:11
Grazie. Ho provato come sempre l'esempio di .Arc in un progetto nuovo con un Form, una DrawingArea e un pulsante. L'esempio funziona perfettamente.
Ma ho voluto provare a:
1) togliere .Stroke: sembra ininfluente
2) togliere .Background:  quando non c'è il colore inserito con .Brush diventa grigio scuro. Quindi il giallo è una mescolanza tra i due colori?
3) togliere .LineWidth: quando non c'è sembra schiarire il colore!?
4) togliere il Pie True: viene fuori una corda invece che un settore

Poi sono tornato all'esempio di disegno di un cerchio pieno con il metodo Ellipse().
Qui siamo direttamente nella subroutine dell'evento Draw della DrawingArea dove ho modificato la linea ".Ellipse(100, 10, 100, 100)" in
".Ellipse(10, 10, 180, 180, Rad(0), Rad(150), True)" ed è venuto fuori un settore, che diventa una corda, senza il True. All'interno della subroutine si può anche togliere il Begin() senza cambiare il risultato. Scrivere 0 o Rad(0) è la stessa cosa :).
Ehi non so perché ma leggendoti mi è venuta in mente quella barzelletta che vede uno scienziato dedurre che le pulci da lui ammaestrate a saltare al suo comando sonoro, una volta private delle gambe diventano sorde.
 :violent:
Stroke serve a disegnare i contorni che in questo caso sono di spessore 0,5 (linewidth) e di colore grigio scuro (vedi brush), backgound così come brush assegnano il colore a quello che vai a dipingere se usi stroke contorni e se usi fill riempi (il colore di fill è dato da background con RGB).
Ho usato più metodi per farti vedere (capire?) i vari modi di paint.
Arc, xc e yc rappresentano il fulcro del cerchio, radius il raggio sono indispensabili e se ti limiti a questi tre ottieni un cerchio che puoi contornare oppure riempire (vedi sopra).
FR è il punto di partenza dello spicchio di cerchio fD ne è la dimensione o ampiezza.
True è il booleano che ti disegna la fetta di torta oppure se lasciato a false ti disegna lo spicchio
Sia fR che fD vanno espressi in radianti, prova a contornare solo (escludendo background e fill) e poi a riempire (escludendo brush e stoke) questi quattro spicchi in contrapposizione tra loro usando Rad() di partenza a 180 e 360 (o 0) e ampiezza A 90 e -90.
 :violent:
Citazione
Ho aggiornato Gambas 3 alla versione 3.7.90 "a mio rischio e pericolo" ;D
Si vede qualche cambiamento nell'editor, precisamente nel copia e incolla. Ho imparato il Ctrl,Shift,v. Ciao
:hatecomputer:

 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 23 Maggio 2015, 14:51:06
Ma ho voluto provare a:

Io lo dico sempre: può sembrare stupido, ma il comportamento con i giocattoli tipico dei bambini più piccoli, ossia quello di smontare per vedere come e è fatto, applicato allo studio di un linguaggio di programmazione (e non solo), può ritenersi un ottimo metodo per impare a programmare.



All'interno della subroutine si può anche togliere il Begin() senza cambiare il risultato.
Sì.


Scrivere 0 o Rad(0) è la stessa cosa :).

Sì, l'ho messo per ragioni didattiche, per simmetria con il successivo argomento del metodo.



Si vede qualche cambiamento nell'editor, precisamente nel copia e incolla. Ho imparato il Ctrl,Shift,v. Ciao
A me non piace assolutamente:    :hatecomputer:
1) prima potevi servirti della virgola per dare maggiore spazio tra una parola e l'altra nel caso facessi scrivere con Print qualcosa nella console dell'IDE.
2) prima era sufficiente, per copiare ed inserire un testo, la consueta modalità di evidenziare con il mouse il testo da copiare, e poi inserirlo cliccando con la rotellina del mouse. Adesso è tutto più complesso.
Uno schifo.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 23 Maggio 2015, 15:46:29
Se vuoi prova a cambiare il codice che ho postato prima così:
Sotto ' Gambas class file scrivi
Codice: gambas [Seleziona]
Private $fRad As Float
poi cambia fR e fD così
Codice: gambas [Seleziona]
fR = Rad($fRad)
fD = Rad(-90)
e infine sotto End With metti
Codice: gambas [Seleziona]
$fRad += 90
If $fRad = 360 Then $fRad = 0


Devo dare ragione a vuott è giusto provare, fai bene a provare occorre provare e io ho fatto male a “rimproverarti” (quello sotto sei tu che mi pesti a dovere)
 :violent:

 :ciao:
P.S. spero tu non ti riferisca al mio di Begin perché senza non può funzionare...
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 23 Maggio 2015, 16:55:59
.... Begin perché senza non può funzionare...
Una volta era necessario, devono nel frattempo essere state effettuate delle modifiche... suppongo.

Ad ogni modo quando viene sollevato l'evento _Draw() della DrawingArea, non è necessario impostare il metodo .Begin(DrawingArea1) .
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 23 Maggio 2015, 17:50:22
Sarà come dite voi a me non risulta se ad esempio nel codice per la rotazione del testo commento begin mi va in crash.
E a proposito dell'evento Draw che come si sa insieme a tutta la classe è deprecato dalla 3.4 ora se lo provate con la trunk il testo appare sfasato.
Pertanto seguendo i nuovi canoni di programmazione che deprecano Draw ho cambiato il codice e per brevità allego il programmino completo fatto con la 3.7 stabile ma che dovrebbe andare bene con tutti i Gambas vecchi e nuovi (spero).
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 25 Maggio 2015, 10:38:54
Gran Gianluigi fustigatore (e martellatore), che dici mai? A me, il tuo progetto, ben commentato, che mi ha fatto vedere la luce, funziona anche se ometto il metodo Begin così:
    ...With Paint  
     ' .Begin(da)  
      .Font.Size = ridimensiona(22) ...
A sproposito, ricordi che io ho aggiunto sul form due Frame intorno alle due serie di pulsanti ("Posiziona il testo" e "Ruota di 45°")?
Non so se ti interessa, ma vorrei comunicare a te e ad altri che prima di poterle utilizzare ho dovuto arretrarle rispetto ai pulsanti che, altrimenti, non riuscivo più a utilizzare.
Ti ringrazio di avermi chiarito la funzione del metodo .Stroke, che non mi era del tutto chiara, e della sua relazione con .LineWidth (se ci avessi messo 2 o 3 invece di 0.5, l'avrei visto, forse). Mi pare di aver chiarito anche la relazione tra il colore di 'Brush e quello di .Background.

L'evento _Draw (da non confondere con l'omonima classe "esecrata" ;)) a me sembra un po' anomalo, forse paragonabile a quello che viene chiamato "costruttore" (Public Sub _new()). Insomma mi pare che venga eseguito automaticamente dopo l'apertura del form. Mi sbaglio?

Cari bambini, noi che siamo appassionati di questo giocattolo a forma di gambero blu dall'andamento, direi, retrogrado e, a volte, un po' disordinato, nel bene e nel male, abbiamo tutti qualità bambinesche. Questa sentenza mi è venuta nel dormiveglia  :D.

Riguardo ai difetti delle ultime modifiche di Gambas3, sono d'accordo con Vuott (ma queste modifiche sono sempre e unicamente opera di Misinini?). A me che vengo da una lunga consuetudine con Windows dà molto fastidio l'impossibilità di usare lo Shift-Clic per completare una selezione nel codice.

 violent

Non capisco come ha fatto Pierluigi a prendere a martellate prima me e poi se stesso. Spiegami anche questo, Pierluigiaccio.



 

Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 25 Maggio 2015, 13:43:29
Gran Gianluigi fustigatore (e martellatore), che dici mai? A me, il tuo progetto, ben commentato, che mi ha fatto vedere la luce, funziona anche se ometto il metodo Begin così:
    ...With Paint  
     ' .Begin(da)  
      .Font.Size = ridimensiona(22) ...
A sproposito, ricordi che io ho aggiunto sul form due Frame intorno alle due serie di pulsanti ("Posiziona il testo" e "Ruota di 45°")?
Non so se ti interessa, ma vorrei comunicare a te e ad altri che prima di poterle utilizzare ho dovuto arretrarle rispetto ai pulsanti che, altrimenti, non riuscivo più a utilizzare.
Ti ringrazio di avermi chiarito la funzione del metodo .Stroke, che non mi era del tutto chiara, e della sua relazione con .LineWidth (se ci avessi messo 2 o 3 invece di 0.5, l'avrei visto, forse). Mi pare di aver chiarito anche la relazione tra il colore di 'Brush e quello di .Background.

L'evento _Draw (da non confondere con l'omonima classe "esecrata" ;)) a me sembra un po' anomalo, forse paragonabile a quello che viene chiamato "costruttore" (Public Sub _new()). Insomma mi pare che venga eseguito automaticamente dopo l'apertura del form. Mi sbaglio?

Cari bambini, noi che siamo appassionati di questo giocattolo a forma di gambero blu dall'andamento, direi, retrogrado e, a volte, un po' disordinato, nel bene e nel male, abbiamo tutti qualità bambinesche. Questa sentenza mi è venuta nel dormiveglia  :D.

Riguardo ai difetti delle ultime modifiche di Gambas3, sono d'accordo con Vuott (ma queste modifiche sono sempre e unicamente opera di Misinini?). A me che vengo da una lunga consuetudine con Windows dà molto fastidio l'impossibilità di usare lo Shift-Clic per completare una selezione nel codice.

 violent

Come puoi vedere dall'immagine allegata se commento Begin mi da errore sia su Gambas compilato che da PPA che su Trunk.
Ne deduco che è comunque buona norma usare begin anche perché lo dice la documentazione.

Si sull'evento Draw hai ragione non va confuso con la classe, il problema è che con la Trunk il programma in questione appare così come da immagine ma se sposto il codice dall'evento Draw ritorna a funzionare correttamente, potrebbe anche trattarsi di bug, naturalmente io ho solo Ubuntu 14.04 non so se su ambienti QT cambiano le cose. Potrebbe essere causato da altro...
Violent? Molto usato da vuott come metodo educativo...  ;D

Citazione
Non capisco come ha fatto Pierluigi a prendere a martellate prima me e poi se stesso. Spiegami anche questo, Pierluigiaccio.

Pierluigi ??? ah si lui!
(http://www.gifanimategratis.eu/img/bambini/neonati/neonati0.gif)

... forse a scelto fra ALTRI
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 26 Maggio 2015, 10:53:13
 sanmidi
Grazie!
Ora dovremmo scoprire perché a te l'assenza del Begin prende errore e a me no. Ma come si fa?
Non so che cos'è Trunk, ma ora vado a cercare.
Ok. Ho letto qui http://www.gambasdoc.org/help/howto/svn che è una cartella del Repository, il quale è strutturato come un filesystem e contiene la copia del source di Gambas e le varie modifiche. Dice anche che chiunque può scaricare sul proprio disco una copia del repository. Per ora, preferisco avere solo l'ultima copia di Gambas. Anzi, forse è meglio che torno indietro all'ultima versione stabile.
Io intanto sono andato avanti nello studio. Ho visto tutti gli esempi che mi avevi indicato nel tuo primo messaggio. Credo di essere stato abbastanza istruito sulla DrawingArea e vorrei passare ad altro: per esempio a MySql. Però, prima voglio mettere a punto il progetto che ho ricavato da queste lezioni e mandarvelo. Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 31 Maggio 2015, 16:31:02
Bene. Ora vorrei mandarvi la cartella del progetto di prove grafiche con DrawingArea in modo che voi possiate vedere ed eseguire tutto, ed eventualmente suggerirmi qualche miglioramento. Ma non so come si fa. Spero che sia possibile. Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 31 Maggio 2015, 16:50:05
Ma non so come si fa. Spero che sia possibile.
Crei il file compresso dei sorgenti:

 (in alto a sinistra)  Progetto --> Crea --> Pacchetto sorgenti...

Quindi qui nel forum, aggiungi normalmente un messaggio a questa discussione e clicchi a sinistra  "Opzioni aggiuntive"
Poi clicca sul tasto virtuale "Browse" e individui il file compresso prima creato dei sorgenti. Lo alleghi ed invii il messaggio.

Solo i membri iscritti e che abbiano fatto il login potranno scaricare quel file.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 02 Giugno 2015, 11:11:44
Ok. Avrei voluto provare prima a compilare e installare il progetto da qualche parte. Ma non so come fare. Forse seguendo la procedura indicatami da Gianluigi per compilare e installare gambas? Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 02 Giugno 2015, 11:50:02
Ok. Avrei voluto provare prima a compilare e installare il progetto da qualche parte. Ma non so come fare. Forse seguendo la procedura indicatami da Gianluigi per compilare e installare gambas? Ciao
http://www.gambas-it.org/smf/index.php?topic=3891.msg34922#msg34922
http://cursogambas.blogspot.com.es/2012/09/crear-un-paquete-de-instalacion-de.html
 :-X

Ho scaricato il tuo programma poi lo guardo, però da quello che scrivi non si capisce che lo hai allegato al post.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 02 Giugno 2015, 13:41:48
Cocirio, ho verificato il funzionamento dei due tasti rossi.

Come ho avuto modo già di dirti in precedenza, quei due codici mi funzionano perfettamente, purché l'ultimo argomento della funzione esterna XGetImage() venga cambiato da XYPixmap a ZPixmap.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 02 Giugno 2015, 13:47:38
Se vuoi porre rimedio agli strani caratteri negli indirizzi http:

Codice: gambas [Seleziona]
Dim sPath, s As String
  ' Usando la funzione di vuott (ben commentata che trovi qui http://www.gambas-it.org/smf/index.php?topic=3312.msg32380#msg32380)
  ' Comunque a me da sempre WARNING! ((process:7408): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed ecc. ecc.)
  s = "http://www.gambas-it.org/wiki/index.php?title=Disegnare_un_cerchio_con_le_Classi_%22Draw%22_e_%22Paint%22"
  sPath = controllo(s)
  Message("<a href=" & sPath & ">PIPPO</a>")
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 02 Giugno 2015, 16:59:18
Il codice della form 14 nulla ha a che fare con la lezione da te indicata, o sbaglio?
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 02 Giugno 2015, 17:43:10
1) A vuott. So che me l'hai detto. E io l'ho provato. Ma non mi funziona nemmeno con questa versione di gambas che, del resto, è quella che avevo allora.
2) A Gianluigi. Attualmente, con la versione 3.7.1, non ho più strani caratteri.
3) Ancora a Gianluigi. I form 14 e 15 riguardano stampe, ma sempre attraverso l'uso di DrawingArea, no? Per vedere le pagine web di origine, ho messo su ogni form il menu "origine web". Il programma del form 14, a me stampa una pagina che rimane incastrata nella stampante, quello del form 15 funziona perfettamente. La mia stampante, come mi pare di aver detto, non ha un driver (che non sono riuscito a trovare) anche se è riconosciuta dal sistema e, generalmente, fuori di gambas, funziona.
Solo il codice del form 17 non c'entra. Ce l'ho messo solo perché ha le API X11.

Piuttosto, vi sembra normale che su questo gambas 3.7.1 ci sia scritto DEVELOPMENT VERSION, USE AT YOUR OWN RISK?

Ooops! Gianluigi, hai ragione. La pagina web non è quella giusta. Ora la vado a cercare.
Ciao
Ecco la pagina giusta: http://www.gambas-it.org/wiki/index.php?title=Stampare_il_contenuto_di_una_DrawingArea
Correggo e alla fine rifaccio il pacchetto.
...
Avevi ragione anche sui caratteri strani. Vado a vedere.
No. A me serve un'altra cosa, che in VB6 si risolve facilmente. P. es. a consolle:
a$="prova_" & """Drop""" & "_" & """Paint"""
? A$
prova_"Drop"_"Paint"
Capito? Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 03 Giugno 2015, 10:32:25

...
Avevi ragione anche sui caratteri strani. Vado a vedere.
No. A me serve un'altra cosa, che in VB6 si risolve facilmente. P. es. a consolle:
a$="prova_" & """Drop""" & "_" & """Paint"""
? A$
prova_"Drop"_"Paint"
Capito? Ciao


Non capisco cosa vuoi dire perché la soluzione di vuott è efficentissima  :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 03 Giugno 2015, 12:11:05
.... in VB6 si risolve facilmente. P. es. a consolle:
a$="prova_" & """Drop""" & "_" & """Paint"""
? A$
prova_"Drop"_"Paint"


In Gambas hai almeno quattro modalità per ottenere quel risultato in console:
Codice: gambas [Seleziona]
Public Sub Main()

  Dim a$ As String
 
  a$ = "prova_" & "\"Drop\"" & "_" & "\"Paint\""
  Print A$
 
  a$ = "prova_" & Quote("Drop") & "_" & Quote("Paint")
  Print A$
 
  a$ = "prova_" & Chr(34) & "Drop" & Chr(34) & "_" & Chr(34) & "Paint" & Chr(34)
  Print A$
 
  a$ = "prova_" & "\x22Drop\x22" & "_" & "\x22Paint\x22"
  Print A$

End


La prima modalità è quella generalmente più utilizzata. Essa prevede l'utilizzo di un segno escape che viene generalmente adoperato per proteggere un carattere successivo o per attribuire a tale carattere un significato speciale.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 03 Giugno 2015, 23:15:04
1) A Gianluigi. Volevo dire che non m'interessava convertire una stringa come "%22" in un doppio apice, per riconvertire il risultato della copia dell'URL http://www.gambas-it.org/wiki/index.php?title=Disegnare_un_cerchio_con_le_Classi_"Draw"_e_"Paint" nell'editor di gambas. Mi sembrava più giusto farlo congiungendo più stringhe mediante l'operatore '&' come ho fatto in VB6.
2) A vuott. E' davvero meraviglioso! Ho provato i quattro modi e funzionano tutti.
Vorrei capire meglio il meccanismo.
Vediamo la sequenza "\"Drop\"". I due doppi apici estremi sono quelli che regolarmente racchiudono una stringa. La barra inversa è il carattere 'escape' che, precedendo un doppio apice, determina la propria scomparsa in favore del carattere successivo al momento della composizione della stringa finale al run time.
Questa ipotesi però non può essere generalizzata perché la cosa sembra funzionare solo col doppio apice, con l'apice semplice e con... x22 (?) . Con altri caratteri viene fuori "Bad character constant in string". Probabilmente è giusto così.

La funzione 'Quote' con quel nome doveva per forza riguardare le virgolette, cioè i doppi apici (avete notato che l'esempio nella documentazione della Quote dà errore?

Gli ultimi due modi, per me, sono i più mnemonici, dato che 34 e 22 sono il codice ascii del doppio apice in decimale ed esadecimale.

Comunque, siccome devo correggere le origini web dei primi 4 esempi e del sesto, questi 4 modi non mi bastano :rolleyes: ;D
Ciao :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 04 Giugno 2015, 18:27:20
Beh, ragazzi, ho corretto i messaggi con gli url difettosi, seguendo le 4 modalità suggerite da vuott. Ho fatto anche le altre correzioni di difetti che mi avete segnalato.
Ora voglio segnalarvi lo strano comportamento della TextArea nel form 7: per selezionare il testo su 3 righe non va bene trascinare il cursore, devo per forza cliccare sull'inizio e poi, con lo shift, cliccare sulla fine del testo (o viceversa). Allora sono andato a vedere tra le proprietà per capire se dovevo impostare qualcosa e ho visto la proprietà 'drop', che non c'entra, ma ho voluto provare che succedeva se la mettevo a 'true'. L'effetto è stato che, anche se selezionavo i tre versi, il drag & drop verso un punto della DrawingArea rilasciava un'unica riga! Che significa tutto ciò? E che significa il fenomeno contrario?
Grazie. Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 04 Giugno 2015, 18:38:03
Ora voglio segnalarvi lo strano comportamento della TextArea nel form 7: per selezionare il testo su 3 righe non va bene trascinare il cursore, devo per forza cliccare sull'inizio e poi, con lo shift, cliccare sulla fine del testo (o viceversa). Allora sono andato a vedere tra le proprietà per capire se dovevo impostare qualcosa e......
 Che significa tutto ciò?

Tentando di selezionare con il mouse nelle modalità consuete uno o più caratteri del testo presente nella TextArea, si solleva l'evento DrawingArea1_Drop(), che lì è impostato con una propria routine.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 05 Giugno 2015, 09:03:50
Tsk, tsk. Ci ho messo un breakpoint. Finché non si entra nella DrawingArea, non sembra che si sollevi l'evento. Ma il mio stupore principale è il fatto che, se NON seleziono in un modo qualunque tutto il testo e poi lo trascino nella DrawingArea, il testo trascinato è in una sola riga. Al contrario, se lo seleziono e poi lo trascino, il testo trascinato (drag.data) è correttamente in tre righe.
L'altra cosa che mi meraviglia è che se imposto a true la proprietà drop nella TextArea, il testo trascinato è sempre in una sola riga.
Terzo motivo di stupore, ma non troppo, è che l'impostazione a true o a false della proprietà drop nella DrawingArea è indifferente. Ma questo, secondo me, è un pregio, non un difetto. Solo, sarei curioso di sapere in quali casi (se esistono) questa proprietà agisce, cioè accetta o non accetta il drop.
Beh, non voglio essere troppo pignolo. Questa creatura un po' capricciosa di Minisini mi affascina sempre di più. :D
 :ciao:
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 05 Giugno 2015, 09:53:48
se NON seleziono in un modo qualunque tutto il testo e poi lo trascino nella DrawingArea, il testo trascinato è in una sola riga. Al contrario, se lo seleziono e poi lo trascino, il testo trascinato (drag.data) è correttamente in tre righe.
A me non funziona così.
Cliccando su una qualunque parte del testo, trascinandolo nella DrawingArea, al rilascio lì appare l'intero testo.


Terzo motivo di stupore, ma non troppo, è che l'impostazione a true o a false della proprietà drop nella DrawingArea è indifferente. Ma questo, secondo me, è un pregio, non un difetto. Solo, sarei curioso di sapere in quali casi (se esistono) questa proprietà agisce, cioè accetta o non accetta il drop.

...ed infatti il comportamento della DrawingArea a te non è regolare, poiché per attivare l'azione del Drop è di norma necessario porre a Vero la proprietà .Drop della DrawingArea. Proprietà che di default è impostata a False; circostanza che lascia intendere che la funzionalità del Drag-Drop è eccezionale rispetto ad un diverso uso normale e predefinito dell'oggetto.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 05 Giugno 2015, 16:51:13
Caro vuott, qui mi pare che ci sono troppe diversità tra il mio e il tuo sistema. Entrambi, se ricordo bene, abbiamo Linux Mint. Quindi le differenze dovrebbero essere solo in Gambas3. Credo che tu abbia la versione 3.7.90, giusto?
Scusa, quando dici che al rilascio ti appare l'intero testo intendi che ti appare su tre righe, come è l'originale?
Allora che posso fare per accertare che il mio gambas3 sia impostato a dovere? Mi verrebbe voglia di reinstallare tutto, ma poi dove vado a prendere il gambas buono?
A un paio di cose né tu né Gianluigi mi avete risposto:
1) è normale che sul mio gambas3-3.7.1 compaia "DEVELOPMENT VERSION. USE AT YOUR OWN RISK!"?
2) sulla documentazione della funzione Quote (ottenuta con F2) è riportato l'esempio 'PRINT Quote("Questa non è una \\"quotata\\"\\nmulti-linea stringa.")' che, alla prova, mi dà l'errore "Missing')'".  Mi pare che per funzionare bisogna evitare il raddoppio delle barre inverse. Non capisco perché hanno messo questo esempio.
Comunque, se abbiamo tutte queste diversità dobbiamo fare qualcosa per capire perché.
Io ora rifaccio il pacchetto del source che ho creduto di correggere e ve lo rimando.
Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 05 Giugno 2015, 19:10:58
Scusa, quando dici che al rilascio ti appare l'intero testo intendi che ti appare su tre righe, come è l'originale?

Ciao, sì, scusami, avevo interpretato male la tua descrizione.
Confermo che se trasporto semplicemente il testo, nella DrawingArea esso sarà disegnato su un'unica riga; se, invece, lo evidenzio con la modalità, da te indicata, viene rispettato il carattere di fine riga  a capo.
Bene, ho riportato nella relativa pagina della WIKI come annotazione questo comportamento particolare del Drag&Drop.
Il Drag&Drop funziona solo, comunque, se la proprietà .Drop della DrawingArea è impostata a Vero.




Riguardo all'avviso "DEVELOPMENT VERSION. USE AT YOUR OWN RISK!" io ricordo che era presente anche nelle precedenti versioni.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 05 Giugno 2015, 20:09:47
Confermo che Drag&Drop funziona così (male). Io ad esempio se nella tua finestra clicco e trascino per evidenziare tutto il testo sposto solo la N iniziale.
L'avviso “DEVELOPMENT...” lo avevo segnalato a Minisini ma non mi ha dato retta  :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 06 Giugno 2015, 10:18:13
Beh, mi date notizie confortanti per me. Vorrei che mi rispondeste anche sull'esempio nella documentazione della Quote.
Ora vi allego il source del progetto con le mie correzioni.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 06 Giugno 2015, 14:25:11
Beh, mi date notizie confortanti per me. Vorrei che mi rispondeste anche sull'esempio nella documentazione della Quote.
Ora vi allego il source del progetto con le mie correzioni.

Si tratta di un refuso, prova questo codice:
Codice: gambas [Seleziona]
Print Quote("This is not a \\\"quoted\\\"\\nmulti-line string.")
  Print UnQuote("This is not a \\\"quoted\\\"\\nmulti-line string.")

Se proseguivi a leggere la documentazione e guardavi UnQuote avresti compreso da te  :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 06 Giugno 2015, 15:24:39
Beh, mi date notizie confortanti per me. Vorrei che mi rispondeste anche sull'esempio nella documentazione della Quote.

Bravo comunque ad aver segnalato il refuso che a mia volta ho segnalato sulla ML ufficiale.

Citazione
Ora vi allego il source del progetto con le mie correzioni.

Mi puoi spiegare perché alleghi questo codice che alla fin fine è un mero copia e incolla? Che tu lo faccia per te per poi studiarlo ed eventualmente chiedere lumi su passaggi poco chiari, questo lo capisco ma che tu poi lo invii a noi questo non riesco a spiegarmelo  :-\
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 06 Giugno 2015, 16:51:03
Stai parlando del progetto su DrawingArea? Mi sembrava un buon modo per mostrarvi quello che avevo imparato. Non è solo un copia e incolla. Speravo nelle vostre segnalazioni di errori e, magari, idee per miglioramenti. Oltretutto ci sono quei due form rosa che a me non funzionano e a vuott sì (ma credo di aver capito che nel portatile no). E a te? Questo, per me, è un incidente poco accettabile. Speravo anche in interventi di altri iscritti al forum.
Va bene. A questo punto, credo che la discussione possa essere considerata chiusa. Posso dichiarare il mio problema risolto: ho imparato molto più che l'uso della DrawingArea. Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: vuott - 06 Giugno 2015, 17:06:50
Speravo nelle vostre segnalazioni di errori e, magari, idee per miglioramenti.

...ho imparato molto più che l'uso della DrawingArea.
E' un codice troooppo vasto.  :D
Per questi fini forse è più opportuno - come tra l'altro hai comunque fatto - indicare particolari passaggi e problemi.

Ad ogni modo, dobbiamo riconoscere che il tuo intervento ci ha permesso di individuare qualche problema nel frattempo sorto (ultimamente sono stati fatti dei cambiamenti in Gambas) dal giorno della redazione di quelle pagine nella WIKI (ovviamente andare a verificarle tutte ormai è un'impresa titanica !) e ad approfondire alcuni aspetti (...la scienza della programmazione e dell'informatica è un campo senza fine !): anche noi abbiamo appreso qualcosa in più.  :)

Ciao
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Gianluigi - 06 Giugno 2015, 19:54:34
@Cocirio
spero tanto di non averti offeso, non era certo mia intenzione, ma come ti ha già detto vuott e io in parte avevo cercato di esprimerti, anche se un po troppo concisamente, non puoi pensare che uno si metta a controllare il codice di 18 form, che se non è “mero copia incolla” poco ci manca :)
Tu fai bene a studiarti il codice scritto nei post e/o lezioni e fai ancora meglio a chiedere lumi e a proporre perplessità ottimo  :ok:
E sono molto contento che dalle risposte di vuott e mie tu abbia tratto vantaggio, anche io ho imparato qualcosa.
Però devi cercare di rimanere concentrato sul problema altrimenti diventi dispersivo e finisce che non ricevi l'aiuto desiderato e non dai aiuto a chi avrà un domani gli stessi tuoi problemi.
Ricorda una discussione un problema anche se devo ammettere che la DrawingArea è ... vastissima.
Se hai ancora delle domande circoscrivile il più possibile in modo da facilitare la risposta.
 :ciao:
P.S. Se davvero ti reputi soddisfatto inserisci Risolto nell'oggetto del primo post.
Titolo: Re: progetto di disegno nella guida per principianti
Inserito da: Cocirio - 07 Giugno 2015, 08:43:50
Ok. Grazie a tutti. A presto.