• Sábado 10 de Mayo de 2025, 08:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Jose Arriagada

Páginas: 1 ... 12 13 [14] 15
326
Visual Basic 6.0 e inferiores / salida de variable a txt... como??
« en: Miércoles 1 de Enero de 2003, 23:52 »
Utiliza el siguiente codigo para guarda el valor de la variable en un archivo txt.

ArchivoSalida="C:SALIDA.TXT"   'Defino el archivo de salida
open ArchivoSalida for output as #1 'Abro el archivo
print #1, Variable 'Guardo el valor de la variable
close(1) 'Cierro el archivo


Para leer el valor de la variable usa:
ArchivoEntrada="C:SALIDA.TXT"   'Defino el archivo de entrada
open ArchivoEntrada for input as #1 'Abro el archivo
input #1, Variable 'Leo el valor almacenado en el archivo
close(1) 'Cierro el archivo


Espero te sirva

327
Visual Basic 6.0 e inferiores / Re: Visual en Red
« en: Martes 24 de Diciembre de 2002, 02:22 »
Cuando generas el paquete de instalacion, al final el asistente te pregunta por los archivos que seran compartidos, ahi debes seleccionar el archivo de tu aplicacion con extension exe, y lo dejara compartido al momento de instalarlo.

La gracia de las aplicaciones en red, es que debes instalarlos la primera vez en todos los equipos, y dejar el ejecutable en un directorio que lo vean todos los usuarios en la red, por ejemplo, en el drive f:appsmisaplicacionesmiprograma.exe, y modificar el acceso directo despues de la instalacion, al programa de la red. Asi cuando actualices tu programa, solo actualizas el de la red, y no todos los equipos.

Saludos

328
Visual Basic 6.0 e inferiores / Re: Aplicacion
« en: Martes 24 de Diciembre de 2002, 02:11 »
Estimado amigo(a)

Si ves las preguntas  y respuestas anteriores, veras que alguien pregunto algo similar, y la respuesta esta a la mano.

En caso que no la encuentres, la solucion es la siguiente:

Cuando tu aplicacion se ejecute tu aplicacion, lo primero que debes hacer, es buscar un archivo fffff.eee (un archivo con un nombre que solo tu sabras, y una extension que no sea las que utiliza windows) en un directorio que tu predefines, por ejemplo,  c:windowssystem.
Si el archivo no se encuentras, entonces lo generas y  guardas en el la fecha de la primera ejecucion.

Cuando se ejecute, las veces siguientes, al preguntar por la existencia del archivo, si se encuentra entonces, ya se ejecuto y tu realizaras las acciones pertinentes.


Espero te sirva, cualquier cosa, comunicate conmigo al jose_arriagada@hotmail.com

329
Visual Basic 6.0 e inferiores / ¿Como comprobar si esxiste archivo?
« en: Martes 24 de Diciembre de 2002, 02:00 »
Utiliza la siguiente funcion

Sub Function Existe_Archivo(byval FileName as String) as boolean
on error goto Control_Error
nError=0
open FileName for input as #1
if nError=0 then
   close(1)
   Existe_Archivo=True
else
  Existe_Archivo=False
endif
Exit sub

Control_Error:
nError=err.number
Resumen Next
End Function

330
Visual Basic 6.0 e inferiores / adodc
« en: Viernes 13 de Diciembre de 2002, 23:16 »

331
Visual Basic 6.0 e inferiores / Re: Convertir datos de una tabla en Access
« en: Viernes 13 de Diciembre de 2002, 23:09 »
Utiliza la siguiente funcion:

Public Function HoraMilitar(ByVal xHora As String) As String
xHora = UCase(xHora)
largo = Len(xHora)
pos1 = InStr(xHora, ":")
laHora = CInt(Mid(xHora, 1, pos1 - 1))
pos2 = InStr(xHora, " ")
LosMinutos = CInt(Trim(Mid(xHora, pos1 + 1, pos2 - pos1)))
pos3 = InStr(xHora, "P")
If pos3 > 0 Then
    If laHora <> 12 Then
        laHora = laHora + 12
    End If
End If
HoraMilitar = Format(laHora, "00") & ":" & Format(LosMinutos, "00")
End Function

332
Visual Basic 6.0 e inferiores / Re: Sean claros para presentar sus consulta!!!
« en: Viernes 13 de Diciembre de 2002, 16:08 »
Si deseais que solucionemos vuestros problemas, cuando presenten sus requerimientos sean explicitos y detallen todo cuando puedan, de manera de entregar toda la informacion posible para poder dar respuesta.

Si no, nos vamos de mensaje en mensaje para tratar de ADVINAR que cresta quieren!!!

Gracias.

333
Visual Basic 6.0 e inferiores / Como hago un software de prueba......
« en: Jueves 12 de Diciembre de 2002, 17:38 »
Estimado Alejandro:

Si buscas en las consultas anteriores (no mas de una semana) encontraras la respuesta. Ya se la habiamos dado a un amigo.


En todo caso, la solucion es:
Cuando se ejecute tu programa por primera vez, captura la fecha del dia y la registras en una archivo con alguna extension distinta a las que maneja windows y la colocas en cualquier carpeta dentro de windows. Por ejemplo:
C:WINDOWSSYSTEMDPPERT.COP

El nombre y extension solo lo sabras tu.

Ahora, como saber si es la primera o siguientes ejecuciones. Facil. Busca el archivo C:WINDOWSSYSTEMDPPERT.COP
 y si no lo encuentra, entonces es la primera ejecucion, si no, son las siguientes. Y para ello, lees el archivo, que contiene la fecha de 1ra ejecucion y la comparas con la fecha actual del PC.

Por diferencia de fechas, obtienes cuantos dias lleva la aplicacion en el PC.

Una mejora a esta version de prueba, es que ademas coloques en el archivo la fecha de la ultima ejecucion, de manera tal de saber si el usuario ha manipulado la fecha del PC. Y asi puedas realizar los procedimientos y mensajes correspondientes, dependiendo de tus necesidades.


Espero te sirva.

Saludos

334
Una posible solucion es la siguiente:

Genera en tu base de datos, una tabla que contenga la imagen que deseas de logotipo.
A tu reporte enviale un parametro desde tu aplicacion que dependiendo de este, pone o no el logotipo desde la base de datos.


En tu aplicacion, coloca dos botones: uno SOLO para visualizar, sin las opciones de imprimir, exportar, etc.
Y el parametro para que el reporte al visualizar ponga el logotipo.

El otro boton, es de impresion directa SIN VISUALIZAR, y envias el parametro para que el reporte al activarse, no aparezca el logotipo.

335
Visual Basic 6.0 e inferiores / Como dar Formato a la unidad A:
« en: Miércoles 11 de Diciembre de 2002, 16:45 »
Formatear cualquier unidad
A través de la siguiente función podremos formatear cualquier unidad, de modo que su utilización debe hacerse con mucho cuidado. Dicha función devolverá 0 si todo ha funcionado correctamente.

Public Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long
Poner el siguiente código en un formulario:

Private Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long

Private Sub Command1_Click()
    Formatear "A"
End Sub

Public Function Formatear(Raiz As String, Optional VentanaMadre As Long) As Boolean
Dim DriveNumber As Long
    DriveNumber = (Asc(Raiz) - 65) //* Cambiar la letra a número: A=0 y análogamente
    Formatear = SHFormatDrive(VentanaMadre, DriveNumber, vbNull, vbNull)
    //*Esta última línea también puede ser
    //*Formatear = SHFormatDrive(VentanaMadre, DriveNumber, 0&, 0&)
End Function

336
Visual Basic 6.0 e inferiores / Problema con ComboBox y Posible solución
« en: Miércoles 11 de Diciembre de 2002, 16:33 »
El control combobox tiene una propiedad llamada STYLE, cuyas opciones son:

0: Dropdown Combo
1: Simple Combo
2: Dropdown List

Utiliza la propiedad 2  y prueba.

Salu2

337
Visual Basic 6.0 e inferiores / Re: como lleno una matriz...
« en: Lunes 9 de Diciembre de 2002, 22:28 »
'Inicializa la funcion aleatoria
Randomize
'Obtiene un numero cualquiera
n = CInt(Rnd(100) * 100)
'Recorre las filas
For i = 1 To n
    'Recorre las columnas
    For j = 1 To n
        'Flag para encontrar un 0 o 1
        sigue = 1
        While sigue = 1
            Randomize
            x = CInt(Rnd * 10)
            'Consulta si es 0 o 1
            If x = 0 Or x = 1 Then
                  'Si es 0 o 1, lo visualiza
                sigue = 0
            End If
        Wend
        Print x
    Next j
Next i

338
Visual Basic 6.0 e inferiores / Re: Imprimir en diferentes impresoras
« en: Lunes 9 de Diciembre de 2002, 22:16 »
Javier.

Agredezco enormemente tu colaboracion, me ha servido montones.
Entendi claramente las instrucciones y las voy a seguir.
Solo me falta un detalle.
Hice la prueba de acuerdo a tus indicaciones, y puedo mostrar todas las impresoras, y configurar cada una de acuerdo a mis requerimientos.
Pero al momento de disparar un reporte en Crystal, y le indico la impresora. Continua con la impresora por defecto.
¿Cual es mi problema?
El codigo de asignacion es el siguiente:

Reporte.ReportFileName = app.path & "REPORTESDOCTOS_RECIBIDOS.RPT"
Reporte.PrinterName = LaImpresoraQueQuiero
Reporte.Destination = crptToPrinter
Reporte.Action = 1


Un agradecido

339
Visual Basic 6.0 e inferiores / Re: Imprimir en diferentes impresoras
« en: Lunes 9 de Diciembre de 2002, 20:41 »
Amigos:

Tengo la siguiente situacion:
Tengo una aplicacion multiusuario, que realiza diferentes procedimientos. Y tengo varias impresoras en red. Cada impresora con un tipo de papel diferente (por el tipo de informacion que imprime).

Como puedo hacer que el usuario al realizar un proceso de :
a). Orden de compra, la impresion salga en la impresora 01.
b). Factura, la impresion salga en la impresora 02.
c). Recibo de pago, la impresion salga en la impresora 03.

Todo esto en forma background, transparente para el usuario, sin tener el que elegir en que impresora imprimir, que sea todo automatico.

Muchas gracias a quienes me ayuden.

340
Visual Basic 6.0 e inferiores / Conexion con sql db?
« en: Lunes 9 de Diciembre de 2002, 20:26 »
Yo utilizo conexion RDO.Si te sirve, prueba.

1. Crea una conexion ODBC en tu PC, que apunte a la base de datos SQL que tu requieres.


2. En tu aplicacion, selecciona Proyecto->Referencias y marca la opcion Microsoft Remote Data Object 2.0

3. En un modulo .bas, pone las siguientes variables.

Global aConexion As rdoConnection
Global bConexion As rdoConnection
Global Resultado As rdoResultset
Global Respuesta As rdoResultset
Global Aenv As rdoEnvironment
Global Benv As rdoEnvironment

Global gDSN as string
Global gUID as string
Global gPWD as string
Globa gDataBase as string


Crea un procedimiento llamado Conectar:

Public Sub Conectar()
   Set Aenv = rdoEnvironments(0)
   Set Benv = rdoEnvironments(0)

   Aenv.CursorDriver = rdUseOdbc
   Benv.CursorDriver = rdUseOdbc

   sConnect = "ODBC;DSN=" & gDSN & ";"
   sConnect = sConnect & "UID=" & gUID & ";"
   sConnect = sConnect & "PWD=" & gPWD & ";"
   sConnect = sConnect & "DATABASE=;" & gDataBase

   Set aConexion = Aenv.OpenConnection(sConnect)
   Set bConexion = Benv.OpenConnection(sConnect)
End Sub

Crea un procedimiento llamado Desconectar:

Public Sub Desconectar()
   aConexion.Close
   bConexion.Close
End Sub


En el load del form principal, coloca el siguiente codigo:

Sub Form_Load()
   gDSN="MiConexion"
   gUID=""MiUID"
   gPWD="MiPassword"
   gDataBase="MiBaseDatos"
   Call conectar()
End Sub

En un boton command, agrega:

Private Sub Command1_Click()
   Tabla="EMPLEADOS" 'Nombre de una tabla de la base de datos
   Sentenciasql="select * from " & Tabla
   Set Respuesta = aConexion.OpenResultset(SentenciaSQL)
   while not respuesta.eof
        print respuesta!codigo_empleado
        print respuesta!nombre_empleado
        respuesta.movenext
   wend
End Sub


En otro boton command, agrega:

Private Sub Command2_Click()
call desconectar()
En Sub

Cualquier cosa, enviame un emilio y te respondo si te puedo ayudar.

341
Visual Basic 6.0 e inferiores / Ayuda para exportar datos por favor
« en: Viernes 6 de Diciembre de 2002, 14:19 »
Si deseas que te ayudemos tienes que ser mas especifica y clara con lo que pides.
En este caso, debes indicar o mostrar el codigo que utilizas para asi poder indicarte como solucionar tu problema.

342
Visual Basic 6.0 e inferiores / Re: Creación de Objetos Dinámicos...
« en: Jueves 5 de Diciembre de 2002, 17:45 »
Una cosa son objetos y lo otro son controles.
Cual de los dos tipos quieres crear dinamicamente?

343
Visual Basic 6.0 e inferiores / Re: Exportar Datos a EXcel
« en: Jueves 5 de Diciembre de 2002, 17:43 »
Si se pueden abrir mas de una planilla excel en tiempo de ejecucion, el problema se notara si el equipo donde lo ejecutas es rapido y tiene capacidad de memoria para soportar tantos registros.

Una posible solucion, es que a medida que guardas los datos, cuando llegues a los 65.625 registros, te cambies a la hoja siguiente del excel, y sigues guardando los datos.

344
Visual Basic 6.0 e inferiores / Re: CODIGO BOTON
« en: Jueves 5 de Diciembre de 2002, 17:41 »
Aceptar=Insertar?

Todo esto en que tipo de base de datos?
Como te conectas: RDO,ODBC, ADO?
En una macro de que? WORD,EXCEL ?

345
Visual Basic 6.0 e inferiores / Re: sigo desesperado con sentencia sql ¡¡ayuda!!!
« en: Jueves 5 de Diciembre de 2002, 17:39 »
Asumiendo que las tablas que se encuentran en el combobox todas tienen un campo llamado numero, entonces, apoyo a ROBER.29. ¿Que numero y mensaje te envia?

Si no, tendras que revizar que la tabla que seleccionas en el combobox, tenga el campo que estas filtrando, en este caso, NUMERO.

346
Visual Basic 6.0 e inferiores / Ayuda con archivo WORD desde VB!!!!
« en: Martes 3 de Diciembre de 2002, 14:29 »
Efectivamente la variable esta mal asignada: El codigo completo es
Dim MiDocto As New Word.Application
MiArchivo = app.path & "MANDATO.DOC"

'abre el mandato
MiDocto.Application.Documents.Open MiArchivo
'relleno de marcadores
MiDocto.Documents.Item(1).Bookmarks.Item("Numero").Range.Text = Format(CDbl(dNumero), "000000")
MiDocto.Documents.Item(1).Bookmarks.Item("Fecha").Range.Text = Format(date,"dd-mmm-yyyy")
MiDocto.Documents.Item(1).Bookmarks.Item("Titulo").Range.Text = "Original"
MiDocto.Documents.Item(1).Bookmarks.Item("Referencia").Range.Text = "Empresa"
'Envio a impresion
MiDocto.Application.PrintOut
Set MiDocto= Nothing
'Sale sin grabar
MiDocto.Quit (0)

Al aplicar tu ayuda, VB no me considera el comando CLOSE como propiedad del objeto MiDocto

No me funciona el cuento

Gracias por tu ayuda

347
Visual Basic 6.0 e inferiores / Re: Ayuda con archivo WORD desde VB!!!!
« en: Lunes 2 de Diciembre de 2002, 18:27 »
Tengo el siguiente codigo. Lo que hace es:
Abrir un documento word existente que contiene marcadores.
Lo lleno con algunos datos y lo mando a imprimir.
La ultima sentencia no graba los cambios.
Cuando cierro la aplicacion, el WORD sigue trabajando background.

ALGUIEN SABE COMO CERRAR EL DOCUMENTO BACKGROUND?

Gracias por vuestra ayuda.



        Dim MiDocto As New Word.Application
        MiArchivo = app.path & "MANDATO.DOC"
               
        'abre el mandato
        MiDocto.Application.Documents.Open MiArchivo
        'relleno de marcadores
        Mandato.Documents.Item(1).Bookmarks.Item("Numero").Range.Text = Format(CDbl(dNumero), "000000")
        Mandato.Documents.Item(1).Bookmarks.Item("Fecha").Range.Text = Format(date,"dd-mmm-yyyy")
        Mandato.Documents.Item(1).Bookmarks.Item("Titulo").Range.Text = "Original"
        Mandato.Documents.Item(1).Bookmarks.Item("Referencia").Range.Text = "Empresa"
        'Envio a impresion
        Mandato.Application.PrintOut
        Set Mandato = Nothing
        'Sale sin grabar
        Mandato.Quit (0)

348
Visual Basic 6.0 e inferiores / Abrir y guardar archivos
« en: Lunes 2 de Diciembre de 2002, 18:24 »
Puedes hacer lo siguiente:
La primera linea del archivo guarda el numero de filas "F" y en la segunda linea el numero de columnas "C"
Las siguientes "F"x"C" registros guardalos en formato FxCy=V donde x es la fila, y es la columna y V el valor de la celda.
Ahora bien, si quieres antes de guardar, si lo haras para todas las celdas o solo para las celdas con valores.

349
Visual Basic 6.0 e inferiores / Re: trial de un programa
« en: Lunes 2 de Diciembre de 2002, 14:51 »
Supongo que a tu programa sera de prueba x 30 dias.

Existe una forma "bruja" de hacerlo.
Cuando se ejecuta por primera vez, tu programa registra la fecha del PC y lo guarda en un archivo en algun directorio de windows con un nombre que solo tu identificaras.
Cuando se ejecute las proximas veces, buscas el archivo y comparas las fechas, y asi vas viendo cuandos dias le van quedando.

Una modificacion a esta alternativa, es que en el archivo coloques la fecha de instalacion, y la fecha de ultima lectura, de manera tal que si el usuario cambia la fecha del PC, tu puedas controlar esta situacion y ejecutar o no el programa.

350
Visual Basic 6.0 e inferiores / Re: Bases Acces!!!
« en: Viernes 29 de Noviembre de 2002, 22:57 »
1). Si accedes a access a traves de recordset, es facil: solo tienes que hacer lo siguiente:
a). Inserta un control data
b). En la propiedad database busca la base de datos y seleccionala
c). En la propiedad Recordsource selecciona la tabla de la base de datos
d). Inserta un control text
e). Enlaza la propiedad datasource con el objeto data
f). En la propiedad Datafield selecciona el campo de la tabla

Ahora hecha a correr el programa y veras que a medida que presionas el control data, se mueven los datos del text.
Si modificas el dato en el texto, se modifica automaticamente en la tabla.
Haz la prueba y mueve el data hacia adelante y despues hacia atras, y lo veras.
Para eliminar o insertar tienes que colocar botones que hagan estas acciones.

2). Si accedes a la tabla por medio de ADO, RDO o ODBC la cosa implica mas codigo.

Espero te sirva

Páginas: 1 ... 12 13 [14] 15