我有這個字符串,我需要製作一些字符資本,所以我使用UpCase命令......但是如果我需要從大寫字符中創建小字符,該怎麼辦?在這種情況下我使用什麼?需要在Delphi中將大寫字母改爲小寫字母
回答
UpCase
不是區域意識,只能處理英語的26個字母。如果這真的是你所需要的,那麼你可以創建一個這樣相當於LoCase
功能:
function LoCase(ch: AnsiChar): AnsiChar; overload;
begin
case ch of
'A'..'Z':
Result := AnsiChar(Ord(ch) + Ord('a')-Ord('A'));
else
Result := ch;
end;
end;
function LoCase(ch: WideChar): WideChar; overload;
begin
case ch of
'A'..'Z':
Result := WideChar(Ord(ch) + Ord('a')-Ord('A'));
else
Result := ch;
end;
end;
是我需要的全部,但真的沒有更簡單的東西嗎?因爲我會在需要20分鐘編寫代碼的考試中得到它。 –
你會如何建議使這更簡單?我根本看不出任何複雜性。你在考試中需要這個事實是你的問題。更重要的是,如果您對可接受的解決方案有更多的限制,是否它們不應該出現在問題中?如果你不叫它,可以隨意忽略'WideChar'超載。 –
什麼是AnsiChar?和Widechar –
你應該學會如何找到你自己的解決方案,而不是如何使用谷歌或計算器:)
你在System.pas中有UpCase函數的來源。看看它是如何工作的。所有這些都是從小寫字符中減去32。如果你想得到相反的結果,加32而不是減去它。德爾福的幫助會告訴你什麼Dec
或Inc
做什麼。
var
S: string;
I: Integer;
begin
S := 'ABCd';
for I := 1 to Length(S) do
if S[I] in ['A'..'Z'] then // if you know that input is upper case, you could skip this line
Inc(S[I], 32); // this line converts to lower case
end;
某些版本的Delphi不提供源代碼。 –
- 1. 在C++中將小寫字母轉換爲大寫字母
- 2. 在java中將小寫字母轉換爲大寫字母
- 3. X86 NASM將大寫字母轉換爲大寫字母和小寫字母
- 4. 如何小寫字母轉換爲大寫字母和大寫字母爲小寫字母
- 5. 大寫字母和小寫字母
- 6. x86彙編:更改一個大寫字母爲小寫字母
- 7. haskell:將小寫字母更改爲字符串列表中的大寫字母
- 8. 將小寫字母轉換爲大寫
- 9. 將小寫字母轉換爲大寫
- 10. 將小寫字母轉換爲大寫字母
- 11. Sed不能將大寫字母轉換爲小寫字母
- 12. X86程序集將小寫字母轉換爲大寫字母
- 13. 將小寫字母轉換爲大寫字母
- 14. 將大寫字母轉換爲小寫字母
- 15. .htaccess將大寫字母轉換爲小寫字母的目錄
- 16. 用小寫字母寫成小寫字母大寫
- 17. 在每個大寫字母后加小寫字母后加小寫字母
- 18. 防止Wordpress重寫大寫字母爲小寫字母
- 19. 大寫小寫字母
- 20. 在php中將俄文字符從大寫字母轉換爲小寫字母
- 21. 僅將小寫字母減小爲小寫字母
- 22. VBA代碼,如何在Excel中將大寫字母改成小寫字母
- 23. 如何將大寫字母更改爲小寫字母和空格以強調
- 24. 大寫字母,小寫字母,大寫的Ant屬性
- 25. C源代碼將字符串中的第一個字母從小寫字母改爲大寫字母
- 26. 字體小寫字母,只是較小的大寫字母
- 27. 將小寫字母更改爲:數字00-25,將大寫字母更改爲:數字26-51
- 28. 如何在html中將大寫字母轉換爲小寫字母
- 29. 將小寫字母轉換爲大寫字母錯誤:正好(在結果中
- 30. 在C ..中將大寫字母轉換爲小寫字母(具有挑戰性)
種類依賴。 Delphi的哪個版本?文本是如何編碼的?你想如何處理區域設置? –
我正在使用德爾福7,文本是在經典句子的文本文件,我不明白你的最後一個問題..並沒有它不是LowerCase命令,因爲LowerCase命令需要字符串輸入,但我需要用單個字符。 –
別擔心。 Delphi可以爲你隱式處理。你可以自由地將'Char'傳遞給帶有'string'參數的函數。 – TLama