visual-foxpro チュートリアル
visual-foxproを使い始める
サーチ…
備考
FoxproはFoxソフトウェアによって80年代初期(FoxBase - 1984?)に作られ、Mac OS、Unix、DOS、Windowsプラットフォームでサポートされています。それはPC上で最も速いデータベースエンジンとして知られていました。 1992年後半、 残念ながら 、Microsoftによって買収されました。 Microsoftが引き継いだ後、1994年にDOS用のFoxpro(FPD)とWindows用のFoxpro(FPW)2.6がリリースされました。 1995年の終わりに、Foxproは「Visual」という名前を持ち、プラットフォームのサポートはWindowsに限られていました。 FoxProの最初のバージョンで、言語がオブジェクト指向であることが判明しました。
マイクロソフトの公式Visual Foxpro(一般にVFPと呼ばれる)サイトでは、次のように記述されています。
Microsoft®VisualFoxPro®データベース開発システムは、高性能デスクトップ、リッチクライアント、分散クライアント、クライアント/サーバー、およびWebデータベースアプリケーションを迅速に作成するための強力なツールです。
これは古い言語ですが、Windowsデスクトップ用にデータ中心のアプリケーションを迅速に作成するための最も簡単な言語と考えられています。何が必要なのWindowsデスクトップは、その後、VFPを選択するためのデータベースのアプリケーションを作成することであるならば 、あなたは本当に簡単かつ迅速にそれを行うだろう。
バージョン
バージョン | 解放された |
---|---|
FPW 2.6a | 1994-10-28 |
Visual Foxpro 3.0 | 1995-12-16 |
Visual Foxpro 5.0 | 1997年1月24日 |
Visual Foxpro 6.0 | 2000-08-18 |
Visual Foxpro 7.0 | 2002-01-04 |
Visual Foxpro 8.0 | 2003年10月25日 |
Visual Foxpro 9.0 | 2004年12月13日 |
Visual Foxpro 9.0 SP2 | 2007年10月21日 |
インストールまたはセットアップ
visual-foxproをセットアップまたはインストールするための詳細な手順。
こんにちは世界
伝統的に、すべての言語で、最初の例は "Hello World"を印刷することです。おそらくそれを行うのはVFPで最も簡単です:
? "Hello World"
グローバルエラーハンドラを追加する
VFPアプリケーションで未処理のエラー(例外)を取得する簡単な方法は、メインプログラムの先頭近くでON ERRORコマンドを使用することです。
次のON ERRORコマンドは、 "errorHandler"という現在のプログラム内のメソッドを呼び出します。 ERROR(VFPエラー番号)、MESSAGE(VFPエラーメッセージ)、PROGRAM(現在実行中のプログラムの名前)、およびLINENO(エラーの行番号)によって返された値は、errorHandlerメソッドに渡されます。
ON ERROR DO errorHandler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
単純なerrorHandlerメソッドは次のようになります。
PROCEDURE errorHandler
LPARAMETERS tnVFPErrorNumber, tcVFPErrorMessage, tcProcWithError, tnLineNumber
STORE 'Error message: ' + tcVFPErrorMessage + CHR(13) + ;
'Error number: ' + TRANSFORM(tnVFPErrorNumber) + CHR(13) + ;
'Procedure with error: ' + tcProcWithError + CHR(13) + ;
'Line number of error: ' + TRANSFORM(tnLineNumber) TO lcDetails
MESSAGEBOX(lcDetails, 16, "Unhandled Exception")
ON ERROR *
ON SHUTDOWN
CLEAR EVENTS
QUIT
ENDPROC
間にエラーハンドラを変更して復元することもできます。たとえば、ある時点でフォルダ内のすべてのテーブルを排他的に開く場合や、続行したくない場合は、
procedure DoSomethingWithExclusiveLock(tcFolder)
local lcOldError, llInUse, ix && by default these variables have a value of .F.
lcError = on('error') && save current handler
on error llInUse = .T. && new handler
local array laTables[1]
for ix=1 to adir(laTables, addbs(m.tcFolder) + '*.dbf'))
use (addbs(m.tcFolder)+laTables[m.ix,1]) in 0 exclusive
endfor
on error &lcError && restore old handler
if m.llInUse && couldn't get exclusive lock on all tables
close databases all
return
endif
* do whatever
endproc
ヒント:特に、デバッグ中に、エラーが発生した場所、エラーが発生した場所のどこかでコードを分解してステップインできるデフォルトのエラーハンドラを復元したい場合があります。
on error
これを行うだろう。