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 - seba123neo

#1971
Hola, no veo la linea del error, deberias ponerla, pero seguro estas queriendo abrir un recordset, y la conexion que usa ya se descargo o cerro.la conexion no se debe cerrar nunca mientras estas en el programa, la conexion se hace al principio y se descarga al final del programa.

PD:de paso la captura muestra que declaras mal unas variables y los nombres de estas no son muy descriptivos que digamos, los nombres deben ser descriptivos, hay una nomencaltura para declarar varaibles, es medio feo programar con variables que uno ni sabe lo que hacen.

saludos.
#1972
y como te dijo cobein , si pones ese codigo que lo haga en un picturebox en vez de un formulario, va a llegar al limite del picturebox y no va a seguir la linea, proba eso...porque yo no puedo ahora.
#1973
jeje me acuerdo cuando hacia esto, con pascal  :P, pero lo hacia de la siguiente forma, en vez de hacer un For como estas haciendo, lo hacia con un bucle que no terminaba, un do while...y como condición le ponia 1=3 , como el 1 nunca va a ser igual a 3 entonces el bucle seguia indefinidamente y se trababa toda la pc , casi usando todo el recurso al 100%, y si no te dabas cuenta en 1 minuto te podia consumir el disco de 80GB.... te lo aseguro  :P. y para colmo le ponia que inice con windows y no habia manera de pararlo, se iniciaba el widnows y empezaba a escribir como loco...como veran yo tuve mis momentos de furia.. :P
#1974
obviamente algo tiene,porque eso no es normal, y ese antivirus no creo que sea tan malo, de ultima desinstalalo y reinstalalo o instala el NOD32...
#1975
proba hacer:

Código (sql) [Seleccionar]
PRAGMA TABLE_INFO(TuTabla)

con eso obtengo los nombres de los campos, los tipos de datos de cada uno..etc... ;D
#1976
¿y porque desde un administrador de SQL LIte 3 puedo hacer un Alter Table? , para listar las tablas en la pagina de SQL Lite dice:

Código (sql) [Seleccionar]
SELECT name FROM sqlite_master
#1977
si bueno sobre el codigo ni opine, simplemente me limite a responder porque podria ser el problema, pero como consejo tambien te dijo que en estos casos de bases de datos, es mejor hacer clases para poner ahi las conexiones y todo lo que tengas que hacer (INSERTS ,UPDATE...etc..).

saludos.
#1978
Hola, a mi me funciona bien no me tira ningun error y me carga los registros en el datagridview...admito que ejecute el script de creacion de la base de datos y tiro varios errores, pero las tablas las creo bien y le agrege unos datos de prueba manualmente a la tabla "cliente", pero despues el codigo me andubo bien, ese error solo me hace pensar que no tenes creda la tabla de "cliente" en la base de datos "video", fijate eso , anda al SQL Server managamente studio y fijate lo que tenes ahi...

saludos.
#1979
busca sobre las api's WritePrivateProfileString  ,GetPrivateProfileString para escribir y editar los .ini, con ellas podes editar la sección que quieras y la clave que quieras, en este caso seria la sección [Gunbound] y dentro de la clave Url_Notice.
#1980
Cita de: cobein en  6 Diciembre 2009, 04:37 AM
Primero que nada, esto no es para ofender ni nada por el estilo pero me parecio constructivo el hecho de mencionar o resaltar algunas cosas de este source.

Me tome la livertad de descargar esto para ver de que se trataba y el porque de los comentarios y decidi hacer este mini review porque hay muchas cosas que no tienen sentido.

Primero, para el que se pregunta que es esto? es simplemente un "Substitution cipher" o quiere serlo.

Vamos a destripar el source =D

For x = 0 To 75
 If txtChr(x).Text = Chr(34) Then MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption: txtChr(x).BackColor = &H8080FF: Exit Sub
Next x


En la funcion principal encontramos esto que es simplemente un check para ver si algun textbox tiene como texto comillas.

Esto no tiene absolutamente sentido por que se puede validar dinamicamente con el evento Validate del textbox.

Private Sub txtChr_Validate(Index As Integer, Cancel As Boolean)
   If txtChr(Index) = """" Then
       MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption
       Cancel = True
   End If
End Sub


For a = 0 To 75
 For x = 0 To 75
  If a <> x Then
   If txtChr(a).Text = txtChr(x).Text Then
    txtChr(a).BackColor = &H8080FF
    txtChr(x).BackColor = &H8080FF
   ElseIf Len(txtChr(a).Text) > 1 Then
    txtChr(a).BackColor = &H8080FF
   ElseIf Len(txtChr(x).Text) > 1 Then
    txtChr(x).BackColor = &H8080FF
   End If
  End If
 Next x
Next a


Aca esta el de la discoridia!!! Bien, este es uno de los que menos sentido tiene, son dos loops anidados que tienen como objetivo verificar si algun textbox tiene un texto con mas de un caracter y si hay dos textos repetidos.

Primero que nada, para que verificar si algun textbox tiene mas de un caracter? simplemente se pone la propiedad MaxLength = 1 y listo.

Una aclaracion aca para ░▒▓BlackZeroҖ▓▒░ en estos dos loops anidados se esta comparando una matriz con sigo misma por ende se van a producir tantas coliciones como objetos haya, en este caso 76.

Vamos con los elementos duplicados, mi pregunta es, vale la pena pasar por el proceso de "validacion" una y otra vez?  cuando todo esto se puede hacer on the fly?

Por ejemplo podriamos usar una coleccion para ver si el elemento existe y validarlo con el evento validate, algo asi.



Dim cChars As New Collection

Private Sub txtChr_Validate(Index As Integer, Cancel As Boolean)
   
   If LenB(txtChr(Index)) = 0 Then Exit Sub
   
   If txtChr(Index) = """" Then
       MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption
       Cancel = True
       Exit Sub
   End If
   
   If Exists(txtChr(Index)) Then
       MsgBox "El carácter esta en uso", vbCritical, Me.Caption
       Cancel = True
       Exit Sub
   End If
       
End Sub

Private Function Exists(ByVal sChar As String) As Boolean
   On Error GoTo Err_Exists
   cChars.Add sChar, sChar
   Exit Function
Err_Exists:
   Exists = True
End Function


Este es para verificar si se produjo un error durante la validacion.....
For a = 0 To 75
 If txtChr(a).BackColor = &H8080FF Then Exit Sub
Next a


totalmente innecesario, se puede tener un flag en la validacion y evitar esto, no hay necesidad de utilizar un loop en lo absoluto.


With CD
   .DialogTitle = "Guardar modulo .bas en..."
   .Filter = "Modulo bas (.bas) | *.bas"
   .ShowSave
End With


Este...bueno lo podriamos perdonar pero esta mal implementado tambien.

Al principio de la funcion se resetea el filename " CD.FileName = """ luego se abre el dialogo y se valida con esto "If CD.FileName <> "" Then" ... NO, el common dialog tiene una propiedad que se llama CancelError y esta ahi para poder determinar si se cancelo o no.

Bien estamos llegando al cuore de la funcion, el generador de algoritmos...

no lo pego completo poque no me entra ni en 3 paginas.

 Open CD.FileName For Output As #File
  Print #File, "'Algoritmo de cifrado creado por [Personal Algorythm]"
  Print #File, ""
  Print #File, "Public Function Encrypt(Data As String, Pass As String) As String"
  Print #File, " Dim pPass As String"
  Print #File, "  pPass = " & Chr(34) & Text77.Text & Chr(34)
  Print #File, "  If Pass = pPass Then"
  Print #File, "   If InStr(Data," & Chr(34) & 0 & Chr(34) & ") Then Data = Replace(Data," & Chr(34) & 0 & Chr(34) & "," & Chr(34) & txtChr(0).Text & Chr(34) & ")"  ' Numeros
  Print #File, "   If InStr(Data," & Chr(34) & 1 & Chr(34) & ") Then Data = Replace(Data," & Chr(34) & 1 & Chr(34) & "," & Chr(34) & txtChr(61).Text & Chr(34) & ")"



Que demonios es esto? simplemente un template de la funcion principal que se parcha con los nuevos valores.

Mas alla de que todo esto se podria reducir a unas 5 lineas de codigo... vamos a lo interesante

Esto es simplemente substitucion de caracteres pero hay algo llamativo en como esta implementado. Vamos a sacar un pedazo del algoritmo generado y a ver que pasa.

  If InStr(Data, "0") Then Data = Replace(Data, "0", "1")
  If InStr(Data, "1") Then Data = Replace(Data, "1", "T")

Este es mi texto original: 01
Vamos a "encriptarlo" ..
Primer paso reeemplazamos los 0s con 1s
nos queda algo asi 11
segundo paso reeemplazamos los 1s con Ts
Resultado: TT

Como tarea para el hogar les dejo intentar recobrar el texto original

  If InStr(Data, "1") Then Data = Replace(Data, "1", "0")
  If InStr(Data, "T") Then Data = Replace(Data, "T", "1")

PD: si alguno se esta preguntando que funcion cumple el password en todo esto... simplemente mera decoracion.





ojala esto sirva para mejorar el codigo en el futuro, ya que aca hay gente que sabe, no es como otros foros que nadie sabe nada y si posteas cualquier cosa todos te filicitan y alaban y ni les importa si es bien o no.