Vi spiego il mio problema... nel mio programma vorrei che all inizio si apra un form (form1) e dopo aver cliccato sul comandbutton si apra il form successivo (form2), fin qui nessun problema, ma come faccio a fare in modo che al prossimo avvio del programma il form1 non viene piu visualizzato e passa direttamente al form2? io pensavo di farlo utilizzando i file ini
nel modulo ho questo codice per gestire i file .ini
' funzioni API per leggere/scrivere i file INI
Private Declare Function GetPrivateProfileString Lib _
"kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, ByVal lpFileName As _
String) As Long
Private Declare Function WritePrivateProfileString Lib _
"kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, _
ByVal lpFileName As String) As Long
' restituisce il testo contenuto in una determinate chiave del file INI
Public Function ReadINI(strSection As String, strKeyName As String, _
ByVal strFileName As String, Optional lStringBuffer As Long = 255, _
Optional iniDirPathName As String) As String
' ATTENZIONE: questa funzione usa un buffer limitato, specificato
' dall’istruzione strText = Space(buffer).
' Ogni carattere eccedente verrà tagliato fuori dal risultato. Se pensate
' che ciò possa eleiminare una parte dei dati recuperati, potete incrementare
' l’argomento nella funzione Space()
Dim intLen As Long
Dim strText As String, strIniFile As String
' imposta directory di default del file INI
If iniDirPathName = "" Then iniDirPathName = App.Path
' rimuove il backslash finale dal oercorso
If Right$(iniDirPathName, 1) = "\" Then
Mid$(iniDirPathName, Len(iniDirPathName), 1) = Space$(1)
iniDirPathName = RTrim$(iniDirPathName)
End If
' imposta la directory di default del file INI
strIniFile = iniDirPathName & "\" & strFileName
' legge I dati dal file, e ne cerca eventuali errori
strText = Space(lStringBuffer) ' BUFFER
intLen = GetPrivateProfileString(strSection, strKeyName, "", _
strText, Len(strText), strIniFile)
If intLen > -1 Then
strText = Left(strText, intLen)
Else
MsgBox "Error into INI file"
End If
ReadINI = strText
' USO: MyProperty = ReadINI(Section, KeyName, INIFileName, buffer)
' ESEMPIO: Me.FontName = ReadINI("Font", "FontName", "Banner.ini", 255)
End Function
' scrive un file INI nella stessa cartella del file .exe (se non è specificata alcuna
' cartella alternativa), se il file non esiste, ne crea uno nuovo.
Public Sub WriteINI(strSection As String, strKeyName As String, _
strText As String, strFileName As String, Optional iniDirPathName As String)
' ATTENZIONE: quando viene eseguito dentro l’IDE di VB, l’eseguibile in esecuzione
' è VB6.exe, così il file INI viene creato nella cartella di VB6.exe, se non viene
' specificato altrimenti
Dim intLen As Integer
Dim strIniFile As String
' imposta directory di default del file INI
If iniDirPathName = "" Then iniDirPathName = App.Path
' rimuove il backslash finale dal oercorso
If Right$(iniDirPathName, 1) = "\" Then
Mid$(iniDirPathName, Len(iniDirPathName), 1) = Space$(1)
iniDirPathName = RTrim$(iniDirPathName)
End If
' costruisce il path completo del file INI
strIniFile = iniDirPathName & "\" & strFileName
' scrive dentro il file INI
intLen = WritePrivateProfileString(strSection, strKeyName, _
strText, strIniFile)
' USO: Call WriteINI(Section, KeyName, ValueToWrite, INIFileName)
' ESEMPIO: Call WriteINI("Font", "FontName", Me.FontName, "Banner.ini")
End Sub
voglio fare che dopo aver cliccato sul comandbutton da un valore alla chiave all interno del file ini, ad esempio il valore dato dopo aver cliccato è 0, come gli faccio a dire che quello 0 equivale a form1.enabled = false?? in questo modo ad ogni avvio il form1 non comparira e aprira diorettamente form2
se magari avete una soluzione diversa ditemi pure ma a mio parere l utilizzo dei file ini semplificano parecchio!
grazie in anticipo per le risposte![]()