Ver Mensaje Individual
  #8  
Antiguo 14-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Critter.

Cita:
¿ Podria tener algún problema usando esta funcion ?
Solamente si tuviera dificultad en detectar el fin de los campos o del registro.

Pero por otro lado, la función RecordToString tendría el mismo resultado que la función Cadena que te sugirio egostar, siendo esta última mucho más simple y eficiente.

Si deseas que cada cadena conserve una longitud fija podes hacer :
Código Delphi [-]
...
{A-}
type
  TRegistro = record  // registro ejemplo
    a: string[10];
    b: string[12];
    c: string[7];
  end;

(* Pasa registro a cadena. Completa longitud fija con espacios al final *)
function RecordToString(r: TRegistro): string;
begin
  Result := r.a + StringOfChar(' ', SizeOf(r.a) - Length(r.a) - 1)+
            r.b + StringOfChar(' ', SizeOf(r.b) - Length(r.b) - 1)+
            r.c + StringOfChar(' ', SizeOf(r.c) - Length(r.c) - 1)
end;

(* Pasa las cadenas de longitud fija al registro *)
function StringToRecord(s: string): TRegistro;
begin
  with Result do
  begin
    a := Copy(s, 1, SizeOf(a)-1);
    b := Copy(s, SizeOf(a), SizeOf(b));
    c := Copy(s, SizeOf(a)+SizeOf(b)-1, SizeOf(c))
  end
end;
...

Ejemplo para guardar en el archivo de texto:
Código Delphi [-]
...
var
  r : TRegistro;
  F : TextFile;
begin
  ...
  AssignFile(F, ...
  ...
  Writeln(F, RecordToString(r));
  ...
Ejemplo para leer desde el archivo de texto:
Código Delphi [-]
...
var
 s : string;
 r : TRegistro; 
 F : TextFile;
begin
  AssignFile(F, ...
  ...
  while not Eof(F) do
  begin
    Readln(F, s);
    r := StringToRecord(s);
    ...
  end;
...
O si no, no estoy entendiendo el problema...


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 14-09-2012 a las 11:01:38. Razón: ortografía
Responder Con Cita