「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@217) [低] [アイデア]
@217■ (#588) ひまわりと互換性を保ってほしい - 月之ユエ (2009-03-29 19:22) /低 アイデア
以前からひまわりからなでしこに移ろうと思っているのですが
敷居が高く、なかなか馴染めません。

すでに制作したプログラムをなでしこに移植してみようと思ったのですが
・命令の説明が形式的(?)でわかりづらい
・DLLの宣言が難しすぎる
・条件分岐中に変数を弄ることができない→ラベルを作って回避する→容量が無駄に増える

などの理由で断念しました。
特に3番目は「条件によって部品の有効/無効を切り替える」などの処理があるプログラムでは
かなり容量が増えてしまいます。
勉強すれば他の解決策もありそうですが
やっぱり敷居が高くなってしまっていると思います。
反復などの命令で
()ではなくインデント(?)で()を代用するというのは
かなり馴染み辛く、個人的な意見ですが、プログラムが見にくくなってしまいます。

どれも「勉強しろ」と言われてしまえばそれまでですが
なにかひまわり→なでしこへの乗り換えの起爆剤になるものがほしいと思います。

勝手な意見ですが、汲み取っていただければ幸いです。

(#589) 移行を楽にする必要はありますよね! - canot (2009-03-30 00:11) /低 アイデア
確かに命令の説明はどこかに表記法の説明を含めてほしいですね
DLLの宣言はひまわりに比べるとちょっと略式になっただけで
それほど難易度に差がないように思えます

あ、条件分岐中に変数はまさぐれますよ
多分別の部分で引っかかってるんじゃないでしょうか

よくひまわりユーザーさんは記法が似てるので
ラベルとユーザー関数の違いを理解せずに書いておられるようです(僕もそうでした!)
なでしこにおける「●」や「*」はひまわりとちょっと違うので注意が必要です!

確かにこんな感じで、ひまわりからの橋渡し用のリファレンスはあったほうがいいかもしれませんね!
僕はちょっとしたリファレンスかいてみます。
でも、これにとどまらず、もっとなでしこにユーザーさんを引き込みたいところですね!

(#590) ラベルとユーザー関数の違い - パソコン大好き (2009-03-30 14:23) /低 アイデア
えっ、ラベルとユーザー関数って違うんですか!
僕も知りませんでした。知っているつもりだったのに・・・
改めて勉強しないといけませんね。

橋渡し用のリファレンス、ぜひほしいです!
へたに似ていると、細かい違いで行き詰ることがありますし。
でも現時点でひまわり人口はどのくらいなんでしょうね。

(#610) Re:移行を楽にする必要はありますよね! - 月之ユエ (2009-04-08 12:42) /低 アイデア
>>589
ラベルはわかりますが、ユーザー関数がよく分かりません・・・

DLLはもともとよく理解できていなのもありますが
ひまわりに比べるとかなりやりづらくなってます・・・

あとひまわりでは伝家の宝刀(?)であった「マニュアル検索」も
なでしこにはなく、Wikiにいけばありますが
検索するまでに手間がかかり、やる気を削ぐ理由の一つになってます。

(#616) RE:Re:移行を楽にする必要はありますよね! - canot (2009-04-09 22:46) /低 アイデア
>ユーザー関数
関数は独立してるんです。
その中で変数やグループを宣言すると、関数を抜けたときにその中身はなかったことになります。
また、関数は関数内の処理が終わったときに呼び出しもとの行へ制御が戻ります。
C言語とか齧ってるととっつきやすいかもしれません。(ポインタとかのちょっと前あたりまでの知識でOKです!)

関数は呼び出しもとに入れ子になったような動きをします。
なので、関数が自分自身を呼んでいる関数を呼んでしまうと
永遠と入れ子が発生してメモリを消費しちゃいます。
なので、ラベルのように自分自身を呼んでループにするとかそういう使い方は避けたほうがいいです。
ループはちゃんと「繰り返し」とか「間」とか使って作ってあげてください

文章まとめるの遅くてごめんなさい。
もっと解説のうまい人、ユーザーズWikiで書いてますのでヘルプミーです。

>DLL
世の中にたくさん転がってるC言語用の記述をそのまま持ってこれるので、
作業効率は上がってますが、日本語的ではなくなっているかもしれませんね。

●SetWindowClass(h,i,nl) =DLL("user32.dll", "LONG SetClassLongA(HWND hWnd,int nIndex,LONG dwNewLong)")

のようにDLL({DLL名},{DLL定義})でDLLを取り込むと、その返り値をユーザー関数として扱えます
確かになんだか特殊な表記です。

>マニュアル検索
エディタのメニュー、ツールの中に「マニュアル探査艦」って項目があります。
これがひまわりのマニュアル検索に該当する機能なんですが
ちょっと今バグでウィンドウのリサイズがうまく行きません。
多分次バージョンではちゃんと動くと思いますので試してみてください。

(#588)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能