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 - MCKSys Argentina

#4551
En un form con un RichTextBox (RichTextBox1) oculto, un Common Dialog (CMD) y un Command button (Command1):


Dim rtf1 As RichTextBox

Private Sub Command1_Click()
'crea un RTF en la pos 60,60
Set rtf1 = Controls.Add("RichText.RichTextCtrl.1", "txt")
rtf1.Left = 60
rtf1.Top = 60
rtf1.Visible = True

'Carga un Common Dialog con los valores de la FONT del RTF
CMD.Flags = cdlCFBoth
CMD.FontBold = rtf1.Font.Bold
CMD.FontItalic = rtf1.Font.Italic
CMD.FontName = rtf1.Font.Name
CMD.FontSize = rtf1.Font.Size
CMD.FontStrikethru = rtf1.Font.Strikethrough
CMD.FontUnderline = rtf1.Font.Underline
CMD.ShowFont
'Pone la FONT del RTF a los valores que devuelve el CMD
rtf1.Font.Bold = CMD.FontBold
rtf1.Font.Italic = CMD.FontItalic
rtf1.Font.Name = CMD.FontName
rtf1.Font.Size = CMD.FontSize
rtf1.Font.Strikethrough = CMD.FontStrikethru
rtf1.Font.Underline = CMD.FontUnderline
End Sub



Eso me funciona bastante bien...
#4552
Si esta usando comparacion de imagenes, lo que yo haria seria:

- capturar el tablero completo.
- ir parseando la imagen casilla por casilla y detectar las piezas que hay en ellas. Asi podrias armar tu tablero.
- cada vez que se haga un movimiento, repetir los pasos anteriores y asi poder determinar el movimiento y poder responder en base a ello.

Ahora, esto es MUY dependiente del tablero. Si algo cambia en el mismo (tamaño, colores de fichas, etc) vas a tener problemas...

Es lo que se me ocurre ahora :)
#4553
Podrias poner el codigo que etsas usando? Asi podriamos ayudarte mejor...
#4554
Quizas este accediendo al texto que muestra las movidas realizadas.

En ese caso seria solo simplemente parsear el moviemiento y calcular la respuesta en base a eso...
#4555
Muy bueno!

Ahora, pregunto: el byte 64h... para que es? para el loop?
#4556
Si no funciona esto ultimo, es porque las entradas estan en cdecl y no en stdcall.

Con el programa Dependency Viewer o Walker (no recuerdo bien el nombre) que traer el VS 6 puedes verlo: si tienen "decorado" (los caracteres raros que aparecen en el nombre) estan exportadas como cdecl y no puedes usarlas desde VB directamente.
#4557
Puedes probar quitando el path de la DLL y creando un EXE.

Asi verificas si no es por el IDE de VB

PD: Copia la DLL al folder del EXE
#4558
Probaste cambiando la declaracion:

Private Declare Function CPSC1900Connect Lib "d:\Imprimir\DataPrint.dll" Alias "CPSC1900Connect@8" (ByVal port As Byte, ByVal param As String)

a esta?

Private Declare Function CPSC1900Connect Lib "d:\Imprimir\DataPrint.dll" (ByVal port As Byte, ByVal param As String)

Quizas es por el Alias...
#4559
Cita de: raul338 en 23 Mayo 2012, 21:03 PM
Si no son funciones exportadas, no se pueden llamar desde visual basic :(
Ademas de esto, deben estar declaradas con STDCALL calling convention. Sino tampoco van a funcionar a menos que hagas un wrapper para poder hacerlo...
#4560
Por definicion:

Si es un CRACKme, se puede CRACKEAR, keygennear, etc, etc.
Si es un KEYGENme, se debe KEYGENnear.

Esto es solo un pequeña nota...  :P