FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
No se usar el label. Ayuda.
Hola, recien estoy ejercitando mi paso de Turbo Pascal a Delphi y ya tengo problemas. En mi Pascalito querido hacia algo como:
For i:= Low(Matriz) To High(Matriz) Do Begin Write(Matriz[i]); Delay(1000); // mini pausa End; Para recorrer un simple array y mostrar su contenido, por ejemplo, 10 numeros. Quize hacer lo mismo en Delphi, pero solo "veo" el ultimo numero ingresado (10), y noo uno por uno (con intervalo de 1 segundo) como lo podia hacer con Turbo Pascal No traje el codigo Delphi conmigo pero creo que era algo como : For i:= 0 To 10 Do Begin Label1.Caption := IntToStr(Matriz[i]); Sleep(1); End; y solo obtengo el ultimo numero en el Label. Cómo debo hacer para colocar los numeros que se van incrementando uno al lado del otro dentro del mismo label? Es algo muy tonto para el que ya sabe programar en Delphi, pero yo no logro encontrarle la vuelta. Con ShowMessage si me resulta, porque me pone una por una las ventanas con el numero correspondiente, y el boton que al presionar Aceptar pasa a la otra iteraccion... Pero no es lo que busco dominar por ahora. Quiero hacer esto con un label. Espero me hayan entendido, gracias. |
#2
|
||||
|
||||
En lugar de Label1.Caption := IntToStr(Matriz[i]) puedes poner
de esta forma vas "aumentando" lo que contiene el Label. Al margen de esto, yo te recomiendo que te olvides de una buena vez de Turbo Pascal. En lugar de tratar de pasar ejemplos de TP a Delphi, búscate un libro de Delphi y estúdialo. Estudia también los ejemplos que vienen con Delphi, pero olvídate de seguir pensando "como antes" // Saludos |
#3
|
||||
|
||||
Por si tienes curiosidad tu codigo no funcionaba primero, porque mientras no sales del bucle el label no se actualiza. Y segundo pones un retrado de 1 milisegundo eso es un poco rapido.
Podrias probar con esto Código:
For i:= 0 To 10 Do Begin Label1.Caption := IntToStr(Matriz[i]); Application.ProcessMessages; Sleep(500); End; |
#4
|
||||
|
||||
Cita:
Perdon que insista con Pascal, pero "ahi", en vez de un Label tendriamos algo como: For i := 1 To 10 Do Write(Matriz[i]); y la variable i que hace de indice, haria que se muestre todo el contenido del array, hasta que se llegue al 10. No entiendo esto que me decis de que no se actualiza hasta salir del Loop. Si no entendi mal, no se sale del loop hasta que este se termine. Salvo que forcemos la salida. Por otra parte, una vez que salgo del bucle FOR ya no vuelvo a este, y por lo tanto no se ejecutaria el label !!! Que es lo que no entendi entonces ? |
#5
|
||||
|
||||
Cita:
Por otra parte, no consigo libros de Delphi!! No se de donde sos, pero en Buenos Aires, tenemos grandes cadenas de librerias (Como Cuspide y Drystal) y encontre libros de todos los lenguajes, incluso de Clipper !!!! pero ni uno de Delphi. Bueno si, uno, pero era la version 4 En una feria de mi ciudad, encontre uno usado de Delphi 5, creo que era de Francisco Charte si no me equivoco. Algo asi me serviria para empezar? Cuspide me trae el libro de Delphi que quiera desde España, pero amen del precio se encarece por traerme algo solo para mi, tardara un mes en llegar. Que me aconsejas Roman? |
#6
|
||||
|
||||
Cita:
Si talcual! Tenia este codigo que ves para cargar el array, y otro bucle For para mostrar el contenido del array, bien, en el segundo bucle, pretendia mostrar el contenido del array utilizando de nuevo la variable indice i, pero reinicializandola: For i := 1 To 10 ... Pero voy a la ventana Watch y, la variable i tenia el valor 11 !!! Ok, me resigne, entonces cree otra variable (tambien integer) llamada k que la usaria como indice en reemplazo de i Corro el programa de nuevo y, adivina! Si, k tambien tomaba el valor 11 !!! Como si fuera poco, la reinicializaba ANTES de iniciar el bocle FOR. k := 0; //al inicio del programa For K := 1 To 10 ... Pero esto no es nada, el punto maximo de locura fue cuando, reemplace el segundo for (el que deberia mostrar el contenido del array) por un bucle While; Cuando utilice While en vez de FOR, la variable k tomo el valor 1. Lo dicho, mi compilador se volvio loco. (Uso Delphi 6) |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda al usar Rave | Coco_jac | Impresión | 2 | 09-12-2005 18:08:06 |
Ayuda para empezar usar Internet en Delphi | ggram2 | Internet | 3 | 09-11-2005 18:27:20 |
La increíble tecla F1 en Delphi | dec | Varios | 1 | 31-08-2005 22:26:45 |
novato, ayuda para usar aplicacion en otro ordenador | zastilla | Conexión con bases de datos | 2 | 25-07-2005 12:41:47 |
Ayuda :para usar eof | alcides | SQL | 3 | 15-04-2004 04:42:39 |
|