2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 "Сборка"
Сообщение12.06.2015, 13:23 
Всех приветствую! :D
1.Кто знает - как собрать программу если имеются её "кусочки" из .cpp или .pas?
2. Как написать программу для получения текущей (системной) даты в Pascal?
В Сети нашёл такой код:
Код:
uses crt,utils;
var sr: SearchRec;
    dt:DateTime;
begin
writeln('Текущая дата и время');
dt:=CurrentDateTime;
if dt.day<10 then write('0',dt.day,'.') else write(dt.day,'.');
if dt.month<10 then write('0',dt.month,'.') else write(dt.month,'.');
write(dt.year,' ');
if dt.hour<10 then write('0',dt.hour,':')else write(dt.hour,':');
if dt.minute<10 then write('0',dt.minute,':')else write(dt.minute,':');
if dt.second<10 then writeln('0',dt.second)else writeln(dt.second);
end.

Но мой компилятор не находит модуль Utils. На том же сайте написано, что можно использовать модуль system. Но мой компилятор и этого не принимает :D

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 14:18 
lim в сообщении #1026337 писал(а):
Но мой компилятор не находит модуль Utils.
Анекдот такой знаете, про "ну давай, рассказывай, как обгонял, подрезал"? :wink:
Какая ОС, какой компилятор, где брали, как ставили, ругается ли IDE (если используете) при запуске и на что, непосредственный текст ошибки...

lim в сообщении #1026337 писал(а):
В Сети нашёл такой код:
Код не просто ужасен, он чудовищен (ну разве что у вас turbo pascal 5.5 какой-нибудь, может, там по-другому никак). Во-первых, в freepascal/Delphi есть соответствующие функции для форматирования даты/времени, в других компиляторах наверняка тоже. Во-вторых, если этот код всего лишь демонстрирует возможности типа TDateTime (как можно было бы подумать), то вот это
Код:
if dt.day<10 then write('0',dt.day,'.') else write(dt.day,'.');
не оставляет сомнений в неосведомленности автора о существовании функций форматирования.

lim в сообщении #1026337 писал(а):
1.Кто знает - как собрать программу если имеются её "кусочки" из .cpp или .pas?
cpp или pas - это как Маркс и Энгельс, два совершенно разных человека (а Слава КПСС - вообще не человек). Сборкой занимается компилятор (тот самый, который не находит модуль Utils). Файлы cpp - это язык C++, файлы pas - pascal. У вас же паскаль, зачем C++ сюда приплетать?

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 14:51 
В принципе, никто не запрещает системы согласованных компиляторов. Что-то даже такое в голове крутится. То ль Watcom, то ли... Кто купил Clarion? Что-то типа Turbo, по крайней мере, начиналось, вроде, на T :wink: Там и правда можно было откомпилировать систему файлов .cpp и .pas

-- 12.06.2015, 23:25 --

Даже вспомнил. Не ожидал от себя такого. TopSpeed же!

-- 12.06.2015, 23:50 --

iifat в сообщении #1026364 писал(а):
Кто купил Clarion?
Увы — кого купил Clarion.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 16:11 

(Оффтоп)

iifat в сообщении #1026364 писал(а):
Даже вспомнил. Не ожидал от себя такого. TopSpeed же!
Хм. Бывает же. Не слышал про такое, но, видимо, 15 лет назад это было больше востребовано, чем сейчас.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 18:07 
Аватара пользователя
Да всё можно сделать, если очень хочется. Можно, например, написать ассемблерную вставку, если соглашения о связях в этих языках разные. Раньше на тему вызова Фортрана из Кобола даже диссертации писали. Но все такие фокусы зависят от компиляторов (а иногда и их версий) и архитектуры машины. Так стоит ли заморачиваться?

А согласованные компиляторы существуют -- например, коллекция компиляторов GNU -- gcc.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 20:42 
Цитата:
Анекдот такой знаете, про "ну давай, рассказывай, как обгонял, подрезал"? :wink:
Какая ОС, какой компилятор, где брали, как ставили, ругается ли IDE (если используете) при запуске и на что, непосредственный текст ошибки...

Дословно не напишу,но суть помню точно - Fatal Error. Невозможно найти модуль Utils (с точностью до перевода). :D ОС -Win 8.1;Free Pascal Comp. Брал из Сети, ставил установщиком.
Цитата:
cpp или pas - это как Маркс и Энгельс, два совершенно разных человека (а Слава КПСС - вообще не человек). Сборкой занимается компилятор (тот самый, который не находит модуль Utils). Файлы cpp - это язык C++, файлы pas - pascal. У вас же паскаль, зачем C++ сюда приплетать?

Да, я знаю что такое компилятор :D Просто на Паскале работал последний раз в школе детстве :D Давно это было. Не знаю всего синтаксиса. На плюсе просто дату выводить точно получается :D А всё остальное - пишу в Pascal. (Просто потому что считаю, что этот язык не любят совершенно незаслуженно!) Хочется вспомнить всё остальное...
Касаемо кода -- почём взял-- потом продаю. Копипаст.
А как тогда реализовать работу с тек. датой? (Она хранится в памяти? Ячейно--как набор чисел час->минута->секунда). Нужно сравнение сроков с текущей датой)

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 20:49 

(Оффтоп)

«Не любят» — это оценочное суждение. А вот статистика использования некоторое время назад была, вроде, не в его пользу, не более. Ну да, возможно, что многим не нравится длиннота begin…end, или там с библиотеками непорядок, или ещё что-то удобное отсутствует. Но Pascal vs. не Pascal здесь, конечно, оффтоп.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 21:04 
lim в сообщении #1026482 писал(а):
ОС -Win 8.1
Ох, хуже не придумаешь. В глаза эту винду не видел, и где взять, чтобы попробовать, - тоже не знаю. :oops:
Направление поисков - найти модуль руками (ЕМНИП, он должен иметь расширение inc или pp), потом посмотреть в настройках, какие прописаны пути, если путь к файлу не фигурирует нигде, то добавить.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 22:21 
Может ли быть такое, что FreePascal вообще в своей библиотеке и не должен иметь никакого Utils? Вот Delphi имел, это скорее всего действительно так, хотя точно и не помню сейчас.

-- Сб июн 13, 2015 00:22:24 --

Паскали ведь не все Delphi-совместимы по языку и VCL-совместимы библиотеками.

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 23:00 
arseniiv в сообщении #1026531 писал(а):
Может ли быть такое, что FreePascal вообще в своей библиотеке и не должен иметь никакого Utils? Вот Delphi имел, это скорее всего действительно так, хотя точно и не помню сейчас.
Хм. А может и так. Сейчас запустил у себя Lazarus - там вроде есть SysUtils. А вообще я с 2010-го года на нем серьезно не писал, забывать начал.

Но в любом случае, для форматирования даты есть куча функций, для начала можно посмотреть первые пять страниц из выдачи гугла по запросу "free pascal format date".

 
 
 
 Re: "Сборка"
Сообщение12.06.2015, 23:49 
Кстати, я мог перепутать тоже. Кажется, в Delphi именно и были SysUtils, но никаких Utils.

 
 
 
 Re: "Сборка"
Сообщение14.06.2015, 10:52 
Тему можно закрывать :D Вопрос решён. На будущее -- если кому пригодиться:
Используется синтаксис Pascal
program TimeDemo;
uses sysutils;
begin
   writeln ('Current time : ',TimeToStr(Time));
end.

Стало быть, действительно враки с модулем в том коде. Старый код с сайта: http://www.cyberforum.ru.
Новый код и много чего интересного -http://www.tutorialspoint.com/pascal/pascal_date_time.htm

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group