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

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

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

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

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

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で動かすと(全てでは無いのですが)画面ずれたりしました)

478B.O.A.-ceo:2008/09/17(水) 11:13:25
やっと、時間的余裕ができ、30年前に造ったものを
移そうと思ったら、2行目でつまづき、困っています。
その昔、Width 40とWidth 80と書けば(もっとも、この2種しか
できない。)その通り、OKだけど。F-Basicでは、Errorとなり
先へ進めない。行番号の変更もDirectに出来ない。これでは

479nisii:2008/09/17(水) 23:42:26
>>478
F-BASICはコンパイル型ですので、頭を切り替えていただくしかありません。
プログラム実行中にのみ width文は動作します。

行番号はラベル程度の位置づけですので、新規に入力されるなら、
行番号の無いプログラミングスタイルをお勧めします。

if then/else/endif
whike/wend
select case/end select

などを使うことで、行番号は不要になります。

480nisii:2008/09/18(木) 18:22:13
>>479
誤)whike/wend

正)while/wend

481B.O.A.-ceo:2008/09/20(土) 09:21:08
プログラム実行中にのみ width文は動作します。←そのプログラム自体Errorと出るので使えません。困った。

482nisii:2008/09/20(土) 13:44:32
翻訳(コンパイル)のエラーですか?実行中のエラーですか?エラーの内容は?
あと、F-BASICのバージョンはV6.3で、アップデートU003を入れてありますか?

DOS時代のBASICと完全互換ではありませんから、
無い命令やパラメータの違う命令もあり、書き換えは必要です。
元リストファイルを読み込んで利用する場合、移行支援機能を活用してください。
[編集(E)]-[移行支援(V)]

疑わしい命令を確認する場合、2行に分けると特定しやすいでしょう。
行番号がなくても、記述順に実行されます。
10 width 40 : cls : paint( 0, 0 ), 5
20 end

10 width 40 : cls :
paint( 0, 0 ), 5    ' paintでエラーが起きているか確認しやすい
20 end

申し訳ありませんが、2行目でエラーになると言われても、何が書かれているか分かりません。
リストとエラーの掲示をお願いします。

483B.O.A.-ceo:2008/09/28(日) 10:02:53
A$="abc"
width 40
print A$
stop
end
「行番号は省略。」お蔭様でErrorは出なくなりました。しかし、実行すると
width40を80に変えても、文字の大きさは画面上同じでした。Versionは6.0です

484nisii:2008/09/28(日) 22:56:02
width文は、文字の最大桁数を指定します。

フォントサイズを変更したいと理解しましたが、よろしいでしょうか?
フォントサイズは、FONT構造体のSIZEで指定します。


#include "windows.bi"

var FFONT as FONT
FFONT.SIZE = 64
FFONT.BOLD = 0
FFONT.ITALIC = 0
FFONT.UNDERLINE = 0
FFONT.STRIKEOUT = 0
FFONT.FFNAME = "MS 明朝"

SETMAPMODE 2 ' 1/10mmモード
SETFONT FFONT
print "ABC"
print "日本語"

wait 500
end

485B.O.A.-ceo:2008/10/05(日) 10:02:54
フォントサイズを変更したいと←そうです。色々と有難う御座いました。
助かりました。

486puff_puff:2008/11/18(火) 22:52:44
超ご無沙汰してました。
皆さん、ご活躍中のようで(この掲示板が稼働中で)安心しました。
また、F-basicをしばらく使う事になりましたので、
また、時々寄ります。よろしくお願いします。

487puff_puff:2008/11/18(火) 22:54:01
書き込むところを間違えました。ごめんなさい。
雑談の所に書くつもりでした。
汚しちゃって、ごめんなさい。

488シマヅ:2009/03/06(金) 22:38:26
■Windows(R)7とF-BASICの互換性等
 次期OSと言われている、Windows(R)7とF-BASICの互換性等、何か情報をお持ちの方がおりましたら、宜しくお願い致します。

489JUN:2009/05/10(日) 10:00:21
みなさん、こんにちは。
Windows7(RC版)、インストールしてみましたので動作状況等
報告してみたいと思います。

M/B:M3A78 PRO (ASUS)
CPU:Athlon64 X2 4200+(2.2GHz)
メモリ:2GB

●動作確認できたアプリケーション
 F−BASIC V6.3 (U0003)
 Mifes V6.0
 一太郎2006(ATOK2006)
 とりあえず、F−BASIC開発に必要なもの。

●動作関連について
 インストールは、すんなりいきました。
 コンパイルも、無事終了しました。
 作成したプログラムは動作しました。
 日本語入力も自作ライブラリィで動作しました(確認はATOKのみ)。
 Btrieveファイルは、読み書きできました。

●気になる点など
 F−BASICのことではありませんが、エクスプーラで動作可能な
 モジュール(.COM .EXE等)の拡張子が表示しません。当方、Vistaを
 飛び越しているのでこれは仕様かなと思っています。情報お持ちの
 方はお教えください。

490makoto:2009/05/11(月) 13:16:45
こんにちは

>モジュール(.COM .EXE等)の拡張子が表示しません。

[スタート]-[コントロールパネル]-[ディスクトップのカスタマイズ]-
[フォルダーオプション]-[表示]の[]登録されている拡張子は表示しない
で当方の環境では表示されるようになりました。

>Windows(R)7とF-BASICの互換性等

FMV-D5340 Core2 6700 2GB 32ビット RCで問題なく動作しています。XPより快適ですw

491JUN:2009/05/11(月) 13:25:41
早速の書き込みありがとうございます。
帰宅して設定してみたいと思います。
それにしても、2000やXpと同じ機能ながら
設定する場所が違うのが結構あり探すのが
大変です。
ありがとうございました。

492名無しさん:2009/05/19(火) 17:57:42
こんばんは
F-BASICで作ったEXEファイルのショートカットに、別のファイルをマウスでドロップするとそのファイルの名称を習得するようなプログラムを書きたいのですがどうすればいいのでしょうか

493nisii:2009/05/19(火) 19:40:15
command$ で得られます。
通常の引数か判別するため、ISEXISTFILEでファイル名の存在を確認しましょう。

494名無しさん:2009/05/19(火) 22:22:44
回答をいただけてうれしいです。
ありがとうございました。

495シマヅ:2009/05/22(金) 16:31:57
皆様、貴重な情報を有難う御座います。なんとかプログラミングの寿命が伸びそうでホッとしています。《仕事の都合(出張等)などで返事が遅れて申し訳ありませんでした》

496追質問:2009/07/05(日) 23:04:14
名無しさんの質問に似てるのですが、ファイルをダブルクリックし、関連付けされた
ファイルとして、アプリケーションを起動させたとき、アプリケーションでカレントディレクトリが
ファイルの場所になりますが、アプリの本来のパスはどうしたら取得できますか?

497nisii:2009/07/06(月) 01:01:24
タイトル「F-BASIC掲示板(雑談歓迎)」をクリックして、メインページに戻り、
「いまさら聞けなかったAPI」の「ウィンドウの列挙とモジュール名の取得」を見てください。
自分自身のパスを得るサンプルがあります。

498追質問:2009/07/06(月) 20:01:54
ありがとうございます。うまくいきました。
なにぶんプログラム初心者なもので、、、
現在、ファイルを閲覧するプログラムを作っているのですが、いろんなところで、立ち止まっています。
マルチラインエディターのスクロールポジション取得やキーイベントなど、F-BASICにはありませんよね?、
(キーイベントに関しては、どこかで、どなたかが、記述していたような記憶があるのですが、、、、)

499YUTTA:2009/08/31(月) 10:05:06
ご無沙汰しております。<(_ _)>
今も尚F-BASICにお世話になっているYUTTAです。
お時間がございましたら下記につきましてご教示下さいませ<(_ _)>

vistaでも、なんとかF-BASICは動作し、相変わらずコンパイルに
いそいんでいる毎日ですが、「U003」へのアップデートができません。
ちなみにメインのPCがxpとvistaのデュアルブートなので、XPから、
vistaにF-BASICをフォルダ毎上書きコピーし、一応「U003」にしてなん
とか、問題もなく使用している状況です。"^_^"
vistaになってから、システム内の「expand.exe」との互換性に問題
が・・・・・・、などと疑っているところなんですが?
どなたかよい方法をお知り方、ご教示宜しくお願い致します。<(_ _)>

500nisii:2009/09/01(火) 13:18:27
ごぶさたです。
今、Vista SP2マシンに入れてみましたが、特に問題なくインストールは完了しました。
その環境固有の問題ではないでしょうか?

いったんXP側のF-BASICをアンインスール、該当フォルダも削除してから、
Vista側でインストールするとか。

501YUTTA:2009/09/09(水) 11:10:48
YUTTAです。
nisii先生ありがとうございました。<(_ _)>
まさにご指導の通り実行しましたら、U003にアップデートできました。
デュアルブートが原因だったんですね(^_^;)
VISTAにしてからずうっと悩んでいたんですが、
みごと解消です! 大変ありがとうございました。
VISTAにしてもうひとつ今ひっかかっていることがあります。
APIを使ってフォームの×ボタン無効化を行っていましたが、
VISTA・basicからVISTA・Ultimateにし、エアロをONにしたら、
この×ボタンの無効化で無効化可能なのだけれど、マウスにボタンが反応する?
(色など無効化前の状態のまま・・・)のです。
まあ、プログラムの実行上問題はありませんが、なんか気になります。
今また、Windows7で、更に悩みが増えそうでまたまたゲイ○氏には
頭にきますです。(^_^;)
このたびは誠にありがとうございました。 <(_ _)>

YUTTA

502FB使用人:2009/12/10(木) 00:42:10
どなたかご存知の方教えて下さい。
FBasicのメール機能を使って見ようと思いましたが、「続行不能エラー」で止まってしまいます。
MAILLOGON を実行出来きません。’98の時は確か出来ていたと思いますが、XPではダメなのでしょうか。
98の時は電話回線でしたが、ADSLにしてからは OUTLOOK に添付で、メール機能を使用していません。
どなたか詳しい方居られたら教えて下さい。(インターネット機能も実行できません)

503nisii:2009/12/10(木) 06:23:19
ヘルプより。
#電子メールの送受信をします。メールアカウントとMAPI対応のメールソフトが必要です。
#Microsoft Outlook Express 5.0以上を推奨します。

メールソフトの設定を事前にしておく必要があるのでは?
WindowsXP SP3 + Outlook Express6 + F-BASIC V6.3 U003 + YahooBB ADSL8Mで、
ヘルプにある下記サンプルの正常動作を確認しました。


#include "windows.bi"
#include "internet.bi"

MAILLOGON
TO$ ="xxx@yyy.co.jp" ' 受信者
CC$="":BCC$=""
SUBJECT$="メールのテスト" ' 件名
MSG$= "テストをおこなっています。"+chr$(13,10)
FILE$=""
MAILSEND SUBJECT$, MSG$, FILE$, TO$, CC$, BCC$
MAILLOGOFF
stop
end


インターネット機能については試していませんが、たぶん設定の問題でしょう。

504FB使用人:2009/12/11(金) 00:17:49
nisiさん
早速のご返答有難うございました。
PC環境は全く同じです。FBはしばらく(二年弱)使用してなかったので
感が戻りません。実行できるみたいなので、挑戦します。後日結果を投稿します。

505Gatefield:2010/03/20(土) 16:01:41
モード付きダイアログボックスのユーザー定義フォームにコントロール、
たとえばチェックボックスを張り付けて それを制御することって
できるんでしょうか?
張り付けることだけはできたのですが 反応してくれません。

506nisii:2010/03/21(日) 00:28:36
FORM2ではダメなのですか?
ShowwindowでON/OFFできますし、MAINFORMと同じように自由度が高いですよ。

507Gatefield:2010/03/21(日) 09:50:12
どうも ありがとうございました。
m(_._)m
いろいろやってみましたが ボタンだけ有効なんですね。

ところで FORM2表示で ダイアログみたいにタスクバーの
表示をさせない方法って あるもんでしょうか?

508nisii:2010/03/21(日) 20:05:28
フォーム表示中に、タスクバーへアイコンを表示させない方法があるかは知りません。
その間MAINFORMを非表示にするなど、工夫のしようはあると思いますが…。

509シマヅ:2010/05/24(月) 21:13:54
■印刷(ハードコピー)に関する不具合・解決方法のご相談

▼不具合内容
 メインフォームをハードコピー印刷するために「WINHARDC 3,0」を使っています。
しかし、これを実行するとメインフォームの上に一瞬「印刷スプーラにデータを送っています」のウインドウが表示され、それがメインフォームの上に被さった状態で印刷されてしまいます。

 これに関して、何か解決方法がありましたら、教えて頂けませんでしょうか?。

▼下記のような状況であることを追記しておきます。
(1)WindowsXPのパソコンではプリンターとUSB接続およびセントロニクスパラレル接続のどちらでも発生しません。(メインフォームの上に「印刷スプーラにデータを送っています」は一瞬表示されますが、印刷されません)

(2)Windows Vistaのパソコンで、印刷すると一瞬「印刷スプーラにデータを送っています」が表示されて、メインフォームの上に被さって印刷されてしまいます。
【パソコンにUSB端子しかないので、プリンターとはUSB接続しています】

(3)メインフォームをトップモーストウィンドウ MAINFORM.SETTOPMOSTWINDOW (-1) としておいても、全く効果がなく、メインフォームの上に「印刷スプーラにデータを送っています」のウインドウが一瞬表示されてしまいます。

  何か対応策がありましたら、教えて頂きたく宜しくお願い致します。

510nisii:2010/05/27(木) 03:10:32
検証していないので、確証はありませんが…。
・ディスプレイドライバのハードウェアアクセラレータを切ってみる。
・XP互換モードで実行させる。


当面の回避案として、画面キャプチャを撮って印刷する。

●API -クリップボードのビットマップをファイル化-
で、keybd_event VK_SNAPSHOT , 1 を用いれば、アクティブウィンドウの内容を得られます。

511シマヅ:2010/05/27(木) 14:47:50
 nisii 様、毎度お世話になっております、アドバイス・有難う御座います。

>ディスプレイドライバのハードウェアアクセラレータを切ってみる。
>XP互換モードで実行させる。

 効果があるかと思うのですが、知人に使って貰っているソフトに関しては、この操作をして貰うのは、難しいな〜と考えております。

>当面の回避案として、画面キャプチャを撮って印刷する

 知人に使って貰っているソフトに関してはこの方法もあることを連絡しておきました。

>API -クリップボードのビットマップをファイル化-
で、keybd_event VK_SNAPSHOT , 1 を用いれば、アクティブウィンドウの内容を得られます。

 この API を使ったことがないのですが、印刷上で「印刷スプーラにデータを送っています」を被らないようにするには、どうしたらよいかな〜と思案中です。

◆MAINFORMをウインドウの中央に表示させていたので、ウインドウの位置を移動させる MAINFORM.MOVEWINDOW 0,0 で、左上に移動させる試みもやってみたのですが、ウインドウの右下の部分に「印刷スプーラにデータを送っています」が被さってしまい、解決出来ませんでした。

 更に自分でも何か方法がないか?、考えて見ますが、根本的に解決する方法がありましたら、ご指導のほどよろしくお願い致します。有難う御座いました。

512ひろ:2010/07/27(火) 20:07:57
諸先輩方教えてください
サンプルで
var PP as PRINTPARAM
var PRINTER as object
PRINTEROBJECT PRINTER
if PRINTER.PRINTDLG(PP) then
SETMOUSEPOINTER 2
PRINTER.STARTDOC "文書"
PRINTER.STARTPAGE
PRINTER.DRAWGRP
PRINTER.ENDPAGE
PRINTER.ENDDOC
PRINTER.CLOSEPRINTER
SETMOUSEPOINTER 0
endif
で印刷するとき行間を指定したいのですが・・・・

513nisii:2010/07/29(木) 01:15:48
空白行を印刷して調整、ではダメですか?
フォントサイズを変えれば調整できると思うのですが。

514ひろ:2010/07/29(木) 22:07:57
nisiiさん ご教授ありがとうございました。
やはりその方法しかありませんかぁ!
LprintSetPitchみたいなものがあればいいのにと思います。
やりたいことは自動両面印刷をしたかったのですが、プリンタオブジェクトでだけしか
プリンタが正常動作しなかったものですから....
ありがとうございました。

515nisii:2010/07/30(金) 02:15:38
調整テストにいちいち印刷すると紙とインクがもったいない、ということであれば、
Bullzip PDF Printer
なんかでPDFファイルに出力してみてはどうですか。

516ひろ:2010/07/31(土) 09:52:42
nisiiさん 追加ご指導ありがとうございました
Bullzip PDF Printer は .NETがインストールされてないと
だめなんですねぇ(涙)

517nisii:2010/07/31(土) 22:15:33
.NET Framework も無料ですよ、念のため。
Windows updateのカスタム一覧からインストールできます。

518ken:2010/10/18(月) 12:49:42
はじめまして。
前任者が作成したf-basicプログラムで困っています。
これまで、中のデータは紙ベースでの印刷しかできなくなっていまして、・
それをcsvで抜き出したいのですが、その抜き出し方ってどうすればいいのでしょうか?
あいまいですみませんが、何か方法があれば、ヒントなどいただければ幸いです。

519nisii:2010/10/18(月) 20:23:08
F-BASICソース(リスト)を変更できますか?
文法はN88-BASIC(86)にそっくりです。

ソースを変更できるなら、print #文など、出力系の部分を探してください。
これをファイル出力に変更すればテキストファイルを得られます。
多少前後に準備文が必要ですが、難しいものではありません。

520nisii:2010/10/21(木) 04:21:11
元ソースを変更できないとしたら、PDF出力してテキストをコピペするとか。
全文手打ちするより、はるかに手間が省けると思います。

521ken:2010/11/01(月) 18:43:46
>nisii様
ありがとうございます!やってみます!

522yothan:2010/11/18(木) 22:09:16
現在でも 使用されている方がおられるのですね
val("abcdefg") 等の文字列を数値変換できないですかね

523nisii:2010/11/19(金) 20:08:24
そのままではエラーになりますが、どのような結果をお望みでしょうか?
val( "123" )
なら、結果は123の数値になります。

524keinin:2010/12/24(金) 09:40:12
はじめまして。
F-BasicでAPI関数の「GetLastError」の使い方をご存知の方がおられましたらご教授ください。

525nisii:2010/12/25(土) 01:28:37
資料から推察すると、VisualBasic同様、正しいエラーコードは得られない可能性があります。
以下、実際の動作は未確認です。

var shared RC as long
declare function API_GELASTERROR& lib "KERNEL32" alias "GetLastError" ()

RC = API_GELASTERROR

526keinin:2010/12/25(土) 08:13:59
早速のご教授有難うございます。
サンプルの方法でエラーコードを取得しているのですがリターン値が常にゼロになります。F-BasicではGetLastError関数は使えないのでしょうか?

527nisii:2010/12/25(土) 13:09:00
はい、そう考えています。
VisualBasicでも、別の組み込み関数(プロパティ)を使ってエラーコードを得るのが常套のようですし。
F-BASICにはその組み込み関数も無いため、実現は困難かと。

528keinin55:2011/05/21(土) 13:44:48
どなたかご存知の方教えて下さい。
F−BASICでタスクトレイアイコン上でマウス操作された時のイベント「NOTIFYICON」はありますが、F−BASICコマンドでウィンドウをアイコン化してタスクトレイに表示する方法はあるのでしょうか?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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