VB - täitke TreeView süsteemi ketaste ja nende kataloogidega

Siin on rutiin, mis suudab täita TreeView süsteemi ketaste ja nende kataloogidega.

Kirjeldus

Probleem oli leida sõlmede võti, sest mõnikord avaldati võti kaks korda, siis leidsin lahenduse:

  • Kasutage täielikku rada kui võtit ja sel moel on kindel, et dubleerimist ei toimu.
  • Ma ei suutnud võrgudraive testida
  • Ma kõrvaldasin süsteemi kataloogid, minu eesmärk on pildi uurimine (allalaadimiseks saadaval).
  • Rutiin on rekursiivne ja suhteliselt lühike.
  • Ära ole üllatunud, kui kaua see kulub (sõltuvalt teie süsteemist), kuid rutiin on peaaegu sama kiire kui Windows Explorer, kuid seda ei käivitata automaatselt käivitamisel.
  • Projekti saab alla laadida VB6-s tervikliku pildina.
  • Kui klõpsate pildil, kuvatakse teade Number ja pildi täielik tee.
  • Teiste piltide kuvamiseks saate ka filtreid muuta.

Projekt sisaldab kohandatud OCX-i ja DLL-i, peate:

  • Pange kaust lahti.
  • Ärge klikkige projektile, liikuge VB6 ikoonile, paremklõpsake ikoonil ja avage administraatorina.
  • Avamisel avage „Olemasolev” ja avage projekt LN_Explorateur.vpb
  • Muuda TreeView laiust punase joone liigutamise teel (klõpsa liinil ja liiguta).
    • Muutke pisipiltide suurust 'S' klahviga.

Kujutise kuvamine toimub Gdi + dll-ga, mis on vähendatud kõige lihtsamini.

  • Ma arvan, et rutiini saab hõlpsasti üle kanda VB.Net-i

Kood

Valik Selgesõnaline

 Sub Initialise_TreeDir (TreeDir As TreeView) Dim ExpDr, Rep, Drv, S Stringina, N, D, a, r, Unite Dim Cle kui string, sCle kui string, Num As Integer, Sr kui terviklik Dim nodX Node Num = 64 Set ExpDr = CreateObject ("Scripting.FileSystemObject") Määrake Drv = ExpDr.Drives iga D jaoks Drv S = D.DriveLetter '& ":" Kui D.DriveType = 3 Siis' réseaux N = D.ShareName ElseIf D.DriveType = 1 Seejärel "DD externe N =" - Média amovible - ("& D.VolumeName &") "Incr Num: Cle = SS = S &": "Set nodX = TreeDir.Nodes.Add (,, Cle, S & N, 6) Ajupäring S, Cle, TreeDir ElseIf D.DriveType = 2 Seejärel 'DD N = D.VolumeName Incr Num: Cle = SS = S &': "Set nodX = TreeDir.Nodes.Add (,, Cle, S & "- (" & N & ")", 2) Ajutised muudatused S, Cle, TreeDir ElseIf D.DriveType = 4 Seejärel "DVD On Error Resume Next N = D.VolumeName Kui Err = 71 Seejärel N =" Lecteur DVD - (vide) "Else N =" Lecteur DVD - ("& N &") "Lõpp kui Incr Num: Cle = Chr (Num) &" 0 "S = S &": "Set nodX = TreeDir.Nodes .Lisa (,, Cle, S & N, 3) Else Stop End Kui S = "" D = "" Järgmine Set nodX = Miski ei ole ExpDr = Miski ei ole Drv = Mitte midagi lõppu alamkategooriasse (Chem kui string, Cle kui string, TreeDir kui TreeView) Dim Rep, sRp, Obj, sRep, sR2 Dim sCle kui string, Num As Integer, Sr kui terviklik Dim nodX kui sõlme Dim NbsR kui tervikuna, S kui string Sr = 9 Chem = Chem & IIf (parempoolne (Chem, 1) = "", "", "" "Set Obj = CreateObject (" Skriptimine .FileSystemObject ") Set Rep = Obj.Getfolder (Chem) Kui vasak (Rep.Name, 1) =" $ "Siis GoTo Passe2 Set sRep = Rep.subfolders Iga sRp jaoks sRep S = UCase (sRp.Name) Kui vasakul (S, 1) = "$" või S = "WINDOWS" või sRp.Attributes> 100 või sRp.Attributes = 19 _ või vasak (S, 6) = "SYSTEM" või vasak (S, 7) = "PROGRAM" Või vasakule (S, 4) = "USER" _ või vasakule (S, 6) = "DRIVER" või vasakule (S, 5) = "TOOLS" Siis GoTo Passe On Error Jätka Järgmine Set sR2 = sRp.subfolders NbsR = sR2 .Count If Err 0 Siis Err = 0: GoTo Passe Incr Sr sle = sRp.Path & "Viga GoTo 0 'Debug.Print sRp.Name; ""; Cle; ""; sCle Set nodX = TreeDir.Nodes.Add (Cle, tvwChild, sCle, sRp.Name, 5, 4) Kui NbsR> 0 Siis AjoutRep sRp.Path, sCle, TreeDir End Kui Passe: Next Passe2: Set Obj = Nothing Set Rep = Nothing Set sRep = Mitte midagi seada nodX = Miski pole sR2 = Mitte midagi lõppu 

Allalaadimised

  • Link1
  • Link2

Autorid

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited