初歩的

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
ゲスト

#31 投稿記事 by ゲスト »

> 前に書いてもらったコード
省略
> を、どこに入れればいいですか?

ここまで読んで思ったこと、
ここはコードを書いてもらうところではありません。
わからないにしても、ヒントをもらったり、
自分のコードの修正点を指摘してもらう程度にするべきでは?

>上書きのコードを前にも書いてもらいましたが、
>完全なコードがほしいのですが。
>書いていただけますか?
>書いていただいたら、こちらで作っているヘルプファイルに名前を
>入れさせていただきたいと思っています。
>もちろん、今までにコードを書いていただいた方全員です。
>よろしくお願いします。
なんてのは論外です。他力本願過ぎます。
もう少し調べる努力をしましょう。

ここは丁寧に教えてくれる人が多いので、最近この手の質問が
多い気がします。
作ってもらうより、自分で苦労して作ったほうが楽しいですよ。

以上、回答ではない書き込みで申し訳ない。
気になってしょうがなかったもので、、、
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#32 投稿記事 by 7 »

> なぜでしょうか?
file_OverWrite()関数呼び過ぎです(笑
ファイルを開いたり保存したり、新規作成する時にはグローバル変数file_pathにファイルパスを格納したり初期化したりするだけでいいんです。

あと新規作成の動作ですが、今度はエディットボックスの内容が初期化されません。
グローバル領域にhEditを宣言しておいて、メインウィンドウが作られた時にエディットボックスのハンドルをグローバル変数hEditに格納しておけば以降、ローカル変数(?)hEditを宣言してエディットボックスのハンドルを格納する手間が省けます。
  • 1.グローバル領域にHWND型変数hEditを宣言
    2.ウィンドウがクリエーションされた時にグローバル変数hEditにエディットボックスのハンドルを格納
    3.以降グローバル変数hEditを使ってエディットボックスを扱う
意味分かりますか...?

よくコードを見てないのですが、たぶん他にも穴が有ると思います。
ゲストさんが「自分で苦労して作ったほうが楽しい」と書いてますが、他にも自分で苦労して作らないと覚えられない、改良できないという点もあります。
自分で穴を探してみてください。
雷電

#33 投稿記事 by 雷電 »

それでは、file_OverWrite()は、どこに記入をしたらいいんですか?_(._.)_
それさえ教えてもらったらいいのですが。後はできると思います。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#34 投稿記事 by 7 »

> それでは、file_OverWrite()は、どこに記入をしたらいいんですか?_(._.)_
ふふ。
例えばですね、コマンドボタン1を押した時に上書きしたい場合。

コード: 全て選択

Sub MainWnd_CommandButton1_Click()
	file_OverWrite()
End Sub
これだけです。オーケーですか?
雷電

#35 投稿記事 by 雷電 »

わかりました。ありがとうございます。
しかし、新規作成のところでも使うといってましたよね?
新規作成のところでは、どうやればいいんですか?
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#36 投稿記事 by 7 »

> しかし、新規作成のところでも使うといってましたよね?
すみません。書き間違えていたかもしれません。
新規作成する時にはグローバル変数file_pathを初期化するだけで構いません。
※エディットボックスの内容も初期化しますが

コード: 全て選択

file_path=""
雷電

#37 投稿記事 by 雷電 »

わかりました。
後はできると思いますが、また何かあったら、書込みしますので、
そのときも、よろしくお願いします。
ありがとうございました。
雷電

#38 投稿記事 by 雷電 »

・・・・。
何度もすいません。
またおかしくなってしまいました。
もう一度コードを見せますので修正点を教えてください。 これで、あってると思うのですが。なぜか、新規作成を押してもエディット内の内容が消えないし、上書きもできません。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#39 投稿記事 by 7 »

> これで、あってると思うのですが。なぜか、新規作成を押してもエディット内の内容が消えないし、上書きもできません。
投稿した記事を読んでくれてますか...?
新規作成の動作についてはちょっと前に言及したと思うんですが...ウジウジしちゃいますよ。
どうしてもHWND型グローバル変数hEditを作りたくないのなら下のようになります。

コード: 全て選択

Sub MainWnd_IDM_NEW_MenuClick()
	'hEditとファイルパスの初期化
	file_path=""
	SetDlgItemText(hMainWnd,EditBox1,"")
End Sub
SetDlgItemText()関数は大きなプログラムを作る場合には向いていません。
コードの可読性は低くなるかどうだか分かりませんが、あとからコードを書き換える場合、非常に面倒なことになります。

上書きについても前に言及したはずです。
ファイルを開く時と保存する時グローバル変数file_pathファイルパス格納する必要があります。
ゲスト

#40 投稿記事 by ゲスト »

理解しようとする気がまるで感じられないのですが、実際のところどうなのでしょうか。
「動けば良い。仕組みは知らん。誰かかんばって。」そう言っているように聞こえます。
前のゲストさんの投稿にもスルーのようですし。

抽象的な物言いでスイマセンが、
中身まで知る必要は無いにしても使い方ぐらいはしっかり理解してから扱うようにしましょうよ。
でないと火傷しますし、もしくは他人を火傷させてしまいます。
それで良いというなら、何も言いませんが。


>7様
もしこの書き込みで不快に思われたらスイマセン。
(私の価値観の押し付けのような気がしないでもないので・・・。)
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#41 投稿記事 by 7 »

> >7様
> もしこの書き込みで不快に思われたらスイマセン。
こういうことに返事を書いていいのか微妙ですが、不快には思いません。

理解しようとするのは簡単ですが、実際に理解するのは難しいことで、理解不能なこともあると思います。

無視してもらって構わないんですが、雷電さんは急ぎでプログラムを作ってますか?
急ぎじゃないならもっと簡単なプログラムをコツコツ作って基本的なことを身につけたらどうでしょう。
ActiveBasicで初めて試みたコードはSetWindowText(hMainWnd,"aiueo")だったと思うんですが、感動しました(笑
HSPからやって来た自分にとってシステム変数statが無いことが一番最初の難関だったなんて恥ずかしくて書けません。
雷電

#42 投稿記事 by 雷電 »

7様のいってるとおり、急いでいます。
ABを始めたばかりの私には、難しすぎました。
もう少し、こちらも詳しく言っておけばよかったなと反省しております・・・。
しかし、ここで諦めるわけには行きません。こんなところまできているのだから、と思いながら、今も、プログラミングしています。
何か意見があるなら、いくらでもどうぞ。<(_ _)>

by RAIDEN
雷電

#43 投稿記事 by 雷電 »

追記します。
意味をわかろうとしていないわけではありません。
ただ、まだはじめたばかりなので、少し難しいだけです。
言語についても、あまり理解してませんし・・・・。
ゲスト

#44 投稿記事 by ゲスト »

上記のゲスト(18:03)を書き込んだ者です。

>7様
>理解しようとするのは簡単ですが、実際に理解するのは難しいことで、
>理解不能なこともあると思います。
そうですね。
私の考えが足りませんでした。


>雷電様
短慮で失礼なことを言ってしまい、大変申し訳ありません。
何事も知ってしまえば簡単ですが、知らないときは恐ろしく難しい
ということを忘れてしまっていました。
不快感を与えてしまったこと、お詫び申し上げます。





言い訳になりますが、
7様のされていること(他人のコード理解とそのデバック)は、
非常に手間のかかる面倒なこと、と私には映っています。
やり取りを見ていてその旨を言いたい気持ちを押さえられませんでした。
外野の私が口を出すことではなかったかもしれません。
失礼いたしました。
雷電

#45 投稿記事 by 雷電 »

file_pathについて、最後にたずねます。
file_pathは、どこに入力すればいいですか?
グローバルのところに記入したあと、どこに記入をすればいいですか?
お願いします。教えてください。
返信する