Newsgroup: it.comp.lang.visual-basic
Titolo: [HELP] Apertura form da stringa

Salve a tutti,
avrei un problema di questo tipo:
vorrei poter lanciare un form passando ad una funzione il nome del
form in formato stringa.
ES.
Public Function Visualizza(sFormDaVisualizzare as string)
  "sFormDaVisualizzare".SHOW
End Function
Ovviamente quello che ho scritto non funziona, č solo un esempio.
Qualcuno sa darmi qualche dritta?
Mille grazie,
Aran Banjo

 wrote in message
news:3c832ccf...@news.cis.dfn.de...

Puoi fare cosě:
    Public Function Visualizza(sFormDaVisualizzare As Form)
        sFormDaVisualizzare.Show
    End Function
Adesso, per visualizzare il form, esegui:
    Visualizza NomeRealeDelForm
--
Er Roscio.

    Visualizza NomeRealeDelForm
ehm, non mi sono spiegato bene forse...
io _passo_ alla funzione Visualizza una stringa letta da un database,
quindi mi darà per forza un errore del tipo: "Necessario oggetto"
perché NomeRealeDelForm non è un oggetto Form ma una stringa.
Ciao
Aran Banjo

     Visualizza NomeRealeDelForm
...cosě fai un pň di esperienza sugli errori di runtime...   :-P
Quello che chiede Aran, non si puň fare se il form non č caricato.
In quel caso deve fare un loop sull'insieme forms.
ciao
ugo

ugo
Ho provato anche a ciclare sulla collection, ma se il form non è
caricato non posso fare molto....
Thnx
Aran


E io che ho detto?
(dico, dico, dico, e tu hai detto... e allora io ho detto...  :-P )
ciao
ugo



Ops, non ho letto attentamente il tuo messaggio, sorry ^__^;;;;;;;;
cmq non hai idea di come fare?
Ciao
Aran

dim F as form
for each F in forms
    if F.Name = "pippo" then
        F.Show
   end if
next
ciao



[CUT]
FUNZIONA SOLO SE I FORM SONO GIA' CARICATIIIIIIIIIIII
Quel ciclo controlla se nella collection FORMS esiste un form di nome
"pippo", il problema è che la collection viene caricata se carico il
form......
ciao
Aran


Appunto:
puoi farlo _solo_ se il form è già caricato.
ciao
ugo


CUT
integrala aran....fatti una funct
Function CheckForm(Nomeform as String, Optional Aprila as boolean=false) as
boolean
Il codice che ti ha dato DAN sopra
If Aprila
    Load form
    (Mostra form...se vuoi)
    Checkform=true
end if
se non c'è e non la vuoi aprire
 Checkform=false
End function



Volevo solo dire che se non si prova prima quello che si posta, è
tempo perso per tutti.....
Almeno tu non mi hai dato soluzioni, ma neanche hai sparato codice "a
caso"....
ciao
Aran


CUT
Ti ho posto una domandina facile facile(per te)...nel vecchio post delle
connessioni!
:-)

Il giorno Mon, 04 Mar 2002 11:21:23 GMT, "Wodka4U"
<marco_123_TOGLIQUI@mar_456_ANCHEQUI_tek.it> ha scritto:

Ma allora non ho spiegato bene il problema............................
Devo passare ad una funzione una stringa contenente il nome di un
form.
Questa funzione dovrebbe visualizzare il form.
Ordunque, anche non provando il codice segnalato, c'è da dire che se
ciclo sulla collection forms prima di caricare TUTTI i form, quel
codice non funzionerà MAI.
Teoricamente dovrei caricare ad uno ad uno i form e poi visualizzare
quello che mi interessa con il ciclo sopra descritto, ma ovviamente
ciò non è attuabile, in quanto non avrei voglia di caricare un
centinaio di form all'avvio.....
Thnx
Aran

 Aran
Vai ti rispondo io....
Potevi evitare di rompere le balle e premere f1...studiarti come si caricano
i form....e poi postare!
ciauz!....fare quello che vuoi si puň...prova a pensarci meglio!

ciauz!....fare quello che vuoi si può...prova a pensarci meglio!
Non volevo farti incazzare, ma non vedo perché tu debba darmi del
rompi balle. F1 l'ho premuto, ho dato un'occhiata in giro, ho cercato
nei miei "vecchi" libri di VB (compreso quello di Balena), ma non sono
riuscito a trovare una risposta. Visto che è da oltre un mese che
provo senza "rompere le balle" a nessuno, per i fatti miei, con il mio
portatilino, mi sono chiesto: "Perché non chiedo al NG?"
Se vuoi aiutare sei benvenuto, altrimenti almeno non offendermi.
Con amicizia, Aran


Abbi pazienza č!
se non č nella collection...va caricata comunque..!....perche non la
carichi?....hai mille sistemi...per fare un Load MiaformScelta

carichi?....hai mille sistemi...per fare un Load MiaformScelta
Ok, io non volevo usare la collection, volevo solo fare un LOAD
sMioform
dove sMioForm č una stringa.....
esiste un modo?
ciao

sono troppo il migliore!!!
Dim f As Form
Forms.Add "Form2"
For Each f In Forms
    If f.Name = "Form2" Then f.Show
Next
eccoti qua il risultato!!
2 minuti di prove....


 ha scritto:

INCREDIBILE!!!!!!!!!!!!!!!!!!!!!!!!
Sei riuscito a togliermi un peso dallo stomaco.
In effetti non avevo pensato al metodo ADD perché il completamento
automatico non me lo dava.
GRAZIE 10000000000000000000000000000000000000
e scusa per la reply di prima, era da troppo tempo che cercavo una
soluzione....
Aran, senza rancore.


Bella questa!    :-)
Complimenti: non avevo mai provato una add diretta all'insieme forms...
Thanks.
ciao
ugo

 Next
sei troppo avanti!!!  :D
proprio bella idea
--
Faber