Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
172 / 62 / 12
Регистрация: 22.12.2015
Сообщений: 2,546
1

Как присвоить определённую дату переменной в коде?

05.11.2019, 11:58. Показов 1082. Ответов 1
Метки нет (Все метки)

Всем здравствуйте.

На бейсике, например, дату можно присвоить переменной так:
vb.net
1
Private dt As Date = "#2016/11/01#"
Существует ли в Lazarus нечто подобное, или нужно пользоваться функцией EncodeDate?
Желательно повторить приведенный выше пример как можно ближе к тексту (с объявлением переменной).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2019, 11:58
Ответы с готовыми решениями:

Как попроще считать определённую строку из файла и присвоить её содержимое string переменной?
#include <iostream> #include <fstream> #include <windows.h> using namespace std; int main() {...

Как выбранное значение из comboBox присвоить переменной в коде?
в с# у меня это выглядело примерно так. в интернете нахожу только советы как присвоить значения...

Переменной t присвоить значение true, если тройка y, m, d образует правильную дату
Переменные y, m, d имеют смысл год, месяц, день. Переменной t присвоить значение true, если тройка...

Дату текущего дня присвоить string переменной (для консольных приложений)
извеняюсь, но не покажете как дату текущего дня присвоить к string переменной для консольных...

__________________
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30903 / 20219 / 7882
Регистрация: 22.10.2011
Сообщений: 35,099
Записей в блоге: 6
05.11.2019, 13:09 2
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Или через EncodeDate, или прямо из строки, только делать это надо не прямо на месте, а в момент инициализации модуля:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
implementation
 
var
  dt : TDateTime;
 
{$R *.lfm}
 
// ...
 
initialization
  dt := StrToDate('01-11-2016');
end.
Дефолтный порядок дня, месяца и года на твоей машине указан в DefaultFormatSettings.ShortDateFormat, разделитель - в DefaultFormatSettings.DateDelimiter. Если нужно, чтобы работало на любой машине, с любыми настройками - естественно, нужно делать по-другому: создавать новую структуру для храненния форматов, подменять в ней эти два поля на нужные тебе, и вызывать перегруженную функцию StrToDate, которая вторым параметром принимает эту структуру.

Можно, конечно, посчитать, сколько дней прошло с 31-го декабря 1899-го года до нужной даты, и это число присвоить сразу переменной:
Pascal
1
var dt : TDateTime = 42675; // Это и будет 1 ноября 2016
, но я не думаю, что это - хорошая идея. Есть ведь високосные годы. Если бы их не было - все делалось бы очень просто, а вот с ними - сложнее.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2019, 13:09

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Переменной Т присвоить значение true если сочетание день, месяц, год образует правильную дату
помогите пожалйста Составить программу, которая бы реалтзовала следующий алгоритм: переменной Т...

Переменной Т присвоить значение true если сочетание D(день) M(месяц) G(год) образует правильную дату
Помогите плиз решить задачу ну или хотябы натолкните на мысль))) Задача : Составить программу,...

Как посчитать общее количество за определенную дату?
Привет ребятки! Подскажите, как посчитать общее количество продаж за определенную дату? Скачал...

Как посчитать общий процент на определенную дату?
Даны таблицы с данными: Sellers – продавцы продукции(ID,Surname,Name) Products1 –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.