2013-10-05 187 views

回答

1
StrCpy $2 "" 
badrange: 
    System::Call 'advapi32::SystemFunction036(*i0r0,i1)' 
    IntCmpU $0 127 "" "" badrange ; Limit to ASCII, IsCharAlphaNumeric is locale specific 
    System::Call 'user32::IsCharAlphaNumericA(ir0)i.r1' 
    StrCmp $1 0 badrange 
    IntFmt $0 "%c" $0 
    StrCpy $2 "$2$0" 
    StrLen $0 $2 
    IntCmpU $0 10 "" badrange 
DetailPrint $2 
+0

你能解釋一下'* i0r0'是什麼意思? (看[文檔](http://nsis.sourceforge.net/Docs/System/System.html),我期望'* i0'是類型,'r0'是值,但我不能找出'* i0'是什麼類型的。) – John

+0

@John'* i'是類型,(在C/C++中爲'INT32 *'),'0'是輸入,'r0'是輸出。您通常將此視爲'* i.r0',但我明確將輸入值設置爲0。你也可以把它分開來使它更清晰:'* i 0 r0' – Anders

+0

啊,謝謝。這實際上使事情變得更清楚。 – John

相關問題