Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
19/07/07 11:45
Arcadia
Cari amici, eccomi con un grattacapo, ma so che voi sapete tutto...: Il mio editor di testi, creato in vbnet, genera tranquillamente files di testo, associando al file creato un'icona da me personalizzata...ma (è qui il problema), quando clicco sull'icona generata, si apre, si, il mio programma, ma la richtextbox resta vuota (bouh) se poi, con l'editor aperto , in un secondo momento cerco di aprire il file, questo si apre tranquillamente... e non capisco perxhé all'aperturanon lo legge cliccando sull'icona.

QUESTA E' LA FUNZIONE

My.Computer.Registry.ClassesRoot.CreateSubKey(".asd";).SetValue("", "asd", Microsoft.Win32.RegistryValueKind.String)
My.Computer.Registry.ClassesRoot.CreateSubKey("asd\shell\open\command";).SetValue("", Application.ExecutablePath & _
" ""%l"" ", Microsoft.Win32.RegistryValueKind.String)
:rotfl::-?
aaa
19/07/07 11:46
Arcadia
...bouh...inutile dire che sto cercano su libri e siti anche inAramaico, ma nisba!!!!HELP
aaa
20/07/07 11:27
Il Totem
Il problema è semplicissimo, visto il codice che hai postato. Non hai specificato nell'evento load del form che, se ci sono elementi scritti da riga di comando (e non ci sono neanche), il tuo programma deve prenderli e analizzarli.
Perciò devi aggiungere nel registro una chiave che indichi prima il percorso del tuo programma, e di seguito "%1", ossia il percorso del file da aprire, quindi specificare una procedura che prelevi il parametro passato al programma e quindi apra quel file.
Guarda queste pagine per maggiori dettagli:
totem.altervista.org/appunti/…
totem.altervista.org/appunti/…
aaa
20/07/07 13:17
Arcadia
Ciao Totem e grazie per la risposta. Purtroppo tra i vari problemi si aggiunge il fatto che con i miei due pc (fisso e portatile) apro la pagina del tuo sito, ma ricevo solo una schermata con il logo e l'immagine di sfondo (nuvole)... ma nessun testo all'interno dei link da te riportati. Mi arebbe piacere vedere qualche esempio pratico sul tuo sito...
Comunque, se l'estensione è asd (per esempio) e il programma dovesse chiamarsi pippo, in che modo dovrei modificare quelle due righe che ho ripotato nel messaggio precedente?


:( grazie per l'aiuto
aaa
20/07/07 15:00
Arcadia
ho paura di commettere qualche errore agendo sul file di registro...senza conoscere questa funzione. Mi potresti fare un esempio pratico?
Te ne sarei grato, Totem.
Jean:k:
aaa
21/07/07 7:28
Il Totem
Beh il sito lavora con l'uso di javascript: forse non hai installato l'ambiente adatto per java e perciò non lo visualizza.
Comunque, prendiamo il tuo programma C:\editor.exe. E un'estensione (non un'icona, è una cosa diversa, vedi: pierotofy.it/pages/dispense/Windows/Cambiare_l_-_icona_associata_a_un_tipo_di_file/
) come ad esempio, la tua *.asd. Per aprire i file asd dobbiamo creare e/o modificare queste chiavi di registro.
HKEY_CLASSES_ROOT\.asd
HKEY_CLASSES_ROOT\.asd\(Predefinito) = ASDFile
HKEY_CLASSES_ROOT\ASDFile\Shell\Open\command\(Predefinito) =
"C:\editor.exe" "%1"

Per associare a tutti i file *.asd l'applicazione editor.exe.
Quindi usare questo codice:
Private Sub Form1_Load() Handles MyBase.Load
Dim Cmd As String = My.Application.CommandLineArgs(0)
Dim R As New IO.StreamReader(Cmd)
TextBox1.Text = R.ReadToEnd
R.Close
End Sub

Credo che funzioni, non ho provato con 'open', ma solo con le voci del menù contestuale.
aaa
21/07/07 12:37
Arcadia
Ciao Totem (Nicolo'?), spero di non assillarti troppo...Ho preparato queste righe di codice e mi viene restituito un errore ...
L'applicazione, che utilizza una richtextbox si chiama Artist e l'estensione del file è .arte .


Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim Cmd As String = My.Application.CommandLineArgs(0)
Dim R As New IO.StreamReader(Cmd)
RichTextBoxPrintCtrl1.Text = R.ReadToEnd
R.Close()

'applicare estensione file al programma (estensione .arte)
My.Computer.Registry.ClassesRoot.CreateSubKey(".arte";).SetValue("reg_sz", "artefile", Microsoft.Win32.RegistryValueKind.String)
My.Computer.Registry.ClassesRoot.CreateSubKey("artefile\shell\open\command";).SetValue("reg_sz", Application.ExecutablePath & _
"C:\artist.exe""%l"" ", Microsoft.Win32.RegistryValueKind.String)
end sub

Purtroppo....:rotfl:
aaa
22/07/07 21:33
Arcadia
Ciao Totem...Spero tu abbia passato unbuon we. :k:
Purtroppo il mio editor di testi continua a visualizzare l'icona; posso cliccarci sopra ed aprire il software (l'editor, appunto),ma continuo a non leggere il file percHé sbaglio nella procedura e non so proprio dove mettere le man. Non è che potresti fare quest'ultimo sforzo, amico Totem? Grazie per l'aiuto - Jean
aaa