Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Execscript problem
Message
 
À
04/01/2005 13:35:21
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Divers
Thread ID:
00974146
Message ID:
00974201
Vues:
20
Probasbly, it should be:

=execscript(filetostr("c1.prg"))

>IF the below code is saved to a program named c1.prg and c1.prg is run using "do c1.prg" from a command window it works fine. However, if c1.prg is called using =execscript(filetostr('c1.prg)) then it bombs with a syntax error. Any ideas?
>
>TIA!
>
>
>#Define HKEY_CLASSES_ROOT           -2147483648
>#Define HKEY_CURRENT_USER           -2147483647
>#Define HKEY_LOCAL_MACHINE          -2147483646
>#Define HKEY_USERS                  -2147483645
>#Define REG_SZ 				1	&& String
>#Define REG_BINARY 			3	&& Binary data
>#Define REG_DWORD 			4	&& 32bits int
>#Define ERROR_SUCCESS		0	&& OK
>
>PRIVATE nKey, cSubKey, cValue, cValueRead, m.value, value1, value2, value3, value4, value5, value6
>m.value = sys(17)+chr(13)
>nkey = HKEY_LOCAL_MACHINE
>
>cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\0"
>cValue = "ProcessorNameString"
>cValueRead=''
>cValueRead = ReadREG_SZ(nKey, cSubKey, cValue)
>IF !EMPTY(cValueRead)
>	m.value = m.value + "Processor 1: "+LTRIM(cValueRead)+CHR(13)
>ENDIF
>
>cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\1"
>cValue = "ProcessorNameString"
>cValueRead=''
>cValueRead = ReadREG_SZ(nKey, cSubKey, cValue)
>IF !EMPTY(cValueRead)
>	m.value = m.value + "Processor 2: "+LTRIM(cValueRead)+CHR(13)
>ENDIF
>
>cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\2"
>cValue = "ProcessorNameString"
>cValueRead=''
>cValueRead = ReadREG_SZ(nKey, cSubKey, cValue)
>IF !EMPTY(cValueRead)
>	m.value = m.value + "Processor 3: "+LTRIM(cValueRead)+CHR(13)
>ENDIF
>
>cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\3"
>cValue = "ProcessorNameString"
>cValueRead=''
>cValueRead = ReadREG_SZ(nKey, cSubKey, cValue)
>IF !EMPTY(cValueRead)
>	m.value = m.value + "Processor 4: "+LTRIM(cValueRead)+CHR(13)
>ENDIF
>
>value2nd = passtwo()
>m.value = m.value+value2nd+CHR(13)
>? m.value
>RETURN m.value
>
>PROCEDURE ReadREG_SZ
>   PARAMETERS  nKey, cSubKey, cValue
>   #DEFINE REG_SZ   1
>
>   DECLARE Integer RegOpenKey IN Win32API ;
>      Integer nHKey, String @cSubKey, Integer @nResult
>   DECLARE Integer RegQueryValueEx IN Win32API ;
>      Integer nHKey, String lpszValueName, Integer dwReserved,;
>      Integer @lpdwType, String @lpbData, Integer @lpcbData
>   DECLARE Integer RegCloseKey IN Win32API Integer nHKey
>
>   LOCAL nErrCode      && Error Code returned from Registry functions
>   LOCAL nKeyHandle    && Handle to Key that is opened in the Registry
>   LOCAL lpdwValueType && Type of Value that we are looking for
>   LOCAL lpbValue      && The data stored in the value
>   LOCAL lpcbValueSize && Size of the variable
>   LOCAL lpdwReserved  && Reserved Must be 0
>
>   nKeyHandle = 0
>   lpdwReserved = 0
>   lpdwValueType = REG_SZ
>   lpbValue = ""
>
>   nErrCode = RegOpenKey(nKey, cSubKey, @nKeyHandle)
>   IF (nErrCode # 0) THEN
>      RETURN ""
>   ENDIF
>
>   lpcbValueSize = 1
>   nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize)
>
>   lpbValue = SPACE(lpcbValueSize)
>   nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize)
>
>   =RegCloseKey(nKeyHandle)
>   IF (nErrCode # 0) THEN
>      RETURN ""
>   ENDIF
>
>   lpbValue = LEFT(lpbValue, lpcbValueSize - 1)
>RETURN lpbValue
>
>
>************************
>PROCEDURE passtwo
>newvalue = ''
>VALUE1 = "Number of CPUs: " +GETENV("NUMBER_OF_PROCESSORS")+CHR(13)
>value2 =  "Processor Architecture: " +GETENV("PROCESSOR_ARCHITECTURE")+CHR(13)
>value3 =  "Processor Identifier: " +GETENV("PROCESSOR_IDENTIFIER")+CHR(13)
>value4 =  "Processor Level: " +GETENV("PROCESSOR_LEVEL")+CHR(13)
>value5 = "Processor Revision: " +GETENV("PROCESSOR_REVISION")+CHR(13)
>newvalue = value1+value2+value3+value4+value5
>RETURN newvalue
>*************************
>
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform