Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 174

/ вопрос открыт /

Как записать список выделенных файлов из TFileListBox в TMemo?

Иван-488 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Иван-488 (статус: Посетитель)
Вопрос отправлен: 24 ноября 2006, 22:19
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Denisss

Здравствуйте, Иван!

Привожу Вам пример в приложении.
Чтобы он заработал, нужно добавить на форму TListBox, прописать ему в Items несколько строчек, поставить свойство MultiSelect=True; добавить Memo; добавить кнопку, в событие OnClick кнопки скопировать мой пример.

Кажется все.

Удачи!

Приложение:
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. i: Integer;
  4. begin
  5.  
  6. Memo1.Clear;
  7.  
  8. if (ListBox1.SelCount < 1) then
  9. Exit;
  10. with ListBox1 do
  11.  
  12. for i:= 0 to Pred(Items.Count) do
  13. begin
  14.  
  15. if (Selected[i]) then
  16. Memo1.Lines.Add(Items[i]);
  17. end;
  18. end;


Ответ отправил: Denisss (статус: 2-ой класс)
Время отправки: 24 ноября 2006, 22:43

Ответ #2. Отвечает эксперт: Alex Van Glukhman

Здравствуйте, Иван!

Привожу следующий код. Только непонятно использование компонента Win 3.1. Ну да ладно!!!

Приложение:
  1. unit uFileBoxToMemo
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrls;
  7.  
  8. type
  9. TFrm = class(TForm)
  10. FlLstBx: TFileListBox;
  11. Mm: TMemo;
  12. Btn: TButton
  13. procedure BtnClick(Sender: TObject);
  14. end;
  15.  
  16. var
  17. Frm: TFrm;
  18.  
  19. implementation
  20.  
  21. {$R *.dfm}
  22.  
  23. procedure TFrm.BtnClick(Sender: TObject);
  24. var
  25. cntr: integer;
  26. begin
  27. Mm.Clear;
  28. FlLstBx.ItemIndex:=0;
  29. for cntr:=0 to FlLstBx.Items.Count-1 do Mm.Lines.Add(FlLstBx.Items[cntr]);
  30. end;
  31.  
  32. end.


Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)
Время отправки: 25 ноября 2006, 23:32


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 26 ноября 2006, 22:32; участников в обсуждении: 3.
PingWin

PingWin (статус: Посетитель), 24 ноября 2006, 22:32 [#1]:

Вот примерчик

procedure TForm1.btn1Click(Sender: TObject);
var
nLoop: Integer;
begin
mmo1.Clear;
for nLoop := 0 to fllst1.Items.Count-1 do
begin
if fllst1.Selected[nLoop] then
mmo1.Lines.Add(fllst1.Items[nLoop]);
end;
end;
PingWin

PingWin (статус: Посетитель), 24 ноября 2006, 22:33 [#2]:

fllst1 - TFileList
mmo1 - TMemo

Удачи!
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 25 ноября 2006, 23:10 [#3]:

To Deniss:
Вопрос был задан не по TListBox а по TFileListBox - не путай человека. Хотя прекрасно понятно что аналогия та же.
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 25 ноября 2006, 23:14 [#4]:

To PingWin:
Зачем такие сложности?
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 26 ноября 2006, 11:55 [#5]:

Прошу прощения строка
FlLstBx.ItemIndex:=0;
в моём ответе не нужна
Denisss

Denisss (статус: 2-ой класс), 26 ноября 2006, 21:40 [#6]:

to [b]Alex Van Glukhman[/b]:
[i]> Вопрос был задан не по TListBox а по TFileListBox[/i]
- Неужели Вы считаете, что если человек задал здесь вопрос, то он ламер?! Как класс TListBox, так и TFileListBox являются наследниками класса TCustomListBox и имеют одинаковые свойства (по крайней мере, я использовал такие).

Кроме того, Вы не ответили на вопрос! В вопросе задано скопировать в Memo все [b]выделенные[/b] пункты, а Вы копируете [b]абсолютно все[/b] пункты.

Так что прежде чем заходить в форум вопроса и критиковать всех, кто попытался ответить, задумайтесь, а верно ли Вы дали ответ!
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 26 ноября 2006, 22:32 [#7]:

To Deniss: По поводу выделенных итемов согласен моя ошибка. В этом Вы действительно правы. Но всё-таки большая часть подобных вопросов исходит от тех, кто только начинает работать и им важен точный ответ по их теме.
С уважением!!!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.