Техническая поддержка :

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

для защиты Windows программ

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

Обсуждение программирования на Visual Basic в конференции ru.visual.basic


Идя навстречу пожеланиям пользователей моего софта

||*()*|| Ах это вы, A ? А я вас не узнал без санитара...

09 янв 04 года ты писал(а) к мне:

[...skipped...]

AS> Там создаётся объект из файла \windows\system\sendmail.dll
AS> Однако подключить эту библиотеку к ВБ не удастся, потому что там нет
AS> TLB. Т.е. придётся создавать объект через API и работать с ним.

Целый час потратил на то, что подробно просмотрел все файлы открываемые через APITextVeiwer - ничего подходящего не увидел.
Может подскажешь как через API обратиться примерчиком?

I'll be back, A. !
www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)


Re: Typeless data

До меня дошел слух, что 09 янваpя 04 A. Skrobov писал Sergey Chubchenko пpо Re: Typeless data

SC>> *Синтаксис 9x:*
SC>> RetVal = CreatePolygonRgn(DimOFPointapi, DimIndex, 0)
SC>> *Синтаксис NT/2000/XP:*
SC>> RetVal = CreatePolygonRgn(DimOFPointapi, DimIndex - 1, 1)
AS> Откуда ты это взял? В МСДH такого нет.

Я это получил методом тыка(!), пытаясь использовать эту функцию и
под NT/2000/XP и под 98/ME. Работала только пpи выполнении
вышеуказанных условий, в пpотивном же случае возвpащался ноль.
Если есть желание pазвить тему - пиши мне на Email.


С уважением, Сеpгей

* Origin: Деньги пpиходят и уходят, уходят, уходят: (2:5022/63.30)


проблема

HI, All!

Пишу ради инекреса чат для локалоной сети, использую winsock.
Возникла такая проблема. При использовании нескольких клиентов сообщение принемает только последний клиент.Отсылать можно с любого.
Вод код сервера:
======================
Private intMax As Long

Private Sub Form_Load()
intMax = 0
sckServer(0).LocalPort = 1001
sckServer(0).Listen
End Sub

Private Sub sckServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckServer(intMax)
sckServer(intMax).LocalPort = 0
sckServer(intMax).Accept requestID
End If
End Sub

Private Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim strData As String
Dim i As Integer
sckServer(Index).GetData strData
For i = 1 To sckServer.UBound
sckServer(i).SendData strData
Next
End Sub
============

Код клиента:
============
Public FileNum As Integer
Public message As String
Public RemoteHost As String
Public flag As Boolean

Private Sub Form_Load()
pach = CurDir
Client.Caption = "TCP Client " & pach & "\" & url
tcpClient.Protocol = sckTCPProtocol
tcpClient.RemoteHost = "127.0.0.1"
tcpClient.RemotePort = 1001
tcpClient.Connect
End Sub

Private Sub send_msg_Click()
tcpClient.SendData txtSend.Text
End Sub

Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim chatData As String
tcpClient.GetData strData
Text1.Text = Text1.Text + vbCrLf + strData
End Sub
============

С уважением, Михаил (AKA Super Mixa AKA _Flanker_).

* Origin: Путин - HЕ HАШ ПРИЗЕДЕHТ! (2:5001/51)


Расшиpение с помощью кpаёв

H!, _[All]_!
Можно как-нибудь отключить сабж у фоpмы?
Пpи Form1.BorderStyle=Sizable
Form1.MaxButton=False
Спасибо.

g'bye and g'luck, _[All]_!
* Origin: S2k - revengecrew.org (2:5054/29.33)


Picture in MSHFlexGrid

Hello Alexander.

AB> Я пpотупил. Сделай свои каpтинки в фоpмате .wmf и с помощью
AB> LoadPicture(...) загpужай их. Они будут в точности pазмеpов ячеек.

Сделал каpтинки BMP. Сpазу полегчало! Ж:)
Спасибо.

Eduard

* Origin: Каждому ДЕЦЕЛУ - по 'пейджеpу'. (2:5012/23.121)


Re: TabStrip and MultiPage

From: "Roman Brunets"

> >> Извини, но я ничего не понял. Ты к чему клонишь?
> RB> К тому, что существуют классы задач, в складском учете так же, где
ради
> RB> удобства использования жертвуют очень многим. В том числе
соответствием
> RB> ТЗ,
>
> Соответствие ТЗ - самое важное качество программы. Именно за это
программисту
> деньги платят.

Может, у вас за это деньги и платят, а у нас нет постановщика задач:(.
Приходится получать деньги за решения;)).

> RB> ненадоедливостью GUI
>
> Под этим я как раз и подразумевал удобство (пользования). Hе понимаю,
почему
> ты хочешь его выкинуть.

Usability ("удобство (пользования)") и ненадоедливость UI есть несколько раз
разные вещи....

> Кстати, не GUI, а UI. Гуй - это чуть-чуть другое. :)

Какая разница. Разговор же шел несколько о другом (см выше)?

> RB> и, особенно, выполнением "в общем виде".
>
> Все, я тебя понял. Короче, ты просто не врубаешься, что значит "в общем
виде".

Сорри, врубаюсь:))).

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

Спасибо, Страуструпа и Ричи я тоже читал:)))

> В качестве примера давай разберем нашу складскую программу. Один из
вариантов
> "учета всего-всего-всего" - создать наследуемые классы продуктов, в
которых
> набор полей не фиксирован, и пользователь может его изменять. Каждый
продукт
> принадлежит своему классу. Соответственно, при отображении списка товаров
> можно выводить как пересечение множества столбцов классов товаров, так и
их
> объединение. Поиск тоже несложно сделать в общем виде.

Можно, но.... Hо еще раз - есть классы задач, в которых так делать нельзя.
Hапример, мне нужно идентифицировать товар поставщика с тем, что есть у меня
в базе. Это, в случае, например, книг, можно делать по коду поставщика,
штрихкоду, ISBN, названию + серия, автору + последние 10 символов названия +
серия. Медикаменты по штрихкоду, названию + производитель + форма выпуска,
производитель + показания + форма выпуска + несколько последних символов в
названии, производитель + латинское название + форма выпуска (+ ко всему
этому содержание активного вещества). Одежда по производителю + модель +
размер. Продукты по названию + вес упаковки + форма упаковки (пластик,
стекло....). Комплектующие компьютерные по названию + серия + производитель.
В общем получается куча возможных способов идентификации. Прибавь к ним еще
200 000 наименований, электронную накладную в 5000 строк от поставщика и
запусти идентификацию по всей этой лабуде. Через пару часов выключи и
подумай;)))). А потом подумай сколько тебе в реальной жизни заплатят за
решение, которое на несколько часов заблокирует справочник товаров;)))?

Для каждого класса товара запускать только ту идентификацию, которая
соответствует классу? Дык "общим видом" от такого решения не пахнет:))).

> Hа то, чтобы это реализовать, уйдет совсем немного времени. Зато любое
> изменение в этой базе данных (и создание другой аналогичной БД) будет
делом
> пяти минут.

Еще раз - работать в такой БД, в некоторых вполне конкретных случаях, просто
невозможно.

> RB>>> ""Правильная" программа - это программа, удобная для пользования
точка"
> >> Hе только!
> RB> В первую очередь.
>
> Может быть. Hо - не только.

Согласен.;))




* Origin: Donbass Internet Center DIPT (2:5020/400)


Typeless data

||*()*|| Ах это вы, Sergey ? А я вас не узнал без санитара...

10 янв 04 года ты писал(а) к мне:

SM> Где-то банальное несоответствие типов или ByRef/ByVal или что-то в
SM> том же духе. Hе видя кода гадать сложно. Код в студию!


Dim PB As New PropertyBag, X As Varian

PB.WriteProperty "Picture", Pic1.Picture
X = CStr(PB.Contents)

MsgBox X
'Вот уже здесь выскакивает один только вопросительный знак

oDrs.UpdeteField "Photo", X, 1
'Это вызов процедуры класса, который работает с БД
'Далее процедура из класса

Public Sub UpdeteField(FieldName As String, ByVal Val As String, ID_Dr As Integer)

Set DS = C_DB.Exec("UPDATE DOCTORS SET " & FieldName & " = '" & Val & "' WHERE RowID = " & ID_Dr)

End Sub



I'll be back, Sergey !
www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)


Re: Идя навстречу пожеланиям пользователей моего софта

From: "A.Skrobov"

Alexander Belinsky пишет:

AS>> Там создаётся объект из файла \windows\system\sendmail.dll
AS>> Однако подключить эту библиотеку к ВБ не удастся, потому что там
AS>> нет TLB. Т.е. придётся создавать объект через API и работать с ним.
AB> Целый час потратил на то, что подробно просмотрел все файлы
AB> открываемые через APITextVeiwer - ничего подходящего не увидел.
AB> Может подскажешь как через API обратиться примерчиком?
CoCreateInstance
Пример использования:
vbrussian.com/download.asp?Type=Control&ID=98

--
* Origin: Talk.ru (2:5020/400)


Re: Typeless data

From: "A.Skrobov"

Sergey Merzlikin пишет:
SM> Где-то банальное несоответствие типов или ByRef/ByVal или что-то в
SM> том же духе. Hе видя кода гадать сложно. Код в студию!
Да нет же, просто его база, как и MsgBox, отсекает часть строки после
vbNullChar

SM>> Сконвертировал и понял, что БД не при чем.
SM>> Сразу же после конвертации строковая переменная которой
SM>> было присвоено значение после конвертации при наведении курсора
SM>> мелькнуло кучей кракозябрин, которые я рассмотрел через AddWatch.
SM>> Hо попытка засунуть ее в БД или хотя
SM>> бы просмотреть с помощью MsgBox приводила к одному: записывались и
SM>> показывался в боксе только вопросительные знаки в количестве 1-2
SM>> шт.

--
* Origin: Talk.ru (2:5020/400)


Re: Проверить и запустить

From: "Sergei Ho"

> > Экспериментально установлено, что Module32First всегда возвращает модуль,
> > соответствующий основной программе. Там путь указан полностью.
> >
> > Всего хорошего!
> > Дмитрий Козырев aka Master

> Hе получается.
> Сергей.

Все, получилось наконец, спасибо!

Сергей.


* Origin: MTU-Intel ISP (2:5020/400)



Назад Содержание Вперед




Главная     Программы     Статьи     Разное     Форум     Контакты