Страница: 1 | 2 |
Вопрос: Простой вопрос про RES
Добавлено: 29.12.06 15:13
Автор вопроса: Djon | Web-сайт:
ПривеТ!
Блин, у меня проблемка, подскажите как програмно сохранять в ресурс текст.
Заранее спасибо.
Ответы
Всего ответов: 18
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 29.12.06 18:12
' <МОДУЛЬ ДЛЯ ПРОГРАММНОГО ЧТЕНИЯ/ЗАПИСИ РЕСУРСОВ >|
' |
' = = = = = = = M A D E B Y H A C K E R = = = = = = |
' icq: 334479038, mail: no_detect[@@@]mail.ru |
'==========================================================|
Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Declare Function FindResourceEx Lib "kernel32" Alias "FindResourceExA" (ByVal hModule As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Sub WriteRES(sFile As String, sData As String, sType As String, sName As String)
Dim h As Long
h = BeginUpdateResource(sFile, 0)
Call UpdateResource(h, sType, sName, 1049, ByVal sData, Len(sData)) '1049 - язык
Call EndUpdateResource(h, 0)
End Sub
Public Function ReadRES(sFile As String, sType As String, sName As String) As String
Dim txt As String
Dim hgRes As Long
hLib = LoadLibrary(sFile)
hRes = FindResourceEx(hLib, ByVal sType, ByVal sName, 1049)
hLRes = LoadResource(hLib, hRes)
hgRes = LockResource(hLRes)
lenRes = SizeofResource(hLib, hRes)
txt = Space(lenRes)
CopyMemory ByVal txt, ByVal hgRes, lenRes
FreeLibrary hLib
ReadRES = txt
End Function
Номер ответа: 2
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #2
Добавлено: 29.12.06 18:28
Я что-то не понял, что на форме написать
WriteRES (sFile, sData, sType, sName)
что здесть что?
Можно канкретный пример, а то я не доганяю, пожалуйсто.
З.Ы: Я с ресурсами не разу не работал, мне они не были нужны.
Номер ответа: 3
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #3
Добавлено: 30.12.06 15:43
Ну помогите кто-нибудь... пожалуйсто.
sFile это путь к ресурсу?
sData что это?
sType это тоже не врубаюсь что?
sName это ID?
можно конкретный пример этой строки?
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 30.12.06 16:20
Call WriteRES ("C:\1.exe", "lalalala", "TEXT", "MyRes"
--------
s$ = ReadRES ("C:\1.exe", "TEXT", "MyRes"
Номер ответа: 5
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #5
Добавлено: 30.12.06 21:37
Что то не реботает. "TEXT" - это что?
Вы наверное меня совсем тормозом считаете, может провильно...
Не получается не чего у меня...
В чём проблема?
Вроде всё правильно делаю, ошибиться негде, создаю модуль, создаю ресурс. Но не реботает, ошибку тоже не показывает...
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 31.12.06 02:23
Ну тип у ресурса есть, "TEXT" - значит ресурс текстовый... Ты почитай описание API, оно помогает...
Ещё сцылки на тему:
http://www.vbnet.ru/forum/show.aspx?id=75843
Номер ответа: 7
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #7
Добавлено: 31.12.06 02:45
Haker, большое спасибо. но нужно ещё посидеть разобраться.
Ребята, я с ресурсами первый раз работаю.
Нельзя ли ссылочки какие нибудь про ресурсы вообще, чтобы понять хоть чучуть.
Номер ответа: 8
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #8
Добавлено: 02.01.07 15:06
А может кто подскажет, книжки какие-нибудь скакчать? Про ресурсы разумеется.
Номер ответа: 9
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #9
Добавлено: 02.01.07 23:16
ужос.... Книжки про ресурсы, всё равно что книжка про текстбокс...
Номер ответа: 10
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #10
Добавлено: 02.01.07 23:31
Да, мне стыдно. Но я не врубаюсь.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 02.01.07 23:40
Ну задай конкретный вопрос
Номер ответа: 12
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #12
Добавлено: 03.01.07 00:25
Я вообще хочу с ресурсами разобраться. Хотябы как добавлять и извлекать из них файлы.
Номер ответа: 13
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #13
Добавлено: 03.01.07 02:26
ох... Вообщем я выбился из сил объяснять тебе, расскажу лучше анекдот
Чукча значит изучает как летит самолёт... ну всё перечитал, кричит ничё непонятно... Спрашивает у учёного помощи... тот рисуем ему схемы, рассказывает о подъёмной силе, приводит всякие формулы итп итд... а чукча смотрит на него.. Всё что писал/рассказывал учёный, чукча уже наизусть выучил из книг, чукча одного понять неможет: КАК ЛЕТИТ САМОЛЁТ?
Номер ответа: 14
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #14
Добавлено: 03.01.07 02:46
Номер ответа: 15
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #15
Добавлено: 03.01.07 08:36
А чего объяснять? MSDN по слову Resources и posts++