Avatar billede vbghost Nybegynder
16. september 2000 - 22:44 Der er 14 kommentarer og
1 løsning

dumme commondlg

Jeg bruger API CommonDialog, og nu spørger jeg, hvordan i alverden kan man få CommonDialog til at spytte hvor den valgte fil\'s mappe er henne (den kan, hos mig, kun sige hele stigen (dvs. eks. C:\\hello.txt, men jeg vil kun have C:\\) HVORDAN??

..:: -[Neo.Nova]- ::..
Avatar billede sjh Nybegynder
16. september 2000 - 23:39 #1
jeg er ikke sikker på at det er sådan du ville ha det, men her for du kun \"C:\\ eller D:\\ eller E:\\\".

Private Sub Command1_Click()
CommonDialog1.ShowOpen
Text1.Text = Left(CommonDialog1.filename, 3)
End Sub
Avatar billede driis Nybegynder
17. september 2000 - 00:05 #2
Du kan finde hele stien ved:

For I=1 To Len(CommonDialog1.filename)
Avatar billede driis Nybegynder
17. september 2000 - 00:13 #3
Ups... Der kom det hele vist ikke med; koden var:

For I=1 To Len(CommonDialog1.filename)
    Sti=Right$(CommonDialog1.filename,I)
    If Left$(Sti,1)=\"\\\" Then Exit For
Next I
Sti = Right$(Commondialog.filename,I-1)

Så indeholder \'sti\' den komplette sti.
Avatar billede vbghost Nybegynder
17. september 2000 - 14:37 #4
i har nok i fattet det? men jeg vil kun have stien... ikke filnavnet...+++

men jeg prøver lige jeres svar... ;)
Avatar billede vbghost Nybegynder
17. september 2000 - 14:42 #5
dvs. C:\\windows\\sysedit.exe vil jeg HAVE kun C:\\windows!!!?????
Avatar billede driis Nybegynder
17. september 2000 - 15:09 #6
Mit forslag giver også kun stien, altså \"C:\\Windows\" ud fra \"C:\\Windows\\sysedit.exe\" (håber jeg, har ikke testet det).
Avatar billede vbghost Nybegynder
17. september 2000 - 15:49 #7
driis: det gør det ikke, den giver kun sysedit.exe
Avatar billede driis Nybegynder
17. september 2000 - 20:32 #8
DOH!

Det har vist været weekend for længe:

For I=1 To Len(CommonDialog1.filename)
    Sti=Right$(CommonDialog1.filename,I)
    If Left$(Sti,1)=\"\\\" Then Exit For
Next I
Sti = Left$(Commondialog1.filename,Len(Commondialog1.filename)-I)
Avatar billede vbghost Nybegynder
18. september 2000 - 19:04 #9
tester lige ;)
Avatar billede januskh Nybegynder
18. september 2000 - 22:46 #10
Kunne denne her måske bruges?

Private Sub Command1_Click()

  CommonDialog1.InitDir = GetFilePath(\"d:\\hello.text\", True)
  CommonDialog1.ShowOpen

End Sub

Public Function GetFilePath(ByVal FullFilePath As String, Optional ByVal AddSlash As Boolean = False) As String
Dim nPos As Integer
Dim sTmp As String

  nPos = InStrRev(FullFilePath, \"\\\")
  If nPos > 1 Then
    sTmp = Left(FullFilePath, nPos - 1)
    If AddSlash Then sTmp = sTmp & \"\\\"
    GetFilePath = sTmp
  End If
End Function
Avatar billede vbghost Nybegynder
18. september 2000 - 23:43 #11
hold da op ;)

jeg tester lige ;)
Avatar billede januskh Nybegynder
23. september 2000 - 23:05 #12
Test nu ikke for længe... ;)
Avatar billede driis Nybegynder
24. september 2000 - 01:27 #13
Jaeh; det må siges at være en ret grundig test, vores kodestumper gennemgår...
Avatar billede driis Nybegynder
17. oktober 2000 - 16:57 #14
Skal det her spm ikke snart lukkes?
Avatar billede vbghost Nybegynder
18. oktober 2000 - 13:05 #15
ups, tja jo
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel