Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите плиз [D6, XP]


Страницы:   1 2

maverick_man ©   (2006-10-05 18:24:00) 

Народ подскажите плиз как сделать! Есть таблица , содержащая столбцы Дата начала Дата окончания. Как сделать, чтобы если в таблице имеется строки, ранее вводимой, то автоматически Дата начала ставилась равной Дате окончания в предыдущей строке, а если нет, то сегодняшнюю дату?
Пробовал вот так:
procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
a: string;
begin
Table2.Edit;
try Table2.prior
except table2.Fields[5].AsString:=datetostr(now);
end;
table2.prior;
a:=Table2.Fields[7].AsString;
table2.Next;
Table2.Fields[5].AsString:=a;
end;

ругается...


Ketmar   (2006-10-06 00:33:00) [1]

>[23] Плохиш(c) 6-Oct-2006, 00:28
да выяснили уже, что такможно писать только в первый день изучения Delphi. да и то нельзя... %-)


Плохиш   (2006-10-06 00:28:00) [2]


> Mike Petrichenko   (06.10.06 00:11) [21]
> procedure TForm6. DBGrid1Enter(Sender: TObject);

Оооо, только сейчас обратил внимания и разрыдался.....

>     Table2.Prior;
>
>    ADate := Table2.Fields[7];
>
>     Table2.Next;

Вы даёте руку на отсечение, что после этих манипуляций курсор будет находиться на требуемой записи? (ласково поглаживая окровавленный топор...)


Ketmar   (2006-10-06 00:15:00) [3]

>[21] Mike Petrichenko 6-Oct-2006, 00:11
>  ADate := datetostr(now)
когда научимся писать DateToStr? %-)


Mike Petrichenko   (2006-10-06 00:11:00) [4]

procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
 ADate: string;
begin
 try
   Table2.Prior;

   ADate := Table2.Fields[7];

   Table2.Next;

 except
   ADate := datetostr(now)
 end;

 Table2.Edit;
 Table2.Fields[5].AsString := ADate;
end;

P.S. Когда научимся нормально называть объекты и переменные в программе?

P.P.S. И когда код оформлять научимся?

P.P.P.S. Да и думать тоже было бы не плохо.


Ketmar   (2006-10-06 00:06:00) [5]

>[19] ProgRAMmer Dimonych 5-Oct-2006, 23:48
>Ну, чего-то автор вот не отвечает пока больше...
убился ап стену? %-)


ProgRAMmer Dimonych   (2006-10-05 23:48:00) [6]

> [17]
Ну, чего-то автор вот не отвечает пока больше...


Ketmar   (2006-10-05 23:34:00) [7]

>[14] ProgRAMmer Dimonych 5-Oct-2006, 23:19
>IMHO, не стоит убивать в человеке стремление к
>познанию.
правильно. проще сразу убить человека. %-)


Virgo_Style   (2006-10-05 23:34:00) [8]

ProgRAMmer Dimonych   (05.10.06 23:29) [16]
Я бы всё-таки хотел сейчас помочь человеку...


Разве кто-то мешает?


ProgRAMmer Dimonych   (2006-10-05 23:29:00) [9]

> [15]
К изучению основ у каждого свои подходы, IMHO. Только этот спор уже отдельной веткой можно оформить. Я бы всё-таки хотел сейчас помочь человеку...


Плохиш   (2006-10-05 23:26:00) [10]


> ProgRAMmer Dimonych   (05.10.06 23:19) [14]

Стремление к познанию, обычно, начинается с изучения основ.


ProgRAMmer Dimonych   (2006-10-05 23:19:00) [11]

> [13]
IMHO, не стоит убивать в человеке стремление к познанию.


Плохиш   (2006-10-05 23:17:00) [12]


> maverick_man   (05.10.06 23:09) [10]
> а просто сказать где я неправ и как исправить нельзя?

Нельзя, потому что всё что ты изволил привести как код есть полная дурь. И исправлять надо начиная с незнания тобой самых азов.


ProgRAMmer Dimonych   (2006-10-05 23:13:00) [13]

И ещё... Fields[5], Fields[7] - это фрагмент кода так отредактирован для выкладки в форум или задумка такая?

Кажись, тут должны быть переменные (насколько мне позволяет судить мой нулевой уровень в области БД)...


ProgRAMmer Dimonych   (2006-10-05 23:12:00) [14]

procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
a: string;
begin
Table2.Edit;
try
  Table2.prior
except
 table2.Fields[5].AsString:=datetostr(now);
end;
table2.prior;
a:=Table2.Fields[7].AsString;
table2.Next;
Table2.Fields[5].AsString:=a;
end;

Вот здесь, наверное, проблема. Сначала мы защищённое выполняем операцию, выделенную курсивом, потом - её же (жирный шрифт), но без защиты try'ем.


maverick_man   (2006-10-05 23:09:00) [15]

а просто сказать где я неправ и как исправить нельзя?


Плохиш   (2006-10-05 23:07:00) [16]


> maverick_man   (05.10.06 23:01) [8]

Ты серьёзно думаешь, что тебе сейчас начнут сюда перепечатывать главы по работе с бд из книжек?


maverick_man   (2006-10-05 23:01:00) [17]

Table2 - это TTable
Отображается в TDBGrid


ProgRAMmer Dimonych   (2006-10-05 22:58:00) [18]

ОК, начнём сначала. Table2 - это какой класс (насколько я понял - не TDBGrid)?


maverick_man   (2006-10-05 22:49:00) [19]

не знаю как это правильно сделать=)
Тот код что написал я не работает(теперь хоть не ругается - тупо не работает). Может я неправильно try-except использую...


ProgRAMmer Dimonych   (2006-10-05 22:46:00) [20]

В чём именно проблема? В присвоении новых значений?
Как ругается?

P.S. По части всяких БД я не спец, но попробуем разобраться. Заодно и сам чуток поумнею :)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо