Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Период между DateTimePicker1 и DateTimePicker2, Помогите пожалуйста 
:(
    Опции темы
ABUTAEV
Дата 18.5.2010, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



Подскажите пожалуйста начинающему. У меня на форме ListBox1, ListBox2, ListBox3 и так далее.
В первом листе  -  в столбик записаны одни даты, во втором – записаны произведенные работы, в третьем - комментарии к этим работам и все по одной строчке. Как мне удалить во всех этих листах  до даты показанной в DateTimePicker1  и все после даты показанной в DateTimePicker2. То есть, меня интересует определенный период работы. Так как я пытаюсь познать программирование по самоучителям без наставников то очень Вас прошу пожалуйста , чтобы по понятнее. 
 smile 
PM MAIL   Вверх
Frees
Дата 18.5.2010, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Цитата(ABUTAEV @  19.5.2010,  00:15 Найти цитируемый пост)
ListBox1, ListBox2, ListBox3 и так далее.

вот что ты тут не так делаешь....TStringGrid тебе наверно нужен... откуда ты эти ListBox заполняешь?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
kami
Дата 18.5.2010, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(ABUTAEV @  18.5.2010,  21:15 Найти цитируемый пост)
Как мне удалить во всех этих листах  до даты показанной в DateTimePicker1  и все после даты показанной в DateTimePicker2. 

Код

for i:=ListBox1.Count-1 downto 0 do
  if (StrToDate(ListBox1.items[i])<DateTimePicker1.Date) or (StrToDate(ListBox1.items[i])>DateTimePicker2.Date) then
    begin
      ListBox1.Items.Delete(i);
      ListBox2.Items.Delete(i);
      ListBox3.Items.Delete(i);
    end;

Комментарии, думаю, излишни. Проблема может возникнуть, когда количество записей в листбоксах отличается друг от друга.

Цитата(Frees @  18.5.2010,  21:59 Найти цитируемый пост)
.TStringGrid тебе наверно нужен

А я бы взял VT и скрывал/отображал ненужные ноды.
PM MAIL WWW   Вверх
ABUTAEV
Дата 19.5.2010, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



Спасибо  ОГРОМНОЕ kami,  работает как часы . Только после  NachZarpForm.DateTimePicker1.Date пришлось поставить «-1», ато немного не правильно  показывает:
Код

for k:=ZarpForm.ListBox1.Count-1 downto 0 do
  if (StrToDate(ZarpForm.ListBox1.items[k])<NachZarpForm.DateTimePicker1.Date-1) or (StrToDate(ZarpForm.ListBox1.items[k])>NachZarpForm.DateTimePicker2.Date) then
    begin
      ZarpForm.ListBox1.Items.Delete(k);
      ZarpForm.ListBox2.Items.Delete(k);
      ZarpForm.ListBox3.Items.Delete(k);
      ZarpForm.ListBox4.Items.Delete(k);
      ZarpForm.ListBox5.Items.Delete(k);
      ZarpForm.ListBox6.Items.Delete(k);
end;

                                                                 smile 



M
THandle
Модератор: используйте подсветку кода!

PM MAIL   Вверх
kami
Дата 19.5.2010, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(ABUTAEV @  19.5.2010,  19:02 Найти цитируемый пост)
  
ZarpForm.ListBox1.Items.Delete(k);
ZarpForm.ListBox2.Items.Delete(k);
ZarpForm.ListBox3.Items.Delete(k);
ZarpForm.ListBox4.Items.Delete(k);
ZarpForm.ListBox5.Items.Delete(k);
ZarpForm.ListBox6.Items.Delete(k);

Пожалей пользователя - пересмотри интерфейс. Шесть (!) листбоксов на одной форме, имхо, перебор.
PM MAIL WWW   Вверх
ABUTAEV
Дата 19.5.2010, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



А на счет  того что, я не так делаю, то конечно не так! Я начал изучать Delphi  по самоучителю только из - за интереса. Прочитал пол книжки, и захотелось программу по рабочим сделать.
В интернете не нашел ту которую мне надо,  пришлось пыхтеть самому. Вот ваш форум помог немного. А на счет TStringGrid, так я еще не дошел до этого. Но я доволен до невозможности.
Пусть неуклюже, но работает ведь!

PM MAIL   Вверх
ABUTAEV
Дата 31.5.2010, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



Нагородил я с этими ЛистБоксами черт знает что.  Вроде все устраивало, пока на принтер не вывел. А здесь такая ерунда получается, что ничего не понятно. Каждый лист печатается отдельно, но все строчки  ложаться друг на дружку, и все норовять на левую сторону бумаги, в общем ничего не разберешь, что напечатано. Не подскажите ли как мне эти строчки во всех шести ЛистВоксах , что на одной Форме, уложить в один  лист, желательно конечно в StringGrid в отдельные колонки, чтобы потом можно было вывести на принтер.  smile.
PM MAIL   Вверх
kami
Дата 1.6.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(ABUTAEV @  31.5.2010,  22:22 Найти цитируемый пост)
Нагородил я с этими ЛистБоксами черт знает что. 

Ага. smile На ошибках учатся. В другой раз будешь делать так, как удобно работать пользователю, а не так, как проще (по началу) писать код. В конечном итоге - это выйдет и проще по коду.

Цитата(ABUTAEV @  31.5.2010,  22:22 Найти цитируемый пост)
как мне эти строчки во всех шести ЛистВоксах , что на одной Форме, уложить в один  лист, желательно конечно в StringGrid в отдельные колонки, чтобы потом можно было вывести на принтер.

Мое имхо - лучше сразу переделать интерфейс на StringGrid. А еще лучше - на VirtualStringTree. Последнее (vt) в конечном итоге будет гораздо полезнее, ибо тогда станут легко решаемы довольно многие последующие задачи...
PM MAIL WWW   Вверх
ABUTAEV
Дата 1.6.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



Спасибо за совет! Хорошо, попытаюсь.  smile 
А код всеже вот он:

  ZarpForm2.StringGrid1.RowCount:=ZarpForm.ListBox1.Count;
 ZarpForm2.StringGrid1.Cols[0]:=ZarpForm.ListBox1.Items;
 zarpForm2.StringGrid1.Cols[1]:=ZarpForm.ListBox2.Items;
 ZarpForm2.StringGrid1.Cols[2]:=ZarpForm.ListBox3.Items;
 zarpForm2.StringGrid1.Cols[3]:=ZarpForm.ListBox4.Items;
 ZarpForm2.StringGrid1.Cols[4]:=ZarpForm.ListBox5.Items;
 zarpForm2.StringGrid1.Cols[5]:=ZarpForm.ListBox6.Items;

Это сообщение отредактировал(а) ABUTAEV - 3.7.2010, 00:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.