FoxPro/Visual FoxPro - Convertir de fox a visual basic

   
Vista:

Convertir de fox a visual basic

Publicado por T O N Y navarro.stotac@gmail.com (1 intervención) el 29/04/2015 01:22:44
hola tengo una rutina que me pasaron unos amigos programadores en fox pro, el rpoblema es que yo de fox no se nada, me dicen que la traduzca a visual basic que es en realidad como la necesito ya que la aplicacion que yo cree esta en visual Basic, alguien puede decirme o explicarme la plabra claes de este lenguaje a si yo lo paso a visual basic, elalgoritmo se trata de crear el digito verificado es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function I2DE5
	parameters TCSTRING
 
    private  LCSTART, LCSTOP, LCRET, LCCHECK, LCCAR, LNLONG, LNI, LNSUM, LNAUX
 
    LCSTART = chr(40)
    LCSTOP  = chr(41)
    LCRET   = alltrim(TCSTRING)
    *--- Genero dígito de control
    LNLONG  = len(LCRET)
    LNSUM   = 0
    LNCOUNT = 1
    for LNI = LNLONG to 1 step -1
        LNSUM = LNSUM + val(substr(LCRET,LNI,1)) * ;
            iif(mod(LNCOUNT,2) = 0,1,3)
        LNCOUNT = LNCOUNT + 1
    endfor
    LNAUX = mod(LNSUM,10)
    LCRET = LCRET + alltrim(str(iif(LNAUX = 0,0,10 - LNAUX)))
    LNLONG = len(LCRET)
    *--- La longitud debe ser par
    if mod(LNLONG,2) # 0
        LCRET = '0' + LCRET
        LNLONG = len(LCRET)
    endif
 
 	m._cod_barr= m.lcret
 
    *--- Convierto los pares a caracteres
    LCCAR = ''
    for LNI = 1 to LNLONG step 2
        if val(subs(LCRET,LNI,2)) < 50
            LCCAR = LCCAR + chr(val(subs(LCRET,LNI,2)) + 48)
        else
            LCCAR = LCCAR + chr(val(subs(LCRET,LNI,2)) + 142)
        endif
    endfor
    *--- Armo código
    LCRET = LCSTART + LCCAR + LCSTOP
    return LCRET
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

Convertir de fox a visual basic

Publicado por Fidel José (558 intervenciones) el 29/04/2015 16:14:03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
También se puede designar, dentro de un prg.
FUNCTION I2DE5( tcString )
PROCEDURE I2DE5(tcString)
 
* PARAMETERS ó LPARAMETERS:  Lista de parámetros de la función o procedure.
* CHR() 		Determina el caracter Ansi correspondiente al valor parámetro.
* ALLTRIM()		Quita espacios (chr(32)) al inicio y al final de una cadena
*               lcString= "  036 ABZ   " :: ALLTRIM(lcString)="036 ABZ"
* LEN			Largo de una cadena (incluyendo espacios )
* MOD			Resto de una división
* VAL			Convierte un alfanumérico en Número: VAL("04812") = 4812
* iif()			Estructura condicional en una sola línea     iif(expr_Logica , Case_Verdadero , Case_Falso )
* FOR / ENDFOR
* FOR / NEXT	Bucle
* SUBSTR()		Extrae una porción de una cadena: Substr(lcCadena , DesdePosicion , Cantidad_de_Caracteres )
*
* Prefijo m.	Utilizado en FoxPro para indicarle al intérprete que el sufijo es una variable de memoria.
*				Por defecto, Foxpro primero busca un campo en la tabla o cursor activo.
*				Evita ambigüedades
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