Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
uses DateUtils; //это следующей строкой после implementation
 
...
var  
  TmpDate: TDate;
  ...
begin
  ...
  if ((Buf[ii]=#$00) and (Buf[ii+1]=#$d3)) then
  begin
    //переводим значения байт в дату
    //как я понял, сначала у вас идет месяц, потом год, а потом день
    //еще нужно подумать сколько прибавлять к году
    TmpDate := EncodeDate(2000 + Ord(Buf[ii+3]), Ord(Buf[ii+2]), Ord(Buf[ii+4]));
    //прибавляем 50 дней с учетом разного количества дней в месяцах и високосных годов
    TmpDate := IncDay(TmpDate, 50);
    //записываем все назад в буфер
    Buf[ii+3] := AnsiChar(Chr(YearOf(TmpDate) - 2000));
    Buf[ii+2] := AnsiChar(Chr(MonthOf(TmpDate)));
    Buf[ii+4] := AnsiChar(Chr(DayOf(TmpDate)));
  end;
  ...

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 23:59 03-02-2011 | Исправлено: Frodo_Torbins, 12:34 04-02-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru