· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› Есть ли предел размера исходника?

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Авг 9, 2004 04:09:26

Гораздо проще, в таком случае, текстовый файл засунуть в архив и прислать как вложение ;-)


Дата: Авг 9, 2004 04:18:28

AsmGuru62
Можно.


Дата: Авг 9, 2004 17:11:24

Вот исходники для получения даты, месяца, года и времени:
macro months [dayscount] 
{ 
  forward 
   if DAY <= dayscount 
   else 
    DAY = DAY-dayscount 
    MONTH = MONTH+1 
  forward 
   end if 
} 

TIME = %T 

DAY = TIME/(24*3600) 
DAY = DAY - (DAY+365)/(3*365+366) 
YEAR = 1970+DAY/365 
DAY = DAY mod 365 + 1 
MONTH = 1 
months 31,29,31,30,31,30,31,31,30,31,30,31 

TIME = TIME mod (24*3600) 
HOUR = TIME/3600 
MINUTE = (TIME mod 3600)/60 
SECOND = (TIME mod 3600) mod 60 

  mon dd MONTH

Правда давно я с этим баловался...


Дата: Авг 9, 2004 18:55:38 · Поправил: Asterix

pas
Я уже видел такой или подобный макрос на board.flatassembler, как его применять?, что такое dayscount?,
вобщем голый макрос мне ни о чём не говорит..


Дата: Авг 10, 2004 20:06:11

Извиняюсь за задержку с ответом.
Вот как изменяются значения
TIME = %T = 1092152037 - время в секундах от 1970 года
DAY = TIME/(24*3600) = 12640 - дней прошло с 1970 года без учёта 29-х февралей
DAY = DAY - (DAY+365)/(3*365+366) = 12632 - тоже с учётом 29-х февралей
YEAR = 1970+DAY/365 = 2004 - получаем текущий год
DAY = DAY mod 365 + 1 = 223 - получаем текущий день от начала года
MONTH = 1 - готовимся к вызову маккроса
months 31,29,31,30,31,30,31,31,30,31,30,31 ;MONTH = 8 - вызываем макрос months
в результате получаем текущий месяц (пояснения ниже)
TIME = TIME mod (24*3600) = 56037 - количество секунд прошедших с начала года
HOUR = TIME/3600 = 15 - количество часов прошедших с начала суток
MINUTE = (TIME mod 3600)/60 = 33 - количество минут прошедших с начала часа
SECOND = (TIME mod 3600) mod 60 = 57 - количество секунд прошедших с начала минуты
У меня почему то часы получаются на 6 меньше чем у нас время но остальное правильно.

Теперь к макросу:
вызываем
months 31,29,31,30,31,30,31,31,30,31,30,31
передаём 12 параметров ( по количеству месяцев) каждый параметр соответствует количеству
дней в соответствующем месяце.
на момент вызова макроса DAY равен количеству дней с начала года
macro months [dayscount]
{
forward
if DAY <= dayscount;

else
DAY = DAY-dayscount
MONTH = MONTH+1
forward
end if
}
вычитаем из значения DAY текущее значение dayscount до тех пор пока DAY больше числа
дней в месяцах. А поскольку мы ещё прибавляем по единичке за каждый проход, то в результате
получаем номер текущего месяца. Естественно в последующие три года значение второго параметра
передаваемого в макрос должно быть равно 28.
dayscount это название каждого из передаваемых в макрос параметров.


Дата: Авг 10, 2004 20:12:17

„AsmGuru62“
Вы пробовали отправить мне письмо?
Ко мне пришла пара пустых писем. Если это Вы попробуйте на другой ящик


Дата: Авг 10, 2004 20:36:42

pas
Ужассс.
Кто придумал таким образом высчитывать дату?
Что мешает Privalov'у в момент компиляции в случае указания специального параметра, допустим это %t, вызывать GetLocalTime и передавать полученные из структуры SYSTEMTIME параметры в соответствующих переменных?
Когда мне нужно было вставить дату компиляции пришлось делать так - приаттачил, для компиляции нужно запустить bat файл предварительно поправив пути на свои.


_282401854__CompileTime.rar

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.065