喫茶XRAYトップページ
[
スレッド全体
]
[10607]
Re:長さを指定したString型変数
返信
削除
2016/12/20 (火) 00:17:32
Mr.XRAY
> 途中の要素に「文字」を代入しても,要素 0 には文字数は格納されません.
> つまり,文字列が代入されていないのと同状態となります.
なんですが,代入した「文字」はもちろん取り出せます.
その確認コードです.
質問している方は
>//buf :string[16]; では buf[j] が'文字'にならない!
と書いていますが,そんなことはありません.
buf[j] には間違いなく '文字' が格納されます,
動作確認は Windows 7 U64(SP1) + Delphi XE(UP1) Pro です.
テストする場合,文字列を初期化しないとゴミが入ることがあります.
procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
buf : string[16];
LText : string;
begin
//初期化
buf := '';
for i := 1 to 16 do begin
buf[i] := AnsiChar(Ord('A') + i - 1);
end;
Memo1.Lines.Add('Buttn2 : ' + string(Buf));
LText := '';
for i := 1 to 16 do begin
LText := LText + buf[i];
end;
Memo1.Lines.Add('Buttn2 : ' + LText);
end;
[10611]
Re2:長さを指定したString型変数
返信
削除
2016/12/23 (金) 09:05:25
Mr.XRAY
念のため,短い文字列もふつーに文字列として操作することができます.
procedure TForm1.Button1Click(Sender: TObject);
var
buf : string[16];
begin
Memo1.Lines.Clear;
buf := 'ABC';
buf[4] := 'D';
//要素4の文字は認識しないので文字列の長さには含まれない
//短い文字列はStringでキャストしないと警告が表示される
Memo1.Lines.Add(string(buf));
Memo1.Lines.Add(IntToStr(Length(buf)));
//文字列の長さ以内の要素の文字を変更した場合
//文字の置換となる
buf[1] := 'B';
Memo1.Lines.Add(string(buf));
end;
ところで,
http://
okwave.
jp/
qa/
q9268853
.
html
のキーワードが
「ストリング Delphi AnsiChar AnsiString TPersonArray」
となっています.こういうところからもその方のスキルを判断できます.
TPersonArray は自分で定義した型ですから,キーワードにするには不適切です.
ストリングはできれば String とか String 型ですね.
あとはやむを得ないでしょう.
[10612]
Re3:長さを指定したString型変数
返信
削除
2016/12/23 (金) 15:05:09
SO
▼ Mr.XRAYさん
http://
ht-
deko.
com/
tech018.
html
[10613]
Re4:長さを指定したString型変数
返信
削除
2016/12/23 (金) 16:11:37
Mr.XRAY
▼ SOさん
>
http://
ht-
deko.
com/
tech018.
html
おっ ! Byte(S[0]) は操作できるんですね.
失礼しました.間違えました.
それと,String[0] は要素数 (文字数) ではないてすね.
これも間違えました.ゴメンなさい.
旧い Delphi の時代の話 ?
ダメだこりゃ... (泣)
SO さんサンクスです.SO さんやさしいですね.
それとなくリンクで教えてくださって... (涙)
# 実はですね.このような間違いをサイトの記事で見つけることが
# あるんです.で,ひそかに修正したりしています.
# 記事を信じて読んでいる方,本当にゴメンナさい.
[10615]
Re5:長さを指定したString型変数
返信
削除
2016/12/24 (土) 09:15:28
SO
▼ Mr.XRAYさん
> ダメだこりゃ... (泣)
> SO さんサンクスです.SO さんやさしいですね.
> それとなくリンクで教えてくださって... (涙)
いやぁ、素晴らしきはDEKOさんです(^^
[10617]
Re6:長さを指定したString型変数
返信
削除
2016/12/24 (土) 10:58:08
Mr.XRAY
▼ SOさん
> いやぁ、素晴らしきはDEKOさんです(^^
確かに (^^
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82