Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2010
antonio302050 antonio302050 is offline
Miembro
 
Registrado: dic 2009
Posts: 26
Poder: 0
antonio302050 Va por buen camino
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 offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #3  
Antiguo 05-02-2010
antonio302050 antonio302050 is offline
Miembro
 
Registrado: dic 2009
Posts: 26
Poder: 0
antonio302050 Va por buen camino
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 offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Responder Con Cita
  #5  
Antiguo 06-02-2010
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
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
Miembro
 
Registrado: ago 2007
Posts: 93
Poder: 17
DriverOp Va por buen camino
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
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
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
Miembro
 
Registrado: dic 2009
Posts: 26
Poder: 0
antonio302050 Va por buen camino
okok

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



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 15:51:06.


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