Y hay gente que dice que no hacen falta moderadores
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
Option Explicit
Public vX As Currency, vY As Currency
Public Sub SacarEcuacion(Line1 As Line, Line2 As Line)
Dim Ecs(1) As String, i As Integer
Dim Pendiente As Currency, Nominador As Currency, Denominador As Currency
Dim X1 As Currency, Y1 As Currency, X2 As Currency, Y2 As Currency
For i = 0 To 1
If i = 0 Then
X1 = Line1.X1: X2 = Line1.X2: Y1 = Line1.Y1: Y2 = Line1.Y2
Else
X1 = Line2.X1: X2 = Line2.X2: Y1 = Line2.Y1: Y2 = Line2.Y2
End If
Nominador = Y2 - Y1
Denominador = X2 - X1
Pendiente = Nominador / Denominador
Ecs(i) = Pendiente & ".X +" & (Pendiente * -X2) + Y2
Next i
Interseccion Ecs(0), Ecs(1)
End Sub
Public Sub Interseccion(Ec1 As String, Ec2 As String)
Dim P(1) As String, Q(1) As String, J(4) As Currency
Dim Punto As Integer
P(0) = Mid(Ec1, 1, InStr(1, Ec1, ".") - 1)
Punto = InStr(1, P(0), "/")
If Punto > 0 Then
If Left(P(0), 1) = "-" Then Punto = Punto + 1
J(0) = Val(Mid(P(0), 1, Punto)) / Val(Mid(P(0), Punto))
Else
J(0) = P(0)
End If
P(1) = Mid(Ec2, 1, InStr(1, Ec2, ".") - 1)
Punto = InStr(1, P(0), "/")
If Punto > 0 Then
If Left(P(1), 1) = "-" Then Punto = Punto + 1
J(1) = -Val(Mid(P(1), 1, Punto)) / Val(Mid(P(1), Punto))
Else
J(1) = -P(1)
End If
Q(0) = Mid(Ec1, InStr(1, Ec1, "+") + 1)
Punto = InStr(1, Q(0), "/")
If Punto > 0 Then
If Left(P(0), 1) = "-" Then Punto = Punto + 1
J(2) = -Val(Mid(Q(0), 1, Punto)) / Val(Mid(Q(0), Punto))
Else
J(2) = -Q(0)
End If
Q(1) = Mid(Ec2, InStr(1, Ec2, "+") + 1)
Punto = InStr(1, Q(1), "/")
If Punto > 0 Then
If Left(P(0), 1) = "-" Then Punto = Punto + 1
J(3) = Val(Mid(Q(1), 1, Punto)) / Val(Mid(Q(1), Punto))
Else
J(3) = Q(1)
End If
vX = (J(2) + J(3)) / (J(0) + J(1))
vY = Cuenta(Ec1, vX)
End Sub
Public Function Cuenta(Ecuacion As String, X As Currency) As Currency
Dim P(1) As Currency, Punto As Integer
Punto = InStr(1, Ecuacion, ".")
P(0) = Fraccion(Mid(Ecuacion, 1, Punto - 1)) * Fraccion(X)
P(1) = P(0) + Val(Fraccion(Mid(Ecuacion, Punto + 4)))
Cuenta = P(1)
End Function
Public Function Fraccion(n As Currency) As String
Dim Punto As Integer
Punto = InStr(1, n, "/")
If Punto > 0 Then
Fraccion = Val(Mid(n, 1, Punto - 1)) / Val(Mid(n, Punto + 1))
Else
Fraccion = n
End If
End Function
SacarEcuacion Line1, Line2
Picture1.Move vX, vY 'aca ponemos un picturebox en la interseccion
If KeyAscii = 13 Then '13 es el enter...
Label1.Visible = True 'Hacer lo que quieras
End If
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
'Podes usar constantes para las letras dandoles su valor en ASCII, por ej la letra A seria 65
VK_A = 65
VK_b = 98
Private sub Timer1_Timer ()
keybd_event VK_A, 0, 0, 0 'apretas A
keybd_event VK_A, 0, KEYEVENTF_KEYUP, 0 ' soltas A
keybd_event VK_b, 0, 0, 0 ' apretas b
keybd_event VK_b, 0, KEYEVENTF_KEYUP, 0 ' soltas b
End Sub
C:\Documents and Settings\USUARIO\Configuración local\Historial