FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Pregunta tonta
Hola foro
Porque me dice que necesito un ordinal en este procedimiento y lo de incompatible tipos integer y string Procedure NumeroMes(nombre:String); begin Case (nombre) of 'ENERO' : MesActual := 1; 'FEBRERO' : MesActual := 2; 'MARZO' : MesActual := 3; 'ABRIL' : MesActual := 4; 'MAYO' : MesActual := 5; 'JUNIO' : MesActual := 6; 'JULIO' : MesActual := 7; 'AGOSTO' : MesActual := 8; 'SEPTIEMBRE' : MesActual := 9; 'OCTUBRE' : MesActual := 10; 'NOVIEMBRE' : MesActual := 11; 'DICIEMBRE' : MesActual := 12; else ShowMessage('Error en Mes Seleccionado'); end; nombre contiene la seleccion de un comboBox y MesActual es una variable global de tipo integer Pero, ¿No deberia de funcionar? Salu2. |
#2
|
|||
|
|||
Cita:
|
#3
|
||||
|
||||
A tu pregunta final, por lo que yo he visto es que sí debería de funcionar, pero dónde está el error, no lo sé. Y... a veces las preguntas que se piensan tontas son las más interesantes e inteligentes.
__________________
:) |
#4
|
||||
|
||||
No admite strings??? y porqué???
__________________
:) |
#5
|
|||
|
|||
Cita:
Cita:
|
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
||||
|
||||
Y respecto a la pregunta original, si el combo tiene almacenados los meses en el orden natural entonces el procedimiento se puede hacer así
Código:
procedure NumeroMes(nombre:String); begin if ComboBox.ItemIndex <> -1 then MesActual := ItemIndex + 1 else ShowMessage('Error en Mes Seleccionado'); end; |
#8
|
|||
|
|||
Y mucho mejor, si en lugar de usar un procedimiento se usa una función, la cual, debe devolver 0 para el caso en que se produzca un error y suponiendo, además, que el combobox tenga los meses ordenados:
Código:
function NumeroMes: integer; begin result := ComboBox.ItemIndex + 1 end; NOTA: Pasar como parámetro el nombre del mes es una tontería si éstos están almacenados en el comboBox. Mejor usar el ComboBox como variable general del módulo. |
|
|
|