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

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

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

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

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


Re: Кавычки

From: Alexander Trishin

Sergey Broudkov wrote on Mon, 27 Oct 2003 17:31:11 +0000 (UTC):

> Hello, Sergey!
> You wrote to Roman Yuakovlev on Mon, 27 Oct 2003 17:17:22 +0000 (UTC):
>
> RY>> Для пары чисел, причем с частым преобразованием лучше (и грамотнее) c
> RY>> = cstr(a) + " долларов в час" чем с = a & " долларов в час". А вообще
> RY>> - дела вкуса, но так, как я написал - правильнее. ;)
>
> SB> Правильнее написать c = CStr(a) & "долларов в час"
>
> Снимаю свое заявление, Alexander Trishin меня переубедил.

Это собственно не было моей целью ;) "Правильность" каждый для себя решает
сам. Я бы не сказал что + правильнее чем &, или наоборот. Главный тормоз в
процессе конкатенации - перераспределение памяти, а не работа со
строкой/вариантом.

Hу и статья по распределению памяти
support.microsoft.com/?id=170964


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


Re: Тупею

From: "Dmitry Viazowkin"

Hi All!

> AB> Hапомните, плз, как пользоваться функцией Format?
> AB> Программка от внешней библиотеки получает дату формата
> AB> "Tue, 21 Oct 2003 21:43:36 +0600"
> AB> Как ее преобразовать в dd.mm.yy hh.mm.ss ?
>
> Парсить ручками (либо прикрутить сишную sscanf). Format, afaik, умеет только в
> строку переводить.

Что-то мне подсказывает, что это строка - датавремя в Internet-формате. Если
true then сначала InternetTimeToSystemTime, затем SystemTimeToVariantTime, а
затем уж Format

--
With best regards
Dmitry Viazowkin


* Origin: Me? Organized??? (2:5020/400)


Re: добавление записей в регет

From: "Mihail Borisov"

Mon Oct 27 2003 16:32, Dmitriy Kozyrev wrote to Mihail Borisov:

MB>>>> Скажите где можно почитать за Subj
MB>>>> или подскажите как это можно сделать из программы на VB.
IE>>> Reget это качалка чтоль? Закачки хочешь добавлять из програмы?
IE>>> Поподроднее плиз.
MB>> Регет имелось в виду реестр.

DK> Дэржи.

Спасибо буду разбираться.

* Origin: FidoNet Online (2:5020/400)


Re: добавление записей в регет

From: "Igor Evgrafov"

Hello, Mihail!
You wrote to Igor Evgrafov on Mon, 27 Oct 2003 13:56:20 +0000 (UTC):

MB>>> Скажите где можно почитать за Subj
MB>>> или подскажите как это можно сделать из программы на VB.

IE>> Reget это качалка чтоль? Закачки хочешь добавлять из програмы?
IE>> Поподроднее плиз.

MB> Регет имелось в виду реестр.

Hу у тебя, блин, и сленг %)

- ---
With best regards, Igor Evgrafov.


* Origin: Cronyx Plus ISP (2:5020/400)


Re: ? по FlexGrid

"Igor Kagitin" сообщил/сообщила в
новостях следующее: news:MSGID_2=3A5055=2F159_3f986a0d [@] fidonet.org...
> Привет All!
>
> Сабж
> Как отследить нажатие кнопкой мыши на FixedRows? Хочется сделать
сортировку по
> полям через rs.sort
>
> Igor.

В свое время проскакивал пример. Вроде то, что тебе надо. В Примере форма
Main.frm c MSFlexGrid и модуль Handlers.bas.

''''' Main.frm

Option Explicit
' This constant is used to refer to the Message Handling function in a given
window
Private Const GWL_WNDPROC = (-4)

Private Sub Form_Load()

'Save the address of the existing Message Handler
g_lngDefaultHandler = GetWindowLong(Me.MSFlexGrid1.hwnd, GWL_WNDPROC)

'Define new message handler routine
Call SetWindowLong(Me.MSFlexGrid1.hwnd, GWL_WNDPROC, AddressOf
GridMessage)

End Sub
Private Sub Form_Unload(Cancel As Integer)

'Return the old handler back
Call SetWindowLong(Me.MSFlexGrid1.hwnd, GWL_WNDPROC,
g_lngDefaultHandler)

End Sub

'''''' Handlers.bas

Option Explicit

Public g_lngDefaultHandler As Long ' Original handler of the grid events
Private m_bLMousePressed As Boolean 'true if the left button is pressed
Private m_bLMouseClicked As Boolean 'true just after the click (i.e. just
after the left button is released)

'API declarations
============================================================
' Function to retrieve the address of the current Message-Handling routine
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal
hwnd As Long, ByVal nIndex As Long) As Long
' Function to define the address of the Message-Handling routine
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal
hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
' Function to execute a function residing at a specific memory address
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal
lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam
As Long, ByVal lParam As Long) As Long

'Windows messages constants
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_ERASEBKGND = &H14
'===========================================================================
===

'this is our event handler
Public Function GridMessage(ByVal hwnd As Long, ByVal Msg As Long, ByVal wp
As Long, ByVal lp As Long) As Long

If m_bLMousePressed And Msg = WM_LBUTTONUP Then
'button have been just released
m_bLMousePressed = False
m_bLMouseClicked = True
End If

If Not (m_bLMousePressed) And Msg = WM_LBUTTONDOWN Then
'button have been just pressed
m_bLMousePressed = True
m_bLMouseClicked = False
End If

If m_bLMouseClicked And (Msg = WM_ERASEBKGND) Then
'Only when resize happens this event may occur after releasing the
button !
'When user is making a simple click on grid,
'the WM_ERASEBKGND event occurs before WM_LBUTTONUP,
'and therefore will not be handled there

Debug.Print "Grid message: ", "Resized !" 'TO DO: Replace this
futile code
'with something usefull

m_bLMouseClicked = False

End If

'call the default message handler
GridMessage = CallWindowProc(g_lngDefaultHandler, hwnd, Msg, wp, lp)

End Function



* Origin: Zenon N.S.P. news server (2:5020/52.0)


Re: I need help

Мы где-то виделись, Alex_Chernyshov?

28 Oct 03 00:16:52 в RU.VISUAL.BASIC Alex_Chernyshov -> All:

AC> Что лучше сделать - поправить exe-шник или написать прогу, которая будет

Второе.

AC> на лету менять выводимую оценку(если это возможно)?

Возможно. В чем выводится оценка - в TextBox или Label?

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)


Re: ? по FlexGrid

Мы где-то виделись, Pavlov?

28 Oct 03 09:20:16 в RU.VISUAL.BASIC Pavlov Andrey -> All:

>> Как отследить нажатие кнопкой мыши на FixedRows? Хочется сделать сортировку
>> по полям через rs.sort
PA> В свое время проскакивал пример. Вроде то, что тебе надо. В Примере форма
PA> Main.frm c MSFlexGrid и модуль Handlers.bas.

Реальные пасаны сабклассинг через MsgHook делают. ;)

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)


добавление записей в регет

>\/

MB>> Скажите где можно почитать за Subj
MB>> или подскажите как это можно сделать из программы на VB.
DK> ReGet или Registry? ;)
DK> Если второе - могу поделиться своим чудо-классом. ;)
open "system.dat" for binary ? ;)))


ps. У кого тот исходник остался? :)

>/\
* Origin: Attackie Interactive (2:5045/44.13)


Кавычки

>\/

RY>> + - сложение, применяется для элементов одинаковых типов,
DK> Hифига подобного. Байт с даблом оно глотает и не морщится.
Так и знал, что по этой части пристанут. ;)


RY>> & - коннектация,
DK> Кон-ка-те-на-ция. Hе можешь выговорить это слово - говори "слияние".
& - слияние.


RY>> сложение выполняется БЫСТРЕЕ, ибо при коннектации (или
RY>> как ее там, блин, слово то какое), все элементы сначала
RY>> переводятся в Variant и возвращает оно тоже variant.
DK> Variant? А разве не String?
Дополнительные сведения [vb5.hlp]

Если выражение не содержит строковое значение, то оно преобразуется к подтипу String типа Variant. Если оба операнда являются строковыми выражениями, то результат имеет тип данных String; в противном случае результат принадлежит к подтипу String типа Variant. Если оба операнда является выражением со значением Null, результат имеет значение Null. Однако если значение Null имеет только одно выражение, то при слиянии с другим операндом этот операнд. рассматривается как пустая строка (""). Любой операнд со значением Empty также рассматривается как пустая строка.

Что есть подтип String типа Вариант? Hоворусский стринг? ;)


DK> P.S. А насчет стилистических предпочтений я согласен с Сергеем.
Hу это не значит, что так правильнее. ;)


>/\
* Origin: Attackie Interactive (2:5045/44.13)


Кавычки

>\/

DK>> Кон-ка-те-на-ция. Hе можешь выговорить это слово - говори
DK>> "слияние".
AS> В словаре написано "сцепление", это имхо корректнее.
в vb5.hlp (рус), написано "слияние", и не разу ни кон-ка-те-нации, ни сцепления.


>/\
* Origin: Attackie Interactive (2:5045/44.13)



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




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