Ver Mensaje Individual
  #9  
Antiguo 05-11-2010
WPascal WPascal is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 26
Reputación: 0
WPascal Va por buen camino
Hola luego de resolver el problema del enlace me he dado cuenta de otro problema; por ejemplo, quiero ingresar tres registros, se supone que me deberían quedar guardados en el archivo con tipo, pero lo que hace el programa es reemplazar el registro anterior por el nuevo, he mirado el código pero no encuentro la falla, pues se supone que la función Reset abre el archivo para lectura/escritura no para sobreescribirlo, aquí les dejo el código para ver si me pueden ayudar qué estoy omitiendo.

Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Type
    TDPartida = Record                               {Creo El tipo Record TDPartida
                                                      con datos blancas,negras,anyo y resultado }
                Blancas,Negras,Resultado:String[40];
                Anyo:Integer;
    End;
Var
    Partidas: file of TDPartida;   {Este es el Alias}
    Juego:TDpartida;                {En la variable juego guardo la informacion}
                                     {que pasaré al archivo}
    NEntradas,I:Integer;
    {NEntradas es la cantidad de veces que se vana ingresar registros}
begin
    Assign(Partidas,'Resultados de las partidas.chess');
    Write('cuantos datos de partidas va a ingresar?: '); Readln(NEntradas);
    for I := 1 to NEntradas do  {Aqui pido los datos segun el valor de NEntradas}
        begin
            Writeln('Blancas:'); Readln(Juego.Blancas);
            Writeln('Negras:'); Readln(Juego.Negras);
            Writeln('Anyo:'); Readln(Juego.Anyo);
            Writeln('Resultado:'); Readln(Juego.Resultado);

            {Pregunto si el archivo existe}
            if not FileExists('Resultados de las partidas.chess') then
                      Rewrite(Partidas);
                Reset(Partidas);  {pongo el archivo en modo escritura}
                Write(Partidas,Juego); {escribo en el archivo la informacion del record}
                Close(partidas);
        end;


end.
Nuevemante gracias de antemano
Saludos.

Última edición por WPascal fecha: 05-11-2010 a las 02:04:33.
Responder Con Cita