- ベストアンサー
英文字列の先頭だけを大文字に
Delphi XE5を使っています。 英文字列の先頭だけを大文字に変換したいのですが、 どうすればいいでしょうか? UpperCaseだとエラーが出ますよね。 文字コードに変換して加算するような方法しかありませんか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
UpperCaseはString型を返す関数です。 tmp_term[1]はChar型ですからString型は代入できません。 tmp_term[1] := UpperCase(tmp_term[1])[1]; とすればいいはず。
その他の回答 (2)
- nag0720
- ベストアンサー率58% (1093/1860)
回答No.2
UpperCaseはString型を返す関数です。 tmp_term[1]はChar型ですからString型は代入できません。 tmp_term[1] := UpperCase(tmp_term[1])[1]; とすればいいはず。
- nag0720
- ベストアンサー率58% (1093/1860)
回答No.1
>UpperCaseだとエラーが出ますよね。 どんなエラーが出るんですか? 普通にコーディングしてれば出ないですよ。 UpperCaseはすべての小文字を大文字にするので、先頭だけ大文字にしたいのなら、先頭だけ抜き出してUpperCaseで大文字にしてから2文字目以降を結合すればいいのでは。
質問者
補足
回答ありがとうございます。 次のようにtmp_termの先頭を大文字にしようとしました。 tmp_term[1] := UpperCase(tmp_term[1]); ところが、「Charとstringには互換性がありません」というエラーが出ます。
お礼
ありがとうございます。 うまく動作しました。
補足
ありがとうございます。 とりあえず、コンパイルは通ったんですけど、いろいろ修正しているうちに、なぜかうまく動作しなくなってしまいました。 トピを閉めさせていただくのは、動作を確認してからにさせてください。