Pascal/Turbo Pascal - Ayuda con inserción de texto

   
Vista:

Ayuda con inserción de texto

Publicado por Marcos Miguel marcosmisanchez@gmail.com (1 intervención) el 22/08/2013 02:48:28
Hola programadores!, necesito de su ayuda para orientarme en un tema del cual estoy desorientado:

Estoy haciendo un programa a modo de tesis para recibirme de analista de sistemas. El mismo cumple la funcion de administrar una carrera de motos, donde se dan de alta corredores, categorías, se cuentan vueltas, etc.

Tengo todo cocinado, pero estoy en los detalles y no se me ocurre como hacer para que el usuario pueda ingresar la cantidad de caracteres que yo quiero, es decir, crear una máscara o algo similar.

Por ejemplo, las categorías son char, por lo que quiero que pueda ingresar un caracter y no pueda poner nada mas. Los corredores poseen numeros de tres cifras (string de 3), por lo que quiero que ingresen 3 caracteres y no permita mas.

¿Se entiende lo que necesito? Espero puedan ayudarme...

Gracias! Marcos
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 con inserción de texto

Publicado por ramon (2072 intervenciones) el 30/08/2013 15:48:11
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
41
42
43
44
45
{Mira esta entrada solo entra la cantidad indicada o menos nunca mas}
 
 program entradas;
 uses
    crt;
  var
    dato : string;
    n : integer;
 
  function entradato(d : integer) : string;
  var
    tec : char;
    t : integer;
    da : string;
  begin
     t := 1;
     gotoxy(3,2);
    repeat
        tec := readkey;
        if tec in[#33..#126,#164,#165] then
        begin
        da[t] := tec;
        da[0] := chr(t);
        gotoxy(2 + t,2);write(da[t]);
        t := t + 1;
        end;
        if tec = #8 then
        begin
           t := t - 1;
           da[t] := ' ';
           da[0] := chr(t);
           gotoxy(2 + t,2);write(da[t]);
        end;
    until (t > d) or (tec = #13);
    entradato := copy(da,1,length(da));
    gotoxy(2,2);clreol;
  end;
 
 
  begin
     clrscr;
     n := 4;
     writeln(entradato(n));
     readkey;
  end.
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