Delphi & Pascal (česká wiki)
/***************************************************************************** * * * Subor ERROR.C * * * *****************************************************************************/ #include <stdio.h> #include <stdlib.h> #include "key.h" #include "glob.h" #include "okno.h" #include "video.h" #include "menu.h" #include "util.h" #include "slov_fon.h" #include "error.def" #include "error.h" //************************************************************************// // ERROR // // 30.10.1997 // //************************************************************************// void error(int i) { chybove_okno(chyba[i]); } //************************************************************************// // CHYBOVE_OKNO // // 30.10.1997 // //************************************************************************// void chybove_okno(char *sprava[]) { register int i=0; int vyska; int sirka; int zx; int zy; vyska=zisti_vysku_chyby(sprava); sirka=zisti_sirku_chyby(sprava); zx=(_stlpcov-sirka)/2; zy=(_riadkov-vyska)/2-1; if(otvor_okno(zx,zy,zx+sirka,zy+vyska,atributy[17],atributy[18],2)==FALSE) neodstranitelna_chyba(); tlac_riadok_help(" ~ENTER ~ESC n vrat",atributy[4],atributy[5]); while(*sprava!=NULL) tlac_retazec(zx+1,zy+1+(i++),atributy[17],*sprava++); pip(); do i=key(); while(i!=ENTER && i!=ESC); zatvor_okno(); } //************************************************************************// // HLASKY // // 30.10.1997 // //************************************************************************// void hlasky(char *sprava[]) { register int i=0; int vyska; int sirka; int zx; int zy; vyska=zisti_vysku_chyby(sprava); sirka=zisti_sirku_chyby(sprava); zx=(_stlpcov-sirka)/2; zy=(_riadkov-vyska)/2-3; if(otvor_okno(zx,zy,zx+sirka,zy+vyska,atributy[20],atributy[21],2)==FALSE) neodstranitelna_chyba(); tlac_riadok_help(" ~ENTER ~ESC n vrat",atributy[4],atributy[5]); while(*sprava!=NULL) tlac_retazec(zx+1,zy+1+(i++),atributy[20],*sprava++); pip(); do i=key(); while(i!=ENTER && i!=ESC); zatvor_okno(); } //************************************************************************// // NEODSTRANITELNA_CHYBA // // 30.10.1997 // //************************************************************************// void neodstranitelna_chyba(void) { nastav_video_mod(0x02); printf("\n\nNeodstranitelna chyba !!!\n\7"); exit(1); } //************************************************************************// // ZISTI_SIRKU_CHYBY // // 30.10.1997 // //************************************************************************// int zisti_sirku_chyby(char *polozky[]) { register int i=0,j; int max=0; char *p; while(polozky[i] != 0) { j=0; p=polozky[i]; i++; while(*p++!='\0') j++; if(j>max) max=j; } return max+2; } //************************************************************************// // ZISTI_VYSKU_CHYBY // // 30.10.1997 // //************************************************************************// int zisti_vysku_chyby(char *polozky[]) { register int i=0; while(polozky[i++]!=NULL); return i+1; } /*----------------------------------END-------------------------------------*/