Listing: 1 IMPLEMENTATION MODULE Scrn2DBF; 2 (* 3 * ModBase 4 * Release 3.0 5 * (c) Copyright 1986 - 1991 Donald G. Fletcher 6 * (c) Copyright 1986 - 1991 PMI 7 * P.O. Box 8402 8 * Green Bay Wi 53308 9 * All Rights Reserved 10 * 11 * Contributed by John McMonagle of McMonagle Software 12 * Green Bay, Wisconsin. 13 *) 14 15 (* 12/23/88 replaced LeftJustify with LeftJust to save leading blanks *) 16 (* increased memosize limit to 4k *) 17 (* 6/22/89 @DELETED,@RECNUM,@RECOUNT TO Frame to DBF *) 18 19 IMPORT DateFunctions; 20 IMPORT DBFields; 21 IMPORT ErrorManager; 22 IMPORT FieldTypes; 23 IMPORT GenLists; 24 IMPORT LowLevel; 25 IMPORT MemoFunctions; 26 IMPORT ModBase3; 27 IMPORT PosUtils; 28 IMPORT ScrnTypes; 29 IMPORT ScrnUtl1; 30 IMPORT StrConv; 31 IMPORT StrEdit; 32 IMPORT StringIO; 33 IMPORT M2Strings; 34 IMPORT SYSTEM; 35 FROM VStorage IMPORT 36 DosAlloc, DosDealloc; 37 38 CONST 39 MemoSize=4000; 40 PROCEDURE DEALLOCATE(VAR loc:SYSTEM.ADDRESS;size:CARDINAL); ***** ^ not supported yet 41 BEGIN 42 DosDealloc(loc,size); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 43 END DEALLOCATE; ***** ^ not supported yet 44 45 PROCEDURE ALLOCATE(VAR loc:SYSTEM.ADDRESS;size:CARDINAL); ***** ^ not supported yet 46 BEGIN 47 DosAlloc(loc,size); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 48 END ALLOCATE; ***** ^ not supported yet 49 50 PROCEDURE LeftJust( VAR TheStr: ARRAY OF CHAR; ***** ^ not supported yet 51 RequiredLength: CARDINAL ); 52 VAR strlength: CARDINAL; 53 BEGIN 54 strlength := M2Strings.Length( TheStr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 55 IF strlength > RequiredLength THEN 56 StrEdit.SetLength( TheStr, RequiredLength ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 57 ELSE 58 WHILE strlength < RequiredLength DO 59 StrEdit.Append( TheStr, ' ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 60 INC( strlength ); ***** ^ undeclared identifier ***** ^ not supported yet 61 END; 62 END; 63 END LeftJust; ***** ^ not supported yet 64 65 PROCEDURE FrameToDBF 66 ( VAR DBF : ModBase3.DBFile; ***** ^ not supported yet 67 VAR TheFrame : ScrnTypes.DisplayFrame) : BOOLEAN; ***** ^ not supported yet 68 69 VAR 70 string : ARRAY[ 0 .. 128 ] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 71 TotalFields, 72 size, 73 i, 74 FieldCount, 75 k, 76 J : CARDINAL; 77 offby : INTEGER; 78 dumbool : BOOLEAN; 79 date : DateFunctions.Date; ***** ^ not supported yet 80 list : GenLists.GenList; ***** ^ not supported yet 81 text : POINTER TO ARRAY[ 0 .. MemoSize-1 ] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 82 FieldPtr : ScrnTypes.InputFieldPtr; ***** ^ not supported yet 83 ImagePtr : ScrnTypes.ImageElmtPtr; ***** ^ not supported yet 84 fldptr : ModBase3.DBFieldPtr; ***** ^ not supported yet 85 86 BEGIN 87 TotalFields := ScrnUtl1.FieldListTotal( TheFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 88 fldptr:=ModBase3.FieldList(DBF); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 89 FieldCount := 1; 90 REPEAT 91 ScrnUtl1.GetFieldPtr( TheFrame, FieldCount, FieldPtr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 92 IF M2Strings.Length( FieldPtr^.fnam ) # 0 THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 93 ScrnUtl1.GetFieldImagePtr( TheFrame, FieldCount, ImagePtr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 94 i := ModBase3.PosOfField( DBF, FieldPtr^.fnam ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 95 IF i # 0 THEN 96 CASE fldptr^[i].fldtype OF ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 97 'C' : 98 M2Strings.Assign( ImagePtr^.text, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 99 DBFields.Replace( DBF, i, string ); | ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 100 'D' : 101 (* as dates are to be checked in userops count and errorcheck 102 are to be dropped *) 103 (* should modify to use fieldptr variables *) 104 IF NOT PosUtils.IsBlank( ImagePtr^.text ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 105 DateFunctions.StrToDate( ImagePtr^.text, date, dumbool ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 106 IF NOT dumbool THEN 107 RETURN FALSE 108 END (* if *); 109 DBFields.ReplaceD( DBF, i, date ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 110 ELSE 111 DBFields.Replace( DBF, i, ' ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 112 END (* if *); | 113 'L' : 114 (* should work fine for both group and boolean fields *) 115 DBFields.ReplaceL( DBF, i, FieldPtr^.selected ); | ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 116 'M' : 117 IF FieldPtr^.typ = FieldTypes.TypeCode( 'EDITOR' ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 118 dumbool := ScrnUtl1.ListFromEdField( TheFrame, FieldCount, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 119 list ); ***** ^ not supported yet 120 size := GenLists.ListLength( list ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 121 (* cludge because empty list has 1 element !!!*) 122 IF size=1 THEN 123 GenLists.GetElmt( list, 1, string, k ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 124 END; 125 NEW(text); ***** ^ undeclared identifier ***** ^ not supported yet 126 text^ := ''; ***** ^ not supported yet 127 IF (size # 0 ) AND NOT ((size =1) AND (string[0]=0C)) THEN ***** ^ not supported yet ***** ^ not supported yet 128 FOR J := 1 TO size DO 129 GenLists.GetElmt( list, J, string, k ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 130 StrEdit.Append( text^, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 131 StrEdit.Append( text^, StringIO.CrLf ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 132 (* for *) 133 END (* for J *); 134 END (* if size *); 135 MemoFunctions.ReplaceM( DBF, i, text^ ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 136 DISPOSE(text); ***** ^ undeclared identifier ***** ^ not supported yet 137 END (* if FieldPtr *); 138 | 139 'N' : 140 M2Strings.Assign( ImagePtr^.text, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 141 StrEdit.DeleteChar( ' ', string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 142 IF M2Strings.Pos( '.', string ) > HIGH( string ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet 143 StrEdit.Append( string, '.' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 144 (* no decimal point *) 145 END (* if M2Strings.Pos *); 146 (* if *) 147 offby := -INTEGER( fldptr^[i].decplaces ) + INTEGER( ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 148 M2Strings.Length( string ) ) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 149 - INTEGER( M2Strings.Pos( '.', string ) + 1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 150 IF offby < 0 THEN 151 REPEAT 152 StrEdit.Append( string, '0' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 153 INC( offby ); ***** ^ undeclared identifier ***** ^ not supported yet 154 UNTIL offby = 0; 155 ELSE 156 StrEdit.SetLength( string, M2Strings.Length( string ) - ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 157 CARDINAL( offby ) ); ***** ^ not supported yet 158 END (* if offby *); 159 (* if *) 160 IF fldptr^[i].decplaces = 0 THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 161 StrEdit.SetLength( string, M2Strings.Pos( '.', string ) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 162 END (* if DBF.fieldlist^ *); 163 (* if *) 164 (* Right justify *) 165 WHILE M2Strings.Length( string ) < fldptr^[i].size DO ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 166 M2Strings.Concat( ' ', string, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 167 (* while *) 168 END (* while M2Strings.Length *); 169 DBFields.Replace( DBF, i, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 170 ELSE 171 END (* case DBF.fieldlist^ *); 172 END (* if i *); 173 END (* if M2Strings.Length *); 174 INC( FieldCount ); ***** ^ undeclared identifier ***** ^ not supported yet 175 UNTIL FieldCount > TotalFields; 176 RETURN TRUE; 177 END FrameToDBF; ***** ^ not supported yet 178 179 180 PROCEDURE DBFToFrame 181 ( VAR DBF : ModBase3.DBFile; ***** ^ not supported yet 182 VAR TheFrame : ScrnTypes.DisplayFrame); ***** ^ not supported yet 183 184 VAR 185 string : ARRAY[ 0 .. 79 ] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 186 TotalFields, 187 size, 188 FieldCount, 189 i : CARDINAL; 190 ok : BOOLEAN; 191 date : DateFunctions.Date; ***** ^ not supported yet 192 list : GenLists.GenList; ***** ^ not supported yet 193 FieldPtr : ScrnTypes.InputFieldPtr; ***** ^ not supported yet 194 ImagePtr : ScrnTypes.ImageElmtPtr; ***** ^ not supported yet 195 Block : SYSTEM.ADDRESS; ***** ^ not supported yet 196 fldptr : ModBase3.DBFieldPtr; ***** ^ not supported yet 197 text : POINTER TO ARRAY[ 0 .. MemoSize-1 ] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 198 199 BEGIN 200 fldptr:=ModBase3.FieldList(DBF); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 201 TotalFields := ScrnUtl1.FieldListTotal( TheFrame ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 202 FieldCount := 1; 203 REPEAT 204 ScrnUtl1.GetFieldPtr( TheFrame, FieldCount, FieldPtr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 205 IF M2Strings.Length( FieldPtr^.fnam ) # 0 THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 206 ScrnUtl1.GetFieldImagePtr( TheFrame, FieldCount, ImagePtr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 207 i := ModBase3.PosOfField( DBF, FieldPtr^.fnam ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 208 IF i # 0 THEN 209 CASE fldptr^[i].fldtype OF ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 210 'C' : 211 ModBase3.GetField( DBF, i, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 212 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 213 LeftJust( string, size ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 214 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 215 size); ***** ^ not supported yet 216 (* if *) | 217 'N' : 218 ModBase3.GetField( DBF, i, string ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 219 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 220 StrEdit.RightJustify( string, size ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 221 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 222 size); ***** ^ not supported yet 223 (* if *) | 224 'D' : 225 (* should add code to initalize date paramaters in 226 fieldptr *) 227 DBFields.GetDateField( DBF, i, date ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 228 DateFunctions.DateToStr( date, string, ok ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 229 IF NOT ok THEN 230 string:=''; ***** ^ not supported yet ***** ^ incompatible assignment 231 END (* if ok *); 232 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 233 LeftJust( string, size ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 234 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 235 size); ***** ^ not supported yet 236 (* if *) | 237 'L' : 238 DBFields.GetLogicalField( DBF, i, FieldPtr^.selected ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 239 IF (FieldPtr^.typ = FieldTypes.TypeCode('BOOLEAN') ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 240 IF FieldPtr^.selected THEN ***** ^ not supported yet ***** ^ not supported yet 241 (* if boolean code mark *) 242 ImagePtr^.text[0]:=CHR(251);(* û *) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet 243 ELSE 244 ImagePtr^.text[0]:=' '; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 245 END; 246 END; | 247 'M' : 248 IF FieldPtr^.typ = FieldTypes.TypeCode( 'EDITOR' ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 249 NEW( text ); ***** ^ undeclared identifier ***** ^ not supported yet 250 (* LowLevel.Fill( text, HIGH( text^ )+1, 0 );*) 251 (* to clear block for block to list*) 252 MemoFunctions.GetMemoField( DBF, i, text^ ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 253 GenLists.NewList(list); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 254 size:=M2Strings.Length( text^ ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 255 IF size # 0 256 THEN 257 (* check to see ends with crlf *) 258 IF NOT ((text^[size-2]=StringIO.CrLf[0]) AND ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 259 (text^[size-1]=StringIO.CrLf[1])) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 260 THEN 261 StrEdit.Append(text^,StringIO.CrLf); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 262 INC(size,2); ***** ^ undeclared identifier ***** ^ not supported yet 263 END; 264 (* do this so that only enough memory is kept *) 265 ALLOCATE(Block,size); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 266 LowLevel.Move(text,Block,size); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 267 GenLists.BlockToList( Block, size, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 268 StringIO.CrLf, StringIO.CrLf, 0, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 269 GenLists.StrCode, list ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 270 END (* if M2Strings.Length *); 271 DISPOSE( text ); ***** ^ undeclared identifier ***** ^ not supported yet 272 ok := ScrnUtl1.ListToEdField( list, TheFrame, FieldCount ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 273 END (* if FieldPtr *); 274 ELSE 275 END (* case DBF.fieldlist^ *); 276 (* case *) 277 ELSIF PosUtils.Equal('@DELETED',FieldPtr^.fnam) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 278 THEN 279 IF ModBase3.Deleted(DBF) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 280 THEN 281 string:='DELETED' ***** ^ not supported yet ***** ^ not supported yet 282 ELSE 283 string:=''; ***** ^ not supported yet ***** ^ incompatible assignment 284 END; 285 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 286 LeftJust( string, size ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 287 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 288 size); ***** ^ not supported yet 289 ELSIF PosUtils.Equal('@RECNO',FieldPtr^.fnam) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 290 THEN 291 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 292 StrConv.LongIntegerToStr(ModBase3.Record(DBF),size,string); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 293 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 294 size); ***** ^ not supported yet 295 ELSIF PosUtils.Equal('@RECCOUNT',FieldPtr^.fnam) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 296 THEN 297 size := M2Strings.Length( ImagePtr^.text ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 298 StrConv.LongIntegerToStr(ModBase3.NumberRecords(DBF),size,string); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 299 LowLevel.Move(SYSTEM.ADR(string),SYSTEM.ADR(ImagePtr^.text), ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 300 size); ***** ^ not supported yet 301 302 END (* if i *); 303 (* IF*) 304 END (* if M2Strings.Length *); 305 INC( FieldCount ); ***** ^ undeclared identifier ***** ^ not supported yet 306 UNTIL FieldCount > TotalFields; 307 END DBFToFrame; ***** ^ not supported yet 308 309 BEGIN 310 END Scrn2DBF. ***** ^ not supported yet 475 errors