Главная страница
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.036 c
3-1081411775
Ozone
2004-04-08 12:09
2004.05.02
Потоки + БД


14-1081256600
Yanis
2004-04-06 17:03
2004.05.02
Сейчас буду винт ресайзить...


1-1082025258
Flahas
2004-04-15 14:34
2004.05.02
exel v dbgrid...


8-1075636239
Alexis
2004-02-01 14:50
2004.05.02
"подрагивание" изображения


3-1081345040
Graver
2004-04-07 17:37
2004.05.02
BDE: Lock file has grown too large