Lee un archivo y lo guarda en otro completamente en mayusculas

{-Victor De la Rocha}
{-Algoritmia@groups.msn.com}
{-www.myalgorithm.com}
{
-Programa 5
-Lee un archivo de texto, y lo graba en otro
 en mayusculas
}
uses
 crt;
const
 ARCHIVO='ARCHIVO5.TXT';{Unicamente lo leera, no lo modificara}
type
 F=TEXT;
var
 Letras,f2:F;
 Caracter:char;
 palabra:string;
procedure titulo(titulo:string;y:integer);
 begin
  gotoxy(trunc((80/2)-(length(titulo))/2),y);
  write(titulo);
 end;{Procedure titulo}
 
begin{Programa Principal}
 ClrScr;
 titulo('Programa 5',1);
 titulo('>Duplica un archivo de texto, pero en mayusculas<',2);
 writeln;
 {*--->Asigno el ARCHIVO a Letras(El que voy a leer)<---*}
 assign(Letras,ARCHIVO);
 assign(f2,'copia5.txt');
 {*--->Intento crear los archivo<---*}
 {$I-}
  reset(Letras);
 {$I+}
  if ioresult=0 then {} else rewrite(Letras);
 reset(Letras);
 rewrite(f2);{creo el archivo dos o copia, como nuevo}
 reset(f2);
 {*---><---*}
 {append(f2);{abro f2, para escritura}
 {*--->Intento leer Letras caracter por caracter<---*}
  palabra:='';
  while not eof(Letras) do
   begin
    while not eoln(Letras) do
     begin
      repeat
       append(f2);
       read(Letras,Caracter);
       close(f2);
       palabra:=concat(palabra,Caracter);
      until (caracter=' ') OR (eof(Letras)=true);
       append(f2);
       palabra:=upcase(palabra);
       write(f2,palabra);
       {*--->Mostra en pantalla palabra por palabra<---*}
       delay(50);write(palabra);
       {*---><---*}
       palabra:='';
       close(f2)
     end;{while not eoln}
    readln(Letras);
    append(f2);
    writeln(f2);
    close(f2);
   end;{while not eof}
  Close(Letras);
 {*---><---*}
 ReadKey;
end.
 

Contenido de ARCHIVO.TXT: Victor manuel De la Rocha Cazares. Se duplico en "COPIA.TXT" de esta manera VICTOR MANUEL DE LA ROCHA CAZARES

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)