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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2011, 15:58   #11
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от KAMENYKA Посмотреть сообщение
Опешите пожалуйста подробно задачу что вам нужно сделать и приведите нормальный кусок кода, этого слишком мало, тут сразу возникают у меня куча вопросов(Из вашего кода даже не понятно какого типа у вас переменные)! Почему то мне кажется что вы начали совсем не стой стороны расскажите постановку задачи и я попытаюсь вам помочь!!! Скорей всего вам массив то и ненужен!
мне нужно сделать кнопку удаления строк ListView.
Строки я удалять могу. Проблема в удалении индекса массива.Удалить индекс нельзя ты сам сказал. Нужно сразу при удалении выбрасывать в конец списка или вобще в другой массив чтоб в дальнейшем с ним можно удобнее работать.
Код:
  type
    TItemList = record
      AllDateArray: TDateTime;
      summa, skidka: currency;
      val, schet, com, statya: string;
  end;

var
  FormRashod: TFormRashod;
  ItemList:array of TItemList;
  I:integer;
  iMusor:integer;
implementation

procedure TFormRashod.BitBtnUdRashodClick(Sender: TObject);
begin
  i:=ListViewRashod.itemindex;
  ListViewRashod.Items.Delete(i);
  ItemList[i].AllDateArray:=0;
  ItemList[i].Statya:='';
  ItemList[i].Summa:=0;
  ItemList[i].skidka:=0;
  ItemList[i].schet:='';
  ItemList[i].val:='';
  ItemList[i].com:='';
  ItemList[i]:=ItemList[iMusor];
  if ListViewRashod.ItemIndex=-1 then
  Begin
    NIzmRashod.Enabled:=false;
    BitBtnIzmRashod.Enabled:=False;
    NUdRashod.Enabled:=false;
    BitBtnUdRashod.Enabled:=False;
  end;
  //Если ListViewRashod.ItemIndex=-1 тогда заблокировать все кнопки удаления и
  //изменеия строк ListViewRashod
end;
TotKtoNado вне форума Ответить с цитированием
Старый 05.08.2011, 16:29   #12
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

А вы сами понемаите что вы написали? Зачем вам это:

Код:
type
    TItemList = record
      AllDateArray: TDateTime;
      summa, skidka: currency;
      val, schet, com, statya: string;
  end;
и это
Код:
ItemList:array of TItemList;
если вы работаете с ListView!

Зачем вам массив записей? Работайте с ListView удаляйте строку сколько вашей душе угодно, он сам переиндексирует записи, если вам нужно сохранить удаленные записи копируйте их в другой ListView(хотя способов куча где их можно хранить). А со своим исходным работайте так же как и работали!
KAMENYKA вне форума Ответить с цитированием
Старый 05.08.2011, 16:38   #13
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от KAMENYKA Посмотреть сообщение
А вы сами понемаите что вы написали? Зачем вам это:

Код:
type
    TItemList = record
      AllDateArray: TDateTime;
      summa, skidka: currency;
      val, schet, com, statya: string;
  end;
и это
Код:
ItemList:array of TItemList;
если вы работаете с ListView!

Зачем вам массив записей? Работайте с ListView удаляйте строку сколько вашей душе угодно, он сам переиндексирует записи, если вам нужно сохранить удаленные записи копируйте их в другой ListView(хотя способов куча где их можно хранить). А со своим исходным работайте так же как и работали!
да понимаю
Если без записей работать то данные в массиве неправильно записываються. И то есть как переиндексирует?
Я сам сейчас только что проверял он ничего не переиндексировал.

Последний раз редактировалось TotKtoNado; 05.08.2011 в 16:46.
TotKtoNado вне форума Ответить с цитированием
Старый 05.08.2011, 17:03   #14
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

Код:
  for i := 0 to ListView1.Items.Count -1 do begin
    ListView1.Items.Delete(i);//удаление по индексу
    ListView1.Items.Insert(i);//вставка в нужную позицию
    ListView1.Items.Item[i].SubItems.Values['имя колонки']//получение значения колонки по индексу
    ListView1.ItemFocused.SubItems.ValueFromIndex['нидекс колнки']//получение значения колонки по фокусу
  end;
После всего этого вы мне будете говорить что у компонента класса TListView нет индексов? Читайте теорию не руште не себе не окружающим мозг!
KAMENYKA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление эл из массива Стас_с Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 06.08.2011 11:38
Удаление из массива С++ zhenya.ya Помощь студентам 6 24.03.2011 23:54
Удаление из массива Цветик Общие вопросы C/C++ 0 07.11.2010 20:34
C++ Пузырьковая сортировка с использованием массива индексов Frame1992 Помощь студентам 0 28.04.2010 21:51
Pascal. Сортировка по четности индексов массива. quba123 Помощь студентам 1 18.12.2009 00:05