|
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 ... 4 5 [6] 7 8 ... 15
126
« en: Jueves 18 de Noviembre de 2004, 15:41 »
Estimados colegas:
Tengo el siguiente problema:
Dim xValor as double
xValor=0
Si le hago un debug a esto, veo que xValor=0,000000033456
Si reasigno xValor=3, veo que xValor=3,0000085735
Esto ocurre siempre
Pero si lo pruebo en otro PC, la cosa funciona super bien, es decir, a xValor=0 le asigna efectivamente xValor=0,000000000000
De pronto se me ocurrio, hacer lo siguiente
xValor=0 xValor=xValor
y SORPRESA, ahora si xValor es igual a cero
Alguien sabe a que se debe?
127
« en: Lunes 15 de Noviembre de 2004, 15:16 »
El programa que se incluye con Visual Basic, el "visor API", te permite ver todas las declaraciones de todas las API's de Windows. Para que las muestre debes ejecutarlo (estara en una carpeta dentro del grupo de programas de Visual Basic, en el menu de inicio, o en \\Visual Basic\Common\Tools\Winapi), y carga el fichero Win23api.txt usando el comando del menu "File -> Load Text File". Cuando el programa termina de carga el fichero de texto te preguntara si deseas convertirlo en una base de datos para se se cargue mas rapido. Si quieres que esto ocurra, dile que si y llama a la base de datos Win32api.mdb. Una vez convertida esta base de datos, el visor de API ya esta listo para usar.
Ahora, cuando quieras incluir una declaracion de una o varias API's de Windows, solo tienes que ejecutar el programa, selecciona la funcion que desea incluir, y pulsar ADD. Aparecera en el recuadro de texto inferior el codigo necesario para declarar la funcion en tu programa, solo resta copiarlo y pegarlo en un modulo de tu proyecto Visual
128
« en: Miércoles 10 de Noviembre de 2004, 13:56 »
En la opcion Projecto->Componentes agregar
* Microsoft Windows Common Controls 5.0 , o puede ser * Microsoft Windows Common Controls 6.0
Ambos componentes traen el control Statusbar
Inserta el control en el form, y coloca el siguiente codigo
Private Sub Form_Load() Me.Width = Screen.Width Me.WindowState = 2
StatusBar1.Panels.Add 1, , "" StatusBar1.Panels.Add 2, , "", sbrCaps StatusBar1.Panels.Add 3, , "", sbrNum StatusBar1.Panels.Add 4, , "", sbrIns StatusBar1.Panels.Add 5, , "", sbrScrl StatusBar1.Panels.Add 6, , "", sbrTime StatusBar1.Panels.Add 7, , "", sbrDate
StatusBar1.Panels(1).Width = StatusBar1.Width / 7 StatusBar1.Panels(2).Width = StatusBar1.Width / 7 StatusBar1.Panels(3).Width = StatusBar1.Width / 7 StatusBar1.Panels(4).Width = StatusBar1.Width / 7 StatusBar1.Panels(5).Width = StatusBar1.Width / 7 StatusBar1.Panels(6).Width = StatusBar1.Width / 7 StatusBar1.Panels(7).Width = StatusBar1.Width / 7 StatusBar1.Panels(1).Text = "Version " & App.Major & "." & App.Minor & "." & App.Revision End Sub
Analizalo, y veras las potencialidades que puedes obtener de el.
Espero te sirva
129
« en: Martes 9 de Noviembre de 2004, 13:49 »
Utiliza las macros de excel. Por ejemplo, vamos a realizar la suma de dos celdas. Coloca valores en dos celdas diferentes. Ahora, seleccionar Herramientas-> Macro->Grabar nueva macro. Inserta un nombre a la macro. Aparecera una ventanilla flotante, que grabara todos los pasos que hagas. Entonces, ponte en una celda vacia, y pones "+" y ubicas la celda que contiene el primer valor, a continuacion vuelves a poner "+" y ubicas la celda que contiene el segundo valor y presiona "ENTER", ahora presiona sobre la ventana flotante "Detener grabacion".
Entonces, ahora vamos a ver, el codigo utilizado para hacer la operacion que acabamos de realizar. Seleccionamos Herramientas-> Macro->Macros y seleccionamos la macros con el nombre que grabamos anteriormente, y presionamos el boton "Modificar", y veras el codigo utilizado para realizar la operacion que grabamos.
Veras un codigo similar a :
Range("E10").Select ActiveCell.FormulaR1C1 = "=+R[-5]C[-2]+R[-5]C[1]" Range("E11").Select
Entonces, estas instrucciones llevadas en visual usando excel, te serviran para realizar cualquier operacion que desees.
Espero te sirva
130
« en: Martes 9 de Noviembre de 2004, 13:41 »
En un form1 inserta una toolbar con un boton con clave Key="Boton1" e inserta el siguiente codigo
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "Boton1" PopupMenu Form2.mnu End Select End Sub
En un form2, crea un menu desplegable, en que el padre del menu, no tenga caption. Este se llamara mnu
Como puedes ver en el codigo, al presionar el boton1, se activa el menu que se encuentra en el form2.
La esencia ya la tienes, ahora agrega lo que requieres.
131
« en: Viernes 8 de Octubre de 2004, 16:17 »
Private Sub Form_Load() 'Defino la grilla de 5 columnas MSFlexGrid1.Cols = 5 'Defino la grila de 1 fila (la del titulo) MSFlexGrid1.Rows = 1 'Me posiciono en la fila 0, del titulo MSFlexGrid1.Row = 0 'Recorro todas las columnas, y le agrego titulo For i = 0 To 4 'Me ubico en la columna MSFlexGrid1.Col = i 'Le doy el ancho a la columna MSFlexGrid1.ColWidth(i) = 1000 'Le inserto el texto MSFlexGrid1.Text = "Col" & i 'Centro el texto MSFlexGrid1.CellAlignment = 3 Next i 'Ahora recorro toda la grilla, agregando texto For i = 1 To 10 'Aumento en 1 la cantidad de filas de la grila MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 'Me posiciono en la ultima fila insertada MSFlexGrid1.Row = i For j = 0 To 4 'Me ubico en la columna j MSFlexGrid1.Col = j 'Inserto el texto MSFlexGrid1.Text = "R=" & i & " C=" & j Next j Next i End Sub
132
« en: Miércoles 6 de Octubre de 2004, 01:17 »
deberias hacer una "limpieza" de los datos, cambiando los apostrofes por otro caracter (por ejemplo, doble comillas).
Lo puedes hacer a traves del Analizador de Consultas, o con un programa Visual
Es refacil.
133
« en: Viernes 1 de Octubre de 2004, 15:38 »
Tecnicamente toda la informacion que solicitas debiera estar en el manual de la impresora. Si no, busca en la pagina de la marca de la impresora, las instrucciones y comandos para la impresora.
No hay diferencias entre puertos, todos se programa
134
« en: Viernes 1 de Octubre de 2004, 15:36 »
Antes de hacer la consulta, coloca
Me.MousePointer = vbHourglass 'A continuacion tu consulta, y tus procesos
Al terminar, coloca Me.MousePointer = vbDefault
Con esto, al menos tendras la idea que esta trabajando
Lo otro, es que tengas un contador de eventos, y simplemente en tu proceso le pongas
cont=cont+1 me.caption="Evolucion " & cont
Espero te tinque
135
« en: Viernes 24 de Septiembre de 2004, 21:03 »
La otra solucion que es mucho mas rapida y efectiva es:
Ve al menu Proyectos-> Componentes y haz click sobre el componente: Microsoft Rich TextBox Control 6.0
Agrega este control a tu Form y usa el siguiente codigo
Private Sub Form_Load() Dim Archivo as string Archivo="C:\MISDOCTOS\MIARCHIVO.TXT" '<- Ruta y nombre del archivo de entrada RichTextBox1.LoadFile Archivo End Sub
136
« en: Viernes 24 de Septiembre de 2004, 20:59 »
Usa lo siguiente
Dim TextLine AS STRING DIM strLinea as string Open TxtSave.Text For Input As #1 strLinea=EMPTY Do While Not EOF(1) Input #1, TextLine strLinea=strLinea & vblf & TextLine Loop Close #1 Text1.text=strLinea End Sub
Ojo: Debes tener las siguientes propiedades en el Text1 MultiLine=true ScrollBars=Vertical
137
« en: Sábado 11 de Septiembre de 2004, 14:57 »
Facil:
Crea una funcion que capture tu numero, lo transforme a string, que ubique el punto y lo cambie por coma y devuelva el valor ahora convertido en decimal.
Public Function ConvDecimal(ByVal sNumero As String) As Double posicion = InStr(sNumero, ".") If posicion > 0 Then Mid(sNumero, posicion, 1) = "," End If ConvDecimal = CDbl(sNumero) End Function
138
« en: Miércoles 8 de Septiembre de 2004, 18:22 »
Gracias, pero necesito informacion mas especifica, como por ejemplo, el uso de byte array, llamadas a rutinas, funciones y procedimientos pasando como parametros byte o byte arrayas.
Gracias.
P.D.: Igualmente, algun sitio donde puede conseguir informacion me seria de gran utilidad.
139
« en: Lunes 6 de Septiembre de 2004, 19:06 »
Necesito si alguien tiene codigo referente al uso de la variable BYTE.
Como se declara, y como se usa.
Gracias
140
« en: Sábado 4 de Septiembre de 2004, 16:35 »
Es un poco extraño tu problema, ya que con una matriz de textos, la cosa seria super sencilla, pero veo que aun hay gente que le gusta complicarse la vida. Pero bueno, eso es materia de otro foro.
Veamos si te sirve este codigo:
Pon en la primera columna 6 textbox llamados: text1,text2, ... , text6 Pon en la segunda columna 6 textbox llamados :txtdatos1,txtdatos2,... txtdatos6
Y usa el siguiente codigo para hacer lo que requieres:
i = 0 If Len(txtDatos1.Text) > 0 Then i = i + 1 Text1.Text = i Else Text1.Text = "" End If If Len(txtDatos2.Text) > 0 Then i = i + 1 Text2.Text = i Else Text2.Text = "" End If If Len(txtDatos3.Text) > 0 Then i = i + 1 Text3.Text = i Else Text3.Text = "" End If If Len(txtDatos4.Text) > 0 Then i = i + 1 Text4.Text = i Else Text4.Text = "" End If If Len(txtDatos5.Text) > 0 Then i = i + 1 Text5.Text = i Else Text5.Text = "" End If If Len(txtDatos6.Text) > 0 Then i = i + 1 Text6.Text = i Else Text6.Text = "" End If
141
« en: Martes 31 de Agosto de 2004, 00:10 »
Ahi te va la mayor parte, lo demas lo dejo por tu cuenta
142
« en: Lunes 30 de Agosto de 2004, 23:31 »
El trabajar con codigos de barra no tiene nada de especial.
Tu debes considerar el "codigo de barras" simplemente como un "font" mas dentro de tus fuentes de impresion. La gracia esta en tener el font que requieres, pero es otro cuento.
Ahora acerca de tu problema, parece complicado a simple vista, pero no lo es si consideras lo siguiente:
- Tienes la medida de la etiqueta. - Tienes el font (que debe venir en el disco de la impresora o de la lectora de barras) - Generalmente, las impresoras trabajan cada uno con un lenguaje especial, el cual puede ser utilizado por una aplicacion VB, siguiendo el formato que se especifique en el manual.
Cual es entonces el problema?
143
« en: Viernes 27 de Agosto de 2004, 22:30 »
Haberlo dicho desde el principio.
Lo que requieres lo siguiente:
Si el archivo tiene la estructura que ahi muestras entonces esto te servira:
archivo="C:\MICARPETA\BORDE.TXT" open archivo for input as #1 while not eof(1) input #1,linea pos=instr(linea," ") largo=len(linea) var1=cdbl(mid(linea,1,pos-1)) linea=mid(linea,pos+1,linea-pos+1) pos=instr(linea," ") largo=len(linea) var2=cdbl(mid(linea,1,pos-1)) linea=mid(linea,pos+1,linea-pos+1) pos=instr(linea," ") largo=len(linea) var3=cdbl(mid(linea,1,pos-1)) var4=mid(linea,pos+1,linea-pos+1) if var4>=10 then print var1,var2,var3,var4 endif wend close(1)
144
« en: Viernes 27 de Agosto de 2004, 15:48 »
Si el archivo tiene la estructura que ahi muestras entonces esto te servira:
archivo="C:\MICARPETA\BORDE.TXT" open archivo for input as #1 while not eof(1) input #1,linea var1=cdbl(mid(linea,1,5)) var2=cdbl(mid(linea,6,8)) var3=cdbl(mid(linea,15,8)) var4=cdbl(mid(linea,24,3)) if var4>=10 then print var1,var2,var3,var4 endif wend close(1)
En las instrucciones mid(linea,i,j) cambia los valores de acuerdo a tu realidad, para que lea los valores donde corresponde.
145
« en: Miércoles 25 de Agosto de 2004, 16:06 »
El control TABSTRIP que trae MS Windows Common Control 6.0 es muy primitivo.
Te recomiendo el control MS Tabbed Dialog Control 6.0 (SP4) (SSTAB)
Si no lo tienes, cargalo desde C:\WINDOWS\SYSTEM\TABCTL32.OCX
Ahora como usarlo, las siguientes instrucciones son para el control que te recomiendo:
1.- Tu defines cuantas "pestañas" desea que tenga tu control SSTAB1.TABS=6
2.- Tu defines cuantas pestañas por fila deseas tener SSTAB1.TABPERROW=3
3.- A cada pestaña le puedes colocar un titulo en forma independiente En tiempo de diseño: Pincha la pestaña, y usa la propiedad CAPTION para colocar el titulo
En tiempo de ejecucion: SSTab1.TabCaption(i) = Titulo , donde "i" es la pestaña a la que deseas colocar el titulo
4.- Puedes habilitar o deshabilitar cada pestaña a gusto En tiempo de ejecucion: SSTAB1.TABENABLED(i)=TRUE|FALSe , donde "i" es la pestaña a la que deseas habilitar o deshabilitar
5.- Tambien puedes hacer que el foco se traslade a alguna pestaña especifica SSTAB1.TAB=i
He aqui las funcionalidad mas basicas que te permitiran hacer cualquier cosa. Espero te sirva
P.D.: Recuerda que cada pestaña es como una ventana absolutamente independiente de otra.
146
« en: Martes 24 de Agosto de 2004, 16:38 »
Ahi te va un ejemplo
147
« en: Lunes 23 de Agosto de 2004, 16:38 »
Si la base de datos se encuentra en el servidor, entonces debes verificar que tengas los permisos y atributos para poder modificar los archivos.
Por tanto tu problema no es de VB si no de seguridad del servidor.
148
« en: Jueves 19 de Agosto de 2004, 16:26 »
Cuando haces referencia a un control fuera del modulo, tienes que partir con desde la referencia padre hasta llegar al control deseado.
Me explico.
Ya que estas en un modulo, y quieres hacer referencia a un label1 del form1, debes hacerlo asi.
Form1.Label1.Caption=Mensaje
149
« en: Jueves 19 de Agosto de 2004, 16:24 »
Si quieres usar esos iconos que tienes, con su color verdadero, te recomiendo uses Microangelo 5.5 para convertir tus iconos en iconos que VB pueda aceptar sin perder calidad.
Hasta donde a mi me ha tocado, los unicos iconos que VB no puede leer son los formato XP (obvio).
El microangelo lo bajas de cualquier sitio, y es facil de usar. A pesar de ser un trial, igual lo puedes usar sin problemas cambiando la fecha de tu PC, ya que solo compara la fecha de instalacion y la fecha del PC.
150
« en: Viernes 13 de Agosto de 2004, 16:51 »
Si deseas manejar usuarios y contraseñas, lo mejor siempre es guardarlo en alguna parte (ya sea una tabla de una base de datos o en archivos planos) claro que tienes que guardar los datos encriptados para que, si alguien llegara a abrilos, no pueda leer ni el usuario ni la contraseña.
Para tu caso, que son solamente dos usuarios te envio una pequeño proyecto que te servira.
Páginas: 1 ... 4 5 [6] 7 8 ... 15
|
|
|