purebasic.info

PureBasic forum
Текущее время: Вт июл 17, 2018 6:29 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Утилита GetApi
СообщениеДобавлено: Ср фев 02, 2011 6:42 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Предлагаю вашему вниманию утилиту GetApi
Описание: позволяет по адресу узнать имя API функции и наоборот.
Ничего особенного, выкладываю потому, что применено натягивание шкурки (скина) на окно при помощи сторонней библиотеки Может кому пригодится.
Сама dll упакована станданртным пакером PB (файл SkinFeature.pak) и засунута в exe'шник. Динамически распаковывается и загружается прямо в память
Ключег присутствует8)
Компилил в PureBasic 4.30
Изображение

PS в файле Skin.rc поменяйте путь к Devoir.rss (можно в блокноте)
PPS на офсайте выложено много дополнительных скинов, но они сейчас не качаются. Я в свое время их скачал, кому надо могу выложить.


Вложения:
GetAPI.rar [374.93 KiB]
Скачиваний: 557

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Последний раз редактировалось pablov Вт ноя 03, 2015 6:54 pm, всего редактировалось 3 раз(а).
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 7:43 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Интересно - поигрался с скинами...
pablov писал(а):
Я в свое время их скачал, кому надо могу выложить

Выкладывай если не трудно...
Некоторые скины скачал, но не понял как применить?

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Последний раз редактировалось mirashic Ср фев 02, 2011 7:43 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 7:43 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11205
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
Похоже библиотека скинов не поддерживает кириллицу. :( :(

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 7:45 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Русские буквы ? У меня работает...

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 7:58 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11205
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
mirashic писал(а):
Русские буквы ? У меня работает

А у меня крякозябры в место них!

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 8:37 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
На офсайте есть интересная штука Visual Skin Editor.
Не до конца разобрался, но интересно.
Изменить скины в файле Devoir.rss получается, а создаю новый - не работает.
Написано, что программа Visual Skin Editor - Trial, но вроде работает...

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 02, 2011 8:49 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Пётр писал(а):
А у меня крякозябры в место них!

Да не, норм кирилицу поддерживает

Скачай с сайта дистрибутив. Там есть хелп и dll + редактор скинов.
Вообще применять очень просто:
Грузишь dll, потом либо LoadSkinFile() если файл скина на диске, либо LoadSkinFromResource() если скин в ресурсах. Параметры функций смотри в хелпе.
А да, заметил глюк. При надевании шкуры отсутствует фоновый цвет окна, приходится задавать самостоятельно, хотя разрабы позиционируют SkinFeature и для PureBasic'а

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Последний раз редактировалось pablov Чт мар 28, 2013 12:12 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 03, 2011 8:54 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Нарисовал свой скролинг для программы: поиск музыки в Vkontakte.ru.
Раньше его прятал за контейнером...
Правда использовал твой файл: SkinFeature.pak
Создаю новый файл ресурса и заменяю: Devoir.rss , а если сохраняю с таким же именем уже не работает.

Если не трудно покажи пример кода с SkinFeature.dll как он выглядит... не могу врубится... или не эту dll надо использовать ?


Cкрин, скроллинг под внешний вид программы:
Изображение

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 03, 2011 4:05 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
mirashic писал(а):
покажи пример кода с SkinFeature.dll как он выглядит

Да пожалуйста


Вложения:
SkinFeature.rar [312.99 KiB]
Скачиваний: 2496

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 03, 2011 4:05 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо!
При таком варианте и вновь созданный файл ресурса работает и ключ подходит и все версии PB
( в функции CallFunctionFast перед всеми строчными параметрами добавляем @)

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 03, 2011 4:42 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
mirashic писал(а):
добавляем @

А что это дает?

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 03, 2011 4:43 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Работает В PureBasic 4.41
Код:
1
2
3
4
 
CallFunctionFast(InitializeSkin)
CallFunctionFast(LoadSkinFile, @"Cyclops.rss", @"")     ; Надеваем скин из файла на диске
 


_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 04, 2011 10:40 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
pablov писал(а):
Сама dll упакована станданртным пакером PB

я пробую упаковать SkinFeature.dll таким образом, но результат (SkinFeature.pak) в коде не работает ?
Код:
1
2
3
4
5
6
7
8
 
 Procedure PackFile()  
  CreatePack("SkinFeature.pak")  
  AddPackFile("SkinFeature.dll",9)  
  ClosePack()  
 EndProcedure
 
 PackFile()


_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 04, 2011 11:47 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11205
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
По идее, паковать надо так:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
If ReadFile(0,"SkinFeature.dll")
  Filesize=Lof(0)
  If Filesize>0
    *file=AllocateMemory(Filesize+1)
    *pak=AllocateMemory(Filesize+8)
    If *file And *pak
      ReadData(0, *file, Filesize)
      CloseFile(0)
      PakSize=PackMemory(*file, *pak, Filesize, 9)
      If PakSize>0
        If CreateFile(1,"SkinFeature.pak")
          WriteData(1,*pak,PakSize)
          CloseFile(1)
          MessageRequester("", "ОК", #MB_OK|#MB_ICONINFORMATION)
        Else
          MessageRequester("", "Не удалось создать файл", #MB_OK|#MB_ICONWARNING)
        EndIf
      Else
        MessageRequester("", "Проблема при упаковке", #MB_OK|#MB_ICONERROR)
      EndIf
    Else
      MessageRequester("", "Проблема с памятью", #MB_OK|#MB_ICONERROR)
    EndIf
  Else
    MessageRequester("", "Файл пустой", #MB_OK|#MB_ICONERROR)
  EndIf
Else
  MessageRequester("", "Нет файла", #MB_OK|#MB_ICONERROR)
EndIf



Сам так часто пакую BMP файлы чтобы не юзать PNG декодер.
Это позволяет уменьшить размер скомпилированной проги на 100 КБ, именно столько весит PNG декодер. А распаковщик занимает около 2 КБ в исполняемом файле.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Последний раз редактировалось Пётр Пт фев 04, 2011 11:51 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 04, 2011 11:49 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо!

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB