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

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

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

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

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

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と認知しているのか?理解できないのです。
くだらない疑問ですが、またご教授願います。

391プルプル:2006/04/23(日) 21:06:26
F-BASIC6.3を使用してあるデータ処理プログラムを作成・使用しています。
そのプログラムではバーコードリーダーから入力した文字を元にデータファイルを
オープンしています。通常PCを直接操作する必要が無いため見えない場所に
置いてあり、そのため該当アプリケーションがアクティブになっていない場合
バーコードリーダーからアプリケーションにデータを入力できないことになります。
バーコードリーダーからデータを入力するタイミングはシリアルポートから
別途渡されるためこれをトリガーにしてウィンドウをアクティブにしたいのですが
SETFOREGROUNDWINDOWなどを使ってもなかなかうまく動作しません。ネットにて
検索してもアクティブなアプリから別のアプリをアクティブ化することは
可能ですが、非アクティブなアプリが自分自身をアクティブにする方法が
わかりません。一部ではWin98or2000以降からの仕様らしいのですが、WinXPでは
SETFOREGROUNDWINDOWで切り替わるPCとタスクバーが点滅するだけのPCがあり
単に仕様だけの問題なのかも良くわかりません。出来ればOSはWin98,2000,
XPpro(日本語、英語版)での対応を考えています。良い知恵がありましたら
ご教授お願いいたします。

392F橋:2006/04/24(月) 03:29:57
>>389
>プログラムの流れとしては、こんな感じで理解してよろしいでしょうか?
その通りです

>ただ一点の疑問は、F1_Aは数値ゼロ?
その通りです

>210 A=A+2           '変数Aに2を足す(A=10ではなくゼロ?)よってA=2
問題なく理解されてますよ。「A=10ではなくゼロ?」←これもその通りです

>10 declare functionn F1(A) 'F1(A)のプロシージャ宣言 行200へジャンプ
>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
>
>行10から行200 へジャンプするときはA=10と認知してないから
>行210ではA=0としているんだと考えているのですが、それでは行220ではなぜ?
>P=10と認知しているのか?理解できないのです。
>くだらない疑問ですが、またご教授願います。

>行10から行200 へジャンプするときはA=10と認知してないから
認知していません。ここは「F1という関数がこういうルール」という宣言だけでありジャンプはしません。

10 declare functionn F1(A)
10 declare functionn F1(B)
10 declare functionn F1(XXX)
10 declare functionn F1(HENSUU)
10 declare functionn F1(SEISUUGATA)

↑全部同じ意味です。(10行のみを↑に入れ替えてもプログラムは同じです)

F1(A) のAは整数型の1つの変数が必要と宣言するだけです
()内に整数型1つの変数が入るのを指示するだけです
関数を定義する(作る)事が出来ますがその関数にはどの変数が必要というのも定義する必要があります
今回は F1(x) ですが。xが無いと F1(x$) なのか F1(x,y)なのか分かりませんよね?
1つの変数がいるのを指示(定義)するだけです

例えば線を描く関数。PSET(X,Y)の様に定義されています。されていますが
PSET(AX,AY)やPSET(A,B)、PSET(10,10)と書いたりしますよね?
定義されている変数と実際に使う変数は違います
declare funcion PSET(X,Y) は PSET(数値型の変数,数値型の変数) と定義していると同じですね

>10 declare functionn F1(A) 'F1(A)のプロシージャ宣言 行200へジャンプ
変数Aを必要とする関数の定義。ではありません。変数Aの型を必要とする関数の定義です
Aは型を指示する為だけに使われこれ以外の処理の変数Aとは全く関係ありません

↓10行を function F1(B) の様に ()内をBに変えました。意味は同じです

>10 declare functionn F1(B) 'F1という関数を宣言。F1はBと同じ型の変数を引数とする
>200 function F1(P)       'F1() の ()内の変数の値を Pに代入
>210 A=A+2           '
>220 F1=A*P           '

210行のAは内部で F1_A と扱われると思って下さい。F1関数以外での変数Aとは違う変数で扱われます
F1_Aは初めて使われる変数になるので初期値が0になっています
プログラムをRUNすると全ての変数が初期化(数値の場合は0)になりますが
関数の場合は呼び出された時にRUNと同様初期化されるので210行は A=A+2 は必ず 2になります
(この関数を2回呼んだから以前の内容を覚えている。という訳ではありません)

う〜ん…うまく説明できない…
私もそうだったんですがこの辺りは旧BASICユーザーが分かりにくい部分の1つだと思うんですよね
関数のスコープとか関数の定義とかで検索してみてもっと分かりやすく説明しているサイトを探してみます

393F橋:2006/04/24(月) 03:45:30
>>391
>バーコードリーダーからデータを入力するタイミングはシリアルポートから
>別途渡されるためこれをトリガーにしてウィンドウをアクティブにしたいのですが
方法があるかも知れませんが少なくとも私にはシリアルポートからの入力時にアクティブにする方法は分かりません

>SETFOREGROUNDWINDOWで切り替わるPCとタスクバーが点滅するだけのPCがあり
SETTOPMOSTWINDOWでも駄目なんですよね?

環境が良く分からないので(他のソフトが毎回動くのか。たまにしか動かないのか。もしくは
バーコード入力が毎回なのか1時間に1回なのか。等により違いますので)最適な説明言えませんが
たまにフォーカスがズレるのでたまに(数秒〜数十秒に1度フォーカスを自分に戻したい)のならば
フリーソフトでマウス操作のマクロを作る事が出来るものがあるのでそれを使う手もあるかと思います

マウスを操作せずに。一定時間毎にマウスをどれだけ動かしボタンを押す。という操作を
(あたかもマウスが操作されたかの様に)予約できるフリーソフトがあったはずです

数秒に1回から数十秒に1回程度のタイミングでアクティブにするのなら可能と思われます
(これでいいのならばVectorで探してみます)
逆に常時アクティブ(一瞬たりともアクティブにならない時間があってはならない場合)には難しいと思います

394iwakifarm:2006/04/24(月) 19:02:17
fuctionにいくとAはグローバル変数ではないから、
MAINでA=10としてもfunction,subではAの値は不定か、ゼロになります。
どうしてもfunction等でAの値を使用したいならばINTEGERもしくは
DIM A
と宣言すればfunctionでa=10が使えます。

395プルプル:2006/04/24(月) 21:08:41
F橋さん、レスありがとうございます。
環境が分かり難かったですね。勤務先の工場で生産設備に使用してるPC用のアプリが今回の
案件です。PCはシリアルポートでPLC(と呼ばれる機械のコントローラ)に接続されていて、
PLCからの要求によりPC側のアプリはバーコードリーダーの入力待ちになります。
この時PC側のアプリのメインフォームがアクティブになっていないとバーコードリーダーからの
データが渡せないことになります。PCはWin98、Win2000、WinXP-Proと時代によって
使用OSが変わっています。また、近々海外工場へ設備をもって行くのでWinXP-Pro(英語版)への
対応も必要な次第。PCはノートで設備の中に入れているため通常は直接操作する必要は無く、
アプリもこのソフトのみですが、ウイルス対策ソフトなどが常駐しています。
アプリの起動はスタートアップから行っておりますが、常駐ソフトの起動タイミングの影響か
肝心のアプリのフォーカスが落ちてしまうPCがあります。また、オペレータがPCを操作しないとも
限らないため、PLCからバーコード読み取り要求があったらとりあえずアクティブにしたい訳です。

>SETTOPMOSTWINDOWでも駄目なんですよね?
最前面には出ますが、アクティブにならないのです。Win98以降の仕様らしくアクティブな
スレッドからじゃないとウィンドウを切り替えられないなどの条件があるようです。

>マウスを操作せずに。一定時間毎にマウスをどれだけ動かしボタンを押す。という操作を
>(あたかもマウスが操作されたかの様に)予約できるフリーソフトがあったはずです
上記のような方法も考えましたが、今ひとつスマートじゃなくて・・・
奥の手に取っておきます。

今日もネットを彷徨っているとアクティブなアプリの入力処理機構にアタッチして・・・
という方法があるようなのですが、ほとんどがVBやVCなどのサンプルでFBでどのように
実装していいものやら・・・APIの使い方を理解していないもので(^^;

http://www.microsoft.com/japan/technet/prodtechnol/winxppro/deploy/exappmigratoxp.mspx
にサンプルがあるのですがFBではどのような実装になるのでしょう?
Webページ内をAttachThreadInputで検索してみてください。

お手数ですが、よろしくお願いいたします。
これを機にWindowsプログラミングを基礎から勉強しなくてはと思う今日この頃・・・

396素人ドンペイ:2006/04/24(月) 22:42:51
本当によく分かりました。F橋さん、ありがとうございました。
かなり勉強になりました。
今回の件をステップにして、F-BASICを少しでも使えるようにがんばります。

で、今は、野球のスコアブックみたいなものを作ろうかと考えています。
グランドを作成し、ボールの飛んだ位置(グランドのある地点)をクリックしたら、
スコアシートに自動的に書き込んでくれるようなものを、、、、と
本当は、ネットでサンプルプログラムが落ちていればと思っているんですが、
甘くないですねー。

397nisii:2006/04/24(月) 23:43:39
>>395
>http://www.microsoft.com/japan/technet/prodtechnol/winxppro/deploy/exappmigratoxp.mspx
>にサンプルがあるのですがFBではどのような実装になるのでしょう?
>Webページ内をAttachThreadInputで検索してみてください。

TOKOさんのサイト
ウィンドウを最前面に表示(Ⅱ)異なるAPP間
http://tokovalue.hp.infoseek.co.jp/index.htm

上記のままでは失敗することがあるので、下記も参照してください。
http://karura.dynsite.net/~kjinc/?date=20040910
http://techtips.belution.com/ja/vc/0012/

398プルプル:2006/04/25(火) 08:43:05
>>397
nisiiさん、レスありがとうございます。
教えていただいたHPを参考にして何とか解決することが出来ました\(^o^)/
また何かありましたらよろしくお願いします。

399F橋:2006/04/26(水) 02:40:58
プルプルさん>
私は旧BASICの知識があるだけでWindowsのBASICの機能のDLLとかAPIとかは非常に弱くて・・
これ以上は分かりません。
DLLやAPI関連は私もnisiiさんや他の方々にご指導頂きましたのでnisiiさんとか皆さんを頼ってみてください(笑

nisiiさん>
これ以上分からなくて…助かりました
話変わりますがTOKOさんのサイト見覚えがある様な無い様な…
ともかくこんなに情報量の多く凄いサイトのリンクが無いのはまずいので早めにTOPページからリンクしようと思うです

400F橋:2006/04/26(水) 03:10:15
>>396
素人ドンペイさん>
>本当によく分かりました。
私の下手な文章でご理解頂きありがとうございます!(笑

>で、今は、野球のスコアブックみたいなものを作ろうかと考えています。
>グランドを作成し、ボールの飛んだ位置(グランドのある地点)をクリックしたら、
>スコアシートに自動的に書き込んでくれるようなものを、、、、と
私がスコアブックがどの様なものかがほとんど分かりません
(なんとなく分かる程度…ボーリングのスコアをもっともっと難しくした感じだったと記憶してます(笑))
ただF-BASICの勉強としては凄く最適な素材な気がします
仕事で組む場合なら辛いでしょうが趣味や勉強としてなら最高の素材に思えます
サンプルプログラムが無いとの事でしたがいくつかお話させて下さい
(スコアブックに関係なく何かをソフトにしたい。という時に役に立つと思います)

自分の望んでいるソフトの100%のサンプルは無いと思って下さい
難しいのですがうまくそのソフトをうまく分割しそのサンプルを探してみて下さい
例えば。今回の例ではマウスでクリックするサンプル、入力を出力するサンプル。等です

次に妥協点を探して下さい。
全てが備わった難しいソフトの完成では無くとりあえずこの部分だけ形にする。を目指して下さい
例えばマウスでクリックするとファーストとテキストに表示するだけのプログラム
(テキストに表示した後に自分で文字を入力するスコアシート補助プログラム)
そこから改良して行くといいかと思います

100%ソフトでは無く。20%ソフトを目標に自分の分かりやすい範囲から始めて頂き
慣れて頂きレベルアップして頂くといいと思います。

尚。難しい話は私では分かりませんのでnisiiさんや他の人を頼って頂くのを強くお勧めします(おい(笑
(私は基礎的な所しか分かりません。私も皆さんにたくさん教えて頂いたです。…ここの管理人なのに(笑))

401おくて:2006/05/16(火) 17:03:39
はじめまして
今頃、F-BASIC にホレコミマシタ。おくてなもんで
どなたか、V6.3 譲っていただけませんでしょうか?
マニュアルはコピーでもO/K、きれいなほうがありがたいです。
もうチョット早く気がつけば、バージョンアップできたんですが
残念!

402nisii:2006/05/17(水) 23:35:12
通販で求められてはいかがですか?

在庫を持ってそうなビックカメラとか。
http://www.biccamera.com/bicbic/jsp/w/catalog/list.jsp?FREE_SEARCH=F-BASIC&amp;SORT=2

403おくて:2006/05/18(木) 01:33:23
>> 通販で求められてはいかがですか?
>> 在庫を持ってそうなビックカメラとか。

> nisiiさん ありがとうございました。
> まだ売っていました、ビックカメラの通販で!!!
> おかげさまで、やっと新品買えました。
> 何日も、何日も、探しまわっていたので・・・・・
> ヤ〜、うれしいな〜、ウレシイ!、ウレシイ!、ヤッホ〜

404ロディマス:2006/05/24(水) 22:37:52
http://www.freebasic.net/
http://fbide.sourceforge.net/
http://gamdev.org/w/?%5B%5BfreeBasic%5D%5D
このフリーベーシックが大変良さげです。
F−BASICの文法がほとんどそのまま使えます。
また、F−BASICの数倍早く動きます。C言語並です。

405F橋:2006/06/01(木) 03:18:49
おくてさん>
F-BASIC手に入れられた様でおめでとうございます!

さて。今更無理なんですがささやかな抵抗として。トップページのF-BASIC Ver7お願いします!の署名欄に
おくてさんも掲載させて頂けませんか?
現在ここのメールアドレスが使えませんので。掲示板で。掲載したいハンドルネーム(おくてさんでいいでしょうか?)と
もしVer7が発売されたら購入予定の本数をご指導頂き署名に参加する旨を掲示板で連絡頂ければ掲載させて頂きます

ロディマスさん>
海外でF-BASICというとFreeBASICを指すくらい有名で使いやすい言語らしいっすね
私も浮気しようと何度も思ったです(笑
あと。ActiveBASICにも浮気しようと思ったです
あ。まだあります。99BASICも用途限定ですがお勧めです。
99BASICはファイルのオープン数などに制限がありますがインタープリタなのになぜか高速に動きます
(プレイステーションのプログラマが作ったゲーム作成可能の速度が出るインタープリタです)

さて。個人的にVBは好きでは無い。好きでは無いんすが仕事する上ではやはり必要になってきてます
仕事を視野に勉強される方にはVB.netもお勧めしなければならないっす
VB.netには現在フリー版(無料版)のExplessが存在します
アドレス忘れました。Visual BASIC .net expless等のキーワードで検索してみてください

VisualBASIC .net Ver2003 スタンダード が1万円程度の有償でした。が。
VisualBASIC .net Ver2005 Expless が無料でスタンダード並に使う事が出来ます

Ver2003スタンダード(及びVer2005)とProの違いはクリスタルレポートがあるかどうかがメインで…と。
話長くなるし相違点はいくつかあるので省略させて頂くです

406F橋:2006/06/01(木) 03:29:27
ひとりごとです。
現在VB.netに奮闘中です

シンプルなグラフィックだけどテキストで全て表す事が出来るF-BASIC(N88BASICなど過去のBASIC含む)に比べ
グラフィック的にはいいんですが表を出すだけでも(フォントの幅が違うので)どうやって作成しようか悩んだりしてます

表を作る前にテストをしようと思い。テキストファイルを表形式に表示。の前にテキストファイルを読もうとしました

open "dummy.txt" for input as #1 : while not eof(1):line input #1,buf$:print buf$:wend

↑これが使えません
BASICの規則から外れているはずなのにBASIC名乗っているのはなぜ!?と思ったりしてます

F-BASICやN88BASICはマニュアルとサンプルがあればほぼ思い通りにプログラム出来ます
VB.netは数冊の本を購入し調べてるんすけど未だに作りたいもの(表が作りたいだけなんです)が作れません(涙


旧BASICでは20〜30種類程度の命令を覚えれば大半の事が出来ると思います
ですがVB.netの場合は20〜30冊の本を読まねば大半の事が出来ない気がします(笑

何というのか…世間の流れ的に違和感がある気がしてるです

グラフィックのプログラムはまだ始まったばかりだと思います
数年先。VB.net簡単バージョン。VB.netに比べ1/100くらいの簡単さ。(代わりにVB.netの8割くらいの機能)
なんて言語が出てきそうな気がするんすけどね〜
(ある意味Accessですが。データ基準のAccessでは無く。実行結果を求める様なAccessと言えばいいのか…)

20年くらい前のMS-DOSのC言語とBASIC。C言語の8割くらいの機能しか無いBASICだけど1/100くらいの命令数で
(速度はいまいちとは言え)C言語の8割が出来たと思います
数年したら驚く様な言語が出るのを期待してるんすけどね〜
(ただ。MSが一番の現在。競争相手がいない現在ではそれが難しいかも。とちょっと思ってますけどね)
((ある意味JAVAがあてはまるのかも知れませんね))

407ぶるぶる:2006/06/02(金) 17:31:29
freebasicちょっと触ってみました。確かに処理速度早いですね。
作成されたexeファイルのサイズ自体も小さいかも。
ただ…構造化プログラミングの概念がない言語なのかもしれません。

408F橋:2006/06/14(水) 01:55:30
FREEBASICを触った事は無いのですが…他の方から似た様な意見を聞いた事があります
評判いいみたいですね

409名無しさん:2006/06/15(木) 15:01:59
F-BASICでウインドウを任意で大きさ変えられないようにする(デフォのまま
で固定する)方法ってありますか?
基本的なプログラム以外はよくわからないもので。。。

410akira:2006/06/15(木) 19:28:02
mainformのプロパティでフレーム種類をダイアログフレームにすると
固定になります。

411409:2006/06/16(金) 03:08:41
>>410
ありがとうございます。今までその辺全くいじってませんでした。

412小川:2006/06/18(日) 10:07:40
F-Basicでwebのhtmlを呼び出す方法が解りませんので教えて下さい
とりあえず急ぎで方法が知りたいのでよろしくお願いします。
http://www.geocities.jp/bio_balance_harmony/

413nisii:2006/06/18(日) 23:32:42
SHELLEXECUTE で呼び出せますよ。

414初心者:2006/07/10(月) 11:17:17
漢字入力としてATOKを使っています。

ATOKの機能として単語登録が有り、よく使う、または業界の特殊単語を登録します。

漢字を打ち出す際、ローマ字入力すると窓にいくつかの候補が出、その中から選択します。

ワープロには外字登録機能があり、業界特有の外字を外字登録します、一太郎、Excel、Word等は漢字の候補を示す窓に外字登録されて文字がそのまま表示されますが
F-BASIC V6.3は外字の部分が・で表示され、なんと書いているのはわかりませ。

解決方法を教えて下さい

415nisii:2006/07/10(月) 22:18:14
>>414
外字は使ったことありませんが、Unicodeなのでは?
F-BASIC内部ではShift-JISが基本になるため、Unicode表示はサポート外です。

416YUTTA:2006/07/20(木) 01:10:18
おひさです。またしても質問なんですが、APIでメール送信を
やってたんですが(某TigayaさんのHP参照)、最近いつのタイミング
かわからないんですが、「ソケットの接続に失敗しました」で、
エラーになってしまいます。APIがかわっちゃったんでしょうか?
どなたか、対処法ご存知のかたいましたらご教示お願いいたします。
<(_ _)> 宜しくです。 YUTTA

417TOKO:2006/07/20(木) 06:59:46
YUTTAさん>
お久しぶりです。
Ws2_32は、使ったことがなかったので、検証報告のみ・・
そのプログラムを走らせてみましたが、正常に送ることが出来ました。
WindowsXP_HE、Ws2_32.dllバージョン5.1.2600.2180

418TOKO:2006/07/20(木) 12:25:57
YUTTAさん>
下記のような場合もあるようです。
ウィルスバスター2006をお使いの場合
メールを送信する際、「外部に接続しようとするプログラム/・・・」が表示された場合
一度「接続を拒否」を実行した場合、[接続を拒否] ボタンをクリックすると、このアク
セスはブロックされ、以降は同じ種類のアクセスがすべてブロックされます。

パーソナルファイアウォール→プロファイルの設定→該当ネットワーク→編集
→例外ルール(ここの一覧の該当EXEにチェックが入っている)

419YUTTA:2006/07/20(木) 22:29:36
TOKO様>
いつも親切にご指導頂きまして、TOKO様には感謝感謝です。 <(_ _)>
ソースネクストのウイルスセキュリティーを使っています。
もう一度打ち込んだリソースをチェックしなおし、更にウイルス・ソフト&
ファイヤーウォールについて検討してみます。ありがとうございました。
私と違う環境のヒトではうまくいったり・・・、で、ちょっと悩んでいました
ので、もしかして、セキュリティー関係かもですね・・・。"^_^"
がんばりますです。 (^^ゞ

420YUTTA:2006/07/21(金) 19:20:46
TOKO様>
何度もすみません。<(_ _)>
TOKO様ご指摘のとおり、ウイルス・ソフトが原因でした。 (ToT)
以前使っていたものでは何も問題なかったのですが、
メインのPCが変わり、ウイルス・ソフトも・・・。
目から鱗・・・原因がこちらのPC環境とは・・・。(ToT)
ホントニ、度重なるご指導ありがとうございました。<(_ _)>

421名無しさん:2007/01/26(金) 19:57:39
FM-7のFBasic関係の資料はどこのサイトを参考にしたらいいですか?
検索しても見つからなくて昔の資料も無いので、もしありましたら教えて下さい。

422二股男:2007/02/16(金) 00:02:44
Visual Basicを勉強しようと思い、VisualStudio2005ProfessionalをインストールしたらFBASICV63
内の.MAKを開こうとするとVisualStudio2005側のメッセージが出てきます。
共存する方法はありますか。Vbasicは全く初心者ですが

423名無しさん:2007/02/19(月) 22:44:23
>>422
ファイルの拡張子 .MAK、.BAS、.FRMなどのファイルがVisualBasicと重なるので。
VisualBasicに関連付けられた状態かと思います。

とりあえずの回避方法としては、
 F-BASICをWindowsのスタートメニューなどから起動して、
ファイル(F)メニューの開く(O)を選択、
ダイアログのファイルの種類欄で プロジェクト(.MAK)に変更して
.MAKのファイルを開く。


解決方法としては、
A. F-BASICを再インストールして、再度F-BASIC側に関連付けさせる。
B. 手作業で.MAKの関連付けをF-BASICに設定変更する。
のいずれかの方法になると思います。

424kuri:2007/02/20(火) 19:01:10
**.MAK を F-Basicから開く方法。
右クリックから「プログラムから開く」、そしてF-Basicを選ぶ。
もしF-Basicが出なければ、「プログラムの選択」からF-Basicを選ぶ。
この時、「この種類のファイルを開く時は、選択したプログラムをいつも使う」にチェックを入れておけば、MAKファイルを開く時、デフォルトでF-Basicが起動するようになります。

425後追い男:2007/02/21(水) 23:18:45
本当にありがとうございます。

426DOSD:2007/02/22(木) 02:44:17
VBもF-BASICも同じ拡張子を使うのでSendTo(送る)を使ってみては如何でしょうか?
私は拡張子TXTは標準のメモ帳のままですがSendToにエディターを入れて
右クリックの送るからエディターを起動できる状態にしメモ帳とエディターを使い分けています

427kuri:2007/04/01(日) 15:35:14
f-basicでの質問です。
宛名ソフトでよくあるのですが、名前を入力して漢字変換後、
ヨミガナに自動的に入力するのは、できるでしょうか?
よろしくお願いします。

428TOKO:2007/04/01(日) 16:40:03
kuriさん>
F-Basic掲示板に書き込みがあると、ホッとしているTOKOです。
ヨミガナについては、APIを使用することで実現可能です。
*ttp://tokovalue.hp.infoseek.co.jp/の「フリガナ取得」に
一例を紹介しておりますのでご覧ください。

429kuri:2007/04/01(日) 21:28:50
TOKOさん、さっそくにありがとうございました。
すごい内容の充実したサイトですね。
試してみました。
ただ、入力の途中で区切ると後半だけの分しか残らないのですね。
研究してみます。

それから、またお願いなのですが、
エンターキーで入力項目を移動するという、よくあるパターンですが、可能でしょうか。
メーカーサイドのアナウンスでは、不可能だったと思うのですが。

430TOKO:2007/04/01(日) 23:17:35
「Enter」によるコントロール間移動

Ⅰ.ニャン子さんの「F-Basic Programming Life」
 *ttp://www.geocities.co.jp/SiliconValley/1223/mainmenu.html
 9.【番外編】ウィンドウメッセージを横取りする
 を、利用させていただく・・・

Ⅱ.ここのHPトップの
 ★エディットボックスでエンター移動★(gobou氏)

Ⅲ.昔どなたかが発表されていた方法

#Define CrLf$ Chr$(13, 10)

Declare Sub Edit1_Change edecl ()
Sub Edit1_Change()
Ed1$ = GetDlgItemText("Edit1")
EPos = InStr(Ed1$, CrLf$)
If EPos <> 0 Then
Ed1$ = Mid$(Ed1$, 1, EPos - 1) & Mid$(Ed1$, EPos + 2)
Edit1.SetWindowText Ed1$
Edit2.SetFocus
End If
End Sub

※EditBoxのプロパティ設定
 複数行入力→あり
 文字数制限→目的文字数+2(CRLFの2文字分)
 垂直オートスクロール→あり

などがあります。

431kuri:2007/04/02(月) 22:41:44
TOKOさん、またまた有難うございます。
御礼が遅くなりすみません。
風邪を引いてしまい、咳が強くて困っています。
まだ、試していませんが、じっくりと研究してみます。
複数行入力ありって、面白い発想ですね。
また、よろしくお願いします。

432ハル2183:2007/04/03(火) 12:45:33
あるフォルダー内のファイル名を全て変換したいのですが、教えていただきませんか?
例)track1.mp3→恋ものがたり.mp3

433nisii:2007/04/04(水) 01:34:38
どういう状況で困られているのかが、分かりません。
つまづいている点を、具体的に書いていただけませんか?

434あった:2007/04/22(日) 23:55:08
F-Basicのことを誰に聞いていいのかわからず、
ネットを見ていたらこんなに充実した掲示板があるなんて!!
よかったら仲間に入れてください。
Q:mainformのクローズボタンを押した後、
クローズを取り消すにはどうしたらよいのでしょうか?
QUERY_CLOSEのイベント内で処理できますか?
お願いします。

435nisii:2007/04/23(月) 04:42:47
この掲示板トップの「F-BASIC掲示板(雑談歓迎)」でメインサイトに戻り、
「アプリケーションを閉じさせない」を参考にしてください。

436あった:2007/04/23(月) 22:55:22
nisiiさんありがとうございます。すでに書かれていたんですね。

437kuri:2007/06/01(金) 03:54:23
すみません、教えてください。
HTTPOPEN(CLOSE) や HTTPGET は、独立型では使えないのでしょうか。
コンパイルすると、こんなエラーが出ます。
MAIN.obj : error LNK2001: 外部シンボル "_FB$HTTPOPEN@8" は未解決です
MAIN.obj : error LNK2001: 外部シンボル "_FB$HTTPGET@16" は未解決です
MAIN.obj : error LNK2001: 外部シンボル "_FB$HTTPCLOSE@4" は未解決です

プロジェクト環境のライブラリーで、次のように表記されますが・・・
「インターネット拡張ライブラリー(独立型はサポートされていません)」
どこかに、ライブラリーは、あるのでしょうか。

438nisii:2007/06/01(金) 21:56:54
>>437
この場合、独立型はサポートされませんので、ランタイム型でコンパイルしましょう。
別のPCで実行する場合は、ランタイムファイルを実行ファイルとともにコピーします。
私がよく使うのは次の4つです。

F1A0RN63.DLL 基本命令2
F1A0LF63.DLL ファイル拡張
F1A0RW63.DLL ウィンドウ拡張
F1A0RI63.DLL インターネット拡張

ライブラリファイルはF-BASICインストールフォルダの\LIBにあります。

439kuri:2007/06/01(金) 22:58:03
nisiiさん、ありがとうございます。
やはり、独立型ではサポートされていないのですね。
なんだか、詐欺に遭った気がします。
F-BASICでありがたいのは独立型が簡単に作れた事ですが、ちょっと残念です。

440kuri:2007/06/01(金) 23:29:29
nisiiさん、たびたびすみません。

F1A0RN63.DLL 基本命令2
F1A0RW63.DLL ウィンドウ拡張
F1A0RI63.DLL インターネット拡張
この3ファイルは、system32 にありましたが、
F1A0LF63.DLL ファイル拡張
このファイルは、どこにも見つかりません。
もし、存在場所をご存知でしたら、教えてください。

441hill:2007/06/01(金) 23:34:54
いまさらなんですが・・・F-BASICって手に入らないでしょうか?

442nisii:2007/06/02(土) 02:15:08
>>440
あ、書き間違いがありました。ごめんなさい。
>>438 の4つは.DLLではなく.LIBです。
F1A0LM63.LIBは、実行ファイルに組み込まれます。

443nisii:2007/06/02(土) 02:15:52
>>441
オークションとかで気長に待つしかないかも、です。

444kuri:2007/06/02(土) 20:07:33
>>442
nisiiさん、ありがとうございます。

結果的に、次の3ファイルが必要という事ですね。
F1A0RN63.DLL 基本命令2
F1A0RW63.DLL ウィンドウ拡張
F1A0RI63.DLL インターネット拡張

445kuri:2007/06/07(木) 19:13:41
>>430
少し古い話で恐縮です。
TOKOさんに教えていただいた方法ですが、
Enterキーの入力では Sub Edit1_Change() に行きません。
何が間違っているのでしょうか。
よろしくお願いします。

446kuri:2007/06/07(木) 19:20:24
>>445
すみません、少し間違いました。
edit1 で 複数行入力を「あり」とすると、Edit1_Change は発生します。
しかし、次の部分で crlf を認識しません。
Ed1$ = GetDlgItemText("Edit1")
EPos = InStr(Ed1$, CrLf$)
よろしくお願いします。

447<削除>:<削除>
<削除>

448TOKO:2007/06/08(金) 17:22:33
kuriさん>こんにちは
あれっ!動きませんか?
コードの一部だけでは、どうなっているか解りませんので
EditBox を3個貼り付けた例を下記にUPしておきます。
*ttp://www.geocities.jp/tokovalue05/EnterMove.htm

449kuri:2007/06/08(金) 22:10:02
TOKOさん、ありがとうございます。
垂直オートスクロール(あり)を忘れていました。

API_GETKEYSTATEを使って、一応解決していましたが、
こちらの方が、妙な音はしないし、スマートで良いです。

あまり F-BASIC を使った事が無かったのですが、思っていた以上に良い言語ですね。
多くのファンが、まだ居られるのが解ります。
継続して欲しかったですね。

450Vista不得意人間:2007/07/17(火) 20:21:39
XPではSETORIGIN 0,0でホームが移動しましたが、同じプログラムをVista上で
動かしても稼働しません。

何か良い方法はありませんか?
(私のバグならお許しください)

451F橋:2007/07/19(木) 02:22:44
>>450
SETORIGIN 0,0 を使った事がありません
数行程度のサンプルソースをここにコピペして頂ければ
1週間以内に私が使っているVistaでの動作をご報告できますが・・

452Vista不得意人間:2007/07/23(月) 15:30:43
#include "windows.bi"
#include "file.bi"
MAXIMIZEWINDOW
close #1
SETFOCUS
SETIMEMODE 2
cls
locate 2,2:print "SETORIGIN 0,0のプログラムです"
locate 2,80'この段階でlocate 2,2:print "SETORIGIN 0,0のプログラムです"が上に消えます

input "お願いします ";Z$
SETORIGIN 0,0
stop:end

******.RCで

#include "f1a0form.h"

// version info ===
FB$VersionInfo RCDATA
BEGIN
// RCDATAITEMHEADER
"FB", 0
0x6, 0x10
END

// 'MAINFORM' form data ===
MAINFORM RCDATA
BEGIN
// RCDATAITEMHEADER
"FB", 1
__BEGIN
__CLASS, "MAINFORM\0", "\0"
__CREATE3, XWT_FORM, 0xff0115L, 0x0L
__ATTRDATA3, 0x0L
__3DFORM3, 0x0L
__REDRAWMODE, RDRW_BITMAP
__TEXTBUFFER, 132, 124
__AXIS3, 0x0L
__WINDOWTITLE, "MAINFORM\0"
__CONTROLNAME, "MAINFORM\0"
__TEXTCOLOR, 0
__FORECOLOR, 0
__BACKCOLOR, 15
__GRID2, 1, 1, 8, 8
__CLIPBOARD, 1
__FONTSIZE, 16
__FONTNAME2, "MS 明朝\0", 1, 44
__SENDMESSAGE, 0x32L, 0x0L, 0x0L //WM_SETHOTKEY
__WINDOWSIZE3, 0x0L, 0x96L, 0x120L, 0x320L, 0x1ceL
__EVENT
__BEGIN
__EV_START, "MAINFORM_START\0"
__EV_END, "MAINFORM_END\0"
__EV_SETFOCUS, "MAINFORM_SETFOCUS\0"
__EV_KILLFOCUS, "MAINFORM_KILLFOCUS\0"
__EV_RESIZE, "MAINFORM_RESIZE\0"
__EV_CLICK, "MAINFORM_CLICK\0"
__EV_DBLCLICK, "MAINFORM_DBLCLICK\0"
__EV_MOUSEDOWN, "MAINFORM_MOUSEDOWN\0"
__EV_MOUSEUP, "MAINFORM_MOUSEUP\0"
__EV_MOUSEMOVE, "MAINFORM_MOUSEMOVE\0"
__EV_QUERYCLOSE, "MAINFORM_QUERYCLOSE\0"
__EV_NOTIFYICON, "MAINFORM_DROPFILES\0"
__EV_DROPFILES, "MAINFORM_NOTIFYICON\0"
__EV_MOUSEWHEEL, "MAINFORM_MOUSEWHEEL\0"
__END
__SHOWWINDOW3, XSW3_SHOWMAXIMIZED
__ENABLEWINDOW, 0
__END
END

でかなり画面の下で表示されてもかならず0,0に戻りそこで初期の画面表示が出来ます

(このままの******.basではlocate 2,80でエラーがでます)

453F橋:2007/07/26(木) 22:55:25
>>452
私は頭が悪いので

>(このままの******.basではlocate 2,80でエラーがでます)
と言われても分かりません(笑)
また、SETORIGINを使った事が無いので正常異常の区別できません

main.basに貼り付けて翻訳実行するだけでいいサンプルを頂ければ
再度ご報告致します

454HongKong_market:2007/11/19(月) 22:47:17
【U003+】
F-BASIC v6.3に対して提供されているアップデートは、公式にはU003までです。
私は2000年当時、富士通に対してバグ報告をしてアップデートのローカル
リリースを受けました。

ドキュメントには「U003+」とあり、SETORIGIN命令とENUMFONTNAMES関数に
冠する不具合が修正されています。

興味のある方はご連絡ください。

455F橋:2007/11/20(火) 03:50:12
>>454
非常に興味があるのでメールで送って頂けませんでしょうか?
2000年前後に同様に富士通からバグフィックスを送って頂いた方が見えてそれを利用していますが
それと比べてみたいと思います

よろしくお願いします

456HongKong_market:2007/12/01(土) 00:04:17
U003+公開】
ローカルリリースされた F-BASIC V6.3向けアップデータ U003+ を下記におきました。
興味をお持ちの方はアクセスしてみてください。

   ttp://bluemarble.jp/fbasic/

457HongKong_market:2007/12/04(火) 19:57:58
【F-BASICマニュアル】
下記の富士通のWebによると、F-BASIC Ver.6.3のマニュアルを
販売しているとあります。

   www.fmworld.net/product/soft/fbasic/books/

実際に FOMダイレクトショップ(0120-818-128)に聞いてみた
ところ、すでに絶版になっているとのこと。
コピーして製本したものならば販売できるが、価格は同じで、
3冊で1万ン千円とのことでした。

電波新聞社が発行している「F‐BASIC V6.3プログラミングのすべて」
という書籍はまだアマゾンでも手に入るようです。
どのような内容なのか、読まれた方はいらっしゃいますか?

   www.amazon.co.jp

458TOKO:2007/12/05(水) 22:53:52
HongKong_marketさん>
U003+をダウンロードさせていただきました。情報ありがとうございます。
私も、何時だったかは忘れましたが、format$ の不具合でリリースを受けた
ことがありました。その後のバージョンでは修正されているのでしょうが、
報告のあった人にだけ修正版を提供(違うかもしれませんが)というのが
チョット引っかかります。
U003+では、>>450 のSETORIGINも修正されているのでしょうかね?
私は、使ったことがないので解りませんが・・

HAMの方でもご活躍のようですね。私は10年ほど前から局免を更新していません^^;)
JA8KIL ex JA1WGR
TOKO

459F橋:2007/12/06(木) 01:07:46
>>456
メール送りましたのでご確認頂けると助かります

>>457
F‐BASIC V6.3プログラミングのすべて持ってます
BASIC初心者もしくはWindowsBASIC初心者がF-BASICで楽しく勉強したい方に特にお勧めです
BASICの文法、ボタンを押して表示、画像の表示や編集、データベースへの接続、FTPやHTTPのサンプルなどです
仕事でプログラムをしている方でマニュアルやサンプルを一通り見ている方なら不要かも知れませんw
(F-BASICのマニュアルとサンプルは非常に充実しているので)
ただし見やすい分かりやすいなどは確かで私は買って損は無いと思っていますよ

nisiiさんやニャン子さんのような方はいらないと思います(笑
仕事でプログラムしている私ですが、本を読み理解する能力が低い私には少し便利です(笑

>>458
>報告のあった人にだけ修正版を提供(違うかもしれませんが)というのがチョット引っかかります。
実は私も同じでなぜ富士通が公開してくれないかが気になります
富士通がF-BASICの自然消滅を願っている気がします

460ままま:2008/01/01(火) 23:02:10
元旦早々の質問、よろしくお願いします。

まままと申します。初参加です。
数年来F-basicを使用し、どこかでVBに移行しなければと思いつつも、
結局販売終了となったV6.3まで、毎回のVersionUPを継続してきました。
年明けには、新しくドットNetが発売されるとの事、ついに以降の時かと思い、
それでいて、この休みにいろいろネット検索をしているうちのこちらを発見しました。
私も、是非ともVersion7を期待したく思います。

前置きが長くなりましたが、本題の質問です。
(長年使ってますが、超初心者です)
現在、win2000で使用しているのですが、コンパイル後のexeプログラムを
XpやVistaで使用する際に、文字が大きくなり困っています。
こちらに掲載される情報を拝見すると、各コントロールのフォントサイズを
指定して回避できるとの事で、早速、行ってみました。
そして、結果は、その通りなのですが、下記の点、お教えください。

1.フォームに多くのボタンを配置しています。これまでは、ボタンの
プロパティでフォントサイズを指定していたのですが、コントロールごとの
指定になると、すべてのボタンに対して、下記の3行が必要なのでしょうか?
例えば、ボタンが20個あると、20x3=60行の命令追加が必要ですか?
var shared ... as object
... attach getdlgitem("...")
... setfontsize ..

2.そのような長いプログラムの追加で、メモリの使用量や動作速度への影響は
いかがなものでしょうか?

3.Xpでの表示では、いったん大きなフォント(プロパティ指定の大きさ)で表示され、
その後、コントロール(プログラム上)の指定サイズで小さく表示されるため、
文字の大きさが小さく変化するのが見えてしまします。
これは、回避できないのでしょうか?

いきなりの参加でのご質問ですが、よろしくお願い致します。

461nisii:2008/01/02(水) 09:01:16
まだ酔っ払い中につき、手短で失礼します。

1.
コントロール毎にフォントサイズの指定が必要です。

2.
再利用しないコントロールは、フォント指定後にDETACHで開放できます。
特にWindowsMe/98を前提にするなら、積極的に行うのが望ましいです。
起動時に指定するだけですし、プログラムの実行速度には影響しません。

3.
あらかじめMAINFORMのプロパティ…基本スタイル…可視…なし
で非表示にしておき、すべての準備ができた時点でSHOWWINDOWを使って
表示すれば解決できます。

462TOKO:2008/01/02(水) 09:21:20
皆様、明けましておめでとうございます。
今年もよろしくお願いいたします。

まままさん>
MainFormにButton数が20個の場合、MainFormを「可視なし」に設定。

Var Shared Button(19) As Object

For i = 0 To 19
Button(i).Attach GetDlgItem("Button") & Trim$(Str$(i + 1)))
Button(i).SetFontSize 14
Next i

ShowWindow -1

というのは、どうでしょうか。

と、書いてページ更新をしたら、nisiiさんに先を越されていました。

463ままま:2008/01/02(水) 19:18:47
nisiiさん、TOKOさん、お正月にも関わらず、
ご回答ありがとうございます。

早速、試してみます。
と、申しましても、私には簡単なことではないので、
少々時間がかかるかと思いますが、近いうちに、結果を
ご報告致します。(今夜は寝られないかも)

しかし、このような場があると、心強いですね。
今更ながら、"F‐BASIC V6.3プログラミングのすべて"を注文しました。

464ままま:2008/01/03(木) 01:02:44
Var Shared Button(19) As Object

For i = 0 To 19
Button(i).Attach GetDlgItem("Button") & Trim$(Str$(i + 1)))
Button(i).SetFontSize 14
Next i

Xp/Vistaで文字表示の大きさが変化するのは、「可視なし」で解決しました。
あと、上記のコマンドですが、1行目のButton(19)とか、3,4行目のプログラムは
使えるのでしょうか?
私の環境は、windows2000+Ver6.3ですが、コンパイル時に”文法が正しくありません”となります。
楽せず、すべて個々に打ち込めば良い事ではあるのですが。。。

ご教授、よろしくお願いします。

465F橋:2008/01/03(木) 03:39:00
まままさん>
おめでとうございます。初参加ありがとうございます。

フォントの件ですが、MSゴシックでVistaでプログラムを作っていますが
XPと2000では(私の見た目では)同じ大きさに見えます
フォントサイズによって違いがあるみたいです。15ポイントでは問題ないように見えます
(3ポイント単位でずれたりずれなかったりした気がします)
Fixedsysも問題ありませんが、なぜかDELLだけ問題が出た気がします
これはVista、XP、2000のNT系(NTは試していませんがw)話であり、
95系(テストでは98を使用)では大きさが変わります。おそらくMeも変わると思われますのでご注意下さい
上記はVistaでコンパイルした場合です。XPや2000でコンパイルした場合は分かりません。

95系、NT系で同じフォントで同じサイズでは基本的にずれたと思います。詳しくはnisiiさんへ(笑
95系でもNT系でも同じ表示にする場合はプログラムでOSを判断して
95系ならフォントサイズ10ポイント、NT系ならフォントサイズ15ポイントなどの指定が必要のはずです

466TOKO:2008/01/03(木) 08:32:47
まままさん>
ゴメン(^^;)
前回は温泉行きの準備で焦っていたようです。「)」が多すぎました。
今,出先のPCで掲示板を見て気がつきました。
Button(i).Attach GetDlgItem("Button") & Trim$(Str$(i + 1)))

Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1)))

Buttonに限らずフォームに貼り付けた複数のEditBoxの中身をクリアしたい場合などは便利です。

Var Shared Edit(19) As Object


For i = 0 To 19
Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1)))
Next i

と書けば、

表示クリアは、
For i = 0 To 19
Edit(i).SetWindowText ""
Next i
のような感じでできますね。

大雪山国立公園 十勝岳温泉郷 吹上温泉保養センター白銀荘
雪の中の露天風呂は最高でした。(^^)

467ままま:2008/01/03(木) 13:08:43
F橋さん、TOKOさん、ありがとうございます。

F-BASIC V6.3は、windows2000で使用しており、
今回の件は、MSPゴシックでフォントサイズ11を使用しています。
ここでコンパイルしたものを、XpやVistaで実行すると、大きなフォントで
表示されます。

さて、相変わらず、解決できていなのですが。。。
Button(i).・・・の様に、(i)として変数は使えるのでしょうか?
コンパイル時に「文法が正しくありません」となります。

Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1)))
は、Buttonは(i)ですが、GetDlgItemは(i+1)ですが、これで良いですか?

Var Shared Edit(19) As Object
は、Edit1〜20をすべて選択してる事になるのでしょうか?
例えば、Edit10とEdit14を使用していないなど、連続していない場合は
どのように考えればよいでしょうか?

正月早々の質問ばかりで恐縮ですが、よろしくお願いします。

468TOKO:2008/01/03(木) 17:28:29
まままさん>こんばんは、無事札幌に帰ってきました。

>コンパイル時に「文法が正しくありません」となります。
プログラムの始めに
#include "Windows.bi"
が、入っていますか?

>Buttonは(i)ですが、GetDlgItemは(i+1)ですが、これで良いですか?
配列は「0」から始まります。コントロールIDの番号は「1」から始まります。
でもって、
Button(19)は、0〜19で20個になります。
コントロールID → 配列変数
Button1 → Button(0)
Button2 → Button(1)
中略
Button19 → Button(18)
Button20 → Button(19)

配列のButton(0)を無視するのであれば、
Var Shared Button(20) As Object(これは21個分用意してある)

For i = 1 to 20
Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i)))
Next i
でも・・・

>例えば、Edit10とEdit14を使用していないなど、連続していない場合は
私は、コントロールの数がどんなに多くても連番にしていますが、10 と 14 だけ
どうしても生理的に受け付けない(^^;)というのであれば、その番号の時はAttachのところを
If文とか、Case文とかを使って通らないようにすると良いのではないでしょうか。

469ままま:2008/01/03(木) 20:11:04
TOKOさん、詳しいご説明で理解できました。
ありがとうございました。
Button(i)など、Var Shared Button(i) As Objectで指定すると、
後のプログラムの記述では、Button(1)をButton2としては
記述できないのですね。
(文法エラーになりました。(i)で記述したら問題なしでした。)

さて、番号が連続していない点については、Buttonを作ったり消したりしてるうちに、
無い番号ができてしまったためです。
Buttonの番号は変えられるものでしょうか?

470TOKO:2008/01/03(木) 20:27:56
>Buttonの番号は変えられるものでしょうか?
例えば、Button10の必要が無くなってButton9に変更する場合、プロパティで
コントロールID(I)のButton10をButton9に修正、更に表示内容(P)でイベントを選択し
Button10_onをButton9_onに修正します。

471ままま:2008/01/03(木) 21:45:38
TOKOさん、早々のお返事ありがとうございます。
コントロールIDの名称は、書き換えられるのですね。
こんな単純なことだったとは。。。 以前も、ずいぶん悩んで結局諦めた経緯があります。
ありがとうございました。

472F橋:2008/01/03(木) 23:40:38
横からすいません。解決済みかも知れませんが…

2000とXPで同じ大きさにするにはMS明朝やMSゴシックでは無くMS明朝やMSPゴシックにするとの事
ttp://support.microsoft.com/kb/417434/ja

6、7.5、9などの1.5の倍数を使うとずれないとのこと(話題ではMS明朝でした)
ttp://www.ailight.jp/blog/myamyu/archive/2005/03/03/4751.aspx

私が使っていたフォントは(固定長のMSゴシックですが)フォント15なのでずれないのかも知れません

プログラムでフォントサイズを切り替えればもちろん一番いいのですが正直手間ですよね(笑
ですのでプロパティのみでプログラムは変更しなくてもいい話をさせて頂きました。しつこくてすいません(笑

473ままま:2008/01/04(金) 00:42:38
F橋様

フォントの件、確認しました。
現在使用しているものは、MSPゴシックで、サイズが、11、12、14です。
XpやVistaでは、そのいずれもが、大きくなってしまいます。

確かに、プロパティのみの変更で済むと、手間いらずでよいのですが。。。
対応策は理解し、確認も済ませたのですが、変更箇所が多くあるため、
まだ、変更処置に踏み切れずにいます。。。

474F橋:2008/01/05(土) 01:33:30
>>473
フォントをFixedsysにした場合はどうなりますか?
尚、DELLにはFixedsysが無いのかうまく動かない場合がありますが
(はっきりとした理由分からないのですがDELLで動かすと(全てでは無いのですが)画面ずれたりしました)


新着レスの表示


名前: E-mail(省略可)

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

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

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

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