Ir al contenido


Foto

Se puede en delphi asignar un valor a varias variables a la vez


  • Por favor identifícate para responder
4 respuestas en este tema

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 776 mensajes
  • LocationPinar del Río, Cuba

Escrito 07 enero 2011 - 10:31

Hola a todos
Pues eso, como se podria en delphi asignar un valor a varias variables a  la vez
algo como esto

a=b=c=d=0

Se me ocurre esto porque se me puso el vago alto, y tengo que inicializar varias variables, y para no  tener que escribir varias lineas, pensaba si podia hacer todo en una  sola

  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 07 enero 2011 - 03:34

Saludos.

En Delphi 7, lo que me permitió hacer fue esto:


delphi
  1. type
  2.   TForm1 = class(TForm)
  3.   private
  4.     { Private declarations }
  5.   public
  6.     { Public declarations }
  7.     procedure Hola (a: Integer = 0; b: Integer = 0);
  8.   end;
  9.  
  10. var
  11.   Form1: TForm1;
  12.  
  13. implementation
  14.  
  15. {$R *.dfm}
  16.  
  17.  
  18. { TForm1 }
  19.  
  20. procedure TForm1.Hola(a, b: Integer);
  21. begin
  22.  
  23. end;



No tengo otra versión a mano, pero lo que pides no lo soporta.
Incluso estas sentencias fallan:


delphi
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.   x, y, z : Integer = 0;
  4. begin
  5.  
  6. end;
  7. Mensaje de Error: [b]Cannot initialize local variables.[/b]
  8.  
  9. //Esta también falla
  10. type
  11.   TForm1 = class(TForm)
  12.     procedure FormCreate(Sender: TObject);
  13.   private
  14.     { Private declarations }
  15.   public
  16.     { Public declarations }
  17.     procedure Hola (a, b: Integer = 0);
  18.   end;



Así que te tocara inicializar cada variable independiente.
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 07 enero 2011 - 05:03

Ejmm...

C/C++ si permite realizar esas asignaciones o inicializaciones múltiples  :p  :) .



cpp
  1. a=b=c=d=0;



(Algo bueno tenia que tener...  :D )


Saludos.
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.469 mensajes
  • LocationMéxico

Escrito 07 enero 2011 - 05:23

Ejmm...

C/C++ si permite realizar esas asignaciones o inicializaciones múltiples  :p  :) .



cpp
  1. a=b=c=d=0;



(Algo bueno tenia que tener...  :D )


Saludos.


Y otras cosas mas amigo, solo que sigo prefiriendo Delphi :)

Salud OS
  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.301 mensajes
  • LocationArgentina

Escrito 07 enero 2011 - 07:07

Hola,

Siempre y cuando la variables sean de un mismo tipo, se podría elaborar un pequeño giro de tuerca al asunto:



delphi
  1. const
  2. MAXVARS = 5; // cantidad máxima de variables
  3.  
  4. VAR1 = 0
  5. VAR2 = 1
  6. ...
  7. VAR5 = 4
  8. // constantes para identificar a cada variable. Por si gustan
  9.  
  10. type
  11. TVars = array of integer; // arreglo de variables
  12.  
  13. procedure InitializeVars(var VarList: TVars; Value: integer);
  14. var i: integer;
  15. begin
  16.   SetLength(VarList, MAXVARS);
  17.   for i := Low(VarList) to High(VarList) do
  18.     VarList := Value;
  19. end;



Un ejemplo de uso:



delphi
  1. Initialize(Lista,123);
  2. Lista[VAR3] := Lista[VAR5] * 15;



Saludos,

  • 0




IP.Board spam blocked by CleanTalk.