Поиск

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Поиск

Сообщение SmarT » 20.10.2003 (Пн) 6:52

В топике про Tab (его закрыли, поэтому пишу тут) было написано что поиск не работает. Так вот господа, я тож раньше думал что на всех форумах вроде этого поиск не пашет. Это не правда :). Вощем так, если надо че-то найти надо писать так:

Что искать: *строка поиска*
Автор: либо ниче, либо *.

Надеюсь кому-то это поможет, админы, можете включить в фак или сделать топик вседа сверху :).
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:28

:?
Товарищ, скажи "гвоздика"...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 8:31

гвоздика :)
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:36

Не 3.14зди-ка, товарищ! (c)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 8:38

мля, я не понимаю, те собсно че надо? :).
кстати, как в мирку дллы на вб вставлять?
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:41

Мне, собсно, не надо ни фига. Но описанный тобой способ не работает, ибо если бы работал, до него бы давно додумались. У нас с кодировками проблема, а не с астериксами.
Второй вопрос не понял.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 8:45

1. способ работает. для примера просто вставь в поиск следующее без кавычек:
"*dll*"
автора пустым оставь.
2. Есть длла на вб сделанная, так вот чтоб она шла я пишу
Код: Выделить всё
Dim h1 As New Class1
MsgBox h1.GetName("Fdsf")

А в мирке нельзя указывать New, как сделать чтоб шло без него?
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:51

Хе-хе-хе, батенька, в том и фишка, что английский текст ищется, а русский нет. Я же говорю, с кодировками проблема.

Что есть мирка?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 8:53

mIRC
Это типа чата, но там можно вызовы длл вставлять. Так мона так сделать или нет?
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:55

Ну попробуй через createobject
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 8:58

Аааа...
RTFM!
Запускай хэлп, тыкай вкладку search, набирай DLL, топик называется DLL Support. Читай его, а также ссылку на топик Com objects.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 9:02

а ты не знаешь? там много написано а по делу не могу найти...что за ком? если у мя длл?
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 9:07

Я не знаком со скриптом мирки. Я проосто запустил её и открыл хэлп. Советую делать это в подобных ситуациях. Там всё описано. Внимательно читай COM objects, особенно пример, где создаётся объект Excel.application. Инстанс твоей библы будет создаваться точно так же.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 9:19

мля, я ваще не втыкаю че там писано...ты мож понять?
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 9:48

Первый и последний раз :evil:

COM Objects

mIRC позволяет тебе (да, да, тебе) вызывать объекты COM через свой скрипт. Ты (ты!) должен уметь работать с объектами COM, чтобы заюзать эту фичу.

/comopen name progid
Эта команда открывает соединение COM с объектом progid, к примеру, с Excel.Application, и даёт имя этому соединению.

После этого вызова нужно проверить, что находится в $comerr, дабы убедиться, что соединение успешно установлено.

/comclose name
Эта команда закрывает установленное ранее соединение.

/comreg -u filename
Эта команда регистрирует COM DLL в виндах или удаляет регистрацию.

example {
comopen name progid

; если comopen сдулся, есть вероятность, что DLL не зарегистрирована
if ($comerr) {

;так зарегистрируем её
comreg test.dll

;и снова попытаемся открыть
comopen name progid

;если опять облом, выходим
if ($comerr) halt
}
}

$comerr
Эту фиговину нужно проверять после каждого вызова команды COM. В ней обретается адын, если была ошибка, и 0, если оной не было.

$com(name,member,method,type1,value1,...,typeN,valueN)
Сие есть вызов члена открытого соединения COM - указываем метоод и параметры.

name - имя соединения.

member - имя члена.

method - комбинация из следующих констант:
1 = DISPATCH_METHOD
2 = DISPATCH_PROPERTYGET
4 = DISPATCH_PROPERTYPUT
8 = DISPATCH_PROPERTYPUTREF

type - тип переменной, возможные значения: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.

Эквиваленты из VB: boolean, byte, currency, date, double, integer, long, single, string, variant.

Чтобы передать переменную по ссылку, юзай * в имени типа, например, i1*

Чтобы назначить имя переменной, допиши его после типа, например. i1* varname

Когда юзаешь variant, нужно также указать её подтип, к примеру, variant bool.

value - значение передаваемое.

Возвращает: 1 = ok, 0 = упс.

После открытия соединения COM или вызова $com() можно юзать следующие формы $com():

$com(name/N)
Возвращает имя соединения (если открыто), или имя энного соединения. При N = 0 возвращает количество открытых соединений.

Свойства: progid, dispatch, unknown, result, error, errortext, argerr

progid - Имя объекта.

result - значение, возвращённое членом объекта COM после вызова.

error - значение ошибки, если она была.

errortext - описание ошибки.

argerr - Nый аргумент, который вызвал ошибку, если ошибка вызвана неверным типом переменной.

$com(name/N,varname)
Возвращает значение, соответствующее имени переменной.

Пример
Следующий скрипт - прорстой пример, соединяющийся с экселем и изменяющий значение проперти visible.

excel {
comopen excel Excel.Application

if ($comerr) {
echo comopen failed
halt
}

; проверим, видимо ли окно экселя

if ($com(excel,Visible,3) == 0) {
echo $com failed
goto finish
}

echo Visible: $com(excel).result

; сделаем видимым

if ($com(excel,Visible,5,i4,1) == 0) {
echo $com failed
goto finish
}

; снова проверим видимость

if ($com(excel,Visible,3) == 0) {
echo $com failed
goto finish
}

echo Visible: $com(excel).result

:finish
comclose excel
}
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 9:56

огромное спасиба за труды, но я не просил переводить :/. Я понимаю по аглицки :). Я сути не понял, пусть напишут мне как мне свою дллу заюзать и какое у ней имя будет итд.
Вот смотри, моя длла, очень проста:
Код: Выделить всё
Private Function GetName(nameof As String)
GetName = "[[[<<<"
For i = 1 To Len(nameof)
    GetName = GetName & "[" & Mid(nameof, i, 1) & "]"
Next i
GetName = GetName & ">>>]]]"
End Function

Все. Теперь я ее вызываю в обычном приложении так:
Код: Выделить всё
Dim h1 As New mircName.Class1
MsgBox h1.GetName("Fdsf")

Так как мне сделать чтоб эта единственная функция получения имени работала в мирке!?. Я не работал с ком и ваще не врубаюсь... Помогите плииииииииииииииииииииизз...
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.10.2003 (Пн) 10:08

Ну ёлки зелёные...
Ну написано же всё подробно...
Смотри пример...

Во-первых, нельзя вызвать извне private функцию. А можно public.
Во-вторых, Ты (ты!) должен уметь работать с объектами COM, чтобы заюзать эту фичу.


comopen DLL ProjectName.Classname
com$(DLL,GetName,1,string,"name")
ReturnedValue=com$(DLL).result
comclose DLL
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 10:37

блин, не работает ниче. вот моя длла, может попробуешь, у тя-ж мирка есть? оба научимся совместно?
Вложения
mircName.zip
вот
(3.41 Кб) Скачиваний: 37
http://smarticq.net - Все про и для ICQ.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.10.2003 (Пн) 10:54

все ок, ОГРОМНЕЙШИЙ пасиб, все заработало!
http://smarticq.net - Все про и для ICQ.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList