[ Foro de Pascal ]

ERROR FUNCTION PASCAL

14-Mar-2024 17:59
Invitado (Anonimo)
0 Respuestas

Hola, estoy teniendo un error en el que al intentar ejecutar un codigo que escribi copiando literalmente un video de un curso, y a la persona del video se le ejecuta el programa sin problemas, pero a mi me aparece el siguiente error:
The GDB command:
"-break-insert +0"
did not return any result.

The GDB process is no longer running.
Aclaro que al quitar los llamados a la function 'copiarArchivo' y el procedure 'mostrarTextoDeArchivo' deja de aparecer el error y el programa se ejecuta sin problemas, agradezco la ayuda de antemano si alguien me pudiese explicar el por que del ERROR, a continuacion dejo el codigo fuente:
program archivos02_plaintext;

uses sysutils, crt;

const COMANDO_FIN= '/FIN';

var archivo: TextFile;
   nombreTemporal, nombreArchivo, lineaTexto: string;
   finDeEscritura: boolean;
   opcionActual: char;
procedure mostrarTextoDeArchivo(nombre: string);
var f: TextFile; linea: string;
begin
  if FileExists(nombre) then begin
    AssignFile(f,nombre);
    reset(f);
    while not eof(f) do begin
      readln(f,linea);
      writeln(linea);
    end;
    CloseFile(f);
  end;
end;
function copiarArchivo(nombreOriginal, nombreFinal: string): boolean;
var f1, f2: TextFile;
   lineaLeida: string;
begin
  if not FileExists(nombreOriginal) then begin
    result:= false;
  end else begin
    if FileExists (nombreFinal) then begin
      result:= false;
      exit;
    end;
  end;
  AssignFile(f1,nombreOriginal);
  AssignFile(f2,nombreFinal);

  reset(f1);
  rewrite(f2);

  while not eof(f1) do begin
    readln(lineaLeida);
    writeln(f2,lineaLeida);
  end;

  CloseFile(f1);
  CloseFile(f2);

end;
begin
 repeat
 clrscr;
 writeln('Elige una opcion:');
 writeln('1) Crear o abrir archivo existente');
 writeln('2) Mostrar informacion de un archivo');
 writeln('3) Copiar un archivo');
 writeln('4) Cambiar nombre');
 writeln('5) Eliminar');
 writeln('6) Mostrar lista de archivos');
 writeln('0) Salir');
 writeln;
 readln(opcionActual);

 case opcionActual of
 '1': begin
   write('Ingresa el nombre del archivo a abrir o crear: ');
   readln(nombreArchivo);
   AssignFile(archivo,nombreArchivo);
   if FileExists(nombreArchivo) then begin
      writeln;
      mostrarTextoDeArchivo(nombreArchivo);
      append(archivo);
   end else begin
     rewrite(archivo);
   end;
   repeat
       readln(lineaTexto);
       finDeEscritura:= CompareStr(COMANDO_FIN,lineaTexto)=0;
       if not finDeEscritura then begin
         writeln(archivo,lineaTexto);
       end;
   until finDeEscritura;
   CloseFile(archivo);
 end;
 '2': begin
     write('Ingresa el nombre del archivo a abrir: ');
     readln(nombreArchivo);
     mostrarTextoDeArchivo(nombreArchivo);
     readln;
   end;
 '3': begin
     writeln('Ingrese el nombre del archivo a copiar: ');
     readln(nombreArchivo);
     writeln('Ingresa el nombre del nuevo archivo: ');
     readln(nombreTemporal);

     if copiarArchivo(nombreArchivo,nombreTemporal) then
       writeln('Copia exitosa.')
     else
       writeln('No se pudo realizar la copia.');
     readln;
   end;
 '4': writeln('OK');
 '5': writeln('OK');
 '0': writeln('OK');
 else writeln('ERROR');
 end;
 until opcionActual='0';
end.




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...