delphi6Personalしか持っていません。何とかデータベースアプリを作る方法ってありますか?
データベースコンポーネントはないですけど、
やろうと思えばもちろんできるはずです。
データベースの組み立て方しだいだと思います。
ただでさえ、DelphiにはTStringListみたいな、
データ管理に向いたクラスがたくさんあるんですから。
TStringlistってどうやって、使い込むんですか?結構難しいですか?
やり方さえわかればかんたんです。
TMemoとかをつかったことがあれば、TStrings,TStringListの基本的な使い方はもうわかっていると思います。
が、それ以上に、TStringsは、各項目にひとつだけ、
好きなオブジェクトをつけることができます。
それを使えば、かなりまともなデータベースができるでしょう。
単独で膨大なデータベースを扱うため(?)に、THashedStringListというものも存在します。
まあ、くわしくはうちの"旧学校"にて書いていますから、
それを見てください。
今回は上の"[HomePage]"からどうぞ。
わかりました。ありがとうございました。でも、無理にでもデータベース管理システムとつなぐ方法はありませんでしょうか?
データベースサーバを別に用意すれば、BDE経由でなくてもできます。
# たとえばOracle。フリーでならPostgreSQLなど。
MS-Accessも、DAOのOCXさえあれば接続できますが、配布条件によってはDAOを添付して配布する事ができないかもしれません。
これはMicrosoftに確認してください。
いろいろなデータベースに接続するには、ODBC接続にすると便利です。
ODBCは、BDE経由でなくても利用できると思います。ただし、DLLを直接叩かないといけません。
遠回しですが、JDBC-ODBCドライバを用いて、Java経由で接続、という手もあります。
# あまりメリットはありません。
ありがとうございます。アプリケーションとして作るにはやはり無理なのでしょうか?なんとなく無理なような気はしますが、あえて聞きたいです。
アプリケーションとして、というのは、独自データベースをアプリケーションに組み込むということでしょうか。
無理ではありませんよ。SQLの構文規則はさほど難しいものではありませんから。
手元の資料では、yacc(構文解析)用コードが550行程度。lex(字句解析)用コードが200行程度。支援コードが100行程度です。
# 資料はオーライリー「lex&yaccプログラミング」ISBN4-7561-0297-2
この本ではC言語を拡張する形ですので、さらにこれをpascalに書き直し、ファイルへ入出力するように変更すれば、簡易SQLデータベースの完成です(コーディング量は数倍になります)。
さらに汎用的にするには、セッションの管理なども付けないといけませんが、1アプリケーション内で使うデータベースとしてはこのままでも十分でしょう。
始めまして、そうせいじと申します。
ご存知かもしれませんが、Delphi6 Personalは商用・業務用のアプリ開発に利用してはいけません。以下のURLに明記してあります。
http://www.borland.co.jp/delphi/del6/boxes.html
データベースを利用したアプリケーションということなので、商用ではないにしても、もしかすると業務用ではないかと思い発言いたしました。
皆様、さまざまなご教授ありがとうございます。確かにいずれ業務用のものも作れたらなとも思っています。そのためにはDELPHI PROの購入も考えます。その前に様々なデータベースのあり方を勉強したいと考えています。データベースのアプリケーションを作る方法、何かありましたらお知らせください。
わたしには、データベースといえば、図書館とかにある蔵書のデータベースくらいしか想像できませんけど…。
(世間知らずなもので…(^^ゞ)
ああいうのだったら、先に言った"TStringList"や、"THashedStringList"クラス。
"TValueListEditor"、"TStringGrid"、"TListView"などのVCLなどを、
うまく使えば、割と簡単にできそうな気がします。
最後に"UpdateFile"メソッドを呼ばなければ、ファイルには一切影響ないので、
"TMemIniFile"クラスも役に立つでしょう。
先日、わたし、自分のホームページの記録用に、ちょっとソフトを作ってみましたけど、
そのときはTListViewを詳細表示にして使いました。
(詳細表示の2列目以降には、SubItemsプロパティからアクセスできます)
練習のためにやるのなら、これでも十分すぎるくらいかと。
たぶんProfessionalについてるコンポーネントとかで、管理システムにつなげるとかはできると思いますし。
ありがとうございます。先のたかみさんの情報。もう少し詳しく教えていただけたらと思います。何しろたかみさんのHOMEPAGE見させていただいたのですがどこを見たら良いのやらわからなかったので。(すいません)
参考にDELPHIでもいろいろ調べようとも思います。
ええ、確かに^^;[HomePage]のアドレスは、たびたび変わってますから^^;
わたしは二つホームページを持っていて、
いつもはメインページのアドレスを書いてます。
あいまいなので、下にまとめて書いておきます。
下側のリンクをクリックして"おんぷむらのうら"へ、
"旧学校">Delphiのこと とたどってください。
TStringsの使い方をちょっとかいてます。
さて、で、TStringListなどは、前述のとおり、
文字列をリストアップし、さらにひとつだけ好きなオブジェクトをもてます。
TMemIniFileは、メモリ上にIniファイルと同じような構造のデータをもてます。
(最後にUpdateFileを呼ぶと、実際に保存されます)
TValueListEditorは、
『何々=何々』 形式の文字列を表示することができます。
TStringGridは、各グリッドに好きな文字列を表示できます。
TListViewはスタイルを詳細表示にすれば、
2次元のテーブルが作れます。
詳しくはヘルプ(といってもTValueListEditorは、ヘルプにはないです)やサンプルを見てもらうとして、
わたしとしては、TStringListをお勧めします。
表示はされないし、オブジェクトは前述のとおりなんでもいいので、
最小のメモリサイズで、データベースを作れます。
参考になるかどうかわかりませんけど、
うちのソフトはみんなソース公開してます。
"ReadmeMaker てふてふ"のソースなんか、TStringsのObjectsプロパティの一例になるかもしれません。
おんぷ村(メインサイト・ソフトの公開はこっち) http://homepage2.nifty.com/_omp/
おんぷむらのうら(サブサイト・コンポーネント、ユニットの公開、旧学校などはこっち) http://TakamiChie.tripod.co.jp/
うちのソフトのソースをコンパイルするには、
おんぷ村でダウンロードした後、おんぷむらのうらで使用ユニットやコンポーネントをダウンロードする必要があります。
使用しているユニットなどは、各ソフトのReadmeに書いてあります。
>その前に様々なデータベースのあり方を勉強したいと考えています。
他のコンパイラ(RADツール)と比較してるということでしょうか。
だとすると、PersonalでDelphiのデータベースプログラミングを判断するのは早計です。データベース系コンポーネントがない状態では判断しようもありません。そして、おそらくPersonalにDB系コンポーネントを組み込むことは、ライセンス上不可能に近いと思います。
個人的には、Proffesional版以上の評価版が存在しない以上、購入して判断するしかないと思います。(今Borlandのサイト調べるとリース版なんてのもありますね。)
フリーのInterBase6とIBXならいけるのでは?
皆さん本当にありがとうございます。今までMS_ACCESSを中心に勉強を続けていましたが、より柔軟に開発を進めていこうとすると制約があることがわかり、そこでたまたまDELPHIを見つけたという経緯があります。まだわからないことも多く、確かにPERSONALでは限界があることもわかりました。今後もいろいろ教えてください。
えびさんに質問です。INTERBASEやIBXとDELPHIとの組み合わせということは可能なのでしょうか。上記の各データベースの簡単な説明とともにお教えいただければと思います。今までご教示をいただいた皆さんからも情報がありましたらこそっとお知らせください。
ご存知かもしれませんが一応。
InterBaseはDelphiと同じくBorland社のデータベースです。
現在のバージョンは7ですが、6の英語版でサポートが不要なら
フリーのバージョンが有ります。
バージョン6でも機能は何ら問題はありません、ある程度大規模な
システムにも対応できます。
IBXは6のパーソナルは覚えてませんがPro以上には付属のInterBase専用
コンポーネントです。
このコンポーネントでInterBaseの機能は全て使用できます
下のアドレスからInterbaseとIBXをダウンロードできます、
日本語マニュアルがないと最初は難しいかもしれませんけど...
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102
推測での書き込みになることをお許しください。
IBXコンポーネント群についてですが、TIBQueryやTIBTableといったデータアクセスコンポーネントは、TDataSetを継承してるのでPersonal上で利用するのはライセンス上難しいのではないかと思われます。
また、仮に私の考えが間違っておりライセンス上も問題なく、PersonalにもTDataSetを使った場合のリンクができるとしても、データコントロール系のコンポーネントがありません。このような状況では、Delphiの醍醐味であるRADの恩恵に与ることができません。
趣味の世界でなんとかしようというなら別ですが、業務での利用が目的ならば早めに不可能だと判断して買うことを決めるのも会社にとってプラスになります。
そうせいじさん、御指摘どうもです。
たしかにTDataSetがない環境ではIBXのインストールは
出来ないかもしれませんね。
皆さんありがとうございます。INTERBASEを試してみようと思いますが、日本語でのマニュアル、参考書がどこかにありませんでしょうか?INTERBASEを紹介しているページでも知っていたならぜひ教えていただきたいと思います。英語でも何とか辞書を引きつつやろうとも思うのですが、あったら便利かと思って。
日本語マニュアルを正規に入手するには製品を購入するしか無いと思います。
又、オラクルやSQLサーバーのようにメジャーな製品ではないので
書籍の類は期待できないと思います。
デルファイのProを購入すれば、ローカルライセンスの日本語版InterBaseが
付属しますので、結局一番安上がりになると思います。
デルファイもInterBaseも模索中の段階だとは思いますが、私の場合は
長年この組み合わせで業務系システムを開発してとりあえず問題は無しです。
但し、DELLのパソコンとInterBaseは一部の機能が相性悪いです。
http://tmaki.hp.infoseek.co.jp/
http://homepage1.nifty.com/Que/plamo/ib4linux/
ありがとうございました。とりあえずDELPHI PROの購入を検討しようと思います。しかし、それには予算がなかなか工面できない悲しい状況でして。
でもなんとかやってみたいと思います。みなさま今までありがとうございました。
ツイート | ![]() |