PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  59262 - CONECTAR VISUAL BASIC 6.0 Y DBASE IV,
Autor:  rogelio ramirez
por favor necesito saber si alguien tiene algun codigo para hacer una conecccion y migrar datos de dbase iv a visual basic 6.0, en s. o. xp sp2, ya que a la hora de buscar en complementos-administrador visual de datos. archivo-abrir base de datos-dbase iv me marca el error 3170 "no se pudo encontrar el isam instalable", si alguien tiene la solucion.. me la puede enviar.. gracias por leer
  Respuesta:  LUIS ALEJANDRO FRANCO RODRIGUEZ
Buenos dias amigo

Te comento que ese erroro me lo arrojaba mucho a mi, lo que hice fue instalar vb6 con servipack2 y listo intenta a ver que tal... existe un parche en internet descargalo o si no compralo...

    Pregunta:  59329 - GRAFICAR DOS LINEAS EN UN PICTUREBOX
Autor:  RICARDO Canabal
Hola quisiera ver si alguien me puede ayudar a graficar dos lineas en un picturebox.

utilizo el comando
picturebox1.line -(x1,y1)
picturebox1.line-(x2,y2)

el valor de x, es un contador para que camine la grafica en forma horizontal.
y los valores de y1, y2 son valores diferentes que son los que me interesa visualizar.
el problema es que si utilizo los picturebox1.line en forma independiente no hay ningun problema de grafica. pero cuando quiero que aparescan las dos graficas juntas, los valores de los puntos de y1,y2 se me juntan y sale puras rayas.
ya intente con matrices y pasa lo mismo, nose creo que puede ser por el autoredraw, pero no lo he conseguido, o posiblemente alguien tiene una mejor idea.
En resumen quiero poder graficar dos o tres lineas cada con sus verdaderos valores.
estos valores cambian en tiempo real ya que estoy metiendo datos por una tarjeta de adquisicion de datos.
Ojala puedan ayudarme, para no comprar los oxc de graficadoras xy.

Gracias
  Respuesta:  Jose Florentino Flores Valle
Comando para trazar una linea:

object.Line Step (x1, y1) - Step (x2, y2), color, BF

El método Line dibuja líneas y en ciertas condiciones cajas rectangulares de lados horizontales y verticales.

donde object es un objeto graficador de Visual Basic (Form1, Picture1), step (Marca el paso de donde hacia donde), color (vbBlack, vbRed), (x1, y1) son opcionales y son las coordenadas del punto inicial de la línea, si estos se omiten, la línea comienza en las coordenadas finales del ultimo trazado del objeto, (x2, y2) son obligados y contienen las coordenadas del punto final de la línea, (B) es un carácter opcional, que si se incluye se dibuja un rectángulo (Box) con los puntos dados como extremos de una de sus diagonales y (F) es también un carácter opcional, que sólo se puede incluir si se ha incluido B, si este se incluye, la caja rectangular se rellena (Fill) con el mismo color del contorno, si se omite la caja se rellena con las propiedades FillColor y FillStyle del objeto en el que se dibuja.

Cuando graficas en un picturebox o form, usas un "punto trazador" llamado "Current". Lo que sucede es que al final de graficar esa linea, ese punto queda con las coordenadas del final de la linea, y por lo tanto al trazar una nueva sin (x1, y1), empezara desde ahi. Para posicionar "Current", debes usar CurrentX y CurrentY, por ejemplo para posicionar el punto desde su origen se ocupa:

object.CurrentX = 0
object.CurrentY = 0

Donde object es un objeto graficador de Visual Basic (Form1, Picture1).

    Pregunta:  59382 - TABLAS TEMPORALES EN CRYSTAL REPORTS 6.0
Autor:  Alex Fonseca
Tengo la siguiente consulta saben como indicarle a Crystal Reports que se trata de una Tabla Temporal o varias Tablas Temporales.

Ocupo saber ¿Cómo se diseñaría? y si desde Visual no habría problemas al llamar al reporte o si se debe indicar que el reporte debe tomar los datos desde varias tablas temporales.

ojo lo ocupo para utilizar dentro de 5 subreportes y cada sub-reporte se llenaría con datos de una tabla temporal.
  Respuesta:  Saul Garay
Buenos dias Alex.-

No veo cual puede ser el problema, si le indicas al CRYSTAL la ubicacion de las tablas el te tomara los datos igualmente, siempre y cuando desde la rutina de programacion VB, indiques de alguna forma la ubicacion de los datos es decir al que haces referencia como temporal (ALGO ASI COMO LIMPIAR LA TABLA Y LLENARLA NUEVAMENTE).

EXITO.

SAUL GARAY

    Pregunta:  59446 - ¿CÓMO SABER SI ALGUIEN DESPROTEGE UNA HOJA EXCEL PROTEGIDA?
Autor:  Carlos Caicedo
En la actualidad tengo unos formatos en EXCEL con funcionalidades desarrolladas en Visual Basic. Dichos formatos los utilizan otras personas para ingresar datos. La hoja está protegida con clave, pero sospecho que algunos usuarios la están desprotegiendo y luego la vuelven a proteger. Los formatos luego de que son diligenciados vuelven a mi, por lo cual he pensado que tal vez pueda darme cuenta si la desprotegen o no, tal vez registrando en una celda algún indicador en el momento en que se produzca la desprotección (algo así como un evento).

Pensé que podía tal vez lograrlo mediante alguna de las opciones de la propiedad Worksheet.Protection (como por ejemplo AllowInsertingColumns), pero dicha propiedad me indica que la hoja está protegida en todo momento ya que yo la protejo mediante el método Worksheet.Protect Password:="la clave", userinterfaceonly:=True, y sin importar que el usuario la desproteja "manualmente", la opción AllowInsertingColumns me sigue mostrando que está protegida.

Entonces, ¿De qué forma puedo lograr saber si el usuario desprotege la hoja?

Gracias por su ayuda.
  Respuesta:  Saul Garay
Buenos dias Carlos.-

Tienes 2 formas.-

1.- Ver la fecha de modificacion del archivo.
2.- Si quieres algo mas especifico, hay una opcion que tiene el excel, ubicada en herramientas, y luego escenarios, alli lo puedes programar a tu gusto, cuando cierras la hoja y la abres nuevamente ingresas a esta opcion en resumen y te da todos los datos que fueron modificados, si tus sospechas son ciertas, y la hoja la tienes vinculada con una rutina en VB, hay formas para capturar la ip, nombre de la maquina y hora de acceso.

Puedes escribirme para mayor detalle.

EXITO

SAUL GARAY

    Pregunta:  59471 - ENLAZAR DOS PROYECTOS
Autor:  Freddy Contreras
Hola;

Quisiéra saber cómo puedo enlazar dos o más Proyectos en Visual Basic 6.

Gracias..
  Respuesta:  Sandra
Hola Freddy, me imagino que en los dos tedras un ejecutable. ".exe" por lo que entiendo quieres llamar a uno mientras tienes abierto otro. Pues bien lo que tendrias que hacer es en el codigo del proyecto principal llamar al proyecto hijo en el evento que desees con el comando Shell, por ejemplo:
CODIGO DEL PROYECTO PRINCIPAL
...
.....................
...............................
Shell "c:/winnt/Proyectohijo.exe", vbNormalFocus
............
....................

Espero haberte ayudado, si no era esa tu pregunta intenta explicarlo de otra forma.

    Pregunta:  59519 - ORDENAR MSFLEXGRID POR CABECERAS
Autor:  membrillo mem
Alguien me podria decir como hacer que el MSFlexGridd me realice un ordenamiento de los datos segun yo clickee en las cabeceras de este. Justo como se realiza en la vista en detalles en el explorador de windows,... cuando clickeas la cabecera de nombre, se ordenan los archivos por nombre de manera descendente y si clikeas otra vez se ordena de manera ascendente, igual que con las demas columnas.

Me gustaria hacer los mismo en Visual Basic 6.

se me olvidaba, como poner nombre a las cabeceras del MSFlexGrid

Gracias
  Respuesta:  Gustavo López
Hola, para eso que quieres hacer, te recomiendo usar el componente "ListView".
Tiene el evento "ColumnClick" y la propiedad "SortOrder" y "Sorted" para indicarle por que columna ordenar ...

Espero te sirva ...

Saludos,
Gustavo.-

    Pregunta:  59588 - BASE DE DATOS DE ACCESS 97 SE DAÑA EN SERVIDOR WINDOWS 2003
Autor:  Alfonso Valle
Hola a todos,

Mi problema es que, tengo una aplicación desarrollada en Visual basic 6.0, que utiliza una base de datos en Access 97. La base de datos estaba en una carpeta compartida en un Servidor con Windows 2000 Advance Server. Los usuarios accesaban a través de conexiones ODBC dirigidas a la carpeta compartida del Servidor. Actualmente se cambió este servidor por uno con Windows 2003 Server Enterprise. Se pasaron los archivos de BD a una carpeta compartida en este servidor y se configuraron conexiones ODBC en la PC de los usuarios con Windows XP. Pero resulta que una de las BD en Access 97 se daña frecuentemente y tengo que repararla (Esto no sucedía antes). Podría alguien ayudarme si tengo que configurar algo en el nuevo servidor o las PC de los usuarios. Gracias
  Respuesta:  Saul Garay
Buenos dias amigo.-

Yo tambien tengo una base de datos en ACCES compartida en un servidor con WINDOWS SERVER 2003, eso sucede cuando hay cambios repentinos de electricidad y la base de datos queda abierta, esto es algo inevitable, yo lo solvente con unos UPS en el servidor, claro esta que en el mantenimiento continuo que se le debe hacer a la base de datos esta en repararla y compactarla, pero como tu mismo dices esto no debe ser muy seguido, aplicale los UPS y veras que te reduce el problema.

Exito.

SAUL GARAY

    Pregunta:  59624 - DUDAS CON ENCRIPTACION POR SUSTITUCION
Autor:  Francisco Camacho
La siguiente funcion trabaja perfectamente para cifrar una cadena de texto, el problema lo tengo es con la inversa, que no he logrado hacer lo contrario la presento a continuacion, explico, la funciona Cifrado esta bien la ayuda la necesito con Descifrar

'-------------------------------------------------------------------------
'FUNCION CIFRADO (FUNCIONA PERFECTAMENTE)
'-------------------------------------------------------------------------
Public Function Cifrado(ByVal Entrada As String, _
Optional CodigoOriginal As String = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 #$%.-,+*)(_", _
Optional CodigoCifrado As String = "3E3D3C3B3A393837363534333231AE302F2E2D2C2B2A29282726254F4E4D4C4B4A494847465F4F2F1F5152535455565720") As String
Dim i As Long
Dim j As Long
Dim retStr As String
Dim c As String * 1
Entrada = UCase(Entrada)
For i = 1 To Len(Entrada)
c = Mid(Entrada, i, 1)
j = InStr(1, CodigoOriginal, c)
If j > 0 Then
retStr = retStr & Mid(CodigoCifrado, ((j * 2) - 1), 2)
Else
retStr = retStr & c
End If
Next i
Cifrado = retStr
End Function

'---------------------------------------------------------------
'FUNCION DESCIFRADO (AQUI ES LA DUDA)
'---------------------------------------------------------------

Public Function Descifrado(ByVal Entrada As String, _
Optional CodigoOriginal As String = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 #$%.-,+*)(_", _
Optional CodigoCifrado As String = "3E3D3C3B3A393837363534333231AE302F2E2D2C2B2A29282726254F4E4D4C4B4A494847465F4F2F1F5152535455565720") As String
Dim i As Long
Dim j As Long
Dim retStr As String
Dim c As String * 1
Entrada = UCase(Entrada)
For i = 1 To Len(Entrada)
c = Mid(Entrada, i, 1)
j = InStr(1, CodigoCifrado, c)
If j > 0 Then
retStr = retStr & Mid(CodigoOriginal, ((j * 2) - 1), 1)
Else
retStr = retStr & c
End If
Next i
Descifrado = retStr
End Function

Agradezco lo que puedan hacer por mi, Gracias de antemano
  Respuesta:  Charlie Steel
Public Function Descifrado(ByVal Entrada As String, _
Optional CodigoOriginal As String = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 #$%.-,+*)(_", _
Optional CodigoCifrado As String = "3E3D3C3B3A393837363534333231AE302F2E2D2C2B2A29282726254F4E4D4C4B4A494847465F4F2F1F5152535455565720") As String
Dim i As Long
Dim j As Long
Dim retStr As String
Dim c As String * 2
Entrada = UCase(Entrada)
For i = 1 To Len(Entrada)
c = Mid(Entrada, i, 2)
i = i + 1
j = (InStr(1, CodigoCifrado, c, vbBinaryCompare) + 1)
If j > 0 Then
retStr = retStr & Mid(CodigoOriginal, ((j / 2)), 1)
Else
retStr = retStr & c
End If
Next i
Descifrado = retStr
End Function

'Esto es lo que necesitabas???

    Pregunta:  59629 - PINTAR GRAFICO EN OTRA VENTANA
Autor:  alberto gonzalez
Hola, tengo un proyecto en vb 2008. Tengo una ventana principal donde recojo los puntos que el usuario introduce para despues dibujar un triangulo. El problema que tengo es que quiero pintar este triangulo en otra ventana, que ya tiene el contenedor panel para dibujar. Este utlima ventana ya tiene la funcion Panel1_Paint donde pinta el triangulo. El problema es que no se como llamarla desde la otra ventana cuando le doy al boton aceptar.

Aqui os pongo el codigo.
Public Class Principal

Public valorP1X, valorP1Y, valorP2X, valorP2Y, valorP3X, valorP3Y As Integer
Private Sub Aceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Aceptar.Click

valorP1X = P1X.Text
valorP1Y = P1Y.Text
valorP2X = P2X.Text
valorP2Y = P2Y.Text
valorP3X = P3X.Text
valorP3Y = P3Y.Text

End Sub

End Class

Public Class VentanaGraficos

Public Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
Dim grafico As Graphics = e.Graphics
Dim p1 As Point
Dim p2 As Point
Dim p3 As Point
Dim punta As Pen
Dim varP1x, varP1y, varP2x, varP2y, varP3x, varP3y As Integer

varP1x = Principal.valorP1X
varP1y = Principal.valorP1Y
p1 = New Point(varP1x, varP1y)
varP2x = Principal.valorP2X
varP2y = Principal.valorP2Y
p2 = New Point(varP2x, varP2y)
varP3x = Principal.valorP3X
varP3y = Principal.valorP3Y
p3 = New Point(varP3x, varP3y)

MsgBox(varP1x)

punta = New Pen(Color.Aqua, 1) 'un ‘lapiz’ del color Aqua

grafico.DrawLine(punta, p1, p2) ' drawline(Pens.Azure,x1,y1,x2,y2)
End Sub
End Class
  Respuesta:  eider mauricio aristizabal erazo
coloca publica la funcion del formulario que pinta los datos y la invocas desde el formulario que captura los datos...
Saludos,

    Pregunta:  59692 - EL ORDEN DE ACCESS NO COINCIDE CON DATAGRID
Autor:  gaston gonzalez
hola , he creado una aplicacion en vb6 que a traves de un form ingreso datos a un base access pero cuando hago una consulta a traves de vb veo que el orden del datagrid del form no es el mismo que el de access.
mi pregunta es que causa eso y como solucionarlo. necesito que el datagrid este ordenado de forma descendente tal como en access. desde ya muchas gracias
  Respuesta:  marco -
Puedes soluicionarlo agregando al final de la sentencia SQL el comando order by y el nombre del campo.
Ej.
Select * from ventas order by fecha

|<  <<  290 291 292 293 294 295 296 297 298 299 300  >>  >|