HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1107
ツオノ文字列のポインタを取得する方法。10解決


ツオノ

リンク

2012/11/7(Wed) 16:14:31|NO.50529

arr =0,0,0,stptr("対象文字列")

の様にすると const char のポインタをそのまま代入することが出来るような機能がほしい。

TBBUTTON 構造体配列を tb_addbuttons メッセージ で送るような時等、切にそう思います。



この記事に返信する


KA

リンク

2012/11/7(Wed) 19:02:14|NO.50530

自力でAPIを関数なり命令で登録して下さい。

そういう要望をいちいち反映していると、HSPのメリットがなくなります。



inovia

リンク

2012/11/7(Wed) 19:03:30|NO.50531

よくわかりませんが、こういうことをやりたいのかな?


#module _stptr_ #define global unique_var_make %tunique_var __var_%n #define global ctype stptr(%1) _stptr(%1, unique_var_make) #defcfunc _stptr str _s, var _v _v = _s return varptr(_v) #global arr = 0, 0, 0, stptr("対象文字列") // 確認用 ptr = stptr("確認用文字列") dupptr string, ptr, 64, 2 mes string



ツオノ

リンク

2012/11/7(Wed) 20:06:05|NO.50532

>> inoviaさん
まさにそれが目的でした。
解決しました有難うございます。



初心者002

リンク

2012/11/7(Wed) 21:17:30|NO.50535

>そういう要望をいちいち反映していると、HSPのメリットがなくなります。
あのー要望を反映することでなくなるHSPのメリットって何ですか?



f(現場中)

リンク

2012/11/7(Wed) 23:42:34|NO.50536

>あのー要望を反映することでなくなるHSPのメリットって何ですか?

実はほんの少し基本の命令を組み合わせるだけで出来る程度の事を
「専用」の命令として増やし続ける事になれば

たとえなので適当だが

・addone : 変数に1を加える命令
・addint :変数に整数値を加える命令
・adddouble : 変数に整数に変換したdouble型の変数値を加える命令
・addstr : 変数に整数に変換した数字を保持した文字列の値を加える命令
・addfile : 変数に指定ファイルに書かれている数字文字列の値を加える命令
・addkeyin : ダイアログを開き、数値入力を促し、変数に入力された値を加える命令
(以下、引き算掛け算割り算と続く)


こんな調子でクソ命令が増えた挙句に
マニュアルが今の3倍位の量になったらお前読むか?
実行ファイルが今の3倍位の大きさになったら嬉しいか?
動作速度が今より3倍位(謎)遅くなって嬉しいか?
って話。


HSPは手軽がメリット。



check

リンク

2012/11/8(Thu) 00:20:52|NO.50537

(人のこと言えないけれど)KA氏の突き放したような言い方は若干鼻につくけれどな。
要はstptr(str)としたら文字列のアドレスが返ってくるようなものが欲しいと言っているのだから、
そのプログラムを組んでサンプルとして提示したらどうだ。



@key

リンク

2012/11/8(Thu) 00:49:33|NO.50538

まあ質問が「〜のような機能が欲しい」と書いてたから荒れるわけで
質問する時は「〜のようなモジュールを教えてくれませんか?」と
質問するようにしてもらいたいね



ツオノ

リンク

2012/11/8(Thu) 03:11:12|NO.50539

指摘有難うございます。
少し愚痴ったつもりでしたが、荒れたようで反省いたしました。


それを承知で言わせていただきます(・_・)

自分はC 言語を少しかじったので解るのですが。

c 言語では

printf("%s","test");

の様にした際に"ダブルクオーテーションに囲まれた文字列"そのものはポインタとして扱われるのです。
つまり、一度変数に代入すること自体が無駄のように見えたので、一応要望として書かせていただきました。

 実行ファイル内に存在する文字列のポインタから一度変数に一文字づつコピー
 更に、代入された変数のポインタを再び、varptrで取得して、情報変換する。

 これでは二度手間どころか三度手間ではないでしょうか。

 TBBUTTON 構造体配列でしようするとなると その手間は二重三重に(ry


例えば、使わせていただいている側なので何ですが、下のようにhsp側でコーディングすれば、この問題は解決するのではないでしょうか。

v = 0,0,%ptr["test"]

これをコンパイルすると
プリプロセッサ段階で

v = 0,0,[リソース化された文字列のポインタまたはそれの計算式]

の様に置換してくれたら、実行ファイル内に登録されて、実行ファイルサイズを圧迫するような命令を増やす必要も無くなる様な気がしますし。
三手間をかける必要も無くなるのではないでしょうか。という事です。

お聞き汚し申し訳ありませんでした。m(__)m



KA

リンク

2012/11/8(Thu) 09:03:32|NO.50540

まあ確かに言い方は悪かったと反省しますが、HSPのスタンスは
「プログラム初心者→HSP→C等」だと、個人的に解釈しています。

それを

「C等→HSP」で、”Cより煩雑だから”と言う理由で命令なり関数
を増やしていくと、「これなら最初からCの方がいいや」となってしま
います。

マクロやAPI呼び出しで解決出来る物を、むやみに増やしたくないと
いう思いからの発言でした。(現状でもマクロが多いですが・・・。)



imo

リンク

2012/11/9(Fri) 22:34:18|NO.50550

CからHSPに来る奇特なやつがいるとは思えないけどな。

まあ、ダイアログベースのアプリ開発にはHSPは有効だけど。



ONION software Copyright 1997-2018(c) All rights reserved.