MZP@ !L!This program must be run under Microsoft Windows. $NE - @P-- P q B*0l0m000 "(0J 0U0fO00test requete table-2LIBENTRYWEP˸"Borland Standard File@|~@ RScriptFormDataFormUIManagerUIContainerUIObject f&open+close+canArrive2arrive2setFocus+canDepart2removeFocus+depart2mouseEnter,mouseExit,mouseMove,mouseDown,mouseUp,mouseDouble,mouseRightDown,mouseRightUp,mouseRightDouble,keyPhysical-keyChar-action.menuAction/timer4pushButton+changeValue0calcField+run+newValue+proc+error3status1mouseClick,init+stringListChange+UsesTypeVarConstProc|v ]C; Creation et remplissage par SQL d'une table test ; puis execution de requtes test ; ; proc canCreate(name String) logical message("Cration du fichier \""+name+".db\" ...") if isTable(name) then if msgQuestion("Confirmation", "Fichier \""+name+".db\" existe dj. "+ "Voulez-vous le remplacer ?") <> "Yes" then return False endif endif return True endProc ; ------------------------------------------------------------ ; methode principal ; ------------------------------------------------------------ method run(var eventInfo Event) var newTab Table txt string tbl Tcursor R4,R5,R6 Query a,b,c Smallint e,f,g Smallint str1,str2 String fs filesystem tsR textstream strWildLeft, strVN, strWildRight, strRead, strFile, strFileName, strReg1 string ; strIdapiPath string ;// moved to global Var arKeys1 array[] string arSubKeys1 array[] string arFormats array[] string arBreak1 array[] string arBreak2 array[] string dyn1 dynarray[] anytype liB2, liN2, liX2, liSize2 longInt loLast, loCase logical loVN,losize logical endVar strReg1 = "SOFTWARE\\Borland" enumRegistryKeys(strReg1, regKeyLocalMachine, arKeys1) sleep() for liN2 from 1 to arKeys1.size() breakapart(arKeys1[liN2],arBreak1,"\\") enumRegistryValueNames(strReg1 + "\\" + arBreak1[arBreak1.size()], regKeyLocalMachine, arSubKeys1) sleep() for liX2 from 1 to arSubKeys1.size() dyn1[arBreak1[arBreak1.size()] + ":" + arSubKeys1[liX2]] = getRegistryValue( strReg1 + "\\" + arBreak1[arBreak1.size()], arSubKeys1[liX2], RegKeyLocalMachine ) endFor endFor strIdapiPath = dyn1["Database Engine:DLLPATH"] strFile = "" strFileName = strIdapiPath + "\\idr2000C.dll" ;============================================================= ;// To see the Registry values returned in the DyArray dyn1, ;// remove the comments infront of line below used for testing. ; dyn1.view("Registry Values") ;//--Find Version Value in the Idr2000c.dll file loLast = False if fs.findfirst(strFileName) then losize = True liSize2 = fs.size() else losize = False endif strFile = "" tsR.open(strFileName, "r") ;// Open the DLL in Read Only! tsR.setposition(liSize2 - 1000) for liB2 from liSize2 - 1000 to liSize2 - 1 tsR.readchars(strRead,1) if (ansicode(strRead) >= 46 and ansicode(strRead) < 122) then strFile = strFile + strRead loLast = False else if (ansicode(strRead) = 0 and loLast) then strFile = strFile + "" endif if ansicode(strRead) = 0 then loLast = True else loLast = False endif endif endfor tsR.close() sleep() loCase = isIgnoreCaseInStringCompares() If not loCase then IgnoreCaseInStringCompares(yes) endIf if strFile.match("..Fileversion..Internal..", strWildLeft, strVN, strWildRight) then breakapart(strVN,arBreak2, "") for liX2 from 1 to arBreak2.size() if arBreak2[liX2].size() > 1 then strVN = arBreak2[liX2] endif endfor loVN = True else loVN = False endif If not loCase then IgnoreCaseInStringCompares(No) endIf if not loVN = False then str1 = (strVN) else str1 =" \" INCONNUE \" " endif if not losize = False then str2 =string(liSize2/1024) + " Koctets." else str2 =" Indtermine " endif if canCreate("T_language") then ; ============================================================ ; Table : "T_language" ; ============================================================ newTab = create "T_language" as "Paradox" with "LG_ID" : "I", "LG_Langue" : "A12" key "LG_ID" endCreate endif ; fin de table "T_language ;------------------------------------------------------------ ; insertion de trois enregistrements ;------------------------------------------------------------ tbl.open("T_language.DB") tbl.edit() tbl.insertrecord() tbl."LG_ID"= 1 tbl."LG_Langue" = "blue" tbl.insertrecord() tbl."LG_ID" = 2 tbl."LG_Langue"= "white" tbl.insertrecord() tbl."LG_ID"= 3 tbl."LG_Langue" = "red" tbl.postrecord() tbl.endedit() ; --------------------------------------------------- ; ; Execution de requetes test ; ;------------------------------------------------------ ; execution du test de reconnaissance BDE avec ANSWER R4 = Query ANSWER: :WORK:T_language_A.db T_language.DB | LG_ID | LG_Langue | | Check | Check | EndQuery if not ExecuteQBE(R4) then e= 0 else e= 1 ;return endif ;msginfo("1 = BDE ANSWER ",(e)) ; execution du test de reconnaissance BDE avec REPONSE R5 = Query REPONSE: :WORK:T_language_B.db T_language.DB | LG_ID | LG_Langue | | Check | Check | EndQuery if not ExecuteQBE(R5) then f= 0 else f= 1 ;return endif ;msginfo("1 = BDE REPONSE",(f)) ; ------------------------------------------- ; affichage du resultat ; ------------------------------------------- if (e+f) <>1 then ; msginfo("BDE LANGUAGE INFORMATIONS"," Il y a un gros probleme dans l'execution de vos REQUETES.\n Le BDE est il correctement paramtr ?") else if (e+f) =1 and (e)= 1 then ; msginfo("BDE LANGUAGE INFORMATIONS"," Votre BDE accepte les requtes au format"+ "\n\n INTERNATIONAL, \n\n( ANSWER: :WORK:TABLE_REPONSE.db ) \n\n Votre BDE contient probablement une version de la DLL:\n IDR2000C.DLL diffrente de la 5.1.1.1 franaise "+" ou de la 5.2.0.2 franaise."+"\n VOUS AVEZ EFFECTUE LES MODIFICATIONS \n NECESSAIRES SUR IDR2000C. \n Pour information, votre version actuelle d'IDR2000C est:\n "+ (str1)+ " et sa taille est de : "+ (str2) + "\n Vous n'avez rien modifier et pouvez poursuivre le Test. \n\n" ) else if (e+f) =1 and (f)=1 then ; msginfo("BDE LANGUAGE INFORMATIONS"," Votre BDE n'accepte pas les requtes au format"+ "\n\nINTERNATIONAL, ( ANSWER: :WORK:TABLE_REPONSE.db )\n\n "+ " mais seulement et UNIQUEMENT au format:\n\n FRANCAIS, ( REPONSE: :WORK:TABLE_REPONSE.db ) \n\nVotre BDE contient probablement une version de la DLL:"+"\n IDR2000C.DLL gale 5.1.1.1 franaise "+" \n ou de la 5.2.0.2 franaise."+" \n vous n'avez pas ENCORE ffectu les modifications ncessaires. \nPour information votre version actuelle d' IDR2000C.DLL est:\n\n "+ (str1)+ " et sa taille est de : "+ (str2) + "\n\nAvant de poursuivre le Test, vous devez au pralable ffectuer"+" \n les modifications de IDR2000C. \nPour cela, reporter vous au paragraphe suivant de ce memo:"+"\n \" Comment liminer le bug d'IDR2000C.DLL fr \"\n\n" ) endif endif endif msginfo("Statut", "Test ffectu avec succs") endmethod run+p].4QC:\Program Files\Corel\WordPerfect Office 2002\Paradox\PDOXHome\WINSTYLES.FTB#Script1POST>   Vd CONTAINERd\bACTIVE>LASTMOUSECLICKED\SUBJECTbZLASTMOUSERIGHTCLICKED<SELFZ#SCRIPT1?[8 CANCREATE  NAMENAMERUN METHOD_SELF EVENTINFOA s,c1 METHOD_SELF  EVENTINFO|NEWTABL TXT0pTBLjR4R5R6pDAhWBpjCx}EPFXG`STR1STR24FSTSR! STRWILDLEFT JSTRVN< STRWILDRIGHTXSTRREADtSTRFILE STRFILENAMEk STRREG1ARKEYS18 ARSUBKEYS18 ARFORMATSx,8 ARBREAK1@[8ARBREAK28DYN18LIB2"= LIN2"U LIX2"% LISIZE2"LOLASTLOCASELOVNpLOSIZE| STRIDAPIPATH4rrm. ;{ Fbr. :m  %(%( tA!t R$tf< %(%( %X(OA<(%0D (tP (t ?t0<X  A| \*dx AdKA*$$(t"Os,@ d%(@$@$$%(x AdKA*$$l(tl"O@,@,$%(,%(t%(@@$%(,x At*t'9'z4*t*4%$ *tD*td=d0|P*t("=(*|D*t*d d4%(4%(*%("D?dt dt"<%dt"D%%.t%(*D*tt"L%dh%T%(*t"L%dhP*tD*t'ddKAdd*t&d Pdp <X !<T *$$(t"OU,ll%d(<,*'pP*tpD*t&d Dp&dD%X<**|&dD%X<4%( %(*4*d&8JL'$($($ <)$Xt)$ ($'$dddddd %T*tX%T*tdd %T*tX%T*tdd %T*tX%T*tdrdddzQUERY ANSWER: :WORK:T_language_A.db T_language.DB | LG_ID | LG_Langue | | Check | Check | ENDQUERYd% d&PL*P*{QUERY REPONSE: :WORK:T_language_B.db T_language.DB | LG_ID | LG_Langue | | Check | Check | ENDQUERYd% d&XL*X*PX%p%d,MAPX%p%dhP%h%oHd%(%(%(%(%h(4%L(%0(MAPX%p%dhX%h% %((%(D%(`%(|%h(%L(%0(4%(%(%(%(MAMA App",l$0dL$0Lhp|ZV@RxEA= <Xt=4PX`hp(x""4t +  ;  ; |`D( dH,tX< ~ytoje^pYTTLODH<A4:3.)$x\ PD( 0/.-,+*)('&%$#"! z. 0Cration du fichier ".db" ... Confirmation Fichier ".db" existe dj. Voulez-vous le remplacer ?YesSOFTWARE\Borland\:Database Engine:DLLPATH \idr2000C.dllr..Fileversion..Internal.. " INCONNUE " Koctets. Indtermine T_languageParadoxLG_IDI LG_LangueA12 T_language.DBbluewhiteredBDE LANGUAGE INFORMATIONSb Il y a un gros probleme dans l'execution de vos REQUETES. Le BDE est il correctement paramtr ?. Votre BDE accepte les requtes au format INTERNATIONAL, ( ANSWER: :WORK:TABLE_REPONSE.db ) Votre BDE contient probablement une version de la DLL: IDR2000C.DLL diffrente de la 5.1.1.1 franaise ! ou de la 5.2.0.2 franaise. VOUS AVEZ EFFECTUE LES MODIFICATIONS NECESSAIRES SUR IDR2000C. Pour information, votre version actuelle d'IDR2000C est:  et sa taille est de : > Vous n'avez rien modifier et pouvez poursuivre le Test. < Votre BDE n'accepte pas les requtes au format7 INTERNATIONAL, ( ANSWER: :WORK:TABLE_REPONSE.db ) mais seulement et UNIQUEMENT au format: FRANCAIS, ( REPONSE: :WORK:TABLE_REPONSE.db ) Votre BDE contient probablement une version de la DLL:0 IDR2000C.DLL gale 5.1.1.1 franaise + ou de la 5.2.0.2 franaise. vous n'avez pas ENCORE ffectu les modifications ncessaires. Pour information votre version actuelle d' IDR2000C.DLL est: @ Avant de poursuivre le Test, vous devez au pralable ffectuerc les modifications de IDR2000C. Pour cela, reporter vous au paragraphe suivant de ce memo:4 " Comment liminer le bug d'IDR2000C.DLL fr " StatutTest ffectu avec succs