Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #include "imgs\logo.cpp"
  2.  
  3. /*void authors()
  4. {
  5.         _HH:
  6.         WindowRedrawStatus(1);
  7.         DefineAndDrawWindow(500,200,181,256,0x04,0x10EFEBEF,0,0,"About Eolite");
  8.      //DrawTitle("About Eolite");
  9.         DrawBar(5,0,172,50,0x8494C4); //ãîëóáîå ñçàäè
  10.         PutImage(#logo,85,85,48,7);
  11.                 WriteText(32,100,0x80,0xBF40BF,"Eolite v0.96.4 beta7",0);
  12.                 WriteText(68,120,0x80,0,"Authors:",0);
  13.                 WriteText(44,130,0x80,0,"Leency & Veliant",0);
  14.                 WriteText(50,140,0x80,0,"KolibriOS Team",0);
  15.                 WriteText(26,160,0x80,0,"Made using C-- in 2008",0);
  16.                 WriteText(23,170,0x80,0,"Visit www.kolibrios.org",0);
  17.         DrawFlatButton(90,190,70,22,2,0x00D7D7D7, "Close");
  18.         WindowRedrawStatus(2);
  19.         loop()
  20.         {
  21.                 SWITCH(WaitEvent())
  22.                 {
  23.                         CASE evButton: ExitProcess();
  24.                         CASE evKey: IF (GetKey()==27) ExitProcess(); break;
  25.                         CASE evReDraw: GOTO _HH;
  26.                         BREAK;
  27.                 }
  28.         }
  29.         ExitProcess();
  30. }*/
  31.  
  32.  
  33. void authors()
  34. {
  35.         loop()
  36.         {
  37.                 switch(WaitEvent())
  38.                 {
  39.                         CASE evButton: ExitProcess();
  40.                         CASE evKey: IF (GetKey()==27) ExitProcess(); break;
  41.                         CASE evReDraw:
  42.                                 WindowRedrawStatus(1);
  43.                                 DefineAndDrawWindow(500,200,181,256,0x04,0x10EFEBEF,0,0,"About Eolite");
  44.                             //DrawTitle("About Eolite");
  45.                                 DrawBar(5,0,172,50,0x8494C4); //ãîëóáîå ñçàäè
  46.                                 PutImage(#logo,85,85,48,7);
  47.                                 WriteText(32,100,0x80,0xBF40BF,"Eolite v0.96.7 beta7",0);
  48.                                 WriteText(68,120,0x80,0,"Authors:",0);
  49.                                 WriteText(44,130,0x80,0,"Leency & Veliant",0);
  50.                                 WriteText(50,140,0x80,0,"KolibriOS Team",0);
  51.                                 WriteText(26,160,0x80,0,"Made using C-- in 2008",0);
  52.                                 WriteText(23,170,0x80,0,"Visit www.kolibrios.org",0);
  53.                                 DrawFlatButton(90,190,70,22,2,0x00D7D7D7, "Close");
  54.                                 WindowRedrawStatus(2);
  55.                 }
  56.         }
  57.         //ExitProcess();
  58. }
  59.  
  60.  
  61. dword ConvertSize(dword bytes)
  62. {
  63.         byte size_prefix[7], temp[3];
  64.         IF (bytes>=1073741824) copystr(" Gb",#temp);
  65.         ELSE IF (bytes>=1048576) copystr(" Mb",#temp);
  66.         ELSE IF (bytes>=1024) copystr(" Kb",#temp);
  67.         ELSE copystr(" b ",#temp);
  68.         WHILE (bytes>1023) bytes/=1024;
  69.         copystr(IntToStr(bytes),#size_prefix);
  70.         copystr(#temp,#size_prefix+strlen(#size_prefix));
  71.         EAX=#size_prefix;
  72. }
  73.  
  74.  
  75. void Sort_by_Size(int a, b)   // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
  76. {                                        
  77.         int i= a;
  78.         IF (a >= b) return;
  79.         FOR (j = a; j <= b; j++)
  80.         {
  81.                 IF (ESDWORD[file_mas[j]*304 + buf+72-8] <= ESDWORD[file_mas[b]*304 + buf+72-8])
  82.                 { file_mas[i] >< file_mas[j];   i++;}
  83.         }
  84.         Sort_by_Size (a, i-2);
  85.         Sort_by_Size (i, b);
  86. }
  87.  
  88.  
  89. void Sort_by_Name(int a, b)   // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
  90. {                                        
  91.         int i = a;
  92.         IF (a >= b) return;
  93.         FOR (j = a; j <= b; j++)
  94.                 IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[i] >< file_mas[j];   i++;}
  95.         Sort_by_Name(a, i-2);
  96.         Sort_by_Name(i, b);
  97. }
  98.  
  99.  
  100. int partition1(dword a, b)
  101. {
  102.         dword i = a; byte filename1[256], filename2[256]; int n;
  103.         for (j = a; j <= b; j++)
  104.         {
  105.             //
  106.                 copystr(file_mas[j]*304 + buf+72, #filename1);
  107.                 copystr(file_mas[b]*304 + buf+72, #filename2);
  108.                 n=strlen(#filename1)-1;
  109.                 WHILE (filename1[n]<>'.') && (n>0) n--;
  110.                 IF (n) copystr(#filename1+n+1, #filename1);
  111.                 n=strlen(#filename2)-1;
  112.                 WHILE (filename2[n]<>'.') && (n>0) n--;
  113.                 IF (n) copystr(#filename2+n+1, #filename2);
  114.                 //
  115.                 n=strcmp(#filename1, #filename2);
  116.                 IF (n<0) { file_mas[i] >< file_mas[j];   i++;}
  117.                 IF (n==0) && (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[i] >< file_mas[j];   i++;}
  118.         }
  119.         EAX = i-1;
  120. }
  121.  
  122. void Sort_by_Type(dword a, b)   // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
  123. {                                        
  124.         int c;
  125.         IF (a >= b) RETURN;
  126.         c = partition1(a, b);
  127.         Sort_by_Type(a, c-1);
  128.         Sort_by_Type(c+1, b);
  129. }
  130.