crear un archivo de texto
Publicado por Ricardo (2 intervenciones) el 12/02/2010 14:17:21
ola , me han mandado hacer un programa q diga el numero de consonantes ,vocales , digitos decimales , frases y signos de puntuacion de un texto . lo q primero pense es usar una cadena string pero eso limita el tamñao del texto asi q supongo q me kitaran puntos x eso . despues viendo un codigo fuente de sta web trate de hacer algo parecido y me salio esto
Program texto;
Uses crt;
Const Enter=#13; {el 13 es el numero que le corresponde en codigo ascci al Enter}
Esc=#27; {el 27 es el numero que le corresponde en codigo ascci al Esc}
Var
f:text;
nombre,a:string;
tecla:char;
Begin
Clrscr;
assign(f,'texto.txt');
Rewrite(f);
writeln('introdusca su texto aqui:');
a:='';
Repeat
Tecla:=readkey;
Write(tecla);
a:=a+tecla;
Case tecla of
Enter:Begin
Write(f,a);
a:=''#10'';
Writeln;
End;
End;
Until tecla=Esc;
Close(f);
Reset(f);
While not eof(f) do
Begin
Readln(f,a);
Writeln(a);
End;
Close(f);
End.
pero me gustaria saber si hay una forma mas simple , sin necesidad de usar la unidad crt . este es el codigo q hice al principio , pero tiene un error y el bucle nunca finaliza , nose como finalizarlo .
program texto;
const enter=#13;
esc=#27;
var f:text;
a:string;
b:string;
i:integer;
begin
assign(f,'texto.txt');
rewrite(f);
writeln('introdusca su texto aqui:');
for i:=0 to length(a) do
repeat
readln(a);
if a=#13 then
write(f,a);
a:=''#10'';
until a[i]=esc;
close(f);
reset(f);
while not eof(f) do read(f,b);
close(f);
writeln('su texto es :',b);
readln;
end.
Program texto;
Uses crt;
Const Enter=#13; {el 13 es el numero que le corresponde en codigo ascci al Enter}
Esc=#27; {el 27 es el numero que le corresponde en codigo ascci al Esc}
Var
f:text;
nombre,a:string;
tecla:char;
Begin
Clrscr;
assign(f,'texto.txt');
Rewrite(f);
writeln('introdusca su texto aqui:');
a:='';
Repeat
Tecla:=readkey;
Write(tecla);
a:=a+tecla;
Case tecla of
Enter:Begin
Write(f,a);
a:=''#10'';
Writeln;
End;
End;
Until tecla=Esc;
Close(f);
Reset(f);
While not eof(f) do
Begin
Readln(f,a);
Writeln(a);
End;
Close(f);
End.
pero me gustaria saber si hay una forma mas simple , sin necesidad de usar la unidad crt . este es el codigo q hice al principio , pero tiene un error y el bucle nunca finaliza , nose como finalizarlo .
program texto;
const enter=#13;
esc=#27;
var f:text;
a:string;
b:string;
i:integer;
begin
assign(f,'texto.txt');
rewrite(f);
writeln('introdusca su texto aqui:');
for i:=0 to length(a) do
repeat
readln(a);
if a=#13 then
write(f,a);
a:=''#10'';
until a[i]=esc;
close(f);
reset(f);
while not eof(f) do read(f,b);
close(f);
writeln('su texto es :',b);
readln;
end.
Valora esta pregunta


0