Ver Mensaje Individual
  #1  
Antiguo 03-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.075
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Se puede asignar una cadena de texto a un record?

Hola, me explico con un ejemplo para que sea más comprensible:
Tengo un record con todos los campos de texto.

Código Delphi [-]
TregFicha = record
  RFcampo1 : string[12];
  RFcampo2 : string[40];
  RFcampo3 : string[15];
end;

rLinFicha : TregFicha;

Desde un fichero de texto voy leyendo líneas y asignándola para almacenar después en una base de datos:

Código Delphi [-]
var
  cLinea : string;
  F : TextFile;
begin
  // se abre el fichero de texto y se va leyendo
  // y ahora a leer...
  while not eof(F) do
  begin
    rLinFicha.RFcampo1 := Trim( Copy(  cLinea,   1,  12 ) );
    rLinFicha.RFcampo2 := Trim( Copy(  cLinea,  13,  40 ) );
    rLinFicha.RFcampo3 := Trim( Copy(  cLinea,  53,  15 ) );
    //
    // etc..... con todos los campos
    //
  end;

Entonces mi pregunta es si se puede hacer algo así como:

Código Delphi [-]
rLinFicha := cLinea;
Assign(rLinFicha,cLinea);
etc.

Se trata de ahorrar tiempo y principalmente de no tener que estar calculando donde empieza un campo y el siguiente, para evitar errores.
Además por si cambia la longitud de un campo, o se añada otro en medio, o se borra alguno, etc. no habría que tocar nada, porque de esta
forma hay que recalcular todo a mano.

Gracias por vuestros comentarios.
Saludos.
Responder Con Cita