На
Наталья

Delphi 7. Нужно перетащить файл в TListBox так, чтобы загорелось только имя файла, а не полный путь (см. код программы)

Вот весь код программы.

=========================================
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer,activeX, comobj,
ComCtrls;

type
TForm1 = class(TForm)
BurnButton: TButton;
FilesListBox: TListBox;
UpdateRecordersButton: TButton;
RecordersComboBox: TComboBox;
DiscVolumeNameEdit: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
ProgressBar1: TProgressBar;
LogListBox: TListBox;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure WMDropFiles(var msg: TMessage); message WM_DROPFILES;
public
{ Public declarations }
end;

var
Form1: TForm1;

=
implementation

{$R *.dfm}

uses shellapi;

///-----------------------------------------------------------------------------
Function SHCreateStreamOnFileEx( pszFile: PWChar; grfMode:DWORD; dwAttributes:DWORD;
fCreate:BOOL; pstmTemplate:IStream; var ppstm:IStream):DWORD;stdcall;
external 'shlwapi.dll' name 'SHCreateStreamOnFileEx';

//------------------------------------------------------------------------------
var
cfile:array[0..999] of char;

procedure TForm1.WMDropFiles(var msg : TMessage);
var
i, n : word;
hdrop : dword;
begin
hdrop := msg.WParam;
n := DragQueryFile(hdrop, $ffffffff, nil, 0);
for i := 0 to n-1 do
begin
DragQueryFile(hdrop, i, @cfile, 1000);
FilesListBox.Items.Add(cfile);
end;
msg.Result := 0;
inherited;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FilesListBox.Clear;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,true);
end;

end.
====================================

Что изменить после "procedure TForm1.WMDropFiles(var msg : TMessage);", чтобы в FilesListBox попало ТОЛЬКО имя файла ?

Спасибо за подсказку. Нашел решение следующим кодом:

FilesListBox.Items.Add(ExtractFileName(cfile));

СГ
Сергей Глазков

сделайте чтобы выводилось сообщение ExtractFileName(n); и посмотрите что будет

Похожие вопросы
Delphi 7. Нужно, чтобы при перетаскивании файла в TListView его имя, размер, путь попали в соответствующие столбики.
Delphi 7. Работа с файлом
Ошибка в коде (Delphi 7) - 2
Ошибка в коде (Delphi 7).
помогите упростить код программы на delphi 7
нужно сделать программу на Delphi 7 (конечное же не бесплатно)
Прошу помочь в программе Delphi 7!
программа на Delphi по копированию файла.
Помогите с программой по Delphi 7
Программа в среде Delphi 7.