(Translated by https://www.hiragana.jp/)
Microsoft Visual FoxPro - Wikipedia

Visual FoxPro は、マイクロソフト開発かいはつ販売はんばいしているデータ中心ちゅうしんがたオブジェクト指向しこう/手続てつづがたプログラミング言語げんごである。1984ねん、Fox Softwareが開発かいはつした FoxPro当初とうしょ名称めいしょうFoxBASE)から発展はってんした製品せいひんである(Foxしゃは1992ねんにマイクロソフトに吸収きゅうしゅう合併がっぺいされた)。

Microsoft Visual FoxPro
開発元かいはつもと マイクロソフト
最新さいしんばん
Visual FoxPro 9.0 Service Pack 2 (SP2) / 2007ねん10月11にち
対応たいおうOS Microsoft Windows
プラットフォーム x86
種別しゅべつ データベースプログラミング言語げんご
ライセンス プロプライエタリ(Microsoft EULA)
公式こうしきサイト msdn.microsoft.com/vfoxpro
テンプレートを表示ひょうじ

FoxPro はテキストベースの手続てつづがたプログラミング言語げんごでありDBMSである。当初とうしょ Fox Software が開発かいはつ販売はんばいし、のちマイクロソフトがれた。対応たいおうプラットフォームとしては、MS-DOSMicrosoft WindowsMacintoshUNIX があった。

FoxPro は一般いっぱんに「xBase言語げんご」とばれる言語げんご一種いっしゅであり、その文法ぶんぽうdBASEプログラミング言語げんごもとづいている。xBase言語げんごとされるものにはClipper がある。xBase言語げんご初期しょき歴史れきしについては、dBASE参照さんしょう

FoxProはデータベース管理かんりシステムだが、おもてあいだ関係かんけいをサポートしていない。つまり、関係かんけいデータベースではないし、トランザクション処理しょり能力のうりょくもない。

最終さいしゅうばんはFoxPro 2.6で、それ以降いこうはVisual FoxProにがれた。すで販売はんばい終了しゅうりょうしていてマイクロソフトもサポートしていないが、FoxProユーザーのコミュニティは現在げんざい活動かつどうちゅうである。FoxPro 2.6 for UNIX (FPU26)はIntel Binary Compatibility Standard (ibcs2) サポートライブラリを使つかってLinuxFreeBSDにインストール可能かのうである。

FoxPro 2では、"Rushmore" という最適さいてきエンジンが搭載とうさいされ、データ検索けんさく更新こうしん高速こうそくされている。Rushmoreはすべてのデータ関係かんけいぶん調しらべてフィルタしきさがす。フィルタしき使つかわれると、おなしきにマッチするインデックスをさがす。また、FoxPro 2は当初とうしょWatCOM C++でかれており、これには自前じまえのメモリ拡張かくちょう機能きのう当時とうじ最新さいしん技術ぎじゅつ)があった。FoxPro 2は拡張かくちょうメモリにアクセスでき、DOSが管理かんり可能かのうなほぼすべてのメモリを使つかうことができた。HIMEM.SYSがロードされていない場合ばあい、FoxPro 2は自前じまえ拡張かくちょう機構きこう起動きどうするようになっていた。

Visual FoxProとしての最初さいしょのバージョンは3.0で、対応たいおうプラットフォームはMacintoshとWindowsのみに限定げんていされ、さらにのバージョンではWindowsのみとなった。現在げんざいのVisual FoxProはCOMベースであり、マイクロソフトはMicrosoft .NETはん開発かいはつする予定よていはないとしている。

Visual FoxPro(VFPと略記りゃっきされることがおおい)は関係かんけいデータベースエンジンとみつ結合けつごうされている。この関係かんけいデータベースはFoxProのxBase機能きのう拡張かくちょうし、SQLクエリ/データ操作そうさ追加ついかサポートしている。おおくのデータベース管理かんりシステムとはことなり、Visual FoxProは完全かんぜん動的どうてきプログラミング言語げんごであり、追加ついか汎用はんようプログラミング環境かんきょう必要ひつようとしない。ファットクライアントのアプリケーション開発かいはつだけでなく、ミドルウェアウェブアプリケーション開発かいはつ可能かのうである。

最近さいきん動向どうこう

編集へんしゅう

2002ねんまつ、Visual FoxProをWine使つかって Linux利用りよう可能かのうであることがしめされた。2003ねん、これをけてマイクロソフトはWindows以外いがいうえでFoxProを動作どうささせることはライセンス契約けいやく違反いはんしていると指摘してきした[1]

2005ねん12月、TIOBEのProgramming Community IndexにVFP(正確せいかくにはFoxPro/xBase)がはじめて上位じょうい20以内いないにランキングされた。2007ねん3がつには19、2007ねん8がつには22、2008ねん4がつには17推移すいいしている。

2007ねん3がつ、マイクロソフトはVFP 10は開発かいはつされないことを発表はっぴょうした[2]したがって、2004ねん12月17にちにリリースされたVFP 9が最後さいご商用しょうようバージョンとなる。VFP 9 のサポートはサービスパック形式けいしきおこなわれている(2005ねん12月と2007ねん10がつにリリース)。

その発表はっぴょう同時どうじに、開発かいはつされていた次期じきバージョンSedna(コードめい)が発表はっぴょうされた。これはVFP 9へのアドオンであり、SQL Server 2005、.NET Framework、Windows Vista、Office 2007、Windows Search、Team Foundation Server (TFS) などとの連携れんけい機能きのうをサポートしている。マイクロソフトはこれをシェアードソースライセンスでCodePlexうえでリリースした。ただし、VFPの中核ちゅうかく部分ぶぶん依然いぜんとしてクローズドソースである。Sednaのリリースは2008ねん1がつ25にちおこなわれた[3]。2008ねん3がつ現在げんざい、VFP 9 SP2(Sednaをふくむ)のXBaseコンポーネントはすべてCodePlexから開発かいはつよう利用りよう可能かのうである。

2007ねん3がつ、FoxProのスペインコミュニティMasFoxProくさ運動うんどうはじまり、マイクロソフトにたいしてVisual FoxProの開発かいはつ継続けいぞくぜんソースのオープンソースもとめる活動かつどう展開てんかいした。2007ねん4がつ3にち、この運動うんどう業界ぎょうかいメディアでも報道ほうどうされた[4]。これにたいしてマイクロソフトは2007ねん4がつ3にち声明せいめい発表はっぴょうした。それによると、あらたなバージョンは開発かいはつせず、2015ねんまでサポートを継続けいぞくするとのこと。また、オープンソースについては最善さいぜん選択せんたくとしているが、中核ちゅうかくのオープンソース具体ぐたいてき予定よてい発表はっぴょうされていない。

バージョン情報じょうほう

編集へんしゅう
Extant Versions by OS
Version FP 2.0 FP 2.5 FP 2.6
MS-DOS Yes Yes Yes
Windows 3.1 to XP Yes Yes Yes
Macintosh No Yes Yes
SCO UNIX No No Yes
Linux & FreeBSD No No Yes[5]
Windows 2000 No No Yes
Supported Windows Versions
Version VFP 3.0 VFP 5.0 VFP 6.0 VFP 7.0 VFP 8.0 VFP 9.0
Windows 3.x Yes No No No No No
Windows NT 4.0 Yes Yes Yes Yes No [6] No [7]
Windows 95 Yes Yes Yes ランタイムのみ No [8] No
Windows 98 Yes Yes Yes Yes ランタイムのみ ランタイムのみ
Windows Me Yes Yes Yes Yes ランタイムのみ ランタイムのみ
Windows 2000 Yes Yes Yes Yes Yes Yes
Windows XP Yes Yes Yes Yes Yes Yes
Windows Server 2003 ? ? Yes Yes Yes Yes
Windows Vista ? Yes Yes Yes Yes Yes

コードれい

編集へんしゅう

Hello World のれい:

MESSAGEBOX("Hello World")

オブジェクト

編集へんしゅう
loForm = CREATEOBJECT("HiForm")
loForm.Show(1)

DEFINE CLASS HiForm AS Form
  AutoCenter = .T.
  Caption = "Hello, World"

  ADD OBJECT lblHi as Label WITH ;
    Caption = "Hello, World!"
ENDDEFINE
loMine = CREATEOBJECT("MyClass")
? loMine.cProp1   && これは動作どうさする('&'が2つで行末ゆくすえまでコメント)
? loMine.cProp2   && プログラムエラー: Property CPROP2 is not found.

? loMine.MyMethod1()  && これは動作どうさする。
? loMine.MyMethod2()  && プログラムエラー: Property MYMETHOD2 is not found.

DEFINE CLASS MyClass AS Custom
  cProp1 = "My Property"    && パブリック・プロパティ
  HIDDEN cProp2     && プライベート・プロパティ

  PROCEDURE Init()    && クラス・コンストラクタ
    This.cProp2 = "This is a hidden property."
  ENDPROC

  PROCEDURE MyMethod1()
    * This is a public method, calling a hidden method that returns
    * the value of a hidden property.
    RETURN This.MyMethod2()
  ENDPROC

  HIDDEN PROCEDURE MyMethod2()  && プライベート・メソッド
    RETURN This.cProp2
  ENDPROC
ENDDEFINE

データハンドリング

編集へんしゅう
&& テーブル生成せいせい
CREATE TABLE randData (iData I)

&& xBase と SQL DML コマンドを使つかってランダムなデータを格納かくのう
FOR i = 1 TO 50
    APPEND BLANK
    REPLACE iData WITH (RAND() * 100)

    INSERT INTO randData (iData) VALUES (RAND() * 100)
ENDFOR

&& データじょう構造こうぞうインデックスを配置はいち
INDEX ON iData TAG iData
CLOSE ALL

&& xBaseふうコマンドでソートしたデータを表示ひょうじ
USE randData
SET ORDER TO iData
GO TOP
LIST NEXT 10  && First 10 
SKIP 81
LIST NEXT 10  && Last 10
CLOSE ALL

&& SQL DML コマンドでソートみデータをブラウズ
SELECT * ;
  FROM randData ;
  ORDER BY iData DESCENDING

SQLパススルーを使つかったODBCアクセス

編集へんしゅう
&& ODBCデータソースに接続せつぞく
LOCAL nHnd
nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd")

&& SQL コマンドを実行じっこう
LOCAL nResult
nResult = SQLEXEC (nHnd, "USE master")
IF nResult < 0
  MESSAGEBOX ("MASTER database does not exist!")
  RETURN
ENDIF

&& リモートサーバからデータを検索けんさくし
&& ローカルなデータカーソルにそれを格納かくのう
nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS")

&& リモートのテーブルにあるレコードを更新こうしん
LOCAL cAuthorID, cAuthorName
cAuthorID = "1001"
cAuthorName = "New name"
nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID")

&& 切断せつだん
SQLDISCONNECT(nHnd)

脚注きゃくちゅう

編集へんしゅう
  1. ^ VFP and Linux - Visual FoxPro Wiki
  2. ^ A Message to the Community
  3. ^ Microsoft SEDNA download
  4. ^ Developers petition Microsoft to reconsider FoxPro phase out ZDNet.com、2007ねん4がつ3にち
  5. ^ SourceForge.net うえのLinux ABIプロジェクトからIBCSファイルを使つかう。
  6. ^ - VFP8 アプリケーションはサポートされていないが、Windows NT 4.0で動作どうさする。
  7. ^ - German FoxPro User Group (dFPUG) が開発かいはつしたパッチがある[1]。マイクロソフトによれば、VFP 9.0 SP1で対処たいしょされるとのこと。
  8. ^ - Windows 95ではセカンドレベルのメニューが機能きのうしない。

外部がいぶリンク

編集へんしゅう

マイクロソフト

編集へんしゅう