[LEFT][SIZE=2][COLOR=#8b7e66]&scoped-define IBANKERNEL_DLL IBANKernel.dll [/COLOR][/SIZE][/LEFT]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] pdwMajor [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] pdwMinor [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] pszValidUntil [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] nValidLen [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] iResult [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] idwMajor1 [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] idwMajor2 [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] idwMinor1 [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] idwMinor2 [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] szValidUntil [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]CHAR [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] cYear [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] cMonth [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] cDay [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]INT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]VAR[/COLOR][/SIZE][SIZE=2] ddDate [/SIZE][SIZE=2][COLOR=#7f0055]AS [/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]DATE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]NO-UNDO.[/COLOR][/SIZE]
[LEFT][SIZE=2][COLOR=#3f7f5f]/*initialisation*/[/COLOR][/SIZE][/LEFT]
[SIZE=2]szValidUntil = [/SIZE][SIZE=2][COLOR=#2a00ff]""[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2]nValidLen = [/SIZE][SIZE=2][COLOR=#2a00ff]10[/COLOR][/SIZE][SIZE=2]. [/SIZE][SIZE=2][COLOR=#3f7f5f]/* e.g. 31.12.2007 */[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]set-size[/COLOR][/SIZE][SIZE=2](pdwMajor) = [/SIZE][SIZE=2][COLOR=#2a00ff]4[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#7f0055]set-size[/COLOR][/SIZE][SIZE=2](pdwMinor) = [/SIZE][SIZE=2][COLOR=#2a00ff]4[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#7f0055]set-size[/COLOR][/SIZE][SIZE=2](pszValidUntil) = nValidLen + [/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2].[/SIZE]
[LEFT][SIZE=2][COLOR=#3f7f5f]/*Execution de la procedure*/[/COLOR][/SIZE][/LEFT]
[SIZE=2][COLOR=#7f0055]RUN [/COLOR][/SIZE][SIZE=2]IT_IBANVersion ([/SIZE][SIZE=2][COLOR=#7f0055]INPUT[/COLOR][/SIZE][SIZE=2] pdwMajor,[/SIZE]
[SIZE=2][COLOR=#7f0055]INPUT[/COLOR][/SIZE][SIZE=2] pdwMinor,[/SIZE]
[SIZE=2][COLOR=#7f0055]INPUT[/COLOR][/SIZE][SIZE=2] pszValidUntil,[/SIZE]
[SIZE=2][COLOR=#7f0055]INPUT[/COLOR][/SIZE][SIZE=2] nValidLen,[/SIZE]
[SIZE=2][COLOR=#7f0055]OUTPUT[/COLOR][/SIZE][SIZE=2] iResult).[/SIZE]
[LEFT][SIZE=2][COLOR=#3f7f5f]/*valide*/[/COLOR][/SIZE][/LEFT]
[SIZE=2][COLOR=#7f0055]IF [/COLOR][/SIZE][SIZE=2]iResult = [/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]THEN [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]DO[/COLOR][/SIZE][SIZE=2]:[/SIZE]
[SIZE=2]idwMajor1 = [/SIZE][SIZE=2][COLOR=#7f0055]GET-BYTE[/COLOR][/SIZE][SIZE=2] (pdwMajor, [/SIZE][SIZE=2][COLOR=#2a00ff]3[/COLOR][/SIZE][SIZE=2]).[/SIZE]
[SIZE=2]idwMajor2 = [/SIZE][SIZE=2][COLOR=#7f0055]GET-BYTE[/COLOR][/SIZE][SIZE=2](pdwMajor, [/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2]).[/SIZE]
[SIZE=2]idwMinor1 = [/SIZE][SIZE=2][COLOR=#7f0055]GET-BYTE[/COLOR][/SIZE][SIZE=2](pdwMinor, [/SIZE][SIZE=2][COLOR=#2a00ff]3[/COLOR][/SIZE][SIZE=2]).[/SIZE]
[SIZE=2]idwMinor2 = [/SIZE][SIZE=2][COLOR=#7f0055]GET-BYTE[/COLOR][/SIZE][SIZE=2](pdwMinor, [/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2]).[/SIZE]
[SIZE=2]szValidUntil = [/SIZE][SIZE=2][COLOR=#7f0055]GET-STRING[/COLOR][/SIZE][SIZE=2](pszValidUntil, [/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2]).[/SIZE]
[SIZE=2]cYear = [/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#7f0055]SUBSTRING[/COLOR][/SIZE][SIZE=2](szValidUntil,[/SIZE][SIZE=2][COLOR=#2a00ff]1[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#2a00ff]4[/COLOR][/SIZE][SIZE=2])).[/SIZE]
[SIZE=2]cMonth = [/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#7f0055]SUBSTRING[/COLOR][/SIZE][SIZE=2](szValidUntil,[/SIZE][SIZE=2][COLOR=#2a00ff]5[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#2a00ff]2[/COLOR][/SIZE][SIZE=2])).[/SIZE]
[SIZE=2]cDay = [/SIZE][SIZE=2][COLOR=#cd3a3a]INTEGER[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#7f0055]SUBSTRING[/COLOR][/SIZE][SIZE=2](szValidUntil,[/SIZE][SIZE=2][COLOR=#2a00ff]7[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#2a00ff]2[/COLOR][/SIZE][SIZE=2])).[/SIZE]
[SIZE=2]ddDate = [/SIZE][SIZE=2][COLOR=#cd3a3a]DATE[/COLOR][/SIZE][SIZE=2](cMonth,cDay,cYear).[/SIZE]
[LEFT][SIZE=2][COLOR=#7f0055]MESSAGE [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff]"IBAN-Tool (Windows-Dll):"[/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]SKIP[/COLOR][/SIZE][/LEFT]
[SIZE=2][COLOR=#2a00ff]"Version: " [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]STRING[/COLOR][/SIZE][SIZE=2](idwMajor1) + [/SIZE][SIZE=2][COLOR=#2a00ff]"."[/COLOR][/SIZE][SIZE=2] + [/SIZE][SIZE=2][COLOR=#7f0055]STRING[/COLOR][/SIZE][SIZE=2](idwMajor1) + [/SIZE][SIZE=2][COLOR=#2a00ff]"."[/COLOR][/SIZE][SIZE=2] + [/SIZE][SIZE=2][COLOR=#7f0055]STRING[/COLOR][/SIZE][SIZE=2](idwMinor1) + [/SIZE][SIZE=2][COLOR=#2a00ff]"."[/COLOR][/SIZE][SIZE=2] + [/SIZE][SIZE=2][COLOR=#7f0055]STRING[/COLOR][/SIZE][SIZE=2](idwMinor2) [/SIZE][SIZE=2][COLOR=#7f0055]SKIP[/COLOR][/SIZE]
[SIZE=2][COLOR=#2a00ff]"Valable jusqu''au :" [/COLOR][/SIZE][SIZE=2]ddDate[/SIZE]
[SIZE=2][COLOR=#7f0055]VIEW-AS [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]ALERT-BOX [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]INFO [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]BUTTONS [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]OK[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]TITLE [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff]"IBAN Test"[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#7f0055]END.[/COLOR][/SIZE]
[SIZE=2][COLOR=#3f7f5f]/*on error*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]ELSE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]DO[/COLOR][/SIZE][SIZE=2]:[/SIZE]
[SIZE=2][COLOR=#7f0055]MESSAGE [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff]"La version ne peut pas être déterminée"[/COLOR][/SIZE][SIZE=2] iResult[/SIZE]
[SIZE=2][COLOR=#7f0055]VIEW-AS [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]ALERT-BOX [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]ERROR [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]BUTTONS [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]OK.[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]END.[/COLOR][/SIZE]
[LEFT][SIZE=2][COLOR=#3f7f5f]/*reinitialise*/[/COLOR][/SIZE][/LEFT]
[SIZE=2][COLOR=#7f0055]SET-SIZE [/COLOR][/SIZE][SIZE=2](pdwMajor) = [/SIZE][SIZE=2][COLOR=#2a00ff]0[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#7f0055]SET-SIZE [/COLOR][/SIZE][SIZE=2](pdwMinor) = [/SIZE][SIZE=2][COLOR=#2a00ff]0[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#7f0055]SET-SIZE [/COLOR][/SIZE][SIZE=2](pszValidUntil) = [/SIZE][SIZE=2][COLOR=#2a00ff]0[/COLOR][/SIZE][SIZE=2].[/SIZE]
[SIZE=2][COLOR=#3f7f5f]/* at the end release external DLL */[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]RELEASE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]EXTERNAL[/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff]"{&IBANKERNEL_DLL}"[/COLOR][/SIZE][SIZE=2]:U.[/SIZE]
[SIZE=2][COLOR=#7f0055]RETURN.[/COLOR][/SIZE]
[SIZE=2][COLOR=#3f7f5f]/*definition de la procedure*/[/COLOR][/SIZE]
[LEFT]
[SIZE=2][COLOR=#3f7f5f]/*declaration de la methode d'appel CDECL de la dll*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]PROCEDURE [/COLOR][/SIZE][SIZE=2]IT_IBANVersion [/SIZE][SIZE=2][COLOR=#7f0055]EXTERNAL[/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff]"{&IBANKERNEL_DLL}"[/COLOR][/SIZE][SIZE=2]:U [/SIZE][SIZE=2][COLOR=#7f0055]CDECL P[/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]ERSISTENT[/COLOR][/SIZE][SIZE=2]: [/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]INPUT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PARAMETER[/COLOR][/SIZE][SIZE=2] dwMajor [/SIZE][SIZE=2][COLOR=#7f0055]AS[/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR.[/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f]/*pointer pour la version majeur*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]INPUT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PARAMETER[/COLOR][/SIZE][SIZE=2] dwMinor [/SIZE][SIZE=2][COLOR=#7f0055]AS[/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR.[/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f]/*pointer pour la version mineur*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]INPUT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PARAMETER[/COLOR][/SIZE][SIZE=2] pszValidUntil [/SIZE][SIZE=2][COLOR=#7f0055]AS[/COLOR][/SIZE][SIZE=2][COLOR=#cd3a3a]MEMPTR.[/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f]/*pointer pour la date*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]INPUT [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PARAMETER[/COLOR][/SIZE][SIZE=2] nValidLen [/SIZE][SIZE=2][COLOR=#7f0055]AS[/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]LONG.[/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f]/*buffer la taille de la date*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]DEFINE [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]RETURN [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PARAMETER[/COLOR][/SIZE][SIZE=2] infoResult [/SIZE][SIZE=2][COLOR=#7f0055]AS[/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]LONG.[/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f]/*reponse 0=erreur, la version ne peut pas etre determinée*/[/COLOR][/SIZE]
[SIZE=2][COLOR=#7f0055]END [/COLOR][/SIZE][SIZE=2][COLOR=#7f0055]PROCEDURE.[/COLOR][/SIZE]
[/LEFT]