テキストボックス(エディットテキスト)に文字列を追加する方法
15 ビュー (過去 30 日間)
古いコメントを表示
GUIDE でテキストボックスを含む GUI を作成しています。
テキストボックスは、処理内容を1行ずつ出力するというものです(動作ログを出力する)。
テキストボックスに文字列を追加するには、どのようにすればよいのでしょうか?
※プロパティのMaxを2.0にして、複数行対応はできております。
テキストボックスのハンドルのStringに
"「元のString」と「追加したい文字列」を結合した文字列"
をセットする、という考えでいるのですが、
hLog.String = strcat(hLog.String, newline, putData);
だと、改行ができませんでした。
0 件のコメント
採用された回答
Kazuya
2019 年 7 月 20 日
セル配列で複数表示できます。例:
hLog.String = {'One','Two','Three'};
ので、セルを追加で結合するイメージで行けると考えましたが、いかがでしょう?
4 件のコメント
Kazuya
2019 年 7 月 22 日
function putLog(hLog, putData)
% hLog:テキストボックスのハンドル
% putData:出力内容
str = [hLog.String; {putData}];
hLog.String = str;
と , (コンマ)を ; (セミコロン)に変えて縦方向に連結するようにしてみて試していただけますか?
あとすいません、
hLog.String = {};
hLog.String = [tt.String, {'one'}];
hLog.String = [tt.String, {'two'}];
は
hLog.String = {};
hLog.String = [hLog.String, {'one'}];
hLog.String = [hLog.String, {'two'}];
の意味で書きました。
その他の回答 (1 件)
koji fukumoto
2019 年 7 月 22 日
2 件のコメント
Kazuya
2019 年 7 月 22 日
予め hLog.String = cell(1000,1) をしたとしても、その後 hLog.String = str と上書きしてしまうと、hLog.String = cell(1000,1) を実行する意味が無くなります。
hLog.String = cell(1000,1) とセル配列を確保するのであればログを追加する際には
hLog.String(1) = log1 % log1 はセル配列
hLog.String(2) = log2 % log2 はセル配列
hLog.String(3) = log3 % log3 はセル配列
.
.
と事前確保したセル内に順次収めていく必要があります。何番目のログかを認識する必要がある点は手間ですね。
参考
カテゴリ
Help Center および File Exchange で HTTP インターフェイス についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!