Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 14-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mejor manera de validar un EDIT oscarac OOP 3 25-05-2011 20:00:46
mejor manera de conectar a Mysql chelox Conexión con bases de datos 2 16-05-2011 10:07:57
Tablas temporales. La mejor manera Wonni Conexión con bases de datos 14 10-07-2008 19:06:48
Firebird de la mejor manera david_uh Varios 7 19-01-2008 15:45:37
La mejor manera de Trabajar con Form manuelpr Varios 8 07-03-2005 17:08:14


La franja horaria es GMT +2. Ahora son las 22:26:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi