File box

Tags:    visual-basic

User
Bruger #683 @ 14.04.02 15:42
.:: Death Killer ::.

Hvordan gør man sådan at når man klikker på en fil i en file ( box ) at den åbner sig
--------------

når man trykker på en .txt fil åbner den sig i Notesblok?





4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
.:: Death Killer ::.

Hvordan gør man sådan at når man klikker på en fil i en file ( box ) at den åbner sig
--------------

når man trykker på en .txt fil åbner den sig i Notesblok?


Det nemmeste er at bruge en Windows API-kald til formålet. I Shell32.dll-filen findes der en funktion ved navn ShellExecuteA. Denne funktion kan bruges til at åbne datafiler - tekstfiler, database-filer, billeder - i deres associerede program. For eksempel åbnes .txt filer som standard i Notepad.exe.

Lav en form med en FileList-kontrol og en CommandButton-kontrol. Brug standardnavnene for disse kontroller; henholdsvis File1 og Command1. Indsæt følgende kode i toppen af formen's kode:
<pre>Option Explicit

'
' Vi skal bruge ShellExecute til at starte programmer
' med.
'
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As Long
</pre>
Dette erklærer ShellExecute-funktionen, så Visual Basic kan kalde den eksterne funktion. Det næste, du skal gøre er at implementere knappen. Dette gøres ved at kalde ShellExecute, når knappen klikkes; altså i Command1_Click-proceduren:
<pre>'
' Åbner en fil med dens tilhørende program i Windows;
' eksempelvis *.txt filer åbner i Notepad.exe.
'
Private Sub Command1_Click()

'
' Brug ShellExecute funktionen, der er defineret i
' toppen af denne form's kode, til at åbne en
' datafil med. ShellExecute finder selv ud af,
' hvilket program skal bruges.
'
With Me
ShellExecute .hwnd, "open", .File1.filename, 0, 0, 1
End With

End Sub
</pre>
Når du har valgt en eller anden fil (datafil, såsom *.txt) i fil-listen, prøv så at klikke på knappen. Datafilen åbnes i dens tilhørende program (associated application).



.:: Death Killer ::.

Hvordan gør man sådan at når man klikker på en fil i en file ( box ) at den åbner sig
--------------

når man trykker på en .txt fil åbner den sig i Notesblok?



dene kode skulle åbne filerne i notepad


<pre>
dim Fil as string

Fil = F.Path & "\\" & F.FileName
Shell "C:\\WINDOWS\\notepad.exe " & Fil, vbNormalFocus

</pre>

-Thomas


[Redigeret d. 14/04-02 21:18:59 af Thomas Christensen]



.:: Death Killer ::.

Hvordan gør man sådan at når man klikker på en fil i en file ( box ) at den åbner sig
--------------



<pre>
' Vi skal bruge ShellExecute til at starte programmer
' med.
'
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As Long
</pre>
Dette erklærer ShellExecute-funktionen, så Visual Basic kan kalde den eksterne funktion. Det næste, du skal gøre er at implementere knappen. Dette gøres ved at kalde ShellExecute, når knappen klikkes; altså i Command1_Click-proceduren:
<pre>'

' Åbner en fil med dens tilhørende program i Windows;
' eksempelvis *.txt filer åbner i Notepad.exe.
'

'placer koden i denne hændelse for at åbne file med et enkeltklik på filnavnet

Private Sub File1_Click()

'
' Brug ShellExecute funktionen, der er defineret i
' toppen af denne form's kode, til at åbne en
' datafil med. ShellExecute finder selv ud af,
' hvilket program skal bruges.
'
With Me
ShellExecute .hWnd, "open", .File1.FileName, 0, 0, 1
End With
End Sub


</pre>

'eller denne for et dobbeltklik på filnavnet

<pre>

Private Sub File1_DblClick()

'
' Brug ShellExecute funktionen, der er defineret i
' toppen af denne form's kode, til at åbne en
' datafil med. ShellExecute finder selv ud af,
' hvilket program skal bruges.
'
With Me
ShellExecute .hWnd, "open", .File1.FileName, 0, 0, 1
End With
End Sub


</pre>
nu kan du få åbnet filerne med enten enkelt eller et dobelklik på filnavnet, i syedet for at skulle vælge filen og klik på en knap!

-Thomas
[Redigeret d. 15/04-02 12:31:54 af Thomas Christensen]



Det tror jeg nu nok vedkommende ville kunne finde ud af selv.

Med al respekt.



t