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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2010, 19:29   #1
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию Создание записи ListBox

Здрвствуйте дорогие эксперты... Скажите пожалуйсто в чём ошибка?! Требуется чтоб при нажатии на кнопу в ListBox добавлялась запись...
Код:
procedure TDiary.btAddDataClick(Sender: TObject);
var
   i: Integer;
begin
  for i:=0 to ListBox.Items.Count-1 do
    if (ListBox.Items[i]<>DateTimeToStr(Date)) then
    ListBox.Items.Add(DateTimeToStr(Date))
      else showmessage('Запись с таким именем уже существует');
end;
TaYgA вне форума Ответить с цитированием
Старый 07.06.2010, 19:39   #2
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Да вроде все нормально. Попробуй наоборот листбщксовскую сторку в дэйт и сравнить. А вообще какой результат исполнения твоего кода?
baster128 вне форума Ответить с цитированием
Старый 07.06.2010, 20:51   #3
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

После компиляции всё работает, но при нажатии на кнопку ничего не происходит... т.е. и не добавляет запись, и не выдаёт ошибку...
TaYgA вне форума Ответить с цитированием
Старый 07.06.2010, 20:53   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

используйте DateToStr.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.06.2010, 20:56   #5
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

во первых ваш листбокс не должен быть пустым изначально хоть одна строка должна присутствовать
во вторых у вас будет добавлятся повторная дата хоть и ваша прога скажет что такая запись есть
SERG1980 вне форума Ответить с цитированием
Старый 07.06.2010, 21:04   #6
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

Cпасибо что откликнулись... В чём была ошибка я разобрался... Если кому надо вот правельный код:
Код:
procedure TDiary.btAddDataClick(Sender: TObject);
var
   i:integer;
   fl:boolean;
begin
  fl:=true;
  for i:=0 to lbRecord.Items.Count-1 do
    if DateTimeToStr(Date)<>lbRecord.Items.Text then begin
      fl:=false;
      break
    end;
  if fl then
    lbRecord.Items.Add(DateTimeToStr(Date))
      else
        ShowMessage('Такой уже есть!');
end;
lbRecord это ListBox
TaYgA вне форума Ответить с цитированием
Старый 07.06.2010, 23:46   #7
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

У меня возник ещё один вопрос по ListBox... Нужно, чтоб при нажатии на кнопку курсор опускался вниз на следущий элемент... т.е. в ListBox какой либо элемент и при нажатии на кнопку курсор должен опускаться на следущий элемент...
Код:
ListBox.ItemIndex:=+1;
Такой вариант не срабатывает...
Так же есть кнопка удалить выделенный элемент
Код:
  ListBox.DeleteSelected;
Почему то не работает... Как написать правельно?!

Последний раз редактировалось TaYgA; 07.06.2010 в 23:54.
TaYgA вне форума Ответить с цитированием
Старый 08.06.2010, 09:47   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ListBox.ItemIndex:=ListBox.ItemIndex+1;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.06.2010, 10:01   #9
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

Stilet, спасибо... Всё работает как надо с удаление проблему тоже решил....
TaYgA вне форума Ответить с цитированием
Старый 08.06.2010, 12:26   #10
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от TaYgA Посмотреть сообщение
У меня возник ещё один вопрос по ListBox... Нужно, чтоб при нажатии на кнопку курсор опускался вниз на следущий элемент...
Буквально на днях дорабатывал свою программу по просьбе заказчика, как раз по теме... Вот примеры моих решений...
Код:
//Это перемещение выделенной строки ЛистБокса вниз...

procedure TMainFrm.BtnMoveDNClick(Sender: TObject);
Var
  LinePos:word;

begin
  if (ListBoxGpCompSel.SelCount<>1) or
          (ListBoxGpCompSel.ItemIndex=ListBoxGpCompSel.Items.Count-1) then Exit;
  LinePos:=ListBoxGpCompSel.ItemIndex+1;
  ListBoxGpCompSel.Items.Move(ListBoxGpCompSel.ItemIndex,LinePos);
  ListBoxGpCompSel.Selected[LinePos]:=true
end;

// А это перемещение выделенной строки ЛистБокса вверх...

procedure TMainFrm.BtnMoveUPClick(Sender: TObject);
begin
  if (ListBoxGpCompSel.SelCount<>1) or (ListBoxGpCompSel.ItemIndex=0) then Exit;
  ListBoxGpCompSel.Items.Move(ListBoxGpCompSel.ItemIndex,
                                                  ListBoxGpCompSel.ItemIndex-1);
  ListBoxGpCompSel.Selected[ListBoxGpCompSel.ItemIndex]:=true
end;
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание учётной записи CraftR14 Общие вопросы Delphi 12 13.04.2010 13:38
Создание записи (C++) @Tank@ Помощь студентам 0 22.11.2009 16:49
Создание записи в реестре типа REG_DWORD aesoem Общие вопросы Delphi 5 19.06.2009 15:27
Создание новой записи Gerox БД в Delphi 3 30.12.2007 14:22