Turbo pascal 7 011/8/2022 :FUNCTION FILL_LEFT(S : STRING C : CHAR LONG : BYTE) : STRING VAR N : BYTE BEGIN N:=LENGTH(S) IF N>=LONG THEN S:=COPY(S,1,LONG) ELSE BEGIN N:=LONG-N FOR N:=N DOWNTO 1 DO S:=C+S END FILL_LEFT:=S END įill_Middle. ('! !',' P ? P!!','?','P?', ', ! !!!') PROCEDURE MYTALK(N:BYTE) VAR S,S2 : STRING BEGIN IF N=0 THEN N:=1 S2:=' '+INT_TO_STR ( N,0)+' ' IF N>MAX THEN N:=MAX S:=MYSAY MESSAGE(1,1,S,ATTR_COL(WHITE,BLACK),S2,ATTR_COL(WHITE,BLACK)) END BEGIN WX:=WHEREX WY:=WHEREY MISTAKE:=0 IF KEY THEN BEGIN S:='' FOR P:=1 TO N DO S:=' '+S END WRITE(S:N) P:=1 WHILE P=LONG THEN S:=COPY(S,1,LONG) ELSE BEGIN N:=LONG-N FOR N:=N DOWNTO 1 DO S:=S+C END FILL_RIGHT:=S END įill_Left. :PROCEDURE GETSTRDIG(VAR X:WORD N : BYTE CODE : CHAR KEY : BOOLEAN) VAR S :STRING P :BYTE WX,WY :BYTE SIM :CHAR C :BYTE ABSOLUTE SIM CERR,Z :INTEGER MISTAKE :BYTE CONST ENTER=#13 ESC=#21 MAX=5 :PROCEDURE BEEP (N : BYTE) VAR K : BYTE BEGIN FOR K:=1 TO N DO WRITE(#7) END IF SAVEWINDOW(XL,YL,XR,YR,TRUE,SAVEEKRAN) THEN BEGIN FRAMEWINDOW(XL,YL,XR,YR,COLTXT,COLZAG,ZAGOL) WINDOW(XL+1,YL+1,XR-1,YR-1) TEXTATTR:=COLTXT CLRSCR WRITE(FILL_MIDDLE(TXT,' ',LEN_MY)) WRITE(FILL_MIDDLE(MY_TXT,' ',LEN_MY)) REPEAT C:=READKEY CC:=ORD(C) CASE CC OF 13:BREAK ELSE C:=C END UNTIL FALSE TEXTATTR:=SAVEATTR WINDOW(1,1,80,25) RESTOREWINDOW(XL,YL,XR,YR,TRUE,SAVEEKRAN) GOTOXY(SAVEX,SAVEY) END ELSE BEGIN END END īeep. :PROCEDURE MESSAGE(XL,YL:BYTE TXT:STRING COLTXT:BYTE ZAGOL:STRING COLZAG:BYTE) CONST MY_TXT=' P "ENTER"' VAR XR,YR,SAVEX,SAVEY,CC,SAVEATTR,LEN_MY,LENTXT:BYTE SAVEEKRAN:POINTER C:CHAR BEGIN SAVEX:=WHEREX SAVEY:=WHEREY SAVEATTR:=TEXTATTR LENTXT:=LENGTH(TXT) LEN_MY:=LENGTH(MY_TXT) IF LENTXT>LEN_MY THEN LEN_MY:=LENTXT LEN_MY:=LEN_MY+2 XR:=XL+LEN_MY+2 RESTOREWINDOW(XL,YL,XR,YR,TRUE,SAVEEKRAN) GOTOXY(SAVEX,SAVEY) END ELSE BEGIN ASK:=FALSE END END Turbo Pascal 7.0'N','': BEGIN WRITE('N') ASK:=FALSE BREAK END ELSE C:=C END UNTIL FALSE TEXTATTR:=SAVEATTR WINDOW(1,1,80,25) :PROCEDURE SCREEN(COLOR_CHAR, COLOR_BACKGROUND : BYTE) BEGIN TEXTCOLOR(COLOR_CHAR) TEXTBACKGROUND(COLOR_BACKGROUND) CLRSCR GOTOXY(1,1) END įUNCTION ASK(XL,YL:BYTE VOPROS:STRING COLVOP:BYTE ZAGOL:STRING COLZAG:BYTE):BOOLEAN VAR XR,YR,SAVEX,SAVEY,SAVEATTR:BYTE SAVEEKRAN:POINTER C:CHAR BEGIN SAVEX:=WHEREX SAVEY:=WHEREY SAVEATTR:=TEXTATTR XR:=XL+LENGTH(VOPROS)+10 YR:=YL+2 IF SAVEWINDOW(XL,YL,XR,YR,TRUE,SAVEEKRAN) THEN BEGIN FRAMEWINDOW(XL,YL,XR,YR,COLVOP,COLZAG,ZAGOL) WINDOW(XL+1,YL+1,XR-1,YR-1) TEXTATTR:=COLVOP CLRSCR WRITE(' '+VOPROS+' (Y/N) ') REPEAT C:=READKEY C:=CHAR_TO_UPPER(C) CASE C OF 'Y','H': BEGIN WRITE('Y') ASK:=TRUE BREAK END Turbo Pascal 7.0 Attr_Col Replicate Str_To_Small Str_To_Big Is_Glasn Calc_Glasn Is_Sog Calc_Sog Is_Char Fill_Right Fill_Left Fill_Middle Clr_Right Fill_Left Clr_Bound Visokosn Day_Of_Month Name_Month 19Ĭhar_To_Lower Compare_String Is_Polindr My_Write Int_To_Str 3 10Ģ.11 GetStrDig Perevorot Revert Char_To_Upper.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |