il form ha solo questi 3 metodiOriginariamente inviato da alka
Direi che vedere un po' di codice non sarebbe male...![]()
codice:Private Sub frmsetup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' ' GESTIONE MODELLI DI STAMPA ' Dim search As New DirectoryInfo(Application.StartupPath & "\modelli") 'Effettuo la ricerca dei modelli Dim files() As System.IO.FileInfo 'Faccio un vettore che conterrà la lista di file contenuti in una directory Dim i As Integer files = search.GetFiles("*.pwm") 'Elenco i file *.pwm della directory modelli ReDim Preserve ins(UBound(files)) 'ridichiaro gli oggetti in base al numero di elementi del vettore For i = 0 To UBound(files) 'Controllo tutti i modelli Try Dim pat As StreamReader = files(i).OpenText 'Apro il file .pwm per vederne il contenuto Dim b, paramfile() As String 'Buffer e vettore per lo split dei dati ins(i) = New Pattern 'Assegno un nuovo oggetto di tipo Pattern Do b = pat.ReadLine() 'Leggo la riga If b = Nothing Then Exit Do 'Se la riga è vuota esce dal do paramfile = b.Split(":") 'Splitto la stringa ad ogni ':' Select Case paramfile(0) 'Controllo la prima parte della stringa divisa Case "FILE" : ins(i).PatternFileName = paramfile(1) ' Case "LIMIT" : ins(i).PatternLenght = Val(paramfile(1)) ' Riempio l'oggetto Pattern con i dati letti dal file Case "NAME" : ins(i).PatternName = paramfile(1) End Select Loop Until b = Nothing ins(i).PatternConf = files(i).Name pat.Close() 'kiudo il file Catch ex As IOException 'Eccezione attivata nel caso in cui ci siano errori di lettura If MsgBox(ex.Message, MsgBoxStyle.Exclamation + MsgBoxStyle.RetryCancel, "Errore durante la lettura del file") = MsgBoxResult.Retry Then i = i - 1 End Try Next i Dim j As Integer = UBound(ins) Dim def As Integer = -1 If j = -1 Then 'controllo se NON ci siano modelli di stampa installati MsgBox("Non è stato trovato alcun modello di stampa. Si consiglia di reinstallare il programma", MsgBoxStyle.Critical, "Errore critico") Else For i = 0 To j 'inserisco i modelli di stampa trovati Dim defaultpattern As String = SetupIniFile.ReadValue("pattern", "default", "") cmbpattern.Items.Add(ins(i).PatternName) 'inserisco un modello di stampa If defaultpattern = ins(i).PatternConf Then def = i 'controllo se è il modello di stampa predefinito Next End If If def <> -1 Then cmbpattern.SelectedIndex = def 'seleziono il modello di stampa impostato di default ' ' GESTIONE CONTABILITA' ' cmbcase.SelectedIndex = Val(SetupIniFile.ReadValue("Contabilita", "AggiungiPreventivo", "")) End Sub Private Sub cmdAnnulla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAnnulla.Click Me.Close() End Sub Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click SetupIniFile.WriteValue("pattern", "default", ins(cmbpattern.SelectedIndex).PatternConf) 'imposto il nuovo modello di stampa predefinito SetupIniFile.WriteValue("Contabilita", "AggiungiPreventivo", cmbcase.SelectedIndex.ToString) 'imposto il nuovo caso per la contabilità SetupIniFile.FlushToDisk() 'scrivo fisicamente il file ini sull'harddisk Me.Close() End Sub
ins è una var globale

Rispondi quotando