Club Delphi  
    FTP   CCD   Wiki   Enlaces   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

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 05-02-2010
antonio302050 antonio302050 is offline
Registrado
 
Registrado: dic 2009
Posts: 24
como puedo usar record en delphi

disculpen miignorancia soy nuevoen esto de programar
quisiera q me den un ejemplo de como usar record
Responder Con Cita
  #2  
Antiguo 05-02-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: Málaga (España)
Posts: 9.178
google->buscar: delphi record

Código:
procedure TForm1.Button1Click(Sender: TObject);
type
  registroPrueba = record
    campo1 : integer;
    campo2 : string;
    campo3 : double;
    campo4 : TStringList;
  end;

var
  registro : registroPrueba;
  listaEjemplo : TStringList;
begin
  registro.campo1 := 43;
  registro.campo2 := 'Esto es una prueba de registros';
  registro.campo3 := 112234;
  //inicializamos un TStringList cualquiera y le insertamos valores
  listaEjemplo := TStringList.Create;
  listaEjemplo.Add('Estro es una prueba');
  listaEjemplo.Add('de inserción de una lista');
  listaEjemplo.Add('en un tipo "record"');

  //inicializamos el TStringList del registro
  registro.campo4 := TStringList.Create;
  //le insertamos la lista creada anteriormente en el registro
  registro.campo4 := listaEjemplo;

  //mostramos algún valor del registro
  showmessage (registro.campo4.Strings[1]);
  showmessage (IntToStr(registro.campo1));
end;
Espero que te sirva.
__________________

Saludos

La otra guía de estilo
Mi web


Responder Con Cita
  #3  
Antiguo 05-02-2010
antonio302050 antonio302050 is offline
Registrado
 
Registrado: dic 2009
Posts: 24
muchas gracias

muchas gracias por el ejemplo se muy bueno para entenderlo
una pregunta mas
puedo usar un record dentro de otro record ?
nose si me explique bien
me refiero a esto
un ejemplode lo que quiero
alumno.nombre:=antonio;
alumno.nombre.direccion:="barrio bolivar";
como tu ej
de registro.campo1
pero implementarlo otra variable
registro.campo1.fecha:=020202;
quierosaber si sepuede
te agradezco la ayudade antemano
Responder Con Cita
  #4  
Antiguo 05-02-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: Málaga (España)
Posts: 9.178
Supongo que sí, un record en delphi es lo "mismo" que una "estruct" en lenguaje C, así que debe poderse, seguro.

Haz la prueba, así es como se aprende
__________________

Saludos

La otra guía de estilo
Mi web


Responder Con Cita
  #5  
Antiguo 06-02-2010
Avatar de santiago14
santiago14 santiago14 is offline
Registrado
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 255
Thumbs up

Yo pondría algo así:

Código Delphi [-]

type
 registroInterno = record
   campo1:integer;
   campo2:string;
   campo3:TDate;
end;

registroPrincipal = record
   principal1:byte;
   principal2:integer;
   principal3:registroInterno;
end;
De esta forma, luego tendría que declarar la variable:
Código Delphi [-]
//....
var
  registro:registroPrincipal
begin
  //Asignación
  registro.principal3.campo1:=33;

//....
Supongo que eso es de lo que se trata ¿no?

Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #6  
Antiguo 06-02-2010
Avatar de DriverOp
DriverOp DriverOp is offline
Registrado
 
Registrado: ago 2007
Posts: 88
Cita:
Empezado por antonio302050 Ver Mensaje
una pregunta mas
puedo usar un record dentro de otro record ?
Sí, se puede tranquilamente. Por ejemplo:

Código Delphi [-]
type
  TFecha=record
    Dia: byte;
    Mes: byte;
    Ano: integer;
  end;

  TPersona=record
    Nombre, Apellido: string;
    FechaDeNacimiento: TFecha;
  end;
Y accedes a los campos como has intuido tú:
Código Delphi [-]
var
  Persona: TPersona;
begin
  Persona.Nombre:='Diego';
  Persona.FechaDeNacimiento.Dia:=1;
  Persona.FechaDeNacimiento.Mes:=1;
  Persona.FechaDeNacimiento.Ano:=2003;
...
Lo que no puedes hacer es esto:
Código Delphi [-]
  Persona.FechaDeNacimiento:=01012003;
Porque FechaDeNacimiento es de tipo TFecha y 01012003 es un longint.

Última edición por DriverOp fecha: 06-02-2010 a las 18:02:49.
Responder Con Cita
  #7  
Antiguo 06-02-2010
Avatar de santiago14
santiago14 santiago14 is offline
Registrado
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 255
Wink

Exacto, DriverOp dió un ejemplo más gráfico que el mío. La idea es la misma.

Gracias DriverOp.

Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #8  
Antiguo 08-02-2010
antonio302050 antonio302050 is offline
Registrado
 
Registrado: dic 2009
Posts: 24
okok

gracias por las respuestas a todos
me quedo todo clarisimo
Responder Con Cita
Respuesta


Herramientas
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
Como puedo instalar e usar el SynEdit? THACKER Varios 1 04-04-2009 14:13:20
Como puedo usar procedimientos en archivo aparte Stanley Varios 4 05-11-2007 16:52:58
No puedo usar el TXPManifest en Delphi 7 her_127 OOP 6 05-01-2007 19:00:31
como puedo usar el StatusBar en EmbeddedWb teatry Internet 9 09-10-2005 16:56:10
puedo usar Qreport en delphi 2005 ? Pascual Montes .NET 1 15-05-2005 17:11:08


La franja horaria es GMT +2. Ahora son las 14:02:48.


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