16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"Paradox DB の共有"
この発言に対し以下のコメントが寄せられています
#00409 凛 さん RE:Paradox DB の共有
Paradoxのテーブルにネットワーク上の複数のコンピュータからアクセスできる
ようにする方法の例です。
初めて起動したときテーブルを指定してくれとダイアログが出ますので
ネットワークコンピュータから、ネットワーク上のコンピュータのホルダ内の
smp.dbを指定して下さい。 後は自動的にそれを開くようになります。
テーブルがローカルドライブ内にある場合でも(要はホスト上で起動した場合)必
ずネットワークドライブから自分のコンピュータを指定するようにしなくてはな
りません。つまり、下のソースの中のthePathは ローカルドライブであっても
\\rin\c\data\
といった形になっていなくてはいけない ということです。
{usesにinifilesを追加 TDatabase TTable TDatasource TDBGridを
一つずつおいて下さい。オブジェクトインスペクタによる設定はありません
smp.dbはDataBaseDeskTop等で適当なところに作っておいて下さい。}
procedure TForm1.FormCreate(Sender: TObject);
var
ini:Tinifile;
thePath:String;
begin
ini:=Tinifile.create(changeFileExt(paramstr(0),'.ini'));
try
thePath:= ini.readString('data','path','');
finally
ini.free;
end;
if thePath='' then
begin
showmessage('smp.dbを選択して下さい');
opendialog1.filename:='';
opendialog1.execute;
thepath:=extractfilepath(opendialog1.filename);
end;
try
with database1 do
begin
databasename:='db1';
drivername:='STANDARD';
Open;
session.NetFileDir:=thePath;
end;
with Table1 do
begin
databasename:='db1';
tablename:=database1.session.NetFileDir+'smp.db';
active:=True;
end;
with DataSource1 do
begin
dataset:=table1;
end;
with DBGrid1 do
begin
datasource:=dataSource1;
end;
if thePath<>'' then
begin
ini:=Tinifile.create(changeFileExt(paramstr(0),'.ini'));
try
ini.writeString('data','path',thepath);
finally
ini.free;
end;
end;
except
showmessage('データベース障害');
ini:=Tinifile.create(changeFileExt(paramstr(0),'.ini'));
try
ini.writeString('data','path','');
finally
ini.free;
end;
end;
end;
☆☆☆ わからないときサンプル蔵 わかったときサンプル蔵 ☆☆☆
98/02/21(土) 16:19 凛(MXB01744)
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|