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.


Post - vuott

Pagine: 1 ... 750 751 [752] 753 754 ... 756
11266
Si, vabbè, ma i 100 ?  :evil:

 :rotfl: :rotfl: :rotfl:

...attendo fattura.   :devil:

11267
...sarà un caso, ma credimi md9327, mentre leggevo la tua esauriente risposta sono cominciati i fuochi d'artificio in un paese vicino casa mia. Evidentemente hai fatto contento  :yeah:  anche qualche altro Gambasista !
Ciò che hai scritto è un ottimo contributo che potrà essere ovviamente utile - questa è la cosa più importante - anche ad altri in futuro.

Voglio ringraziare anche Picavbg per il suo contributo.

Sono molto soddisfatto, grazie ancora molto.  :-*

11268
Da codice, puoi usare il comando....

Perdonami, sono solo - per ora (ed è già molto per me!  :'( ) - riuscito a richiamare dal Form principale genericamente una funzione in un modulo.
Quindi, facendo riferimento alle tue preziose indicazioni (delle quali ti ringrazio), puoi instradarmi sul seguente breve esempio ?
  • facciamo finta che io ho due tasti: button1 e button2
  • se premo button1, il comando finale dovrà essere un  PRINT variabile_A
  • se premo button2, il comando finale dovrà essere un  PRINT variabile_B
...ovviamente nulla mi vieta di mettere tutto nella FMainClass, ma io voglio spostare la parte afferente ai Button nel modulo.........  :-[

11269
Domande tecniche (Gambas 2) / Re: Componenti (toolkit) in gambas
« il: 23 Giugno 2011, 12:20:05 »
Edit [Ceskho] su messaggio [vuott]: Scusami per la "censura" ma ho editato il messaggio per nascondere una frase che avrebbe potuto toccare la sensibilità religiosa di alcuni utenti! so che alcune frasi fanno parti di settori gergali del nostro linguaggio ma possono risultare comunque lesive ai più. grazie per la comprensione.

Ti capisco. Provvedo a cambiare l'esclamazione.  ;D

11270
Problema:
Sul form ho una trentina di tasti. Per ciascuno di questi - evidentemente - al click sarà prevista una routine con relativa funzione.
Nel codice del programma, che prevede ovviamente anche molto altro, dovrò, pertanto, scrivere 30 routine di eventi click relative a ciascun tasto.

Intenzione:
Io vorrei evitare - per ragioni di chiarezza e di facilità nel controllo visivo dell'intero listato - di inserire, se possibile, tutti quegli eventi click nella main.class. Preferirei, invece, inserire tutte le routine degli eventi click dei tasti - se possibile - in un luogo separato, a parte.

Domande:
  • le inserisco altrove, ad esempio in un'altra "class" creata ad hoc ?
  • ma "altrove" posso piazzarci solo funzioni, operazioni, o posso metterci anche gli eventi (come appunto un click su un button) ? Insomma, in questo caso, cliccando su un tasto, il programma riconoscerebbe comunque che è accaduto l'evento click, anche se scritto non nella Main.class (principale) ?

11271
potresti provare a embleddare il tuo editor all' interno del tuo programma , magari funziona meglio, oppure puoi provare a vedere se esiste un comando in bash per dare il focus ad una data finetra, partendo dal suo id , in questo modo quando hai scritto cio che vuoi sul tuo programma dai il focus alla finestra dell' editor e poi di nuovo al tuo programma.

Grazie "fsurfing" per il tuo contributo. La funzione "Embedder.Embed" è abbastanza complessa da quel che ho visto... magari per questo miracolo mi voglio attrezzare meglio.  ;D
Però prezioso è stato il tuo suggerimento del comando in bash. Facendo una ricerca, ho trovato il comando wmctrl, il quale consente di interagire, combinato soprattutto con l'opzione " -a ", appunto con una determinata finestra avente un certo "Nome" e/o "PID".

Per gli amici del forum, assetati di conoscenza, segnalo di seguito l'indirizzo web della pagina relativa al comando wmctrl: http://linux.die.net/man/1/wmctrl

Quindi ora il codice si trasforma mediante l'eliminazione dei precedenti comandi "ME.Hide" e "ME.Show", ed aggiungendo il comando: < SHELL "wmctrl -a Nome_finestra_del_programma" >.
Be', effettivamente un miglioramento c'è stato, giacché non avviene più quel macchinoso - seppur veloce - scompari/ricompari del Form, a causa del quale, se fatto fare più volte con frequenza troppo alta, potrebbe sorgere il rischio di un qualche crash: a me - anche se per una volta sola - s'è imballato  :rolleyes: il sistema.

Segnalo, però, due cose:
  • ora con il nuovo comando "wmctrl" non c'è più bisogno di inserire uno spazio alla fine della stringa e conseguentemente non c'è neppure più bisogno del comando "Desktop.Sendkeys("[BackSpace]"), perché la stringa viene mostrata nell'editor anche senza lo spazio finale che avevo dovuto inserire nel precedente codice.
  • tra il nuovo comando "wmctrl" e "Desktop.Sendkeys" ho dovuto porre un wait (fissato comunque a 1/10 di secondo), altrimenti non viene scritta la stringa nell'editor (...altro mistero :mad: ).

Per riassumere, quel codice, sopra inserito, è diventato ora così:

Codice: gambas [Seleziona]
' Gambas class file

PUBLIC SUB Form_Open()

' All'apertura del programma per comodità lancia l'editor "gedit"
' (uso "gedit" a fini sperimentali del codice)
  SHELL "gedit"

END

PUBLIC SUB Button1_Click()          ' svolge le funzioni di scrivere una stringa in "gedit"

' serve a far andare il focus nell'editor "Gedit", e quindi a tenere sempre il cursore all'interno di "Gedit"
'Il nome della finestra del programma Gedit è: " gedit "; quindi inserirò questo nome così scritto.
   SHELL "wmctrl -a gedit"     ' l'opzione " -a " serve ad assegnare appunto il focus nella finestra " gedit ".

' mi sono visto costretto ad inserire un seppur brevissimo WAIT,
' ...altrimenti la stringa non viene scritta  :-(
  WAIT 0.1

' scrive in "gedit" la stringa (lo spazio finale non è più indispensabile)
   Desktop.SendKeys("Stringa")

END


Vi farò sapere eventualmente quello che succede con l'uso di Embed.

11272
....Io guarerei le potenzialità di Sendkey....

Ringrazio gli intervenuti.

Il suggerimento di "Berserker79" è affascinante, ma, anche leggendo i dubbi di "Ceskho" al riguardo, ho cominciato con quello che mi sembrava a prima vista più abbordabile per me. E' stata la mia "prima volta" con la funzione "desktop.sendkeys", pertanto ho dovuto guardarmi le spiegazioni, fare prove, sbagliare, riprovare, bestemmiare, e tutto il resto normalmente annesso....

Ad ogni modo, ho ottenuto quello che volevo: far scrivere una semplice stringa in un altro editor di testo premendo un tasto dal mio programmino Gambas. Vi allego il brevissimo codice sperimentale ed esemplificativo e vi dico i due problemi che ho incontrato e come li ho risolti  ....probabilmente non in modo elegante, ma mi pare di averli risolti:

Codice: gambas [Seleziona]


' Gambas class file


PUBLIC SUB Form_Open()

  SHELL "gedit"        ' All'apertura del programma per comodità lancia l'editor "gedit"
                               ' (uso "gedit" a fini sperimentali del codice)

END


PUBLIC SUB Button1_Click()        ' serve a far andare il focus nell'editor "gedit"
                                                   ' e quindi a tenere sempre il cursore all'interno di "Gedit"

   ME.hide                   ' nasconde il form...

    scrive()              ' chiama la subroutine "scrive()"

END

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 ' mademoiselle la Subroutine......


PUBLIC SUB scrive()                 ' svolge le funzioni di scrivere in "gedit"

  Desktop.SendKeys("Stringa ")      ' scrive in "gedit" la stringa "con uno spazio finale",
                                                    ' ...altrimenti non viene scritta  :-(

   Desktop.SendKeys("[BackSpace]")     ' ...ma io non voglio lo spazio alla fine della stringa,
                                                           ' e con questo comando lo elimino.
 
    ME.show                                ' il form, che avevo precedentemente nascosto, resta tale solo per un attimo,
                                                  ' perché mi deve essere subito mostrato per darmi la possibilità - qualora io lo voglia -
                                                  ' di inserire un'altra volta la stringa premendo il tasto (e così via).

END



1^ questione: se metto normalmente la stringa (che dovrà essere scritta) in Desktop.SendKeys, ...nell'editor non mi viene scritta  ???. Per farla scrivere devo porre uno spazio alla fine della stringa, in questo modo: "Stringa ".
La domanda è: perché ci vuole lo spazio ?

2^ questione: una volta premuto con il mouse il tasto del mio programmino, per far scrivere la stringa nell'editor avviato parallelamente, devo spostare il mouse per cliccare all'interno dell'editor. Insomma, per far comparire la scritta nell'editor devo fare in modo da attivare lì il focus del cursore. Però si capirà che questo è tutto un po' farraginoso con aggiunta di perdita di tempo: clicca qua nel programmino, spostati là nell'editor e cliccaci dentro per poter far comparire il risultato, poi torna al programmino Gambas per cliccare nuovamente sul tasto, poi torna sull'editor per vedere il risultato... insomma troppo un casino !  :nono:
Io, invece, ho bisogno di una cosa semplice e veloce ovviamente: clicco sul tasto del mio programmino Gambas e vedo apparire immediatamente la stringa prevista nel campo dell'editor; poi senza spostare il mouse di qua e di là nello schermo del monitor clicco nuovamente sul tasto e vedo immediatamente apparire la stringa prevista nel campo dell'editor ! Questo vorrei !  :hatecomputer:
Mentre riflettevo e provavo il mio programma, vedevo che, quando cliccavo nell'editor Gedit per far apparire la stringa, il programmimo Gambas ovviamente spariva, ....m'è venuto in mente, dunque, che se avessi fatto sparire il programmino all'atto della scrittura, senza però chiuderlo, forse avrei ottenuto il focus del cursore nell'editor, e quindi la comparsa della stringa (...come se avessi cliccato con il mouse nell'editor. Insomma ho pensato che avrei dovuto riprodurre in modo controllato il fenomeno della sparizione del mio programmino !). Ho utilizzato il comando ME.hide, ed infatti così è stato... e senza dover spostare il mouse là in gedit e cliccarci dentro ! Ovviamente mi serviva far comparire subito il programmino per poter cliccare nuovamente sul tasto. Per fare questo ho inserito il comando ME.show.  ...a me la cosa va, forse è una soluzione rozza, ma pare che va  :-\ !
La domanda è: secondo voi c'è un metodo alternativo più elegante e preciso ?

11273
OpenBar / Re: Arduino
« il: 17 Giugno 2011, 13:00:59 »
Cioè? Non capisco...
Mica c'è solo lui che adopera Arduino... ma è qualcuno che dovrei conoscere?  :-[

Certo che non è l'unico ad usare arduino. L'ho citato solo per curiosità, perché utilizza il chip per hardware di uso musicale.

11274
Domande tecniche (Gambas 2) / Re: Componenti (toolkit) in gambas
« il: 10 Giugno 2011, 11:37:36 »
....cerco aiuto, magari frantumando i sacri gioielli di famiglia.

...come linux gestisce l'HW...ok, ora so che tutto passa attraverso il device ma a livello pratico non so come farlo...

Se non ci sono già state esperienze dirette su un argomento, su un problema, come ha detto md9327, l'unica cosa è provare, cercare e domandare in giro. Ne so pure io qualcosa quando ho sbattuto la testa  :hard: con la questione della gestione con Gambas dei dati Midi grezzi in ambiente O.S.S.  :hatecomputer: . Caspita, se ci ripenso ! Però alla fine l'ho spuntata.  :P

Ad ogni modo anche lì per me - neofita, del tutto inesperto - la prima difficoltà è stata quella di capire  che appunto "tutto passa attraverso il device" e che questo dispositivo ha un suo "identificativo".

11275
Programmazione (Gambas 2) / Re: Eseguibile gambas
« il: 09 Giugno 2011, 10:15:57 »
Altra discussione al riguardo è qui:

http://www.mail-archive.com/gambas-user@lists.sourceforge.net/msg04225.html

Nella prima risposta alla domanda iniziale viene detto quanto segue:

" To run a gambas executable you only need the gambas
runtime - basically /usr/bin/gbr2 , and support files in /usr/lib and
/usr/share. On a Debian system the package is named "gambas2-runtime";
you should also install every component used by the application: they
are named "gambas2-gb-xxx"; for example, "gambas2-gb-gtk" and so on.
"

Inoltre, altrove si dice ( http://gambasdoc.org/help/doc/whatisgambas?en&view ) che " Note that a Gambas executable is just an uncompressed archive of a project. It can include any type of file, not just compiled bytecode, and it is internally accessed by the interpreter like a file system. ".

Tutto ciò premesso significa che è necessario assolutamente, dunque, avere installato l'interprete gambas; e quindi bisogna installare il pacchetto base di gambas ?

11276
Programmazione (Gambas 2) / Re: Eseguibile gambas
« il: 08 Giugno 2011, 23:04:33 »
Citazione da:  link=topic=450.msg4021#msg4021 date=1233438177
http://www.gambas-it.org/gmbs/modules/newbb/viewtopic.php?topic_id=367&forum=4&post_id=3305#forumpost3305

Questo collegamento non è più utile; ora la pagina è visibile qui:

http://www.gambas-it.org/smf/index.php?topic=367.0

11277
Scrivere un proprio editor non è proprio vagliabile come ipotesi?

Be'... no, perché io dovrei "pilotare" un editor di testo, esterno al mio ipotetico programma con i tasti, che ha due aree: una dove scrivere i codici, l'altra dove - ai codici immessi - vengono mostrati dei simboli speciali, che si sovrappongono anche fra loro.

La necessità di avere un programma che si interfaccia ed invia dati ad un altro programma, l'edito di testo principale, è data dal fatto che inserendo i codici (mediante i tasti del mio programmino  :-* ) dovrei costantemente controllarne il risultato finale con i simboli.

Insomma...... quali sono gli elementi da tenere conto per emulare una normale tastiera periferica per scrivere testo ? Credo che il mio programma si andrebbe ad affiancare - per certi versi - alla normale tastiera periferica per PC, in parte emulandone il comportamento nell'invio di dati (solo che nel mio caso sarebbe a livello software; nel caso di tastiera è un hardware vero e proprio che si interfaccia col calcolatore. No ?

11278
...sì, è una possibile soluzione. Però non mi accelera le cose: clicca sul tasto virtuale per memorizzare il codice ASCII, poi spostati con il topastro nel editor, quindi schiaccia Ctrl+v.... io invece vorrei far comparire il gruppo di caratteri nell'editor con il solo clic sul tasto virtuale del programmino houncaneascii.

A questo punto mi conviene scrivere direttamente nell'editor e... buonanotte.

11279
...come mai non metti in conto di reliazzare un particolare editor?...

Sì, effettivamente la tua domanda è legittima, non avendo io precisato meglio.

Diciamo che io  :-[ ho un programma, con il quale mostrare dei simboli grafici. Per far mostrare questi particolari simboli grafici, non ho purtroppo  :'( a disposizione un'interfaccia grafica con tools sui quali cliccare con il mouse, ma sono costretto a scrivere un **zzo  :hatecomputer: di particolare codice alfanumerico, simbolo per simbolo  :rolleyes:, nell'editor di testo di quel programma principale. Figurati, poi, dover ricordare tutto il protocollo di quei codici !

Se invece io abbinassi a ciascun tasto del mio programmino un particolare codice (gruppo di più caratteri) di quel protocollo, tale da far scrivere quel codice - appunto - nell'editor del programma principale, allora penso risparmierei tempo.

Insomma mi farei i tools (assenti nel programma principale) da me... o no ?  ???

11280
OpenBar / Anche ai Latini piaceva...
« il: 04 Giugno 2011, 19:31:17 »
...programmare in Gambas:

http://la.wikipedia.org/wiki/Gambas  ;D

Pagine: 1 ... 750 751 [752] 753 754 ... 756