31. oktober 2003 - 05:15Der er
7 kommentarer og 2 løsninger
Åbning af filer
Har brugt følgende kode til at åbne filer med her eks. på pdf filer.
procedure TForm1.Button1Click(Sender: TObject); begin OpenDialog1.InitialDir:=ExtractFileDrive(application.exename) + '\PDF FILER\'; if opendialog1.Execute then label1.Caption:=opendialog1.FileName; end;
Dette virker fint men jeg skal højre klikke og bruge Åbn med hver gang selv om jeg sætter flue ben til Hvordan åbnes filer af forskellig typer med det program der hører til filtypen hvergang
procedure SetAssociation(Extention, Name: string; IconIndex: Integer = 0); var Regist: TRegistry; begin Regist := TRegistry.Create; try with Regist do begin RootKey := HKEY_LOCAL_MACHINE; if OpenKey('\Software\Classes\.' + Extention, true) then begin WriteString('', Name); if OpenKey('\Software\Classes\' + Name, true) then begin WriteString('', Name); if OpenKey('\Software\Classes\' + Name + '\DefaultIcon', true) then WriteString('', Application.ExeName + ',' + IntToStr(IconIndex)); if OpenKey('\Software\Classes\' + Name + '\shell\open\command', true) then WriteString('', Application.ExeName + ' %1'); end; end; end; finally Regist.Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin SetAssociation('Mpp', Application.ExeNeme); end;
Den kode gør så .mpp filer bliver åbnet af programmet selv.
Jeg har sat din kode ind og får så følgende fejl meddelelser: [Error] drift2.pas(77): Undeclared identifier: 'TRegistry' [Error] drift2.pas(79): Missing operator or semicolon [Error] drift2.pas(83): Undeclared identifier: 'RootKey' [Error] drift2.pas(84): Undeclared identifier: 'OpenKey' [Error] drift2.pas(98): Missing operator or semicolon [Error] drift2.pas(103): Identifier redeclared: 'TForm1.Button1Click'
Det skal siges at jeg er ret ny på delphi plan så der er kun ændret i næstsidste linie af din fil ExeNeme til ExeName måske skal jeg ændre mere?
Synes godt om
Slettet bruger
31. oktober 2003 - 09:31#3
Glemte lige at sige du skal tilføje Registry til uses :)
Det er fordi der er to TForm1.Button1Click.. Du skal bare sætte SetAssociation('Mpp', Application.ExeName); ind der hvor du vil registrere den nye fil type.
Hej hejhej Du må nok skære det ud i pap eller lign.Har prøvet at sætte ind diverse steder i min kode (koden går jo på at åbne en mappe som indholder flere pdf filer hvor jeg så vælger en det ved du måske nok)?Men jeg får stort set denne fejl ligmeget hvor jeg sætter ind!!!!!!!
procedure TForm1.Button1Click(Sender: TObject); begin SetAssociation|cursor blinker her ('Mpp', Application.ExeName) OpenDialog1.InitialDir:=ExtractFileDrive(application.exename) + '\PDF FILER\'; if opendialog1.Execute then label1.Caption:=opendialog1.FileName; end;
Det er fordi at funktionen SetAssociation er skrevet under det sted du kalder den. Du kan evt. sætte: procedure SetAssociation(Extention, Name: string; IconIndex: Integer = 0); ind lige over det sted hvor der står implementation.
Og den anden fejl er fordi du mangler et semikolon:
Ja nu kommer der ikke nogen fejl men det virker ikke
Når min dialogboks med pdf filer vises vælger jeg en fil tryker på 'åbn' knap så ændre den label til button1 fra (Gennemse filer) til c:\programmer\Borland\Delphi7\Projekt\PDF Filer\2286dk
højrekliker jeg på fil og vælger program til at åbne med(adobe)og afkrydser brug altid det valgte program.........osv husker den det ikke????
vælger jeg 'Engenskaber' på tilfældig pdf fil i mappen Filtype: Adobe Acrobat Document Åbnes med: Adobe Reader 6.0
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.