Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2018
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
En la nueva versión ¿que sucedería en el caso a continuación?

Código Delphi [-]
unit Unit1;

interface

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    StrVar: string;
    { Public declarations }
  end;

var
  Form2: TForm2;
  StrVar: string;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
  Self.StrVar := 'A';
  Unit1.StrVar := 'B';
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  StrVar: string;
begin
  ShowMessage(Self.StrVar); //A
  ShowMessage(Unit1.StrVar); //B

  StrVar := 'C';
  ShowMessage(StrVar); //C

  var StrVar: string := 'D'; // ¿Genera exepción?
  ShowMessage(StrVar); //D?
end;

end.

¿Y porque alguien declararía la variable nuevamente? ¡No se! ¿Código espagueti como en PHP?
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #2  
Antiguo 23-11-2018
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Cita:
Empezado por movorack Ver Mensaje
En la nueva versión ¿que sucedería en el caso a continuación?

Código Delphi [-]
unit Unit1;

interface

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    StrVar: string;
    { Public declarations }
  end;

var
  Form2: TForm2;
  StrVar: string;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
  Self.StrVar := 'A';
  Unit1.StrVar := 'B';
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  StrVar: string;
begin
  ShowMessage(Self.StrVar); //A
  ShowMessage(Unit1.StrVar); //B

  StrVar := 'C';
  ShowMessage(StrVar); //C

  var StrVar: string := 'D'; // ¿Genera exepción?
  ShowMessage(StrVar); //D?
end;

end.

¿Y porque alguien declararía la variable nuevamente? ¡No se! ¿Código espagueti como en PHP?
Si he entendido bien este apartado de la lista de novedades, se trata de poder declarar variables "en línea", es decir, no necesitando hacerlo a nivel de la función/procedimiento/método. Esto está ligado a que dichas variables pueden ser ahora visibles únicamente en un determinado "bloque de código", dentro de dicha función/procedimiento/método, y, no fuera del mismo. Esto digo puede ya tener su utilidad... y acaso tenga alguna otra utilidad que a mí se me escape.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-11-2018
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Cita:
Empezado por movorack Ver Mensaje
En la nueva versión ¿que sucedería en el caso a continuación?
Pues, no compila, porque:

[dcc32 Error] Unit1.pas(39): E2004 Identifier redeclared: 'StrVar'


-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 23-11-2018
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Muchísimas gracias por haberte tomado el tiempo. Con esta respuesta tengo mas claridad al respecto
__________________
Buena caza y buen remar... http://mivaler.blogspot.com

Última edición por movorack fecha: 23-11-2018 a las 22:35:57.
Responder Con Cita
  #5  
Antiguo 30-11-2018
DarkDudae DarkDudae is offline
Miembro
 
Registrado: abr 2006
Posts: 94
Poder: 19
DarkDudae Va por buen camino
¿Sabéis si la Community Edition también ha sido actualizada con las novedades de Rio ?
Responder Con Cita
  #6  
Antiguo 30-11-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.287
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La "Community Edition" no es más que una edición más (como son la profesional, Architect,...) dentro de cada versión del programa.
Por lo tanto, debería estar actualizada como el resto. No se concibe que la 10.3 salga como Architect, pero no como profesional.

De todas formas, para confirmarlo, si realizas el download, verás que el archivo que te propone para descargar es este:

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 30-11-2018
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo todavía tengo pendiente probar al edición Community. Me quedé con la anterior cosa gratis que hicieron, que no iba mal pero tenía un no sé qué que qué sé yo que no me terminaba de convencer.

Eso de las variables "inline", no sé. Como sea igual que C99, que puedes declarar en cualquier parte, me parece un patinazo. Eso de tener las variables locales bien juntitas es lo mejor que puede hacerse para poder encontrarlas en caso de ser necesario. Lo de que pueda declararse en el FOR (como he visto propuesto en los foros de Lazarus, no sé si también en Delphi) no lo veo tan mal, fuera parte que las variables usadas en esos bucles siempre se han tratado de una forma especial.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #8  
Antiguo 08-12-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.287
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Ñuño Martínez Ver Mensaje
...Eso de tener las variables locales bien juntitas es lo mejor que puede hacerse para poder encontrarlas en caso de ser necesario.

Estoy de acuerdo, pero al final todo se reduce a lo ordenado que sea cada cual.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Excel no es liberado de memoria al final de un proceso de automatización con Delphi shoulder Varios 3 06-07-2016 20:33:45
Lazarus 1.4 - Liberado!!! el-mono Noticias 2 23-04-2015 12:30:19
KDE 4.1.1 Liberado poliburro Noticias 5 08-09-2008 17:09:51
Liberado OpenSSH 5.0 poliburro Noticias 0 05-04-2008 22:57:06
Liberado PHP 5.0 marto Noticias 1 15-07-2004 16:46:03


La franja horaria es GMT +2. Ahora son las 10:56:04.


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