www.pudn.com > mitab-1.5.1.zip > mitab.pas
{**********************************************************************
* $Id: mitab.pas,v 1.7 2004/07/07 22:10:32 dmorissette Exp $
*
*
* Name: mitab.pas
* Project: MapInfo TAB Read/Write library
* Language: Pascal
* Purpose: Pascal interface unit for MITAB API prototypes using STDCALL
* calling convention. Used with MITAB dll compiled with
* the /Gz qualifier.
* Author: Bo Thomsen, bvt@sns.dk
*
**********************************************************************
* Copyright (c) 2002, Bo Thomsen
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
**********************************************************************
*
* $Log: mitab.pas,v $
* Revision 1.7 2004/07/07 22:10:32 dmorissette
* Update for 1.3.0 release by BVT
*
* Revision 1.7 2004/07/06 18:51:00 bvt
* Added declaration for:
* mitab_c_load_coordsys_table
* mitab_c_get_extended_mif_coordsys
* mitab_c_get_extended_mif_coordsys_vb
* mitab_c_get_feature_count
* mitab_c_get_field_as_double
*
* Revision 1.6 2003/08/07 18:51:00 dmorissette
* Added mitab_c_getlibversion declaration (BVT - Bug 21)
*
* Revision 1.5 2003/07/29 14:39:26 dmorissette
* Update for v1.2.4 from BVT (mitab_c_add_field declaration changed)
*
* Revision 1.5 2003/07/29 13:53:11 daniel
* Update for v1.2.4 from BVT (mitab_c_add_field declaration changed)
*
* Revision 1.4 2002/07/07 22:04:22 bvt
* Added declaration for mitab_c_is_interior_ring
*
* Revision 1.3 2002/05/09 22:04:22 daniel
* Added missing TABFC_MultiPoint=10
*
* Revision 1.2 2002/05/08 20:23:53 daniel
* Update from Bo, and re-re-renamed mitab_vb.dll to mitab.dll (stdcall is default now)
*
* Revision 1.21 2002/05/07 13:43:30 bvt
* changed the dll name to mitab_vb.dll. Changed the pas file name
* to mitab_vb.pas to reflect the new name of the dll.
*
* Revision 1.2 2002/05/05 13:43:30 bvt
* Added mitab_c_get_field_width and mitab_c_get_field_precision to api.
*
* Revision 1.1 2002/02/22 13:43:30 daniel
* Initial Revision from Bo Thomsen
*
* Revision 1.00 2002/02/20 12:35:00 bvt
* New - used in conjunction with mitab_capi.cpp,v 1.15 compiled with
* /Gz (stdcall calling convention)
*
*}
unit Mitab;
interface
Type
mitab_handle = Longword;
mitab_feature = Longword;
mitab_projinfo = Longword;
const
// feature type values
TABFC_NoGeom = 0;
TABFC_Point = 1;
TABFC_FontPoint = 2;
TABFC_CustomPoint = 3;
TABFC_Text = 4;
TABFC_Polyline = 5;
TABFC_Arc = 6;
TABFC_Region = 7;
TABFC_Rectangle = 8;
TABFC_Ellipse = 9;
TABFC_MultiPoint = 10;
// field types
TABFT_Char = 1;
TABFT_Integer = 2;
TABFT_SmallInt = 3;
TABFT_Decimal = 4;
TABFT_Float = 5;
TABFT_Date = 6;
TABFT_Logical = 7;
// text justification
TABTJ_Left = 0;
TABTJ_Center = 1;
TABTJ_Right = 2;
// text spacing
TABTS_Single = 0;
TABTS_1_5 = 1;
TABTS_Double = 2;
// test linetype
TABTL_NoLine = 0;
TABTL_Simple = 1;
TABTL_Arrow = 2;
const
DLL = 'mitab.dll';
Libversion = 1002004;
function mitab_c_add_field (handle: mitab_handle; field_name: pchar;field_type, width, precision, indexed, unique: longint): longint; stdcall; external DLL Name '_mitab_c_add_field@28' ;
procedure mitab_c_close (handle: mitab_handle); stdcall; external DLL Name '_mitab_c_close@4' ;
function mitab_c_create (filename, mif_or_tab, mif_projectiondef: pchar; north, south, east, west: double): mitab_handle; stdcall; external DLL Name '_mitab_c_create@44' ;
function mitab_c_create_feature (handle: mitab_handle; feature_type: longint): mitab_feature; stdcall; external DLL Name '_mitab_c_create_feature@8' ;
procedure mitab_c_destroy_feature (feature: mitab_feature); stdcall; external DLL Name '_mitab_c_destroy_feature@4' ;
function mitab_c_get_brush_bgcolor (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_brush_bgcolor@4' ;
function mitab_c_get_brush_fgcolor (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_brush_fgcolor@4' ;
function mitab_c_get_brush_pattern (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_brush_pattern@4' ;
function mitab_c_get_brush_transparent (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_brush_transparent@4' ;
function mitab_c_get_field_as_string_vb (feature: mitab_feature; field: longint; value: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_field_as_string_vb@16';
function mitab_c_get_field_as_string (feature: mitab_feature; field: longint): pchar; stdcall; external DLL Name '_mitab_c_get_field_as_string@8' ;
function mitab_c_get_field_count (handle: mitab_handle): longint; stdcall; external DLL Name '_mitab_c_get_field_count@4' ;
function mitab_c_get_field_name_vb (handle: mitab_handle; field: longint; name: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_field_name_vb@16' ;
function mitab_c_get_field_name (handle: mitab_handle; field: longint): pchar; stdcall; external DLL Name '_mitab_c_get_field_name@8' ;
function mitab_c_get_field_type (handle: mitab_handle; field: longint): longint; stdcall; external DLL Name '_mitab_c_get_field_type@8' ;
function mitab_c_get_font_vb (feature: mitab_feature; font: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_font_vb@12' ;
function mitab_c_get_font (feature: mitab_feature): pchar; stdcall; external DLL Name '_mitab_c_get_font@4' ;
function mitab_c_getlibversion (): longint; stdcall; external DLL Name '_mitab_c_getlibversion@0' ;
function mitab_c_get_mif_coordsys_vb (dataset: mitab_handle; coordsys: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_mif_coordsys_vb@12' ;
function mitab_c_get_extended_mif_coordsys_vb (dataset: mitab_handle; coordsys: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_extended_mif_coordsys_vb@12' ;
function mitab_c_get_mif_coordsys (dataset: mitab_handle): pchar; stdcall; external DLL Name '_mitab_c_get_mif_coordsys@4' ;
function mitab_c_get_parts (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_parts@4' ;
function mitab_c_get_pen_color (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_pen_color@4' ;
function mitab_c_get_pen_pattern (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_pen_pattern@4' ;
function mitab_c_get_pen_width (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_pen_width@4' ;
function mitab_c_get_projinfo (dataset: mitab_handle): mitab_projinfo; stdcall; external DLL Name '_mitab_c_get_projinfo@4' ;
function mitab_c_get_symbol_color (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_symbol_color@4' ;
function mitab_c_get_symbol_no (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_symbol_no@4' ;
function mitab_c_get_symbol_size (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_symbol_size@4' ;
function mitab_c_get_text_vb (feature: mitab_feature; text: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_get_text_vb@12' ;
function mitab_c_get_text (feature: mitab_feature): pchar; stdcall; external DLL Name '_mitab_c_get_text@4' ;
function mitab_c_get_text_angle (feature: mitab_feature): double; stdcall; external DLL Name '_mitab_c_get_text_angle@4' ;
function mitab_c_get_text_bgcolor (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_text_bgcolor@4' ;
function mitab_c_get_text_fgcolor (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_text_fgcolor@4' ;
function mitab_c_get_text_height (feature: mitab_feature): double; stdcall; external DLL Name '_mitab_c_get_text_height@4' ;
function mitab_c_get_text_justification (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_text_justification@4';
function mitab_c_get_text_linetype (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_text_linetype@4' ;
function mitab_c_get_text_spacing (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_text_spacing@4' ;
function mitab_c_get_text_width (feature: mitab_feature): double; stdcall; external DLL Name '_mitab_c_get_text_width@4' ;
function mitab_c_get_type (feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_get_type@4' ;
function mitab_c_get_vertex_count (feature: mitab_feature; part: longint): longint; stdcall; external DLL Name '_mitab_c_get_vertex_count@8' ;
function mitab_c_get_vertex_x (feature: mitab_feature; part, vertex: longint): double; stdcall; external DLL Name '_mitab_c_get_vertex_x@12' ;
function mitab_c_get_vertex_y (feature: mitab_feature; part, vertex: longint): double; stdcall; external DLL Name '_mitab_c_get_vertex_y@12' ;
function mitab_c_getlasterrormsg_vb (errormsg: pchar; l: longint): longint; stdcall; external DLL Name '_mitab_c_getlasterrormsg_vb@8' ;
function mitab_c_getlasterrormsg (): pchar; stdcall; external DLL Name '_mitab_c_getlasterrormsg@0' ;
function mitab_c_getlasterrorno (): longint; stdcall; external DLL Name '_mitab_c_getlasterrorno@0' ;
function mitab_c_next_feature_id (handle: mitab_handle; last_feature_id: longint): longint; stdcall; external DLL Name '_mitab_c_next_feature_id@8' ;
function mitab_c_open (filename: pchar): mitab_handle; stdcall; external DLL Name '_mitab_c_open@4' ;
function mitab_c_read_feature (handle: mitab_handle; feature_id: longint): mitab_feature; stdcall; external DLL Name '_mitab_c_read_feature@8' ;
procedure mitab_c_set_arc (feature: mitab_feature; center_x, center_y, x_radius, y_radius, start_angle, end_angle: double); stdcall; external DLL Name '_mitab_c_set_arc@52' ;
procedure mitab_c_set_brush (feature: mitab_feature; fg_color, bg_color, pattern, transparent: longint); stdcall; external DLL Name '_mitab_c_set_brush@20' ;
procedure mitab_c_set_field (feature: mitab_feature; field_index: longint; value: pchar); stdcall; external DLL Name '_mitab_c_set_field@12' ;
procedure mitab_c_set_font (feature: mitab_feature; font_name: pchar); stdcall; external DLL Name '_mitab_c_set_font@8' ;
procedure mitab_c_set_pen (feature: mitab_feature; width, pattern, color: longint); stdcall; external DLL Name '_mitab_c_set_pen@16' ;
procedure mitab_c_set_points (feature: mitab_feature; part, vertex_count: longint; var x,y: double); stdcall; external DLL Name '_mitab_c_set_points@20' ;
function mitab_c_set_projinfo (dataset: mitab_handle; projinfo: mitab_projinfo): longint; stdcall; external DLL Name '_mitab_c_set_projinfo@8' ;
procedure mitab_c_set_symbol (feature: mitab_feature; symbol_no, symbol_size, symbol_color: longint); stdcall; external DLL Name '_mitab_c_set_symbol@16' ;
procedure mitab_c_set_text (feature: mitab_feature; text: pchar); stdcall; external DLL Name '_mitab_c_set_text@8' ;
procedure mitab_c_set_text_display (feature: mitab_feature; angle, height, width: double; fg_color, bg_color, justification, spacing, linetype: longint); stdcall; external DLL Name '_mitab_c_set_text_display@48' ;
function mitab_c_write_feature (handle: mitab_handle; feature: mitab_feature): longint; stdcall; external DLL Name '_mitab_c_write_feature@8' ;
function mitab_c_get_field_width (handle: mitab_handle; field: longint): longint; stdcall; external DLL Name '_mitab_c_get_field_width@8' ;
function mitab_c_get_field_precision (handle: mitab_handle; field: longint): longint; stdcall; external DLL Name '_mitab_c_get_field_precision@8' ;
function mitab_c_is_interior_ring (feature: mitab_feature; requestedringindex: longint): longint; stdcall; external DLL Name '_mitab_c_is_interior_ring@8' ;
function mitab_c_load_coordsys_table (filename: pchar): longint; stdcall; external DLL Name '_mitab_c_load_coordsys_table@4' ;
function mitab_c_get_extended_mif_coordsys (dataset: mitab_handle): pchar; stdcall; external DLL Name '_mitab_c_get_extended_mif_coordsys@4';
function mitab_c_get_feature_count (handle: mitab_handle): longint; stdcall; external DLL Name '_mitab_c_get_feature_count@4' ;
function mitab_c_get_field_as_double (feature: mitab_feature; field: longint): double; stdcall; external DLL Name '_mitab_c_get_field_as_double@8' ;
implementation
end.