+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

ricordare le impostazioni

  1. #1
    mikefrat non  in linea Scolaretto
    salve, ho bisogno di un aiuto:
    come faccio a far "ricordare" le impostazioni ad un programma ad ogni avvio?

    ad esempio se imposto il colore di un oggetto 0502FF nel prossimo avvio voglio che l'oggetto abbia questo colore

    potete aiutarmi?

  2. #2
    L'avatar di francof
    francof non  in linea Scolaretto
    ciao,
    sicuramente vi sono sistemi migliori, comunque io ho utilizzato una tabella "impostazioni", all' interno dell' archivio .mdb utilizzato dal progr. , contenente un campo x ogni valore da ricordare.

    franco

  3. #3
    mikefrat non  in linea Scolaretto
    tu intendi far colloquiare il programma con un database con le impostazioni? un p macchinoso cmq, buona idea.

  4. #4
    Perche' e' "macchinoso"?

    Soprattutto se il programma utilizza gia' un database per i propri scopi, diventa "logico" usarlo anche per le impostazioni ...
    ℹ️ Leggi di pi su AntonioG ...

  5. #5
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    volendo potresti utilizzare anche le istruzioni SaveSetting e GetSetting, che ti permettono di utilizzare il Registro di sistema, per memorizzare delle impostazioni che servono al programma, come nel tuo caso, il colore di un controllo.

    se vuoi cancellare l'impostazione dal registro, puoi utilizzare DeleteSetting.

    questo è un sistema semplice da attuare ma, a mio giudizio, un po' "sporco" nel senso che la tua applicazione potrebbe lasciare, anche dopo la sua disinstallazione, delle chiavi inutilizzate nel registro.

    probabilmente preferirei l'ìutilizzo di un semplice file di testo, o al limite un file INI, gestibile tramite alcune API (WritePrivateProfileString, GetPrivateProfileString, ...).

    utilizzare un DB, se non se ne fa già uso nell'applicazione, è decisamente eccessivo...

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  6. #6
    L'avatar di stef
    stef non  in linea Topo di biblioteca
    Quote Originariamente inviato da TheTruster
    questo è un sistema semplice da attuare ma, a mio giudizio, un po' "sporco" nel senso che la tua applicazione potrebbe lasciare, anche dopo la sua disinstallazione, delle chiavi inutilizzate nel registro.
    Mmmh è già abbastanza pasticciato di suo il registro di Windows.....meglio non usarlo per memorizzare impostazioni.....

    Quote Originariamente inviato da TheTruster
    probabilmente preferirei l'ìutilizzo di un semplice file di testo, o al limite un file INI, gestibile tramite alcune API (WritePrivateProfileString, GetPrivateProfileString, ...).
    Molto meglio questo sistema, io quando devo salvare delle impostazioni uso sempre un file di testo cambiandogli estensione......poi leggendolo riga per riga recupero tutte le informazioni che il programma ha precedentemente memorizzato in tale file.
    Ciao!
    Stefano
    ℹ️ Leggi di pi su stef ...

  7. #7
    lucagfc non  in linea Scolaretto
    Io ho utilizzato un file ini sul quale pero scrivo "manualmente" con le funzioni da voi citate le impostazioni vengono salvate in maniera piu semplice? come funzionano? grazie

  8. #8
    L'avatar di sm80
    sm80 non  in linea Novello
    Quote Originariamente inviato da mikefrat
    salve, ho bisogno di un aiuto:
    come faccio a far "ricordare" le impostazioni ad un programma ad ogni avvio?

    ad esempio se imposto il colore di un oggetto 0502FF nel prossimo avvio voglio che l'oggetto abbia questo colore

    potete aiutarmi?

    il modo migliore è utilizzare un file ini
    veloce e pulito

    Ecco il codice:


    Option Explicit
    Public Const notFound = "notFound"
    
    Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
    Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As Any, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFilename As String) As Long
    
    Function leggiIni(chiave) As String
      Dim ret, i As Long
      Dim Temp As String * 255
      Dim lpAppName As String, lpKeyName As String, lpDefault As String, lpFileName As String
      
      lpKeyName = chiave
      lpDefault = notFound
      lpAppName = "Palestra"  'nome della sessione
      lpFileName = app.Path & "\Bin\Palestra.ini"    'percorso
    
      ret = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, Temp, Len(Temp), lpFileName)
      
      If ret = 0 Then leggiIni = "" Else leggiIni = Left(Temp, ret)
    End Function
    
    Sub scriviIni(chiave, valore)
      Dim lpAppName As String, lpFileName As String, lpKeyName As String, lpString As String
      Dim ret As Long
      
      lpKeyName = chiave
      lpString = valore
      lpAppName = "Palestra"
      lpFileName = app.Path & "\Bin\Palestra.ini"
    
      ret = WritePrivateProfileString(lpAppName, lpKeyName, lpString, lpFileName)
      
      If ret = 0 Then Beep
    End Sub
    

    esempio file ini:
    [palestra]
    scadenze=7
    scaduto=30
    .............


    ciao

  9. #9
    mikefrat non  in linea Scolaretto
    grazie mille, questa è un'ottima soluzione. il database no perchè non ne uso nel programma.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Ricordare Array
    Da strategaD nel forum Visual Basic .Net
    Risposte: 10
    Ultimo Post: 22-08-2015, 20:29
  2. Impostazioni Form
    Da Superigno nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 18-08-2008, 15:20
  3. Impostazioni stampante
    Da labrujita nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 06-03-2008, 21:14
  4. VB e impostazioni di Windows
    Da Mika nel forum Visual Basic 6
    Risposte: 0
    Ultimo Post: 04-09-2007, 09:12
  5. Impostazioni
    Da cippalippa nel forum Visual Basic .Net
    Risposte: 7
    Ultimo Post: 20-03-2007, 13:23