|
37 / 37 / 5
Регистрация: 12.02.2010
Сообщений: 239
|
|
Сохранение переменной03.08.2010, 20:41. Показов 6903. Ответов 12
Метки нет (Все метки)
Здравствуйте!!! Подскажите пожалуйста, как сохранить переменную типа float в dll файл и как потом ее оттуда прочитать???
0
|
|
| 03.08.2010, 20:41 | |
|
Ответы с готовыми решениями:
12
Сохранение значения переменной Сохранение номера дня в переменной int
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 03.08.2010, 20:57 | |
|
А кто вам сказал, что в DLL можно хранить пользовательские переменные?
Теоретически это можно сделать, но на практике, я уверен, что будет много сложностей. Чем вас не устраивают ini-файлы (которые можно в последствии зашифровать и переименовать) или реестр Windows?
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|||||||||||||||||
| 03.08.2010, 22:32 | |||||||||||||||||
Сообщение было отмечено как решение
РешениеЕсть и простые текстовые файлы
Сохранять в такие можно так:
В Ini-файлах, переменную типа float, можно хранить таким образом:
2
|
|||||||||||||||||
|
37 / 37 / 5
Регистрация: 12.02.2010
Сообщений: 239
|
||
| 04.08.2010, 17:55 [ТС] | ||
|
0
|
||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 04.08.2010, 18:16 | |
|
Игорь98, кодируйте эту переменную или весь ini-файл целиком, архивируйте - способов множество, но вот хранить в dll-файле не самый, на мой взгляд, удачный из них.
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
| 04.08.2010, 19:10 | ||||||
|
Игорь98, в таком случае, нужно прибегнуть к небольшой хитрости.
Вам необходимо сгенерировать псевдослучайное значеним GUID (Глобально-уникальный идентификатор). GUID можно сгенерировать однократным нажатие Ctrl+Shift+G. Затем необходимо создать раздел в реестре и записать туда то, что вам нужно. Для наглядности написал вам небольшой примерчик:
Обнаружить такую переменную можно только перехватом всех действий процесса по отношению к реестру. Однако и здесь никто не запрещает вам зашифровать вашу переменную и записать её как строку.
0
|
||||||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 04.08.2010, 20:34 | |
|
MikeSoft, но засорять реестр... Как-то не очень хорошо, хотя, должен признать, такой способ действенен.
Правда, при желании и такой путь легко найти и определить какой параметр за что отвечает, поэтому если так записывать, то само значение придется кодировать тоже.
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||
| 04.08.2010, 21:03 | |||
|
Сам реестр, по сути, - древовидная иерархическая база данных, хранящая сведения об АО, ПО и настройках и модулях самой системы. Тут есть маленький ньюанс: не стоит бояться пользоваться БД Реестра, нужно просто не забывать его очищать. Я веду к тому, что когда разрабатывается более-менее стоящий программный продукт, то инсталлятор должен предусмотреть создание(и возможность чтения/записи) необходимых ключей, а деинсталлятор - обязательную очистку и удаление созданных ключей. Иначе, смысла в реестре нет вообще. А ведь операции чтения/записи в реестр будут выполняться несколько быстрее и данные будут скрыты от пользователя.
И в дальнейшем применяем различные методы дешифровки, до получения необходимого результата. Правда, на этот вариант необходимо время. В таких делах есть одно золотое правило: Усилия по изобретению и кодированию хитроумных замков для хранения вашей драгоценной программы не должны превышать усилия воображаемого хакера, коварно затевающего её взлом. (с) Это правило отлично сочетается с другим правилом: Пока есть информация, которую нужно держать в секрете, всегда будет найден способ, который способен сделать данные публичными.
2
|
|||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 04.08.2010, 22:05 | |
|
MikeSoft, как я понял, здесь ты говоришь о более или менее серьезных продуктах. Но если программа вообще не устанавливается на машину? И в таких случаях хранить в реестре бессмысленно.
Но это я так немного от темы отошел - просто предположил один из вариантов. И мы, если честно, немного начали оффтопить, друг мой. ![]() Добавлено через 6 минут
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||
| 04.08.2010, 22:09 | ||
|
Nitan, почему же оффтоп? Всё отлично. Мы обсуждаем эффективность и удобства того или иного метода сохранения переменных. А значит, от темы не отходим. Должен же разработчик уметь выбрать для себя тот или иной метод... а наши обсуждения как раз и показывают плюсы или минусы для конкретного подхода. Так что, всё отлично
![]()
0
|
||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
||
| 04.08.2010, 22:22 | ||
|
Но в таком случае запись в реестре останется. Да, ничего страшного от 2 - 3 лишних строк нет и возможно при первой же чистке реестра они будут удалены, но все равно засоронение может произойти. Не по теме: Хотя на моей памяти была одна программка:
1
|
||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||
| 05.08.2010, 00:59 | ||
|
Я выше описывал возможный подход...
Поставляешь ты какую-то программу. На первый запуск вешаешь показ сообщения:
Ничего плохого не станется ![]() В общем, проблему ТС мы более, чем решили
1
|
||
|
37 / 37 / 5
Регистрация: 12.02.2010
Сообщений: 239
|
|
| 06.08.2010, 10:55 [ТС] | |
|
Спасибо, кое что для себя узнал нового!!!!
0
|
|
| 06.08.2010, 10:55 | |
|
Помогаю со студенческими работами здесь
13
Возможно ли обращение к переменной с использованием значения строковой переменной? Сохранение переменной
Сохранение переменной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|