Переменные при запуске программы.

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Переменные при запуске программы.

Сообщение Seenkao » 12.05.2021 07:10:18

Когда программа запускается, в каком поведении глобальные переменные этой программы? (да, вероятно глобальные, внутренние, как я понимаю, уже могут содержать мусор самой рабочей программы, в Delphi 7 с этим уже сталкивался).
1 - Не определены? Содержат мусор.
2 - Обнулены? Очищены.

Инициализация переменных (благодарность СнегСевер!)
Последний раз редактировалось Seenkao 12.05.2021 08:12:57, всего редактировалось 1 раз.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

Re: Переменные при запуске программы.

Сообщение Снег Север » 12.05.2021 07:36:31

Какие переменные? Простые, сложные, ссылочные, классовые? У всех своё поведение.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3039
Зарегистрирован: 27.11.2007 16:14:47

Re: Переменные при запуске программы.

Сообщение Seenkao » 12.05.2021 07:40:20

Обычные объявляемые. Integer - как пример.
Объявленные в структуре.
Или проще не заморачиваться и просто обнулять их при запуске?

Добавлено спустя 7 минут 55 секунд:
Как я понимаю, обычные данные (объявленные переменные) будут уже записаны в файл и для них будет выделено место в программе. По умолчанию должны быть нули? Значит освобождены от данных.
Не про ссылочные. Там понятно, что под них дополнительная память выделяется.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12


Re: Переменные при запуске программы.

Сообщение Seenkao » 12.05.2021 08:09:17

Благодарю!
Но ответ был чуть выше под пунктом 4.4. Но я бы долго искал. )))
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

Re: Переменные при запуске программы.

Сообщение Сквозняк » 19.05.2021 13:55:51

Это не такой простой вопрос. После создания глобальной переменной нужно решить, где она будет использоваться и как влиять на работу программы. В сложных случаях переменную нужно прописать в нескольких процедурах, но каждая переменная не во всех сразу: сохранение переменных, загрузка переменных, задание значения всегда, задание значения при запуске чего-то нового. Загрузка переменных тоже не однозначная операция, перед ней можно запускать процедуру "задание значения при запуске чего-то нового" а можно и не запускать. В одном случает состояние программы после загрузки будет однозначно новое, а в другом может смешиваться со старым, если в загрузке чего-то не хватает.

Seenkao писал(а):По умолчанию должны быть нули? Значит освобождены от данных.


Это тебе сейчас так кажется, а когда станешь что-то лепить и править, у тебя где-то по умолчанию потребуются не нули, потому глобальные переменные при создании записываются в пяти местах. Если ошибёшься, то логика пострадает.
Сквозняк
энтузиаст
 
Сообщения: 1123
Зарегистрирован: 29.06.2006 22:08:32

Re: Переменные при запуске программы.

Сообщение Seenkao » 25.05.2021 13:40:09

Сквозняк, в ссылке, в первоначальном посту, указано, что при определении/создании переменной - она не определена. )))
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

Re: Переменные при запуске программы.

Сообщение dimassd » 28.09.2021 02:43:55

Уважаемые програмисты.
Доброго времени суток всем!
Я очень серьезный программист и хотел бы поделится своим творчеством, а хоть бы и с кошкой.
просьба не называть меня плохими словами и прошу от вас понимания.
я немного неправильно сформулировал, задачки могут кидать не только опытные программисты но и все участники, и сразу же с ответом.
а опытные программисты иногда заглядывали сюда и давали советы по решению.
и вот исходя из этого я решил создать эту тему.
сейчас закончил новую прогу c незатейливым названием - (песни v 7.25)
поясню о чем речь:
ИГРАЕТ и РЕДАКТИРУЕТ ПЛЕЙЛИСТЫ .m3u [в архиве хранит свыше 400 плейлистов с треками mp3 + cda]
на создание этой проги меня подвигло, то что плееры ограниченны на кол-во плейлтстов и могут легко потерять даже один кропотливо созданный в заначке.
создана для всех кто дорожит своими плейлистами и кто не хочит их терять из за банальных ошибок сторонних игралок.
преимушество заключается в том, что можно на ходу в самой проге переключать проигрователь и делать разные манипуляции с плейлистами.
кроме все прочего прога может создать разный плейлист склеенный из одиночных с именем BIGPLAY.m3u
играет плейлист на 'P' берутся в любой раскладке англ. \ рус. P=з D=в и все остальные берутся тоже в любой.
в реестр прога ничего не пишет а просто запускает плейлы и параллельно исправляет бувы дисков в самом плейле непосредственно перед игрой.
к примеру путь к треку E:\абра-кадабра.mp3 то перед игрой и если буква диска E:\ была сбита на D:\ в этот момент прога предложит авто-исправление и дальше продолжит игру, как ни в чем не бывало.
плеер бы сослался на ошибку и играть его не станет и пришлось бы ручками поправлять пути к треку, если допустим их окажется более десятка.
тома диски создаются в .iso авто монтировкой в Poweriso либо других аналогах, а просто бросаешь в iso-образ свои mp3-ки, потом сохраняешь как обычный компакт диск получается.
созданный iso-диск прога смонтирует и после можно редактировать сортировать, переименовать треки + сохранять это добро в архивном контейнере.
архив делает коментарий к плейлисту, по нему легко нужный плейлист - типа его идентификатор (комент\ описание) с любыми символами.
описание дается плейлу в авто-режиме т.е на момент сохранения плейлиста в архив.
в частности проблемы по сохранению плейлистов прога задачу решает на сто, обходя рукожопость в управлении проигрователем со стороны последнего.
обычный проигрователь сохранит 1-2 .m3u не более и те может с легкостью угрохать.
(до меня ничего подобного никто не создал и не создаст по идейным понятно соображениям)

уникальность заключается в том, что во-первых может играть на любом диске и без всяких зависимостей от альтернативных плееров и чьи плейлы сохранность которых гарантируются весьма мутно.
плееры достаточно скупы и во многом ограниченны на кол-во созданных плейлов и легко могут их затерять и избить за это будет не кого.
предлагаю свою новую технлогию по работе с плейлистами для любителей и профи, тем более давно не секрет как многие дорожат своими плейлистами и не хотят их потерять.
моя идея заключается в ее же особенности и редкости по решению данной задачи, которую не удавалось решить лучшим умам до момента ее появления на свет белый.
в общем-то писать об этом довольно долго, просто предлагаю с ней ознакомится, там есть обширная справка, посмотрите и станет понятно как в реале это работает.

песни v 7.25 - редактор плейлистов (m3u)
https://wdho.ru/929094
https://disk.yandex.ru/d/i1yC4F1MM1eOzA

кое что еще из собственных программ:
editor_cache v4.4 (1) - редактор и грабер кеша браузеров
https://wdho.ru/a3bf60
https://disk.yandex.ru/d/ukqoVpbO393nlQ

https://wdho.ru/d9c08  - кеш значков- (1.4).zip - (обходит ограничения клавиши F5)
https://disk.yandex.ru/d/0WlO5_mc3OCLMg
https://wdho.ru/4e835 - короткие имена.zip
https://disk.yandex.ru/d/arFsRttQPcguDw
https://wdho.ru/d19ee - права папок 2 (1).zip
https://disk.yandex.ru/d/SxYxwDvTFHvVhg
https://wdho.ru/a2d3c - BYTES-0-DEL.zip
https://disk.yandex.ru/d/VUw1wyiMEkGxEw
https://wdho.ru/bce99 - cache 2 (2).zip - планировщик чистки индивидуального кеша с любым кол-вом папок включая кеши браузеров
https://disk.yandex.ru/d/dtfhtf3S7UNaag
https://wdho.ru/160e77 - BB v4.3.4 - def-browser.zip - может добавить ключи с параметрами в запуск любого браузера
https://disk.yandex.ru/d/Fhs_4XlmY9GdjQ

пожалуста по-лучше присмотритесь ко всему этому.
Большое спасибо.
dimassd
незнакомец
 
Сообщения: 1
Зарегистрирован: 12.09.2021 14:30:02


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru