FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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 |
#3
|
||||
|
||||
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); TClientDataSet *cds = (TClientDataSet*) ClientDataSet1; // otro modo TDateTimePicker *dtp = static_cast<TDateTimePicker*>(DateTimePicker1); //etc. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
|||
|
|||
Gracias por responder tan rápido.
Ya estoy incorporándolo. |
#5
|
||||
|
||||
¿Seguro? Hace muchísimo que no trabajo con C++, pero creo recordar que también tienen bloques with <name> { ... }. ¿O me estoy liando con PHP y JavaScript?
|
#6
|
||||
|
||||
No sabía que JavaScript tenía with. PHP, casi estoy seguro, no lo tiene.
// Saludos |
#7
|
||||
|
||||
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.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 10-09-2012 a las 19:48:51. Razón: identación |
#8
|
|||
|
|||
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. |
#9
|
||||
|
||||
Cita:
es equivalente poner:
y el Edit afectado es el 2 por estar en el bloque más inmediato a la asignación. // Saludos |
#10
|
||||
|
||||
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.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Registros en en bloques de 100 o mas... | Jose Roman | Conexión con bases de datos | 18 | 25-06-2010 17:42:13 |
Interconexion de bloques | astwin | OOP | 19 | 15-04-2009 17:50:31 |
Generar bloques de números | Natasha Nortman | Varios | 8 | 30-03-2008 15:47:54 |
Esquemas de bloques | david.rguez | Gráficos | 1 | 01-09-2007 00:05:01 |
Bloques De Numeros Consecutivos | dany2006 | C++ Builder | 5 | 15-11-2006 21:06:16 |
|