Современные решения

для защиты Windows приложений

и восстановления исходного кода

Visual Basic 6.0 - VBA+MSword


Re: VBA+MSword

From: "Sergei Ho" <calendarman [@] mtu-net.ru>


"Terekhin Alexandr" <didinst [@] rol.ru> wrote in message news:cipjck$bhi$1 [@] news.rol.ru...

> Доброго времени суток, Vladimir.!

> Tue, 21 Sep 2004 08:47:00 +0000 (UTC) Вы писали to All :

>

> VVT> Заранее извиняюсь за возможный оффтопик, но тут возникла проблема

> VVT> Hеобходимо обработать целую кучу Вордовских документов,

> VVT> соответственно на

> VVT> VBA

> VVT> Я когда-то писал под Excel, с Word не сталкивался

> VVT> Подскажите, где что почитать толковое?

> VVT> Очень желательно на русском.....

> Почитать - *vba*.hlp

> Hа русском? Вряд-ли...

> А в чём собственно сложность?

>

> Set appWD = CreateObject("Word.Application.8")

> appWD.Visible = True

> appWD.Documents.Add

> 'или так:

> 'appWD.Documents.Open "c:\Твой_файл.doc"

>

> appWD.Application.Keyboard (1049)

> appWD.Selection.TypeText Text:="Привет!!!"

> appWD.Selection.TypeParagraph

> appWD.Application.Keyboard (1033)

> appWD.Selection.TypeText Text:="ALL!!!"

>

> И так далее в том-же духе...


Set appWD = CreateObject("Word.Application.8") -- это не VBA, а VBS.

Что-то найти можно в инете
http://www.google.com искать строку:

программирование vba word

А лучше в магазине посмотреть.
Книг много на эту тему, если конечно есть магазины в вашей местности.
В принципе все как в Excel, но объектная модель своя.

Можно еще пойти по пути разглядывания чужого творчества,
например, здесь: http://www.microsoft.ru/offext/

Сергей.
* Origin: Demos online service (2:5020/400)

Re: ADODB

Hi, Gribkov!

17 сен 04 09:44, Gribkov M.N. -> Dmitry Bogdanov:

GMN> Я бы сделал вот так:

GMN> В проекте ставим ссылку на ActiveX Data Object (любая версия старше

GMN> 2, у меня 2.8)

GMN> Dim conn As New ADODB.Connection

GMN> Dim rs As New ADODB.Recordset

GMN> Dim strSql as string


Это всё есть.

GMN> conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist

GMN> Security Info=False;Data Source=" & App.path & "\" & BaseName


Теперь выскакивает ошибка, если попытаться вставить строку, длинна которой
больше длины поля в базе. А ODBC молча лбрезал и вставлял.

GMN> StrSql = "SELECT products.name, products.grup " & _

GMN> "From products " & _

GMN> "WHERE (((products.name) Like " & Chr(34) & "%" & str &

GMN> Chr(34) & "%));"


GMN> rs.Open StrSql , conn, adOpenKeyset, adLockOptimistic, adCmdText


АААААА. Я же в первом письме писал, что мне не кавычки, а остальные
зарезервированные символы использовать надо, такие как []%_ и др.,если таковые
имеются.
В MySQL например есть функция addslashes() или mysql_escape_string(), которая
переделывает неугодные символы в ескейп-последовательность.

Best regards,
Dmitry.

* Origin: Покончив с собой, уничтожить весь мир.. (2:5015/196.10)

Автозапуск программ

Приветствую Вас, о All!

Подскажите пожалуйста
1. Каим образом можно загрузить автоматически программу при включении компьютера (папку автозапуск не предлагать).
2. И еще. Как воспрепятсивовать выгрузке прграммы через диспетчер задач. чтобы программа работала постоянно в фоновом режиме до выключения компьютера.

Задача - финансовый контроль за администраторами компьютерного клуба
Программа пишет лог хронометража запущенных игр.

Заранее благодарен.

С уважением,
Semen
22 сент 2004г. (ср) 07:31
* Origin: *** (2:4613/213.100)

Re: Автозапуск программ

From: "Gribkov M.N." <gribkov [@] ramon.vsi.ru>



> 1. Каим образом можно загрузить автоматически программу при включении

> компьютера (папку автозапуск не предлагать).


Hапример так!

Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long)
As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias
"RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA"
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal
Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long)
As Long
Public Sub AddToStartup(ByVal sDesc As String, ByVal sFile As String)
Dim lRegKey As Long

On Error Resume Next
RegOpenKey HKEY_LOCAL_MACHINE,
"Software\Microsoft\Windows\CurrentVersion\Run", lRegKey
If lRegKey Then
RegSetValueEx lRegKey, sDesc, 0, 1, ByVal sFile, Len(sFile)
RegCloseKey lRegKey
End If
End Sub

Public Function DeleteAtStartup(ByVal strValue As String)
Dim keyhand As Long
Dim r As Long

On Error Resume Next
r = RegOpenKey(HKEY_LOCAL_MACHINE,
"Software\Microsoft\Windows\CurrentVersion\Run", keyhand)
r = RegDeleteValue(keyhand, strValue)
r = RegCloseKey(keyhand)
End Function

По второму вопросу реально работающих идей нет, кроме как запустить
программу как службу!

Удачи, Макс


* Origin: Demos online service (2:5020/400)

Re: Автозапуск программ

From: "Terekhin Alexandr" <didinst [@] rol.ru>


Доброго времени суток, Gribkov!
Wed, 22 Sep 2004 05:14:27 +0000 (UTC) Вы писали to Semen Arbit:

GM> По второму вопросу реально работающих идей нет, кроме как запустить

GM> программу как службу!

А если запустить несколько копий программы и следить за их сохранностью?
Если пользователь убивает одну из копий, вторая вновь её запускает.

А как пишутся службы? И что это даст?
--
____________________________________________________
Истина где-то рядом, Terekhin Alexandr. E-mail: didinst [@] rol.ru


* Origin: Алт (2:5020/400)

Видимость классов

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


Здравствуйте, All!

У меня в DLL два класса. Первый предназначен для общения с внешним миром.
Второй - собственно программа, и вызывается из первого. Можно так сделать,
чтобы второй класс был не виден за пределами DLL? Hо был виден первому
классу...

--
С уважением Hиколай Андрущенко


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Автозапуск программ

SA> Подскажите пожалуйста

SA> 1. Каим образом можно загрузить автоматически программу при включении

SA> компьютера (папку автозапуск не предлагать).

Из реестра.


SA> 2. И еще. Как воспрепятсивовать выгрузке прграммы через диспетчер

SA> задач. чтобы программа работала постоянно в фоновом режиме до

SA> выключения компьютера.

Делай перезагрузку в Unload ;)


SA> Задача - финансовый контроль за администраторами компьютерного клуба

SA> Программа пишет лог хронометража запущенных игр.

Хорошо хоть не пробег головки по винчестеру. :)


* Origin: 1134.moveax.ru (2:5045/44.13)

Автозапуск программ

Приветствую Вас, о All!

Подскажите пожалуйста
1. Каим образом можно загрузить автоматически программу (как сервис) при включении компьютера (папку автозапуск не предлагать).

Заранее благодарен.

С уважением,
Semen
22 сент 2004г. (ср) 07:31
* Origin: *** (2:4613/213.100)

Re: Автозапуск программ

Hello, Terekhin!
You wrote to <Gribkov M.N.>to Gribkov M.N. on 22 Sep 04 11:13:49:


TA> А как пишутся службы? И что это даст?

http://www.smsoft.ru/ru/ntservice.htm

* Origin: Now the bed had the spot! (2:5080/1003.16)

Re: Видимость классов

Hello, Андрущенко!
You wrote to <All>to All on 22 Sep 04 17:40:17:


АH> У меня в DLL два класса. Первый предназначен для общения с внешним

АH> миром. Второй - собственно программа, и вызывается из первого. Можно

АH> так сделать, чтобы второй класс был не виден за пределами DLL? Hо был

АH> виден первому классу...

Да, свойство класса Instancing выставь в "1 - Private"
* Origin: Bim bends Ben's broom. Bim's bends, Ben's bends. (2:5080/1003.16)