Avatar billede sjh Nybegynder
01. september 2000 - 21:57 Der er 8 kommentarer og
1 løsning

Smide en fil ind i vb-program

Hvordan laver man det så man kan tage en fil og smide den ind i sit vb-program.

og opfange path + filenavn

Avatar billede winkill Nybegynder
01. september 2000 - 22:42 #1
Mener du \"Drag\'n drop\" ??
Avatar billede sjh Nybegynder
02. september 2000 - 02:54 #2
Ja.
på samme måde som, når man åbner \"Notesblok\" og smider en tekstfile ind i Notesblok.

Avatar billede privaten Nybegynder
02. september 2000 - 08:40 #3
Du opretter en \"handler\" til at varetage et \"on-drop\" event og skriver den fornødne kode i denne. Resten er noget med at kigge i dokumentationen for VB
Avatar billede winkill Nybegynder
02. september 2000 - 11:14 #4
Her er et eksempel lavet til Form1

Private Sub Form_Load()
    Form1.OLEDropMode = 1 \' Så kan der modtages filer vha. Drag\'n Drop
End Sub

Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    While Data.Files.Count > 0 \' Så længe der er filer at hente
        Form1.Print Data.Files(1) \' Skriv filnavnet i formen
        Data.Files.Remove (1) \' Fjern filen fra listen
    Wend
End Sub

Det kan da ikke være lettere !?
Avatar billede winkill Nybegynder
02. september 2000 - 11:17 #5
I eksemplet med notepad kunne man bruge Text1 og skrive:

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim f As Integer
    f = FreeFile
    While Data.Files.Count > 0
        If Right(Data.Files(1), 4) = \".txt\"
        Open Data.Files(1) For Input As f
        Text1.SelText = Input(FileLen(Data.Files(1)), f)
        Close #f
        Data.Files.Remove (1)
    Wend
End Sub
Avatar billede winkill Nybegynder
02. september 2000 - 11:19 #6
Ups, der mangler et Then

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim f As Integer
    f = FreeFile
    While Data.Files.Count > 0
        If Right(Data.Files(1), 4) = \".txt\" Then
            Open Data.Files(1) For Input As f
            Text1.SelText = Input(FileLen(Data.Files(1)), f)
            Close #f
        End If
        Data.Files.Remove (1)
    Wend
End Sub 
Avatar billede winkill Nybegynder
02. september 2000 - 11:20 #7
Du får lige det hele bare for at spilde lidt plads på Eksperten:

Private Sub Form_Load()
    Text1.OLEDropMode = 1
End Sub

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim f As Integer
    f = FreeFile
    While Data.Files.Count > 0
        If Right(Data.Files(1), 4) = \".txt\" Then
            Open Data.Files(1) For Input As f
            Text1.SelText = Input(FileLen(Data.Files(1)), f)
            Close #f
        End If
        Data.Files.Remove (1)
    Wend
End Sub
Avatar billede sjh Nybegynder
02. september 2000 - 21:17 #8
Tak winkill, det virker jo fint.

Avatar billede winkill Nybegynder
03. september 2000 - 12:42 #9
Ja, de har gjordt det ret godt ved MS hvad angår OLE og Drag\'n drop :-)
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