お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"テーブルの項目の一覧を得る"

この発言に対し以下のコメントが寄せられています
#01052 裏目小僧 さん RE:テーブルの項目の一覧を得る

仕様書を書くのに、指定ディレクトリにあるテーブルの項目名と型名と長さを 一気にgetできると楽ちん と思ってさくっと作りました。 便利なので上げて おきます。(文字列型のDataSizeは格納できるバイト数+1になります。) フォームにTTable,FileListBox,TSaveDialog,ボタンを一つずつ 配置します。 unit ListMakers; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl, Db, DBTables,typinfo{GetEnumNameのために必要}; type TForm1 = class(TForm) Table1: TTable; FileListBox1: TFileListBox; SaveDialog1: TSaveDialog; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var f:textFile; i,c:integer; curr,dir:string; begin if SelectDirectory('DBディレクトリを指定して下さい','',Dir)then begin FileListBox1.Directory:=Dir; Table1.DatabaseName:=dir; if SaveDialog1.Execute then begin Screen.Cursor:=crHourGlass; try assignFile(f,SaveDialog1.Filename); rewrite(f); try WriteLn(f,dir+' のテーブル構造一覧'); for i:= 0 to FileListBox1.Items.Count-1 do begin Table1.TableName:=FileListBox1.Items[i]; Table1.Open; try WriteLn(f,Table1.TableName); for c:= 0 to Table1.FieldCount-1 do begin with Table1.Fields[c] do begin curr:=FieldName+#9+ GetEnumName(TypeInfo(TFieldType),Ord(DataType))+ #9+IntToStr(DataSize); WriteLn(f,curr); end; end; finally Table1.Close; end; WriteLn(f,''); end; finally closeFile(f); end; finally Screen.Cursor:=crDefault; end; end; end; end; end. ☆☆☆  かわいいコードにゃ旅をさせよう いざサンプル蔵へ!! ☆☆☆ 00/04/01(土) 14:31 凛(MXB01744) Original document by 凛 氏 ID:(MXB01744)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum