Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Запись значения
decoder2Дата: Воскресенье, 03 Октября 2010, 17:56 | Сообщение # 1
Новый участник
Группа: Заблокированные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
Как можно сохранить значение выставленного PAGEBG, чтобы при следующем запуске оно считывалось и применялось автоматически? хотелось бы чтобы жто было реализовано в значении реестра. Если кто сможет помогите плиз!
 
DEMBELДата: Воскресенье, 03 Октября 2010, 18:17 | Сообщение # 2
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
запись в реестр и чтение можно сделать используя команды SaveVariable и LoadVariable, читайте справку.
Code
** задаем исходные параметры
bg$='IMAGE=<SrcDir>\images\image.jpg'
** применяем их
SetProjectParam("PAGEBG","bg$")
...
...
** сохраняем параметры
SaveVariable("Pagebkg","bg$")
...
...
** загружаем параметры
LoadVariable("Pagebkg","bg$")
** применяем их
SetProjectParam("PAGEBG","bg$")




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
decoder2Дата: Воскресенье, 03 Октября 2010, 18:26 | Сообщение # 3
Новый участник
Группа: Заблокированные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
Quote (DEMBEL)
** задаем исходные параметры
bg$='IMAGE=<SrcDir>\images\image.jpg'
** применяем их
SetProjectParam("PAGEBG","bg$")
...
...
** сохраняем параметры
SaveVariable("Pagebkg","bg$")
...
...
** загружаем параметры
LoadVariable("Pagebkg","bg$")
** применяем их
SetProjectParam("PAGEBG","bg$")

Это понятно но как сделать если файл выбирается руками вот при таком условии
Code
If (run1=0) Then
OpenFile("JPEG Files (*.JPG)|*.jpg|BMP Files (*.BMP)|*.bmp|All Files|*.*||","*.jpg")
If (OpenFile$<>'') Then
** set image on page background
SetProjectParam("PAGEBG","IMAGE=OpenFile$")
run1=1
End
Return()
End

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

Сообщение отредактировал decoder2 - Воскресенье, 03 Октября 2010, 18:29
 
DEMBELДата: Воскресенье, 03 Октября 2010, 18:57 | Сообщение # 4
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну логически подумайте, какие операции для этого надо проделать? ладно, думаю за вас, отмечено в комментариях:
Code
If (run1=0) Then    
**открываем файл
OpenFile("JPEG Files (*.JPG)|*.jpg|BMP Files (*.BMP)|*.bmp|All Files|*.*||","*.jpg")    
If (OpenFile$<>'') Then    
** если выбор сделан, применяем    
SetProjectParam("PAGEBG","IMAGE=OpenFile$")    
** запоминаем выбор
bg$='IMAGE=OpenFile$'
SaveVariable("Pagebkg","bg$")
run1=1    
End    
Return()    
End

**при старте проекта (или где там у вас проверка фона идет) применяем сохраненный фон
**проверяем, он уже есть или еще не задан
LoadVariable("Pagebkg","bg$")
**тут я не помню что будет когда Pagebkg в реестре еще не существует
**но думаю что переменная bg$ будет пустой, либо надо будет ошибку обработать
if (bg$='') Then
** ставим фон по умолчанию или отправляем к условию выбору файла (сначала проставив run1=0)
SetProjectParam("PAGEBG","IMAGE=default.jpg")
Else
**если фон уже задан, то применяем
SetProjectParam("PAGEBG","bk$")
End

Добавлено (03 Октябрь 2010, 18:53)
---------------------------------------------

Quote (DEMBEL)
bg$='IMAGE=OpenFile$'

проверьте, заменяется ли OpenFile$ при сохранении на реальный путь. если сомневаетесь в участке кода, лучше вывести сообщение с содержимым
Code
bg$='IMAGE=OpenFile$'
Message("Debug","bg$")
SaveVariable("Pagebkg","bg$")

тогда вы будете точно уверены например, какое содержимое bg$ будет писаться в реестр

скорее всего, придется:

Code
bg$='IMAGE='+OpenFile$

Добавлено (03 Октябрь 2010, 18:57)
---------------------------------------------
все, я футбик смотреть Челси-Арсенал, пока до свидания... :)




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
decoder2Дата: Воскресенье, 03 Октября 2010, 19:14 | Сообщение # 5
Новый участник
Группа: Заблокированные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
IMAGE=OpenFile$ вот это самое он и зщаписал в реестр, а при открытии проекта изменений 0
Причем если что то изменить после "bg$=" то он то и записывает в реестр
Мои попытки записать путь к файлу увенчались тем же успехом что и сейчас (((, поможите люди добрые


Сообщение отредактировал decoder2 - Воскресенье, 03 Октября 2010, 19:24
 
DEMBELДата: Воскресенье, 03 Октября 2010, 19:50 | Сообщение # 6
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (decoder2)
Причем если что то изменить после "bg$=" то он то и записывает в реестр

ну логично. он сделает так как ты ему скажешь, от себя ничего не напишет. разбирайся с логикой работы с переменными.
я же тебе сказал, надо писать bg$='IMAGE='+OpenFile$ тогда он присоединит к IMAGE= имя файла. все что записано в кавычках ' ' воспринимается буквально как текст. а надо чтоб OpenFile$ заменилось на путь, для этого ее не надо в кавычках писать а через + в открытом виде. ты читаешь вообще?

Code
OpenFile("All Files|*.*|","*.*")
bg$='IMAGE='+OpenFile$
Message("содержимое bg","bg$")

выполни и увидишь что bg$ содержит правильную строку, тебе осталось подставить bg$ в
SetProjectParam("PAGEBG","bg$")




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
  • Страница 1 из 1
  • 1
Поиск: