|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
|
Просьба: Как и с чего начать?04.12.2018, 16:51. Показов 930. Ответов 14
Метки нет (Все метки)
Решил освоить программирование на Paskal
https://i.ibb.co/br9QqXv/041218-164003-0.png Прошу прощения, а также прошу ничем в меня не кидаться. В одно время приходилось писать для собственных нужд программы на других языках, в том числе и на Ассемблере для 8080, а также для КР1878ВЕ1, малость знаком с PHP, но никогда не занимался написанием программ для Win и даже не знаю, с чего начать. Сейчас нужда заставила. Если нетрудно, то помогите мне создать проект с написанием некой заготовки для будущей программы мониторинга. Прилагаю "шкурку" для программы. https://i.ibb.co/9rppzTk/image.png На ней приведён примерный вид окна программы для мониторинга. Красным на ней приведены те данные, которые она должна из файла данных, который будет из себя представлять обычный текстовый файл (stat.dat), в строках которого через разделитель записаны контролируемые параметры. Например, в таком виде: 1543919400|04-12-18|14:30|11383.000|3241.6|226|0.000| Каждая строка содержит штамп времени и список контролируемых параметров, которые должна уметь извлекать из этого файла написуемая программа. Синим шрифтом показаны вычисляемые данные, которые будут вычисляться на основе данных из этого же файла. Например, количество потреблённой воды за текущий месяц будет получаться вычитанием текущих показаний счётчика и данными на конец предыдущего месяца. Пурпурным цветом показаны данные, которые будут вычисляться из данных таблицы, а также могут в реальном времени получаться от датчиков и вычисляться для приведения в удобоваримый вид. С математикой, я считаю, что в программе-заготовке вполне справлюсь. Текущие дата и время берутся с компа. К примеру, переменные красного цвета будут каждые 10 минут браться из файла данных, по этим данным будут вычисляться переменные отображённые синим цветом. А переменные пурпурного цвета (удельное потребление) могут либо вычисляться из табличных данных косвенным способом: разница последнего и предыдущего значения делённая на промежуток времени (10 мин) и умноженная на 60, или просто - умноженные на 6 - скорость расхода в час. Либо эти данные могут быть вычислены по длительности периода следования импульсов счётчиков. С аппаратной реализацией второго способа можно не заморачиваться так как её ещё нет, но предположительно за пределами компа будет работать МК из семейства Arduino, который будет взаимодействовать с датчиками, собирать и формировать статистику, измерять и контролировать напряжение в сети, а также связываться с компом через радиомодуль типа nRF24L01 и лить на комп данные в файл stat.dat. Над этим я ещё буду работать, идеями могу поделиться, но сейчас меня занимает программа для компа. Пожалуйста, помогите настроить среду разработки программы, создать проект и начальную заготовку с несколькими примерами. Желательно с комментариями в тексте исходника. В дальнейшем я смогу дописать начатый проект-заготовку, заполнить его математическими вычислениями, отредактировать оформление. Пока мне нужно, чтобы написать программу, которая бы могла извлекать данные из файла.
0
|
|
| 04.12.2018, 16:51 | |
|
Ответы с готовыми решениями:
14
Что посоветуете тому, кто хочет начать учить Java? С чего начать изучение? Решил начать изучать 1С.С чего начать, что скачать? Решил начать изучать графику. Подскажите с чего начать |
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
|
|||
| 04.12.2018, 17:11 | |||
|
А потом перестали бы нарушать правила форума, выкладывая картинки на стороннем ресурсе!!!
0
|
|||
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
||
| 04.12.2018, 17:53 | ||
|
Далее - скажите свой уровень знания именно паскаля. И почему вы выбрали именно его для этой задачи. И - ваша задача не школьная, её писать не 5 мин, я бы на вашем месте не ожидал больших пожертвований чем советы что использовать, где брать инфу и т.п.
1
|
||
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
|||
| 04.12.2018, 18:12 [ТС] | |||
А по теме не судьба? ![]() Добавлено через 1 минуту И мне не готовая программа нужна, а заготовка, которую я бы мог изучать и развивать самостоятельно. Просто я сейчас установил среду и совсем не знаю, как её настроить и с чего надо начать?
0
|
|||
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
|
|
| 04.12.2018, 18:18 | |
|
Ну возьмите любой букварь по паскалю (в инете их полно) и пробуйте писать свой код.
А вот, когда возникнуть конкретные вопросы, тогда и спрашивайте. К чему лить воду?
0
|
|
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|||||||
| 04.12.2018, 18:28 | |||||||
|
Но, кстати, Pascal, FreePascal, PascalABC, PascalABC.Net и другие - это всё разные языки, называя их просто pascal, не имея при этом контекста - вы нарываетесь на путаницу как у себя в голове, так и в головах тех с кем общаетесь. В общих настройках всё по-умолчанию. В настройках редактора стоят все галочки. В настройках компилятора - только самая первая (генерация Debug-версии). В настройках анализатора кода - все галочки кроме подсказки по нажатиям клавиш. Там создайте .pas файл, откройте его. Начинайте читать справку и примеры (всё под кнопкой Помощь) Все дополнительные вопросы - не стесняйтесь задавать, но всё же пытайтесь выяснить их самому, это сильно ускоряет процесс обучения. Особенно если вы действительно
1
|
|||||||
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
|
| 04.12.2018, 19:45 [ТС] | |
|
Sun Serega, спасибо за содействие и советы. Смотрю примеры.
0
|
|
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
|
| 04.12.2018, 23:12 [ТС] | |
|
Кстати, насчёт сложности... у меня ещё с 90-х годов работала похожая система на Советском бытовом компьютере "Вектор-06Ц". Правда только не электросчётчике.
Как только я увидал электронный счётчик электроэнергии ЦЭ6807, так сразу же захотел его иметь у себя и заимел. После чего его мигающие светодиодные индикаторы сподвигли меня вести автоматизированный подсчёт импульсов, накопления показаний, анализа данных, а также и печать квитанций оплаты за электроэнергию. Мною была собрана схема на микросхемах К561 серии из счётчиков и сдвиговых регистров для подсчёта импульсов (накопления данных), считывания данных из двоичных счётчиков сдвиговыми регистрами и передачи последовательным кодом в компьютер. Для энергонезависимости и сохранности показаний двоичные счётчики питались от аккумулятора 7Д0.1, подзаряжаемого от сети. Раз в месяц компьютер считывал показания двоичных счётчиков, заносил данные в файл базы данных и печатал квитанцию для оплаты электроэнергии. Прилагаю образец той квитанции... Спросите, а откуда компьютер "Вектор-06" знал, что начался другой месяц? А для этого мне пришлось установить в компьютер часы и календарь на микросхеме КР512ВИ1, а для этого пришлось расковырять без исходников операционную систему МикроДОС, чтобы в неё внедрить подпрограммы считывания часов, календаря и вывода данных на экран, сохранив при этом совместимость с прикладными программами. Тогда мне все говорили, что ничего из этого не выйдет, компьютер слабый, памяти мало и ОС оптимизирована настолько, что её нельзя ужать, но они ошиблись. Нашёл я в ней необходимое место и засунул подпрограммы. Ещё позже я ещё нашёл целые залежи свободного места в самой операционной системе, потому что переделал компьютер со штатной клавиатуры на использование клавиатуры от IBM совместимых. Позже, когда я пересел на 486 компьютер, а "Вектором" перестал регулярно пользоваться, но на 486 не мог управлять портами, то встал вопрос с мониторингом и печатью квитанций. Тогда я функции мониторинга электросчётчика решил переложить на микроконтроллер КР1878ВЕ1, а мне тогда говорили, что у микроконтроллера мало выводов и принтер с параллельным интерфейсом к нему не подключишь... было бы желание и микроконтроллер данные на принтер начал выводить по шине I²C посредством микросхемы PCF8574. По этой же шине, в свободное от работы время он считывал часы и календарь из PCF8583, а также данные термометров DS1621 и выводил на индикатор, выполняя функции часов, будильника, календаря, двухточечного термометра и ещё мониторил электросчётчик с печатью квитанций. Это я к чему всё? Возможно, действительно, для таких целей использовать Pascal не оправдано, но пока ещё не начинал, то может кто-то посоветует иное средство. Мне именно этого и хотелось бы. Хотя на вкус и цвет... но я ещё пока и не решил, что для этого использовать...
0
|
|
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|||||||||||
| 04.12.2018, 23:26 | |||||||||||
|
Так, ну, в всех этих буквах и цифрах, которые вроде означают марки процессоров и т.п. - я не разбираюсь. Но могу сказать вот что:
PascalABC.Net требует установки на машину .Net4.0 или mono (если ставить на линукс). Но .Net - это огромная платформа, весящая очень много, вряд ли её на чип от стиралки запихнёшь. Но если вы пишете программу для компьютера на котором стоит Windows - .Net уже установлена, и тогда это всё же имеет смысл. Потому что PascalABC.Net предоставляет как низкоуровневые средства (как указатели) так и высокоуровневые (как Linq). C# тоже может этим же похвастаться, но в этом паскале высокоуровневых средств ещё больше. К примеру можно сделать так:
Кстати, из того что вам наверняка понадобится:
1/5/2014 3:28:39 PM
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
||
| 05.12.2018, 09:57 [ТС] | ||
|
0
|
||
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
||||||
| 05.12.2018, 11:57 | ||||||
|
Конечно, как раз для этих библиотек и отличается. Вот, к примеру, для того же Linq - часто нужны лямбды, поэтому они есть:
Справка>>Общие сведения>>Отличия языка... Добавлено через 5 минут P.S. Правда, не верьте всему что пишут))) Я вот сейчас почитал - library и default есть.
1
|
||||||
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
||
| 05.12.2018, 16:32 [ТС] | ||
|
0
|
||
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|
| 05.12.2018, 16:40 | |
|
+
Ну, вы можете и сами запустить, кстати.
0
|
|
|
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 10
|
|
| 05.12.2018, 16:56 [ТС] | |
|
Пока ещё до запуска и проб не дошёл.
Собственно пока я изучаю особенности языка, отличия, положительные и отрицательные моменты. Кстати в начале 90-х годов я пытался освоить ЛС-Паскаль, но сподвигло меня на это то, что в ЛС-Паскаль имелась возможность компиляции программ. К тому времени я использовал Бейсик с интерпретатором, который не компилировался. Достал себе ЛС-Паскаль, но только без компилятора. Попробовал немного и поскольку компилятора так и не нашёл, то решил забросить освоение ЛС-Паскаль. Зачем мне такой, если я уже владел Бесиком с такими же возможностями и даже шире, поскольку Бейсик у меня всё-таки был дисковой версии, а ЛС-Паскаль кассетной версии. С диска он, конечно, запускался, но сам не имел никаких функций работы с диском. А я решал свои проблемы на Бейсике, а также осваивал программирование на Ассемблере. Бейсик, кстати, позволял использовать подпрограммы в машинных кодах. Ну, а тот ЛС-Паскаль я задвинул и никогда больше не возвращался...
0
|
|
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|
| 05.12.2018, 17:09 | |
|
Ну всё же, IDE стоит, а чтоб запустить - файл создавать не надо. Откройте IDE через ярлык паскаля вместо .pas файла.
0
|
|
| 05.12.2018, 17:09 | |
|
Помогаю со студенческими работами здесь
15
Хочу начать изучать Cisco с чего начать? Многопоточность... как ? с чего начать?
Как разобраться с API. С чего начать? С чего и как начать? Задание с матрицами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|