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));//уровень
}









//********************************************************************************************************************************



    
    






  
