Yo creo que el error esta en el Record anidado o en en la longitud del campo Dummi2 pero no encuentro la solucion
En cuanto a la parte del codigo p,special es por que lee con el with a p y tambien a specia
RegCliente = Record Status: LongInt; Special: RegSplCliente; DataArea: Array[1..1] Of Byte; End;
with P,special do begin maxcredito:=maxcredito/1000; saldop:=saldop/1000; montomax:=montomax/1000; montomaxcre:=montomaxcre/1000; end;
DataArea: Array[1..1] Of Byte;
with X dobeginend[CODE]Es de free pascal y de Delphi. Turbo pascal si mi memoria no falla, no tiene esas intrucciones.
Buenas tardes, si alguien me puede ayudar a resolver este problema:Tengo archivo llamado aclie.dat con la siguiente estructura:Código: Text program cliente;usescrt, dos;Type RegSplCliente = Record Case Byte Of 0: ( Conf: RegConfArchivo); 1: ( Codigo: String[KL]; Descripcion, Representante, Direccion1, Direccion2: String[40]; Telefonos: String[30]; ZonaC, VendC: String[KM]; Clase: String[KO]; MesVenc: SmallInt; TipoPVP: Byte; CreditoStat: Byte; MaxCredito, {maximo credito permitido} PagosA, {pagos anticipados} SaldoP, {saldo pendiente} MontoMax, {Monto maximo venta} MontoMaxCre, {maximo credito} IVARetenido: Real; UltimaV, UltimoP: RegUltimaOperacion; ChequesD: Array[1..5] Of RegUltimaOperacion; PromDay: SmallInt; NDays: SmallInt; RIF: String[15]; TipoIva: Char; UVend: String[KM]; {Ultimovendedor} IntMora: Boolean; BitVarios: Byte;{$IFNDEF CHILE} {$IFNDEF COLOMBIA} NIT: String[15]; {$ELSE} Dummy0: Array[1..16] Of Byte; {$ENDIF}{$ELSE} Dummy0: Array[1..16] Of Byte;{$ENDIF} Estadistics: Array[1..NMes,1..EstC] Of Real; {Cambios del dia 12-9-98 OJO !!!} FlagContab: Boolean; CuentaContab: String[25]; Descuento: Real; Dummy2: Array[1..50] Of Byte; ); End; RegCliente = Record Status: LongInt; Special: RegSplCliente; DataArea: Array[1..1] Of Byte; End; Var F: File of Regcliente; P: Regcliente; Begin clrscr; Assign(F,'aclie.dat'); reset(F); while not Eof(F) do begin read(F,P); with P,special do begin maxcredito:=maxcredito/1000; saldop:=saldop/1000; montomax:=montomax/1000; montomaxcre:=montomaxcre/1000; end; seek(F,filepos(F)-1); write(F,P); end; close(F); end. El problema es que el compila Bien, pero cuando lo ejecuto da un error 100si alguien tiene una solucion, para modificar y accesar este archivo seria de suma ayuda gracias