Ver Mensaje Individual
  #6  
Antiguo 14-09-2012
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Reputación: 22
Critter Va por buen camino
Talking

Amigo Casimiro, tienes razón un error imperdonable el mío, me aceptarias el decirte que fue un olvido ?

En cuanto a Delphius, tienes razón quizas con la POO es más fácil, pero el hecho es que se trata de la definicion de un archivo que debe ser guardado a texto, y cada registro puede ser distinto aunque todos tienen la misma longitud, por eso mi planteamiento era llenar los datos a traves del record y a la hora de guardar el archivo que fuese mediante

Código Delphi [-]
Writeln(strDelRecord);

olvidandome desde ese momento de la estructura interna del record.

Gracias a todos por vuestras respuestas.

En su momento hice la siguiente función para ese tipo de record, que desconozco si funcionará en todos los sistemas, pero lo que hacia era recorrer todo el record, averiguar la longitud del string y eliminar los carácteres extraños para un record del tipo como el mencionado arriba.


Código Delphi [-]
function RecordToString(const registro): string;
var
  StrTemp: string;  // Cadena temporal
  c: ^char;         // Puntero a char
  i: Integer;       // Contador.
  NumCars: LongInt; // Numero de carácteres
begin
  StrTemp := '';
  c := @registro;
  while (c^ <> #0) do   // Mientras no sea el final del registro.
  begin
    NumCars := Ord(c^); // Lee la longitud de la cadena
    i := 0;
    while (i < NumCars) do // Lee caracteres de la cadena.
    begin
      inc(c); // Incrementa el contador del caracter.
      StrTemp := StrTemp + c^; // Traspasa los datos a la cadena.
      inc(i); // Incrementa el contador de carácteres en el registro actual.
    end;
    inc(c); // Incrementa el contador de Caracter.
  end;
  Result := StrTemp; // Devuelve un string.
end;

¿ Podria tener algún problema usando esta funcion ?

Gracias.
Responder Con Cita