void sdlist() { char name[13]; char name1[13]; char name2[13]; char name3[13]; char name4[13]; // char time [8]; int cardSize; int h; int nstr=0; byte prob=0; byte ndir=0; // String stringOne, stringTwo; myGLCD.setColor(VGA_WHITE); myGLCD.setBackColor(VGA_BLUE); myGLCD.fillScr(VGA_BLUE); //cardSize = card.cardSize(); kalend(); //************************************************************************* // myGLCD.drawBitmap (640, 180, 80, 80, aandelen); myGLCD.drawRoundRect (640, 180, 680, 220);//Read //myGLCD.setFont( Ubuntubold); myGLCD.setFont(SmallFont); myGLCD.print("Read" , 646, 180+20-7);//кнопка чтения из карты памяти // myGLCD.drawBitmap (640, 270, 80, 80, aandelen); myGLCD.drawRoundRect (700, 180, 740, 220);//Save myGLCD.print("Save" , 706, 180+20-7);//Save // myGLCD.drawRoundRect (700, 180, 740, 220);//Save myGLCD.print("Exit" , 646, 300+20-7);//exit myGLCD.drawRoundRect ( 640, 300, 680, 340); //undo myGLCD.drawBitmap (700, 300, 40, 40, del); myGLCD.drawRoundRect ( 700, 300, 740, 340); //undo myGLCD.drawBitmap (639, 370, 160, 80, cl); myGLCD.drawRoundRect (639, 370, 799, 450); //Clok // myGLCD.setBackColor( 255,255,255); // myGLCD.setColor(22,18,70); clc(); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (10, 5, 350, 475); myGLCD.fillRoundRect (380,5, 630, 141); myGLCD.fillRoundRect (380,145, 630, 475); myGLCD.setColor(VGA_WHITE); myGLCD.drawRoundRect (10, 5, 350, 475); myGLCD.drawRoundRect (380,5, 630, 141); myGLCD.drawRoundRect (380,145, 630, 475); myGLCD.drawBitmap (340, 5, 30, 30, ad); myGLCD.drawRoundRect ( 340, 5, 370, 35); //+ myGLCD.drawBitmap (340, 445, 30, 30, mi); myGLCD.drawRoundRect ( 340, 445, 370, 475); //- //************ myGLCD.drawBitmap (640, 240, 40, 40, open); myGLCD.drawRoundRect ( 640, 240, 680, 280); //open //******************************************************* myGLCD.setFont(BigFont); sd.begin(chipSelect, SPI_HALF_SPEED ); list: sd.chdir("/");//установка раб директории delay(50); //byte q=0; byte pos=1; byte i=0; //byte np[10];//номер папки в листинге byte n=0; int tab=0; int xl=30; //************Печать листинга************************************* myGLCD.setFont(BigFont); myGLCD.setBackColor(VGA_WHITE); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (25, 45, 340, 473); //очистка каталога myGLCD.fillRoundRect (382,6, 618, 139);//очистка терминала myGLCD.print("DIR: ROOT", 400, 10); myGLCD.print(" File name Size", xl-5, 10+tab); tab=tab+22; myGLCD.setBackColor(22,18,70); myGLCD.setColor(255,114,0); myGLCD.print(" ", xl+10, 10+tab); myGLCD.print("ROOT", xl+100, 10+tab); tab=tab+21; list1: byte m=0;//колво файлов в директории while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); // siz [n]=cardSize; m++; myFile.close(); } if (pos < 1) {pos=1; } if (pos > m) {pos=m; } barlist(100*pos/m,20);//barint m-колво файлов в папке if (pos > nstr+20) {nstr=nstr+1; prob=1;//печать пробелов для удаления остатков файлов при листинге } if (pos <= nstr) {nstr=nstr-1; prob=1; } tab=0; tab=tab+43; myGLCD.setFont(BigFont); myGLCD.setColor(VGA_WHITE); myGLCD.setBackColor(22,18,70); myGLCD.print("Files - ", 400,115);//колво файлов в папке myGLCD.printNumI(m, 528,115);//колво файлов в папке //myGLCD.printNumI(pos, 550, 125);// тех //myGLCD.printNumI(nstr, 550, 145); sd.chdir("/");//установка раб директории delay (100); i=0;// while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { myFile.getFilename(name); // myStrings[n]=name; cardSize=myFile.fileSize(); // siz [n]=cardSize; if (i>=nstr)// движение курсора { if( myFile.isDir()==1) { // np[q]=n;//номер DIR по счету // q=q+1;//колво DIR if (pos-1==i)//позиция курсора { myGLCD.setColor(22,18,70); myGLCD.setBackColor(VGA_RED); myGLCD.print( " ", xl, 10+tab); } else {myGLCD.setBackColor(22,18,70); myGLCD.setColor(VGA_RED); } } else { if (pos-1==i) //позиция курсора { myGLCD.setColor(22,18,70); myGLCD.setBackColor(VGA_WHITE); myGLCD.print( " ", xl, 10+tab); } else {myGLCD.setBackColor(22,18,70); myGLCD.setColor(VGA_WHITE); } } if ((pos-1==i-1)||(pos-1==i+1)) {myGLCD.print( " ", xl, 10+tab); } if (prob==1) { myGLCD.print( " ", xl, 10+tab); } myGLCD.print(name , xl, 10+tab); myGLCD.printNumI(cardSize, xl+210, 10+tab); // myGLCD.print( " ", xl, 20+tab); tab=tab+21; if (tab>450) {tab=0; myFile.close(); goto exit; } } i++; myFile.close(); } exit: prob=0; //*************************************************************************************************************************** //myFile.dirName(name); while(1) { sec=t.sec; if ((sec==0) || (sec==20) || (sec==40)) { // myGLCD.setBackColor(0,0,255); // myGLCD.drawBitmap (769, 339, 30, 30, jar); delay(800); clc(); } //***************************************************************** if (myTouch.dataAvailable()) { myTouch.read(); int x=myTouch.getX(); int y=myTouch.getY(); myGLCD.setColor(VGA_BLUE); myGLCD.setBackColor(255,255,255); myGLCD.setFont( Ubuntubold); myGLCD.print("x= " , 650, 32); myGLCD.printNumI(x , 700, 32); myGLCD.setFont( Ubuntubold); myGLCD.print("y= " ,650 , 72); myGLCD.printNumI(y , 700, 72); if ((x>=640) && (x<=799)) // Upper row { if ((y>=10) && (y<=150)) //(10, 370, 90, 450); //Install { kalendarset(); sdlist(); } if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok {waitForIt1(639, 370, 799, 450); sd.chdir("/"); menu(); } } //********************* if ((y>=180) && (y<=220)) //(640, 180, 680, 220);//Read {if((x>640)&&(x<680)) {waitForIt1(640, 180, 680, 220); myGLCD.setColor(255,255,255); myGLCD.setBackColor(0,38,92); myGLCD.print("READ" , 450, 50); delay (500); readmasrab(); myGLCD.print(" OK " , 450, 50); delay (500); myGLCD.print(" " , 450, 50); goto list; } //(700, 180, 740, 220);//Save if((x>700)&&(x<740)) {waitForIt1(700, 180, 740, 220); // myFile.readDir(tempdom); myGLCD.setColor(255,255,255); myGLCD.setBackColor(0,38,92); myGLCD.print("WAIT" , 450, 50); savemasclok(); //savedata(); myGLCD.print(" OK " , 450, 50); delay (500); myGLCD.print(" " , 450, 50); } } //***************************** if ((x>=340) && (x<=370)) // Upper row { if ((y>=5) && (y<=35)) //+ {waitForIt1( 340, 5, 370, 35); pos=pos-1; // nstr=nstr-1; //name1 = "/"; sd.chdir("/");//установка раб директории delay(100); goto list1; } if ((y>=445) && (y<=475)) //- {waitForIt1(340, 445, 370, 475); pos=pos+1; // nstr=nstr+1; sd.chdir("/");//установка раб директории delay(100); goto list1; } } //bar if ((x>=345) && (x<=365)) // BAR { int kolt=405*10/m;//h/m pos=((y-36)*10+kolt)/kolt; if (pos>m){pos=m;} nstr=pos-20; if (nstr<0){nstr=0;} prob=1; sd.chdir("/");//установка раб директории delay(100); goto list1; } if ((x>=20) && (x<=320)) // File 45-470 20 file выбор файла тач пан { int kolt=425*10/20;//h/m pos=((y-45)*10+kolt)/kolt; pos=nstr+pos; if (nstr<0){nstr=0;} prob=1; sd.chdir("/");//установка раб директории delay(100); goto list1; } if ((x>=640) && (x<=680)) // Upper row { if ((y>=240) && (y<=280)) // 640, 240, 680, 280); //open {waitForIt1(640, 240, 680, 280); m=1; sd.chdir("/");//установка раб директории delay(100); while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); if( m==pos) {myFile.getFilename(name1); if( myFile.isDir()==1) {myFile.close(); ndir=1; goto opendir; } else{ readfile();} } m++; myFile.close(); } } if ((y>=300) && (y<=340)) //( 640, 300, 680, 340); //undo {waitForIt1(640, 300, 680, 340); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (380,145, 630, 475); myGLCD.setColor(VGA_WHITE); myGLCD.drawRoundRect (380,145, 630, 475); } } //******************************************************************************* if((x>700)&&(x<740)) {if ((y>=300) && (y<=340)) //DELETE {waitForIt1(700, 300, 740, 340); boolean ret=0; m=1; sd.chdir("/");//установка раб директории delay(100); while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); if( m==pos) {myFile.getFilename(name1); if( myFile.isDir()==1) {myFile.close(); ndir=1; goto opendir; } } m++; myFile.close(); } myGLCD.setFont(BigFont); myGLCD.setColor(22,18,70); //myGLCD.setColor (255,100,0); myGLCD.setColor (255,50,50); myGLCD.fillRoundRect (12*2,80*2, 179*2-20, 150*2); //WIND myGLCD.setColor (255,255,255); myGLCD.drawRoundRect (12*2, 80*2, 178*2-20, 150*2);//ramka myGLCD.drawRoundRect ((12+1)*2, (80+1)*2, (178-1)*2-20, (150-1)*2);//ramka myGLCD.setBackColor (22,18,70); myGLCD.setColor(255,255,255); myGLCD.fillRoundRect ( 28*2,123*2, (28+50)*2, (123+20)*2); //YES myGLCD.setColor(22,18,70); myGLCD.drawRoundRect ( 28*2,123*2, (28+50)*2, (123+20)*2); //YES myGLCD.setColor(255,255,255); myGLCD.fillRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO myGLCD.setColor(22,18,70); myGLCD.drawRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO myGLCD.setBackColor (255,255,255); myGLCD.setColor(22,18,70); myGLCD.print("YES", 41*2, 130*2); myGLCD.print("NO", 116*2, 130*2); //myGLCD.setBackColor (255,100,0); myGLCD.setBackColor (255,50,50); myGLCD.setColor (255,255,255); myGLCD.print("WARNING DELETE FILE", 28, 88*2); // myGLCD.print(" ", 15, 90+3+12+3); myGLCD.print(name1, (12+52)*2, (85+3+12+3)*2); do {delay(100); if (myTouch.dataAvailable()) { myTouch.read(); int x=myTouch.getX(); int y=myTouch.getY(); //*************YES****************** if ((y>=245) && (y<=283)) { if ((x>=56) && (x<=153)) { waitForIt1(56, 246, 156, 286); sd.chdir("/");//установка раб директории delay(100); myFile.open(name1, O_RDWR | O_CREAT | O_AT_END); myFile.remove(); ret=1; } //***********NO****************************** myGLCD.drawRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO if ((x>=220) && (x<=320)) { waitForIt1(200, 246, 300, 286); ret=1; } } } }while(ret<1); myFile.close(); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (12,7, 334, 472); myGLCD.setColor(VGA_WHITE); // myGLCD.drawRoundRect (10, 5, 350, 475); nstr=0; goto list; } } //****************************************************************************************************************** } } opendir: pos=1; nstr=0; xl=30; // открываем папки ******************************************************************************************************************** myGLCD.setFont(BigFont); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (25, 45, 340, 473); //очистка каталога myGLCD.fillRoundRect (382,6, 618, 139);//очистка терминала myGLCD.setBackColor(22,18,70); myGLCD.setColor(255,114,0); tab=22; if (ndir==1) {myGLCD.print(" ", xl+10, 10+tab); myGLCD.print("ROOT", xl+10, 10+tab); myGLCD.print("/", xl+10+64, 10+tab); myGLCD.print(name1, xl+10+64+16, 10+tab); //terminal myGLCD.print("DIR: ROOT", 400, 10); // myGLCD.print(" ", 420, 30); // myGLCD.print(" ", 440, 50); myGLCD.setBackColor(VGA_WHITE); myGLCD.setColor(22,18,70); myGLCD.print(name1 , 420, 30); } if (ndir==2) { myGLCD.print(" ", xl+10, 10+tab); myGLCD.print("ROOT", xl+10, 10+tab); myGLCD.print("/", xl+10+64, 10+tab); myGLCD.print(name1, xl+10+64+16, 10+tab); myGLCD.print("/", xl+10+64+16+48, 10+tab); myGLCD.print(name2, xl+10+64+16+64, 10+tab); //terminal myGLCD.print("DIR: ROOT", 400, 10); //myGLCD.print(" ", 420, 30); myGLCD.print(name1 , 420, 30); // myGLCD.print(" ", 440, 50); myGLCD.setBackColor(VGA_WHITE); myGLCD.setColor(22,18,70); myGLCD.print(name2 , 440, 50); } if (ndir==3) { myGLCD.print(" ", xl+10, 10+tab); myGLCD.print("ROOT", xl+10, 10+tab); myGLCD.print("/", xl+10+64, 10+tab); myGLCD.print(name1, xl+10+64+16, 10+tab); myGLCD.print("/", xl+10+64+16+48, 10+tab); myGLCD.print(name2, xl+10+64+16+64, 10+tab); myGLCD.print("/", xl+10+64+16+64+48, 10+tab); myGLCD.print(name3, xl+10+64+16+64+48+16, 10+tab); //terminal myGLCD.print("DIR: ROOT", 400, 10); // myGLCD.print(" ", 420, 30); myGLCD.print(name1 , 420, 30); // myGLCD.print(" ", 440, 50); myGLCD.print(name2 , 440, 50); myGLCD.setBackColor(VGA_WHITE); myGLCD.setColor(22,18,70); // myGLCD.print(" ", 460, 70); myGLCD.print(name3 , 460, 70); } tab=tab+21; myGLCD.setBackColor(22,18,70); myGLCD.setColor(255,255,255); if (ndir==1) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); } if (ndir==2) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); } if (ndir==3) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); sd.chdir(name3);//установка раб директории delay (50); } m=0;//колво файлов в директории while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); // siz [n]=cardSize; m++; myFile.close(); } pos=1; nstr=0; opendir1: if (pos < 1) {pos=1; } if (pos > m) {pos=m; } barlist(100*pos/m,20);//barint m-колво файлов в папке if (pos > nstr+20) {nstr=nstr+1; prob=1;//печать пробелов для удаления остатков файлов при листинге } if (pos <= nstr) {nstr=nstr-1; if (nstr<0){nstr=0;} prob=1; } tab=0; tab=tab+43; myGLCD.setFont(BigFont); myGLCD.setColor(VGA_WHITE); myGLCD.setBackColor(22,18,70); myGLCD.print("Files - ", 400, 115);//колво файлов в папке myGLCD.printNumI(m, 528, 115);//колво файлов в папке //myGLCD.printNumI(pos, 550, 125);// тех //myGLCD.printNumI(nstr, 550, 145); //myGLCD.printNumI(ndir, 550, 100); if (ndir==1) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); } if (ndir==2) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); } if (ndir==3) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); sd.chdir(name3);//установка раб директории delay (50); } i=0;// while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { myFile.getFilename(name); cardSize=myFile.fileSize(); // siz [n]=cardSize; if (i>=nstr)// движение курсора { if( myFile.isDir()==1) { // np[q]=n;//номер DIR по счету // q=q+1;//колво DIR if (pos-1==i)//позиция курсора { myGLCD.setColor(22,18,70); myGLCD.setBackColor(VGA_RED); myGLCD.print( " ", xl, 10+tab); } else {myGLCD.setBackColor(22,18,70); myGLCD.setColor(VGA_RED); } } else { if (pos-1==i) //позиция курсора { myGLCD.setColor(22,18,70); myGLCD.setBackColor(VGA_WHITE); myGLCD.print( " ", xl, 10+tab); } else {myGLCD.setBackColor(22,18,70); myGLCD.setColor(VGA_WHITE); } } if ((pos-1==i-1)||(pos-1==i+1)) {myGLCD.print( " ", xl, 10+tab); } if (prob==1) { myGLCD.print( " ", xl, 10+tab); } myGLCD.print(name , xl, 10+tab); myGLCD.printNumI(cardSize, xl+210, 10+tab); // myGLCD.print( " ", xl, 20+tab); tab=tab+21; if (tab>450) {tab=0; myFile.close(); goto exit1; } } i++; myFile.close(); } exit1: prob=0; while(1) { sec=t.sec; if ((sec==0) || (sec==20) || (sec==40)) { // myGLCD.setBackColor(0,0,255); // myGLCD.drawBitmap (769, 339, 30, 30, jar); delay(800); clc(); } //***************************************************************** if (myTouch.dataAvailable()) { myTouch.read(); int x=myTouch.getX(); int y=myTouch.getY(); myGLCD.setColor(VGA_BLUE); myGLCD.setBackColor(255,255,255); myGLCD.setFont( Ubuntubold); myGLCD.print("x= " , 650, 32); myGLCD.printNumI(x , 700, 32); myGLCD.setFont( Ubuntubold); myGLCD.print("y= " ,650 , 72); myGLCD.printNumI(y , 700, 72); //********************* if ((y>=180) && (y<=220)) //(640, 180, 680, 220);//Read {if((x>640)&&(x<680)) {waitForIt1(640, 180, 680, 220); myGLCD.setColor(255,255,255); myGLCD.setBackColor(0,38,92); myGLCD.print("READ" , 450, 50); delay (500); readmasrab(); myGLCD.print(" OK " , 450, 50); delay (500); myGLCD.print(" " , 450, 50); goto list; } //(700, 180, 740, 220);//Save if((x>700)&&(x<740)) {waitForIt1(700, 180, 740, 220); // myFile.readDir(tempdom); myGLCD.setColor(255,255,255); myGLCD.setBackColor(0,38,92); myGLCD.print("WAIT" , 450, 50); savemasclok(); //savedata(); myGLCD.print(" OK " , 450, 50); delay (500); myGLCD.print(" " , 450, 50); } } //***************************** if ((x>=640) && (x<=799)) // Upper row { if ((y>=10) && (y<=150)) //(10, 370, 90, 450); //Install { kalendarset(); sdlist(); } if ((y>=370) && (y<=450)) //Clok {waitForIt1(639, 370, 799, 450); sd.chdir("/"); menu(); } } //************** //************************************ if ((x>=340) && (x<=370)) // Upper row { if ((y>=5) && (y<=35)) //+ {waitForIt1( 340, 5, 370, 35); pos=pos-1; // nstr=nstr-1; //name1 = "/"; // sd.chdir(name1);//установка раб директории // delay(100); goto opendir1; } if ((y>=445) && (y<=475)) //- {waitForIt1(340, 445, 370, 475); pos=pos+1; // nstr=nstr+1; // sd.chdir(name1);//установка раб директории // delay(100); goto opendir1; } } //bar if ((x>=345) && (x<=365)) // BAR { int kolt=405*10/m;//h/m pos=((y-36)*10+kolt)/kolt; if (pos>m){pos=m;} nstr=pos-20; if (nstr<0){nstr=0;} prob=1; // sd.chdir(name1);//установка раб директории // delay(100); goto opendir1; } if ((x>=20) && (x<=320)) // File 45-470 20 file { int kolt=425*10/20;//h/m pos=((y-45)*10+kolt)/kolt; pos=nstr+pos; if (nstr<0){nstr=0;} prob=1; //sd.chdir(name1);//установка раб директории // delay(100); goto opendir1; } //************************************ //******************************************************************************* if((x>700)&&(x<740)) {if ((y>=300) && (y<=340)) //DELETE {waitForIt1(700, 300, 740, 340); boolean ret=0; m=1; if (ndir==1) { sd.chdir("/");//установка раб директории delay (100); sd.chdir(name1);//установка раб директории delay (100); } if (ndir==2) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); } if (ndir==3) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); sd.chdir(name3);//установка раб директории delay (50); } while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); if( m==pos) {//ndir=ndir+1; //if (ndir==3){myFile.getFilename(name3);} // if (ndir==2) {myFile.getFilename(name2);} // if (ndir==1){myFile.getFilename(name1);} if( myFile.isDir()==1) {myFile.close(); goto opendir; } else{ if (ndir==3){myFile.getFilename(name4);} if (ndir==2) {myFile.getFilename(name4);} if (ndir==1){myFile.getFilename(name4);} } } m++; myFile.close(); } myGLCD.setFont(BigFont); myGLCD.setColor(22,18,70); //myGLCD.setColor (255,100,0); myGLCD.setColor (255,50,50); myGLCD.fillRoundRect (12*2,80*2, 179*2-20, 150*2); //WIND myGLCD.setColor (255,255,255); myGLCD.drawRoundRect (12*2, 80*2, 178*2-20, 150*2);//ramka myGLCD.drawRoundRect ((12+1)*2, (80+1)*2, (178-1)*2-20, (150-1)*2);//ramka myGLCD.setBackColor (22,18,70); myGLCD.setColor(255,255,255); myGLCD.fillRoundRect ( 28*2,123*2, (28+50)*2, (123+20)*2); //YES myGLCD.setColor(22,18,70); myGLCD.drawRoundRect ( 28*2,123*2, (28+50)*2, (123+20)*2); //YES myGLCD.setColor(255,255,255); myGLCD.fillRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO myGLCD.setColor(22,18,70); myGLCD.drawRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO myGLCD.setBackColor (255,255,255); myGLCD.setColor(22,18,70); myGLCD.print("YES", 41*2, 130*2); myGLCD.print("NO", 116*2, 130*2); //myGLCD.setBackColor (255,100,0); myGLCD.setBackColor (255,50,50); myGLCD.setColor (255,255,255); myGLCD.print("WARNING DELETE FILE", 28, 88*2); // myGLCD.print(" ", 15, 90+3+12+3); myGLCD.print(name4, (12+52)*2, (85+3+12+3)*2); do {delay(100); if (myTouch.dataAvailable()) { myTouch.read(); int x=myTouch.getX(); int y=myTouch.getY(); //*************YES****************** if ((y>=245) && (y<=283)) { if ((x>=56) && (x<=153)) { waitForIt1(56, 246, 156, 286); //sd.chdir("/");//установка раб директории delay(100); myFile.open(name4, O_RDWR | O_CREAT | O_AT_END); myFile.remove(); ret=1; } //***********NO****************************** myGLCD.drawRoundRect ( 100*2, 123*2, (100+50)*2, (123+20)*2); //NO if ((x>=220) && (x<=320)) { waitForIt1(200, 246, 300, 286); ret=1; } } } }while(ret<1); myFile.close(); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (12,7, 334, 472); myGLCD.setColor(VGA_WHITE); // myGLCD.drawRoundRect (10, 5, 350, 475); // nstr=0; goto opendir; } } //****************************************************************************************************************** if ((x>=640) && (x<=680)) // open { if ((y>=240) && (y<=280)) // 640, 240, 680, 280); //open {waitForIt1(640, 240, 680, 280); m=1; if (ndir==1) { sd.chdir("/");//установка раб директории delay (100); sd.chdir(name1);//установка раб директории delay (100); } if (ndir==2) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); } if (ndir==3) { sd.chdir("/");//установка раб директории delay (50); sd.chdir(name1);//установка раб директории delay (50); sd.chdir(name2);//установка раб директории delay (50); sd.chdir(name3);//установка раб директории delay (50); } while ( myFile.openNext(sd.vwd(), O_READ)) // open next file in root. The volume working directory, vwd, is root { // myFile.dirIndex(name); // myStrings[n]=name; cardSize=myFile.fileSize(); if( m==pos) {ndir=ndir+1; if (ndir==3){myFile.getFilename(name3);} if (ndir==2) {myFile.getFilename(name2);} if (ndir==1){myFile.getFilename(name1);} if( myFile.isDir()==1) {myFile.close(); goto opendir; } else{ readfile();} } m++; myFile.close(); } } //**************************************************** if ((y>=300) && (y<=340)) //( 640, 300, 680, 340); //undo {waitForIt1(640, 300, 680, 340); myGLCD.setColor(22,18,70); myGLCD.fillRoundRect (380,145, 630, 475); myGLCD.setColor(VGA_WHITE); myGLCD.drawRoundRect (380,145, 630, 475); ndir=ndir-1; if (ndir==0) {goto list;} goto opendir; } } } } } //***********************************BAR******************** void barlist(int posbar,int hbar)//(int x,int y,int pos,int l,int h)//l-длинна шкалы pos-позиция метки положения h-высота {//barlist(posbar,30); int pos=(kol fail/50); pos=(ypos+y)*10*m/(h*10) int y=36; int x=350; int l=10; int h=405; //int hbar=30; myGLCD.setBackColor(0,0,255); myGLCD.setColor(100,100,255); myGLCD.fillRoundRect(x, y, l+x, h+y);//рисуем серый пр-к myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect(x, y, l+x, h+y);//с белой обводкой myGLCD.fillRoundRect(x, y+10-hbar/2+(posbar*(h-20)/100), l+x, y+10+hbar/2+(posbar*(h-20)/100));//уровень } //********************************************************************************************************************************