Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
1

TListView обработчик событий

16.09.2010, 16:10. Показов 1815. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте
есть компонент TListView с двумя колонками и энным количеством строк, а проблема в том, что я не знаю что нужно написать в обработчике событий(DblClick), чтобы сохранить значение ячейки в некоторую переменую
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2010, 16:10
Ответы с готовыми решениями:

Обработчик событий
создать на форме 3 переключателя(Radiobutton)группу и метку(Label).Текст в метке любой.В результате...

Обработчик событий
Как создать событие на вставку флешки(или другого устройства)в usb?

Обработчик событий
Доброго времени суток уважаемые эксперты! Вообщем есть проблема, есть у меня 3 компонента типа...

Обработчик событий
Ребята, помогите, как это должно выглядеть? Замените стандартный обработчик исключительных...

11
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
16.09.2010, 16:53 2
Delphi
1
 str:= ListView1.Selected.SubItems[0]+  ListView1.Selected.SubItems[1]// и т д
Если я правильно понял
1
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
16.09.2010, 17:41  [ТС] 3
не, не то
как узнать, на какую ячейку я нажал?
0
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,558
16.09.2010, 18:35 4
а так?
Delphi
1
listview1.ItemIndex
1
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
16.09.2010, 19:49  [ТС] 5
ага, то что надо, спасибо большое!

Добавлено через 41 минуту
еще вопросик есть, не совсем по теме конечно, но все же:
Delphi
1
2
3
4
5
6
7
if fileExists(filename)
   then form1.Edit1.Text:=filename
   else begin
        form1.obrez(filename);
        form1.dirplus(dir,filename);
        form1.outputfiles(dir);
        end;
если fileExists=true, то все работает нормально, а если false программа выполняет следующую команду, почему так?
кстати тут тоже самое:
Delphi
1
2
3
if fileExists(filename)
       then files.Items[i].SubItems.add('файл')
       else files.Items[i].SubItems.add('каталог');
0
Йошь-мыслитель
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
16.09.2010, 19:53 6
sinigami, если я правильно понял, то под следующей командой подразумевается то, что следует после приведённого алгоритма. Вобщем полный код всей процедуры в студию!
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
16.09.2010, 20:06  [ТС] 7
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Procedure tform1.outputfiles(dir:string);
var
filename:string;
i:integer;
begin
files.Clear;
chdir(dir);
filelist.Directory:=dir;
for i:=0 to filelist.items.count-1 do
    begin
    filename:=filelist.items[i];
    files.items.Add.Caption:=filename;
    if fileExists(filename)
       then files.Items[i].SubItems.add('файл')
       else files.Items[i].SubItems.add('каталог');
    //files.items.Add.Caption:=filename;
    end;
 
end;
 
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
dir:='D:\';
files.Columns.Add.Caption:='Имя';
files.Columns.Add.Caption:='Тип';
form1.outputfiles(dir);
end;
 
procedure tform1.obrez(str:string);
begin
Delete(str, 1, 1);
Delete(str, Length(str), 1);
end;
 
procedure tform1.dirplus(dir1,dir2:string);
begin
dir1:=dir1+dir2+'\';
end;
 
procedure TForm1.filesDblClick(Sender: TObject);
var
n:integer;
filename:string;
begin
n:=files.ItemIndex;
if n>=0 then filename:=files.Items[n].Caption;
if fileExists(filename)
   then form1.Edit1.Text:=filename
   else begin
        form1.obrez(filename);
        form1.dirplus(dir,filename);
        form1.outputfiles(dir);
        end;
combobox1.Text:=filename;
end;
ну вот в принципе весь код, в планах написать небольшой фаловый менеджер, некоторые команды написаны просто для проверки, сейчас для меня главное чтобы можно было перемещатся по каталогам
0
Йошь-мыслитель
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
17.09.2010, 01:44 8
Так-с, для начала что есть filelist? Какого оно типа? Напишите, пожалуйста, ВЕСЬ исходный код модуля TForm1. Так будет проще.
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
17.09.2010, 07:29  [ТС] 9
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Menus, XPMan, FileCtrl;
 
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N2: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    PanelSearch: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    BtSearch: TButton;
    XPManifest1: TXPManifest;
    FindDialog1: TFindDialog;
    Edit1: TEdit;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    files: TListView;
    FileList: TFileListBox;
    OpenDialog1: TOpenDialog;
 
    procedure outputfiles(dir:string);
    procedure FormCreate(Sender: TObject);
    procedure filesDblClick(Sender: TObject);
    procedure obrez(str:string);
    procedure dirplus(dir1,dir2:string);
  private
    { Private declarations }
  public
  dir: string;
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
Procedure tform1.outputfiles(dir:string);
var
filename:string;
i:integer;
begin
files.Clear;
chdir(dir);
filelist.Directory:=dir;
for i:=0 to filelist.items.count-1 do
    begin
    filename:=filelist.items[i];
    files.items.Add.Caption:=filename;
    if fileExists(filename)
       then files.Items[i].SubItems.add('файл')
       else files.Items[i].SubItems.add('каталог');
    //files.items.Add.Caption:=filename;
    end;
 
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
dir:='D:\';
files.Columns.Add.Caption:='Имя';
files.Columns.Add.Caption:='Тип';
form1.outputfiles(dir);
end;
 
procedure tform1.obrez(str:string);
begin
Delete(str, 1, 1);
Delete(str, Length(str), 1);
end;
 
procedure tform1.dirplus(dir1,dir2:string);
begin
dir1:=dir1+dir2+'\';
end;
 
procedure TForm1.filesDblClick(Sender: TObject);
var
n:integer;
filename:string;
begin
n:=files.ItemIndex;
if n>=0 then filename:=files.Items[n].Caption;
if fileExists(filename)
   then form1.Edit1.Text:=filename
   else begin
        form1.obrez(filename);
        form1.dirplus(dir,filename);
        form1.outputfiles(dir);
        end;
combobox1.Text:=filename;
end;
 
end.
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
17.09.2010, 08:15 10
Я правильно понял что происходит?
Если
Delphi
1
fileExists(filename)= true
то все правильно ,выполняется
Delphi
1
form1.Edit1.Text:=filename
а если
Delphi
1
fileExists(filename)= false
Что выполняется?Это
Delphi
1
combobox1.Text:=filename;
или это
Delphi
1
2
3
        form1.obrez(filename);
        form1.dirplus(dir,filename);
        form1.outputfiles(dir);
Добавлено через 1 минуту
Я имею ввиду в чем ошибка по точнее можешь указать
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 7
17.09.2010, 14:14  [ТС] 11
Цитата Сообщение от igoriy Посмотреть сообщение
а если
Delphi
1
fileExists(filename)= false
Что выполняется?Это
Delphi
1
combobox1.Text:=filename;
да, это
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
18.09.2010, 09:59 12
а пошагово пробовал выполнять?
А то может быть все нормально выполняется а просто результат нулевой.
Или исходник брось а то лень самому делать
0
18.09.2010, 09:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2010, 09:59
Помогаю со студенческими работами здесь

Обработчик событий PlaySound
Мир вам и привет! В обработчике клик в button1 я написал вот что читает аудио из ресурса ...

Обработчик событий прижков/падений
Всем доброго времени суток! Господа, помогите разобраться, ситуация следующая: Я пишу...

Обработчик событий для Enter
а где прописывать этот код в ТForm или где???? В обработчике событий OnKeyPress: procedure...

Обработчик событий для нескольких компонентов
В моей программе есть несколько компонентов TEdit, а так же StringGrid. Суть в том, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru