Bloques
Es posible construir un bloque del tipo with ... do en c++?
digamos que quiero hacer esto (que hacía en delphi) en C++builder: with ComponenteX do begin Propiedad1 := ....; Propiedad2 := ....; .............. end; desde ya, muchas gracias a todos. |
Recuerda poner títulos descriptivos a tus preguntas, "bloques" no describe nada.
Y no olvides poner los tags al código fuente, ejemplo: ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :) Gracias :) |
Cita:
No, pero podes reducir el largo de los nombres para que no sea tan pesado usarlos si tenes que realizar muchas asignaciones: Código:
TStringGrid *sg = static_cast <TStringGrid*> (StringGrid1); Saludos. |
Gracias por responder tan rápido.
Ya estoy incorporándolo. |
Cita:
|
No sabía que JavaScript tenía with. PHP, casi estoy seguro, no lo tiene.
// Saludos |
Hola.
En C/C++ no existe una declaración equivalente al with de Delphi. Y creo que en Delphi hay que ser moderado con su uso por que puede hacer dificultosa la lectura del código y hasta producir resultados indeseados si no se utiliza correctamente, como por ejemplo: Por otro lado, usándolo bién, es una herramienta que simplifica y hasta clarifica el código. Saludos. :) |
Hola!
No se mucho de C, apenas un poquito de pascal (delphi) y hasta ahí nomás, pero si puedo decir que lo siguiente: with Edit1, ListBox1, ComboBox1 do begin Text := 'xxx'; // ?? Items.Add(Text); // ?? ... end; No funciona pues da "error de ambigüedad" y es lógico; with (con) no puede identificar a cual identificador le corresponde cada propiedad, cuando los identificadores tienen las mismas propiedades. la clausula with solo debe usarse cuando uno pretende darle claridad a un código, seguir ciertas normas de programación, no afecta al funcionamiento de un programa ni lo hace más grande ni más lento. desde mi lugar -soy profesor- lo uso bastante, pero solo por cuestiones didácticas. gracias por todo lo que se dijo al respecto y a todos los que participaron de mi simple comentario. |
Cita:
es equivalente poner:
y el Edit afectado es el 2 por estar en el bloque más inmediato a la asignación. // Saludos |
Hola.
No voy a argumentar el por que no tendría que mostrar error de ambiguedad ya que roman lo ha echo de forma inmejorable. En el ejemplo que puse, quién recibiría la cadena 'xxx' en su propiedad Text es ComboBox1. Yo también uso la version 7 de Delphi y no recibo siquiera una advertencia, aunque puede ser que en versiones posteriores sea así... Saludos.:) |
La franja horaria es GMT +2. Ahora son las 15:35: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