PREGUNTAS CONTESTADAS -

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  1910 - CICLOS DE DECISIONES
Autor:  elizabeth garcia
cuales son los ciclos de decisiones y como funcionan?.
  Respuesta:  artidoro Castillo
hola elizabeth!!! mira soy nuevo en esto pero te daré algún alcance.

existen las sentencias selectivas

Ejemplo

Calcular el sueldo según categoría. (A , B)

if categoría = A then
sueldo= 500
else
sueldo= 300

y sentencias de repeticion

Enmerar los numeros del 1 al 100

for i = 1 to 100

la verdad creo que puedo ayudarte si te comunicas conmigo a mi correo
talvez pueda solucionar tu problema en si

bye y suerte
  Respuesta:  HORACIO ACOSTA
Básicamente hay dos:
1)IF:
If condición Then [instrucciones]-[Else instrucciones_else]

Puede utilizar la siguiente sintaxis en formato de bloque:

If condición Then
[instrucciones]
[ElseIf condición-n Then
[instrucciones_elseif] ...
[Else
[instrucciones_else]]
End If

ejemplo:
if a > b then
msgbox "a es mayor que b"
else
if a < b then
msgbox "a es menor que b"
else
msgbox "a es igual que b"
end if

2)While:
While Contador < 20 ´ Comprueba el valor del Contador.
Contador = Contador + 1 ´ Incrementa Contador.
Wend ´ Finaliza el bucle End While cuando Contador > 19.

Si deseas más información, escríbeme.

    Pregunta:  1912 - DESPLEGABLES EN DBGRIDS
Autor:  Cristina Lopez
Estoy intentando crear un cuadro combinado que me muestre unos datos especificos de una tabla en Access 97. Dentro del formulario creo el control Data y posteriormente el DBGrid que haga referencia a una tabla de Access. El problema es cuando intento que una de las celdas de una columna tenga un desplegable. En las propiedades del DBGrid no he conseguido gran cosa, tan solo que aparezca el formato de desplegable, pero al intentar desplegarlo no sale ningun dato. Si alguien entiende del tema, le agradeceria que me ayudara. Muchas gracias.
  Respuesta:  jose barra
en la página de harvey triana aparece la forma de lograr despleglables en las celdas del componente dbgrid.

la dirección es:

www.eidos.es/VeXPERT/

    Pregunta:  1928 - LEER/ESCRIBIR LOS SECTORES DE UN DISCO
Autor:  Cristhian Guzman Echeverria
Como puedo Leer/Escribir los sectores del disco duro mediante las API´s, lo que deseo es tener acceso a la parte fisica del disco duro, lo necesito para un programa que corra sobre windows, ya sea usando las API´s o un lenguaje ensamblador para windows
  Respuesta:  Paul Wolfe
' Para acceso R/W directamente a los sectores de un disco hay ciertas reglas.
'La longitud del buffer de lectura / escritura debe ser un múltiplo del tamaño de los sectores del disco, que generalmente es de 512 bytes.
'También el puntero de lectura / escritura debe estár posicionado al principio de un sector.
'Tanto el conteo de los sectores, como la posicion dentro de ellos empieza con 0. Por ejemplo si un disco tiene 1024 sectores, el primero será el sector 0, y el último el 1023. De igual manera un sector de 512 bytes comienza con la posición 0, y termina con 511.

'*******ESPERO TE SIRVA ESTO:**************

Option Explicit


Public Declare Function GetDiskFreeSpace Lib "Kernel32.dll" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long
Public Declare Function GetVolumeInformation Lib "Kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Public Declare Function GetDriveType Lib "Kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Declare Function CreateFile Lib "Kernel32.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Long) As Long
Public Declare Function SetFilePointer Lib "Kernel32.dll" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
Public Declare Function ReadFile Lib "Kernel32.dll" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
Public Declare Function WriteFile Lib "Kernel32.dll" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long
Public Declare Function FlushFileBuffers Lib "Kernel32.dll" (ByVal hFile As Long) As Long
Public Declare Function DeviceIoControl Lib "Kernel32.dll" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, ByRef lpInBuffer As Any, ByVal nInBufferSize As Long, ByRef lpOutBuffer As Any, ByVal nOutBufferSize As Long, ByRef lpBytesReturned As Long, ByVal lpOverlapped As Long) As Long
Public Declare Sub CopyMemory Lib "Kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)


Public Const FILE_READ_ACCESS = &H1
Public Const FILE_WRITE_ACCESS = &H2
Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const OPEN_EXISTING = 3
Public Const INVALID_HANDLE_VALUE = -1&
Public Const FILE_BEGIN = 0
Public Const FILE_CURRENT = 1
'Public Const lngMaxSectors As Long = 4194303
'Public Const FILE_END = 2
Public Const FSCTL_LOCK_VOLUME As Long = &H90018
Public Const FSCTL_UNLOCK_VOLUME As Long = &H9001C

Public Type typeVolumeInformation
byteTipoUnidad As Byte ' Removible=2, Fijo=3, etc..
byteEtiqueta() As Byte
byteSistemaArchivos() As Byte
lngSerialVolumen As Long
lngBytesPorSector As Long
lngSectoresPorCluster As Long
lngBytesPorCluster As Long
lngTotalDeSectores As Long
lngSectoresLibres As Long
lngTotalDeClusters As Long
lngClustersLibres As Long
End Type

Public Function ObtenerInfoVolumen(ByVal byteDrv As Byte, typeRetVolInfo As typeVolumeInformation) As Long
On Error Resume Next

If byteDrv <= 0 Or byteDrv > 26 Then Exit Function ' Unidad incorrecta, sale...

Const lStrLen = 256
Dim sUnidad As String: sUnidad = ""
Dim lRet As Long: lRet = 0
Dim l As Long: l = 0

Dim sVolLabel As String: sVolLabel = String(lStrLen, 0)
Dim sVolFileSys As String: sVolFileSys = String(lStrLen, 0)
Dim lTmpTotalClusters As Long: lTmpTotalClusters = 0
Dim lTmpBytesSec As Long: lTmpBytesSec = 0

sUnidad = Chr$(byteDrv + 64) & ":\"
typeRetVolInfo.byteTipoUnidad = CByte(GetDriveType(sUnidad))
If typeRetVolInfo.byteTipoUnidad <> 2 And typeRetVolInfo.byteTipoUnidad <> 3 And typeRetVolInfo.byteTipoUnidad <> 5 And typeRetVolInfo.byteTipoUnidad <> 6 Then Exit Function

lRet = GetDiskFreeSpace(sUnidad, typeRetVolInfo.lngSectoresPorCluster, lTmpBytesSec, l, lTmpTotalClusters)
If lTmpBytesSec > 0 Then
typeRetVolInfo.lngBytesPorSector = lTmpBytesSec
Else
typeRetVolInfo.lngBytesPorSector = 512
End If
typeRetVolInfo.lngTotalDeSectores = typeRetVolInfo.lngSectoresPorCluster * lTmpTotalClusters
typeRetVolInfo.lngBytesPorCluster = typeRetVolInfo.lngSectoresPorCluster * typeRetVolInfo.lngBytesPorSector
Call GetVolumeInformation(sUnidad, sVolLabel, lStrLen, typeRetVolInfo.lngSerialVolumen, &H0, &H0, sVolFileSys, lStrLen)
sVolLabel = Replace(sVolLabel, Chr(0), "")
sVolFileSys = Replace(sVolFileSys, Chr(0), "")
If sVolLabel <> vbNullString Then ' Convertir a array de bytes:...
For l = 1 To Len(sVolLabel)
ReDim Preserve typeRetVolInfo.byteEtiqueta(l - 1)
typeRetVolInfo.byteEtiqueta(l - 1) = CByte(Asc(Mid$(sVolLabel, l, 1)))
Next l
Else
ReDim typeRetVolInfo.byteEtiqueta(0)
typeRetVolInfo.byteEtiqueta(0) = 0
End If
If sVolFileSys <> vbNullString Then ' Convertir a array de bytes:...
For l = 1 To Len(sVolFileSys)
ReDim Preserve typeRetVolInfo.byteSistemaArchivos(l - 1)
typeRetVolInfo.byteSistemaArchivos(l - 1) = CByte(Asc(Mid$(sVolFileSys, l, 1)))
Next l
Else
ReDim typeRetVolInfo.byteSistemaArchivos(0)
typeRetVolInfo.byteSistemaArchivos(0) = 0
End If

FsOk:
If Err = 0 Then ObtenerInfoVolumen = 1
On Error GoTo 0
End Function



Public Function LeerDisco(ByVal byteDrv As Byte, ByVal lngSectorInicial As Long, ByVal lngPosicion As Long, ByRef byteRetArray() As Byte, ByVal lngCntBytes As Long) As Long
On Error Resume Next

'Dim sDrive As String: sDrive = Chr$(byteDrv + 64) & ":"
Dim tDatosVol As typeVolumeInformation
Dim lRet As Long: lRet = ObtenerInfoVolumen(byteDrv, tDatosVol)
If lRet = 0 Then Exit Function
lRet = 0

Dim lCVolumen As Long: lCVolumen = 0
Dim iSectores As Integer: iSectores = 0
Dim lngLow As Long: lngLow = 0
Dim lCntMAXes As Long: lCntMAXes = 0
Dim lngTmpSSec As Long: lngTmpSSec = lngSectorInicial
Dim boolFlagF As Boolean: boolFlagF = False
Dim lTmpBL As Long: lTmpBL = 0

iSectores = Int((lngPosicion + lngCntBytes - 1) / tDatosVol.lngBytesPorSector) + 1
If (lngSectorInicial + iSectores - 1) > (tDatosVol.lngTotalDeSectores - 1) Then Exit Function
lCVolumen = CreateFile("\\.\" & Chr$(byteDrv + 64) & ":", GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, OPEN_EXISTING, 0&, 0&)
If lCVolumen = INVALID_HANDLE_VALUE Then Exit Function ' Or GENERIC_WRITE

'*********************************************************************************

ReDim abBuff(iSectores * tDatosVol.lngBytesPorSector - 1) As Byte
Call SetPos(lCVolumen, lngSectorInicial, tDatosVol.lngBytesPorSector)
lRet = ReadFile(lCVolumen, abBuff(0), UBound(abBuff) + 1, lTmpBL, 0&)
CloseHandle lCVolumen
ReDim byteRetArray(lngCntBytes - 1)
CopyMemory byteRetArray(0), abBuff(lngPosicion), lngCntBytes
Erase abBuff()
LeerDisco = lngCntBytes 'lTmpBL
On Error GoTo 0
End Function


Public Function SetPos(ByVal lVolHand As Long, ByVal lSecIni As Long, ByVal lBxSec As Long) As Boolean
On Error Resume Next

Const lngMaxValLong As Long = 2147483647
Dim lngMaxSectors As Long: lngMaxSectors = CLng(Fix(lngMaxValLong / lBxSec))
Dim lngTmpSSec As Long: lngTmpSSec = lSecIni
Dim lFileMovePos As Long: lFileMovePos = 0

While lngTmpSSec > lngMaxSectors
Call SetFilePointer(lVolHand, CLng(lngMaxSectors * lBxSec), 0, lFileMovePos)
lngTmpSSec = lngTmpSSec - lngMaxSectors
If lFileMovePos = 0 Then lFileMovePos = 1
Wend
Call SetFilePointer(lVolHand, CLng(lngTmpSSec * lBxSec), 0, lFileMovePos)
If Err = 0 Then SetPos = True
On Error GoTo 0
End Function
  Respuesta:  René Berra
puede que esto te sirva:
Function CopyFile(Src As String, Dst As String) As Single
Static buf$
Dim BTest!, FSize! ´declare the needed variables
Dim Chunk%, F1%, F2%
Const BUFSIZE = 1024 ´set the buffer size
If Len(Dir(Dst)) Then ´check to see if the destination file already exists
Kill Dst ´delete the already found file, and carryon with the code
End If
On Error GoTo FileCopyError ´incase of error goto this label
F1 = FreeFile ´returns file number available
Open Src For Binary As F1 ´open the source file
F2 = FreeFile ´returns file number available
Open Dst For Binary As F2 ´open the destination file
FSize = LOF(F1)
BTest = FSize - LOF(F2)
Do
If BTest < BUFSIZE Then Chunk = BTest Else Chunk = BUFSIZE
buf = String(Chunk, " ")
Get F1, , buf
Put F2, , buf
BTest = FSize - LOF(F2)
Loop Until BTest = 0
Close F1 ´closes the source file
Close F2 ´closes the destination file
CopyFile = FSize
Exit Function ´exit the procedure
FileCopyError: ´file copy error label
CopyFile = 0
Close F1 ´closes the source file
Close F2 ´closes the destination file
Exit Function ´exit the procedure
End Function

    Pregunta:  1929 - IMPRESION DESDE UN TEXTBOX MULTILINE
Autor:  Ricardo Eduardo Valcarcel Alvarado
Como estan...

Estoy intentando imprimir datos desde un Textbox con propiedad Multiline, cada vez que imprime, los datos se distorcionan es decir no salen en orden, y hasta ahora no puedo solucionar el problema si alguien es entendido, le estaria muy agradecido que enviara la respuesta, Gracias
  Respuesta:  santiago tomas
Utiliza la api sendmessage con los parametros correspondientes (consulta la MSDN) para recorrer una por una las lineas de textbox y para cada una de ellas haz un print.

La idea general sería esta:

TotalLineas=sendmessage(lo que sea)

For i=1 to Totallineas
printer.print sendmessage(lo que sea)

next i

Donde lo que sea son los parametros que correspondan en cada caso. (Lo siento pero no dispongo de la información suficiente ahora).

    Pregunta:  1938 - PODER CAMBIAR LA IMPRESORA PREDETERMINADA
Autor:  Ricardo Pérez
Necesito cambiar laimpresora predeterminada de Windows por medio de Visual Basic, no puedo abrir el panel de control, y si conocen la forma de hacerlo en Visual Fox Pro es mejor aun!!!
  Respuesta:  Xavi
Esta es una manera que puedes utilizar

Dim x As Printer
For Each x In Printers
List1.AddItem x.DeviceName
If x.DeviceName = "Nombre Impresora a Utilizar" Then
Set Printer = x
End If
Next x

Esta opcion, la utilizo para cuando un usuario selecciona una de las impresoras que dispone el equipo.

Espero que te sirva.

    Pregunta:  1941 - ENVIO DE ARCHIVOS VIA TELEFONICA
Autor:  Pedro Padilla Gaytán
Necesito saber como puedo enviar uno o varios archivos por medio de un modem y una linea telefonica, pero no se como enviar o recibir una llamada de datos y mucho menos como identificar que tipo llamada esta llegando. Mi fin es hacer un buzón. Que si la llamada entrante es de datos, que descarge los archivos enviados, de otro modo si es una llamada común, puedan contestar el teléfono libremente. Me gustaría de ser posible me dieran un ejemplo del código que se utilizaría para hacer estas acciones. Si aguien me puede ayudar, se lo agradeceria mucho. De antemano muchas gracias.
  Respuesta:  David Noreña Correa
si tienes un modem este devio traer un programa de gestión de fax, en este programa puedes clasificar cada uno de los tipos de llamadas, fax, datos y vox, cuando lo hagas defines cierto numero de timbres para cada uno y solo es necesario que tengas el programa abierto que el se encarga del resto solo.

te recomiendo el cheyenne bitware o el super voice
  Respuesta:  Rosa Melnabo Gordo
Utiliza el mscom y el Inet de vb. es muy util.
En las ayudas tienes todo lo necesario.

    Pregunta:  1947 - DISTINGUIR MAYÚSCULAS DE MINÚSCULAS EN VB CON BD EN ACCESS
Autor:  José Carlos Sánchez Vázquez
Tengo una tabla en Access 97 cuyo indice es un número de pedido, de tipo texto de 7 caracteres. El problema me surge cuando intento grabar el mismo número de pedido pero con letras minúscula, por ejemplo...
Tengo en la tabla grabado el nº de pedido 4W12345 e intengo grabar el mismo número de pedido pero con minúsculas, 4w12345. Esto me genera un error que dice textualmente:
LOS CAMBIOS SOLICITADOS EN LA TABLA NO SE REALIZARON CORRECTAMENTE PORQUE CREARIAN VALORES DUPLICADOS EN LA TABLA...
¿Cómo podría solucionar esto sin cambiar la clave de la tabla?
  Respuesta:  David Airam Hernández Rodríguez
Creo que eso lo podrías solucionar controlando la referencia con la función ´ucase´ convierte a mayúsculas una cadena o bien ´lcase´ convierte a minúculas una cadena.

Ejemplo:
variable_compatible = UCase(cadena)
variable_compatible = LCase(cadena)

    Pregunta:  1950 - PROBLEMAS CON LA LIBRERIA VBAJET32.DLL
Autor:  Ximena Tamame
Al ejecutar un programa de visual basic aparece el error nro 3447 (´el archivo VBAJET32.DLL no se inicializo cuando se le llamo. Intente volver a instalar la aplicacion que genero el error´). NI en la generacion ni en la instalacion del programa aparecieron errores.
Al instalarlo en la maquina donde se encuentra el proyecto, funciona correctamente.
Ya se intento instarlalo en diversas maquinas via diskette o directorio unico.
  Respuesta:  Maca
Solamente tienes que copiar una libreria llamada Expsrv.dll en el directorio c:\windows\System de tu equipo y de todos en los que se vaya a utilizar y ya esta.
  Respuesta:  Luis D. Sáenz
El problema que se te presenta es por una incompatibilidad de versiones de las DLL, la solución fácil para tu problema es reinstalar VB6 en la máquina que generas los discos y listo!!! se acabó el problema..

Me refiero a la versión 6 porque me imagino que en ese máquina tubiste instalada la versión 5 y 6.

Suerte!...

    Pregunta:  1954 - COMO IMPRIMIR UN INFORME DESDE VBSCRIPT
Autor:  Youri Garcia Martin
Necesito urgentemente saber como imprimir el resultado de una toma de datos desde un formulario en una pagina ASP mediante la pulsacion de un boton alojado en esta que genera el informe a imprimir.

Por favor escriban cualquier aportación, ejemplo, página WEB, ...
  Respuesta:  Diego HS
Hola, soy Diego, creo que te puede servir uan JScript ya que es compatible con ASP, la cosa es facil y depende de una sola cosa, tu navegador, depende de cuan viejo sea yo creo que con Explorer 4.0 y la misma version de la competencia puede que resulta ..... aqui va lo que te interesa sencillamente pon esto en tu web (tu adaptalo)
<script language="JavaScript">
{
if (window.print)
window.print();
else
alert(" Tu Navegador es demasiado Viejo")
}
</script>
de todas maneras cuentame que tal haber si he hecho o encontrado algo en VBScript

    Pregunta:  1961 - CAMBIAR EL FORMATO DE LAS VENTANAS DE WINDOWS
Autor:  Antonio Luyo
Hola a todos. He terminado una aplicación en Visual Basic y quisiera darle una nueva perspectiva o forma a las Ventanas (por Ej: como los reproductores de sonidos con botones distintos, etc.)
  Respuesta:  CESAR NAVA SOTO
Hay controles que te permiten insertar botones con efectos especiales (redondos, tipo office 97, etc.). Puedes encontrar algunos en www.shareware.com o www.programando.com

|<  <<  32 33 34 35 36 37 38 39 40 41 42  >>  >|