Delphiで付箋ソフトを作ろうとしています。
それで、Memoコンポーネント(TMemo)に入力されたテキストの末尾に改行があったら、それを削除したいのですが、改行があるかどうかを検知することすらできません。

Memo1.Lines.Strings[Memo1.Lines.Count-1]
が最後の行の文字列の内容になるはずなのですが、末尾に改行があってもなくても、これ↑には同じ文字列(末尾に改行なし)が入っています。でも、表示上は異なっているんです。

どなたか、わかる方いらっしゃいましたら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

#1です。


末尾に改行があれば
Memo1.Text[Length(Memo1.Text)]と
Memo1.Text[Length(Memo1.Text)-1]に
それぞれ#10,#13がはいっているはずです。
    • good
    • 0

Delphiでは改行は#10#13となっています(string型です)のでそれを利用すればいいのではないのでしょうか。

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字列検索(grepのようなもの)のCソースコード知りませんか?

Cソースコードを探しています。文字列検索用のコードです。UNIXのgrepみたなことができればと思います。
ご存知でしたら教えてください。お願いします。

Aベストアンサー

OpenSolarisとFreeBSDのソースツリーを調べてみましたが、これらは
GNU grep (2.5.1) をシステムのgrepとして使っているようです。
GNU grep ならそこら中でミラーリングもされていると思うので場所は挙げません。

UnixでないとGNU grep をコンパイルして使うというのはちょっとハードルが
高いかもしれませんが、GNU grepで何か問題があるようならまた書いてください。

規模の小さなものなら vector にも幾つかあります。

Qdelphiにて●文字列置換で勝手に改行

AnsiReplaceTextで文字列置換しているのですが、
ある改行なしの文章を置換している最中に、
勝手に改行が入りこみます。
切れる場所も決まっていて、
まず1024バイト目で切れ、
次は短く20-50バイトあたりで切れ、
また1024バイト目、次は短く…と繰り返します。
Tmemoに読み込ませた1行を取得して、
置換して戻すという作業ですが、
Tmemoに無改行の限界なんてあるのでしょうか?
ないと思うのですが、改行が入りこむ理由がわかりません。
どなたか教えていただけないでしょうか。
もしくはここをチェックして、というようなアドバイスでも
いただけないでしょうか?

Aベストアンサー

メモ帳って、「右端で折り返す」になってなくても、1行の桁があまりに長いと勝手に折り返しませんでしたっけ?
その TMemo の表示はどうなってますか?
たぶん同じだと思いますが、EM_GETLINE を送ったらどーでしょうか?
 SendMessage(Memo1.Handle, EM_GETLINE, ...);

Text プロパティからすべてを取り出し、行ごとの処理を施してから、Text にすべてを戻してはダメなのでしょうか?
with TStringList.Create do
try
 Text := Memo1.Text;
 // ...
 Memo1.Text := Text;
finally
 Free;
end;

リッチエディットにしてみるとか。

Q文字列検索について

Windows98の「検索」→「ファイルやフォルダ」の"文字列検索"で.docファイルや.mhtファイルの中身が検索できないのですが、どうしてですか?ご教授お願います。

Aベストアンサー

OSとして用意されている検索では出来ないでしょう。
ということで、検索用のソフトウェアを使えばいいのですが
そう簡単にはいかないようです。
まず、シェアウェアとして提供されているのがほとんどですし、
また、mhtファイル対象のものに関しては、見つけることが
出来ませんでした。

Q【delphi】Integer型とString型の型判定

delphi(Object Pascal)における変数のデータ型の判定方法について質問です。

SQLで読み込んだデータがInteger型なのかString型なのか判定したいのですが、どのようにすればいいのでしょうか?

判定ができる関数などがあるのでしょうか?

また、もしそのような関数がなければ、どのようにデータ型の判定を行えばいいのでしょうか?

ご存知の方がいらっしゃれば、ぜひ教えてくださいm(__)m
よろしくお願い致しますm(__)m

Aベストアンサー

SQLからということですので、取得したフィールドの.DataTypeで判定できるのではないでしょうか?
ftInteger32 ビット整数項目
ftString文字または文字列項目
他...

Q階層になっているWebサイト内で文字列検索したい

階層になっているWebサイト内で文字列検索をしたいのですが、いい方法を教えて頂けないでしょうか。
どうかご教示お願いいたします。


【検索したいサイトと文字列】
http://audio-heritage.jp/
奥行き2??

Aベストアンサー

Googleでドメイン内検索をする。
ただしGoogleにてそのサイトの情報がインデックスされている必要があります。

QDelphi 5 での TComm コンポーネントについて

過去に作成されたシリアル通信プログラムがあるのですが、
私がTCommコンポーネントをインストールしていないため
ソースを実行することができません。
検索サイトなどで探しているのですが、
MLの過去ログしか出なくて困っています。

exeファイルは実行できるのですが、
・ソースを追いかけたい
・TCommコンポーネントが何をしているか知りたい
という理由があるので、TCommコンポーネントを探しています。
Delphi 5.0 / Windows 98/2000 です。

また、ヘルプや説明のHPがあるのでしたら教えてください。
よろしくおねがいいたします m(_ _)m

Aベストアンサー

私はTCommを使っていないので、解説はできませんが、
TCommのありかは、下記URLから"TComm"で検索をかけると、
NiftyからDLできるとあります。
もっともNiftyの会員でないと無理かもしれませんが...

ちなみに私はASync32というのを使っています。
英語の説明しかありませんが、サンプルソフトを見て使い方は理解できました。
ASync32はソース付きのフリーソフトですが、ソースは難しいです。

参考URL:http://www2.big.or.jp/~osamu/Delphi/

Q文字列検索で

よろしくお願いします。
文字列検索instr関数で、特定文字(スペース)でない文字を検索したいのですが、どのようにしたらいいですか?
instr関数では、できないのでしょうか?
たとえば、
文字列" osietegoo "  →  3
文字列"    situmon"  →  7
スペースでない文字が出現する位置を知りたいです。
instr(文字列,"o")ではなく、" "ではない、、、としたいのですが、できますか?

Aベストアンサー

len(文字) - len(ltrim(文字)) + 1

QString の途中で改行するには?

こんにちは、何時もお世話になっております。
現在課題をやっている途中なのですが、少し困った事が起きてしまいました。

プログラムは完璧に出来たのですが、どうしても長いStringが存在してしまい、80文字以上の長いラインを書いてはいけないというルールに反してしまうのです。Pythonを使っているのですが、普通は \ を最後につける事によって改行するのですが、例えば、

assert genetics.get_sequence("C:\\dna_example.txt") == \
"CTTATCAACCTGGATGGGGGATAGAAGAGACTCCACTTGT \
"CCACCTCAGCAGTCGTTTAACGCCGTGACCGTGTGGCGTTGTTTTGCTAG", \
"test reading dna file into string"

このような構文があった場合、最初の行は成功するのですが、次行のSTRINGがあまりにも長くなってしまい、かと言って\で改行する事ができないのです。検索でもかけてみたのですが、上手い事解決法が見つからず・・・ご存知の方はいらっしゃいますでしょうか?

こんにちは、何時もお世話になっております。
現在課題をやっている途中なのですが、少し困った事が起きてしまいました。

プログラムは完璧に出来たのですが、どうしても長いStringが存在してしまい、80文字以上の長いラインを書いてはいけないというルールに反してしまうのです。Pythonを使っているのですが、普通は \ を最後につける事によって改行するのですが、例えば、

assert genetics.get_sequence("C:\\dna_example.txt") == \
"CTTATCAACCTGGATGGGGGATAGAAGAGACTCCACTTGT \
...続きを読む

Aベストアンサー

正直なところルールの方をどうにかすべきだろうとは
思いますが、そうもいってられないでしょうから

assert genetics.get_sequence("C:\\dna_example.txt") == \
のあとを
"CTTATCAACCTGG..." +\
"AGAGACTCCACTT..." +\
"...GTTGTTTTGCTAG", \
"test reading dna file into string"

としたらどうでしょうか?
== の直後と、カンマの直前にそれぞれ開き/閉じカッコを
置いて括った方がいいかもしれません。

Q文字列検索機能2

そのページだけに文字列検索をつけて見つけた文字のところへジャンプしたら、その文字を大きくしたいのですがどうすればよいでしょうか?? 知っている方がいらしたら教えてくださいお願いします。困っています 。急いでいます。

Aベストアンサー

オリジナルソースは、ソフト工房文人"http://bunjin.com/"サイト様の
「ページ内の文字列を検索」"http://bunjin.com/java/seek_strings.html"です。

これをベースに、45行目あたりにある、

 txt.scrollIntoView();

の次に、以下の2行を挿入してください。

 var val = txt.text;
 txt.pasteHTML("<big><b>" + val + "</b></big>");


※ 上記以外の文字列検索スクリプトを利用されているのでしたら、まずはそのソースを上げていただかないと、回答のしようがありません。

QDelphi 文字列の中のタブをコンマに

Delphi

タブ区切りのテキストファイルを読み込んでMemoにおいています。

読込んだ後、タブ区切りの部分をコンマ(,)区切りに変更したいのですが。

タブってどう表現したらよろしいでしょうか?

Aベストアンサー

tabの文字コードは9ですので
#9 ですかね


人気Q&Aランキング

おすすめ情報