|
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 - calichecal
Páginas: [1]
1
« en: Jueves 27 de Agosto de 2009, 21:58 »
Shell "CArchivos de programaMicrosoft OfficeOffice10WINWORD.EXE", vbNormalNoFocus
2
« en: Lunes 27 de Julio de 2009, 02:36 »
Bueno vengo de programar mucho en java. Me han pedido un trabajo que segun mi criterio es mejor trabjar en VB 6.0
El punto esq necesito saber como Cargar e Imprimir en Pantalla una Matriz 5x5
Cualquier idea es bienvenida, muchas gracias.
PD: Ya la cargue, pero fue a la ruda, osea asigando, me gustaria cargarla con ciclos de repeticion (piendole datos al user con InputBox) como lo hago en Java, pero no se como... Para cargar e imprimir una matriz bidimencional usando inputbox : Dim matriz() As Integer [ en declaraciones] Private Sub Form_Load() Dim c As Integer, f As Integer, i As Integer, i2 As Integer c = InputBox("ingrese el numero de columnas :") f = InputBox("ingrese el numero de filas :") ReDim matriz(1 To c, 1 To f) For i = 1 To c For i2 = 1 To f matriz(c, f) = InputBox("ingrese el dato numerico de la columna " _ & i & " de la fila " & i2) Print "fila "; i2; " columna "; i; " = "; matriz(c, f) Next i2 Next i end sub
3
« en: Lunes 27 de Julio de 2009, 02:00 »
SALUDOS , estoy haciendo una calculadora y utilize una matriz de controles para las teclas de los digitos ,resulta que cuando fui a probarlos a partir de la tecla 5 me aparece un error diciendome " la matriz 5 no existe "y haci hasta la 9 ,y no se donde sera el problema pues se supone las 9 teclas tienen el mismo codigo y de la tecla 4 para abajo si funcionan bien ,agradesco la ayuda aqui esta el codigo de la matriz digitos=
Private Sub digitos_Click(Index As Integer) Dim numero As String If numoperandos = 0 And operacion(Index).Caption = "-" Then ultimaentrada = digito_ End If If ultimaentrada <> digito_ Then If digitos(Index).Caption = "0" Then Exit Sub pantalla.Caption = "" puntodecimal = False ultimaentrada = digito_ End If numero = pantalla.Caption pantalla.Caption = numero & digitos(Index).Caption
4
« en: Viernes 24 de Julio de 2009, 01:29 »
Bueno, veamos, varias cosas que decir... empezaré por la raíz, y terminaré por tu problema.
En el código evita utilizar nombres de variables inexpresivas, es decir variables como: i,12,sf,sc no significan nada, tú las entiendes hoy, si guardas el código un mes y luego lo relees es probable que recuerdes que se esperaba del programa pero si llevas la atención a una línea cualquiera y ves sc=0 no sabrás que está haciendo... por ejemplo sf podrías llamarlo Total1 y sc podrías llamarlo total2 a c lo podrías llamar Entrada1 y a f entrada2 o bien a c 'columna y a f Fila que imagino era la idea, la única excepción honrosa para esto suelen ser las variables de bucles si no tiene un propósito anterior, sin embargo en en bucles anidados usa variables consecutivas i,j,k,l,m además si te acostumbras a usar siempre un punto inicial y mantienes esa regla si ves k y siempre empiezas por i sea donde sea en tu código sabrás que k es el 3º bucle anidado... para corregir errores o despistes un simple conjunto de reglas para establecer nombres o mejor para no cometer errores es primordial...
A lo que veníamos... El código es totalmente correcto en su ejecución, la razón porque tu no ves nada es porque no has elegido la rutina adecuada para presentarlo, si el código lo ejecutaras desde un botón verías que funciona correctamente. Es que no se puede usar el load ?. Si, claro que se puede, pero hay que saber que significa el evento load... imagina que te digo me voy de viaje a Méjico, dicho así parece que eso es todo, pero previamente hay una cascada de sucesos... está la función comprar billetes para méjico, esperar la fecha del viaje, hacer las maletas, tomar el bus hasta el aeropuerto, facturar el equipaje y esperar el embarque, embarcar, despegar y viajar, finalmente llego a méjico..
El load del formulario es una aventura similar... cuando se abre un formulario por primera vez hay una cascada de eventos, primero hay uno que se llama initialize en él se deben poner el código de asignación de valores que se establecen una vez para toda la vida del formulario, luego viene otro que se llama activate recibe el enfoque lo que significa que el control que previamente lo tenía lo pierde, luego viene el load que es donde se debe poner el código que se debe ejecutar cada vez que se carga el formulario, initialize sólo se ejecuta 1 vez sería como si lo llamáramos construir, load sería como si lo llamáramos abrir las puertas, después del load viene el evento show este se encarga de dibujar todo el contenido por ejemplo los controles dentro del formulario se cargan en esta fase y finalmente viene el evento paint que es hacerlo visible, show lo carga gráficamente en memoria y paint lo vuelca al monitor.
Ahí está tu error, tu dibujas en el formulario con print, pero no son gráficos persistentes, cuando se ejecuta el evento paint, por tanto queda borrado. Puedes hacer una de 2 cosas, o bien previamente estableces la propiedad autoredraw = true, tal como se muestra en el código...
Private Sub Form_Load() Dim c As Integer, f As Integer, i As Integer, i2 As Integer, sc As Integer, sf As Integer, a As Integer AutoRedraw = True ' <====================== mirar aquí ================================================ c = InputBox("ingrese el numero de columnas :") f = InputBox("ingrese el numero de filas :") ReDim mama(1 To c, 1 To f) ..... end sub
Que lo convierte en un fráfico persistente, o bien precipitamos que el formulario se exhiba y luego dibujamos en él... dentro del propio evento load, esto se haría como se indica en el código de ejemplo:
Private Sub Form_Load() Dim c As Integer, f As Integer, i As Integer, i2 As Integer, sc As Integer, sf As Integer, a As Integer me.show ' <====================== mirar aquí ================================================ c = InputBox("ingrese el numero de columnas :") f = InputBox("ingrese el numero de filas :") ReDim mama(1 To c, 1 To f) ..... end sub
El me.show fuerza a que se ejecuten los otros eventos restantes shoe y paint antes de continuar con la carga.
Pero vamos dado que el código que pones no es imprescindible durante la carga lo ideal es que lo ejecutaras desde un botón.... ahora resulta que me imprime el resultado de la ultima ultima fila y la ultima columna, y el resto la imprime pero resultado cero,
5
« en: Jueves 23 de Julio de 2009, 18:21 »
pues yo lo ise con un while dentro de un if para cada billete asi =
if cantidad >= 50000 then while not cantidad < 50000 cantidad = cantidad - 50000 variable50000 = variable50000 + 1 wend end if y me funciono perfectamente.
6
« en: Viernes 17 de Julio de 2009, 21:49 »
saludo ,ahora en visual basic 6.0 estoy en el tema de las matrises ,pero tengo el problema de que quiero sumar las filas y las columnas de una matris bidimencional ,pero no me quiere salir ,he revisado el codigo varias veces y la verdad no encuentro la falla ,todo parece estar bien ,agradesco la atencion al que me saque de esta duda,este es el codigo:
Dim mama() As Integer Private Sub Form_Load()
Dim c As Integer, f As Integer, i As Integer, i2 As Integer, sc As Integer, sf As Integer, a As Integer c = InputBox("ingrese el numero de columnas :") f = InputBox("ingrese el numero de filas :") ReDim mama(1 To c, 1 To f) For i = 1 To c For i2 = 1 To f mama(c, f) = InputBox("ingrese el dato numerico de la columna " _ & i & " de la fila " & i2) Next i2 Next i For i2 = 1 To f sf = 0 For i = 1 To c sf = sf + mama(i, i2) Next i Print " suma fila "; i2; " = "; sf Next i2 For i = 1 To c sc = 0 For i2 = 1 To f sc = sc + mama(i, i2) Next i2 Print "suma columna "; i; " = "; sc Next i End Sub
7
« en: Miércoles 1 de Julio de 2009, 19:24 »
a visual no es el mas basico ,es el mas facil de usar osea de alto nivel y mas poderoso, el mas utilizado en el mundo". No es el más utilizado en todo el mundo ni el más poderoso ni de lejos. De hecho VB6 es uno de los peores lenguajes en cuanto a diseño e implementación: genera mucho código, mal optimizado, gasta memoria inútilmente... Otra cosa es que sea de muy alto nivel (en cuanto a programación, me refiero) y permita interactuar con Windows de manera sencilla. La sencillez tiene sus defectos
saludos , deje la bronca ,tranquilo "solo es un poco de sentido de pertenencia"
8
« en: Miércoles 1 de Julio de 2009, 19:21 »
Yo haría enums con vectores.
Saludos saludos mosquito ,
9
« en: Miércoles 1 de Julio de 2009, 18:15 »
usa el control timer cambias su propiedad intervalo ,el intervalo de tiempo en el que quieras que se repita una accion ,que seria repetir una palabra ;1000 equivale a un segundo ,claro que no se que tanto sepas de visual,por que si esta muy recien necesitaras una explicacion mas detallada " a visual no es el mas basico ,es el mas facil de usar osea de alto nivel y mas poderoso, el mas utilizado en el mundo".
10
« en: Miércoles 1 de Julio de 2009, 18:01 »
yo estuve haciendo hace meses tambien un conversor ,utilize un formulario mdi y otros estandar con su propiedad mdichild en true y un menu para seleccionar el tipo de conversion ,en este caso = un menu podria llamarse peso llamaria la ventana estandar para peso que tendria aparte su subrutina de codigo y de ahy en adelante es cuestion de imaginacion tuya el saber interactuar con los objetos y variables , yo personalmente utilizaria if con if anidados y renombrando variables, ESPERO QUE ME HALLAS AGARRADO LA IDEA ,DUDAS PUEDES ESCRIBIRME A stevenson.exe@gmail.com
11
« en: Miércoles 24 de Junio de 2009, 23:20 »
¿Y las etiquetas de código? Mira que lo repito veces y soy pesao
Fíjate que tú pones como condición de que se repita el bucle a < 10. Y repites
Este código no cambia el valor de a, por tanto a será siempre el valor de text1.text antes de empezar el bucle. Por tanto nunca llegará a ser mayor que diez. Por tanto nunca sales del bucle. HABER SI ENTENDI : ES COMO SI EN A QUEDARA CON EL VALOR DEL TEXT1.TEXT DE CUANDO EMPEZO EL BUCLE?
12
« en: Miércoles 24 de Junio de 2009, 21:05 »
Pon tu bucle y te lo explicamos. Seguramente tu condición está mal.
PD: no olvides las etiquetas de código... Private Sub Command1_Click() Dim a as integer a = text1.text while a < 10 text1.text = val (a) + 1 wend end sub Private Sub Timer1_Timer() [propiedad interval = 1000] text1.text = val(text1.text) + 1 end sub
13
« en: Miércoles 24 de Junio de 2009, 02:43 »
estoy tratando de utilizar un while solo por practicar que empieze con el evento clip de un command ,he leido y seguido al pie de la tetra la estructura de esa instruccion pero siempre termino en un bucle infinito xd....agradesco la ayuda para el que sepa como es la adecuada utilizacion de while y su utilidad...
Páginas: [1]
|
|
|