したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

1F橋:2003/12/19(金) 20:48
20レス以内程度(20回程度の投稿)で終わりそうなF-BASICの質問はこちらでお願いします
短い質問のスレッドがいくつも立つより1つのスレッドで固まっていた方が長期に渡り見ることができ
かつ保存も簡単かと…

(いや…私だけでなく…皆さんも簡単のはずなんですが…(汗(笑)))

掲示板の内容の長期保存にご協力頂ける様よろしくお願いします

291F-BASIC愛好者:2005/09/15(木) 23:17:13
DOSD様
ご返信下さいましてありがとうございます。
先日は大変お世話になりました。
自分はまだ初心者ですので検索情報を参考にしながら
覚えています。Timer1.Interval の定数を 1000から
10にしましたら今の所落ち着いています。
ご指導下さいました
TIME$="10:05:10"をTIME$>="10:05:10" にする方法は
気が付きませんでした。"="を">="にすることで一度のチャンスを
広げる事ができますのでより安定できますので活用させてもらいます。
タイマの間隔時間(5分)をシステム時計に加算しながらループしています。
間隔が厳密に時間どおりに保証されていませんとのことで少し安心しました。
大変貴重な情報を提供下さいまして心より厚くお礼を申し上げます。

292F-BASIC愛好者:2005/09/15(木) 23:57:09
DOSD様
重ねてお礼を申し上げます。
時間で"23:59:59"から"00:00:00"に切り変わりますと
一致できなくなり調べていました。提供下さいました
"="を">="に入れ替えますと一致するようになりました。
お陰様でより安定したものができました。
ご指導がなければ簡単にはいかなかったと思っています。
本当にありがとうございました。今後とも宜しくお願い致します。

293DOSD:2005/09/16(金) 00:29:35
お役に立った様で嬉しいです

>時間で"23:59:59"から"00:00:00"に切り変わりますと
日付が変わると少し面倒ですよね…
確かWindowsが起動してからの時間を簡単に取得する方法があったはずです
(Windowsが起動して何秒経過しているかを得る関数?方法?があったはず)
それを使えば日付を気にせずに出来るので(日付をまたぐのなら)お勧めします

話し変わりますがWindows95系が連続で動くのは確か40日と少ししか動かなかった気が…
もしずっと動かしっぱなしの用途で使われるのならばNT系上で動かすのをお勧めします
(毎日…もしくは数日に一度電源入れ直すのならWindows95系でも問題無いかと…)

>今後とも宜しくお願い致します。
イベント処理はF-BASIC愛好者さんのが私よりスキル高いかと思います
イベント処理で私が悩んでいる時は是非ご指導お願いします

294F-BASIC愛好者:2005/09/16(金) 00:55:40
DOSDさん
わざわざ、ご返信くださいましてありがとうございました。
全般的には詳しくありませんが、もし私が分かり
ましたら、是非、返信したいと思っています。
こちらこそ宜しくお願いいたします。

295F-BASIC愛好者:2005/09/17(土) 19:17:00
お世話になります。
基本的な事が理解できていませんので
何度もVBの質問をして申し訳ありません。
宜しくお願い致します。
--------------------------
Private Sub Timer1_Timer()
Labe1 = GetActiveWindow
 Exit Sub
---------------------------
アクティブを別のフォームに移しますとLabe1が
0表示になります。自分自身のフォームにアクティブを移しますと
ハンドルが取得できます。別のフォームではなぜLabe1が0表示になるのか
分かりません。ご存知の方がおりましたら教えて頂けませんでしょうか。

296F-BASIC愛好者:2005/09/17(土) 20:13:26
お陰様で希望の関数を探すことで解決する事ができましたきました。
現在アクティブになっているウィンドウハンドルの取得
--------------------------
Private Sub Timer1_Timer()
Labe1 = GetForegroundWindow
 Exit Sub
---------------------------
初心者質問で本当に申し訳ありませんでした。

297Hauz_vapor:2005/10/26(水) 00:24:40
はじめまして。
当方、高校のPC部部員でして、
過去の先輩達のF-BASIC作品のソースプログラムを見つけたので、
それを何とか動作させたいと考えております。

しかし、F-BASIC自体が既に無い状態なので、
プログラムソースを別のBASICに移植することにしたのですが、
カラーコードが分からず再現に困っています。

0から15までの指定色を、RGB値で教えてもらえませんか?
無理でしたら色名だけでも…

それともう一つ訊きたい事を。
color@(a1,b1)-(a2,b2),c
という命令の意味は何なのでしょうか?

またここでちょくちょくお尋ねすることになるかもしれませんが、
是非ともよろしくお願いします。

298nisii:2005/10/26(水) 17:57:18
>>297

以下は、F-BASIC V6.3ヘルプの抜粋です。

-----------------------------------------
カラーコード(テキストカラー)
-----------------------------------------
0黒
1青
2赤
3紫
4緑
5水色
6黄色
7白
8黒(反転)
9青(反転)
10赤(反転)
11紫(反転)
12緑(反転)
13水色(反転)
14黄色(反転)
15白(反転)


-----------------------------------------
パレットコード(グラフィック画面の描画色や背景色)
-----------------------------------------
0黒
1灰色
2青(低)
3青(高)
4赤(低)
5赤(高)
6紫(低)
7紫(高)
8緑(低)
9緑(高)
10水色(低)
11水色(高)
12黄色(低)
13黄色(高)
14白(低)
15白(高)


-----------------------------------------
COLOR@
-----------------------------------------
指定された座標の2点を結んだ線を対角線とする四角形中に表示されている文字の色や機能を設定します。

形式

COLOR@ (x1, y1)-(x2, y2)[, [表示色] [, アトリビュート] ]

引数
・<(x1, y1)-(x2, y2)>

操作対象となる領域の四角形の対角線の始点と終点を、キャラクタ座標で指定します。
(x1, y1)が始点、(x2, y2)が終点となります。

・<表示色>

表示されている文字に設定する色をカラーコードで指定します。

省略された場合は、直前に実行されたCOLOR命令で指定されたテキストカラーが適用されます。

・<アトリビュート>

表示されている文字に設定する機能を指定します。
省略された場合は、直前に実行されたCOLOR命令で指定されたアトリビュートが適用されます。

コード意味

0低輝度で表示します。
1低輝度で反転表示します。
4通常輝度で表示します。
5通常輝度で反転表示します。

補足

・<表示色> に0を指定した場合、輝度によって表示される色は次のようになります。

通常輝度‥‥黒
低輝度‥‥‥灰色

・COLOR@命令は、すでに表示されている文字などに対して有効です。指定した四角形の中に新たに文字を表示しても、この命令の影響は受けません。

299Hauz_vapor:2005/10/26(水) 20:56:07
nisii様、迅速なレスをありがとうございます。
反転表示というのがよく分からないのですが、
これは背景色が文字色で表示され、文字色が背景色になる、
テキスト選択時のような色になる指定色と考えてよろしいですか?

また、F-BASICでは標準の背景は黒地なのでしょうか?

300puff_puff:2005/10/27(木) 23:05:27
Hauz_vapor さん、初めまして。

F−basicの標準は、黒なのかもしれませんが、
メニューのファイルー新規作成で、リソース(rc)を選ぶと、
とりあえず1枚目のウインドウが作成されます。
それは、白背景になりますが、そのウインドウを右クリックして
プロパティを選択し、「表示内容」の部分のカラーを選択すると、
バックグラウンドカラーが選択できます。
そこで白のところをクリックすれば、好きな色が
(といっても少ししかないですけど)選べますよ。
なお、リソースファイルを作らずにプログラムを組むと、
黒のバックのウインドウにテキストなどが表示されます。

それから、反転表示というのは、お察しの通りだとおもいます。

301Hauz_vapor:2005/10/28(金) 07:06:35
>リソースファイルを作らずにプログラムを組むと、
>黒のバックのウインドウにテキストなどが表示されます。
なるほど、リソース作成の有無ですか…
プロンプト画面は黒背景で、リソースウィンドウは白画面(標準)、
ということですね。

puff_puff様、ご回答ありがとうございました。

302シマヅ:2005/10/28(金) 22:55:04
■exeファイルを「スタート」ボタンにドロップしてショートカットを置き、スタートボタンからそのショートカットで起動するとエラー発生してしまいます、改善方法がありましたら教えて頂きたくお願いします。

「むだい」さんのホームページにある「カレントフォルダの取得(API)」を利用させて頂き下記のようなプログラムにしましたが、標記のようなエラーを発生してしまいます。
◆エラー発生してしまうプログラム(メイン部分のみ)
-------------------------------------------------
DT$=PATHNAME+"\ABC.dat"【←「PATHNAME」は「むだい」さんのサンプルのまま利用させて頂いています】
open DT$ for input as #1
   input #1,XTZ$
 close #1
-------------------------------------------------
◆実行時エラー発生表示内容→「○○.bas エラー[63]指定のファイルが見つかりません」

OSはWindowsXP Home edition です。(他のOSは未確認です)
コンパイルした「exe」ファイルを直接起動した場合やディスクトップにショートカットを置いて、更にそのショートカットを「スタートボタン」にドロップして、ショートカットを作った場合はエラー発生しません。
もし、既に同じトラブルの解決方法が記載されているホームページなどありましたら、教えて頂ければ幸いです。
よろしくお願い致します。

303TOKO:2005/10/29(土) 20:36:59
>>exeファイルを「スタート」ボタンにドロップしてショートカットを置き
WindowsXPにおいて、この方法はファイルの複写でありショートカットは作成されないよ
うです。

「カレントディレクトリと自exeフォルダは必ずしも同じではない」ようですので
DT$ = PATHNAME & "\ABC.dat"の後にprint DT$の1行を追加して検証してみました。

WindowsXPにおいて、
1)exeファイルを直接「スタートメニュー」へドラッグ&ドロップした場合、
DT$ → C:\Documents and Settings\hoge\ABC.dat
故に「○○.bas エラー[63]指定のファイルが見つかりません」が表示されるのでしょう。

2)「ショートカットの作成」でできた○○.exeへのショートカット.lnkを「スタートメ
ニュー」へドラッグ&ドロップした場合は、
DT$ → C:\TEST\ABC.dat

Windows2000およびWindows98においては、上記1)、2)共に
DT$ → C:\TEST\ABC.dat

WindowsXP、Windows2000において、デスクトップにTEST.EXEをへドラッグ&ドロップした場合、
 DT$ → C:\Documents and Settings\hoge\デスクトップ\ABC.dat
故に「○○.bas エラー[63]指定のファイルが見つかりません」が表示されます。

Windows98においては、
 どちらの方法をとっても、ショートカットが作成されるのでエラーはでない

GetCurrentDirectoriの代わりにCRDIR$("")を使っても全く同じ結果です。

304TOKO:2005/10/29(土) 20:40:40
訂正(^^;
GetCurrentDirectori → GetCurrentDirectory

305シマヅ:2005/10/29(土) 22:08:08
■TOKO 様
 早速の回答を頂き有難う御座います。
>>WindowsXP、Windows2000において、デスクトップにTEST.EXEをへドラッグ&ドロップした場合、DT$ → C:\Documents and Settings\hoge\デスクトップ\ABC.dat

 了解しました。う〜ん、そうですか。すると今回の事例を解決するには、WindowsXP用を考慮したプログラミングをしないといけないようですね。大変参考になりました。どうも有難う御座いました。今後ともよろしくお願い致します。

306nisii:2005/10/31(月) 12:06:55
>>305

' ロードされている実行モジュールのフルパス名を得る
http://www.geocities.co.jp/SiliconValley-Sunnyvale/8635/api17.txt

を参照してください。
呼び出され方や環境にかかわらず、自分のフルパス名が得られます。

307シマヅ:2005/10/31(月) 22:37:42
■nisii 様
 解決しました。
 教えて頂いたプログラムのうち不要そうな部分(ウインドウを列挙するなど)を除いて、自作のプログラムに追加して動作させたところ、エラー発生もなく正常に動作致しました。
nisii様、および皆様、どうもお世話になりしました。厚くお礼申し上げます、どうも有難う御座いました。今後とも宜しくお願い致します。

308F橋:2005/11/07(月) 22:54:45
今更のレスですいません

>>295-296
F-BASIC愛好者さん>
自己解決されたみたいで。お疲れさまでした

>>297
Hauz_vaporさん>
初めまして。一応管理人のF橋です
(ご質問の件は既にnisiiさんの方から回答されているみたいなので省略します)
F-BASICから別の言語への移行なんですよね?
どんな言語へ移行なんでしょう?
他の方も同じ事があるかも知れませんのでどの言語へ移行中なのかも
こっそりご紹介頂けると助かります

>>298
nisiiさん>
ありがとうございます!

>>300
puff_puffさん>
ご回答ありがとうございます

>>303
TOKOさん>
ご回答ありがとうございます

>>306
nisiiさん>
いつもありがとうございます

>>307
シマヅさん>
解決された様で。お疲れさまっす

309F-BASIC愛好者:2005/11/08(火) 07:24:24
F橋さん
ご無沙汰しております。
レスして下さいましてありがとうございました。
お陰様で>>295>>296(GetForegroundWindow)でなんとか自己解決できました。
日頃から大変お世話になり、お礼を申し上げます。
今後とも宜しくお願い致します。

310ゆぃ:2005/11/18(金) 20:42:13
はじめまして。仕事でF-BASICを使用しなければならなくなり、
ソースを見てるのですが全く分かりません。
ソースの意味を教えて欲しいのですが…

・ソースで
 01 open "aaa.ctr" for rndio as #1 len=256
 02 field #1,10 as AAA$
 03 field #1,8 as BBB$
 04 get #1,1
 とあった場合、

 01行目の rndio って言うのはランダムファイルって事ですか? len=256 は固定長が256って事でいいんですか?
 02行目の AAA$ の $ って意味は何なのですか? $がある場合とない場合の違いは何ですか?
 04行目の get #1 の意味は分かるのですが、レコード番号が 1 って言う意味がよくわかりません。
 これは02・03行目をまとめたデータがレコード番号1で登録されていて04行目で呼び出そうとしているのですか?

まだまだ分からないことが沢山ありますが、なにぶん今日から始めたばかりで…NETで調べてもあまり分かりませんでした。

こんな私ですが、よろしければご教授の方をお願いできないでしょうか。

311ゆぃ:2005/11/19(土) 08:43:42
>310 の質問は解決できそうです。
教えてくれた方・教えようと思った方
ありがとうございます。

312ゆぃ:2005/11/19(土) 13:22:10
http://jbbs.livedoor.jp/computer/7997/
に書いた方がレスが早いので。と教えてもらったのですが、
書き込む事ができなかったので、ここにて質問させて下さい。
まだまだ初心者で分からないのでお聞きしたいのですが、

ステップ毎にトレースログを書き出す記述と、
取得している値を書き出す記述がわかりません。

どんな方法があるのですか?
インターネットでF-Basicで調べてもなかなか出てこず、分からないので
どなたかご教授していただけないでしょうか。

お願いします。

313nisii:2005/11/19(土) 21:58:25
はじめまして、ゆぃさん。

トレースのお勧めは、ツールバーのトレースとウォッチボタン。
ブレークポイントはメニューから設定します。

DOS窓で実行するなら、TRON/TROFFも使えますよ。

なお、イベント処理などWindowsスタイルでプログラムすると、
どちらも使えなくなったかな?

F-BASICはネットでも情報が少ないので、付属のヘルプを見るのが一番です。
あと、N88-BASIC(86)の資料も共通部分が多くて便利。


ログの取り方ですが、自力でファイルに書き出す方が現実的でしょうか?

もし、デバッグのためにログが必要と思われているのでしたら、
独立したサブプロシージャ単位で機能を作るスタイルをお勧めします。
そうすることで、要所の値を確認するだけで、バグを見つけられる

コンパイル型の言語で、トレースを見てデバッグというのは、
決して効率的ではありませんので…。

314ゆぃ:2005/11/21(月) 10:45:07

nisiiさん。レスありがとうございます。
早速、修正・実行してみます。

あと、こう言う風にして欲しいと言われています。
それが、
・各処理ステップ毎にトレースログを書き出す。
 プログラムがどの処理まで進んでいるかの調査が行いやすいように、
 ログを書き出すポイントを考慮する事。
なのですが、私が調べた結果、
 Call ETA.Trace(App.EXEName, "モジュール名.関数名", "S ")
 Call ETA.Trace(App.EXEName, "モジュール名.関数名", "E-01")
関数を使用しないといけないのかなぁと考えてたんです。
それに、あまりソースを変更しなくてもできる。とも言われました。

F-Basicを使用し、まだ2日…全然分かりませんね。

315ゆぃ:2005/11/21(月) 15:24:23
度々すみません。もぅ一つ質問です。

F-BasicのVer6.3なんですが、
何も修正をせずに、コンパイル・実行は可能なんですが、
一度プログラムを(空白でも何でも)修正するだけで
コンパイル(翻訳)ができなくなってしまいます。
エラー内容は、「error LNK2001:外部シンボル "XXX"は未解決です。」
なんですが、コメントや空白をつけただけで外部呼出しに失敗とかしますか?
どうすればコンパイルができる様になるのでしょうか?

度々すみません。ご教授をお願いします。

316nisii:2005/11/21(月) 16:02:30
環境がWindowsXPであれば、SP1またはSP2をあててください。

原因は、WindowsXP初期版のリッチテキストコントロールのバグ。
改行コードが化けるというのがあるんです。

317ゆぃ:2005/11/21(月) 16:54:00
nisiiさん。ありがとうございます。

環境はWindows 2000
   5.00.2195
   Service Pack 4 です。
この場合、どうすればよろしいんでしょうか?

318ゆぃ:2005/11/21(月) 20:47:43
すみません。実行できない原因が分かりました。
メインフォームとサブプログラムを画面に一緒に表示させて、
プロジェクトモジュールに一緒に追加にしないといけないんですね〜
本当初心者的ミスですよね。さすが初めて2日目(オイッ)
本当申し訳なかったです。

そして、ありがとうございます。これでやっと先に進む事ができます。

319nisii:2005/11/21(月) 20:50:52
エラーが起きたファイルをバイナリエディタで見て、0Dh 0Dh 0Ahがあれば、
下記のバグによる改行化けです。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP320368

原因を切り分けたいのであれば、いきなり既存のプログラムで検証するのは無駄です。
翻訳の条件、例えばリソースなどの参照先がすべて存在するかも含めて調べないといけないでしょう。

まず、数行のプログラムを入れて翻訳したらどうなりますか?
そこからはじめましょう。

320nisii:2005/11/21(月) 20:52:45
>>318
おっと解決されていましたね。
ということで >>319 は忘れてください。(笑)

321ゆぃ:2005/11/21(月) 21:39:32
nisiiさん。調べてくださったんですね。
ご迷惑をかけ本当すみません。ありがとうございます。


あと、プログラムの事をお聞きしたいのですが、
>>312 の質問と同じトレース関数なんです。

トレースログをファイルに書き出す事は可能でしょうか?
私の中の考えでは
 1.最初にファイルをOUTPUT OPENして作成。
 2.作成されたファイルにトレースログの出力結果を書き込む
と、言う手順しか頭に浮かばないんですが…
手順は頭に浮かんでも、プログラムの記述が全く分からないです。
調べても、それらしいプログラムはなかなか出てきませんし。

申し訳ありませんが、ご教授の程、よろしくお願いします。

322maruko:2005/11/22(火) 04:47:02
2〜3日前よりコンパイルすると次のエラーが出るようになりました。
┌────────────────────────┐
 │(テンポラリ) : 10.作業ファイルが作成できません │
└────────────────────────┘
お分かりの方、対処方法をお教え願います。
(バージョンは、F-BASIC V6.3 L10 U003です。)
宜しくお願いします。

323maruko:2005/11/22(火) 21:16:11
分かりましたので投稿を引き揚げます。

324nisii:2005/11/24(木) 14:46:45
>>321
下記リストのようなサブプロシージャを作っておけば、
TRACEWRITE "文字列"
だけでログを残せます。


'トレースサンプル
#include "file.bi"
#include "windows.bi"

declare sub TRACEWRITE( ALINE$ )

TRACEWRITE "初期化"
do
TRACEWRITE str$( rnd )
loop
end


'サブプロシージャ
'トレース出力
sub TRACEWRITE( ALINE$ )

var FILENO as long
var MESSAGECODE as long
var TRACEFILE$

TRACEFILE$ = GETWINDOWSDIRECTORY + "\temp\tracesample.txt"
if ALINE$ = "初期化" then kill TRACEFILE$

FILENO = freefile
open TRACEFILE$ for append as #FILENO
print #FILENO , ALINE$
close #FILENO

'値の表示
if MESSAGEBOX( "値の確認" , ALINE$ , 1 , 4 ) <> 0 then
'キャンセルボタンでログ表示・終了
SHELLEXECUTE TRACEFILE$
end
endif
end sub

325ゆぃ:2005/11/26(土) 13:39:57
nisiiさん。度々ありがとうございます。
そして、返事が遅くなり申し訳ないです。

326F橋:2005/12/03(土) 02:32:33
ゆぃさん>
初めましてです。レスが遅く技術も無いのですが一応管理人のF橋です
既にnisiiさんが返答済みの様ですね。これからもnisiiさんに聞いてください(おい(笑

nisiiさん>
という訳で。いつもいつも本当にありがとうございます

marukoさん>
ご回答できずに申し訳ございませんでした
>>322-323の件は解決済みの様ですがもしよろしければどの様に問題が発生し
どの様に解決したかも書いて頂けると他の方に参考になると思います
お時間あればで構いませんのでよろしくお願いします

327ロディマス:2005/12/05(月) 20:00:03
BASIC/98に浮気してみようかと思うのですが、使っている人います?

328DOSD:2005/12/06(火) 01:20:09
BASIC/98はN88BASICに慣れている方ならかなり使いやすいですよ
ただしWindowsの機能が弱い様で色々質問するとF-BASICを勧められるらしいです
(どなたかが「こういう機能は無いか?」といくつか質問するとF-BASICを勧められた事があるらしい)

逆に言うとWindowsの機能(エディットボックスなどやAPIなど)を一切使わず
N88BASICから簡単に移行したいのならばお勧めです

尚。N88BASICからの移行ならフリーソフトの99BASICもちょっとお勧めします
(ファイルが2つしか開けないという大きな欠点があるので業務向けではお勧めしませんが)

329akira:2005/12/06(火) 01:51:59
自分も最近浮気してしまいました。
相手はPurebasicというBASICで、使い始めて2ヶ月ほど
たちましたが、なかなか面白い開発環境だと思います。
(Windows MACOS LINAX AMIGA用の実行ファイルを出力可能)
欠点は日本語の解説がほとんどないことです。
体験版もあるので誰か使ってみませんか?
日本人の仲間が増えるともっと良い環境になると思います。

akira

330DOSD:2005/12/07(水) 01:06:37
浮気候補の一つにさせて頂きます(笑

あれ。もう2つ程浮気予定があった気がする(笑

331ロディマス:2005/12/08(木) 20:41:53
Purebasicは購入にクレジットカードを使わなければならないのが不安ですね。何か別の方法が無いでしょうか?

332akira:2005/12/09(金) 00:16:10
自分はおりゃさんに頼んで買ってもらいました!
http://dbp.cool.ne.jp/fmailpb.html
ここに頼み方が書いてあります。

akira

333ロディマス:2005/12/09(金) 20:01:31
>>332
おお!これはいい方法ですね!早速購入いたします。

334DOSD:2005/12/10(土) 01:00:28
PureBASICを使っている方。感想頂けると助かります
以前のBASICの様に使えるのかVBの様なイベント処理なのか
Windowsの機能が使えるか(apiやdllが呼び出せるか)等ご指導頂けると助かります

335akira:2005/12/11(日) 13:20:25
まだPBの初心者なんですがわかる範囲で書きます。
>以前のBASICの様に使えるのか?
できると思います。(自分では使っていない)

OpenConsole()       ;DOS窓のようなものが開く
ConsoleLocate(10, 10):Print("これはテストです")
a$=Input()
ConsoleLocate(10,20):Print(a$)
a$=Input()
End
こんなふうに書くとN88BASIC風に動きます。
>Windowsの機能が使えるのか?
APIやDLLは簡単に呼び出せます。
イベントもFBASICより沢山あるので困ることがない。
MDBも直接アクセスできる。
http://dbp.cool.ne.jp/program/purebasic/purebasic.htm
ここにおりゃさんがPBの特徴を書いてますので見てください。
自分はFBASICと同じくらいPurebasicが好きで
今までFBASICで作ったものをPureBasicに移植してみましたが
問題なく移植できました。
興味のある方は体験版があるので是非使ってみてください。

akira

336ロディマス:2005/12/11(日) 20:00:08
;自分はFBASICと同じくらいPurebasicが好きで
;今までFBASICで作ったものをPureBasicに移植してみましたが
;問題なく移植できました。

BASIC/98の方を買ってしまいました・・・。構造体が使えないです。PureBasicの方が良かったかな?ボーナスが出たものでつい・・・。

337akira:2005/12/11(日) 20:20:45
え!そうなんですか
残念
だけど体験プログラムが無料であるので、是非使ってみてください。
ちょっとしたプログラムは十分これでつくれますよ。

akira

338ロディマス:2005/12/16(金) 22:02:50
富士通はCOBOLを無償公開しているのだから、F−BASICもそうしてくれないかな?

341化石:2005/12/27(火) 15:26:26
XP対応させようとの運動、でも来年はビスタが発表になるとか。

XPはなんとか動きましたが、ビスタはどうなのでしょうか?

342F橋:2005/12/29(木) 16:04:09
>>341
一部不具合は出るとは思いますが何とかなるとは思います
ですが実はかなり心配していたりします

343puff_puff:2006/01/08(日) 17:12:48
あけましておめでとうございますって、もう1週間も過ぎてるな…。
ああ、ゲームばっかりしていて、プログラムが組めていない、大変だあ。
Windowsが新しくなるのは少し期待していますが、F−basicが
動かなくなるのは、本当に困ります。
MSさん、なんとかF−basicも動くようにしておいて
くださいねって、言う相手が違うか!

ところで、どなたか、windowsのAPIで(ちょっと名前が分からないのですが)
エクスプローラーのようにリストボックスの中に列が複数あって、それぞれ
項目名をクリックすると項目毎にソートされるやつの使い方を
教えていただけませんでしょうか?
組んでいるプログラムでリストボックスだけではどうしてもできないところが
あるのです。よろしくお願いします。
APIの本を色々見てみるのですが(立ち読みですけど)どれが該当するのか
分かりませんのです(トホホ)

344<削除>:<削除>
<削除>

345<削除>:<削除>
<削除>

346<削除>:<削除>
<削除>

347<削除>:<削除>
<削除>

348シマヅ:2006/01/11(水) 17:47:01
 管理人さま、皆さま、大変申し訳ありません。(344)の質問を書き直します。
■コンパイル時のエラーに関して
 皆様、毎度お世話になっております。
 OSの調子が不安定(電源オフ操作しても、再起動を何回も繰り返す、その他)になったので、正月にOSを再インストールしました。
 ところが、その後、F-BASICを起動して今まで正常に動作していたプログラム(全く何も手を加えていない)ものを再度コンパイルした時にエラー発生するようになってしまいました。
▼エラーの内容は「○○行 [02] 文法が正しくありません」のようになります。【これが1から5行位で発生する】
 従来のプログラムに全く手を加えていないので、プログラムを幾ら見直しても原因が分かりません。エラーの出る前後の行に改行を入れたり(空白の行が出来る)や、エラー行の先頭コマンドの前に半角スペースを1っ追加するとエラー発生しなくる場合もありますし、逆に半角スペースを1っ無くすとエラー発生しなくる場合もあります。(全角スペースなどは入っていません)
 しかし、これで解決しない行もありますし、その行が直ると別の行(コマンドが全く違う)のに同じエラーが発生する場合もあります。
 原因が分からなくて困っています。この様なことを体験されて、解決した方などがおりましたら教えて頂きたくお願いします。
▼現在はWindowsXP HomeEdition SP1(SP2は未使用)です。
 F-BASICはVer6.3 L10 U003です。OSの再インストール後に他のソフトで変更があったのは、ノートンインターネットセキュリティー2005から2006にVerUPしたことと、Windowsの(SP1,2を除く)Updateをしたこと位です。
 以上の状況です、よろしくお願い致します。

349TOKO:2006/01/11(水) 21:03:23
シマヅさん>
>>▼現在はWindowsXP HomeEdition SP1(SP2は未使用)です。
>>Windowsの(SP1,2を除く)Updateをしたこと位です。
どちらが正しいのでしょうか?
もし、初期のWindowsXPでSP1および、SP2にUpdateしていないのであれば、それは、
WindowsXP自身のバグでF-BASICのせいではありません。
(【雑談】雑談専用・愚痴歓迎【愚痴】の203参照)
SP1、SP2を当てたくない理由があるのであれば、ニャン子さんが発表しておられる
「WindowsXPでもF-Basic V6.3を使いたい」が参考になるかと思います。
http://www.geocities.co.jp/SiliconValley/1223/fb01.html
SP1を当てているということであれば、その場合の情報は持ち合わせておりません。

350シマヅ:2006/01/11(水) 23:33:38
◆TOKO様
 解決しました。
 早速のご回答を頂き有難う御座いました。再度確認したら、SP1ではありませんでしたので対応させました。念のためhttp://www.geocities.co.jp/SiliconValley/1223/fb01.htmlも対応させておきました。(初歩的なことで、申し訳ありませんでした。)

 OSの再インストールをした後、WindowsのUpdateをし、SP1もインストールしたのですが、その2日後くらいにSP2をインストールしたところ、IE6を起動すると動作中や終了時などに頻繁にエラー発生するようになりました。そのためシステムの復元で、インストール前に戻したのですが、復元の方法に手違いがあったのか、SP1も削除されていたようです。おまけに、何故か外付けHDDにバックアップしていたフォルダ内の「exeファイル」だけが、全て消えていました。(外付けHDDのアクセス・ランプがいつまでも点灯していたので、イヤな感じはしたのですが・・)
 なにしろ、「'」(REM)だけの行まで、文法エラーが発生していたため、目の前真っ暗の感じになってしまいました。

◆管理人さま、皆さま
 ソフト仕上げの期日が迫っていたためアセッテいました。コンパイルが出来ないことで、精神的に動揺していたこともあり(そうでなくとも?)、掲示板を汚してしまって大変申し訳ありませんでした。これで期日に間に合います、ホッとしました。本ホームページのお陰で助かりました。皆様の素早やく暖かいフォローに心から感謝します。
 生まれつきのオッチョコチョイで、子供のころから未だに自分の名前(本名)を間違って発音したりする人間のため大変失礼しました・・【「百円」を「しゃくえん」と発音してしまいます(別に言語障害者ではありませんが)】・・情けない・・言い訳になってしまってスミマセン。

 管理人さま、掲示板「344〜347」は「記入者の依頼で削除」にして貰ってOKです。それから、F-BASIC Ver7(WindowsXP対応版)購入予定者に記載して頂いておりますが、もし「Windows Vista」の対応版・購入予定者を記載(掲載)する場合がありましたら、私のハンドル(シマヅ)も追加して下さい。
 どうも有難う御座いました。今後ともよろしくお願い致します。

351F橋:2006/01/12(木) 01:31:58
>>343
>あけましておめでとうございますって、もう1週間も過ぎてるな…。
すいません。管理人なのにおめでとうを言い忘れてます。
今更ですが。あけましておめでとうございます!

>MSさん、なんとかF−basicも動くようにしておいて
>くださいねって、言う相手が違うか!
MSがF-BASICの権利を買ってMSで販売してくれれば…あり得ないですね(笑

>どなたか、windowsのAPIで(ちょっと名前が分からないのですが)
>エクスプローラーのようにリストボックスの中に列が複数あって、それぞれ
>項目名をクリックすると項目毎にソートされるやつの使い方を
>教えていただけませんでしょうか?
ご存じの方。よろしくお願いします

352F橋:2006/01/12(木) 01:45:35
TOKOさん>
ご回答頂きありがとうございました
相変わらずレスの遅い役立たず管理人で申し訳ございません

シマヅさん>
> 生まれつきのオッチョコチョイで、
オッチョコチョイ大歓迎です!既にバレていると思いますが私もかなりの天然です
私と似た様な方が見えて非常に助かります。もっとも私の方が天然の自信がありますが(笑

>掲示板「344〜347」は「記入者の依頼で削除」にして貰ってOKです。
削除しました。投稿者から削除出来ない掲示板ですので遠慮無く削除の指示を頂けます様お願いします

353F橋:2006/01/12(木) 01:52:14
掲示板へご参加頂いている皆様へ

レスは遅いのですが削除は可能な限り早く行う様心がけております
投稿者から削除が出来ない掲示板ですので(自己都合でも全然構いませんので)
遠慮無く削除の指示を頂けますようよろしくお願いします

さて。何人かから違う掲示板をしないか?とご要望を頂いております
メインで頂く意見として投稿者自身が削除出来ないので投稿する時に緊張してしまう。の様な話を頂きます
この様な形式(スレッド型)の掲示板でお勧めの掲示板があれば検討したいと思いますのでよろしくお願いします
(レンタル掲示板ではなくCGI設置型の掲示板でも構いません)

尚。スレッド型以外の掲示板は申し訳ないのですがお断りさせてください
以前スレッド型ではない掲示板を使っていたのですがある件数以上は消えてしまうので
毎回過去ログの整理に時間がかかってしまい過去ログの公開がかなり遅れてしまいました
ここのスレッド型掲示板の場合は(私の都合ではありますが)過去ログの負担が無いのが理由です
よろしくお願いします

354シマヅ:2006/01/12(木) 09:36:09
■管理人さま
>レスは遅いのですが削除は可能な限り早く行う様心がけております
▼素早い削除対応をして頂き有難う御座いました。大恥を長時間晒さずにすんで、一安心です。超マヌケ人間のためにお手数をお掛けして大変申し訳ありませんでした。

>何人かから違う掲示板をしないか?とご要望を頂いております
▼私のような、超マヌケ人間のために、掲載時にパスワードも入力して、自分で削除出来る形式だと有難たいです。
 たまに宝くじ(ロト6)を購入していますが、その時に覗いている、下記のような掲示板もいいかな?などと思っています。それと検索も、し易くて・・などなど。
http://www4.big.or.jp/~gmt/ibbs/bbs.cgi
 勝手な意見で恐縮です、今後ともよろしくお願い致します。

355puff_puff:2006/01/12(木) 23:19:55
管理人様 レスありがとうございます。
そうですか、みなさん消せないので書込時に緊張されていたのですね。
私は、全然気にしていませんでした。
これについての情報は持ち合わせていないので申し訳ありませんが、
でも、いざというとき、自分で消せるのも良いかもしれません。

それから343>にも書いていますが、APIの名前と使い方と、そのAPI
の画面写真なんかが載っているWEBページでも有ると良いのですが、
どなたか、エクスプローラーのようなリストボックス(?)の使い方
教えてほしいです(しつこくかいてすんません…)

356TOKO:2006/01/13(金) 20:53:35
エクスプローラは左の部分がTreeView、右側の部分はListViewですね。
これらは、Windowsのコモンコントロールですので、CreateWindowExで作成することが可
能です。
にわか勉強ですが、http://tokovalue.hp.infoseek.co.jp/の「TreeView・ListViewの作成」
に載せておきました。まだ、項目の入力まではできていませんが暇をみて挑戦してみよう
と思っています。

参照URL
http://yokohama.cool.ne.jp/chokuto/urawaza/comctl.html

的はずれの場合はゴメンナサイ・・

357F橋:2006/01/15(日) 00:32:15
>>354
掲示板の候補をご指導頂きありがとうございます。ただ大変申し訳ないのですがスレッド型の掲示板では無いので
申し訳ないのですがご遠慮させてください

スレッド型(2ちゃんねる型)に拘る理由は投稿内容のほぼ全てが残る(=過去ログ整理がいらない)点にあります
ここで使っている掲示板は50スレッド*1000レスの最低50000の投稿内容が保存できます
(あくまで最低です。スレッドは1000程度まで拡張でき1スレッドのレス数も10000まで可能です)
このスレッド型以外の掲示板では半年から1年程度しか過去の投稿内容が見れません

スレッド型もいくつかの種類がありますのでその中で削除可能な掲示板があればご指導頂けると助かります
KENT WEBでスレッド型でCGI型(レンタルでは無いので自分でCGI設置が必要なもの)がありました
KENT WEBのスレッド型掲示板は投稿者自身の削除が可能なのですが、geocitiesがCGIに対応しておりません
CGI設置が可能な所を探してみます
尚、レンタル掲示板でスレッド型で削除が可能なのがあればすぐに設置出来ますのでご指導頂けると助かります

358F橋:2006/01/15(日) 00:43:32
>>355
>そうですか、みなさん消せないので書込時に緊張されていたのですね。
何人から似た様なお話を頂きました。
それを聞くまで私も忘れていたのですが、私も初めてネットの掲示板に書き込む時は非常に緊張しました
お気軽に参加出来るのを考えれば自分で削除出来る掲示板は必要と思います
たまに参加する方やカウンタ等を考えるとROMのみの方。(掲示板に参加しにくい方)が以外にいると思われます

>それから343>にも書いていますが、APIの名前と使い方と、そのAPI
>の画面写真なんかが載っているWEBページでも有ると良いのですが、
>どなたか、エクスプローラーのようなリストボックス(?)の使い方
>教えてほしいです(しつこくかいてすんません…)
私には分かりませんがご協力出来る様な事があれば行いますが…
例えばこの質問内容をこの掲示板の上部に常時表示する。と言った事ならば考えますが…

それと。うろ覚えの為返答をしませんでしたがどんな方法でも良ければ解決策に心当たりがあります
ニャン子さんがF-BASIC用のシート(Excelの様な表)の関数群を自作されていたはずです
イベント処理にも対応しておりかなり素晴らしいものです。Excelの表での動作と比べても見劣りしないです
(言葉で説明しにくいのですが。上部がボタンになっておりボタンを押した時の処理が可能。
 記憶違いが無ければ幅を縮めたり広げたりも可能)
WindowsのAPIでは無いのですが見た目や操作面も含めて非常に完成しているものと記憶しております

359goma:2006/01/15(日) 18:52:16
始めまして。
F-BASICって、最後のBASICだと思っています。
VB.netやABは、BASICと呼べるのかどうか??

ここを発見し、今もF-BASICを使い続けておられる方々が居られるということで、私もまた、使ってみようかという気になりました。
そこでお尋ねしたいのですが、XPに非対応とのことで、対応策も拝見しましたが、開発環境がXPに非対応ということなのですか。
コンパイルして完成したEXEは、他のXPでも問題なく動作するのでしょうか。
もし問題がなければ、使ってみたいと思います。
よろしくお願いします。

360puff_puff:2006/01/16(月) 00:00:47
>356 >358 TOKOさん F橋さん レスありがとうございます。
さっそく、やってみます。また分からなければ教えてくださいね。
本当にありがとうございます。

361F-BASIC愛好者:2006/01/16(月) 12:33:56
旧年中は皆様方に大変お世話になりましてありがとうございました。
今年も宜しくお願い致します。
下記のサンプルプログラムが探せず投稿いたしました。
Webページが更新されたかチェックできるプログラムをVBで検索しましたが
探すことができませんでした。参考になりますサンプルプログラムが
ありましたら教えて頂けませんでしょうか。
宜しくお願い致します。

362puff_puff:2006/01/16(月) 21:42:20
gomaさん、こんにちは。
私は、F−Basicを使うだけの人間ですので、
なぜWINDOWSで動くのかとか、どういう翻訳があってEXEに
なるとか、詳しいことは全く知りません。
でも、自作で事務的な仕事に使っている(20人くらい別々の環境で)
ソフトはme でも XPでもほぼ問題なく動いています。
ただ、ここの掲示板にも幾つか書いてありますが、SP1とかSP2でないと
困ることがあるようです。
あと、富士通がXPに対応と言ってくれないので…

363goma:2006/01/16(月) 22:20:18
puff_puff さん、お返事をありがとうございます。

今頃何を・・・と言われそうなんですが、、、
98DOSのQuickBasicで組んだソフトをWindowsで動かそうとしているのです。
ほとんど作り直しですが、けっこう大きなソフトなので、F-BASICのほうが、
開発時間がかなり短縮できると思うのです。
それに、F-BASICはサポートがなくなりましたが、マイクロソフトは、QB以降、
DOSのVBからWindowsのVB、VB6から.net、さらに.net2005へと、変化が激しすぎます。
その意味で、F-BASICは今後変更(して欲しいが)されないので、安定です!?
だから、解決できない問題がなければ、使って見たい気がします。

ところで、XP環境のF-BASICで作った独立EXEを、Windows98(SE)で動かすと、
フォントが大きくなって画面に収まらないと聞いたのですが、いかがでしょうか。
また、よろしくお願いします。

364goma:2006/01/16(月) 22:23:55

訂正します。
(誤)画面に収まらない → (正)指定した枠に収まらない

365TOKO:2006/01/16(月) 23:43:46
Web更新チェックは、何を比較しているのかわかりませんが、Vectorなどでソフトの詳細
説明をみると、日付・文字列などをチェックしているものもあるようですね。
文字列比較については、APIのCompareString(比較オプションに対応した文字列比較関数)
が、使えそうかなぁと思います。

Windows9xとWindowsNT系のフォントサイズは、明示的に指定することで解決できます。
参考:http://www.geocities.jp/fbasic63/fbn201.htm

366F-BASIC愛好者:2006/01/17(火) 07:57:24
TOKOさん
昨年は大変お世話になりました。
早速、ご返答くださいましてありがとうございました。
比較には日付・文字列があるとのことですが今回は日付で考えています。
説明不足がありまして申し訳ありませんでした。
今後、文字列などをチェックする場合は「文字列を比較する 」
http://tokovalue.hp.infoseek.co.jp/CompareString_M.htm
をご参考にさせて頂きます。ありがとうございました。

367F-BASIC愛好者:2006/01/17(火) 23:09:02
C言語は解りませんが、Webページ更新チェックソフトWWWCのソースが公開されていました。
http://www.nakka.com/wwwc/  
WWWC    ソースコード
________________________

VB6のWebページ更新チェックソフトは探しだせませんでした。

368F橋:2006/01/18(水) 02:00:26
>>359
初めまして。レスが遅く知識乏しく役立たず管理人のF橋です。これからもよろしくお願いします

>F-BASICって、最後のBASICだと思っています。
>VB.netやABは、BASICと呼べるのかどうか??
私も思います。DOS時代のBASICとイベント型のBASICは全然違う言語と思っています

>コンパイルして完成したEXEは、他のXPでも問題なく動作するのでしょうか。
いくつかご回答がある様ですが私も同じ認識で「ほとんど問題なく動作する」と思っております
私が唯一困ったのは kinput (漢字のinput)を行った時に画面の下にIMEが起動するくらいです
(言葉ではうまく言えません。社内で使うには問題無いが社外には出せない。と言えばいいでしょうか)
ただこの件もとある方が富士通に交渉し修正ルーチンがネット上に存在します
業務用のシステムを作成しておりますが少なくとも私は現在は困った点がありません
強いて言えば次期OSへの不安程度です

社内で統合環境のエディタを使って(XPのSP2なんですが)文字化けの様な不具合があるのは確かです
ただ私の場合は別のソフトのエディタを使っているので問題になった事がありません

うろ覚えで申し訳ないのですが。XPでのトラブル報告をいくつか聞いた気がしますが
そのほとんどが画面の表示程度だったと記憶しております
逆に言うと画面の表示をそれほど気にしない個人及び社内でのソフトではまず問題が無いかと…
現段階では残念ながらF-BASICを主言語としてプログラマとして独立には向かないとは思います

ただし。予備のプログラム言語としてお考えならば全然問題ありません
例えば。主はVCを使える。けどVCのみでは時間がかかるから9割F-BASICで作り
F-BASICでは扱えない部分1割の部分をVCで作る。というのならば全く問題ないと思います

その他。思い出したF-BASICの欠点を少々。
ActiveXをF-BASICで完全に使えた人がいない?
(ActiveXの制御を試し途中まで成功した方は見えます)
コールバック関数が使えません
(コールバック関数は私もなんとなくしか分かりません。私の業務では使った事無いです)
((コールバック関数を知っている方の話ではそれを使えばより便利なソフトにはなるらしいです))
後は情報の不足(F-BASICのサンプルが少ない)のが欠点かと思います

gomaさんがどの様なプログラムを予定しているかが分からないので確定は出来ませんが
旧BASICで行っていた事をWindows版にしたい。と思われているのならまず問題無いと思われます

369goma:2006/01/18(水) 18:54:57
F橋さん、お忙しいところ、詳しいレスをありがとうございます。
作ろうとしているのは事務処理で、例外事項を含む為に計算が難しいのと、指定書式の印刷が多いものです。
DOSでは、入力を簡単にする工夫をして、ポップアップ画面を多用して項目の選択を容易にしたりしていました。
その為に、アセンブラで作成した自作ライブラリーを沢山作って使っていますので、そのまま転送はできません。しかし、ファイル(構造体)や計算部分は、一部の型変換だけすれば、そのまま使えるかと思ったりしています。

私なりに、いろいろ調べていますが、長短あって難しいですね。
途中で変更できないのでもう少し調べてみますが、.netが無難な気もします。
しかし、ランタイム不要のF-BASICは、使える場面では利用したいと思いますので、これからもよろしくお願いします。

F-BASICの進化が止まったのは惜しいですね。
この言語仕様のまま、新OS対応、コントロールを増やすなどして貰えば、文句なしですが。

ところで、TOKOさんのサイトを拝見しましたが素晴らしいですね。参考にさせていただきます。

370goma:2006/01/26(木) 18:43:27
結局、クラスを多用したいので.netにしました。
いろいろと、ありがとうございました。

371F橋:2006/01/29(日) 01:36:25
gomaさん>
レスが遅くなってすいません。社内業務で印字等なら特に不具合無く使えると思います
印刷プレビュー機能(印刷イメージ)などはありませんのでそういうちょっとした所を考えると
社内ではいいけど販売するソフトとしてはF-BASICではやや難しい部分があるかもです
なんというのか…F-BASICで不具合あっても代わりにこういう使い方で回避。なんてのが多いんですね
ですので社内では問題無い場合が多いと思うんですけどね…

と。すいません。既に.netに…
確かに.netのが無難なのは確かですよね
(実は私も勉強中で…(汗

372goma:2006/02/02(木) 15:12:24
F橋さん、お返事をありがとうございます。
F-BASICの6.3を持っているとばかり思い込んでいて、確認すると6.0だったのです。
で、6.3を今更買うのもどうかと思いました。現行品なら買いますが。
F-BASICは、目的によってはかなり使えると思いますし、もし6.3を手に入れたら、いろいろと使ってみたいです。
また、よろしくお願いします。

373F-BASIC愛好者:2006/02/03(金) 10:43:38
お世話になります。
VB6で申し訳ありません。
ファイルの更新日付取得につきまして
MsgBox FileDateTime("C:\FBASICV63\Sample_B\SAMPLES.TXT")で
更新日時分秒が取得できました。しかし
MsgBox FileDateTime("C:\・・・・・・\Temporary Internet Files\xxx.TXT")では
インターネット一時ファイルではファイルがみつかりませんとなります。
一時ファイルのファイルは読めないようになっているのでしょうか?。
もしご存じの方がおりましたら、ご指導願えますでしょうか。
よろしくお願いいたします。

374nisii:2006/02/03(金) 13:59:16
一時ファイルはアクセスしてほしくない、という構造になっています。

1.レジストリからIEの一時フォルダ名を得る
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache

2.次の一時フォルダから、さらに下層のサブフォルダを探す
<1.のパス名>\Content.IE5

3.サブフォルダ群の中から、目的のファイルを探す
\ADX2REPC などの作成日時を調べれば、どのあたりのフォルダに入っているかが絞れるでしょう。

次の点に注意。
・この手法はIE5(以降)専用で、他のブラウザには対応しません。
・システム属性付きのファイル・フォルダを検索できる機構が必須です。
・一時ファイルは、元の名前と違うことを考慮してください。(例) index[1].html など
・フォルダ・ファイル構造は \Content.IE5\index.dat に入っていますが、解析は自力でお願いします。

今回は解析までしなくても目的を達成できそうですが…。

375F-BASIC愛好者:2006/02/03(金) 16:02:04
nisii さん
急速なご回答ありがとうございました。
度々お世話になりお礼を申しあげます。
VB6でWebページの更新日付情報を取得したいと色々探しましたが
VB6では殆ど参考になるサンプルはありませんでした。
そこで今回の方法となりました。 少し難しいそうですが
ご指導くださいました注意点に従い挑戦してみたいと思います。

3761大学生:2006/03/10(金) 09:49:42
こんにちは!fbasicいつも愛用させてもらってます。
最近気になった事があって調べてたんですがどうしてもわからなかったので質問させてください。

fbasicでexeファイルを作成する時に、
exeファイル内にファイルバージョンを記入できないものなんでしょうか?

processExplorerなどのソフトで見てみるとバージョンがn/aになってて
ちょっとかっこ悪いので直したいなぁとおもったんです。
ご存知の方がいらっしゃいましたらお教えいただけないでしょうか。
よろしくお願いいたします。

377F-BASIC愛好者:2006/03/14(火) 20:07:06
実行ファイルを一本にする方法につきまして
実行ファイル test1.exe(F-BASIC) とtest2.exe(VB6.0) 2本の実行ファイルを
test1.exeの後にtest2.exeをつないで1本にしました。
F-BASIC(test1)でアドレス000F000を指定して直接起動(test2.exe)する事は可能でしょうか。
もし可能でありましたらどの様な記述にすればよいのか、宜しくお願いします。

アドレス
0000000   test1.exe(F-BASIC)
  .   .
  .  .
  .      .
000EFF0 test1.exe(F-BASIC)
000F000 test2.exe(VB6.0)
  .   .
  .  .
  .      .
001FF10 test2.exe(VB6.0)

378名無しさん:2006/03/16(木) 01:30:35
>>376

Windpws エクスプローラからファイルのプロパティで
表示されるパージョン表示は、EXEファイルにリソース
として埋め込みます。
F-BASIC/Win ではサポートされていませんので、
手作業で直接ソースファイルに直接書き込む必要があります。
もちろん、保証外の方法です。
フォームのデザインを格納しているリソースファイル  <ファイル名>.rcを
メモ帳やのテキストエディタで開いて、書き換えればできます。


 ソースをすべて保存しておいてからF-BASICを終了します。
 フォームのデザインを格納しているリソースファイル  <ファイル名>.rcを
メモ帳やのテキストエディタで開いて、書き換えます。

    <-- ファイル内容先頭 -->
#include "f1a0form.h"

<<< この間に挿入します >>>

FB$VersionInfo RCDATA
BEGIN


 リソースファイルを翻訳後のファイルが <ファイル名>.RES
ですので、これを削除します。(再翻訳させるためです)。
F-BASICを起動して、翻訳 処理して実行ファイルを作成させます。
 フォームのデザインを変更したり変更せずとも保存すると
書き換えた内容は消えます。

リソースファイルを書き換える前に必ずバックアップをとっておいてください。
動作保証外ですので、不具合が起きるかもしれません。

379名無しさん:2006/03/16(木) 01:38:09
>>376
つづきです。
書き込む内容はこんな感じのものです。

--------

// File version info ===
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
BLOCK "041103a4"
BEGIN
     VALUE "Comments", "\0"
     VALUE "CompanyName", "\0"
     VALUE "FileDescription", "\0"
     VALUE "FileVersion", "1, 0, 0, 0\0"
     VALUE "InternalName", "\0"
     VALUE "LegalCopyright", "\0"
     VALUE "OriginalFilename", "\0"
     VALUE "ProductName", "\0"
     VALUE "ProductVersion", "1, 0, 0, 0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x411, 932
END
END
--------

中身の書き方にしついては以下のページの解説がわかりやすいようです。
ttp://www7a.biglobe.ne.jp/~tsuneoka/win32tech/20.html

3801大学生:2006/03/16(木) 14:30:13
大変勉強になりました。
これからのfbasicプログラミングに活用させていただきます。
丁寧にお教えいただき感謝しています。
ありがとうございました。

381名無しさん:2006/03/17(金) 23:45:01
>>377
>F-BASIC(test1)でアドレス000F000を指定して直接起動(test2.exe)する事は可能でしょうか。

F-BASICのみでは無理だと思います
私はアセンブラ及び機械語は分かりませんが私の知識内での話をします
コンパイル済のEXEファイルをバイナリエディタを使用しF-BASIC(test1)が終わった所で
000F000へジャンプする命令を書き換えればいいとは思いますが…
ウイルス(現在はワームもウイルスと言いますがワームでは無くウイルスの方です)の
作り方と似ているのでその辺りを参照すれば分かるかも知れません

あ。書いてる途中で思ったですが2つ目のプログラムは起動出来ない(もしくは暴走)かも

test2.exe内に先頭から何バイトにジャンプの様な命令が無い訳が無い。
test1.exeを先頭に入れればジャンプする位置はずれるので暴走すると思われます
(おそらくですが2つ目を実行出来ないのには他にも理由がいくつかあると思われます)

さて。1つのファイルにしなければならないのでしょうか?
1つのファイルですが途中で2つ目を準備し後で2つ目削除…え〜と…

test1.exeとtest2.exeを合体。test1.exe終了直前に、test2.exeをtest1.exeより取り出し
test2.exeを作成。test2.exeを実行。そのtest2.exe終了後test2.exe削除。なら可能と思いますが…

382F-BASIC愛好者:2006/03/18(土) 01:43:24
>>381
返信ありがとうございました。
問い合わせをしましたら、アドレスを指定して起動する命令はF-BASICではない事を
確認できました。1つのファイルにしようと思いましたのは、F-BASICと同じ様にVB
にして実行しました。しかしF-BASICでは良かったのでしたがVBでは異なる動作が
一部ありました。それにより1つのファイルにしようと思いました。

383ま。:2006/04/15(土) 21:26:14
FbasicV6.3でWindowsXPの音声合成は使用できますか?
サポート外ではありますが、おわかりになられる方がいましたら、
ご教授お願います。

windowsXPでは、音声認識・合成機能が入ってるものがあります。
(入ってなくても、マイクロソフトからダウンロードできるようです)
この音声合成機能を、V6.3で使用する事は可能なのでしょうか?

簡単に言うと、パソコンから任意の言葉をしゃべらせたいのです。
例えばタイマーソフトで「時間ですよ!」とか、いろいろな
言葉をしゃべらせられると良いのですが。

よろしくお願い致します。

384nisii:2006/04/16(日) 02:53:10
Microsoft Speech API 5 を使えるかってことでしょうか?
資料は Speech SDK5.1 をダウンロードしてみましょう。
http://www.microsoft.com/downloads/details.aspx?FamilyId=5DAAE9C4-188C-4547-A9D6-1671132A39A1&amp;displaylang=en

OLEコントロールのようですが、F-BASICで動作させるのはかなり無理があると思います。

385ま。:2006/04/16(日) 21:27:56
そうです。
音声認識(音声合成)のプロパティで日本語が合成できるのに、
この機能がF-BASICで使用できないのは残念ですね。
そもそも、この機能の使い方も分かりませんが。
せめてクリップボードを読み上げてくれれば、F-BASICで使用できるのにと。

386素人ドンペイ:2006/04/23(日) 03:07:57
すみません、私は素人の素人です。どうも理解できないのです。
F-BASICV6.3の入門書42ページに変数の共有のことが書かれています。

プログラム例

declare functionn F1(A)
A=10
print F1(A)
stop
end

function F1(P)
A=A+2
F1=A*P
end function

実行結果
20

となっていますが、関数らしきものが使っているそうですが、このプログラムの流れがよく分からないのです。

1行目にdeclare functionn F1(A)と宣言されて、その後、function F1(P)があるのですが、このPの変数がどうなっているのか、プログラム自体が全然分かりません。
お手数ですが、ゼロのゼロから教えて下さい。

387名無しさん:2006/04/23(日) 04:20:00
>>386
変数の有効範囲(スコープでしたっけ?)と関数が分かりにくいのでは?(私もそうなんですが…)
全てがグローバル変数(インタープリタで多いBASICでの変数。N88BASICなど)で
関数等の定義をしない場合は下記の様な感じになります

MAIN_A=10
P=MAIN_A : GOSUB *F1
PRINT F1_RET
STOP
END

*F1
F1_A=F1_A+2
F1_RET=F1_A*P
RETURN

388名無しさん:2006/04/23(日) 04:40:30
>>387の続きです

10 declare functionn F1(A)
110 A=10
120 print F1(A)
130 stop
140 end
200 function F1(P)
210 A=A+2
220 F1=A*P
230 end function

>function F1(P)があるのですが、このPの変数がどうなっているのか、プログラム自体が全然分かりません。
まず確認から。110行から140行の変数Aと200行から230行の変数Aは別です
110行から140行の変数AはメインルーチンのA。例えば MAIN_A という変数で
210行から230行の変数AはF1関数のA。例えば F1_A という変数で、同じAという変数名でも違うものです
変数の有効範囲もしくはスコープなどで調べると分かるかも知れません
例えば。PROG1.BASで使われている変数AとPROG2.BASで使われている変数Aは名前は同じでもそれぞれ別の数値を管理します
これと同様に1つのプログラム内でも110行から140行で使うAと200行から230行で使うAと別々に扱われます
全体(110行から140行)で使うAと関数内(200行から230行)で使うAという感じで別々で管理されます

話を戻して…

>このPの変数がどうなっているのか、

120 (略)F1(A)
200 function F1(P)



120 XXX=A : GOSUB *F1
200 *F1 : P=XXX

と思って下さい

120 F1(変数1)
200 function F1(変数2) ' ← 内部で変数2=変数1を行っています

上記の説明で分からない点あればどこが分からないか教えて頂ければ再度ご返答します
質問内容から悩んでいる点が3カ所程度考えられますので。

389素人ドンペイ:2006/04/23(日) 11:59:28
>>387

ご返答ありがとうございます。

下記のプログラムですが、私流で解釈しますと、

MAIN_A=10       '変数MAIN_Aに数値の10を設定    
P=MAIN_A : GOSUB *F1 '変数Pに変数MAIN_Aを代入(P=10) *F1へジャンプ 
PRINT F1_RET      'F1_RETの値を表示
STOP          'プログラム終了
END

*F1          
F1_A=F1_A+2      '変数F1_Aに数値2を足す 
F1_RET=F1_A*P     '変数F1_RETにF1_AとP(=10)かけた数値を代入
RETURN         'GOSUB *F1の次のところへリターン

プログラムの流れとしては、こんな感じで理解してよろしいでしょうか?
ただ一点の疑問は、F1_Aは数値ゼロ?、つまり
定義されていないF1_Aは数値ゼロとみなして構わないのでしょうか?
素人のへんなこだわりかもしれませんが、ご教授願います。

390素人ドンペイ:2006/04/23(日) 13:13:34
>>388

120 F1(変数1)
200 function F1(変数2) ' ← 内部で変数2=変数1を行っています

えーと、この情報でなんとなく分かったような、分からないようなって感じです。
もやもやをイッキに氷解したいので以下のプログラムも私流で解釈しますと


10 declare functionn F1(A) 'F1(A)のプロシージャ宣言 行200へジャンプ
110 A=10            'A=10を代入
120 print F1(A)       'F1(A)の数値を表示
130 stop            'プログラムストップする。
140 end 'プログラム終了
200 function F1(P)       'F1(A)のAをPへ内部変換
210 A=A+2           '変数Aに2を足す(A=10ではなくゼロ?)よってA=2
220 F1=A*P           '変数F1にA=2とP=10(なぜ10?)をかける よってF1=20
230 end function        '行110へ

流れはそんな感じだと私は思っています。

行10から行200 へジャンプするときはA=10と認知してないから
行210ではA=0としているんだと考えているのですが、それでは行220ではなぜ?
P=10と認知しているのか?理解できないのです。
くだらない疑問ですが、またご教授願います。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板