You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Play/_719/sdlist.ino

1145 lines
35 KiB

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