SoloCodigo

Programación General => Pascal => Mensaje iniciado por: modeates en Miércoles 8 de Noviembre de 2006, 23:36

Título: Ayuda Con Animacion!!
Publicado por: modeates en Miércoles 8 de Noviembre de 2006, 23:36
buenas  necesito ayuda kon dev pascal!!!
si alguien supiera como puedo hacer una animacion
en pascal que diga caragdno y se llene un abrrita
y cuando llegue a cien muestre un menu
ah y tambien si alguien sabe si puedo poner un gran titulo
que sea aumentar de tamaño la letra
para no tener que hacer con asteriscos y coass que es muy complicado garcias de antemano!!!
Título: Re: Ayuda Con Animacion!!
Publicado por: ArKaNtOs en Miércoles 8 de Noviembre de 2006, 23:49
[dohtml]<marquee width='200px'>caragdno</marquee><div align='center' style='background-color: #f0f0f0'>Aqui no se hacen tareas</div>[/dohtml]:P
Título: Re: Ayuda Con Animacion!!
Publicado por: lencho en Miércoles 8 de Noviembre de 2006, 23:55
:D  :D  :D  :lol:  :lol: jjajajajajja :lol:  :lol:  :lol:

Cada vez las respuestas a ese tipo de preguntas son mejores.

Esto se pone interesante. jajajajjajaja :devil:  :devil:

BYTE
Título: Re: Ayuda Con Animacion!!
Publicado por: ElNapster en Jueves 9 de Noviembre de 2006, 00:09
:kicking:  opino lo mismo  :whistling:
Título: Re: Ayuda Con Animacion!!
Publicado por: modeates en Jueves 9 de Noviembre de 2006, 00:26
pero si no quiero que me hagan la tarea quiero saber como se hacen ese tipo de figuras con movimiento po  
wena onda gracias!!
Título: Re: Ayuda Con Animacion!!
Publicado por: Enko en Jueves 9 de Noviembre de 2006, 01:34
Si sabes programar algo, no creo que sea muy dificil.
Es tan facil como hacer:
Código: Text
  1.  
  2. WriteLn('Cargando');
  3. for i:=1 to 30 do
  4. begin
  5.    Write('*');
  6.    delay(10000);
  7. end;
  8. WriteLn('');
  9. WriteLn('Listo');
  10.  
  11.  
Título: Re: Ayuda Con Animacion!!
Publicado por: modeates en Jueves 9 de Noviembre de 2006, 16:21
gracias eso no cachaba es que soy
nuevo y recien se hacer programas  registros archivos de texto
pero funciones como la que usaste delay no als conocia

gracias!!
Título: Re: Ayuda Con Animacion!!
Publicado por: -DriverOp- en Sábado 18 de Noviembre de 2006, 15:17
Para hacer barras de avance necesitas saber cuánto representa el 100% del proceso a graficar con la barra. Por ejemplo, si quieres hacer la barra de avance que indique el porcentaje que lleva copiado un archivo necesitas saber qué tamaño tiene el archivo, el resto es simplemente calcular el porcentaje de lo ya copiado.

El porcentaje actual está dado por la fórmula:

Porcentaje = ValorFinal / ValorActual * 100

De modo que si el archivo mide 1024 KB y llevas 512 KB copiados entonces el porcentaje es 50%.

50 = 1024 / 512 * 100

Ahora bien, hay que traducir esto a posiciones de pantalla.

Supongamos que estás en modo texto de 25 filas por 80 columnas y la barra es horizontal, y quieres que al 100% ocupe 70 columnas. Se deduce de esto que al ir el 50% de la copia la barra habrá llenado 35 columnas. Evidentemente hay una relación entre una cosa y la otra.

Si 1024 son 70, cabría preguntar cuánto representa 1 en columnas. Esta relación nos la da la división 70 / 1024 = 0,07, entonces 0,07 * 512 (que es el valor actual) nos da 35,84. Como la pantalla está dividida en números enteros, solo tomamos la parte entera del resultado.

La fórmula completa para determinar hasta dónde hay que llenar la barra según el valor actual sería:

ColumnaActual = (ColumnaFinal / ValorFinal) * ValorActual

Como estamos en Pascal y hay una división real implicada para obtener un número que debe ser entero sería:

ColumnaActual := Trunc((ColumnaFinal / ValorFinal) * ValorActual);

Y el porcentaje sería:

Porcentaje := ValorFinal / ValorActual * 100;

Siendo Porcentaje de tipo Real.

Bien pero como podrás darte cuenta la variable ColumaFinal nos da la posición absoluta en pantalla, es decir a partir de la columa 1, quizá quieras que la barra esté centrada en la pantalla, siendo ésta de 70 columnas hay que desplazarla 5 columnas a la derecha, ningún problema, solo hay que sumar 5 al resultado y ya está.

Lo demás es jugar con el GotoXY :D.