Ver Mensaje Individual
  #10 (permalink)  
Antiguo 08/10/2003, 10:12
Avatar de IGNIS
IGNIS
 
Fecha de Ingreso: junio-2003
Mensajes: 70
Antigüedad: 21 años, 8 meses
Puntos: 0
De acuerdo Bien

Hola, que bien que lo hayas hecho, mira acuerdate que con F8 depuras, asi veras q es lo que te causa el salto de linea, en primera para hacerlo mas comodo pon una pequeña caja de texto que es la que reciba el numero, un boton de comando que al activarse el evento click ejecute la impresion de los asteriscos, esto e evitara la serie de if's.Aunque resulta comodo solo presionar el numero, pero piensa que pasaria si es 10, o 20 o mas, ¿?.
Por otro lado la instruccion PRINT, cada ves que se ejecuta, automáticamente hace un retorno de carro (ENTER, como lo programaste tu Chr$(13) ) entonces cuando le dices que lo imprima una y otra ves el asterisco lo llea al siguiente renglon. Por que no haces una variable que se incremente, es decir, que en lugar de que imprimas los asteriscos se lo sumes a una variable, y al final, mandas a imprimir la variable con todos los asteriscos juntos.


Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer)
Dim i As Integer
Dim j As Integer
Dim aster As String

If KeyAscii = 49 Then
j = 1
ElseIf KeyAscii = 50 Then
j = 2
ElseIf KeyAscii = 51 Then
j = 3
ElseIf KeyAscii = 52 Then
j = 4
ElseIf KeyAscii = 53 Then
j = 5
ElseIf KeyAscii = 54 Then
j = 6
ElseIf KeyAscii = 55 Then
j = 7
ElseIf KeyAscii = 56 Then
j = 8
ElseIf KeyAscii = 57 Then
j = 9
End If

While j <> 0
For i = 1 To j
aster = aster + "*"
Next
Print aster
j = j - 1
Print Chr$(13)
Wend

Con esto no pretendo solucionarte el problema, y no lo hago, solo te soluciono lo de los asteriscos en la misma fila. hay que pulir un poco.
Tu soluciona lo demas, pero trata de comprenderlo, no es muy dificil.
__________________
La verdad es la llave, no la puerta.