Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse. - Mayo 15, 2008, 09:43:15
Boton Buscar
Inicio Ayuda Calendario Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Otros Lenguajes  |  Tema: Quien me explica este codigo en visual fox 6.0- TERMINADO 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Quien me explica este codigo en visual fox 6.0- TERMINADO  (Leído 111 veces)
Entrerriano
Recien Llegado
*
Desconectado Desconectado

Mensajes: 9


La unica manera de vivir......... es viviendo

hombreer@hotmail.com
Ver Perfil
« en: Enero 08, 2008, 06:14:05 »

Por favor si me pueden explicar en manera facil como es el calculo. saca interes a un monto.
Muchas Gracias

PARAMETERS importe, indice, fechaini, fechafin
PRIVATE coefic, anio, mes, dia, dia_o, mes_o, anio_o, dias_m, anio_ant, mes_ant

IF !USED ('INDICES')
   =USET ('RECUR\INDICES')
ENDIF

coefic = 0

anio_o = YEAR  (m.fechaini)
mes_o  = MONTH (m.fechaini)
dia_o  = DAY   (m.fechaini)
IF SEEK (m.indice + STR (m.anio_o,4,0) + STR(m.mes_o,2,0), 'indices')
   anio   = YEAR  (m.fechafin)
   mes    = MONTH (m.fechafin)
   dia    = DAY   (m.fechafin)
   IF m.anio_o = m.anio AND m.mes_o = m.mes
      * m.coefic = indices.porc_ind * (m.dia - m.dia_o)   ### VFP
      m.coefic = indices.porc_ind * (m.dia - m.dia_o) / 3000
   ELSE
      coefic = - indices.val_ind
      IF indices.porc_ind <> 0
         m.dias_m =   DAY (GOMONTH (CTOD ('01/' + STR (m.mes_o, 2) + '/' + ;
                            STR (m.anio_o, 4)), 1) - 1)
         m.coefic = m.coefic + indices.porc_ind * (m.dias_m - m.dia_o) / 3000
      ENDIF

      IF m.mes > 1
         anio_ant = m.anio
         mes_ant  = m.mes - 1
      ELSE
         anio_ant = m.anio - 1
         mes_ant  = 12
      ENDIF

      IF SEEK (m.indice + STR (m.anio_ant,4,0) + STR(m.mes_ant,2,0),'indices')
         m.coefic = indices.val_ind + m.coefic

         IF SEEK (m.indice + STR (m.anio,4,0) + STR(m.mes,2,0), 'indices')
            IF indices.porc_ind <> 0
               m.coefic = m.coefic + indices.porc_ind * m.dia / 3000
            ENDIF
         ELSE
            mensaje = 'No están cargados los valores para el índice de interés ' +;
               m.indice + ' para el mes ' + ALLT(STR(m.mes,2,0)) + ' del año ' +;
               STR(m.anio,4,0) + '. Verifique!'
            =FINAL(15, mensaje)
         ENDIF
      ELSE
         mensaje = 'No están cargados los valores para el índice de interés ' +;
            m.indice + ' para el mes ' + ALLT(STR(m.mes_ant,2,0)) + ' del año ' +;
            STR(m.anio_ant,4,0) + '. Verifique!'
         =FINAL(15, mensaje)
      ENDIF
   ENDIF
ELSE
   mensaje = 'No están cargados los valores para el índice de interés ' +;
      m.indice + ' para el mes ' + ALLT(STR(m.mes_o,2,0)) + ' del año ' +;
      STR(m.anio_o,4,0) + '. Verifique!'
   =FINAL(15, mensaje)
ENDIF

IF m.coefic < 0
   m.coefic = 0
ENDIF

RETURN ROUND (m.importe * m.coefic, 2)
« Última modificación: Enero 14, 2008, 06:00:31 por Entrerriano » En línea
Netxing
Recien Llegado
*
Desconectado Desconectado

Mensajes: 2


Ver Perfil
« Respuesta #1 en: Enero 11, 2008, 10:04:13 »

/* En cada exprecion escribi unos pocos comentarios para que te ayuden un poco... saludos..

PARAMETERS importe, indice, fechaini, fechafin
* Me imagino que este codigo se encuentra en un metodo o  proceso que recibira los 4 parametros.
PRIVATE coefic, anio, mes, dia, dia_o, mes_o, anio_o, dias_m, anio_ant, mes_ant
*Se declaran las variable para que sean privadas, para que solo se utilicen en este proceso.

IF !USED ('INDICES') && Especifica si el alias de la table indices no esta abierta.
   =USET ('RECUR\INDICES') &&  = el signo de igual ejecuta la exprecion.
ENDIF

coefic = 0
anio_o = YEAR  (m.fechaini)

* Se debe de relacionar a un alias(tabla) que se relaciona con el nombre de “m” con una
* columna llamada “fechaini” y se toma el ano retornando un valor numerico.

mes_o  = MONTH (m.fechaini) && Se toma el mes.
dia_o  = DAY   (m.fechaini) && El dia.

IF SEEK (m.indice + STR (m.anio_o,4,0) + STR(m.mes_o,2,0), 'indices') 

* se realiza la búsqueda utilizando la función str() para convertir el dato numero  en  carácter,
* los parámetros que tiene el str son str(exprecion,longitud,lugardecimales) con esto se busca un registro
* especifico en el alias indice.

* Si se encuentra el registro seguirá aquí…


   anio   = YEAR  (m.fechafin)  && Se toman los valores como se explico antes…
   mes    = MONTH (m.fechafin)
   dia    = DAY   (m.fechafin)

   IF m.anio_o = m.anio AND m.mes_o = m.mes 
      * Se comparan los valores de la primer tabla con la segunda…
      * m.coefic = indices.porc_ind * (m.dia - m.dia_o)   ### VFP
      m.coefic = indices.porc_ind * (m.dia - m.dia_o) / 3000 && se realiza la operación y se guarda en variable
   ELSE
      coefic = - indices.val_ind
      IF indices.porc_ind <> 0
*Esto de aquí le suelo llamar una sección de sopa de expeciones: str() ya lo vimos, sirve para convertir
* un numero a carácter, ctod() sirve para convertir una expecion de carácter en exprecion de fecha,
* gomonth() sirve para a ir a un mes especificado dependiendo de la exprecion: Ejemplo:
* GOMONTH({^2008-12-31}, 2) && Esto me dara  02/28/2009, la duncion day() ya la conocemos,
* nos dara el dia que nos mande.

* Todo de aquí en adelante es algo simple, solo necesitas entender la lógica de la operaciones. Saludos.

         m.dias_m =   DAY (GOMONTH (CTOD ('01/' + STR (m.mes_o, 2) + '/' + STR (m.anio_o, 4)), 1) – 1)

………… código………………   */
En línea
Entrerriano
Recien Llegado
*
Desconectado Desconectado

Mensajes: 9


La unica manera de vivir......... es viviendo

hombreer@hotmail.com
Ver Perfil
« Respuesta #2 en: Enero 14, 2008, 05:59:41 »

Gracias Netxing por darme una mano, me ayudaste mucho, Es mas o menos lo que buscaba, lo demas de a poco lo voy sacando,

Un abrazo
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Otros Lenguajes  |  Tema: Quien me explica este codigo en visual fox 6.0- TERMINADO « anterior próximo »
Ir a:  
Novedades, Dudas, Comentarios Y Sugerencias, Top 100, Off-Topic, Revista E-Zine, Revista E-Zine, Sistemas operativos libres. , HacK GeneraL, Phreaking, Bug y Exploits, Networking & Wireless, Overclocking, Refrigeracion y demas, Hardware, Electronica Y Robotica, Hack para newbies, Todo Messenger, Troyanos y virus, Programacion, Programacion para webmasters, Software, Cracks & Serialz, P2p, Bittorrent, Elinks, Diseo Grafico, Juegos PC, Mp3, Multimedia, Peliculas Divx, Juegos, Humor y Adultos. (Diversion), Paginas Webs Recomendadas, Videos,


Zona-Musical Juegos online Juego Gratis10 Solucion Hosting Videos De Musica 1juegogratis Dragonjar
Noticias
 Juegos De Coche juegos gratis online juegos Los Foros De Sexe Gratuit Sexo Duro Tierra Messenger Trucos
Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC