11/12/08 15:45
Il Totem
Riporto qui alcune domande postate troppo spesso, con relativa risposta:
Come si salvano gli elementi di una listbox su file txt?
Ovviamente, scrivendo sul file di testo i suoi elementi. Per scorrere gli elementi si usa una enumerazione (ciclo for); per scriverli si usa la classe StreamWriter.
Riferimenti:
- Struttura For
totem.altervista.org/guida/versione2/…
- Uso di ListBox e ComboBox
totem.altervista.org/guida/versione2/…
- Scrittura e lettura di file
totem.altervista.org/guida/versione2/…
Discussione:
pierotofy.it/pages/extras/forum/16/46067-salvare_file_txt/
Come si fa ad impostare un programma predefinito per una certa estensione?
Per associare un programma predefinito a un'estensione particolae di file bisogna modificare il registro di sistema. Il luogo dove vengono depositate tutte le informazioni sulle estensioni è la chiave globale HKEY_CLASSES_ROOT. In essa sono presenti moltissime sottochiavi con il nome dell'estensione.
Quindi, per prima cosa si deve creare in questa chiave globale una sottochiave col nome dell'estensione (es.: ".new". All'intero di quest'ultima, si deve modificare il valore (Predefinito) con un nome sintetico che descriva l'applicazione usata e il tipo di file (es.: "MyProgramNew".
Dopodiché, sempre all'interno di HKEY_CLASSES_ROOT, si crea un'altra sottochiave di primo livello, usando lo stesso nome inserito come valore predefinito in precedenza (es.: "MyProgramNew". All'interno di questa chiave, il valore (Predefinito) può essere modificato a piacere a indica la descrizione che apparirà nell'explorer (es.: "File NEW". Per creare un collegamento con l'applicazione predefinita, si devono creare le sottochiavi shell\open\command: all'interno dell'ultima (command), il valore (Predefinito) deve essere il percorso dell'applicazione predefinita per l'apertura, seguita da "%1" o "%l" (es.: "C:\Programmi\MyProgram\MyProgram.exe" "%1".
Per quanto riguarda il codice:
Ovviamente se non dite al programma cosa fare, lui se ne fa un baffo del percorso che riceve in input. Bisogna controllare i parametri da linea di comando:
Riferimenti:
- Parametri da riga di comando
totem.altervista.org/appunti/…
- Modifica del registro di sistema
totem.altervista.org/guida/versione2/…
Discussione:
pierotofy.it/pages/extras/forum/16/46005-programma_predefinito/
Come si salvano gli elementi di una listbox su file txt?
Ovviamente, scrivendo sul file di testo i suoi elementi. Per scorrere gli elementi si usa una enumerazione (ciclo for); per scriverli si usa la classe StreamWriter.
Dim Writer As New IO.StreamWriter("FileName") For i As Integer = 0 To ListBox1.Items.Count - 1 Writer.WriteLine(ListBox1.Items.Item(i)) Next Writer.Close()
Riferimenti:
- Struttura For
totem.altervista.org/guida/versione2/…
- Uso di ListBox e ComboBox
totem.altervista.org/guida/versione2/…
- Scrittura e lettura di file
totem.altervista.org/guida/versione2/…
Discussione:
pierotofy.it/pages/extras/forum/16/46067-salvare_file_txt/
Come si fa ad impostare un programma predefinito per una certa estensione?
Per associare un programma predefinito a un'estensione particolae di file bisogna modificare il registro di sistema. Il luogo dove vengono depositate tutte le informazioni sulle estensioni è la chiave globale HKEY_CLASSES_ROOT. In essa sono presenti moltissime sottochiavi con il nome dell'estensione.
Quindi, per prima cosa si deve creare in questa chiave globale una sottochiave col nome dell'estensione (es.: ".new". All'intero di quest'ultima, si deve modificare il valore (Predefinito) con un nome sintetico che descriva l'applicazione usata e il tipo di file (es.: "MyProgramNew".
Dopodiché, sempre all'interno di HKEY_CLASSES_ROOT, si crea un'altra sottochiave di primo livello, usando lo stesso nome inserito come valore predefinito in precedenza (es.: "MyProgramNew". All'interno di questa chiave, il valore (Predefinito) può essere modificato a piacere a indica la descrizione che apparirà nell'explorer (es.: "File NEW". Per creare un collegamento con l'applicazione predefinita, si devono creare le sottochiavi shell\open\command: all'interno dell'ultima (command), il valore (Predefinito) deve essere il percorso dell'applicazione predefinita per l'apertura, seguita da "%1" o "%l" (es.: "C:\Programmi\MyProgram\MyProgram.exe" "%1".
Per quanto riguarda il codice:
Imports Microsoft.Win32 '... Private Sub RegisterProgram() Dim RegKey As RegistryKey = Registry.ClassesRoot.OpenSubKey(".New") Dim WParam As RegistryKeyPermissionCheck = RegistryKeyPermissionCheck.ReadWriteSubTree If RegKey IsNot Nothing Then Exit Sub End If RegKey = Registry.ClassesRoot.CreateSubKey(".New", WParam) RegKey.SetValue("", "MyProgramNew") RegKey = Registry.ClassesRoot.CreateSubKey("MyProgramNew", WParam) RegKey.SetValue("", "File New") RegKey = Registry.ClassesRoot.OpenSubKey("MyProgramNew", True) RegKey = RegKey.CreateSubKey("shell\open\command", WParam) RegKey.SetValue("", String.Format("""{0}"" ""%1""", Application.ExecutablePath)) End Sub
Ovviamente se non dite al programma cosa fare, lui se ne fa un baffo del percorso che riceve in input. Bisogna controllare i parametri da linea di comando:
If My.Application.CommandLineArgs.Count > 0 Then 'Ci sono parametri: il primo è il percorso del file da aprire Dim Path as string = My.Application.CommandLineArgs(0) End If
Riferimenti:
- Parametri da riga di comando
totem.altervista.org/appunti/…
- Modifica del registro di sistema
totem.altervista.org/guida/versione2/…
Discussione:
pierotofy.it/pages/extras/forum/16/46005-programma_predefinito/
aaa