PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  25854 - WINIO.DLL PARA PUERTO PARALELO
Autor:  Miguel Alejandro Ubillo Illanes
Estimados
Envestigando pude encontrar una dll para controlar el puerto paralelo( INPOUT32.dll) la cual funciona perfectamente en windows 95 y 98 pero no asi en windows me, 2000, nt . Para eso encontre referencias a una dll llamada WinIO . Lo que necesito en un programa o codigo fuente donde se muestre el uso de esta, ya que hasta ahora solo he conseguido el modulo de visual basic. Quien pudiera otorgarme informacion se lo agradeceria enormente.

Saludos desde Chile
  Respuesta:  fisicomolon
Hola, yo he hecho programas de control de puerto paralelo, primero hice uno en win98 pero al cambiar al xp, no funcionaba, cambie la libreria el modulo y algo del codigo, para conseguir que funcione en xp. Ambos programas, codigos, librerias, modulos y ejecutables, puedes encontrarlos en mi pagina web. www.fisicomolon.tk en la seccion PUERTO PARALELO EN VISUAL BASIC.

Si aun asi necesitas más ayuda puedes escribirme un mail. No se si te ha servido esto de algo, porque no veo la fecha en la que hiciste esta pregunta por ningun lado, bye.

Saludos desde España ;)

    Pregunta:  25863 - INSERTAR EN LA BASE DE DATOS ARCHIVOS PLANOS
Autor:  María Isabel Mora Penagos
Hola, necesito que por favor me comenten si existe una o varias instrucciones en Visual Basic 4.0 para subir archivos planos a una base de datos en Access si necesidad de leer linea por linea e insertar en una tabla.

Tengo el siguiente código, el cual crea una tabla con la información del archivo plano, pero no se como insertar esta información a una tabla existente.

Set MyTableDef = gBD(0).CreateTableDef("PERSONAS_INICIAL")

MyTableDef.Connect = "Text;Database=C:DATOS\"
MyTableDef.SourceTableName = "Plano.txt"

gBD(0).TableDefs.Append MyTableDef

Por otra parte, cuando se utiliza este código los datos de tipo double no suben correctamente y el encabezado de la tabla es el primer registro o la primera linea del archivo plano.

Agradezco la colaboración.
  Respuesta:  Christian Tomas Benitez Morel
Hola, hay una forma, comun, vieja y sencilla de hacer eso que vos queres,
que es con la instruccion OPEN que se utilizaba con basic para abrir archivos de acceso directo y secuencial, ej. Open txtNombreArchivo For Random As #1 Len = Len(MiRegistro)
Cant = Int(LOF(1) / Len(MiRegistro)) + 1

If Cant > 0 Then
posicion = 1
sInSQL = "delete from tmpMarcas"
Ejecuta_Instruccion_ABM sInSQL
lblAccion = "Importando datos del Reloj"
pBarOperacion.Value = 0
pBarOperacion.Max = Cant

Else
MsgBox "Error, el archivo no contiene datos"
End If

For posicion = 1 To Cant

pBarOperacion.Value = posicion

Get #1, posicion, MiRegistro

If InStr(1, UCase(MiRegistro.Ced), "F") > 0 Then
sCedula = Trim(Left(MiRegistro.Ced, InStr(1, UCase(MiRegistro.Ced), "F") - 1))
Else
If IsNumeric(MiRegistro.Ced) Then sCedula = MiRegistro.Ced
End If

If IsNumeric(sCedula) And IsDate(MiRegistro.fecha) _
And Len(Trim(MiRegistro.Hora)) = 5 _
And Len(Trim(MiRegistro.tipo)) = 1 Then
If Format(sFechaMin, "yyyymmdd") > Format(MiRegistro.fecha, "yyyymmdd") Then
sFechaMin = MiRegistro.fecha
End If
If Format(sFechaMax, "yyyymmdd") < Format(MiRegistro.fecha, "yyyymmdd") Then
sFechaMax = MiRegistro.fecha
End If

sInSQL = "insert into Marcas "
sInSQL = sInSQL + "(ced, fecha, hora, tipo, nodo, obs)"
sInSQL = sInSQL + " values ("
sInSQL = sInSQL + Trim(sCedula)
sInSQL = sInSQL + ", '" + Trim(MiRegistro.fecha)
sInSQL = sInSQL + "', '" + Trim(Left(Trim(MiRegistro.Hora), 2) + Right(Trim(MiRegistro.Hora), 2))
Select Case Trim(MiRegistro.tipo)
Case "1", "E"
sTipo = "E"
Case "2", "S"
sTipo = "S"
End Select

sInSQL = sInSQL + "', '" + Trim(sTipo)
sInSQL = sInSQL + "', '" + Trim(MiRegistro.Filler)
sInSQL = sInSQL + "', '" + sSucursal + "')"
Ejecuta_Instruccion_ABM sInSQL

sInSQL = "insert into tmpMarcas "
sInSQL = sInSQL + "(ced, fecha, hora, tipo, nodo, obs)"
sInSQL = sInSQL + " values ("
sInSQL = sInSQL + Trim(sCedula)
sInSQL = sInSQL + ", '" + Trim(MiRegistro.fecha)
sInSQL = sInSQL + "', '" + Trim(Left(Trim(MiRegistro.Hora), 2) + right(Trim(MiRegistro.Hora), 2))
Select Case Trim(MiRegistro.tipo)
Case "1", "E"
sTipo = "E"
Case "2", "S"
sTipo = "S"
End Select

sInSQL = sInSQL + "', '" + Trim(sTipo)
sInSQL = sInSQL + "', '" + Trim(MiRegistro.Filler)
sInSQL = sInSQL + "', '" + sSucursal + "')"
Ejecuta_Instruccion_ABM sInSQL

End If
sCedula = ""
Next posicion
Close #1

  Respuesta:  Christian Tomas Benitez Morel
Hola, hay una forma, comun, vieja y sencilla de hacer eso que vos queres,
que es con la instruccion OPEN que se utilizaba con basic para abrir archivos de acceso directo y secuencial, ej.

'Definicion del registro en el modulo
Type Record
Ced As String * 9
fecha As String * 9
Hora As String * 6
tipo As String * 1
Filler As String * 6
kk As String * 2
End Type

'Definicion del registro en el procedimiento
dim MiRegistro as record
dim Cant as integer, posicion as integer

'en el nombre del archivo no importa la extension
Open "c:\Archivo.txt" For Random As #1 Len = Len(MiRegistro)
Cant = Int(LOF(1) / Len(MiRegistro)) + 1

If Cant > 0 Then
posicion = 1
Else
MsgBox "Error, el archivo no contiene datos"
End If

For posicion = 1 To Cant

Get #1, posicion, MiRegistro

Next posicion
Close #1

a la par que lees una linea de tu archivo de texto, lo insertas en una tabla temporal en tu BD, con una instruccion sql en ADO o en DAO.

ojala te sirva, a mi me fue muy util y solucione un gran problema.
SUERTE.

    Pregunta:  25866 - IMP. DIRECTAMENTE SIN LA VENTANA DE CONFIGURACION DE IMP.
Autor:  Marco Chico
Cordial saludo, mi pregunta es:
Como puedo detectar mi impresora por medio de un programa en visual basic cuando windows mande un mensaje de que se va a imprimir un documento de un software cualquiera?

ejemplo:
estoy trabajando en word, y enseguida mando a imprimir un documento, yo quiero que cuando se vaya a imprimir el documento no me salga la ventana de configuración de la impresora, si no que de inmediato se imprima con las especificaciones que tiene mi programa hecho en visual basic.
  Respuesta:  Gustavo Ovalle
Si lo que vos queres hacer es imprimir desde un programa en VB lo que tenes que hacer es utilizar el objeto Printer, fijate en la ayuda del programa que te muestra bastante.
Otra opcion es utilizar las apis de windows.
Espero que te sea de ayuda.
Saludos

    Pregunta:  25881 - ERROR OUT OF STACK SPACE- CON EL EMPAQUETADOR DE V. STUDIO
Autor:  Pablo Bonilla
Estoy trabajando con Visual Basic 6.0 y cuando quiero empaquetar mi proyecto para distribuirlo me presenta el siguiente mensaje de error

UNEXPECTED ERROR NUMBER 28 HAS OCURRED: OUT OF STACK SPACE.

Si alguien pudiese ayudarme si lo agradecería bastante.
  Respuesta:  alberto martin francisco
hola, yo he tenido muchos problemas con el empaquetador de Vstudio, ese en concreto no me ha dado, pero termine usando un empaquetador que me ha sorprendido lo bueno que es, se llama Setup2Go, lo puedes encontrar en internet, sino mandame un mail a [email protected] y te lo envio que lo tengo yo

un saludo

    Pregunta:  25968 - SABER DESDE VISUAL, LA VERSIóN DEL OFFICE (INGLéS O ESPAñOL)
Autor:  Laura Campos
Necesito encontrar una forma de conocer desde Visual Basic cuál es la versión del Microsoft Office (si está en inglés o en español) que está instalada en una máquina. Existe alguna Api que me lo diga??? Agradezco cualquier ayuda al respecto.
  Respuesta:  Oscar C
en las referencias debes incluir las de Microsoft Word Object Libray (la versión que uses, 97, 2000,...)

te defines una variable de tipo Application. Ej:

Dim appword As Word.Application

y unas de sus propiedades son la version, el idioma, etc

    Pregunta:  26015 - DETECTAR TECLA DE TELéFONO PULSADA...
Autor:  Óscar Luis Morenon Vinuesa
Hola amig@s!!

Estoy desarrollando una aplicación para que el ordenador funcione como una centralita electrónica: detectar y descolgar una llamada entrante por el modem, emitir un mensaje por el teléfono indicando al usuario las diferentes opciones que tiene (...Pulse 1 para..., ...Pulse 2 para..., etc.) y por último detectar la tecla pulsada y proceder con lo que le asigne por código a dicha tecla.

He conseguido detectar y descolgar la llamada y emitir el mensaje, pero ¿Cómo puedo detectar la tecla pulsada desde el teléfono que ha llamado? Supongo que despues de emitir el mensaje debería quedarme esperando esa pulsación y detectar cuando se produce y cual es, pero no tengo ni idea de cómo se haría esto...

Si alguien puede ayudarme se lo agradecería mucho.

Muchas gracias y un saludo a tod@s!!

    Pregunta:  26017 - ACUSE DE RECIBO CON NOTES
Autor:  Esther Moraleda
He realizado una aplicación de Visual Basic que envía correos electrónicos a través de Lotus Notes. Me gustaría saber si es posible utilizando los objetos de Notes, implementar el acuse de recibo en cada envío de un correo. Gracias
  Respuesta:  Esther Moraleda
Usa esta funcion

Private Sub SendMail(sServer As String, sDataBase As String, sSendTo As String, sSubject As String, sBody As String, sAttach As String)
Dim Settion As Object
Dim Data As Object
Dim Doc As Object
Dim RichText As Object
Dim EmbedObject As Object

Screen.MousePointer = vbHourglass
Set Settion = CreateObject("Notes.NotesSession")
Set Data = Settion.GetDatabase(sServer, sDataBase)
Set Doc = Data.CreateDocument
Doc.Form = "Memo"
Doc.Subject = sSubject
Set RichText = Doc.CreateRichTextItem("Body")

Call RichText.AddNewLine(1)
Call RichText.AppendText(sBody)
Call RichText.AddNewLine(2)
If sAttach <> "" Then
Set EmbedObject = RichText.EmbedObject(1454, "", sAttach, "")
End If

'***********Para el acuse de recibo ******************************

Call Doc.ReplaceItemValue("ReturnReceipt", "1")

'Si no se quiere acuse de recibo poner valor "0"
'********************************************************************

Doc.SendTo = sSendTo
Doc.SaveMessageOnSend = True
Call Doc.Send(True)
Settion.Close
Screen.MousePointer = vbDefault
End Sub

    Pregunta:  26091 - EXPLICACION DE CADA MENU EN LA BARRA DE ESTADO
Autor:  Sebastián Velasco
Perdon, Me gustaria saber como puedo hacer que cuando pase con el mouse sobre un menu y
sus submenus en la barra de estado aparesca una explicación del mismo en ella.
(con el mouse o moviendome con las flechas sobre el menu)
Desde ya gracias. :)
  Respuesta:  Rafael Yzarra
Existe una manera enfocada hacia la manera como actúa la propiedad ToolTipText de la cual, el objeto MENU carece. En este caso, se utilizarán:

* Para detectar que pasa el cursor del mouse por MENU: su evento 'ITEM DEL MENU'_MouseMove().

* Como elemento de muestra: cualquier objeto encargado de mostrar una cadena de texto (TextBox, Label, StatusBar en uno de sus páneles, entre muchos otros)

*** Para facilitar la explicación, supondremos que es un TextBox. ****

El como hacerlo, se explica a continuación:

1ero: En el formulario en donde se ubica el menú, deben de abrirse para cada item del menú definido, su evento 'ITEM DEL MENU'_MouseMove.

2ndo: En cada una de ellas, colocar el siguiente código:

Text(i).Text = 'ITEM DEL MENU'.Caption ''' i : Nº del TextBox manejado.

3ero: Se presentan dos alternativas, de acuerdo a las exigencias del menú que hayas diseñado:

3.1 Sustituír 'ITEM DEL MENU'.Caption por un texto colocado en un arreglo, ordenado de igual manera que los items del menú o;
3.2 Utilizar la propiedad ToolTipText del que muestra el Caption del 'ITEM DEL MENU' para describir las características o función de dicho Item.

Si eres un experto, la sugerencia mostrada se puede mejorar en calidad en la vista mostrada o en la rapidez y comodidad del usuario.

Espero que te resulte útil.

Yzarra Rafael.

    Pregunta:  26097 - COMPARACIÓN SQL SIN DIFERENCIAR ACENTOS
Autor:  Javier Morales
Como puedo hacer para que mis sentencias sql del estilo
dim persona as string
persona='Jimenez'
set rs=miconexion.execute("Select * from personas where apellido=" & persona & '"',,adcmdtext)
me devuelva sin diferenciar con acentos.
  Respuesta:  Vino Tinto
Puedes hacer una función... algo como esto:

Function ObviarAcentos(Cadena as string) as string
Cadena = Replace(Cadena, "á", "[áa]")
Cadena = Replace(Cadena, "é", "[ée]")
Cadena = Replace(Cadena, "í", "[íi]")
Cadena = Replace(Cadena, "ó", "[óo]")
Cadena = Replace(Cadena, "ú", "[úu]")
ObviarAcentos = Cadena
end function

Y tu consulta quedaría asi:

rs.open "Select * from personas where apellido = '" & ObviarAcentos(persona) & "'", MiConexion

Ojalá te sirva!

    Pregunta:  26114 - CONECTAR A UNA BASE MYSQL DESDE VB 6.0
Autor:  German Sgromo
Estoy trabajando en una aplicacion que conecta a una base de datos en MySQL para hacer esto utilice el DataEnviroment, conexion ADO DAO y demas con el driver de ODBC proporcionado por MySQL. Al tratar de grabar datos surge siempre el mismo problema un error en los tipos, o sea, yo defino en mis tabla un campo varchar(50) y el recordset lo toma por ejemplo como un advarchar(2), con lo cual cuando trato de hacer un update del recordset los tipos no son compatibles. Alguien sabe que es los que sucede o como puedo modificar los valores que toma por defecto el recordset. Desde ya muchas gracias
  Respuesta:  Yzarra Morales Rafael Hernan
Ante todo, buenos dias.

En virtud de lo expresado, parece ser que estas recurriendo al metodo de conexion a traves de objetos ADO, o simplemente, la conexion la haces directamente por codificacion. Aparte de este metodo, existe otro el cual funciona bien, siempre y cuando no se maneje alta cantidad de informacion. A continuacion, se describe dicho metodo:

1ero: Extrae del cuadro de dialogo HERRAMIENTAS, una unidad de ADODC por cada tabla a consultar y la colocas en el formulario. Junto con este, coloca un TextBox.

2ndo: En las propiedades del ADODC, introducete en la opcion PERSONALIZADO.

3ero: Elige como metodo de conexion, a CADENA DE CONEXION. Alli, identifica la unidad ODBC en donde ubicaste la Base de Datos con la cual estas trabajando y posteriormente, en la parte inferior del cuadro mostrado por el sistema, elige en el COMBO BOX la ubicacion de dicha Base de Datos.

4rto: Seguidamente, pulsa el boton PROBAR CONEXION. De ser satisfactoria esta, regresa al cuadro inicialmente mostrado al elegir PERSONALIZADO.

5nto: En 'ubicar registros' (o algo similar), selecciona la tabla a la cual deseas conectar el ADODC con la B.de D.

6xto: Luego de conectarte a la B.de D., Ingresa a las propiedades del TextBox. Alli, realiza las siguientes escogencias:
* En DATA SOURCE, haz click en el ADODC elegido.
* En DATA FIELD, haz click en el campo de la tabla manejada.

7mo: A traves de la codificacion, procesa la informacion de acuerdo a la aplicacion con la cual estas trabajando.

Asi, de manera directa, estas omitiendo los pasos de generar los objetos RECORDSET, CONNECTION, COMMAND y las formalidades a cumplir para conformar la conexion deseada. Existe un metodo el cual combina las bondades de la conexion por objetos ADO y por ADODC; sin embargo, es mas extenso que lo expresado pero eso si, es altamente eficiente.

Espero que sea util la informacion que se envia.

|<  <<  195 196 197 198 199 200 201 202 203 204 205  >>  >|