Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6]non far visualizzare piu un form

    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

  2. #2
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    196
    Ci sono diversi modi ad esempio i file Xml dove leggi i parametri del programma le sue caratteristiche etc e le vai a modificare...magari leggendo uno stream dallo stesso form-->form principale..

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A parte il metodo che vuoi utilizzare per memorizzare lo stato della visualizzazione (puoi scrivere sul registro o su un qualsiasi file di testo, anche non un file ini), quello che conta e' la sequenza con cui apri i form.

    Tu hai due form, diciamo formA e formB.

    Se ho capito, tu fai partire il formA e quando pressi il tasto visualizzi il formB.
    Il primo e' lo splash screen e il secondo e' quello dell'applicazione ... corretto?

    Se e' cosi', prova a far partire il formB e SOLO se leggi dal file ini (o dal registro) l'indicazione che e' la prima volta che parte il programma, allora visualizzi il formA.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    io vorrei sapere che codice scrivere per dire al programma che se un indicazione nel ini è uguale a un certo valore allora non deve piu visualizzarmi il form
    esempio: visualizzazioneform=0 il form si visualizza
    visualizzazioneform=1 il form nn si visualizza

    coem faccio ad usare if, then e else con i file .ini? in quel codice che ho postato che va nel modulo dice che per leggere l ini si fa:
    ' USO: MyProperty = ReadINI(Section, KeyName, INIFileName, buffer)
    ' ESEMPIO: Me.FontName = ReadINI("Font", "FontName", "Banner.ini", 255)

    e per scrivere:
    ' USO: Call WriteINI(Section, KeyName, ValueToWrite, INIFileName)
    ' ESEMPIO: Call WriteINI("Font", "FontName", Me.FontName, "Banner.ini")

    m sapete aiutare?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma hai letto quello che ti ho scritto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.