CharUpperBuff(buffer, length) 將緩衝區前 length 個字符轉為大寫,返回實際轉換的字符數。支援靜態數組、動態字符串(通過 @str[1])。
procedure TForm1.Button1Click(Sender: TObject); {全部轉換}
var buf: array[0..6] of Char;
begin buf := 'abcdefg'; CharUpperBuff(buf, Length(buf)); ShowMessage(buf); end; {ABCDEFG}
procedure TForm1.Button2Click(Sender: TObject); {前 3 個}
var buf: array[0..6] of Char;
begin buf := 'abcdefg'; CharUpperBuff(buf, 3); ShowMessage(buf); end; {ABCdefg}
procedure TForm1.Button3Click(Sender: TObject); {獲取返回值}
var buf: array[0..6] of Char; num: Integer;
begin buf := 'abcdefg'; num := CharUpperBuff(buf, 4); ShowMessageFmt('%s, %d', [string(buf), num]); end; {ABCDefg, 4}
procedure TForm1.Button4Click(Sender: TObject); {AnsiString 轉換}
var str: string;
begin str := 'abcdefg'; CharUpperBuff(@str[1], Length(str)); ShowMessage(str); end; {ABCDEFG}
注意: Delphi 字符串從 1 開始索引,@str[1] 取首字符地址。CharUpperBuff 直接修改原緩衝區內容。