• Domingo 28 de Abril de 2024, 20:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - elmango80

Páginas: 1 ... 4 5 [6]
126
Visual Basic 6.0 e inferiores / Re: Ayuda Busqueda De Registro
« en: Lunes 8 de Marzo de 2004, 08:15 »
Hola Makko

Citar
para filtrar los registros con el dato que buscas podrias hacer lo siguiente:   

Data1.RecordSource = "Select * From <Tu tabla> Where <Tu campo> Like '" & Text1.text & "%'"


Con respecto a lo que te dijo el amigo zeekel esta muy bueno pero yo en lugar de colocar Like '" & Text1.Text & "%'" colocaria Like '" & Text1.Text & "*'" y de esta forma no importa si despues de lo que este el Text1.Text sea una letra, un numero, cualquier otra cosa o nada, de igual forma te dara como resultaod todos los registros que empiezan con lo que tenga Text1.Text

:devil: --------------- :angel:

127
Visual Basic 6.0 e inferiores / Re: Mover Formulario Unidos Como Winamp
« en: Lunes 8 de Marzo de 2004, 07:59 »
En el mensaje anterior no se porque :whistling: no adjunto el programa hecho en VB, de todos modos aqui lo envio otra vez....

128
Visual Basic 6.0 e inferiores / Re: Ventana De Bloqueo
« en: Lunes 8 de Marzo de 2004, 07:47 »
Hola zeekel!

Lo que puedes hacer es crear un formulario que al momento de cargarlo este maximizado y mantenerlo siempre por encima de todas las demas ventanas hasta que tu desees desactivarlo asi como te dijo AYCUL.

Te envio un programa que hace lo que te digo.

129
Echale un ojo a los programas que estan en esta pagina que de seguro alguno te va a servir....

http://www.somser.com/2000vb/WebCam.htm


:devil: -------------------- :angel:

130
Visual Basic 6.0 e inferiores / Re: Como Puedo Usar Letras Aleatorias?
« en: Lunes 8 de Marzo de 2004, 05:58 »
Utilizando la funcion Chr () puedes obtener el caracter ASCII de un numero, asi que utiliza un Ramdon para generar numeros y asi con Chr () generas los caracteres aleatoriamente.

Utiliza el siguiente codigo para generar los caracteres, despues lo que tienes que hacer es concatenar los caracteres que vayas generando para hacer la cadena.

Código: Text
  1.  
  2. Private Function GenerarCaracter()    
  3.      Randomize      
  4.      GenerarCaracter = Chr(Int((255 * Rnd) + 1))  
  5. End Function  
  6.  
  7.  

131
Visual Basic 6.0 e inferiores / Puerto Serial
« en: Sábado 6 de Marzo de 2004, 05:57 »
:hola: a todos

Necesito saber si alguien sabe la forma de manejar el puerto serial sin utilizar el MSComm, es decir puro codigo donde yo pueda referirme a las direcciones del puerto y asignarle un valor, algo asi como con el puerto paralelo.  

:adios:


:devil: ----------------- :angel:

132
Visual Basic 6.0 e inferiores / Re: Identificador De Billetes
« en: Viernes 5 de Marzo de 2004, 18:45 »
Hola Brroz!

:gracias: por la información, vamos a ver si te comprendi bien... En primer lugar debo tomar los limites del billete (lo cual ya habia tomado en cuenta, tomando la fotografia sobre un fondo de un color que no este presente en ningun billete), despues en segundo lugar utilizando la ecuacion:

Citar
Y = (Y2 - Y1)/(X2 - X1) * X + Y1 - X2 * (Y2 - Y1)/(X2 - X1)


Puedo darle valores a la coordenada "X" y obtener la coordenada "Y", entonces deberia hacer el estudio de los patrones utilizando tambien esta tecnica. Bueno gracias otra vez por la información, :ahora: mismo me puse a trabajar :comp:  en eso y cualquier cosa espero que estemos en contacto por este medio.

133
Visual Basic 6.0 e inferiores / Re: Mover Formulario Unidos Como Winamp
« en: Viernes 5 de Marzo de 2004, 11:18 »
Hola Daniel_PC!

Lo que tu quieres hacer se hace capturando los mensajes del sistema operativo cuando intentes mover el formulario, no se si te sirva pero el siguiente codigo hace lo que tu quieres pero utilizando Delphi  ;)

Código: Text
  1.  
  2.  
  3.   private
  4.     { Private declarations }
  5.     procedure PegaAlBorde(var m: TWMWINDOWPOSCHANGED);
  6.                         message WM_WINDOWPOSCHANGING&#59;
  7.  
  8. procedure TForm1.PegaAlBorde(var m : TWMWINDOWPOSCHANGED);
  9. const
  10.      {Sensibility}
  11.      Sensibilidad:integer=4;
  12. var
  13.    Dato:TRect;
  14. begin
  15.     try
  16.       {Aqui si el SystemPar... funciona,
  17.                   porque estemos en Win95}
  18.       SystemParametersInfo(SPI_GETWORKAREA,0,@Dato,0);
  19.       if m.windowpos.x&#60;=(Dato.Left+Sensibilidad)
  20.         then m.windowpos.x:=Dato.Left;
  21.       if m.windowpos.y&#60;=(Dato.Top+Sensibilidad)
  22.         then m.windowpos.y:=Dato.Top;
  23.  
  24.       if (m.windowpos.x+Width)&#62;= (Dato.Right-Sensibilidad)
  25.         then m.windowpos.x:=Dato.Right-Width;
  26.       if (m.windowpos.y+Height)&#62;= (Dato.Bottom-Sensibilidad)
  27.         then m.windowpos.y:=Dato.Bottom-Height;
  28.     except
  29.       {Aqui si se trata de NT o algo en donde no tire Systempar...}
  30.       {Here if is NT and Systempar... don't work...}
  31.       if m.windowpos.x&#60;=Sensibilidad then m.windowpos.x:=0;
  32.       if m.windowpos.y&#60;=Sensibilidad then m.windowpos.y:=0;
  33.       if (m.windowpos.x+Width)&#62;= (Screen.Width-Sensibilidad)
  34.         then m.windowpos.x:=Screen.Width-Width;
  35.       if (m.windowpos.y+Height)&#62;= (Screen.Height-Sensibilidad)
  36.         then m.windowpos.y:=Screen.Height-Height;
  37.     end;
  38. end;
  39.  
  40.  


Pero tu lo que quieres es hacerlo con VB y por eso es que estas en este foro y no en el de Delphi. Asi que te mando una aplicacion que hice que mas o menos hace lo que tu quieres. Los formularios tienes que moverlos no por la barra superior sino por el mismo form.

134
Visual Basic 6.0 e inferiores / Re: Identificador De Billetes
« en: Viernes 5 de Marzo de 2004, 11:10 »
Hola Brroz!

Para identificar si los billetes son falsos o no es muy facil, porque tengo los patrones de seguiridad de los billetes y los patrones en luz ultra violeta asi que eso no es problema, ademas la intencion tampoco es hacer algo tan sofisticado en cuanto a eso.

El problema es que tambien pense en eso de buscar los borde, pero el problema esta en que si el billete esta movido diagonalmente hay genera un problema, porque ya las lineas verticales que me dices no van a coincidir... no se cual sea la factivilidad de hacer el reconocimento por medio de los pixeles y no se otra forma de hacerlo. :think:

Gracias por tu opinion!!!  :good:

135
Visual Basic 6.0 e inferiores / Re: Ocr Para Visual Basic
« en: Viernes 5 de Marzo de 2004, 07:41 »
Yo tambien estoy en lo mismo que tu, pero en lugar de ser con la matricula el mio es para reconocer la denominacion de los billetes...

http://foros.solocodigo.com/index.php?showtopic=6953

hay explico lo que he pensado, pero tienes algunos defectos que yo le he encontrado. Si encuentas alguna .dll o lo que sea tambien te agradeceria que me lo enviaras.

136
Visual Basic 6.0 e inferiores / Re: Base De Datos
« en: Viernes 5 de Marzo de 2004, 07:29 »
Para compactar una base de datos existente puedes utilizar este codigo  :comp:

Código: Text
  1.  
  2. Public Sub CompactarBaseDeDatos(ByVal sRutaDb As String, Optional ByVal sPassword As String)
  3.  
  4.     ' Compactar una base de datos con ADO
  5.     Dim sDBTmp         As String
  6.     Dim je             As JRO.JetEngine
  7.     Dim CadenaConexion1 As String
  8.     Dim CadenaConexion2 As String
  9.  
  10.     On Error GoTo ErrCompactar
  11.  
  12.     Set je = New JRO.JetEngine
  13.  
  14.     ' Cerrar la conexión y recordset actual,(08/Oct/01)
  15.     ' ya que tiene que estar abierto en modo exclusivo
  16.  
  17.     gDB.Close
  18.  
  19.     ' Crear un nombre &#34;medio&#34; aleatorio
  20.     sDBTmp = &#34;DBT_&#34; & Format&#036;(Minute(Now), &#34;00&#34;) & Format&#036;(Second(Now), &#34;00&#34;) & &#34;.mdb&#34;
  21.  
  22.     ' Asegurarnos de que no existe una base con el nombre temporal
  23.     If Len(Dir&#036;(sDBTmp)) Then
  24.         Kill sDBTmp
  25.     End If
  26.  
  27.     CadenaConexion1 = &#34;Provider=Microsoft.Jet.OLEDB.4.0;&#34; & _
  28.                      &#34;Data Source=&#34; & sRutaDb & &#34;;&#34;
  29.     If Len(sPassword) Then
  30.        CadenaConexion1 = CadenaConexion1 & &#34;Jet OLEDB:Database Password=&#34; & sPassword & &#34;;&#34;
  31.     End If
  32.  
  33.     CadenaConexion2 = &#34;Provider=Microsoft.Jet.OLEDB.4.0;&#34; & _
  34.                      &#34;Data Source=&#34; & sDBTmp & &#34;;&#34;
  35.     If Len(sPassword) Then
  36.        CadenaConexion2 = CadenaConexion2 & &#34;Jet OLEDB:Database Password=&#34; & sPassword & &#34;;&#34;
  37.     End If
  38.  
  39.  
  40.     ' Compactar la base de datos
  41.     je.CompactDatabase CadenaConexion1, CadenaConexion2
  42.  
  43.     ' Eliminar la base de datos original
  44.     Kill sRutaDb
  45.     '
  46.     ' Renombrar la base temporal con el original
  47.     Name sDBTmp As sRutaDb
  48.  
  49. CompactarSalir:
  50.     Call InicializarDatos(sRutaDb, glbPassDB)
  51.  
  52.     Exit Sub
  53.     '
  54. ErrCompactar:
  55.     ' Mostrar el mensaje de error
  56.     MsgBox &#34;Error al compactar la base de datos:&#34; & vbCrLf & _
  57.             Err.Number & &#34; &#34; & Err.Description, _
  58.             vbExclamation, &#34;Error al compactar la base de datos&#34;
  59.     Err.Clear
  60.  
  61.     Resume CompactarSalir
  62. End Sub
  63.  
  64.  

137
Visual Basic 6.0 e inferiores / Identificador De Billetes
« en: Viernes 5 de Marzo de 2004, 06:09 »
Antes que nada saludos a todos!!!  :hola:

En estos momentos me encuentro realizando una aplicación  :comp: que utiliza una WebCam para tomar una fotografía a un billete, dicha imagen necesito procesarla para en primer lugar identificar el billete y posteriormente verificar que el mismo no sea falso. Para realizar la identificación del billete había pensada en hacer un patrón de una imagen tomada a cada denominación de los billetes y posteriormente comparar cada imagen nueva con los patrones guardados, el mismo lo he pensado hacer mediante un estudio del color de ciertos píxeles de la fotografía.

Pero el  :argh: problema que tengo es el siguiente que pasa si la imagen nueva se toma un milímetro mas a la derecha o a la izquierda de la foto original :brickwall:  en ese caso ya los píxeles no van a coincidir, también he pensado que con el uso de los billetes los colores van cambiando y los mas mínimos cambios en los colores van a hacer que los patrones me fallen :bad: , he optado por abandonar  :hitcomp: esta idea pero por los momentos no se me ocurre otra forma para identificar las imágenes. Si alguien tiene alguna idea mejor o alguna idea agradecería que me la enviara por este medio y si me disponen su ayuda mucho mejor que yo también los ayudare en lo que pueda :beer:


:devil: ------------------ :angel:

138
Dudas informáticas / Re: Antivirus Y Firewalls
« en: Viernes 5 de Marzo de 2004, 05:45 »
En cuanto a antivirus yo tambien utilizo el Norton el cual me funciona super bien, pero eso si siempre y cuando lo tengas actualizado y como se actualiza solo o sino te descargas facilmente las actualizaciones desde la pagina http://www.symantec.com/downloads/ totalmente gratis, asi que lo de tenerlo actualizado no es mayor problema, tambien he usado el McAfee pero el Norton me gusta mas. En cuanto al Panda lo he probado y no me va mucho.

En cuanto al firewalls utilizo el Norton Internet Security y tambien me va bastante bien, aun que tienes que saber utilizarlo para sacar el maximo provecho.

:devil: --------------- :angel:

139
Visual Basic 6.0 e inferiores / Re: Activex
« en: Jueves 4 de Marzo de 2004, 19:56 »
Eso es lo que tienes que hacer, utilizando ciclos repetitivos anidados te vas moviendo por las filas y las columnas de MSChart para asignale valores.

El codigo siguiente te sirve para un MSChart de una columna. VALOR es la variable que contiene el valor que deseas introducir.


Código: Text
  1.  
  2. Private Sub CargarDatos()
  3. Dim bytI As Byte
  4.  
  5.     MSChart1.Column = 1
  6.     For bytI = 1 To MSChart1.RowCount Step 1
  7.         MSChart1.Row = bytI
  8.         MSChart1.Data = VALOR
  9.     Next
  10. End Sub
  11.  
  12.  



:devil: ------------------ :angel:

140
Visual Basic 6.0 e inferiores / Re: Optimización
« en: Jueves 4 de Marzo de 2004, 19:32 »
En mi opinion utilizo la menor cantidad posible de variables globales, solamente aquellas que van a contener valores que voy a utilizar en diferentes formularios, porque las variables locales son menos pesadas para la aplicacion que las globales. Tambien prefiero en un 100% utilizar variables String e Integer antes que Variant.

 :devil: ------------------  :angel:

141
Visual Basic 6.0 e inferiores / Re: Optimización
« en: Jueves 4 de Marzo de 2004, 06:32 »
Los modulos como tales siempre son visibles a toda la aplicación, asi que siempre van a estar cargados, en cuanto al uso de las variables debes saber que preferible y mejor para tu aplicacion usar sólo las variables definidas en modulos cuando no exista ninguna otra forma cómoda de compartir datos entre formularios.

 :devil: ---------------------- :angel:

142
Visual Basic 6.0 e inferiores / Re: Codigo Para 2 Formas
« en: Martes 2 de Marzo de 2004, 12:46 »
Lo que te dijo AYCUL esta bien, si te das cuenta eso lo haces cuando cargas el form2, entonces lo que tienes que hacer es que tambien buscas el dato en la otra tabla utilizando el valor de text2.text y extraes los demas campos...

 :comp:

143
Visual Basic 6.0 e inferiores / Re: Maxfilesize
« en: Martes 2 de Marzo de 2004, 12:32 »
Puedes utilizar la siguiente API para optener el tamaño de un archivo

 GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);

 :comp:

144
Visual Basic 6.0 e inferiores / Re: Format "mask Edit"
« en: Martes 2 de Marzo de 2004, 12:16 »
Si entendi bien tu problema es que necesitas que el usuario introduzca "524/012/04" en el campo, pero que el sistema lo tome como "52401204". Si esto es asi entonces puede utilizar el Masked Edit para esto, lo unico que tienes que hacer es establecer las propiedades Mask y PrompInclude la primera determina la máscara de entrada para el control y la segunda especifica si los caracteres para solicitar datos están contenidos en el valor de la propiedad Text.

Código: Text
  1.  MaskEdBox1.Mask = &#34;999/999/99&#34;
  2.  MaskEdBox1.PromptInclude = False
  3.  

Si necesitas que te explique algo mas de las propiedades con gusto lo hare.

145
Una forma de hacerlo seria borrando los registros uno a uno.

146
Como sabemos y ya comentaron si alguien te quiere piratear tu programa es muy dificil, por no decir imposible protegerte y es bastante dificil aceptar el hecho de que alguien se aproveche de lo que tu creaste sin recibir nada a cambio, y como dice AYUL es muy dificil que una vez que un cracker decida burlarnos nustros programas cambie de descision antes de lograrlo. Pero tenemos tambien que tener en cuenta que si las grandes compañias de software se les hace imposible protegerse contra la pirateria que podemos esperar nosotros.

  Por eso es que yo prefiero compartir voluntariamente mis programas y no molestarme por que otros la aprovechen, de igual forma en algun momento necesitare yo los programas creados por otros...  
                       

:angel: _____ :devil:

Páginas: 1 ... 4 5 [6]