Главная страница
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.071 c
7-1078658614
7yonov
2004-03-07 14:23
2004.05.02
блокировка нажатия клавиш


3-1081152293
Hooch
2004-04-05 12:04
2004.05.02
Выполнение скрипта программно


14-1081678222
Ломброзо
2004-04-11 14:10
2004.05.02
Диалоги запросов


14-1081278369
Игорь Шевченко
2004-04-06 23:06
2004.05.02
Упражение из книжки Таненбаума (Современные операционные системы)


9-1068327019
DDS
2003-11-09 00:30
2004.05.02
OpenGL: Задаю рисовать POLIGON последовательно по точкам, а он...