Обсуждение программирования на 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) |