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

    [VB6] file.txt o file.inf ?

    Ciao...vi scrivo anche alle 2 di notte...ma quanto vi voglio bene!!!
    ....allora...devo salvare alcune impostazioni del mio programma su di un file,e su di un altro i dati presenti in una griglia!
    Come posso fare? Si deve usare un oggetto apposito per lavorare con i file?Si puo generare un file direttamente da VB se esso non esiste!?
    ho cercato in giro.... ma non ho trovato nulla di chiaro... :master:

    seconda domanda...come posso disabilitare la "x" di una form?Cioè non voglio toglierla...ma la voglio far diventare grigia!!!C'è una specie di enable per quell'affare!!!???


    ho trovato questo codice...

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If tieniaperto = False Then
    If UnloadMode = vbFormControlMenu Then
    Cancel = True
    End If
    End If
    End Sub


    solo che ignora il click sulla "x" solamente!

    Ciao...
    mic

  2. #2
    per i file VB mette a disposizione due metodi:

    - tradizionale: OPEN nomedifile FOR INPUT|OUTPUT ecc.
    - a oggetti: tramite FSO http://msdn.microsoft.com/library/de...FileSystem.asp

  3. #3
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028

    Re: [VB6] file.txt o file.inf ?

    Originariamente inviato da michele79
    Ciao...vi scrivo anche alle 2 di notte...ma quanto vi voglio bene!!!
    ....allora...devo salvare alcune impostazioni del mio programma su di un file,e su di un altro i dati presenti in una griglia!
    Come posso fare? Si deve usare un oggetto apposito per lavorare con i file?Si puo generare un file direttamente da VB se esso non esiste!?
    ho cercato in giro.... ma non ho trovato nulla di chiaro... :master:

    seconda domanda...come posso disabilitare la "x" di una form?Cioè non voglio toglierla...ma la voglio far diventare grigia!!!C'è una specie di enable per quell'affare!!!???


    ho trovato questo codice...

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If tieniaperto = False Then
    If UnloadMode = vbFormControlMenu Then
    Cancel = True
    End If
    End If
    End Sub


    solo che ignora il click sulla "x" solamente!

    Ciao...
    Allora le impostazioni del programma potresti salvarle in un file INI (che è standard). Ci sono alcune API:
    codice:
    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
    
    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
    Su PSC trovi sicuramente molti esempi (www.planetsourcecode.com).

    Per quanto riguarda il contenuto della griglia, puoi crearti semplicemente un file .DAT dove spiattelli dentro i dati. Ora, puoi usare l'istruzione Open per aprire il file e Write per scriverlo. Ma qui dipende da quello che ci vuoi salvare dentro. Che dati contiene la griglia?

    Per disabilitare la X metti questo in un modulo:
    codice:
    Option Explicit
    
    Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
    
    Public Const MF_REMOVE = &H1000&
    Public Const MF_ENABLED = &H0&
    Public Const MF_INSERT = &H0&
    
    
    Public Const SC_CLOSE = &HF060&
    Public Const SC_MINIMIZE = &HF020&
    Public Const SC_MAXIMIZE = &HF030&
    Public Const SC_RESTORE = &HF120&
    
    Public Enum MenuTypes
        mnuClose = SC_CLOSE
        mnuMinimize = SC_MINIMIZE
        mnuMaximize = SC_MAXIMIZE
        mnuRestore = SC_RESTORE
    End Enum
    
    Public Sub RemoveFormMenu(myForm As Form, TarghetMnu As MenuTypes)
        ' Disabilito il menu desiderato!
        Call RemoveMenu(GetSystemMenu(myForm.hwnd, 0), TarghetMnu, MF_REMOVE)
        ' Ridisegno i menu!
        DrawMenuBar myForm.hwnd
    End Sub
    e richiami la RemoveFormMenu nel load della form dove vuoi disabilitare la X.


  4. #4
    Ciao Sebamix!
    Grazie per la risposta... ho disabilitato la x funziona proprio come volevo!
    Per quanto riguarda il file .DAT? come funziona? La tabella contiene coppie di dati esadecimali
    es:

    1A 55 CB FF 00

    ogniuno di essi si trova dentro una cella della flexgrid!


    Quindi questi dati devo poterli salvare e ricaricare in un secondo momento dentro la stessa tabella!

    Ti ringrazio !




    Michele
    mic

  5. #5


    Niente!?
    mic

  6. #6
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Allora, puoi usare i metodi standard di VB.
    codice:
    dim N as integer
    n=freefile
    open "path\nomefile" for output as #n
    '...
    ' operazioni di scrittura
    '...
    close #n
    Ora, per scrivere sul file puoi usare l'istruzione print

    codice:
    print #n, "riga"
    Per scrivere i valori devi ciclare tutte le righe della flexgrid (non ti so dare il codice perchè non l'ho mai usata...).
    Per ogni riga ti costruisci una stringa con tutti i valori di seguito e poi la memorizzi nel file con la print;
    Es.: se hai una situazione del genere nella griglia:

    12|32|F3|56|30|06|80
    FF|15|FD|FE|67|63|88

    cicli tutte le righe, e per ogni riga costruisci una stringa con tutti gli elementi in modo da avere nel file:

    1232F356300680
    FF15FDFE676388

    Poi per leggere fai l'inverso:
    Usi sempre la Open e la Close solo che usi l'istruzione line input;

    codice:
    dim strIn as string
    '...
    ' apri il file
    '...
    do while eof(n)=false
      line input #n, strIn
      ' Adesso hai una stringa con tutte coppie di valori esadecimali e con l'istruzione mid puoi inserirla nella griglia
    loop
    
    ' Chiudi il file.
    Scusa se non scendo maggiormente nei dettagli, ma è venerdì pomeriggio e sono un po' fuso...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.