Страница: 1 | 2 | 3 |
Вопрос: Помогите с API в VB2005 Express или где скач VB 6
Добавлено: 02.10.06 19:46
Автор вопроса: dimon
Ответы
Всего ответов: 36
Номер ответа: 16
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #16
Добавлено: 03.10.06 17:47
2 dimon Ладно, забей Я сам... Все сделаю согласно т/з, от тебя работа на уровне входных параметров функции и их результатам...
т.е.
Private Type Carti
'продумает структуру карт
End type
Public Sub ПолучитьКуртыВПасьнсе () as Carti
...
тут я сам
и возвращу структуру которая содержим данные о текущих картах
End Sub
Демопримеры прилагаются
Номер ответа: 17
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #17
Добавлено: 03.10.06 19:20
Да забил уже, но задело как-то- просишь помощи, а получаешь пинки
какие-то.
Вставили-бы нужные строчки, получили спасибо и все ок.
Номер ответа: 18
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #18
Добавлено: 03.10.06 19:32
Да понимаю, хотя не все пинают... На этом форуме много хороших людей. Главное проявлять желание и активность, а технические тонкости и прочее непонятки, здесь решат и объяснять. Вливайся на форум, тусуйся с нами
Номер ответа: 19
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #19
Добавлено: 03.10.06 20:03
dimon
Да и сразу непонятно что ты "чайник".
Кто на .NET перелазит - все чайники. Хотя на 6 спецы. Я так и подумал.
Вот HACKER в .NET тоже чайник, а в 6 спец.
Номер ответа: 20
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #20
Добавлено: 03.10.06 20:50
Номер ответа: 21
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #21
Добавлено: 03.10.06 20:54
какие-то.
Попробую помочь...
Номер ответа: 22
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #22
Добавлено: 03.10.06 21:29
Option Explicit On
Friend Class Form1
Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Integer) As Integer
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Integer, ByVal yPoint As Integer) As Integer
Dim x As Integer
Dim y As Integer
Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
Dim pos As POINTAPI
Dim s, hW, hD As Integer
Private Sub Form1_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
x = pos.x
y = pos.y
TextBox1.Text = x & " , " & y
hW = WindowFromPoint(x,y)
hD = GetDC(Me.Handle.ToInt32) 'работает
s = GetPixel(hW, x, y)
TextBox2.Text = CStr(s)
End Sub
End Class
Option Explicit On
Public Class Form1
Dim returnValue As String
Dim x As Integer
Dim y As Integer
Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
Dim HdcScreen As Integer
Dim pos As POINTAPI
Dim n As Long = 0
Dim returnVal As Integer
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
GetCursorPos(pos)
HdcScreen = GetDC(Me.Handle.ToInt32) 'пишет, что ошибка
x = pos.x
y = pos.y
TextBox1.Text = x & " , " & y
returnVal = GetPixel(HdcScreen, x, y)
TextBox2.Text = returnVal.ToString
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End
End Sub
End Class
Номер ответа: 23
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #23
Добавлено: 03.10.06 21:36
Вообще на С# просто.
public static extern uint GetDC(uint hwnd);
_hDC = GetDC(_hwnd);
Возможно не приведен к правильному типу (uint)?
Номер ответа: 24
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #24
Добавлено: 03.10.06 21:48
long в .NET - Signed 64-bit integer
Это к тому, что
Номер ответа: 25
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #25
Добавлено: 03.10.06 22:46
А... Точно, спасибо, vito!
Ну что ж, автор, сделали мы твоё задание. Удаляй всё, что у тебя было и вставляй это
Friend Class Form1
Dim x As Integer
Dim y As Integer
Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Integer) As Integer
Public Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
Private Declare Function GetDesktopWindow Lib "user32" () As Integer
Dim HdcScreen As Integer
Dim pos As POINTAPI
Dim returnColor As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
HdcScreen = GetWindowDC(GetDesktopWindow)
GetCursorPos(pos)
x = pos.x
y = pos.y
TextBox1.Text = x & " , " & y
returnColor = GetPixel(HdcScreen, x, y)
TextBox2.Text = returnColor.ToString
End Sub
End Class
Ох, по-мойму от твоего исходного кода, что ты привёл ничего не осталось-то ...
Работа сделана?
Магарыч?...
Номер ответа: 26
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #26
Добавлено: 04.10.06 00:35
Ох, по-мойму от твоего исходного кода, что ты привёл ничего не осталось-то ...
Это точно.
Заработало!!! правда таймер по умолчанию был выключен, хотел уже вам шпильку воткнуть- мол профи, а не работает. Но сам разобрался за часок -)).
Спасибо за помощь.
Приедете в Волгоград- заходите; магарыч будет.-))
Работа сделана? Нууу по №9 сделана ))
Ну не буду вас больше домогать, HACKER обещал помочь по всему проекту. Правда на VB6.
Отсюда одна загвоздка- сам интерпретатор VB6 не могу найти. Может подскажите рабочую ссылку?
Номер ответа: 27
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #27
Добавлено: 04.10.06 01:31
dimon
Еще...
Смотря какая у тебя цель. Если просто получить прогу и забыть, то 6- ка.
Если решил вернуться в программирование, то только .NET.
6 - мертва. MS 6-ку больше не поддерживает. В общем прошлое. Вроде того басика с которого начинал.
Потому подумай стоит ли на 6 -ке?
Сейчас его роль - действительно учебного языка. Хотя, ИМХО, учиться на нем... переучиваться сложнее.
HACKER, не обижайся. 20 тугриков конечно деньги... На пиво. Но тебе тоже давно пора на .NET переезжать. А то и так уже отстал, а потом вообще не догонишь.
А насчет ссылки. Это к HACKER'y. Где - нить валяется.
Номер ответа: 28
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #28
Добавлено: 04.10.06 02:44
а ассембер поддерживают? ))) а то учу в универа его щас, может стоит прогуливать?
Номер ответа: 29
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #29
Добавлено: 04.10.06 02:47
HACKER
Ассемблер знать обязан.
Поддерживают. В С++. В виде вставок.
Без асма некоторые задачи не решить.
Номер ответа: 30
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #30
Добавлено: 04.10.06 10:31
Ворачиватся в программирование поздновато, 35 уже, голова уже не так варит-))) (если серьезно, то на самом деле- в новое врубиться стало гораздо сложнее, чем в 20-25). Опять же- работа, проблемы и т.д.-просто времени недостаточно.
Да и задача у меня для как раз для того, старого басика.
Это как выкопать ямку для саженца экскаватором. Лопату хачу!!! -))
В следущий раз обращусь к программированию, когда опять что-нибудь понадобится.
Кстати, лазия по ВБшным форумам видел очень много вопросов где найти русскую МСДН. Если у вас тоже есть эта проблема, то вот ссылка: http://msdn.microsoft.com/library/rus/
Еще раз спасибо всем.