Visual Basic 6.0 - Идя навстречу пожеланиям пользователей моего софта
Идя навстречу пожеланиям пользователей моего софта
||*()*|| Ах это вы, A ? А я вас не узнал без санитара...
09 янв 04 года ты писал(а) к мне:
[...skipped...]
AS> Там создаётся объект из файла \windows\system\sendmail.dll
AS> Однако подключить эту библиотеку к ВБ не удастся, потому что там нет
AS> TLB. Т.е. придётся создавать объект через API и работать с ним.
Целый час потратил на то, что подробно просмотрел все файлы открываемые через APITextVeiwer - ничего подходящего не увидел.
Может подскажешь как через API обратиться примерчиком?
I'll be back, A. !
http://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 - http://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" <postmaster [@] hbook.donetsk.ua>
> >> Извини, но я ничего не понял. Ты к чему клонишь?
> 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 !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.
* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)
Re: Идя навстречу пожеланиям пользователей моего софта
From: "A.Skrobov" <tyomitch [@] r66.ru>
Alexander Belinsky пишет:
AS>> Там создаётся объект из файла \windows\system\sendmail.dll
AS>> Однако подключить эту библиотеку к ВБ не удастся, потому что там
AS>> нет TLB. Т.е. придётся создавать объект через API и работать с ним.
AB> Целый час потратил на то, что подробно просмотрел все файлы
AB> открываемые через APITextVeiwer - ничего подходящего не увидел.
AB> Может подскажешь как через API обратиться примерчиком?
CoCreateInstance
Пример использования:
http://vbrussian.com/download.asp?Type=Control&ID=98
--
* Origin: Talk.ru (2:5020/400)
Re: Typeless data
From: "A.Skrobov" <tyomitch [@] r66.ru>
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" <calendarman [@] mtu-net.ru>
> > Экспериментально установлено, что Module32First всегда возвращает модуль,
> > соответствующий основной программе. Там путь указан полностью.
> >
> > Всего хорошего!
> > Дмитрий Козырев aka Master
> Hе получается.
> Сергей.
Все, получилось наконец, спасибо!
Сергей.
* Origin: MTU-Intel ISP (2:5020/400)