文字列中の改行コードの位置を取得するには


dsd  2006-01-29 00:56:28  No: 19865

お世話になります。現在文字列操作で文字列中の改行コードの位置を
取得したく、下記のコードでテストを行っています。
現在、mposには10という値が返るのですが、これを5文字目として
取得する方法を知りたいのです。
改行コードが出るまでの文字列を取得して1文字ずつ1バイト文字か
2バイト文字かを判断するしかないのでしょうか?

よろしくお願いします。

procedure TForm1.Button2Click(Sender: TObject);
var
  test : WideString;
  mpos : integer;
begin

   test := 'あいうえ' + #13#10 + 'かきくけ';

   mpos := ansipos(#13#10,test);

end;


えーと  2006-01-29 02:27:18  No: 19866

> 現在、mposには10という値が返るのですが、これを5文字目として

そうですか? 試してみたら 9 でしたが?

WideString を AnsiPos で検索するのは変です。

procedure TForm1.Button1Click(Sender: TObject);
var
 test : WideString;
  mpos : integer;
begin

   test := 'あいうえ' + #13#10 + 'かきくけ';

   mpos := Pos(#13#10,test);

   Label1.Caption := IntToStr(mpos);
end;

これなら 5 になります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加