- Código: Seleccionar todo
TYPE
informacion=Record
primera_palabra:string(20);
absolute_line:integer;
num_pagina:integer;
num_palabras_linea:integer;
ultima_palabra:string(20);
End;
tfila=bindable text;
tline=string(255);
minusculas='a'..'z';
conj_minusculas= SET OF minusculas;
mayusculas='A'..'Z';
conj_mayusculas= SET OF mayusculas;
numeros='0'..'9';
conj_numeros= SET OF numeros;
tname=string(20);
VAR
conj1:conj_minusculas;
conj2:conj_mayusculas;
conj3:conj_numeros;
datos:informacion;
entrada,salida:tfila;
linea:tline;
nombre:tname;
PROCEDURE asignar(VAR archivo:tfila; nombre_archivo:tname);
VAR
b:bindingtype;
BEGIN
unbind(archivo);
b:=binding(archivo); {Procedimiento para recoger el archivo y hacer
las operaciones}
b.name:=nombre_archivo;
bind(archivo,b);
END;
Function Estadistica (VAR entrada:tfila):informacion;
VAR
nlinea,ncar,npalabras:INTEGER;palabra:string(20);caracter:char;pertenece:boolean;
BEGIN
palabra:=''; caracter:='';
nlinea:=0;ncar:=0;npalabras:=0;
WHILE NOT EOF(entrada) DO BEGIN
Readln(entrada,linea);
trim(linea);
nlinea:=nlinea+1;
WHILE NOT EOLN (entrada) DO BEGIN
caracter:=Substr(linea,ncar,ncar+1);
If pertenece=caracter IN conj1
If pertenece=caracter IN conj2
If pertenece=caracter IN conj3 then BEGIN;
if palabra='' then npalabras:=npalabras+1;
palabra:=palabra+caracter;
End
else begin
{chr(13) es el caracter de fin de linea para las palabras acabadas en '-'}
If npalabras=1 then Estadistica.primera_palabra:=palabra;
palabra:='';
end;
ncar:=ncar+1;
END;
modulo.pas: In function `Estadistica':
modulo.pas:83: error: expression used as a statement {ESTO ES LO QUE ME FALLA}
modulo.pas:87: error: invalid operands to `='
modulo.pas:87: error: syntax error before `IN'
solnauj@solnauj-desktop:~/Desktop/practica$
{me da esos errores,lo de =,sigue sin ir...lo que quiero hacer es pillar las caracteres validos para las palabras k son mayusculas,minusculas y numeros,y el resto de caracteres ASCII son de separacion,no??
haer una cuenta de palabras para que te de el numero de palabras en linea y kuand sea 1 se la asignas al registro y luego vacias ese campo "palabra" para que almacene la ultima(aun me queda x hacer en la funcion)...kreo k podia ser una opcion,n?si no decirme una alternativa
ahhh...otro error es el de la funcion TRIM cuando se lo aplico al string donde almaceno la linea,no se pk da error...
UN SALUDO}

