OT. codigo VB a VFP (help urgent)

76 views
Skip to first unread message

Jhonny Zambrana

unread,
Jun 3, 2011, 2:10:29 PM6/3/11
to Comunidad de Visual Foxpro en Español
Estimados colegas podrian ayudarme con la traduccion de este
codigo????
------------------------------------------------------------------------------------------
Public Function LRC(Argumento As String) As String

'Debuelve una cadena de dos caracteres que son el ASCII del LRC

Dim Suma As Long
Dim i As Integer

On Error Resume Next

'Para todos los Bytes de Argumento (sin los ":" iniciales)
For i = 2 To Len(Argumento)
Suma = Suma + Asc(Mid$(Argumento, i, 1))
Next

LRC = Hex$(256 - (Suma Mod 256))

End Function

Hugo C.

unread,
Jun 3, 2011, 2:30:45 PM6/3/11
to Comunidad de Visual Foxpro en Español
Intenta algo como esto,

FUNCTION LRC(Argumento As String) As String
* Debuelve una cadena de dos caracteres que son el ASCII del LRC
LOCAL m.suma AS Long
LOCAL m.i AS Integer
STORE 0 TO m.suma, m.i
* Para todos los Bytes de Argumento (sin los ":" iniciales)
FOR m.i = 2 TO Len(Argumento)
m.suma = m.suma + Asc(SUBSTR(Argumento, m.i, 1))
ENDFOR
RETURN TRANSFORM(256 - MOD(m.suma, 256), "@0")

Saludos.


On 3 jun, 12:10, Jhonny Zambrana <jhonny.zambr...@gmail.com> wrote:
> Estimados colegas podrian ayudarme con la traduccion de este
> codigo????
> ---------------------------------------------------------------------------­---------------

Victor Espina

unread,
Jun 3, 2011, 4:36:31 PM6/3/11
to publice...@googlegroups.com
Excelente Hugo. No me sabia el truco del formato "@0" para convertir de decimal a hexadecimal. Hay que ver q nuestro Zorro no termina nunca de sorprendernos!! :)

Saludos

Victor Espina

Victor Espina

unread,
Jun 3, 2011, 4:37:51 PM6/3/11
to publice...@googlegroups.com
Solo para cerrar el circulo (me salto la duda y lo probe):

Decimal a hexadecimal:
cHex = TRANSFORM(nDec, "@0")

Hexadecimal a decimal:
nDec = VAL(cHex)


Saludos

Victor Espina

Hugo C.

unread,
Jun 3, 2011, 4:50:00 PM6/3/11
to Comunidad de Visual Foxpro en Español
Asi es Victor, El Zorro no termina nunca de
sorprendernos!! .

El Rey no ha muerto, ¡viva el rey!.
(Esperemos que esta frase se siga cumpliendo ;-- )

Saludos.

Luis Maria Guayan

unread,
Jun 3, 2011, 5:41:21 PM6/3/11
to publice...@googlegroups.com
Yo siempre he usado EVALUATE(), pero por lo visto hay tres opciones válidas:

CLEAR
lnDec = 123456
? lnDec
lcHex = TRANSFORM(lnDec, "@0")
? lcHex
? "------------"
? EVALUATE(lcHex)
? VAL(lcHex)
? &lcHex

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Jhonny Zambrana

unread,
Jun 3, 2011, 9:25:25 PM6/3/11
to Comunidad de Visual Foxpro en Español
gracias a todos por su gentil y valiosa ayuda



On 3 jun, 17:41, Luis Maria Guayan <luismar...@gmail.com> wrote:
> Yo siempre he usado EVALUATE(), pero por lo visto hay tres opciones válidas:
> CLEAR
> lnDec = 123456
> ? lnDec
> lcHex = TRANSFORM(lnDec, "@0")
> ? lcHex
> ? "------------"
> ? EVALUATE(lcHex)
> ? VAL(lcHex)
> ? &lcHex
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com
Reply all
Reply to author
Forward
0 new messages