Newsgroup: it.comp.appl.access
Titolo: Ho letto il MAC ADDRESS

Salve,
visto che non ho trovato un metodo di lettura tramite API, ho utilizzato
un metodo che legge un file TXT creato tramite il comando
'ipconfig' da un file BAT.
Per far funzionare le due routin sotto riportate, dovete creare un file
BAT con la seguente istruzione:
ipconfig /all > c:\mac.txt
e posizionarlo nella route del disco C
Le routin sono:
Function GetMacAddress()
    'Legge il Mac Address dal file txt
    Dim TextLine, strMacAddress as string
    Dim Conta As Long
    Conta = 0
    strMacAddress = ""
    Open "c:\mac.txt" For Input As #1 ' Apre il file.
        Do While Not EOF(1) ' Ripete fino alla fine del file.
            For Conta = 1 To 31
                Line Input #1, TextLine '  Assegna la riga a una
variabile.
                If Conta = 31 Then
                    strMacAddress = Right(TextLine, 17) ' Scrive nella
finestra Debug.
                End If
            Next Conta
            Exit Do
        Loop
    Close #1 ' Chiude il file.
    msgbox strMacAddress
End Function
Function PutMacAddressTxt()
    Dim varshell, x As Long
    'esegue il file bat contenente la configurazione IP del PC
    varshell = Shell("c:\mac.bat", 0)
    'aspetto questo ciclo per essere sicuro che è finita la scrittura
del file
    For x = 1 To 60000000
    Next x
End Function
Poichè vado a leggere la "riga" 31 del file mac.txt, e non sono sicuro
che la posizione sia la stessa su tutti i sistemi operatvi, sarebbe
opportuno che chi prova questo esempio mi facesse sapere se funziona
e sopratutto su che SO è stata provata.
Salutoni, Luca.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
su win 2000
la riga č  la 15
ciao

 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Grazie skizzato.
Visto che anche XP non genera un file uguale, ho modificato la procedura in
modo tale che riconosca la riga leggendo le parole. Di seguito la procedura
modificata e valida.
Function GetMacAddress()
    'Legge il Mac Address dal file txt
    Dim TextLine
    Dim trimTextLine As String, Stringa As String
    Dim Conta As Long, lenTrimTextLine As Long, Ciclo As Long
    Conta = 0
    Ciclo = 0
    strMacAddress = ""
    striga = ""
    Open "c:\mac.txt" For Input As #1 ' Apre il file.
        Do While Not EOF(1) ' Ripete fino alla fine del file.
            For Conta = 1 To 40
                Line Input #1, TextLine '  Assegna la riga a una variabile.
                trimTextLine = Trim(TextLine)
                lenTrimTextLine = Len(trimTextLine)
                For Ciclo = 1 To lenTrimTextLine
                    If Asc(Right(Left(trimTextLine, Ciclo), 1)) > 96 And
Asc(Right(Left(trimTextLine, Ciclo), 1)) < 123 Then
                        Stringa = Stringa & Right(Left(trimTextLine, Ciclo),
1)
                        'MsgBox Stringa
                        If Stringa = "fisico" Then
                            strMacAddress = Right(TextLine, 17)
                            Exit For
                            Exit Do
                        End If
                    Else
                        Stringa = ""
                    End If
                Next Ciclo
            Next Conta
            Exit Do
        Loop
    Close #1 ' Chiude il file.
End Function
Function PutMacAddressTxt()
    Dim varshell, x As Long
    'esegue il file bat contenente la configurazione IP del PC
    varshell = Shell("c:\mac.bat", 0)
    For x = 1 To 60000000
    Next x
End Function
Salutoni.