![]() |
Hola
Esa definicion es de un tipo enumerado no una constante. Saludos |
Los valores son los que pone en la imagen: 0, 1, 2, 3
|
Gracias por la respuesta.
Y como hago para obtener el valor que me viene? Por que si hago: Código:
memo.Lines.Add('Estado '+result.Metadatos[i].Estado); [dcc32 Error] Unit1.pas(115): E2010 Incompatible types: 'string' and 'EstadoTipo' Saludos. |
Hola
Pues en delphi 7 lo que haria seria declarar un array.
Y lo usaria asi: Bueno no lo he probado asi que tal vez halla que hacerle unos ajustes. Pero creo que se entiende la idea. Saludos |
Este valor lo recibo como respuesta a una petición SOAP y se carga en una TRemotable con esta definición:
Código:
MetadatosTipo = class(TRemotable) Código:
EstadoTipo = (NO_LEIDA, ACEPTADA, RECHAZADA, EXPIRADA); Como ves en la imagen del otro post me ofrece los posibles valores de EstadoTipo. Y si intento Código:
memo.Lines.Add('Estado '+result.Metadatos[i].Estado); De hecho, si lo vuelco en un xml obtengo su valor: Código:
<tns:RespuestaConsulta xmlns:ape="urn:correos.es:ape.sne.datos.1.0" |
Si tienes
EstadoTipo = (NO_LEIDA, ACEPTADA, RECHAZADA, EXPIRADA); Al final solo tienes de que tipo es el estado actuamente, solo necesitas compar el Estadotipo. con algun case o varios if y devolver la cadena que desees. Estadotipo no va a contener un valor si no el tipo. Saludos. |
[SOLUCIONADO] Tratamiento de tipos enumerados
Gracias bitbow.
No había trabajado nunca con este tipo de datos y me estaba volviendo loco. Ahora lo entiendo: Código:
case result.Metadatos[i].Estado of |
Podes usar este truco: Ayudante para tipos enumerados
Código PHP:
|
Hola.
Para versiones mas antiguas de Delphi, otra opcion es:
Uso:
Saludos :) |
Gracias [AgustinOrtu] y ecfisa.
Al final é optado por la solución de ecfisa: Código:
uses TypInfo; |
Abusando de vuestra paciencia, aprovecho que ya está en el post #6 de este hilo la definición del TRemotable y el xml que se me devuelve para hacer otra pregunta.
Si el xml me devuelve el valor del TicketID en esta etiqueta: Código:
<tns:Metadatos tns:ticketID="148620"> Código:
MetadatosTipo = class(TRemotable) Por que a pesar de que el IDE me lo sugiere como uno de los miembros de result.Metadatos[i], si hago: Código:
memo.Lines.Add('ticketID '+result.Metadatos[i].ticketID); Tengo que hacer algo distinto al estar declarado com IS_ATTR?. Un saludo. |
La franja horaria es GMT +2. Ahora son las 04:12:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi