Pascal/Turbo Pascal - [AYUDA] Extraer letras y mostrar de una en una (Graph)

   
Vista:
Imágen de perfil de Luis Alfredo

[AYUDA] Extraer letras y mostrar de una en una (Graph)

Publicado por Luis Alfredo (13 intervenciones) el 02/10/2017 00:10:34
Saludos

Lo que pido ayuda es porque quiero hacer lo siguiente:

Un codigo que tenga un texto y muestra cada letra de ese texto tras una breve pausa y un sonido

He hecho algo así, pero obviamente no es lo que quiero :c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{Tras declarar variables y todo eso xD}
 
PROCEDURE mt (t:String);                {"mt" es como la nombre}
begin
 
repeat
Sound (50);
outtext (t:[c]);
delay (100);
NoSound;
c:=c+1;
until c=t;
 
 
end;


Obviamente el programa no funciona (Se que es por que en Outtext no debe ser así: (t:[c]) )

Espero me puedan ayudar con esto (Y me hayan entendido XD)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

[AYUDA] Extraer letras y mostrar de una en una (Graph)

Publicado por David (183 intervenciones) el 02/10/2017 14:51:26
Tienes varios errores:

1. en el outtext te sobran los dos puntos: lo correcto sería Outtext(t[i])

2. En el until comparas c, que es una variable numérica con t, que es un string. Lo correcto sería until c=length(t);

Yo he hecho esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Uses CRT, Graph;
 
var
  c: string;
  a,b: integer;
 
  Procedure LetraALetra(cadena:string);
  var
    I : integer;
 
  begin
    for i:=1 to length(cadena) do
    begin
      outtext(cadena[i]);
      sound(50);
      delay(1000);
      nosound;
    end;
  end;
 
  begin
    readln(c);
 
  a:=Detect;
  initgraph(a,b,'');
  letraaletra(c);
  closegraph;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Luis Alfredo

[AYUDA] Extraer letras y mostrar de una en una (Graph)

Publicado por Luis Alfredo (13 intervenciones) el 06/10/2017 05:32:46
Muchas gracias, realmente me ha servido

Al fin estoy libre de la escuela y le hice unas cuantas modificaciones para que se adapte mejor a lo que necesito, pero me has ayudado mucho amigo, gracias en serio

El código termino así (Personalmente me gusta más usando espacios sin mucha separación :s)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Uses CRT, Graph;
 
var
c: string;
a,b: integer;
 
PROCEDURE LetraALetra(cadena:string);
var
I : integer;
begin
for i:=1 to length(cadena) do
 begin
 Sound (50);
 outtext(cadena[i]);
 delay (30);
 NoSound;
 delay(100);
 end;
end;
 
begin
clrscr;
a:=Detect;
initgraph(a,b,'');
 
c:= 'Hola :D';
moveto (150,10);
settextstyle (0,0,2);
letraaletra(c);
readln;
 
clrscr;
moveto (150,10);
c:='Como te va?';
letraaletra (c);
 
 
readln;
closegraph;
end.

Gracias de nuevo.

Saludos :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar