文字に1を足すときの処理

解決


よーじ  2010-01-29 01:48:18  No: 37324

Hoge.text が'10'とします。

このHoge.textに1を足す場合
文字型 := IntToStr(StrtoInt(Hoge.text) + 1);
とするしかありませんか?

Str→Int→Srtが無駄に思えてしまうので。


monaa  2010-01-29 03:18:48  No: 37325

無駄かもしれませんが、
それが労力や汎用性を考えるとかなり良い選択になると思います。
速度を求めるならまだまだ改善の余地は有りますが、
汎用性や労力に見合ったものをこれ以上だすのは至難の業だと思います。


Quest  2010-01-29 03:32:41  No: 37326

無理やりやるとするなら
HogeNum: integer;
HogeNum := 10;
HogeNum := HogeNum + 1;
Hoge.Text ;= IntToStr(HogeNum);
のように、数値保存用の変数を用意して計算はそれに対して行い
表示の時にInt→Srtを行うとか。
ただこれも、HogeNumというある意味無駄な変数を使い
その管理をしなければならないので50歩100歩ですけど。
monaaさんの言うとおり、これ以外の状況や仕様などさまざまな要因により
効率の良い方法はいろいろ変わってくるでしょう。


よーじ  2010-01-29 18:06:51  No: 37327

了解しました。

その時々によって良い方法を使用していきたいと思います。

ありがとうございます。


数値専用Edit  2010-01-30 17:32:34  No: 37328

こんなのもあるけど...

http://rakasaka.fc2web.com/delphi/nedit.html

もう解決済なので不要かな?


スパムちゃん  2010-01-30 23:25:30  No: 37329

文字と文字を引数にして、文字を帰す、関数を作るってのは?

Memo1.Lines.Add( MojiCala(Hoge.text,'1') );

ってかんじに。

まぁ、作った関数内で、文字を数値に変換して、足して、戻り値にしているだけですが。


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

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






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