テキストボックス(エディットテキスト)に文字列を追加する方法
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
koji fukumoto
am 17 Jul. 2019
Kommentiert: koji fukumoto
am 22 Jul. 2019
GUIDE でテキストボックスを含む GUI を作成しています。
テキストボックスは、処理内容を1行ずつ出力するというものです(動作ログを出力する)。
テキストボックスに文字列を追加するには、どのようにすればよいのでしょうか?
※プロパティのMaxを2.0にして、複数行対応はできております。
テキストボックスのハンドルのStringに
"「元のString」と「追加したい文字列」を結合した文字列"
をセットする、という考えでいるのですが、
hLog.String = strcat(hLog.String, newline, putData);
だと、改行ができませんでした。
0 Kommentare
Akzeptierte Antwort
Kazuya
am 20 Jul. 2019
セル配列で複数表示できます。例:
hLog.String = {'One','Two','Three'};
ので、セルを追加で結合するイメージで行けると考えましたが、いかがでしょう?
4 Kommentare
Kazuya
am 22 Jul. 2019
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'}];
の意味で書きました。
Weitere Antworten (1)
koji fukumoto
am 22 Jul. 2019
2 Kommentare
Kazuya
am 22 Jul. 2019
予め 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 はセル配列
.
.
と事前確保したセル内に順次収めていく必要があります。何番目のログかを認識する必要がある点は手間ですね。
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!