Si avvisano tutti gli utenti che a causa dell'aggiornamento della board alcune password devono essere resettate.
In caso di problemi di login si prega di resettare la propria password.

Libre Office Basic - funzionamento IsMissing

C, C++, Java, ...
Rispondi
Gino62
Jr. Member
Jr. Member
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Libre Office Basic - funzionamento IsMissing

Messaggio da Gino62 »

Buonasera, non riesco ad usare IsMissing.
La funzione IsMissing controlla se un parametro è stato passato o meno.
Nelll'allegato non si riesce a sapere se il parametro è stato passato.
Dove sbaglio? Grazie
Allegati
IsMIssing.zip
(34.47 KiB) Scaricato 274 volte
Ultima modifica di Gino62 il 11/03/2018, 10:29, modificato 1 volta in totale.
s3v
Global Moderator
Global Moderator
Messaggi: 5914
Iscritto il: 31/12/2008, 11:54

Re: IsMissing

Messaggio da s3v »

Ciao, tre cose:
  1. Il titolo non è assolutamente esplicativo; in pratica non si capisce a cosa si riferisce il tuo quesito.
  2. Leggendo la tua richiesta non di riesce a risalire a cosa esattamente speri di ottenere.
  3. L'allegato non riesco ad aprirlo con un editor di testo per cui presumo si tratti di un documento binario OpenOffice con qualche sorta di codice macro al suo interno (credo... visti i tuoi precedenti quesiti). In tal caso ti invito a sostituirlo con un allegato testuale. Niente di personale ma allegati di questo tipo andrebbero evitati per ovvie implicazioni di sicurezza.
Gino62
Jr. Member
Jr. Member
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: IsMissing

Messaggio da Gino62 »

s3v ha scritto:Ciao, tre cose:
  1. Il titolo non è assolutamente esplicativo; in pratica non si capisce a cosa si riferisce il tuo quesito.
  2. Leggendo la tua richiesta non di riesce a risalire a cosa esattamente speri di ottenere.
  3. L'allegato non riesco ad aprirlo con un editor di testo per cui presumo si tratti di un documento binario OpenOffice con qualche sorta di codice macro al suo interno (credo... visti i tuoi precedenti quesiti). In tal caso ti invito a sostituirlo con un allegato testuale. Niente di personale ma allegati di questo tipo andrebbero evitati per ovvie implicazioni di sicurezza.
1. non credo funzioni IsMissing, anche se non c'è il parametro opzionale è sempre true.
2. cosa sbaglio, la funzione deve essere false
3. ho modificato l'allegato.

Codice: Seleziona tutto

Sub Sub_CaricaCornici
	Sub_InsertTextFrame ("stringa", ,)
	Sub_InsertTextFrame ( ,"url")
End Sub
Sub Sub_InsertTextFrame(Optional strNomeFrame As String, Optional strURL As String )
  		If IsMissing(strNomeFrame)  Then
		msgBox " NO" & strNomeFrame
		Else
  		msgBox strNomeFrame & "SI"	
  		End If
		If IsMissing(strURL) Then
		  	msgbox strURL & "NO"
  		Else  		
		  	msgbox "c'è url" & strURL
  		End If
End Sub
ho messo due richiami alla sub. uno con l'opzione parametro 1 e uno con il secondo parametro
l'uscita è sempre si. in ogni caso è true e l'outpot è si (c'è sempre il parametro anche quando non è presente alla chiamata)
buona domenica
s3v
Global Moderator
Global Moderator
Messaggi: 5914
Iscritto il: 31/12/2008, 11:54

Re: IsMissing

Messaggio da s3v »

Gino62 ha scritto:

Codice: Seleziona tutto

	Sub_InsertTextFrame ("stringa", ,)
C'è una virgola di troppo; se la tolgo, a me funziona.

P.S.
Per inserire codice formattato, usa il tag

Codice: Seleziona tutto

 altrimenti diventa tutto illeggibile (ho modificato il tuo messaggio in tal senso).
Ho anche cambiato il titolo per renderlo più esplicativo La prossima volta, gentilmente, sceglilo in modo tale che chi si trova a leggere sia messo in condizione di capire il senso della discussione.
Gino62
Jr. Member
Jr. Member
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: IsMissing

Messaggio da Gino62 »

s3v ha scritto:[
C'è una virgola di troppo; se la tolgo, a me funziona.
In effetti è così: la prima chiamata ora funziona.
Ma la seconda a me non funziona, mi dà esistente il primo parametro anche sulla seconda chiamata.
s3v
Global Moderator
Global Moderator
Messaggi: 5914
Iscritto il: 31/12/2008, 11:54

Re: LibreOffice Basic - funzionamento IsMissing

Messaggio da s3v »

Non ti seguo.
Per la seconda chiamata (Sub_InsertTextFrame ( ,"url")):
  • La condizione del primo "if" è vera
  • La condizione del secondo "if" è falsa.
È tutto ok per me.

Puoi dire che testo ti compare sui msgbox per confrontare e vedere dove è l'inghippo?
Gino62
Jr. Member
Jr. Member
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: LibreOffice Basic - funzionamento IsMissing

Messaggio da Gino62 »

s3v ha scritto:Non ti seguo.
Per la seconda chiamata (Sub_InsertTextFrame ( ,"url")):
  • La condizione del primo "if" è vera
  • La condizione del secondo "if" è falsa.
È tutto ok per me.

Puoi dire che testo ti compare sui msgbox per confrontare e vedere dove è l'inghippo?
a me sia la prima chiamata che la seconda chiamata la prima condizione mi risulta la stessa (nome variabile + "si"), mentre alla seconda chiamata la prima condizione dovrebbe essere no.
Prima chiamata: stringaSI - error 448NO
Seconda chiamata (dovrebbe essere Error 448NO) invece è Error 448SI - c'è urlurl
buona serata
s3v
Global Moderator
Global Moderator
Messaggi: 5914
Iscritto il: 31/12/2008, 11:54

Re: LibreOffice Basic - funzionamento IsMissing

Messaggio da s3v »

Hai ragione, ho provato anche con OpenOffice 4.1.5 e il problema è lo stesso.
Sembra che il primo parametro di una funzione non possa essere "Optional" (vedi qui) ma non ho trovato alcuna informazione in merito.
Potrebbe anche essere un bug o un errore di sintassi, non saprei.

Se ti serve una funzione con parametri tutti "Optional" puoi ovviare inserendo un primo parametro che non usi.
Gino62
Jr. Member
Jr. Member
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: LibreOffice Basic - funzionamento IsMissing

Messaggio da Gino62 »

s3v ha scritto:Hai ragione, ho provato anche con OpenOffice 4.1.5 e il problema è lo stesso.
Sembra che il primo parametro di una funzione non possa essere "Optional" (vedi qui) ma non ho trovato alcuna informazione in merito.
Potrebbe anche essere un bug o un errore di sintassi, non saprei.

Se ti serve una funzione con parametri tutti "Optional" puoi ovviare inserendo un primo parametro che non usi.
Ciao, secondo me "sente" solo l'ultimo parametro (vedi file "provaIsMIssing).
Ho ovviato controllando se la stringa potesse essere "Error 404". Vedi ProvaIsMissing404. Ho provato perchè anche se non c'era la stringa veniva scritto "error404". Il problema si avrebbe se un parametro opzionale non fosse una stringa ...
buona serata
Allegati
provaIsMIssing404.zip
sembra funzionare, il problema si presenterebbe se non fosse stringa
(34.75 KiB) Scaricato 270 volte
provaIsMIssing.zip
passa come opzione solo l'ultimo
(34.83 KiB) Scaricato 256 volte
Rispondi