Hola, quiero hacer lo siguiente en mi proyecto, concatenar fechas y horas de un solo DataTimePicker, pero no me aparecen las horas, es decir, quiero que aparezca fechas y horas para almacenarlas de manera manual a una BD en Access (Las fechas y horas), las cuales inserto con consultas sql a la tabla pero solo me aparecen fechas (dd/mm/aa), alguien sabe como activar tambien las horas? agradeceria su respuesta
↧
Concatenar fechas y horas, almacenarlas en BDaccess y con ello realizar una operacion
↧
TreeView Con CheckBox Marcados
Buena tarde a todos, tengo un formulario en el cual se cargo el menu de opciones del sistema y le tengo activado la opcion CheckBoxes del Tree View para ir marcando las opciones del usuario, tambien he logrado que guarde en la base de datos el estado activado del Tree View, cuando cierro el sistema y nuevamente habro el forumulario, solo he podido cargar el menu de opciones, mas no las opciones que deberian estar chequeadas del usuario, tengo dos tablas funtamentales, el de MENU, ahi esta toda la estructura, y el de usuario_opcion, ahi solo las opciones que el usuario tienen acceso. En resumen lo que necesito es que al momento de cargar el formulario, me muestre el menu y las opciones del usuario que tiene activas.
Este es el codigo de como cargo el menu en el formulario, mas no se como activar las opcines que tiene activo el usuario
Tabla Menu (Campos)
Opcion, Orden, MenuNombre
Tabla Usuario_Opcion (Campos)
Usuario, Opcion
Este es el codigo de como cargo el menu en el formulario, mas no se como activar las opcines que tiene activo el usuario
Tabla Menu (Campos)
Opcion, Orden, MenuNombre
Tabla Usuario_Opcion (Campos)
Usuario, Opcion
Código:
'Opci
Private Sub CargartvMenu()
Using con As New SqlConnection(cadenaConexion)
Dim da As New SqlDataAdapter("SELECT * from Menu", con)
Dim ds As New DataSet
da.Fill(ds)
' obtener los elementos para crear las opciones de menú de primer nivel (barra de menú)
Dim aDrFilas As DataRow()
aDrFilas = ds.Tables(0).Select("LEN(Orden) = 2", "Orden")
' recorrer las filas e ir creando la estructura de menú
Dim mnuOpcion As New TreeNode
For Each drFila As DataRow In aDrFilas
mnuOpcion = New TreeNode(drFila("MenuNombre").ToString())
mnuOpcion.Tag = drFila("Orden").ToString()
' añadir este menú desplegable a la barra de menú y en checkbox los nodos
tvMenu.CheckBoxes = True
tvMenu.Nodes.Add(mnuOpcion)
' recorrer si hubiera las opciones dependientes de este menú
CrearNodosDelPadre(mnuOpcion)
Next
End Using
End Sub
'Opciones tipo hijo (recursivo)
Private Sub CrearNodosDelPadre(ByVal mnuOpcion As TreeNode)
Using con As New SqlConnection(cadenaConexion)
Dim da As New SqlDataAdapter("SELECT * from Menu Where Estatus='1'", con)
Dim ds As New DataSet
da.Fill(ds)
Dim mnuSubOpcion As TreeNode
Dim sSQLExpresion As String
sSQLExpresion = "SUBSTRING(Orden, 1," & mnuOpcion.Tag.Length & ") = '" & mnuOpcion.Tag & "' "
sSQLExpresion &= "AND LEN(Orden) = " & mnuOpcion.Tag.Length + 2
Dim aDrFilas As DataRow()
aDrFilas = ds.Tables(0).Select(sSQLExpresion, "Orden")
For Each drFila As DataRow In aDrFilas
mnuSubOpcion = New TreeNode(drFila("MenuNombre").ToString())
mnuSubOpcion.Tag = drFila("Orden").ToString()
mnuOpcion.Nodes.Add(mnuSubOpcion)
' llamar recursivamente a este método por si a partir de esta subopción se desplegaran más opciones
CrearNodosDelPadre(mnuSubOpcion)
Next
End Using
End Sub
↧
↧
y a los extremos de la cadena?
hola tengo en un RichTextBox1 escribo lo siguiente:
La quinta fecha de la Liga de España comenzó este martes.
El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.
y en el archivo me lo envia asi:
La quinta fecha de la Liga de España comenzó este martes.
El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.
y yo quiero que en el archivo me lo envie asi:
<p><span>La quinta fecha de la Liga de España comenzó este martes.</span></p>
<p><span>El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.</span></p>
me pueden ayudar desde ya gracias
La quinta fecha de la Liga de España comenzó este martes.
El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.
y en el archivo me lo envia asi:
La quinta fecha de la Liga de España comenzó este martes.
El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.
y yo quiero que en el archivo me lo envie asi:
<p><span>La quinta fecha de la Liga de España comenzó este martes.</span></p>
<p><span>El Barcelona de Lionel Messi afronte su primera prueba de fuego al recibir al Atlético de Madrid.</span></p>
me pueden ayudar desde ya gracias
↧
Cambiar el backcolor de un datagrid1 y con ADODC1
buenas a todos soy nuevo por el foro estoy buscando una pequeña ayuda necesito cambiar el color de una columna del datagrid1 al momento de guardar y mostrar los datos.
ejemplo:
tengo un grid con
nombre|pago
Juan |cancelado <------esa columna de pago cuando sea cancelado la ponga de un color
Maria |Debe <------ esa la ponga de otro color
gracias de antemano y disculpen la molestia.
ejemplo:
tengo un grid con
nombre|pago
Juan |cancelado <------esa columna de pago cuando sea cancelado la ponga de un color
Maria |Debe <------ esa la ponga de otro color
gracias de antemano y disculpen la molestia.
↧
Problema al poner un ComboBox en un DataGridView en todas las celdas de una columna
Buenos días.
Estoy intentando poner un ComboBox en una columna de un DataGridView, pero me da error de todas a todas. El código que utilizo es el siguiente:
Y el error que me da es:
La celda proporcionada ya pertenece a una cuadricula. No se permite esta operación.
La idea es en una columna, cada celda que sea un ComboBox para que yo pueda actualizar un valor de la grilla.
Gracias
Estoy intentando poner un ComboBox en una columna de un DataGridView, pero me da error de todas a todas. El código que utilizo es el siguiente:
Código:
Dim MyCommand As Data.OleDb.OleDbCommand
Dim MyAdapter As New Data.OleDb.OleDbDataAdapter
Dim MyConexion As New Data.OleDb.OleDbConnection
Dim Dt_Cliente As New Data.DataTable
Try
MyConexion.ConnectionString = "Provider=SQLOLEDB;Data Source=192.168.3.13;Initial Catalog=DatosComp;User Id=sa;Password="
MyCommand = MyConexion.CreateCommand
MyCommand.CommandText = "select empresa, mat, en1, en2, motivo,observaciones from Marcas where per='2016/09/21' and GRUPO=1"
MyAdapter.SelectCommand = MyCommand
MyAdapter.Fill(Dt_Cliente)
DataGridView2.DataSource = Dt_Cliente
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
Try
comboBoxCell.Items.Add("1")
comboBoxCell.Items.Add("2")
comboBoxCell.Items.Add("3")
'DataGridView2(4, 1) = comboBoxCell
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
Try
Dim n1 As Integer
For n1 = 1 To DataGridView2.RowCount
DataGridView2(0, n1) = comboBoxCell
Next
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
Y el error que me da es:
La celda proporcionada ya pertenece a una cuadricula. No se permite esta operación.
La idea es en una columna, cada celda que sea un ComboBox para que yo pueda actualizar un valor de la grilla.
Gracias
↧
↧
VB. NEt quiero reutilizar codigo de modulo para diferentes formularios
hola como estan expertos veran ya habia publicado algo igual pero luego dije a buscar donde lo tenia y pues no lo encontre pero ahora dare mas informacion... lo necesito para no escribir codigo que escribi ya antes...
tengo un modulo donde tengo esto y mas:
Public Sub BuscaPartidaPorNumero(ByVal textoprocesar As String, ByVal anoestado As String)
'/////////////este codigo debe ser probado con mas de 100 partidas para verificar que haga la busqueda especificada en el textboxasiento///////////////
Dim estado As String
Dim numepa As Long
Dim fecha As String
Dim codigo As String
Dim concep As String
Dim debe As Double
Dim haber As Double
Dim item As Integer
Dim longitudnumero As Int64
Dim indicador As Boolean = False
Dim posicionbarra As Integer
Dim valorbuscar As String
Dim datosdeltext As String = textoprocesar
Dim descrip As String
Dim numregpar As Int64
Dim estadolocal As String = ""
Dim acumuladebelocal As Double = 0
Dim acumulahaberlocal As Double = 0
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Clear()
acumuladebe = 0
acumulahaber = 0
For index = 1 To Len(textoprocesar)
If Mid$(textoprocesar, index, 1) = "," Then
Else
longitudnumero = 0
'//////////////////esta for sirve para verificar la longitud de los numeros de partidas/////////////////
For index2 = index To Len(textoprocesar)
longitudnumero = longitudnumero + 1
If Mid$(textoprocesar, index2 + 1, 1) = "," Then
index2 = Len(textoprocesar)
Else
If Mid$(textoprocesar, index2 + 1, 1) = "-" Then
indicador = True
posicionbarra = index2 + 1
End If
End If
Next
'/////////////////////////////////////////////////////////////////////////////////////////////////////
If indicador Then
'MessageBox.Show("Datos: " + Mid$(TextBoxAsiento.Text, index, posicionbarra - 1) + " Dato2: " + Mid$(TextBoxAsiento.Text, posicionbarra + 1, longitudnumero))
valorbuscar = "where ld.numeropartida >= '" & Mid$(textoprocesar, index, posicionbarra - 1) & "' and ld.numeropartida <= '" & Mid$(textoprocesar, posicionbarra + 1, longitudnumero) & "'"
indicador = False 'se inicializa para que no de problemas
Else
valorbuscar = "where ld.numeropartida = '" & Mid$(textoprocesar, index, longitudnumero) & "'"
End If
'Sistemacontable.metodos.BuscaPartida(valorbuscar, filas)
'/////////////////////////////////////////////////////////////////////////////////////////////////////
Sistemacontable.indexconexionauxiliar.Conectar()
lector = Sistemacontable.indexconexionauxiliar.Consultar("S elect (select count(ldd2.itempartida) from librodiario as ld2 inner join librodiariodetalle as ldd2 on ld2.idlibrodiario=ldd2.idlibrodiario where ld2.numeropartida=ld.numeropartida) as numero,af.estado as estado,ld.numeropartida as numpartida,ld.fecha as fecha,c.idcatalogo as codigo,c.nombre as concepto,ldd.cargo as debe,ldd.abono as haber,ldd.itempartida as item,ld.descripcion as descripcion,ld.estadopartida as estadop from anosfiscales as af inner join librodiario as ld on af.idanosfiscales=ld.idanofiscales inner join librodiariodetalle as ldd on ld.idlibrodiario=ldd.idlibrodiario inner join catalogo as c on ldd.idcatalogo=c.idcatalogo " + valorbuscar + " and af.idanosfiscales='" + anoestado + "' order by ld.numeropartida,ldd.itempartida ASC")
Try
While lector.Read()
numregpar = lector.GetInt64("numero")
estado = lector.GetString("estado")
numepa = lector.GetInt64("numpartida")
fecha = lector.GetDateTime("fecha")
codigo = lector.GetString("codigo")
concep = lector.GetString("concepto")
debe = lector.GetDouble("debe")
haber = lector.GetDouble("haber")
item = lector.GetInt32("item")
descrip = lector.GetString("descripcion")
estadolocal = lector.GetString("estadop")
If estadolocal <> "Eliminado" Then
acumuladebe = acumuladebe + debe
acumulahaber = acumulahaber + haber
acumuladebelocal = acumuladebelocal + debe
acumulahaberlocal = acumulahaberlocal + haber
End If
If item = 1 Then
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", " PARTIDA # " + Convert.ToString(numepa), "", "")
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add(fecha, codigo + " " + concep, debex(debe), haberx(haber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Else
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", codigo + " " + concep, debex(debe), haberx(haber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
If item = numregpar Then
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "V/ " + descrip, "", "")
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "TOTAL", debex(acumuladebelocal), haberx(acumulahaberlocal))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
acumuladebelocal = 0
acumulahaberlocal = 0
End If
End If
'filas = filas + 1
End While
Catch ex As Exception
MessageBox.Show("Error en la busqueda: " + ex.Message)
End Try
Sistemacontable.indexconexionauxiliar.Desconectar( )
'///////////////////////////////////////////////////////////////////////////////////////////////////////////
index = index + longitudnumero '/////esta longitud se suma para que no itere mas de lo que se necesita, exactamente el numero de partidas colocados
End If
Next
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "TOTAL", debex(acumuladebe), haberx(acumulahaber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
End Sub
el punto de esto es lo siguiente, tengo dos o mas formularios
form1, form2, form3 .... hasta los que sean necesarios,
en estos formularios llamo algunos objetos iguales que en otros formularios, la funcion mostrada anterior mente la llamare de diferenes form necesito cambiar Form_librodiarioactualizar que es un form(formulario), que se encuentra en esta sentencia o tras mas que pudiera necesitar para actualizar estos objetos
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add
para que sea reutilizable
por ejemplo
Sistemacontable.form1.DataGridViewConsPart.Rows.Ad d
Sistemacontable.form2.DataGridViewConsPart.Rows.Ad d
Sistemacontable.form2.DataGridViewConsPart.Rows.Ad d
segun sea el formulario del que lo llamo... en pocas palabras quisiera saber si puedo manejar este nombre como una variable(form1, form2, form3...) y como se haría... de antemano les agradezco estaré pendiente...
tengo un modulo donde tengo esto y mas:
Public Sub BuscaPartidaPorNumero(ByVal textoprocesar As String, ByVal anoestado As String)
'/////////////este codigo debe ser probado con mas de 100 partidas para verificar que haga la busqueda especificada en el textboxasiento///////////////
Dim estado As String
Dim numepa As Long
Dim fecha As String
Dim codigo As String
Dim concep As String
Dim debe As Double
Dim haber As Double
Dim item As Integer
Dim longitudnumero As Int64
Dim indicador As Boolean = False
Dim posicionbarra As Integer
Dim valorbuscar As String
Dim datosdeltext As String = textoprocesar
Dim descrip As String
Dim numregpar As Int64
Dim estadolocal As String = ""
Dim acumuladebelocal As Double = 0
Dim acumulahaberlocal As Double = 0
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Clear()
acumuladebe = 0
acumulahaber = 0
For index = 1 To Len(textoprocesar)
If Mid$(textoprocesar, index, 1) = "," Then
Else
longitudnumero = 0
'//////////////////esta for sirve para verificar la longitud de los numeros de partidas/////////////////
For index2 = index To Len(textoprocesar)
longitudnumero = longitudnumero + 1
If Mid$(textoprocesar, index2 + 1, 1) = "," Then
index2 = Len(textoprocesar)
Else
If Mid$(textoprocesar, index2 + 1, 1) = "-" Then
indicador = True
posicionbarra = index2 + 1
End If
End If
Next
'/////////////////////////////////////////////////////////////////////////////////////////////////////
If indicador Then
'MessageBox.Show("Datos: " + Mid$(TextBoxAsiento.Text, index, posicionbarra - 1) + " Dato2: " + Mid$(TextBoxAsiento.Text, posicionbarra + 1, longitudnumero))
valorbuscar = "where ld.numeropartida >= '" & Mid$(textoprocesar, index, posicionbarra - 1) & "' and ld.numeropartida <= '" & Mid$(textoprocesar, posicionbarra + 1, longitudnumero) & "'"
indicador = False 'se inicializa para que no de problemas
Else
valorbuscar = "where ld.numeropartida = '" & Mid$(textoprocesar, index, longitudnumero) & "'"
End If
'Sistemacontable.metodos.BuscaPartida(valorbuscar, filas)
'/////////////////////////////////////////////////////////////////////////////////////////////////////
Sistemacontable.indexconexionauxiliar.Conectar()
lector = Sistemacontable.indexconexionauxiliar.Consultar("S elect (select count(ldd2.itempartida) from librodiario as ld2 inner join librodiariodetalle as ldd2 on ld2.idlibrodiario=ldd2.idlibrodiario where ld2.numeropartida=ld.numeropartida) as numero,af.estado as estado,ld.numeropartida as numpartida,ld.fecha as fecha,c.idcatalogo as codigo,c.nombre as concepto,ldd.cargo as debe,ldd.abono as haber,ldd.itempartida as item,ld.descripcion as descripcion,ld.estadopartida as estadop from anosfiscales as af inner join librodiario as ld on af.idanosfiscales=ld.idanofiscales inner join librodiariodetalle as ldd on ld.idlibrodiario=ldd.idlibrodiario inner join catalogo as c on ldd.idcatalogo=c.idcatalogo " + valorbuscar + " and af.idanosfiscales='" + anoestado + "' order by ld.numeropartida,ldd.itempartida ASC")
Try
While lector.Read()
numregpar = lector.GetInt64("numero")
estado = lector.GetString("estado")
numepa = lector.GetInt64("numpartida")
fecha = lector.GetDateTime("fecha")
codigo = lector.GetString("codigo")
concep = lector.GetString("concepto")
debe = lector.GetDouble("debe")
haber = lector.GetDouble("haber")
item = lector.GetInt32("item")
descrip = lector.GetString("descripcion")
estadolocal = lector.GetString("estadop")
If estadolocal <> "Eliminado" Then
acumuladebe = acumuladebe + debe
acumulahaber = acumulahaber + haber
acumuladebelocal = acumuladebelocal + debe
acumulahaberlocal = acumulahaberlocal + haber
End If
If item = 1 Then
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", " PARTIDA # " + Convert.ToString(numepa), "", "")
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add(fecha, codigo + " " + concep, debex(debe), haberx(haber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Else
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", codigo + " " + concep, debex(debe), haberx(haber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
If item = numregpar Then
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "V/ " + descrip, "", "")
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "TOTAL", debex(acumuladebelocal), haberx(acumulahaberlocal))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
acumuladebelocal = 0
acumulahaberlocal = 0
End If
End If
'filas = filas + 1
End While
Catch ex As Exception
MessageBox.Show("Error en la busqueda: " + ex.Message)
End Try
Sistemacontable.indexconexionauxiliar.Desconectar( )
'///////////////////////////////////////////////////////////////////////////////////////////////////////////
index = index + longitudnumero '/////esta longitud se suma para que no itere mas de lo que se necesita, exactamente el numero de partidas colocados
End If
Next
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add("", "TOTAL", debex(acumuladebe), haberx(acumulahaber))
cambiacolordefila(estadolocal, Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Count)
End Sub
el punto de esto es lo siguiente, tengo dos o mas formularios
form1, form2, form3 .... hasta los que sean necesarios,
en estos formularios llamo algunos objetos iguales que en otros formularios, la funcion mostrada anterior mente la llamare de diferenes form necesito cambiar Form_librodiarioactualizar que es un form(formulario), que se encuentra en esta sentencia o tras mas que pudiera necesitar para actualizar estos objetos
Sistemacontable.Form_librodiarioactualizar.DataGri dViewConsPart.Rows.Add
para que sea reutilizable
por ejemplo
Sistemacontable.form1.DataGridViewConsPart.Rows.Ad d
Sistemacontable.form2.DataGridViewConsPart.Rows.Ad d
Sistemacontable.form2.DataGridViewConsPart.Rows.Ad d
segun sea el formulario del que lo llamo... en pocas palabras quisiera saber si puedo manejar este nombre como una variable(form1, form2, form3...) y como se haría... de antemano les agradezco estaré pendiente...
↧
Desprotección carpetas
A partir de Windows 7, debido a la autoprotección que establece Windows, los programas "extraños" no pueden guardar datos en el directorio C:. El Usuario de nuestro programa comprueba, por ejemplo, que sus datos no son guardados por el programa.
Para conseguirlo hay que proceder manualmente a reducir el nivel de protección estableciendo, enl el panel de control de cuentas de usuario, a su opción mínima "No notificar nunca" los cambios en el equipo. ¿Hay forma de realizar esto por software (hablo de VB 6.0), sin que el Usuario tenga que proceder manualmente?.
Gracias por vuestra ayuda
Para conseguirlo hay que proceder manualmente a reducir el nivel de protección estableciendo, enl el panel de control de cuentas de usuario, a su opción mínima "No notificar nunca" los cambios en el equipo. ¿Hay forma de realizar esto por software (hablo de VB 6.0), sin que el Usuario tenga que proceder manualmente?.
Gracias por vuestra ayuda
↧
Contar los números ingresados en un ListBox
Buenas amigos requiero de una gran ayuda espero poder contar con ustedes
Bueno necesito un código que me pueda contar los números ingresados en un ListBox, intente de muchas formas pero no me resulta.
tengo que ingresar 10 números y contar cuantos son menores a 100
Bueno necesito un código que me pueda contar los números ingresados en un ListBox, intente de muchas formas pero no me resulta.
tengo que ingresar 10 números y contar cuantos son menores a 100
↧
Como mostrar Numero de Fila y Columna en el editor de VB6
Por favor como muestro en el editor de Vb6 el numero de fila y columna en que me encuntro,
en mi caso no lo he podido activar, la verdad no se si se puede. Gracias
en mi caso no lo he podido activar, la verdad no se si se puede. Gracias
↧
↧
Generar rango de fechas
Buenos días.
Estoy realizando un pequeño sistema de agendamiento de citas con vb 6 y Access.
Lo que necesito es generar una cita cada hora de lunes a sábado y guardarlas en el campo de fecha y hora respectivamente de la base de datos que creé con Access y que cuando desee ingresar al sistema para agendar una cita aparezcan las citas y solamente deba buscar la fecha y hora deseada y modificar los campos como el nombre del cliente, dirección
etc.
¿Hay alguna forma de realizar esto con algún ciclo for o algo parecido para no tener que ingresar una cita manualmente a la base de datos para cada hora, para cada día del mes, para los próximos 3 o 5 años?
También pienso que se puede hacer una vez al mes que genere las citas para las próximas 2 o 3 semanas...
No se si me expliqué bien que es lo que necesito hacer.
La conexión a la base de datos la realicé por medio de un datacontrol ADO e ingreso los datos por medio de textbox.
Agradezco cualquier ayuda que me puedan brindar.
Estoy realizando un pequeño sistema de agendamiento de citas con vb 6 y Access.
Lo que necesito es generar una cita cada hora de lunes a sábado y guardarlas en el campo de fecha y hora respectivamente de la base de datos que creé con Access y que cuando desee ingresar al sistema para agendar una cita aparezcan las citas y solamente deba buscar la fecha y hora deseada y modificar los campos como el nombre del cliente, dirección
etc.
¿Hay alguna forma de realizar esto con algún ciclo for o algo parecido para no tener que ingresar una cita manualmente a la base de datos para cada hora, para cada día del mes, para los próximos 3 o 5 años?
También pienso que se puede hacer una vez al mes que genere las citas para las próximas 2 o 3 semanas...
No se si me expliqué bien que es lo que necesito hacer.
La conexión a la base de datos la realicé por medio de un datacontrol ADO e ingreso los datos por medio de textbox.
Agradezco cualquier ayuda que me puedan brindar.
↧
Problema con Combinar celdas en excel desde vb.net
Hola buen día me he topado con este problema:
Estoy haciendo algunos reportes en Excel desde vb.net y he encontrado una forma de combinar celdas pero me pasa lo siguiente:
Cuando hago una combinación de celdas que son horizontales funciona a la perfección por ejemplo:
pero cuando lo quiero hacer con celdas verticales ya no realiza la combinación, por ejemplo:
Alguien que tenga una idea de como puedo realizarlo.
Saludos
Estoy haciendo algunos reportes en Excel desde vb.net y he encontrado una forma de combinar celdas pero me pasa lo siguiente:
Cuando hago una combinación de celdas que son horizontales funciona a la perfección por ejemplo:
Código:
exHoja.Range("A1:S1").Merge(True)
Código:
exHoja.Range("A5:A6").Merge(True)
Saludos
↧
hacer juego de damas chinas en vb 6.0
hola necesito si alguien me podria ayudar a realizar un juego de damas chinas en visual basic 6.0 le agradeceria mucho
↧
eliminar un registro en archivo random
Hola soy jilo
me elimina un registro, pero luego me sale un registro en blanco en el ultimo registro
¿como puedo eliminar un registro en blanco
gracias
me elimina un registro, pero luego me sale un registro en blanco en el ultimo registro
¿como puedo eliminar un registro en blanco
Código:
Option Explicit
Private Type t_Colega
Nombre As String * 30
Edad As Integer
email As String * 50
End Type
Dim m_unColega As t_Colega
Dim m_numColegas As Long
Dim m_elColega As Long
Dim m_sFicColegas As String
Private Sub Command6_Click()
'Borrar
Dim Entrada As Integer, Salida As Integer, Registro As Single
Dim cont As Integer
Dim number As Integer
Dim index As Integer
cont = Val(Text5.Text)
If MsgBox("¿Seguro que quiere eliminar el registro" & " " & Val(cont) & "?", vbYesNo + vbDefaultButton4, "Eliminar Registro") = vbNo Then
Exit Sub
End If
Entrada = FreeFile
Open App.Path & "\Colegas.dat" For Random As #Entrada Len = Len(m_unColega)
Salida = FreeFile
Open App.Path & "\colega.tmp" For Random As #Salida Len = Len(m_unColega)
number = LOF(Entrada) / Len(m_unColega)
For index = 1 To number
Get #Entrada, , m_unColega
If index <> cont Then
Put #Salida, , m_unColega
End If
Next index
Close #Entrada
Close #Salida
Kill App.Path & "\Colegas.dat"
Name App.Path & "\colega.tmp" As App.Path & "\Colegas.dat"
End Sub
gracias
↧
↧
Problemas con trackbar y listbox
Hola como estan? tengo un problema tengo que hacer un ejercicio en visual basic que contenga un listbox y un trackbar la idea es que cuando adelante el trackbar en el listbox me vaya agregando el valor del trackbar :1/2/3/4/5/6 y cuando retroceda el trackbar me elimine de a uno esos valores realmente nose como hacer que me lo elimine se que es con una estructura FOR pero no me sale yo tengo hecho esto
Public Class Form1
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
Dim c As Integer
For c = 0 To TrackBar1.Value - 1
If ListBox1.Items(c) > TrackBar1.Value Then
ListBox1.Items.Remove(c)
End If
Next
End Sub
End Class
Muchas gracias!
Public Class Form1
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
Dim c As Integer
For c = 0 To TrackBar1.Value - 1
If ListBox1.Items(c) > TrackBar1.Value Then
ListBox1.Items.Remove(c)
End If
Next
End Sub
End Class
Muchas gracias!
↧
Error al mostrar datos en datagridview desde hilos multiples
Tengo un sistema que escanea la red ip por ip sacando informacion de cada dispositivo como ser la mac y el serial etc. El programa funciona correctamente si escaneo una ip a la vez pero tarda bastante tiempo por lo que decidi implementar el proceso con multiples hilos.
Parece funcionar bastante bien ya que hace el proceso correcto pero cuando muestro los datos en un datagridview me muestra un error y no tengo la mas minimia idea de como solucionarlo, ya probe controlando la cantidad de hilos que creo mientras el programa esta funcionando y aun asi me da el error.
Adjunto imagen del error que me arroja al usar try..catch
![]()
Ese error detiene completamente mi aplicacion.
Estas son las dos funciones principales de mi aplicacion:
Existe otra funcion que es la que obtiene los datos de los dispositivos conectados a la red pero solo devuelve cadenas.
Les agradecere su ayuda.
Parece funcionar bastante bien ya que hace el proceso correcto pero cuando muestro los datos en un datagridview me muestra un error y no tengo la mas minimia idea de como solucionarlo, ya probe controlando la cantidad de hilos que creo mientras el programa esta funcionando y aun asi me da el error.
Adjunto imagen del error que me arroja al usar try..catch

Ese error detiene completamente mi aplicacion.
Estas son las dos funciones principales de mi aplicacion:
Código:
Private Sub escanear(ip As IpAddress)
Dim Datos As New fPruebas
Dim oids As New vOids
Dim gupSpeed = ""
Dim gdownSpeed = ""
Dim gmodelo = ""
Dim gmac = ""
Dim gserial = ""
Dim gssid = ""
Dim gpasswifi = ""
Dim funcDatos As New fDatos
Dim salida As String
Dim funcFunciones As New ffunciones
Try
salida = Datos.extraerDatos(ip.ToString, oids.modelo)
If salida = "" Then
salida = Datos.extraerDatos(ip.ToString, oids.modelo2)
ElseIf salida = "" Then
salida = Datos.extraerDatos(ip.ToString, oids.modelo3)
Else
If salida = "" Then
End If
End If
salida = funcFunciones.eliminarEspacios(salida)
gmodelo = salida
'obtener serial
salida = Datos.extraerDatos(ip.ToString, oids.serial)
salida = funcFunciones.eliminarEspacios(salida)
gserial = salida
'obtener mac
salida = Datos.extraerDatos(ip.ToString, oids.mac)
salida = funcFunciones.eliminarEspacios(salida)
gmac = salida
'obtener subida y bajada
salida = Datos.extraerDatos(ip.ToString, oids.velocidad)
downUp(salida)
If gmodelo Is Nothing Then
'ssid
salida = Datos.extraerDatos(ip.ToString, oids.ssid)
gssid = salida
'obtener passWifi
salida = Datos.extraerDatos(ip.ToString, oids.passWifi)
gpasswifi = salida
Else
If gmodelo.ToString.Contains("SBG941") Or gmodelo.ToString.Contains("SBG901") Then
'ssid
salida = Datos.extraerDatos(ip.ToString, ssidSBG)
gssid = salida
'obtener passWifi
salida = Datos.extraerDatos(ip.ToString, passWifiSBG)
gpasswifi = salida
ElseIf gmodelo.ToString.Contains("TC7300") Then
'ssid
salida = Datos.extraerDatos(ip.ToString, ssidTechnicolor)
gssid = salida
'passWifi
salida = Datos.extraerDatos(ip.ToString, passWifiTechnicolor)
gpasswifi = salida
ElseIf gmodelo.ToString.Contains("CG3000D") Then
'ssid
salida = Datos.extraerDatos(ip.ToString, ssidNetgear)
gssid = salida
'obtener passWifi
salida = Datos.extraerDatos(ip.ToString, passWifiNetgear)
gpasswifi = salida
ElseIf gmodelo.ToString.Contains("HitronBroadbandCableModem") Then
'ssid
salida = Datos.extraerDatos(ip.ToString, ssidHiltron)
gssid = salida
'obtener passWifi
salida = Datos.extraerDatos(ip.ToString, passWifiHiltron)
gpasswifi = salida
ElseIf gmodelo.ToString.Contains("SMCNetworksCableModemRouter") Then
'ssid
salida = Datos.extraerDatos(ip.ToString, ssidSMC)
gssid = salida
'obtener passWifi
salida = Datos.extraerDatos(ip.ToString, passWifiSMC)
gpasswifi = salida
Else
salida = Datos.extraerDatos(ip.ToString, oids.ssid)
gssid = salida
salida = Datos.extraerDatos(ip.ToString, oids.passWifi)
gpasswifi = salida
End If
End If
'Escribir en el datarow
'MsgBox(Convert.ToString(ip) + " " + gmodelo + " " + gmac + " " + gserial + " " + "Descarga" + " " + "Subida" + " " + gssid + " " + gpasswifi)
System.Threading.Thread.Sleep(1000)
dataSalida.Rows.Add(Convert.ToString(ip), gmodelo, gmac, gserial, "Descarga", "Subida", gssid, gpasswifi)
'ListBox1.Items.Add(Convert.ToString(ip) & "||" & gmodelo & "||" & gmac & "||" & gserial & "||" & gdownSpeed & "||" & gupSpeed & "||" & gssid & "||" & gpasswifi)
CantHilos = CantHilos - 1
Application.DoEvents()
Catch ex As Exception
MsgBox(ex.Message & "Principal")
End Try
End Sub
Private Sub enviarIp()
Dim ipInicial As String = txtIpInicial.Text
Dim ipFinal As String = txtIpFinal.Text
Dim ipActual As New IpAddress(txtIpInicial.Text)
Try
While txtIpInicial.Text.ToString <> txtIpFinal.Text.ToString
If CantHilos < 100 Then
Dim hilo As Threading.Thread
hilo = New Threading.Thread(AddressOf escanear)
hilo.Start(ipActual)
CantHilos += 1
ipActual = ipActual.Increment(1)
txtIpInicial.Text = ipActual.ToString
Application.DoEvents()
Else
System.Threading.Thread.Sleep(1000)
End If
End While
btnIniciar.Text = "Iniciar"
btnDetener.Enabled = False
btnIniciar.Enabled = True
MsgBox("Proceso Terminado")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Les agradecere su ayuda.
↧
Matriz de caracol
Me podrian traducir este codigo a visul basic 6, ni siquiera se si funciona.
Código:
import java.util.Scanner;
/**
* Clase Para Ejecutar El Algoritmo Para Generar Una Matriz Caracol Cuadrada
* @author Daniel Alvarez (a3dany)
*/
public class MatrizCaracol {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Dimesión De La Matriz: ");
int n = in.nextInt();
mostrarMatriz(generarMatrizCaracol(n, 1), n, n);
}
/**
* Genera Una Matriz Caracol.
* @param n dimensión de la matriz cuadrada
* @param x numero con cual se iniciara la matriz caracol
* @return matriz de enteros con la matriz caracol ya generada.
*/
public static int[][] generarMatrizCaracol(int n, int x) {
int[][] M = new int[n + 1][n + 1];
for (int a = 1; a <= n / 2; a++) {
for (int i = a; i <= n - a; i++) {
M[a][i] = x;
x++;
}
for (int i = a; i <= n - a; i++) {
M[i][n - a + 1] = x;
x++;
}
for (int i = n - a + 1; i >= a + 1; i--) {
M[n - a + 1][i] = x;
x++;
}
for (int i = n - a + 1; i >= a + 1; i--) {
M[i][a] = x;
x++;
}
}
if (n % 2 == 1) {
M[n / 2 + 1][n / 2 + 1] = x;
}
return M;
}
/**
* Muestra Una Matriz Cualquiera Por Consola A Partir De La Fila 1 y Columna 1
* @param M matriz a mostrar
* @param f numero de filas de la matriz
* @param c numero de columnas de la matriz
*/
public static void mostrarMatriz(int[][] M, int f, int c) {
for (int i = 1; i <= f; i++) {
for (int j = 1; j <= c; j++) {
System.out.print("\t" + M[i][j]);
}
System.out.println();
}
}
}
↧
Mysql online con Visual Basic 6.0 (Sin Mysql Remoto)
Hola Comunidad!
A ver si alguien me puede dar luz a este tema!
Necesito conectar Visual Basic 6 con mi base de datos de Mysql que esta en mi Hosting, hasta ahi perfecto,
me puedo conectar dando a mi Mysql permisos de remoto, pero claro para eso tengo que poner la IP desde donde quiero acceder que seria mi pc.
Pero yo quiero hacer un programa para que pueda acceder cualquiera que tenga mi programa sin necesidad de tener que poner todas las ips para que puedan acceder.
Desde Basic4android lo consigo muy facil, hago una app y cualquier que tenga esa app puede leer, escribir etc en mi base de datos, pero desde Visual Basic no se como hacerlo.
Tambien he intentado con Json desde php, pero consigo pasar datos desde VB6 al php pero no se como hacerlo al reves, desde php pasar variables a VB6.
A ver si me podeis ayudar! llevo tiempo con esto y lo unico que hago es perder el tiempo!
Gracias a todos!
A ver si alguien me puede dar luz a este tema!
Necesito conectar Visual Basic 6 con mi base de datos de Mysql que esta en mi Hosting, hasta ahi perfecto,
me puedo conectar dando a mi Mysql permisos de remoto, pero claro para eso tengo que poner la IP desde donde quiero acceder que seria mi pc.
Pero yo quiero hacer un programa para que pueda acceder cualquiera que tenga mi programa sin necesidad de tener que poner todas las ips para que puedan acceder.
Desde Basic4android lo consigo muy facil, hago una app y cualquier que tenga esa app puede leer, escribir etc en mi base de datos, pero desde Visual Basic no se como hacerlo.
Tambien he intentado con Json desde php, pero consigo pasar datos desde VB6 al php pero no se como hacerlo al reves, desde php pasar variables a VB6.
A ver si me podeis ayudar! llevo tiempo con esto y lo unico que hago es perder el tiempo!
Gracias a todos!
↧
↧
Formulario en ventana oculta
Hola.
Tengo una aplicación que cuando se ejecuta en algunos ordenadores aparece en la barra de tareas pero no hay manera de traer el formulario de inicio al frente.
Así:
Cuando se ejecuta en un portátil con Windows 8 y VS Express instalado y en un netbook con Windows 7 y MS Net framework 4.5 aparece la aplicación oculta.
Sin embargo, cuando la ejecuto en dos sobremesa distintos con VS Express sobre Windows 7 la aplicación se ejecuta con normalidad.
La aplicación está compilada tanto en el portátil como en el sobremesa, y en ambos casos ocurre lo mismo.
¿Podéis orientarme?
Gracias mil.
Tengo una aplicación que cuando se ejecuta en algunos ordenadores aparece en la barra de tareas pero no hay manera de traer el formulario de inicio al frente.
Así:
Cuando se ejecuta en un portátil con Windows 8 y VS Express instalado y en un netbook con Windows 7 y MS Net framework 4.5 aparece la aplicación oculta.
Sin embargo, cuando la ejecuto en dos sobremesa distintos con VS Express sobre Windows 7 la aplicación se ejecuta con normalidad.
La aplicación está compilada tanto en el portátil como en el sobremesa, y en ambos casos ocurre lo mismo.
¿Podéis orientarme?
Gracias mil.
↧
Problema para realizar una busqueda de dato numerico usando OleDbDataAdapter
PRESENTACION:
Hola Buenos días
Mi nombre es Roberto, estoy estudiando hace poco Visual Basic .NET, estoy armando un Formulario que lee datos de una base Sql Server, campos texbox y labels para realizar ingreso de datos, inserto, actualizo y elimino, visualizo ademas los registros en una DataGridView. He realizado consultas SQl, busquedas por diversos campos, todo bien hasta ahora salvo por lo siguiente:
PROBLEMA:
Estoy realizando una búsqueda en una tabla cualquiera de SQL Server de un campo numerico, ejemplo campo: transaction_id, pero hasta ahora cuando hago la consulta no "me arroja nada de vuelta". Un ejemplo es lo siguiente que esta dentro de un botón, que por ahora para tratar de entener lo que me ocurre, lo estoy enviado a un control ListView:
Dim oDataAdapter As New SqlDataAdapter("select employee_id from labor where employee_id = '0015' and transaction_id = 1637805", cn01)
Dim ODataSet As New DataSet
cn01.Open()
oDataAdapter.Fill(ODataSet, "labor")
cn01.Close()
Dim oTabla As DataTable
oTabla = ODataSet.Tables("labor")
Dim oFila As DataRow
'
Me.ListView1.Clear()
For Each oFila In oTabla.Rows
Me.ListView1.Items.Add(oFila.Item("transaction_id" ) & " - " & oFila.Item("employee_id"))
Next
MsgBox("proceso terminado")
El proceso es simple, busco la "transaccion" por el campo transaction_id en la tabla Labor (donde existe el campo). A pesar que la transacción que busco existe (ejemplo: 1637805), no me arroja ningún registro, por ende, mi control Listview permanece sin contenido. Tratando de buscar una explicación realice una búsqueda parecida pero por otro campo "employee_id" que corresponde al Código de Empleado y en esa busqueda busque sólo los primeros 10 registros y usando el mismo código me llena el control Listview indicándome con ello que el código esta correcto, pero toda vez que trato de indicar el campo NUMÉRICO llamado transaction_id, que es un campo único e irrepetible para un registro en particular "no me devuelve nada". Se me ocurre pensar que pueda ser la manera de realizar la consulta, como es un número el dato lo paso sin "cremillas", pero nada, le agrego cremillas nada....asumo y creo entender que va por ese lado, para mi debería ser algo simple, pero aún me sigo dando vueltas sin poder resolver la situación y la verdad ya he agotado todas las instancias antes de contactarlos a Uds.
Tal vez el tratamiento que realizo en la sentencia SQL Server para la búsqueda del número no sea la correcta, como les mencione estoy recién trabajando con .NET, me traspase de Visual Basic 6.0 a .NET en este ultimo mes.
Otra cosa que se me ocurre pensar es que el SQLDataAdapter tenga un "limite" en la cantidad de registros que se carghen (aunque les recuerdo que la sentencia SQL usada filtra específicamente un sólo registro, otra cosa que se me ocurrió es que tal vez, la sentencia SQL se demora en cargar los registros, pero eso significaría que debo aumentar el tiempo de espera de la ejecución de la sentencia???, si ese es el caso como debo hacerlo??), como ven ya no se que mas pensar, se me terminaron mis ideas, a lo mejor la solución es mas fácil que todo lo que he pensado, espero Uds. puedan ayudarme con esto.
El dato que busco "transaction_id" me permitirá llegar al registro especifico que quiero mostrar por pantalla, ya que me servirá de base, para traer los campos que quiera visualizar en los texbox y labels que tengo.
Espero que Uds. puedan ayudarme, dudas o consultas ruego me escriban.
De antemano muchas gracias.
Roberto Fuentealba B..
Santiago - Chile.
Hola Buenos días
Mi nombre es Roberto, estoy estudiando hace poco Visual Basic .NET, estoy armando un Formulario que lee datos de una base Sql Server, campos texbox y labels para realizar ingreso de datos, inserto, actualizo y elimino, visualizo ademas los registros en una DataGridView. He realizado consultas SQl, busquedas por diversos campos, todo bien hasta ahora salvo por lo siguiente:
PROBLEMA:
Estoy realizando una búsqueda en una tabla cualquiera de SQL Server de un campo numerico, ejemplo campo: transaction_id, pero hasta ahora cuando hago la consulta no "me arroja nada de vuelta". Un ejemplo es lo siguiente que esta dentro de un botón, que por ahora para tratar de entener lo que me ocurre, lo estoy enviado a un control ListView:
Dim oDataAdapter As New SqlDataAdapter("select employee_id from labor where employee_id = '0015' and transaction_id = 1637805", cn01)
Dim ODataSet As New DataSet
cn01.Open()
oDataAdapter.Fill(ODataSet, "labor")
cn01.Close()
Dim oTabla As DataTable
oTabla = ODataSet.Tables("labor")
Dim oFila As DataRow
'
Me.ListView1.Clear()
For Each oFila In oTabla.Rows
Me.ListView1.Items.Add(oFila.Item("transaction_id" ) & " - " & oFila.Item("employee_id"))
Next
MsgBox("proceso terminado")
El proceso es simple, busco la "transaccion" por el campo transaction_id en la tabla Labor (donde existe el campo). A pesar que la transacción que busco existe (ejemplo: 1637805), no me arroja ningún registro, por ende, mi control Listview permanece sin contenido. Tratando de buscar una explicación realice una búsqueda parecida pero por otro campo "employee_id" que corresponde al Código de Empleado y en esa busqueda busque sólo los primeros 10 registros y usando el mismo código me llena el control Listview indicándome con ello que el código esta correcto, pero toda vez que trato de indicar el campo NUMÉRICO llamado transaction_id, que es un campo único e irrepetible para un registro en particular "no me devuelve nada". Se me ocurre pensar que pueda ser la manera de realizar la consulta, como es un número el dato lo paso sin "cremillas", pero nada, le agrego cremillas nada....asumo y creo entender que va por ese lado, para mi debería ser algo simple, pero aún me sigo dando vueltas sin poder resolver la situación y la verdad ya he agotado todas las instancias antes de contactarlos a Uds.
Tal vez el tratamiento que realizo en la sentencia SQL Server para la búsqueda del número no sea la correcta, como les mencione estoy recién trabajando con .NET, me traspase de Visual Basic 6.0 a .NET en este ultimo mes.
Otra cosa que se me ocurre pensar es que el SQLDataAdapter tenga un "limite" en la cantidad de registros que se carghen (aunque les recuerdo que la sentencia SQL usada filtra específicamente un sólo registro, otra cosa que se me ocurrió es que tal vez, la sentencia SQL se demora en cargar los registros, pero eso significaría que debo aumentar el tiempo de espera de la ejecución de la sentencia???, si ese es el caso como debo hacerlo??), como ven ya no se que mas pensar, se me terminaron mis ideas, a lo mejor la solución es mas fácil que todo lo que he pensado, espero Uds. puedan ayudarme con esto.
El dato que busco "transaction_id" me permitirá llegar al registro especifico que quiero mostrar por pantalla, ya que me servirá de base, para traer los campos que quiera visualizar en los texbox y labels que tengo.
Espero que Uds. puedan ayudarme, dudas o consultas ruego me escriban.
De antemano muchas gracias.
Roberto Fuentealba B..
Santiago - Chile.
↧
Espiral
Hola me podrian ayudar con este codigo que hice, es para buscar coordenadas en forma de espiral,funciona pero tiene algunos defectos.
!podrian revisarlo por favor.!
Usa:
-Command1
-List1
-List2
!podrian revisarlo por favor.!
Usa:
-Command1
-List1
-List2
Código:
Dim XTemp%, YTemp%, Xinicial, Yinicial, Contador%, Fila%, Cuenta$, Distancia%, fin%(1 To 4), final(1 To 4) As Boolean, Finalizar As Boolean
Function Ordenar_Controles()
Command1.Top = 5280
Command1.Left = 960
List1.Top = 240
List1.Left = 5280
List1.Height = 6495
List2.Top = 240
List2.Left = 6720
List2.Height = 6495
'List3.Top = 240
'List3.Left = 7680
'List3.Height = 6495
End Function
Private Sub Form_Load()
Xinicial = 4000
Yinicial = 1600
XTemp = 4000 'x Temp
YTemp = 1600 'YTemp
Cuenta = "-"
Contador = 1
Fila = 2
Distancia = 55
'Zona de busqueda
fin(1) = 1000 'left x
fin(2) = 5000 'right x
fin(3) = 1000 'up Y
fin(4) = 5000 'down Y
Ordenar_Controles
End Sub
Private Sub Command1_Click()
Me.Cls
Me.DrawWidth = 2
Me.Line (900, 900)-(5150, 900), vbGreen
Me.Line (900, 900)-(900, 5150), vbGreen
Me.Line (5150, 900)-(5150, 5150), vbGreen
Me.Line (900, 5150)-(5150, 5150), vbGreen
Me.DrawWidth = 1
final(1) = False
final(2) = False
final(3) = False
final(4) = False
XTemp = Xinicial
YTemp = Yinicial
Cuenta = "-"
Contador = 1
Fila = 2
'Distancia = Text1
Finalizar = False
While Finalizar <> True
If final(1) = True And final(2) = True And final(3) = True And final(4) = True Then
' List3.AddItem final(1) & " " & final(2) & " " & final(3) & " " & final(4)
Finalizar = True
Else
Me.Caption = ">>>>>>>>>>>>>> Buscando <<<<<<<<<<<<<<"
If Contador <= Fila Then
If Cuenta = "-" Then
If XTemp > fin(1) Then
XTemp = XTemp - Distancia
Else
final(1) = True
End If
Else
If XTemp < fin(2) Then
XTemp = XTemp + Distancia
Else
final(2) = True
End If
End If
Contador = Contador + 1
'Me.PSet (xTemp YTemp), vbBlue
End If
If Contador >= Fila Then
If Cuenta = "-" Then
If YTemp > fin(3) Then
YTemp = YTemp - Distancia
Else
final(3) = True
End If
Else
If YTemp < fin(4) Then
YTemp = YTemp + Distancia
Else
final(4) = True
End If
End If
Contador = Contador + 1
' Me.PSet (xTemp YTemp), vbRed
End If
Me.PSet (XTemp, YTemp), vbRed
'List1.AddItem XTemp & " " & YTemp
'List2.AddItem S
If Contador <= Fila * 2 Then
Else
Contador = 1
Fila = Fila + 1
If Cuenta = "-" Then Cuenta = "+" Else Cuenta = "-"
End If
'List3.AddItem final(1) & " " & final(2) & " " & final(3) & " " & final(4)
End If
Wend
Me.Caption = ">>>>>>>>>>>>>> Fin <<<<<<<<<<<<<<"
End Sub
↧