Archive: lowercase


lowercase
Hi!

I´m new with NSIS, and find it super!

can somebody help me how to convert one string to lowercase
( ASCII characters only)

TIA


You can tweak this one to make it lower instead of upper:
http://nsis.sourceforge.net/archive/....php?pageid=61


Thanks for your answer! works fine:

; StrLower
; Converts the string on the stack to lowercase (in an ASCII sense)
; Usage:
; Push
; Call StrLower
; Pop

Function StrLower
Exch $0 ; Original string
Push $1 ; Final string
Push $2 ; Current character
Push $3
Push $4
StrCpy $1 ""
Loop:
StrCpy $2 $0 1 ; Get next character
StrCmp $2 "" Done
StrCpy $0 $0 "" 1
StrCpy $3 122 ; 122 = ASCII code for z
Loop2:
IntFmt $4 %c $3 ; Get character from current ASCII code
StrCmp $2 $4 Match
IntOp $3 $3 - 1
StrCmp $3 91 NoMatch Loop2 ; 90 = ASCII code one beyond Z
Match:
StrCpy $2 $4 ; It 'matches' (either case) so grab the lowercase version
NoMatch:
StrCpy $1 $1$2 ; Append to the final string
Goto Loop
Done:
StrCpy $0 $1 ; Return the final string
Pop $4
Pop $3
Pop $2
Pop $1
Exch $0
FunctionEnd


Add it to the archive :)