Delphi - CASE con no ordinales

 
Vista:

CASE con no ordinales

Publicado por M@rceloL (213 intervenciones) el 26/12/2003 15:36:23
Lo único que extraño de BASIC: los CASE para cosas no ordinales. ¿Sabe alguien si existe alguna sentencia de Delphi para esto?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CASE con no ordinales

Publicado por mamcx (36 intervenciones) el 27/12/2003 03:36:52
NO.

Es una de las cosas que llevo pidiendo desde la version 3 :(

Toca a punta de IF encadenados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por INT3 (14 intervenciones) el 27/12/2003 07:38:47
o si Delphi tendria soporte para macros podrias construir tu propio CASE que soporte cadenas, y muchas cosas.
lastima que delphi no tenga tal soporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por Delfino (1216 intervenciones) el 27/12/2003 12:36:08
En Delphi no hay nada imposible, solo es cuestion de buscar, os recomiendo este enlace http://delphi.about.com/cs/adptips2002/a/bltip0202_5.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por INT3 (14 intervenciones) el 27/12/2003 14:53:19
creo que nadie escribio que era imposible, porque simplemente existe IF.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por Delfino (1216 intervenciones) el 27/12/2003 18:32:56
Con lo de imposible me referi a case con string..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por mamcx (36 intervenciones) el 27/12/2003 18:41:13
El soporte a macros es innecesario para soportar una estructura como CASE. A duras penas es util para armar "plantillas" de codigo, y deja de ser innecesario con apropiadas tecnicas OO.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por INT3 (14 intervenciones) el 27/12/2003 21:35:24
> El soporte a macros es innecesario para soportar una estructura como CASE
> A duras penas es util para armar "plantillas" de codigo, y deja de ser innecesario con apropiadas tecnicas OO.

entonces no sabes nada acerca de MACROS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por mamcx (36 intervenciones) el 28/12/2003 04:09:10
Primero, piensa en lo que propones "cada uno armar sus case"...eso daria para problemas de lectura y mantenimiento.. imaginate que cada cual haga sus propios IF, While, etc, con sintaxis y logica diferente... Uno no usa Delphi para implementar compiladores personalizados. Las macros son una funcionalidad rara vez necesaria y puede ser reemplazada sin mucha dificultad con lenguajes modernos, aunque no se como sera en el caso de C.

Lo que se necesita es a)una extension del case actual o segun las propuestas que mejor aceptacion han tenido en los foros de Borland b)una construccion independiente con soporte natural dentro del lenguaje.

Despues de ver/participar en varias discusiones acerca del CASE en muchos foros, nunca nadie, ni los ingenieros de Borland ni los usuarios de C sugirieron las MACROS como una solucion.. pero me intriga el saber porque!

Como sea, seria bueno que todos votaran en Quality Central para que arrglen el CASE, sea como sea (los puntos con mas votos se hacen mas rapido)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por INT3 (14 intervenciones) el 28/12/2003 13:46:41
suponiendo que delphi tenga tal soporte de macros como el de macro ensamblador, entonces...

si alguien hace su propia macro que simule un CASE con strings, entonces, que lo haga, eso no significa que no podrias usar el CASE original.
estas en tu derecho si quieres crearlos o elegir si te gustaria usarlos, si no lo quieres usar, simplemente no lo uses, creo que nadie te estaria obligando a usarlos o crearlos. no se porque dices que daria problemas de lectura y mantenimiento.

que nadie haya dado la opcion de soportar macros como dices aqui, no significa que sea una mala idea, cada quien piensa diferente.
no veo a los programadores de delphi como unos genios, como para pensar, si no dieron la opcion de macros, entonces es que no sirve.
viendo a delphi, me doy cuenta la clase de programadores que son, que tratan de esconder sus torpezas, piensan que lo grafico es todo.

si los programadores de delphi no han agregado soporte de string a los CASES imagino que no lo haran, para mi deben hacer cosas mas importantes y basicas, que andar pensando en los CASES. ellos deben estar en pensando como agregar nuevos colores a las ventanas, y tonterias similares.

seria mejor que boten por cosas mas basicas que delphi no permite, que un simple CASE que soporte strings.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Por favor explicacion

Publicado por BigLuis (463 intervenciones) el 28/12/2003 16:18:46
Por favor ¿podrias explicarme que es axactamente una macro?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor explicacion

Publicado por INT3 (14 intervenciones) el 28/12/2003 18:50:00
esta definido como una serie de instrucciones.

busque algun link que hable de eso y solo encontre esto
http://usuarios.lycos.es/patricio/ensam/ensam8.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor explicacion

Publicado por BigLuis (463 intervenciones) el 28/12/2003 19:30:03
De la pagina que me has pasado he sacado el siguiente contexto:
"La principal diferencia entre una macro y un procedimiento es que en la macro se hace posible el paso de parámetros y en el procedimiento no (esto es aplicable solo para el MASM, hay otros lenguajes de Programación que si lo permiten). Al momento de ejecutarse la macro cada parámetro es sustituido por el nombre o valor especificado al momento de llamarla.

Podemos decir entonces que un procedimiento es una extensión de un determinado programa, mientras que la macro es un módulo con funciones específicas que puede ser utilizado por diferentes programas"
Segun esto ¿quien dice que Delphi no admite macros?.Yo sin saberlo estoy utilizando macros permanentemente, en la misma unidad o en una unidad aparte de codigo puro a la que llamo cada vez que lo necesito.En fin debe ser cuestion de semantica.
Suerte y Felicidades a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor explicacion

Publicado por INT3 (14 intervenciones) el 28/12/2003 19:58:52
>busque algun link que hable de eso y solo encontre esto
>http://usuarios.lycos.es/patricio/ensam/ensam8.htm

fue lo unico que encontre, como lo puse arriba.
para que te des una idea exacta, tendrias que usar macro ensamblador.
bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASE con no ordinales

Publicado por mamcx (36 intervenciones) el 29/12/2003 06:03:08
Segun el enlace que diste, entonces las MACROS son un asunto de ensamblador...yo asumi que te referias a las MACROS tal como se usan en C y ahora es obvio que no, asi que disculpas...

El problema de lectura radica en aunque no estaria obligado en usar MACROS, de todas maneras tarde o temprano toca leer el codigo de un tercero... el que sea en ensamblador lo hace aun mas confuso: cuanta gente sabe ensamblador? si toca corregir un programa y alguien implemento una rutina tan basica como un CASE, que tan dificil seria entender que pasa?.

Con todo es importante recordar que Delphi permite escribir codigo en assembler e incluso algunas funciones dentro del codigo fuente de Delphi, como en system.pas estan en assembler (aunque por buenas razones, con el codigo alternativo en delphi si es posible), asi que ahora dudo que sea imposible implementar las macros tal como lo propones...

Ahora bien, ya que de assembler no se, como se escribiria un CASE en assembler? Podrias probar si es posible usando el assembler integrado de Delphi? Si no, es posible tal vez si linkeas un OBJ y exportamos, que se yo, una funcion? Es que me dan vueltas la cabeza como hace uno para usar una funcion o lo que sea con algo como un case... un if se ve facil, pero el CASE...hmmm.... Que te parece un ejemplito a ver si vemos la luz un poquito????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Por si no lo vieron

Publicado por M@rceloL (213 intervenciones) el 29/12/2003 06:09:32
Pero qué manera de discutir!!! Menos mal que es de una manera sana, de la que uno puede aprender.

Por si no lo vieron, Delfino me dio este enlace, resulta interesante:
http://delphi.about.com/cs/adptips2002/a/bltip0202_5.htm.

Saludos y buenas compiladas y un feliz año 2004.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar