Avatar billede mr.meincke Nybegynder
18. juni 2002 - 22:11 Der er 9 kommentarer og
1 løsning

ShellListView

Hej eksperter,
Jeg skal have et eksempel på hvordan jeg åbner en fil via et TShellListView kompoment - Som er under "Samples" i delphi 6 - med denne kommando:
DoFileOpen(KodeHer);
dvs. at hvis jeg skulle åbne en fil via OpenDialog vil den se sådan her ud:
DoFileOpen(OpenDialog.FileName);

.........Men hvordan gør jeg med ShellListView??? 100 point hvis du løser det.

- Mr.Meincke
Avatar billede stoney Nybegynder
18. juni 2002 - 22:32 #1
Mener du at du vil åbne en given fil  med den associeret application
når du dobbelt-klikker.

Stoney
Avatar billede mr.meincke Nybegynder
18. juni 2002 - 22:35 #2
Jeg er igang med en HTML Editor. I den har jeg en Memo. Når jeg dobbeltklikker på ShellListView skal jeg have teksten fra den vil jeg dobbeltklikker på loadet ind i Memoén
Avatar billede stoney Nybegynder
18. juni 2002 - 22:39 #3
memo1.Lines.LoadFromFile(shelllistview1.SelectedFolder.PathName);

Stoney
Avatar billede mr.meincke Nybegynder
18. juni 2002 - 22:47 #4
Så åbner den jo også selve filen ... Altså fx hvis det var en *.html fil så åbner den jo også i IE.
Avatar billede borrisholt Novice
19. juni 2002 - 15:21 #5
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShellListView1.AutoNavigate := false;
end;

procedure TForm1.ShellListView1DblClick(Sender: TObject);
begin
  if ShellListView1.SelectedFolder <> nil then
  begin
    with ShellListView1,Folders[Selected.Index] do
    begin
      if IsFolder then
          Root := SelectedFolder.PathName
      else
        Memo1.Lines.LoadFromFile(SelectedFolder.PathName);
    end;
  end;
end;

som altid BORRISHOLT og hans heste styrer !

Jens B
Avatar billede borrisholt Novice
19. juni 2002 - 15:35 #6
snart opstå problemet om at gå en tak tilbage :

Tilføj en knap og så gør sådan her :

type
  TForm1 = class(TForm)
    ShellListView1: TShellListView;
    Memo1: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure ShellListView1DblClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    LastFolder : String;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
  ShellListView1.AutoNavigate := false;
end;

procedure TForm1.ShellListView1DblClick(Sender: TObject);
begin
  if ShellListView1.SelectedFolder <> nil then
  begin
    with ShellListView1,Folders[Selected.Index] do
    begin
      if IsFolder then
      begin
        LastFolder := SelectedFolder.PathName;
        Root := LastFolder;
      end
      else
        Memo1.Lines.LoadFromFile(SelectedFolder.PathName);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Index : Integer;
begin
  Index := LastDelimiter('\', LastFolder);
  LastFolder := Copy(LastFolder, 1, Index -1);
  ShellListView1.Root := LastFolder;
end;

end.

Jens B
Avatar billede mr.meincke Nybegynder
19. juni 2002 - 16:43 #7
kan ikke teste det før iaften men det ser da lovende ud :D
Avatar billede borrisholt Novice
21. juni 2002 - 13:13 #8
nåååe .....

Jens B
Avatar billede mr.meincke Nybegynder
21. juni 2002 - 13:56 #9
doh! Havde helt glemt det :D
Takker :D
Avatar billede borrisholt Novice
21. juni 2002 - 14:00 #10
Det var meget nemt .. Jeg kiggede i sourcen ...
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

IT-JOB

Capgemini Danmark A/S

Client Partner

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Capgemini Danmark A/S

Microsoft AI Solution Architect