Вопрос № 86401: Добрый день, уважаемые Эксперты!
Подскажите, пожалуйста, грамотею как и чем скомпилировать VBScript находящийся в txt-шнике в exe? Желательно, чтобы при дизассемблировании полученного exe-шника было проблематично докопаться до особонно некоторых ...Вопрос № 86477: Уважаемые Эксперты подскажите как мне добавить CheckBox в DataGrid
В датагриде создаю поле шаблон в виде CheckBox которое должно обращаться к таблице к булевому полю и при загрузке должен показать если там тру то галочка стоит если фалс то г...Вопрос № 86513: Парни, объясните как разобрать строку типа "12:54:11:72:36" на числа с использованием регэкспов?...
Вопрос № 86.401
Добрый день, уважаемые Эксперты!
Подскажите, пожалуйста, грамотею как и чем скомпилировать VBScript находящийся в txt-шнике в exe? Желательно, чтобы при дизассемблировании полученного exe-шника было проблематично докопаться до особонно некоторых параметров искодного кода. Помогите, буду очень признателен. :)
Отправлен: 11.05.2007, 10:56
Вопрос задал: Дрёма (статус: 4-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Талипов А Н
Здравствуйте, Дрёма!
Нашел программу:
VBX Compiler Pack 1.5 PRO
Компилятор Basic Кода.
В данном Pack есть:
VBX Source Editor, VBX DeCompiler, VBX Compiler, Russian Readme
Обновленный Source Editor подсветка синтаксиса, обновленный Compiler, язык прог. поддерживает формы, объекты... EXE файлы от 10 кб, поддержка ActiveX...
http://freesoft.ru/?id=669853
По её работе ничего сказать не могу.Может это совсем и не то, но попробуйте, хуже не будет.
Что касается шифрования exe, то тут уже нужен не компилятор, а архиватор илидругой специализированный soft, который вы найдёте на хакерских сайтах.
--------- Всё будет так, как должно быть, даже если будет иначе.
Ответ отправил: Талипов А Н (статус: 3-ий класс)
Ответ отправлен: 11.05.2007, 11:50 Оценка за ответ: 5
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Дрёма!
А что за "VBScript находящийся в txt-шнике в exe"? Если это текстовый ресурс, то надо просто использовать Microsoft Script Control (Windowssystem32msscript.ocx) и подключить его в свой проект через Project->References и пользоваться, предварительно загрузив VBScript-код из ресурса. Например, так:
'=-=-=-=-=-=-= Секция "General Declarations" -=-=-=-=-=-=
Dim WithEvents objScript As MSScriptControl.ScriptControl
'=-=-=-=-=-=-= Код -=-=-=-=-=-=
Sub RunVBScript()
Dim txtScript As String
Set objScript = New MSScriptControl.ScriptControl
'Мой пример VBScript-кода, но здесь должен быть Ваш
txtScript = "MsgBox " & Chr$(34) & "Hi From VBScript!!!!" & Chr$(34) & ",64"
With objScript
.Language = "VBSCRIPT"
.ExecuteStatement txtScript
End With
End Sub
'Бдет вызвана, если произойдет ошибка парсера
Private Sub objScript_Error()
Dim e As MSScriptControl.Error
Set e = objScript.Error
With e
MsgBox "Error #" & CStr(.Number) & vbCrLf & _
"Error Description: [" & .Description & "]" & vbCrLf & _
"Error Text: [" & .Text & "]" & vbCrLf & _
"Line: " & CStr(.Line) & vbCrLf & _
"Column: " & CStr(.Column)
End With
End Sub
А теперь о шифровке: VB-программы неблагодарное дело дизассемблировать. Хотя для упаковки есть, например, UPX и т. д. Зайдите на www.wasm.ru - там в разделе "Инструменты" много чего есть. Если же надо шифровать сам VBScript-код, то тут все в Ваших руках: придумывайте алгоритм и шифруйте, после чего в ресурсы запихиваете уже зашифрованный код (можно отдельную программку написать для шифрования VBScript-кода) и при извлечении перед выполнением VBScript-кода расшифровывайте его. Примеров шифровки в сети
полно - надо только поискать.
--------- Учиться никогда не поздно. Особенно программированию!
Уважаемые Эксперты подскажите как мне добавить CheckBox в DataGrid
В датагриде создаю поле шаблон в виде CheckBox которое должно обращаться к таблице к булевому полю и при загрузке должен показать если там тру то галочка стоит если фалс то галочка отсутствует.
А так же как обрашаться к этому созданному полю CheckBox, те нажал на галочку данные внесены в таблицу и тд.
Отправлен: 11.05.2007, 19:43
Вопрос задал: Aspnet (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Aspnet!
Во всех известных мне (free) DataGrid возможности отображать CheckBox нет.
Для решения проблемы необходимо приобретать DataGrid с необходимыми свойствами.
Либо, что менее привлекательно, использовать эмуляцию.
(по клику в ячейке идет обращение непосредственно к рекордсету, и только после программно изменения записи рекордсета обновляется Grid)
Я находил библиотеку объявленую как Free -SCGrid.ocx
В дэмках все было прекрасно, масса "наворотов". но фактически оказалась ShareWare, и сейчас уже не работает.
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Aspnet!
Я тоже столкнулся с проблемой, что доступные бесплатные DataGrid не поддерживают CheckBox.
Поступил по другому ( пример для DAO Access ) :
1. в базе имеется поле Sel логического типа
2. в запросе создается поле " select iif ( sel , '®' , ' ' ) as se, ... " которое выводится на экран
3. можно создать в DataGrid кнопки для полей
4. в DataGrid создаются процедуры обработки событий :
Private Sub DBGrid1_ButtonClick ( ByVal ColIndex As Integer )
Private Sub DBGrid1_DblClick ( )
Private Sub DBGrid1_KeyPress ( KeyAscii As Integer )
внутри которых находится код :
With Form4.Data1.Recordset
'DBGrid1 находится на форме Form4 и подключен к источнику данных Data1
.Edit
!sel = Not !sel
.Update
End With
т.е. после действий пользователя ( нажатии на кнопки в поле, двойном нажатии на строке или нажатии любой клавиши - стрелки на дополнительной клавиатуре не обрабатываются ) в столбце появляется или исчезает символ.
Затем после нажатия книпки "Выполнить" обрабатываются выбранные записи :
dbf.execute "update base set ... where sel"
Таким приемом пользуюсь около пяти лет, удобно и пользователи привыкли.
Если будут вопросы, пишите Jones@rusfaq.ru
С уважением.
Парни, объясните как разобрать строку типа "12:54:11:72:36" на числа с использованием регэкспов?
Отправлен: 11.05.2007, 23:08
Вопрос задал: Mironicuss (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: HookEst
Здравствуйте, Mironicuss!
Добавляете Reference на Microsoft VBScript Regular Expressions(SubMatches требует версию не ниже 5.5)
и например 2 варианта:
Option Explicit
'Reference to Microsoft VBScript Regular Expressions
Sub t()
Dim src As String
src = "12:54:11:72:36" 'наша строка
'********Вариант 1***********
Dim re As New RegExp 'RegExp object
Dim ms As MatchCollection 'коллекция найденых совпадений
Dim m As Match 'элемент(Item) в MatchCollection
With re
.Pattern = "dd" 'шаблон для поиска - просто две последовательные цифры
'если цифр не обязательно 2 то:
'.Pattern = "d+" '1 или больше последовательных цифр
.Global = True 'ищем все совпадения
End With
Set ms = re.Execute(src) 'теперь ms - все найденные совпадения
For Each m In ms 'каждый элемент ms - 1 найденое совпадение
MsgBox m
Next m
'********Вариант 2***********
'SubMatches require version 5.5
Dim sms As SubMatches
Dim v
re.Pattern = "(dd):(dd):(dd):(dd):(dd)" '5 двузначных чисел, разделеных двоеточием
'если цифр не обязательно 2 то:
're.Pattern = "(d+):(d+):(d+):(d+):(d+)" '5 чисел, разделеных двоеточием
Set ms = re.Execute(src)
Set m = ms(0)
For Each v In m.SubMatches 'каждый v соответсвует одной помаске(то что в скобках)
MsgBox v
Next v
End Sub
ps:
Можно и без регулярных выражений:
Option Explicit
Sub t2()
Dim src As String
src = "12:54:11:72:36"
Dim ms, m
ms = Split(src, ":")
For Each m In ms
MsgBox m
Next m
End Sub
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 12.05.2007, 10:14 Оценка за ответ: 5