* STATUS.PRG * Erik Schlueter SET TALK OFF SET STATUS OFF SET SCOREBOARD OFF SET FULLPATH OFF SET COLOR TO BG/N CLEAR * routine to get a dbf if there is not one in use IF LEN(TRIM(DBF()))=0 DEFINE POPUP Dispfile FROM 2,2 TO 13,15 PROMPT FILES LIKE *.DBF ON SELECTION POPUP Dispfile DEACTIVATE POPUP ACTIVATE POPUP Dispfile m_dbf = PROMPT() USE &m_dbf ELSE STORE DBF() TO m_dbf ENDIF CLEAR @ 1,2 SAY "DATABASE: " @ 2,2 SAY "LAST UPDATE: " @ 3,2 SAY "NUMBER OF RECORDS: " @ 4,2 SAY "SIZE OF ONE RECORD: " @ 5,2 SAY "BYTES IN THE DBF: " @ 6,2 SAY "FREE DISK SPACE: " SET COLOR TO R+/N @ 1,12 SAY IIF(LEN(TRIM(DBF()))=0,'No File in Use',DBF()) @ 2,15 SAY LUPDATE() @ 3,21 SAY LTRIM(TRANSFORM(RECCOUNT(),'999,999,999')) @ 4,22 SAY LTRIM(TRANSFORM(RECSIZE(),'999,999,999')) PUBLIC X,Y,Z STORE 0 TO X,Y STORE 1 TO Z DO WHILE Z > 0 IF LEN(FIELD(Z)) > 0 Y=Y+1 ELSE EXIT ENDIF Z=Z+1 ENDDO X=(32*Y+34)+RECCOUNT()*RECSIZE() @ 5,20 SAY LTRIM(TRANSFORM(INT(X),'999,999,999')) @ 6,19 SAY LTRIM(TRANSFORM(DISKSPACE(),'999,999,999')) SET COLOR TO G/N @ 0,0 TO 7,79 @ 1,31 TO 6,31 SET COLOR TO BG/N @ 2,35 SAY "OPERATING SYSTEM: " @ 3,35 SAY "PATH: " SET COLOR TO R+/N @ 1,35 SAY VERSION(0) @ 2,53 SAY OS() * this is to handle an extra long path statment mpath=GETENV('PATH') @ 3,41 SAY SUBSTR(mpath,1,36) IF LEN(mpath) > 36 @ 4,41 SAY SUBSTR(mpath,37,36) ENDIF IF LEN(mpath) > 72 @ 5,41 SAY SUBSTR(mpath,72) ENDIF * SET COLOR TO GR+/N @ 9,1 SAY "FLD# NAME TYPE LGTH" @ 10,1 SAY "========================" * ROW=11 COL1=2 COL2=6 COL3=17 COL4=19 COL5=22 Z=1 SET SAFETY OFF IF LEN(TRIM(DBF()))>0 COPY TO STASTRUC STRUCTURE EXTENDED SELECT 9 USE STASTRUC DO WHILE Z < Y +1 SET COLOR TO B+/N @ ROW,COL1 SAY LTRIM(STR(RECNO(),10,0)) SET COLOR TO W/N @ ROW,COL2 SAY FIELD_NAME @ ROW,COL3 SAY FIELD_TYPE @ ROW,COL4 SAY FIELD_LEN @ ROW,COL5 SAY FIELD_DEC SKIP ROW=ROW+1 Z=Z+1 IF ROW = 22 .AND. COL1 = 2 ROW = 11 SET COLOR TO G/N @ 8,26 TO 22,53 SET COLOR TO GR+/N @ 9,27 SAY "FLD# NAME TYPE LGTH" @ 10,27 SAY "=======================" COL1=28 COL2=32 COL3=43 COL4=45 COL5=48 ENDIF IF ROW = 22 .AND. COL1 = 28 ROW = 11 SET COLOR TO G/N @ 8,54 TO 22,79 SET COLOR TO GR+/N @ 9,56 SAY "FLD# NAME TYPE LGTH" @ 10,56 SAY "======================" COL1=55 COL2=60 COL3=71 COL4=73 COL5=76 ENDIF ENDDO ENDIF USE SELECT 1 SET COLOR TO G/N @ 8,0 TO 22,25 WAIT SET TALK ON SET SAFETY ON SET SCOREBOARD ON RETURN