Avatar billede lille_my Nybegynder
28. juni 2003 - 09:48 Der er 8 kommentarer og
2 løsninger

Auto åbn af *.txt filer

Jeg har lavet mig et lille tekstprogram i delphi 7, og jeg har brugt richedit til at lave den med. Er det muligt at gøre, så når jeg dobbeltklikker (eller på anden måde åbner) en *.txt fil, så bliver den åbnet i mit eget program?
Avatar billede nuddel Nybegynder
28. juni 2003 - 10:42 #1
højre klik på din tekst fil og vælg. Åben med eller Open With for window engelsk.

Vælg dit pogram på listen, eller find det.....Vælg Brug altid dette program, eller Always use this program.

Det sku' vist være det....
Avatar billede lille_my Nybegynder
28. juni 2003 - 11:41 #2
Det var det første og eneste jeg selv har prøvet. Den åbner bare programmet, og lader filen være. Jeg kan ikke finde nogen tegn på den har "åbnet" txt-filen.
Avatar billede Slettet bruger
28. juni 2003 - 11:47 #3
Prøv at sætte denne kode ind i FormCreate:

if ParamStr(1) = '' then
begin
end
else
begin
Memo1.Lines.LoadFromFile(ParamStr(1));
end;

Den vil så loade den fil som står efter dit program ind i memo'en:
project1.exe etellernadet.txt

Håber du kan bruge det.
Avatar billede Slettet bruger
28. juni 2003 - 11:48 #4
Du kan oz bruge richedit...
Avatar billede lille_my Nybegynder
28. juni 2003 - 12:05 #5
Det var bare super duber det der, nu virker det i hvert fald.

Jeg vil bare gerne have den til at skrive filnavnet i Title bar'en, ligsom når jeg åbner en fil fra programmet selv.

lige nu ser min form create sådan ud
procedure TForm1.FormCreate(Sender: TObject);
Begin
if ParamStr(1) = '' then
begin
end
else
begin
richedit1.Lines.LoadFromFile(ParamStr(1));
richedit1.Font.size:=spinedit1.Value;
opendialog1.FileName:='';
savedialog1.FileName:='';
caption:='Teksteditor - ingen fil';
end
end;
------------------------------------

opendialog1.FileName:='';
savedialog1.FileName:='';

Dem skal jeg bruge til, når man skal gemme sit dokument senere. Så kan det lade sig gøre?
Avatar billede kfz Nybegynder
28. juni 2003 - 13:43 #6
if not ParamStr(1) = '' then
Memo1.Lines.LoadFromFile(ParamStr(1));

brug dette i stedet for

if ParamStr(1) = '' then
begin
end
else
begin
richedit1.Lines.LoadFromFile(ParamStr(1));
Avatar billede hreiff Nybegynder
28. juni 2003 - 13:49 #7
if ParamCount = 0 then
begin
  savedialog1.FileName:='';
  Form1.caption:='Teksteditor - ingen fil';
end
else
begin
  richedit1.Lines.LoadFromFile(ParamStr(1));
  richedit1.Font.size:=spinedit1.Value;
  savedialog1.FileName:=ParamStr(1);
  Form1.Caption:='Teksteditor - '+ParamStr(1); 
end
opendialog1.FileName:='';
Avatar billede lille_my Nybegynder
28. juni 2003 - 14:20 #8
Nu virker det næsten. Der skulle lige byttes lidt om på opendialog og savedialog i hreiff's indlæg, men det kunne han sikkert ikke vide.

sidste lille problem. Når jeg bruger nedenstående kode, så skriver den hele stien og filnavnet
Form1.Caption:='Teksteditor - '+ParamStr(1);

Jeg har andet steds brugt -->
extractfilename(opendialog1.filename);
kan man ikke gøre noget ligende? jeg kan ikke lige finde ud af det
Avatar billede lille_my Nybegynder
28. juni 2003 - 14:24 #9
nu har jeg fordelt pointne lige over, da jeg jo ændrede min problemstilling lidt undervejs, og ville ikke snyde 911help for hans hjælp. Jeg endte jo op med at bruge hreiff's kode
Avatar billede hreiff Nybegynder
30. juni 2003 - 07:44 #10
Du burde sagtens kunne bruge 'Teksteditor - '+extractfilename(ParamStr(1));
Ellers må du selv pille det fra du skal bruge, f.eks
var
i: integer
filnavn: string;
i := length(paramstr(1));
while ((i>0) and (paramstr(1)[i]<>'/')) do
  dec(i);    {tæller ned til den møder /}
filnavn := copy(paramstr(1),i+1,length(paramstr(1)));
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