Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2008, 21:46   #21
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Значит сначала делаешь так:
Код:
with Listview1.Items.Add do begin      
  Caption:='Путь';      
  SubItems.Add('Статус');   
  SubItems.Add('');// Оставляем пустым
end;
А при нажатии на кнопку Удалить делаешь этот код (ставит статус удален в 3м столбце выделенной строки):
Код:
ListView1.Items[ListView1.ItemIndex].SubItems.Strings[1] := 'удален';
Вроде так... =)
komex вне форума Ответить с цитированием
Старый 03.08.2008, 21:52   #22
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от komex Посмотреть сообщение
А при нажатии на кнопку Удалить делаешь этот код (ставит статус удален в 3м столбце выделенной строки):
Код:
ListView1.Items[ListView1.ItemIndex].SubItems.Strings[1] := 'удален';
Вроде так... =)
Ошибаешься в этом случае.
SubItems это и есть массив string.Не надо никаких Strings[1]
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 03.08.2008, 22:30   #23
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Ошибаешься в этом случае.
SubItems это и есть массив string.Не надо никаких Strings[1]
Ну можно и так:
Код:
ListView1.Items[ListView1.ItemIndex].SubItems[1] := 'удален';
komex вне форума Ответить с цитированием
Старый 03.08.2008, 22:43   #24
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от komex Посмотреть сообщение
Ну можно и так:
Код:
ListView1.Items[ListView1.ItemIndex].SubItems[1] := 'удален';
Так нужно а не можно.
Сори за флуд!
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 03.08.2008, 22:48   #25
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Стрелка

т.к тема переростает во флуд, даю готовое решение:
Код:
var
  Form1: TForm1;
  procedure AddItm(Lv :TListView; S1,S2,S3 :string);
  procedure SetItmTxt(LV :TListView; Indx,N :Integer; Txt :string);

implementation

{$R *.dfm}

procedure AddItm(Lv :TListView; S1,S2,S3 :string);
var Itm_ :TListItem;
begin //добавлять строки
 if Lv=nil then Exit;
 Itm_ := LV.Items.Add;
 Itm_.Caption := S1;
 Itm_.SubItems.Add(S2);
 Itm_.SubItems.Add(S3);
end;

procedure SetItmTxt(LV :TListView; Indx,N :Integer; Txt :string);
begin //Изменить текст колонок, строки Indx.  N <- колонка
 if Lv=Nil then Exit;
 if Lv.Items.Count<=0 then Exit;
 iF not (N in [0..LV.Items.Count-1]) then Exit;
  case N of
 0: Lv.Items[Indx].Caption := Txt;
 1: Lv.Items[Indx].SubItems.Strings[0] := Txt;
 2: Lv.Items[Indx].SubItems.Strings[1] := Txt;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var I :Byte;
begin
 Randomize;
 For I:=1 To 10 Do //добавляем при запуске 10 строк
 AddItm(LV1, 'Cap_'+IntToStr(I-1), 'Itm[0]_'+IntToStr(I-1),
        'Itm[1]_'+IntToStr(I-1))
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SetItmTxt(LV1, Random(10), 2, 'Удаленно');
end;

end.
SubItems, это класс TStrings. Т.к всего три колнки, используйте процедуры: AddItm и SetItmTxt.
Alter вне форума Ответить с цитированием
Старый 03.08.2008, 23:31   #26
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

при нажатии на удалить та же ошибка...
aesoem вне форума Ответить с цитированием
Старый 03.08.2008, 23:33   #27
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

чтобы удалить выделенный надо
listview1.deleteselected
или listview1.items[index].delete.

Что здесь непонятного?
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 04.08.2008, 00:18   #28
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Ozerich, проблема не в этом, проблема с выводом текста...
aesoem вне форума Ответить с цитированием
Старый 04.08.2008, 00:33   #29
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Aesoem,объясни поподробней проблему.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 04.08.2008, 13:33   #30
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

несколькими словами: мне надо внести данные в 3 колону не изменяя данные в 1 и в 2 колоне
aesoem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск