Software development, photography, jokes, ....

Sites by me

 
tas-logoTransportation Administration System
snoezelkussen-logo-kleinstSnoezelkussens voor verstandelijk gehandicapten
ikzoekeenbegeleider-logoBegeleiders voor gehandicapten
Laat uw hond het jaarlijkse vuurwerk overwinnen
logo 50x50Hey Vos! Je eigen naam@vos.net emailadres?
Kunst in huis? Nicole Karrèr maakt echt bijzonder mooie dingen
nettylogo2Kunst in huis? Netty Franssen maakt ook bijzonder mooie dingen
Salarisadministratie en belastingadvies bij De Zaak Loont
Zutphense Bomenstichting

Hosting Favorites

 
ANU Internet Services
XelMedia .internet Services
register.com

Blogroll

 
Bomenstichting
LassoSoft
MacFreak
Quality that computes
The Economy of Motion
Wheel 2.0
IntrAktv



Website Hosting bij Xel Media

Marc's Place

E$DECODE - Controleren van bankrekeningnrs, creditcardnrs, etc.




Aanroep
 
retval = %e$decode (type, code)
 
Common velden vóór aanroep
*N/A
Parameters te vullen bij aanroep
type (a*)
De soort decodering waarmee code gecontroleerd moet worden:
11-1
Elfproef waarbij het restcijfer overeen moet komen met het laatste cijfer van het nummer.
11-2
Elfproef waarbij het restgetal van de 11-1 proef van 11 wordt afgetrokken. De uitkomst daarvan moet overeenkomen met het laatste cijfer van het nummer.
Bankrekening- en ISBN-nummers bijvoorbeeld.
CARD
Testen van credit-cardnummers.
En sommige serienummers.
EAN
Testen van EAN-8 en EAN-13.
Streepjescodes op artikelen bijvoorbeeld.
9
Negenproef waarbij het resultaat net zoalng doorgeëvalueerd wordt tot er een rest <= 9 ontstaat. Deze wordt van 9 afgetrokken. De uitkomst daarvan moet overeenkomen met het laatste cijfer van het nummer.
Sommige serienummers.
C-F
Omrekenen van graden Celcius naar graden Fahrenheit.
F-C
Omrekenen van graden Fahrenheit naar graden Celcius.
code (a*)
Het te controleren nummer. Er zijn bepaalde lengte-beperkingen:
11-proeven
Maximaal 10 cijfers.
CARD, EAN
Maximaal 30 cijfers.
9-proef
Maximaal 11 cijfers.
C-F, F-C
Float van maximaal D18.8
Het aantal graden dat wordt meegegeven bij de F-C of C-F parameters kan een min-teken en/of komma bevatten. Wat terug wordt gegeven is een geheel getal dat een factor 100000000 groter is om de 8 posities achter de komma te kunnen bevatten. Definieer daarom een d*.8 veld en deel de uitkomst door 100000000 in dit veld (zie het voorbeeld).
Parameters gevuld bij terugkeer
retval (d1 | d*.8)
Een juiste (1) code, een foute code (0) of een aantal graden (d*.8).
Common velden gevuld bij terugkeer
*N/A
Voorbeelden
 
isbn = 9034324133
ok = %e$decode('11-2', isbn)

 

In bovenstaand voorbeeld wordt een ISBN-nummer gecontroleerd. In het volgende voorbeeld worden 89,6 graden Fahrenheit geconverteerd naar graden Celcius (32°) die in een decimaal veld met acht komma posities terecht komen. Vandaar de speciale deling (//) die het rekenkundige resultaat achter de komma meeneemt in de berekening en de resultaten:

record
graden, d18.8
.proc
graden = %e$decode ('F-C', '89,6') // 100000000
...
...

Bij graden onder nul, moet het min-teken vóóraan worden meegegeven. Dus -32 en niet 32-.


De mogelijkheid wordt geboden aan programmeurs, die niet over de sourcecode beschikken, eigen decoderingscontroles toe te voegen. De source die daarvoor speciaal wordt meegeleverd heet USRDECOD.DBL. Deze subroutine kan geheel naar wens worden ingericht. Beide parameters worden aan deze routine doorgegeven. De derde parameter is een D3 die een waarde >= 0 terug moet geven. Deze waarde wordt dan weer door E$DECODE teruggegeven aan het aanroepende programma.

© 1997- Marc Vos (and others) Contact Me