Re: [dev-it] Dialoghi: OptionButton

2006-07-21 Per discussione Emanuele

>> All' apertura del dialogo si presenta questa situazione:
>> - le variabili A e B sono a 0 (zero)
>> - uno dei due OptionButton è selezionato
>
> Basta preimpostrae le variabili esattamente come si presentano gli
> OptionButton per default e il problema è risolto.
> Ho appena provato e in realtà all'apertura del dialogo nessun
> OptionButton è selezionato (strano).

Il fatto di dover preimpostare i valori della variabile può essere anche
una dimenticanza del programmatore, ma comunque (a mio parere) è una
buona pratica (almeno sai a quello che hai e non ti dovrebbero capitare
brutte sorprese...).

>> A questo punto il problema è di programmazione, cioè quando si imposta
>> a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si
>> deve
>> anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il
>> rischio
>> di trovarsi le due variabili impostate a 1
>> E se ce ne sono più di due si deve fare una "spazzolata" su tutte per
>> impostarle 0
>
> Ovvio ...

Posso permettermi di proporre anche un'altra soluzione?
Una sola variabile (ad esempio integer) il cui valore rappresenta
l'optionbutton selezionato e che viene preimpostata, ad esempio a -1,
nel caso durante l'inizializzazione nessun optbtn è selezionato.
In questo modo eviti "spazzolate" (che possono essere noiose, e si
prestano ad errori, se non usi matrici e hai un certo numero di
optionbutton) e, nella fase successiva, l'individuazione dell'optbtn
selezionato si riduce ad un select case.

Ciao!
Emanuele.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-21 Per discussione Bart Aimar



Bart Aimar ha scritto:


Avrei ancora una domanda:

qualcuno sa come trasferire un dialog da un documento ad una libreria 
condivisa?


Mi spiego meglio!

Per trasferire un dialogo e relativo codice da un file ad un'altro (o 
da/a  una lib condivisa) io taglio e incollo il codice e gli oggetti 
grafici del dialogo.


Ma il tutto deve poi essere un po' aggiustato!

Esiste un modo più pulito?

grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Michele Zarri ha scritto:


Con due sole opzioni te la cavi con poche linee
Sub Main
   oTestDlg = createUnoDialog(DialogLibraries.Standard.Test)


> ...zot..
Grazie Michele, molto chiaro!



Ma con piu' di due opzioni o con piu' di un gruppo di opzioni e' abbastanza
un casino (credo). Il manualone fa un esempio con un listener che quando si
verifica un cambiamento di stato va a leggersi il nome del controllo e
agisce di conseguenza... roba da mal di testa gia' alla terza linea di
codice.


Adesso che avremo l'aspirina a buon mercato sarà più semplice!  :-)


Avrei ancora una domanda:

qualcuno sa come trasferire un dialog da un documento ad una libreria 
condivisa?


grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Michele Zarri

On 20/07/06, Bart Aimar <[EMAIL PROTECTED]> wrote:


SNIP!
> Infine, io suggerirei l'uso di radio buttons.

Ecco! Invece qui ho qualche problema...
Al momento ho fatto un aggiramento... (le scelte sono solo due (in
alternativa)...) quindi ancora manovrabile con un piccolo ambaradan...

Na vorrei proprio capire come funzionano questi
RadioButtons /OptionButtons / Pulsanti di scelta

Anzi aprirei un discussione per trovare qualche altro sinonimo giusto
per rendere un poco più interessante l'uso!

ciao

Bart



Con due sole opzioni te la cavi con poche linee
Sub Main
   oTestDlg = createUnoDialog(DialogLibraries.Standard.Test)
   If oTestDlg.execute() Then
   oOB = oTestDlg.getControl("OB1")
   If oOB.getState() Then
   MsgBox "Option 1 selected"
   Else
   MsgBox "Option 2 selected"
   End If
   End If

End Sub

Ma con piu' di due opzioni o con piu' di un gruppo di opzioni e' abbastanza
un casino (credo). Il manualone fa un esempio con un listener che quando si
verifica un cambiamento di stato va a leggersi il nome del controllo e
agisce di conseguenza... roba da mal di testa gia' alla terza linea di
codice.

L'idea di aprire un thread sull'argomento non e' male

Ciao,

Michele


Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Marco Caresia

Bart Aimar wrote:
L'altra cosa che faccio sempre io da bravo utente naif e' di 
utilizzare la

GUI fornita per creare una finestra di dialogo.


Marco Caresia mi vuol male... :-)



Ma va là ;) E' solo che è un po' più veloce scrivere il codice che 
disegnare tutto quanto...


--
MC

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Paolo Mantovani
Alle 13:18, giovedì 20 luglio 2006, Michele Zarri ha scritto:
> On 20/07/06, martello <[EMAIL PROTECTED]> wrote:
> > >Riguardo all'uso di .endExecute() in realta' dovresti cercare di
> > > evitarlo mettendo nella finestra di dialogo che hai creato un pulsante
> > > Ok e un pulsante Cancel.
> >
> > Per quale motivo evitarlo?
> > A dire la verità non l'ho mai usato ... ma sono curioso ...
[]
> >
> > Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice
>
> che non e' una buona abitudine e se lo dice Lui deve essere vero! :-)

Dicevo così in estrema sintesi, ma volevo solo per condividere quella che è la 
mia personale esperienza.

L'uso di endExecute complica il codice, perchè moltiplica i "punti di uscita" 
del dialogo.
Codice più complesso = maggiore rischio di errori.

Per questo motivo, secondo me, lo sforzo di ridisegnare un dialogo senza 
endExecute vale la candela

Ovviamente ciascuno è libero di scrivere il proprio codice come crede.

ciao
Paolo M

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Michele Zarri ha scritto:

Come ho scritto, da non-programmatore, per creare le mie finestre di 
dialogo
uso la GUI di star basic. Tools-->macros-->organize dialogs. Da qui 
aggiungo

...zot...
Non sono sicuro di essere stato chiarissimo, ma ci spero!! :-)


Grazie Michele,

Chiarissimo !

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Michele Zarri ha scritto:



Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo
mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
pulsante Cancel.
Una volta definito il pulsante Ok come pulsante Ok, basta poi questo 
codice:



If oDlg.execute() Then
 [codice se l'utente ha premuto il pulsante ok]
Else
 [codice se l'utente ha premuto cancel, il tasto esc, o la crocetta in alto
a destra]
End If


OK Michele! Grazie!
Ho risolto i problemi di annullamento del dialogo...


L'altra cosa che faccio sempre io da bravo utente naif e' di utilizzare la
GUI fornita per creare una finestra di dialogo.


Marco Caresia mi vuol male... :-)

Ma ho un caso sotto mano dove sarebbe bello fargli creare il dialogo via 
macro ... ma aspetto che il tempo si rinfreschi...



Infine, io suggerirei l'uso di radio buttons.


Ecco! Invece qui ho qualche problema...
Al momento ho fatto un aggiramento... (le scelte sono solo due (in 
alternativa)...) quindi ancora manovrabile con un piccolo ambaradan...


Na vorrei proprio capire come funzionano questi
RadioButtons /OptionButtons / Pulsanti di scelta

Anzi aprirei un discussione per trovare qualche altro sinonimo giusto 
per rendere un poco più interessante l'uso!


ciao

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione martello



Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice
che non e' una buona abitudine e se lo dice Lui deve essere vero! :-)


Non c'è niente da fare ... se lo dice lui è vero ... e basta

Ciao Ezio 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Michele Zarri

On 20/07/06, Bart Aimar <[EMAIL PROTECTED]> wrote:




Michele Zarri ha scritto:

> Riguardo all'uso di .endExecute() in realta' dovresti cercare di
evitarlo
> mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
> pulsante Cancel.

Non so leggre ne scrivere... ma di certo questo endexecute mi sta dando
un sacco di problemi!

> Una volta definito il pulsante Ok come pulsante Ok,

Cosa intendi esattamente "definire un pulsante OK come pulsante ok"?

grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Ciao Bart,


Come ho scritto, da non-programmatore, per creare le mie finestre di dialogo
uso la GUI di star basic. Tools-->macros-->organize dialogs. Da qui aggiungo
tutti i controlli che voglio tra cui un pulsante che diventera' il pulsante
ok. Con un doppio click (o premendo il bottone destro e selezionando
"Properties") apro la finestra con le proprieta' del pulsante in cui imposto
le dimensioni, il testo, il colore etc...
Per il pulsante Ok, cambio la proprieta' "Button type".
Fatto questo, quando l'utente preme il pulsante Ok, la finestra di dialogo
si chiude con un risultato diverso da 0 (credo 1 ma non sono sicuro). Nello
stesso modo puoi creare un pulsante "Cancel".
C'e' un piccolo problema con questo metodo che ancora non sono riuscito a
risolvere del tutto ma non voglio complicarti la vita (per il momento :-) ).

Puoi anche accedere alla GUI tramite il buon vecchio tools-->macros-->
organize Macros --> openoffice basic selezionando la library in cui hai
messo la finestra di dialogo.
Normalmente io prima di eseguire una finestra di dialogo lancio una funzione
di inizializzazione in cui la preparo, ma nel tuo caso questo non dovrebbe
essere necessario.

Non sono sicuro di essere stato chiarissimo, ma ci spero!! :-)
Ciao,

Michele


Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Bart Aimar ha scritto:


Cosa intendi esattamente "definire un pulsante OK come pulsante ok"?


OOPS!   Ho trovato il controllo...

... lo dicevo che non so leggere...

bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Michele Zarri ha scritto:


Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo
mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
pulsante Cancel.


Non so leggre ne scrivere... ma di certo questo endexecute mi sta dando 
un sacco di problemi!



Una volta definito il pulsante Ok come pulsante Ok,


Cosa intendi esattamente "definire un pulsante OK come pulsante ok"?

grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Michele Zarri

On 20/07/06, martello <[EMAIL PROTECTED]> wrote:





>Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo
>mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
>pulsante Cancel.

Per quale motivo evitarlo?
A dire la verità non l'ho mai usato ... ma sono curioso ...

Ciao Ezio

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice

che non e' una buona abitudine e se lo dice Lui deve essere vero! :-)

Sicuramente da un punto di vista di eleganza, il codice che effettua un test
sul risultato della funzione .execute() e' molto meglio, detto questo in una
mia finestra di dialogo che ha una decina di pulsanti che se premuti devono
far chiudere la finestra, io mi sono ritrovato ad usare endExecute()
pesantemente. Percio' come vedi, predico bene ma razzolo male [espressione
toscana].

A presto!

Michele


Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione martello





Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo
mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
pulsante Cancel.


Per quale motivo evitarlo?
A dire la verità non l'ho mai usato ... ma sono curioso ...

Ciao Ezio 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Michele Zarri

On 20/07/06, martello <[EMAIL PROTECTED]> wrote:



> Ho capito che in questo caso bisogna usare Dlg2.EndExecute()
> non so perchè ma funziona...

Hem ... bisogna fare così.
Oppure si chiude con la crocetta in alto.
L'effetto è lo stesso.

Ciao

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Ciao Bart,


Ho provato a seguire il thread ma mi sono un po' perso, percio' scusatemi se
ripeto cose gia' scritte mille volte.

Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo
mettendo nella finestra di dialogo che hai creato un pulsante Ok e un
pulsante Cancel.
Una volta definito il pulsante Ok come pulsante Ok, basta poi questo codice:


If oDlg.execute() Then
 [codice se l'utente ha premuto il pulsante ok]
Else
 [codice se l'utente ha premuto cancel, il tasto esc, o la crocetta in alto
a destra]
End If

dove oDlg e' l'oggetto globale che associ alla finestra di dialogo

L'altra cosa che faccio sempre io da bravo utente naif e' di utilizzare la
GUI fornita per creare una finestra di dialogo.

Infine, io suggerirei l'uso di radio buttons.

Ciao,

Michele


Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione martello



Ho capito che in questo caso bisogna usare Dlg2.EndExecute()
non so perchè ma funziona...


Hem ... bisogna fare così.
Oppure si chiude con la crocetta in alto.
L'effetto è lo stesso.

Ciao

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar



Bart Aimar ha scritto:



Ho provato ad aggiungere un pulsante "OK! Prosegui..."
associando l'evento "mouse rilasciato" al codice:
sub dialogo_chiudi
Dlg2.dispose()
end sub

e regolarmente OO va in crash!


Ho capito che in questo caso bisogna usare Dlg2.EndExecute()
non so perchè ma funziona...

Quindi questa è risolta...

rimane invece aperta la questione della Inputbox.

(Fate riferimento alla mia precedente...)

ciao

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-20 Per discussione Bart Aimar

Scusatemi... ma in questi giorni sono abbastanza fuori per cantieri...

Rientrando ho fatto un po' fatica a seguire tutte le novità!

Innanzi tutto ho scaricato le 27000 ricette... sto provando il 
"codice"... mi ci vorrà un momento... vi faro sapere...


(...ma posso anticiparvi che che son riuscito a "far girare" con 
soddisfazione un "continental 2") sia sotto win che sotto linux, anche 
su ver. di OO anteriori alla 2...  )




martello ha scritto:

In realtà il problema è ancora più semplice
Prova a modifica il codice di perbart in questo modo



Public Dlg2 as Object

sub dialogo2
   DialogLibraries.LoadLibrary("Standard")
   Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
   Dlg2.execute()
   scelta<-- istruzione 
aggiunta

   Dlg2.dispose()
end sub
'**
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub


Il valore dei controlli è ancora disponibile dopo Dlg2.execute() e prima 
di Dlg2.dispose().

Più facile di così.


Si Ezio! E' veramente Facile!  Grazie!
Per iniziare  proprio questo mi serviva...

Ho provato ad aggiungere un pulsante "OK! Prosegui..."
associando l'evento "mouse rilasciato" al codice:
sub dialogo_chiudi
Dlg2.dispose()
end sub

e regolarmente OO va in crash!

Invece, riguardo alle inputbox, forse mi servono proprio queste... ma 
non avevo spinto perché mi sembrava che intrudurle subito potesse 
rendirmi più complicata la comprensione dei concetti base!


In realtà dovrei far effettuare una scelta del tipo:

"Quale carattere è utilizzato come separatore decimale?"
  PUNTO VIRGOLA

Ovviamente la spunta su una dovrebbe escludere l'altra... non solo nel 
valore della variabile finale... ma anche visivamente, cioè la selezione 
su una dovrebbe deselezionare l'altra... ma temo mi stia sfuggendo 
qualcosa...


grazie a tutti

ciao

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-19 Per discussione martello




Sarei tentato di scaricarle per mia moglie che è sempre in giro per 
internet

alla ricerca di qualche ricetta nuova, ma corro il rischio di doverle
collaudare tutte


Non preoccuparti ... qualcuna dovrebbe essere doppia ...


Si può intercettare, la crocetta equivale alla pressione di un pulsante di
tipo annulla, cioè ritorna uno 0


In realtà il problema è ancora più semplice

Prova a modifica il codice di perbart in questo modo

Public Dlg2 as Object

sub dialogo2
   DialogLibraries.LoadLibrary("Standard")
   Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
   Dlg2.execute()
   scelta<-- istruzione 
aggiunta

   Dlg2.dispose()
end sub

'**
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub

Il valore dei controlli è ancora disponibile dopo Dlg2.execute() e prima di 
Dlg2.dispose().


Più facile di così.

Ciao Ezio



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-19 Per discussione Lido Bernardini
 martello ha scritto:

> Se vuoi ci sono 27000 ricette in OO

Sarei tentato di scaricarle per mia moglie che è sempre in giro per internet
alla ricerca di qualche ricetta nuova, ma corro il rischio di doverle 
collaudare tutte

> Questo ha scritto nel titolo ... dal testo non sembrava che fosse così
> importante.

Penso di si, credo che abbia da scegliere fra due opzioni o l' una o l' altra

> Ho appena provato e in realtà all'apertura del dialogo nessun OptionButton
> è selezionato (strano).

Anche a me rimangono tutti deselezionati, mi sto chiedendo se tutte le volte 
che ho fatto un gruppo di questi bottoni ne ho selezionato uno dalle 
proprietà inconsciamente, sono andato a controllare e in ogni gruppo ce ne
uno attivo, ma impostato come tale dalle proprietà
Comunque meglio così, almeno uno deve essere cliccato

>... cosa avviene se l'utonto invece di
> usare il pulsante predisposto chiude con la crocetta in alto a destra?
> Non ne sono sicuro ma non mi sembra che si possa intercettare l'evento ...
> o si?

Si può intercettare, la crocetta equivale alla pressione di un pulsante di 
tipo annulla, cioè ritorna uno 0 

Se apri un dialogo così

iTest = Dlg2.Execute

puoi intercettarne la chiusura con la crocetta o con un pulsante annulla così

If iTest = 0 Then
   codice
End If

A titolo informativo un pulsante di tipo ok ritorna 1

Ciao
Lido

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-19 Per discussione martello




Scusami se mi sono permesso di scaricare perbart.zip


Prego ...
Puoi scaricare ciò che vuoi ... non per nulla è pubblico.
Se vuoi ci sono 27000 ricette in OO, un applicativo per fare questionari in 
OO, e un applicativo per i computi metrici.



Ho notato che continui ad utilizzare i CheckBox, mi sembra che Bart
fosse interessato agli OptionButton, poco male basta cambiarlo


Questo ha scritto nel titolo ... dal testo non sembrava che fosse così 
importante.



All' apertura del dialogo si presenta questa situazione:
- le variabili A e B sono a 0 (zero)
- uno dei due OptionButton è selezionato


Basta preimpostrae le variabili esattamente come si presentano gli 
OptionButton per default e il problema è risolto.
Ho appena provato e in realtà all'apertura del dialogo nessun OptionButton è 
selezionato (strano).



A questo punto il problema è di programmazione, cioè quando si imposta
a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si deve
anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il 
rischio

di trovarsi le due variabili impostate a 1
E se ce ne sono più di due si deve fare una "spazzolata" su tutte per
impostarle 0


Ovvio ...


Detto questo, è un' opinione personale intendiamoci, per me è più pratico
usare un' unica sub che viene lanciata con un pulsante (quello  per 
chiudere
il dialogo) la quale provvede a testare i vari bottoni e ad impostare a 1 
la

variabile ad esso associata


Questo è il motivo della mia scelta ... cosa avviene se l'utonto invece di 
usare il pulsante predisposto chiude con la crocetta in alto a destra?
Non ne sono sicuro ma non mi sembra che si possa intercettare l'evento ... o 
si?


Ciao Ezio









-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-19 Per discussione Lido Bernardini
 martello ha scritto:
> > Mi daresti una riga buona per:
>
> Questa mattina mi sentivo buono ... e così ti ho fatto un esempio completo
> ... semplice semplice.
> Scarica dal link che ho già inserito "perbart.zip".

Scusami se mi sono permesso di scaricare perbart.zip 
Ho notato che continui ad utilizzare i CheckBox, mi sembra che Bart
fosse interessato agli OptionButton, poco male basta cambiarlo

Comunque volevo farvi notare alcuni problemi a cui si può andare
incontro se si rileva lo stato degli OptionButton con un listener o con
una macro associata all' evento "stato modificato" nelle proprietà

Prendiamo un semplice dialogo con due OptionButton, per semplificare
OB1 e OB2, che modificano due variabili, sempre per semplificare A e B

All' apertura del dialogo si presenta questa situazione:
- le variabili A e B sono a 0 (zero)
- uno dei due OptionButton è selezionato

Supponiamo che sia selezionato OB1 e che l' utonto volesse, appunto,
selezionare OB1, a questo punto preme OK per andare avanti senza fare
altro e qui c' è l' intoppo( le due variabili sono a 0)
Per cambiare il valore della variabile associato a OB1 avrebbe dovuto 
cliccarci sopra per far "agire" il listener o la sub assegnata allo "stato 
modificato"
Ma quanti utonti, pensate, possano selezionare un OptionButton già
selezionato, tonti va bene, ma non fino a questo punto

Altro problema

Prendiamo sempre il nostro caro utonto che clicca su un' opzione, poi ci 
ripensa e clicca sull' altra
A questo punto il problema è di programmazione, cioè quando si imposta
a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si deve 
anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il rischio 
di trovarsi le due variabili impostate a 1
E se ce ne sono più di due si deve fare una "spazzolata" su tutte per 
impostarle 0

Detto questo, è un' opinione personale intendiamoci, per me è più pratico
usare un' unica sub che viene lanciata con un pulsante (quello  per chiudere 
il dialogo) la quale provvede a testare i vari bottoni e ad impostare a 1 la 
variabile ad esso associata 

Termino qui

Ciao
Lido

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione martello




Mi daresti una riga buona per:


Questa mattina mi sentivo buono ... e così ti ho fatto un esempio completo 
... semplice semplice.

Scarica dal link che ho già inserito "perbart.zip".

Ciao 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione martello


Se vuoi ho un esempio completo già fatto.
Però c'è tanta roba in più di quello che serve.
Quindi è più difficile da capire.
Semplicemente perchè per provare ad aiutarti ho modificato una cosa che già 
avevo ... per fare meno fatica.

la trovi qui
http://mio.discoremoto.alice.it/martellofiles/

scarica "copia di test" e dalla prima tabella premi sul pulsante 
"modifica/inserimento domande".

Troverai CheckBox1 inserito per prova.

Ciao Ezio 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione martello



Mi daresti una riga buona per:

Dlg2 = 


Una cosa del genere ad esempio:


Public Dlg2 as Object

   sub dialogo2
   DialogLibraries.LoadLibrary("Standard")
   Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
   Dlg2.execute()
   Dlg2.dispose()
   end sub

Beh ovviamente devi fare partire "sub dialogo2"  in qualche modo.
E poi deve esistere "Dialog2" con tutti i controlli che vuoi ed in 
particolare il CheckBox1.


Ciao Ezio

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione Bart Aimar


martello ha scritto:


Ciao Bart


Ciao Ezio :-)

Eccomi già al primo intoppo! :-)

Ho letto il codice di Marco... ma i listeners mi fanno prudere più delle
zanzare...

Allora ho umilmente ripiegato sul tuo codice... sembrava semplice... :-)
ma...



Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub


Mi daresti una riga buona per:

Dlg2 = 

grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione Bart Aimar



martello ha scritto:


Ciao Bart


Ciao Ezio :-)

Eccomi già al primo intoppo! :-)

Ho letto il codice di Marco... ma i listeners mi fanno prudere più delle
zanzare...

Allora ho umilmente ripiegato sul tuo codice... sembrava semplice... :-)
ma...



Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub


Mi daresti una riga buona per:

Dlg2 = 

grazie

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione Bart Aimar



Lido Bernardini ha scritto:

Bart Aimar ha scritto:

Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi!


Noto con piacere che con i dialoghi hai avuto più fortuna


Si! Vedo solo adesso le numerose risposte e ringrazio tutti!

In realtà non mi volevo spingere a creare un dialogo via macro... ma la 
cosa mi ha incuriosito... e potrebbe aprire qualche ozione interessante!


(Il mio livello di conoscenza dei dialoghi è pressochè zero...)



Domandina:
Tu di cosa hai bisogno di un CheckBox o di un OptionButton?


Al momento OptionButton... le CheckBox mi saranno utili in altre occasioni!

Dovrei aprire un dialogo per scegliere fra virgola o punto... ovvero 
definire il separatore decimale per l'ormai famosa macro 
che_digerisce_quasi_tutto... :-)


Grazie Lido per le precisazioni e ancora grazie a tutti per l'aiuto!

Mi farò vivo al primo intoppo!

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione Lido Bernardini
Bart Aimar ha scritto:

> Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi!

Noto con piacere che con i dialoghi hai avuto più fortuna

Però ti sono stati proposti sia OptionButton che CheckBox che sono due cose 
ben diverse

Di CheckBox, in un dialogo, ne puoi mettere quanti ti pare e possono essere 
selezionati da uno a tutti oppure anche tutti deselezionati

Anche di OptionButton, o RadioButton( dai pulsanti delle vecchie radio che si 
escludevano a vicenda), se ne possono mettere a volontà ma sarà sempre uno 
soltanto ad essere selezionato, perchè la selezione di uno deseleziona il 
precedente, non solo, uno è sempre selezionato a differenza dei CheckBox che 
possono anche essere tutti deselezionati

Domandina:
Tu di cosa hai bisogno di un CheckBox o di un OptionButton?

Ciao a tutti

Lido

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-18 Per discussione martello





Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi!

Ho creato un dialogo e su qul dialogo vorrei banalmente inserire un tasto 
di scelta (o qualcosa del genere)... ovvero un coso da spuntare per avere 
un valore 0 oppure 1 che, ovviamente, vorrei poi registrare in una 
variabile alla chiusura del dialogo!


Qualcuno sa indicarmi dove vedere qualche esempio semplice?


Ciao Bart

Io farei così:

Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub

Dove Dlg2 è l'oggetto dialogo e "sub scelta" viene lanciata a seguito 
dell'evento "stato modificato" (alla faccia delle traduzioni).
In pratica ogni volta che modifichi il checkbox1 la sub scelta viene fatta 
partire e del valore ne fai ciò che vuoi.

In questo caso viene solo stampato.

Ezio


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-17 Per discussione Marco Caresia

Marco Caresia wrote:


Intendi un CheckBox?



Ok, non avevo capito.

Ho fatto una prova. Però non ho capito perché funziona  ;)

Dim oDialog1

Sub Main
' creo il dialogo   
oDlgModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
With oDlgModel
.PositionX = 100 : .PositionY = 10
.Width = 150 : .Height = 200
End With

' aggiungo 3 option button
	oControl1 = 
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")

With oControl1
.Name="Radio1" : .Label="Radio1"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 10
End With

	oControl2 = 
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")

With oControl2
.Name="Radio2" : .Label="Radio2"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 50
End With

	oControl3 = 
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")

With oControl3
.Name="Radio3" : .Label="Radio3"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 90
End With

oDlgModel.insertByName("Radio1", oControl1)
oDlgModel.insertByName("Radio2", oControl2)
oDlgModel.insertByName("Radio3", oControl3)

' Ci metto un OK
oOK = oDlgModel.createInstance( 
"com.sun.star.awt.UnoControlButtonModel" )
' Initialize the button model's properties.
With oOK
.PositionX = 60:.PositionY = 130
.Width = 30 :.Height = 30
.Name = "OK" :   .Label = "OK"
End With

oDlgModel.insertByName("OK", oOK)
oDialog1 = CreateUnoService("com.sun.star.awt.UnoControlDialog")
oDialog1.setModel(oDlgModel)

oActionListener = CreateUnoListener("oOK_",_
"com.sun.star.awt.XActionListener" )
oDialog1.getControl("OK").addActionListener( oActionListener )

Dim oWindow
oWindow = CreateUnoService("com.sun.star.awt.Toolkit")
oDialog1.createPeer(oWindow, null)

oDialog1.execute()

End Sub

Sub oOK_actionPerformed( oEvent )
sStato1 = "Radio1: " & oDialog1.getControl("Radio1").State & CHR$(13)
sStato2 = "Radio2: " & oDialog1.getControl("Radio2").State & CHR$(13)
sStato3 = "Radio3: " & oDialog1.getControl("Radio3").State
Msgbox sStato1 & sStato2 & sStato3
End Sub

--
MC

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-17 Per discussione Napoleone

Bart Aimar wrote:

Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi!

Ho creato un dialogo e su qul dialogo vorrei banalmente inserire un 
tasto di scelta (o qualcosa del genere)... ovvero un coso da spuntare 
per avere un valore 0 oppure 1 che, ovviamente, vorrei poi registrare in 
una variabile alla chiusura del dialogo!


Qualcuno sa indicarmi dove vedere qualche esempio semplice?


Dalla Develomper guide  Pag. 777  : Option Button

 Function IsChecked( oOptionButtonModel As Object ) As Boolean
 Dim bChecked As Boolean
 If oOptionButtonModel.State = 1 Then
 bChecked = True
 Else
 bChecked = False
 End If
 IsChecked = bChecked
 End Function

Il risultato vero o falso te lo salvi dove vuoi. Ciao Napo


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev-it] Dialoghi: OptionButton

2006-07-17 Per discussione Marco Caresia

Bart Aimar wrote:


Qualcuno sa indicarmi dove vedere qualche esempio semplice?



Intendi un CheckBox?

Guarderei i lavori di Danny Brewer:

http://www.oooforum.org/forum/viewtopic.phtml?t=3130

http://kosh.datateam.com/~danny/OOo/

Ciao,
--
MC

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]