Delphiの超初心者です。文字型の定義の方法はわかるのですが、メモ型(改行が入った文字)の定義がよくわかりません、お教え下さい。
文字の場合
var
s :String;
begin
s :='abcd';
end;
メモの場合(エラーになります・・・)
var
s :String;
begin
s :='abcd
efg
hij';
end;
s :='abcd'#13'efg'#13'hij';
です。
場合(この文字列を何に使用するか)によっては
s :='abcd'#13#10'efg'#13#10'hij';
としなければならない事もあります。
s :='abcd' + #$13#$10 + 'efg'#$D#$A'hijk' + Chr(13) + Chr(10) + 'lmnop';
こういうことですかい?
こんにちは,
どういうことをしようとしているのか,よくは分かりませんが,
ワード等,複数行の文章,テキストというのは,各々の行の最後に
目には見えませんが,改行文字というのが入っています.
システムは,その文字を判断して,自動的に改行処理を行うわけです.
したがって,すでにレスがあるように,改行文字を付け加えることになります.
Delphi 6以降であれば,次のように,sLineBreakが使えます.
procedure TForm1.Button2Click(Sender: TObject);
var
S : String;
begin
//改行付きの文字列を作成
//sLineBreakが改行文字の意味
S := 'これは改行文字挿入の' + sLineBreak + 'テストです';
ShowMessage(S);
end;
このような,目に見えない文字というのは他にもあります.
よく「制御文字」とか「制御コード」とか言っています.
DelphiのString型の文字数には,この制御文字は含まれません.
いろいろな処理をするときには注意が必要です.
これが便利な時もあります.
以下のような感じでしょうか(数値は16進).
http://www40.atwiki.jp/system-ed/pages/12.html
制御文字も文字数にちゃんと含まれますよ。
例えば以下のnullだけで構成された文字列だってちゃんと長さを持ちます。
var
S: String;
begin
S := #0#0#0#0#0;
// Length(S) => 5
end;
Mr.XRAYさんともあろう方がこのような初歩的なことを知らなかったのでしょうか。
それとも何か別の意味で仰ったんでしょうか。
こんちには,Mr.XRAYです.
>それとも何か別の意味で仰ったんでしょうか。
そうです,深〜い,意味があるんです.ウソです.
間違いです.申し訳ありません.
>Mr.XRAYさんともあろう方がこ....
ムムムツ.キツイですね(苦笑)
「あろう方」と言われる程の者じゃないですけどね.
私,結構間違えていますよ,自慢にはなりませんが.
ともかく,ご指摘感謝です.
今後も間違いがあったら,指摘してください.よろしくお願いします.
解決しました、有難う御座います。
ツイート | ![]() |