⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db_item_info.pro

📁 basic median filter simulation
💻 PRO
字号:
function db_item_info,request,itnums;+; NAME:;	DB_ITEM_INFO; PURPOSE:;	routine to return information on selected item(s) in the opened;	data bases.;; CALLING SEQUENCE:;	result = db_item_info( request, itnums); INPUTS:;	request - string giving the requested information.;		'name'		- item names;		'idltype'	- IDL data type (integers);				  see documentation of intrinsic SIZE funtion;		'nvalues'	- vector item length (1 for scalar);		'sbyte'		- starting byte in .dbf record (use bytepos;				  to get starting byte in record returned by;				  dbrd);		'nbytes'	- bytes per data value;		'index'		- index types;		'description'	- description of the item;		'pflag'		- pointer item flags;		'pointer'	- data bases the items point to;		'format'	- print formats;		'flen'		- print field length;		'headers'	- print headers;		'bytepos'	- starting byte in dbrd record for the items;		'dbnumber'	- number of the opened data base;		'pnumber'	- number of db it points to (if the db is;					opened);		'itemnumber'	- item number in the file;;	itnums -(optional) Item numbers.  If not supplied info on all items;		are returned.; OUTPUT:;	Requested information is returned as a vector.  Its type depends;	on the item requested.; HISTORY:;	version 1  D. Lindler  Nov. 1987;	Converted to IDL V5.0   W. Landsman   September 1997;-;------------------------------------------------------------------------; data base common block;               common db_com,QDB,QITEMS,QLINK;; QDB(*,i) contains the following for each data base opened;;	bytes;	  0-18   data base name character*19;	  19-79  data base title character*61;	  80-81  number of items (integer*2);	  82-83  record length of DBF file (integer*2);	  84-87  number of entries in file (integer*4);	  88-89  position of first item for this file in QITEMS (I*2);	  90-91  position of last item for this file (I*2);	  92-95  Last Sequence number used (item=SEQNUM) (I*4);	  96	 Unit number of .DBF file;	  97	 Unit number of .IND file (0 if none exists);	  98-99  Index number of item pointing to this file (0 for first db);	  100-103 Number of entries with space allocated;	  104	 Update flag (0 open for read only, 1 open for update);	  119	 Equals 1 if external data representation (IEEE) is used;	;  QITEMS(*,i) contains decription of item number i with following;  byte assignments:;;	0-19	item name (character*20);	20-21   IDL data type (integet*2);	22-23 	Number of values for item (1 for scalar) (integer*2);	24-25	Starting byte position in original DBF record (integer*2);	26-27	Number of bytes per data value (integer*2);	28	Index type;	29-97	Item description;	98-99	Print format field length;	100	Flag set to one if pointer item;	101-119 Data base this item points to;	120-125 Print format;	126-170 Print headers;	171-172 Starting byte in record returned by DBRD;	173-174 Data base number in QDB;	175-176 Data base number this item points to;	177-178 item number within file;; QLINK(i) contains the entry number in the second data base;	corresponding to entry i in the first data base.;-------------------------------------------------------------------------s=size(qitems) & n=s[2]case strupcase(strtrim(request)) of	'NAME'		: x=string(qitems[0:19,*])	'IDLTYPE'	: x=fix(qitems[20:21,*],0,n)	'NVALUES'	: x=fix(qitems[22:23,*],0,n)	'SBYTE'		: x=fix(qitems[24:25,*],0,n)	'NBYTES'	: x=fix(qitems[26:27,*],0,n)	'INDEX'		: x=qitems[28,*]	'DESCRIPTION'	: x=string(qitems[29:99,*])	'PFLAG'		: x=qitems[100,*]	'POINTER'	: x=string(qitems[101:119,*])	'FORMAT'	: x=string(qitems[120:125,*])	'FLEN'		: x=fix(qitems[98:99,*],0,n)	'HEADERS'	: x=string(qitems[126:170,*])	'BYTEPOS'	: x=fix(qitems[171:172,*],0,n)	'DBNUMBER'	: x=fix(qitems[173:174,*],0,n)	'PNUMBER'	: x=fix(qitems[175:176,*],0,n)	'ITEMNUMBER'	: x=fix(qitems[177:178,*],0,n)	else: begin		print,'DB_ITEM_INFO-- invalid information request'		retall	      endendcaseif n_params(0) eq 1 then return,x else return,x[itnums]end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -