Newsgroup: it.comp.lang.visual-basic
Titolo: Riga di codice misteriosa....

In basso ho evidenziato la riga.....qualcuno può spiegarmela ?
Grazie.
Sub CreatableRst_Files(strPath As String)
'Questo esempio crea un recordset
'da dati Non-relazionali
'Mostra il recordset creato da una lista di dati in una directory
'Può essere alternativo al Provider NT Dir Serverices OLE DB
'Petete creare il vostro provider con VB 6
'Potete effettuare una chiamata da un ASP per una lista di download, ecc
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
With rst
    'Effettua il lavoro locale
    .CursorLocation = adUseClient
    'Aggiunge un campo
     .Fields.Append "FileName", adVarChar, 255, adFldRowID
     .Fields.Append "Extention", adChar, 3, adFldFixed
    'Apre rst
    .Open , , adOpenStatic, adLockBatchOptimistic
     'Si assicura che ci sia un \ nel percorso
     If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
     'Prende la lista di tutti i file in DIR e li aggiunge al
     'recordset
      strPath = Dir(strPath & "*.*", vbNormal)
      ' Non include le voci . e ..        <--------------    Questa riga non
la capisco !!!!!!!!
      Do While strPath > ""
        'Aggiunge un record a rst
         .AddNew Array("FileName", "Extention"), _
        Array(strPath, Right(strPath, 3))
        strPath = Dir
      Loop
    .MoveFirst
    'Stampa i file
    Do Until .EOF
        Debug.Print !FileName
        rst.MoveNext
    Loop
End With
End Sub

       Do While strPath > ""
Beh, è una riga di commento che precisa che la Dir non restituisce
nell'eleneco i riferimenti a "." e ".." che potresti vedere in una DIR fatta
da DOS e che indicano, convenzionalmente, i livelli superiori.

 da DOS e che indicano, convenzionalmente, i livelli superiori.
Questi novellini che si bevono tutto (o "solo") quello che windows gli fa
vedere senza che si pongano mai dei dubbi :)
Per la precisione "." č la dir corrente, ".." la dir superiore (e possono
tranquillamente essere usati nei percorsi: mai visto i percorsi relativi che
ti propone VB quando crei l'exe?).
Ciao
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"

 vedere senza che si pongano mai dei dubbi :)
Ma mi sono posto il dubbio....infatti ho postato al ng !!!!
Grazie degli aiuti e ciao!


Hai fatto bene a porti il dubbio infatti, perche' , se posso dire la mia,
quel commento in quel punto e' del tutto fuori luogo e 9 su 10 e' stato
lasciato li' per errore da chi ha scritto quel codice, copiando da codice
simile.
Questo perche' la funzione Dir con *.* e l'attributo vbNormal restituisce
solo file, non directory, quindi a maggior ragione non puo' restituire "." e
".."
Il dir fatto invece con l'attributo vbDirectory, restituisce appunto le
sottodirectory del percorso *compresi* "." e ".." che devono essere filtrati
Se vai sulla guida, infatti, nell'esempio della funzione Dir trovi ad un
certo punto (versione inglese):
MyName = Dir(MyPath, vbDirectory)   ' Retrieve the first entry.
Do While MyName <> ""   ' Start the loop.
   ' Ignore the current directory and the encompassing directory.
   If MyName <> "." And MyName <> ".." Then
Ora, scommetterei che quel commento deriva dal fatto di aver copiato una
routine simile a questa, che poi e' stata riadattata togliendo la IF ma
lasciando il commento che la riguardava...
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown