• Viernes 19 de Abril de 2024, 11:34

Autor Tema:  Funcion para contar caracteres  (Leído 1800 veces)

pablo04

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Funcion para contar caracteres
« en: Domingo 29 de Junio de 2008, 05:58 »
0
Hola, estoy haciendo un programa para la facultad, y me surgio un problema, quiero saber como contar la cantidad de caracteres de una variable, probe con la funcin strln(), pero me da error de tipos. Lo q tngo es esto, Un registro de varios campos, quiero q me imprimia en pantalla los valores de los campos del registro, y quiero saber la cantidad de caracteres para imprimirlo ordenadamente dependiendo d la cantidad de caracteres q ocupa la palabra en la pantalla.
Les dejo el codigo para q mas o menos lo entiendan:

treg_emp= record
                        legajo: longint;
                        nombre: string[50];
                        fechaingreso: string[8];
                        domicilio_calle: string[50];
                        domicilio_localidad: string[15];
                        domicilio_provincia: string[15];
                        telefono: string[15];
                        dias_trabajo: t_dias_trabajo;
                        sueldo: real;
                  end;

Ese es el registro, y ahora les pongo los procedimientos

Procedure MostrarEncabezado;

Begin
        Writeln ('____________________________________________________________________________________');
        Writeln ('| Localidad     | N§ Legajo   | Nombre             | Calle                     | Provincia          | Subtotal |');
        Writeln ('|___________|___________|______________|_________________|______________|__________|');
end;

Procedure Most_Listado ( Var A: T_Arch_Emp; Vec_Ind: T_ind; N: T_Rango);

Var
        Reg: TReg_Emp;
        I: T_Rango;
        Aux: TReg_Ind;
        Subtotal: real;
        X: String[15];
        Y: Longint;
        J: String[50];
        K: String[50];
        L: String[15];
Begin
        Reset (A);
        MostrarEncabezado;
        I:=1;
        Subtotal:=0;
        While (I <= N) do
                Begin
                        Aux.Domicilio_Localidad:= Vec_Ind.Domicilio_localidad;
                        While (Aux.Domicilio_Localidad = Vec_Ind.Domicilio_Localidad) and (I<=N) do
                                Begin
                                        Seek (A, Vec_Ind.PRR);
                                        Read (A,Reg);
                                        X:= Reg.Domicilio_Localidad;
                                        Y:= Reg.Legajo;
                                        J:= Reg.Nombre;
                                        K:= Reg.Domicilio_Calle;
                                        L:= Reg.Domicilio_Provincia;
                                        Writeln ('| ',X,'| ':12-strlen(X),Y,'| ':15:strlen(Y),J,'| ',K,'| ',L,'| ',Subtotal,'| ');
                                        Inc(I);
                                        Subtotal:= Subtotal + Reg.Sueldo;
                                end;
                                Writeln (' ':63, Subtotal);
                end;
end;

Ahi les deje los procedure, espero q entiendan cual es el problema q tngo, lo q me dice es q error de tipo... si saben como solucionarlo les agradesco...