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

Вниз

From OpenDialog To ListBox   Найти похожие ветки 

 
it ©   (2003-04-07 15:46) [0]

Пусть позволено выбирать несколько файлов. Каким образом OpenDialog.FileName можно разбить, чтобы выбранные имена файлов можно было вставить в ListBox в виде списка.


 
George2003   (2003-04-07 15:56) [1]

OpenDialog.FileName:="";
OpenDialog.Execute;
if (OpenDialog.FileName<>"") then
List1..Items.add(OpenDialog.FileName);


Если я правиьно понял...


 
George2003   (2003-04-07 16:08) [2]

сорри правильнее будет так

OpenDialog.FileName:="";
OpenDialog.Execute;
if (OpenDialog.FileName<>"") then
for i:=0 to OpenDialog.Files.Count-1 do
listbox1.Items.add(od.Files[i]);


 
it ©   (2003-04-07 17:08) [3]

Dear George2003,
Я ничего не напутал? Мы говорим про KOL и MCK... VCL отдыхает...


 
it ©   (2003-04-08 00:04) [4]

Когда мы открываем несколько файлов в OpenDialog, то все они записываются в одну строку последовательно, разделённые... разделённые... чем? символ переноса на следующую строку? Каков у него код? Как эту строку разбить?


 
Bartov   (2003-04-08 00:58) [5]

ИЗ HTM-справки:

TOpenSaveDialog properties
property Filename: String;

Filename is seperated by #13 when multiselect is true and the first file, is the path of the files selected.

C:\Projects
Test1.Dpr
Test2.Dpr

If only one file is selected, it is saved as (e.g.) C:\Projects\Test1.dpr


 
it ©   (2003-04-08 01:02) [6]

Короче, юзать мне Parse, спасибо!


 
it ©   (2003-04-08 01:08) [7]

Не хотелось бы показаться чурбаном, но из какой HTM-справки?


 
nsvi   (2003-04-08 01:55) [8]

procedure TIframeDelete.Button1Click(Sender: PObj);
var
s1,S4:string;
m,n:integer;
begin
ListBox1.Clear;
s2:="";
OpenSaveDialog1.OpenDialog := true;
OpenSaveDialog1.Filename:="";
if OpenSaveDialog1.Execute then
begin
S1:=OpenSaveDialog1.FileName;
n:=IndexOfChar(S1,#13));
if n<0 then
ListBox1.Add(S1)
else
begin
m:=length(S1);
S2:=S1;
DeleteTail(S2,m-n+1);
S1:=CopyEnd(S1,n+1);
repeat
n:=IndexOfChar(S1,#13);
if n>0 then
begin
S4:=S1;
DeleteTail(S4,length(S4)-n+1);
S1:=CopyEnd(S1,n+1);
ListBox1.Add(S4);
end;
until n<0;
ListBox1.Add(S1);
end;
( ListBox1.Count) [8] procedure TIframeDelete.Button1Click(Sender: PObj);
var
s1,S4:string;
m,n:integer;
begin
ListBox1.Clear;
s2:="";
OpenSaveDialog1.OpenDialog := true;
OpenSaveDialog1.Filename:="";
if OpenSaveDialog1.Execute then
begin
S1:=OpenSaveDialog1.FileName;
n:=IndexOfChar(S1,#13));
if n<0 then
ListBox1.Add(S1)
else
begin
m:=length(S1);
S2:=S1;
DeleteTail(S2,m-n+1);
S1:=CopyEnd(S1,n+1);
repeat
n:=IndexOfChar(S1,#13);
if n>0 then
begin
S4:=S1;
DeleteTail(S4,length(S4)-n+1);
S1:=CopyEnd(S1,n+1);
ListBox1.Add(S4);
end;
until n<0;
ListBox1.Add(S1);
end;
Label1.Caption := "Выбрано файлов:"+Int2Str(ListBox1.Count);
end;
end;


 
Bartov   (2003-04-08 02:08) [9]

Вот описание:
http://bonanzas.rinet.ru/r_helpdoc.htm

А вот архив:
http://bonanzas.rinet.ru/xhelpgen.zip

А без нее ни как ;-)))


 
mdw ©   (2003-04-08 11:28) [10]

2nsvi
Зачем так сложно?

var FileList: PStrList;
...
FileList:= NewStrList;
FileList.Text:= OpenDialog.Filename;
if FileList.Count = 1 then begin
FileList.Clear;
FileList.Add(ExtractFilePath(OpenDialog.Filename));
FileList.Add(ExtractFileName(OpenDialog.Filename));
end;
Теперь в FileList[0] лежит путь к файлу(ам), а дальше их имена.


 
it ©   (2003-04-08 12:56) [11]

const
Sep = Chr(13);

OpenDirDialog.Execute;
s := OpenDialog.Filename;
while s <> "" do ListBox.Add(Parse(s, Sep));

Хорошо смеётся тот, кто смеётся последний...



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
1-62078
grusty
2003-12-09 09:51
2003.12.19
Предопределение функциональной клавиши...


8-62164
Novenkij
2003-08-22 22:22
2003.12.19
Монохромный JPEG


3-61931
Не знающий
2003-11-26 14:04
2003.12.19
ProgressBar


1-61997
zedich
2003-12-09 15:58
2003.12.19
Дерево объектов


14-62189
panov
2003-11-10 13:37
2003.12.19
Снова о работе.