Avatar billede light Praktikant
06. december 2002 - 20:29 Der er 29 kommentarer og
1 løsning

åbner ex. TXT filer med mit eget program ??

jeg skal have den funktion med i mit program at jeg kan tilknytte for eksempel TXT filer til det !!
sådan at når du dobbelt klikekr på en TXT fil åbner den den med mit program !!

lige nu når man dobbelt klikker på den åbner den kun programmet men ikke filen også !!

hvad skal jeg gøre ?? nogle der kan hjælpe ???
Avatar billede joern Nybegynder
06. december 2002 - 21:28 #1
Hej.

Er det rigtigt opfattet, at det du ønsker er at filer med ekstension .txt skal associeres til dit program, således at at klik i stifinder eller andre filhåndterings-programmer udløser at txt-filen indlæses.

Men hvordan, linie for linie eller i en kæmpeboks som en helhed?  En txt-fil kan jo godt være stor og indeholde mange hårde linieskift - VBCRLF.

M.v.h.  Jørn
Avatar billede light Praktikant
06. december 2002 - 23:32 #2
indlæses me dmit program ja helt rigtigt :D
Avatar billede light Praktikant
06. december 2002 - 23:33 #3
den åbner det ligesom UltraEdit fik ikke lige fat i hvad du mente - den skal åbne den lige som UltraEdit (see: www.ultraedit.com)
Avatar billede joern Nybegynder
06. december 2002 - 23:55 #4
Hej.

Med skam at melde, så ved jeg det ikke, - ikke det med at programmet opfanger et klik fra Stifinder.  Men jeg har fundet et projekt
http://www.vbcode.com/code/TEXTPAD11222002.ZIP

Jeg kan bare ikke selv åbne det med min VB5.

Der benyttes FileSystemObject:

Private Sub open_Click()
Dim Filetext As String
Dim Filefilter As String
Dim Filenumber As Integer
Filefilter = "Text Files(*.txt)|*.txt|All Files(*.*)|*.*"
cd.Filter = Filefilter
cd.ShowOpen
Filename = cd.Filename
Set ts = fso.OpenTextFile(Filename)
Do While ts.AtEndOfStream <> True
Filetext = Filetext & ts.Read(1)
If Len(Filetext) > 36000 Then
MsgBox "The File is too large to open" & vbCrLf & "To Fully View it open it with Wordpad", vbInformation, "Error"
Exit Do
End If
Loop
Text1.Text = Filetext
ts.Close
Form1.Caption = "Text Pad  " & Filename
End Sub 

Måske kommer nogen på banen, der har prøvet dette selv.

M.v.h.  Jørn
Avatar billede light Praktikant
07. december 2002 - 00:29 #5
thanx jeg kigger på det i morgen
Avatar billede sjh Nybegynder
07. december 2002 - 05:14 #6
Jeg tror det er "Command$" du leder efter, prøv:

Private Sub Form_Load()
Dim intFree As Integer
Dim strPath As String
Dim strTekst As String

'Henter den stig som er skrævet efter exe-filen
'eks: C:\Project1.exe "C:\autoexec.bat"
'Command$ er = "C:\autoexec.bat"
strPath = Command$
 
  'Tjækker om der er " i bægge ænder
  If Right(strPath, 1) = Chr$(34) And Left(strPath, 1) = Chr$(34) Then
    'Fjærner " i bægge ænder
    strPath = Mid$(strPath, 2, Len(strPath) - 2)
  End If
  'Tjækker om filen ligger på denne stig
  If Dir(strPath) > "" Then
    'Finder free file nummer
    intFree = FreeFile
    'Åbner filen
    Open strPath For Binary As #intFree
      'laver filens lengten i space til strTekst
      strTekst = Space(LOF(intFree))
      'Henter den data som står i filen
      Get #intFree, 1, strTekst
      'Lukker filen
    Close #intFree
  End If
'Text1 kan kun indholde 61000 tegn, så derfor brug Mid$
Text1.Text = Mid$(strTekst, 1, 61000)
End Sub
Avatar billede light Praktikant
07. december 2002 - 21:29 #7
hvis nu det er MDI forms... skal det så står  dokument formen eller i MDIParaent formen ??
Avatar billede light Praktikant
07. december 2002 - 21:31 #8
og det er ikke en textbox men en CodeMax control ??
Avatar billede sjh Nybegynder
07. december 2002 - 22:09 #9
ja CodeMax mener jeg selv kan loade en fil, CodeMax.LoadFile eller sådan noget.

<CodeMax.LoadFile Command$>
Avatar billede light Praktikant
07. december 2002 - 22:37 #10
hmm
prøv at skriv hvad jeg skal skrive hvor !! et eksempel altså !! plzz :D
Avatar billede sjh Nybegynder
07. december 2002 - 23:03 #11
nej det var CodeMax1.OpenFile og ikke CodeMax.LoadFile :)

Private Sub Form_Load()
Dim strPath As String
strPath = Command$
  If Right(strPath, 1) = Chr$(34) And Left(strPath, 1) = Chr$(34) Then
    strPath = Mid$(strPath, 2, Len(strPath) - 2)
  End If
  If Dir(strPath) > "" And Len(strPath) > 0 Then
    CodeMax1.OpenFile strPath
      Else
    CodeMax1.Text = "Test tekst"
  End If
End Sub
Avatar billede light Praktikant
08. december 2002 - 00:03 #12
der sker intet
Avatar billede sjh Nybegynder
08. december 2002 - 00:05 #13
prøv på en ny form1
Avatar billede light Praktikant
08. december 2002 - 20:36 #14
hvad så hvis den skal åbne en ny MDI form... hvad gør jeg hvis det er mdi forms ?? :S
Avatar billede light Praktikant
08. december 2002 - 21:17 #15
ok jeg har fået det til at virke !!

men hvad så hvis jeg allerede har en kopi af mit program åben ?? hvad gør jeg for at den ikke åbner en ny ?? (sidste spørgsmål :D hehe)
Avatar billede sjh Nybegynder
08. december 2002 - 21:38 #16
Ja det er ikke sådan lige at lave hvis du også skal overfør Command$ kender du til API?
Avatar billede light Praktikant
08. december 2002 - 21:53 #17
nej ikke så meget !! kan du ikke finde et eksempel på: www.pscode.com fx. ??
Avatar billede sjh Nybegynder
08. december 2002 - 22:01 #18
søg på "PrevInstance"
Avatar billede light Praktikant
09. december 2002 - 19:04 #20
undskyld men hvad så hvis den skal kunne håndtere at hvis jeg dobbelt klikker på to filer i stifinderen åbner den begge dokumenter ??!??? how to ?
Avatar billede sjh Nybegynder
09. december 2002 - 21:34 #21
(sidste spørgsmål :D hehe)
Avatar billede light Praktikant
10. december 2002 - 15:49 #22
nej nej.. at den åbner begge dokumenter i SAMME version har programmet !! :D
Avatar billede light Praktikant
10. december 2002 - 16:38 #23
fx. Form_Load den checker om programemt allerede kører If / Else funktion.... If yes dont start program... Else If / Else med Command$
Avatar billede sjh Nybegynder
10. december 2002 - 22:27 #24
sidste svare så må du lave resten selv :)

Private Sub Form_Load()
Dim arrCMD As Variant
Dim i As Integer
arrCMD = Split(Command$, " ")
  For i = 1 To UBound(arrCMD)
    List1.AddItem CStr(arrCMD(i))
  Next i
End Sub
Avatar billede light Praktikant
10. december 2002 - 22:36 #25
jeg prøver de ti morgen.. kan godt forstå du ik vil hjælpe mere men du kan tro jeg har været glad for den hjælp du har givet mig !!

ja som sagt jeg prøver det i morgen !! :D
Avatar billede light Praktikant
10. december 2002 - 22:37 #26
jeg fatter bare ikke helt hvad du bruger en Lsitbox til her ?? :)
Avatar billede sjh Nybegynder
10. december 2002 - 22:44 #27
det er kun for at vise hvad der sker, da det kun virker når du har lavet det til exe-file  :))
Avatar billede light Praktikant
11. december 2002 - 21:23 #28
hmm..jeg prøver ad
Avatar billede light Praktikant
16. december 2002 - 17:07 #29
jeg synes ikke jeg kan være bekændt at tage nogle af point'ene igen og jeg har heller ikke svar på alt men fuck nu det :D - tak for hjælpen
Avatar billede sjh Nybegynder
16. december 2002 - 20:05 #30
selv tak :)

håber at du for det til at virke som du vil have det :)
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