/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Søg efter filer.
Fra : dkspeedo
Vist : 528 gange
60 point
Dato : 01-04-03 20:09

Jeg har en "list1" med flueben, og i den skal der stå alle de filer med efternavnet "*.bsp". De filer der skal søges efter lige i en bestemt mappe, men inden de bliver ført over i "list1". Skal der lige tjekkes om, de findes i en anden mappe (En bestemt mappe). Hvis de gør det, skal de ikke over i "list1".

Håber der er nogen der kan hjælpe mig! På forhånd tak!!!

 
 
Kommentar
Fra : CADmageren


Dato : 02-04-03 10:59

Hejsa
Lav en ekstra FileListBox (som er usynlig!)
Option Explicit

Private Sub Form_Load()
Dim checkPath As String
checkPath = "c:\temp" ' Ret dette stinavn
File1.Path = "C:\WorkLib\BoschRexroth\ProdKonfig_source\Pictures" ' Ret dette stinavn
File1.Pattern = "*.jpg"
File1.Refresh
Dim i As Integer, txt As String
For i = 0 To File1.ListCount - 1
txt = File1.List(i)
If Dir(checkPath & "\" & txt) = "" Then
List1.AddItem txt
End If
Next

End Sub


mvh
www.cadmageren.dk

Michael Christoffersen


Kommentar
Fra : dkspeedo


Dato : 02-04-03 23:11

Tak!!! CADmageren

Det virker, men hvad nu hvis jeg vil fjerne (*.bsp) fra "list1"???

Kommentar
Fra : dkspeedo


Dato : 02-04-03 23:16

Og lige et spørgsmål mere, den søger kun i den mappe man har skrivet. kan man ikke få den til at, søge videre i mapperne i mappen?

Kommentar
Fra : dkspeedo


Dato : 02-04-03 23:35

Enu et spørgsmål!!

Sådan ser den ud nu!
checkPath = "C:\Temp"

Kan man ikke skrive sådan! (Jeg kan ikke få det til at virke)
checkPath = "Text1.Text" ' I stedet for at have en bestemt dir, så have den dir der står i F.eks "Text1.text"

Kommentar
Fra : CADmageren


Dato : 03-04-03 08:38

Hej dkspeedo. Det var mange sp.

For at fjerne .bsp, skal du istedet for:
List1.AddItem txt
skrive:
List1.AddItem left(txt,len(txt)-4)

hvis du skal bruge værdien af text1.text, skal du fjerne apostrof tegnene
checkPath = Text1.Text

Med hensyn til at lede i undermapper, så kan det også sagtens lade sig gøre, vha et recursivt kald ( dvs at en funktion kalder sig selv). Nu begynder det dog at blive lidt mere kompliceret, end noget jeg lige kan ryste ud af ærmet.

Mvh
www.cadmageren.dk

Michael Christoffersen


Kommentar
Fra : dkspeedo


Dato : 03-04-03 09:56

List1.AddItem left(txt,len(txt)-4) Virker! Tak!

checkPath = Text1.Text Virker ikke!

Hvad kan der være kalt???

Accepteret svar
Fra : CADmageren

Modtaget 60 point
Dato : 03-04-03 12:48

Så må du forklarer problemet nærmere.

Send eventuelt hele kildekoden.

Mvh
www.cadmageren.dk

Michael Christoffersen


Kommentar
Fra : dkspeedo


Dato : 03-04-03 13:18

Private Sub Form_Load()
Dim checkPath As String
checkPath = Text1.Text ' DET ER HER DET IKKE VIRKER
File1.Path = "C:\Documents and Settings\Thomas\Skrivebord\CSMP1\Maps\fy_pool_day2\maps" ' Ret dette stinavn
File1.Pattern = "*.bsp"
File1.Refresh
Dim i As Integer, txt As String
For i = 0 To File1.ListCount - 1
txt = File1.List(i)
If Dir(checkPath & "\" & txt) = "" Then
List1.AddItem Left(txt, Len(txt) - 4)
End If
Next

Kommentar
Fra : dkspeedo


Dato : 03-04-03 13:22

Har løst problemmet, den tekst som skulle stå i Text1.Text. kommer senere, end den bliver læst. hvis du forstår???

Godkendelse af svar
Fra : dkspeedo


Dato : 03-04-03 13:23

Tak for svaret CADmageren.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste