Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-07-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Pasar codigo de VB a Delphi

Hola a todos.

Alguien me puede echar un cable en como traducir el case siguiente?
Este está escrito en VB y lo quiero usar en Delphi, o algo parecido

Código:
 
Select Case codi
        Case 1
            cursa.categoria = "E-UCI": cursa.competicion = "C"
        Case 2
            cursa.categoria = "ELITE": cursa.competicion = "C"
        Case 3
            cursa.categoria = "SUB23": cursa.competicion = "C"
        Case 80
            cursa.categoria = "SUB23": cursa.competicion = "C"
        Case 4
            min% = Val(Right$(date$, 4)) - 17
            max% = Val(Right$(date$, 4)) - 18
            If Val(Mid$(cursa.codiUCI, 4, 4)) = min% Then
                cursa.categoria = "JUN-1": cursa.competicion = "C"
            ElseIf Val(Mid$(cursa.codiUCI, 4, 4)) = max% Then
                cursa.categoria = "JUN-2": cursa.competicion = "C"
            End If
End Select
Lo que no acabo de entender es la forma en que VB realiza el calculo de la diferencia entre el año actual y el año de la fecha de nacimiento para calcular la edad.

Como siempre gracias por adelantado a los que me leeis.

Saludos

Josep
Responder Con Cita
  #2  
Antiguo 04-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código Delphi [-]
Case colour of
  Red    : ShowMessage('The colour is Red');
  Green  : ShowMessage('The colour is Green');
  Blue   : ShowMessage('The colour is Blue');
  Yellow : ShowMessage('The colour is Yellow');
  else ShowMessage('The colour is Unknown!');
end;
Responder Con Cita
  #3  
Antiguo 04-07-2013
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola,

sería algo así

Código Delphi [-]
case codi of
   1:
     begin
       cursa.categoria:='E-UCI';
       cursa.competicion:='C';
     end;
   2:
     begin
       ...
   end;

en cuanto a lo de la diferencia de fechas podrías hacerlo con la función yearsbetween (librería DateUtils), que te devuelve los años que hay entre las dos fechas que le pases a la función, en este caso la de nacimiento y la actual (Date).

saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #4  
Antiguo 04-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola josep.

La verdad mi conocimiento en VB es nulo, pero basándome en estos enlaces:
VB String-Handling Functions
VB Date-Handling Functions
Val
Right
Mid
Date$

Creo que podría traducirse como:
Código Delphi [-]
  ...
  cursa.competicion := 'C';
  case codi of
    1  : cursa.categoria := 'E-UCI';
    2  : cursa.categoria := 'ELITE';
    3  : cursa.categoria := 'SUB23';
    4  : begin
           min := StrToInt(RightStr(DateToStr(Date), 4)) - 17;
           max := StrToInt(RightStr(DateToStr(Date), 4)) - 18;
           if StrToInt(Copy(cursa.codiUCI,4,4)) = min then
             cursa.categoria := 'JUN-1'
           else if StrToInt(Copy(cursa.codiUCI,4,4)) = max then
             cursa.categoria := 'JUN-2';
         end;
    80 : cursa.categoria := 'SUB23';
  end;
  ...
Revisa si obtenes los resultados esperados.

Saludos

Pd: Sé benévolo en la sentencia, acordate que es mi primera vez en VB (y espero la última )
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-07-2013 a las 17:15:58. Razón: identación
Responder Con Cita
  #5  
Antiguo 04-07-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias por las respuestas, había mirado la ayuda de delphi acerca de case y no veia bien la sintaxis.

Si quiero que este proceso se realice despues de cargar los daros en la tabla como deberia lanzar la sentencia case?

Es decir cargo los datos en la tabla en uno de los campos tengo el valor codigo con el valor correspondiente (case 1, case 2,...,case n) y en otro campo vacio para llenar con el resultado del case.

Supongo que será más rápido llenar este campo (categoria) todos de una vez, que ver el valor que tiene el código y realizar la sentencia case por cada registro al importar.

Saludos

Josep
Responder Con Cita
  #6  
Antiguo 04-07-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Hola Ecfisa, creo que hemos respondido a la par y tu respuesta se ha adelantado a mi comentario.

Gracias, lo pongo en pruebas y comento.

Lo que necesito saber es como actualizo la tabla con el case, ahora estoy reescribiendo todo el case que tiene aproximadamente 70 categorias distintas y tengo código a rascar para rato.

Saludos

Josep
Responder Con Cita
  #7  
Antiguo 04-07-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
jafera,

Cita:
Empezado por jafera
...había mirado la ayuda de delphi acerca de case y no veia bien la sintaxis...
Revisa esta información:
Te sugiero consultar:
Cita:
Delphi Basics : http://www.delphibasics.co.uk/

A Beginner's Guide to Delphi Programming : http://delphi.about.com/od/beginners/a/delphicourse.htm

La Cara Oculta de Delphi 4 : http://terawiki.clubdelphi.com/Delph...phi_4_pdf_.zip
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 04-07-2013 a las 18:17:38.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar pequeño codigo Delphi a Builder aguml C++ Builder 11 03-06-2013 17:13:51
pasar codigo de delphi a c++ Builder rxaxx9 C++ Builder 2 13-05-2012 06:27:17
Ayuda a Pasar Codigo Delphi a C++ yelian C++ Builder 9 26-11-2009 20:32:26
Pasar codigo C a delphi Mr.Vaka Varios 1 24-12-2005 11:38:02
Pasar Código VBSCRIPT a Delphi.net mamen .NET 2 03-06-2005 14:52:43


La franja horaria es GMT +2. Ahora son las 19:29:39.


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
Copyright 1996-2007 Club Delphi