
Convertir de fox a visual basic
Publicado por T O N Y (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


0