Menú

Mostrar Mensajes

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ú

Mensajes - BlackZeroX

#121
Cita de: Barugasu en  7 Abril 2013, 08:49 AM
Tienes qué analizar primero las 2 computadoras.

¿Ambas tienen instalado y registrado corréctamente el componente MSWINSCK.ocx?

Si es así, entonces programar la aplicación en VB no debe ser problema.

Ahora, ¿qué pasa si las computadoras no cuentan con el MSWINSCK.ocx?

No importa, el CSocketMaster es un buen sustituto del Winsock y no tienes que tenerlo registrado en las computadoras, basta con añadirlos al proyecto de la aplicación.

Una vez que analizaste la situación de ambas computadoras.. ¡NO! Todavía no vamos a programar nada. Es más importante que instales todo lo que vas a necesitar, y con esto me refiero a instalar el servidor, el MySQL y demás.

Aquí hay unos 4 pasos que el autor te recomienda seguir, ya para "dejar lista" la parte técnica y luego ponernos a programar.

http://www.vertutoriales.com/index.php/conectar-visual-basic-6-vb6-con-mysql-pasos-previos-de-configuracion-para-eludir-problemas-o-errores/

Cuando termines esos pasos, regresa y avanzamos más en el tema.

Saludos. Barugasu.

PD: Por cierto, en el paso número 1, donde dice que configures tu base de datos para que se pueda acceder "desde el exterior" y no desde el localhost, se refiere a que lo configures todo en base a tu IP pública.

En una aplicación que interactua con la BDD (ya sea local o en red) no es necesario  MSWINSCK.ocx ni mucho menos
CSocketMaster.cls...

Solo se requiere el Motor de la BDD y el Conector ODBC... y sin mencionar saber ADO para poderlo implementar por lo tanto TCP/IP no es necesario... el conector se encargaría de la capa de transmisión sin que nos enrollemos con dicha capa...

Dulces Lunas!¡.
#122
Para realizar eso y no implementar otros componentes en tu aplicación debes usar ODBC... Crea tu aplicación normalmente, como si la BDD estuviese en la misma maquina que la aplicación que desarrollas, después lo único que debes hacer es que tanto el cliente y el servidor NO se comuniquen directamente al menos que necesites instrucciones ajenas a SQL o referentes a la BDD, si que las dos aplicaciones que estas desarrollando se conecten a la BDD, ahora bien si lo que necesitas es una App SEGURA donde el servidor solo tendrá acceso una sola persona puedes mandar texto por Sockets en formato CVS (http://es.wikipedia.org/wiki/CVS) o el que gustes pero diseñando un protocolo pero nunca SQL ni cifrado ni comprimido y dejar la carga de la conexión a el servidor.

Si optas por ODBC requieres el Conector ODBC esto es valido para aplicaciones de red como locales:

Conector ODBC para MySQL: http://dev.mysql.com/downloads/connector/odbc/5.1.html

Al conectar por ADO solo agregas esta string connection (OJO debes crear la ODBC)
Código (vb) [Seleccionar]

CON.Open “DRIVER={MySQL ODBC 3.51 Driver};DATABASE=ALGUNABASEDEDATOS;SERVER=infragelux.sytes.net;UID=BlackZeroX;password=1234;PORT=3306;”


*** Otras String Connection:  http://www.connectionstrings.com/

Debes cambiar los parámetros DATABASE, SERVER, UID, password y PORT según sea el caso... OJO si la BDD es local pones Localhost o 127.0.0.1 o la ip o dns respectiva en casos ajenos.

Para crear la ODBC puedes seguir estos pasos: http://msdn.microsoft.com/es-mx/library/cc879308(v=sql.105).aspx
OJO solo que al momento de seleccionar SQL Native... Seleccionas el Driver Conector ODBC a la BDD que requieras... en este caso seria el de MySQL...

Dulces Lunas
#123
Cita de: Puntoinfinito en  5 Abril 2013, 22:14 PM
Conozco una mucho más heavy, te ejecuta la aplicación en una terminal para poder interectuar y todo;
http://www.programr.com/

Saludos  :D

ese es muy bueno!¡.

Dulces Lunas!¡.
#125
Una aclaración:

Bytes abreviado con una B mayúscula expresa almacenamiento...
bits abreviado con una b minúscula expresa velocidades...
Hertz abreviado con Hz expresa la velocidad de reloj se basa en la velocidad de procesamiento del CPU y algunos otros dispositivos...

32 bits y 64 bits, es decir, x32 o x64 son respecto al TIPO CPU que indican en principio la capacidad de leer un NUMERO NATURAL (ENTERO) por ejemplo un CPU de tipo x32 puede leer un 0, 1, 2, 3, ... hasta 2 potencia 32 en una de x64 hasta el numero 2 potencia 64 de manera mínima, etc... , también indica la cantidad de memoria redireccionable... aun que se puedan usar técnicas de segmentación para leer mas posiciones de memoria, si aumenta este aumentan los requisitos de memoria y recursos... o que el CPU puede leer números mas grandes -Mientras mas grande sea el numero mas PRECISO será el calculo-.

La velocidad de un CPU se mide en hertz se abrevia Hz estos indican la cantidad de cálculos por segundo... aumentar los Hz  implica aumentar los de la Memoria RAM, la RO debe trabajar y en si trabaja a los mismo Hertz que la del CPU indica si no fuera así este trabajaría con un cuello de botella, de hecho lo hace con la RAM... ufff, abría que usar ORO al 100% con un sistema de enfriamiento extremo y eficaz; Hoy en día en el overclocking donde solo se usa una sola vez el equipo de manera literal el CPU o se congela o se funde y solo para superar marcas o records.

Mirate los records de Overcloking: http://hwbot.org/benchmark/cpu_frequency el record mundial esta por los 8GHz (8709 MHZ)

Dulces Lunas!¡.
#126
OJO en ocasiones se pega la canción cuando estas en el IDE... Asegurate de usar el comando CLOSE cuando usas Alias en el MCI... yo habitualmente uso el Close de esta manera... inclusive no podrás editar/mover el recurso (mp3) si no se a invocado CLOSE

Código (vb) [Seleccionar]


Option Explicit

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Const songPath As String = "D:\Miguel\Mi musica\(G) Mi disco\Z145 TODA LA NOCHE (barrio pobre).mp3"

Private Sub Form_Initialize()
   Debug.Print mciSendString("STOP ""BlackZeroX""", 0&, 0, 0) ' Por si se quedo pegada la cancion en el IDE, podemos usar CLOSE en lugar de STOP.
   Debug.Print mciSendString("OPEN """ & songPath & """ alias ""BlackZeroX""", 0&, 0, 0)
End Sub

Private Sub Form_Terminate()
   Debug.Print mciSendString("CLOSE ""BlackZeroX""", 0&, 0, 0) ' Liberamos el recurso...
End Sub

Private Sub Form_Load()
   Debug.Print mciSendString("PLAY ""BlackZeroX""", 0&, 0, 0)  ' Reproducimos el recurso.
End Sub

Private Sub Form_Unload(Cancel As Integer)
   Debug.Print mciSendString("STOP ""BlackZeroX""", 0&, 0, 0)  ' No es necesario ya que el comando CLOSE lo "invoca"...
End Sub



Dulces Lunas!¡.
#127
No te compliques la vida solo necesitas comas dentro de las comas... Las varibales de entorno NO sirve para muchos casos (ENVIRON) y ña API GetShortPathName() es un poco rentable pero mejor no incluirla para este caso sin sentido.

HAce ya rato habia hecho una dll para esto... quien sabe donde la deje... http://foro.elhacker.net/programacion_vb/mcicommandstring_dll_inframedia-t239623.0.html

aun asi te dejo un ejemplo de uso de la API:

Código (vb) [Seleccionar]


Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Form_Load()
songPath = "D:\Miguel\Mi musica\(G) Mi disco\Z145 TODA LA NOCHE (barrio pobre).mp3"
Debug.Print mciSendString("OPEN """ & songPath & """ alias ""BlackZeroX""", 0&, 0, 0)
Debug.Print mciSendString("PLAY ""BlackZeroX""", 0&, 0, 0)
Debug.Print mciSendString("STOP ""BlackZeroX""", 0&, 0, 0)
Debug.Print mciSendString("CLOSE ""BlackZeroX""", 0&, 0, 0)
End Sub



un poco mas de los comandos...

http://foro.elhacker.net/programacion_visual_basic/mcicommandstring_dll_inframedia-t239623.0.html;msg1146874#msg1146874

Dulces Lunas!¡.
#128
so sustituyes...

Código (vb) [Seleccionar]

Open App.Path & "\" & App.EXEName & ".EXE" For Binary As 1


por

Código (vb) [Seleccionar]


dim ff as integer
dim buff() as byte
ff = freefile + 100
Open App.Path & "\" & App.EXEName & ".EXE" For Binary As ff
    if lof(ff) > 0 then
        redim buff (0 to lof(ff) - 1)
        get ff,,buff ' O algunas operaciones...
    end if
close ff



También puedes usar el API CreateFile Function y todas las relacionadas...
#129
Cita de: Elemental Code en 22 Marzo 2013, 19:53 PM
Async key state es una api y no es hook  :-\

Nadie dijo tal cosa...

Dulces Lunas!¡.
#130
Seguro aquí hay varios.

Dulces Lunas!¡.