Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Вопрос по ListView   Найти похожие ветки 

 
Rusar   (2004-04-13 18:01) [0]

Имеется ListView куда добавляеться информация о файлах из конкретного каталога. Само название файла не пишется в ListView, только параметры файла( ну надо так). Где и как сохранить имя файла и путь, что бы при двойном щелчке на строке запустился нужный файл? Понимаю, что вроде где то надо хранить указатель или что-то в этом роде, но не могу додуматься. Если можно подробно объяснить....


 
Семен Сорокин ©   (2004-04-13 18:05) [1]

заноси в TListItem.Data указатель на полное имя файла.


 
Rusar ©   (2004-04-13 18:10) [2]

Прошу прощения за глупый вопрос - но как именно. Имя файла у меня содержится в переменно path_name: String


 
easy ©   (2004-04-13 18:26) [3]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls,shellapi;
type
 PMyRec = ^TMyRec;
 TMyRec = record
   path: string;
   //...
 end;
type
 TForm1 = class(TForm)
   ListView1: TListView;
   Button1: TButton;
   OpenDialog1: TOpenDialog;
   procedure Button1Click(Sender: TObject);
   procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
   procedure ListView1DblClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 ListItem:TListItem;
 MyRec:PMyRec;
begin
if OpenDialog1.Execute then
  ListItem:=ListView1.Items.Add;
  ListItem.Caption:=extractfilename(OpenDialog1.FileName);
  new(MyRec);
  MyRec^.path:=OpenDialog1.FileName;
  //MyRec^....
  ListItem.Data:=MyRec;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
 i:integer;
begin
 for i:=0 to ListView1.Items.Count-1 do
   Dispose(PMyRec(ListView1.Items[i].Data));
end;

procedure TForm1.ListView1DblClick(Sender: TObject);
begin
 shellexecute(handle,"open",pchar(PMyRec(ListView1.Selected.Data)^.path),
              "","",SW_SHOWNORMAL);
end;

end.


 
easy ©   (2004-04-13 18:27) [4]

if OpenDialog1.Execute then begin
   ListItem:=ListView1.Items.Add;
   ListItem.Caption:=extractfilename(OpenDialog1.FileName);
   new(MyRec);
   MyRec^.path:=OpenDialog1.FileName;
   //MyRec^....
   ListItem.Data:=MyRec;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1081411789
uny
2004-04-08 12:09
2004.05.02
какой клиент выбрать?


3-1081357466
Mishenka
2004-04-07 21:04
2004.05.02
Запись переменной длины?


1-1082001109
gweep
2004-04-15 07:51
2004.05.02
Explorer и Delphi


11-1064416393
Revolter
2003-09-24 19:13
2004.05.02
ComboBox... устал с ним бороться... помогите, plz


3-1080903710
Zn
2004-04-02 15:01
2004.05.02
Глюк в IBSQL