/programs/fs/Eolite/trunk/include/some_code.h-- |
---|
File deleted |
/programs/fs/Eolite/trunk/include/icons_f.h-- |
---|
File deleted |
/programs/fs/Eolite/trunk/include/about_dialog.h-- |
---|
File deleted |
\ No newline at end of file |
/programs/fs/Eolite/trunk/include/sorting.h-- |
---|
File deleted |
/programs/fs/Eolite/trunk/include/ini.h-- |
---|
File deleted |
/programs/fs/Eolite/trunk/include/about_dialog.h |
---|
0,0 → 1,56 |
//Leency - 2012 |
#include "imgs\logo.txt" |
#define BROWSER_PATH "/sys/htmlv" |
#define BROWSER_LINK "http://www.kolibri-os.narod.ru" |
void authors() |
{ |
byte p; |
mouse mm; |
byte id, letitclose=0; |
SetEventMask(100111b); |
loop() switch(WaitEvent()) |
{ |
case evMouse: |
mm.get(); |
//êóëüíî |
IF (mm.x>85) && (mm.x<155) && (mm.y>190) && (mm.y<190+22) |
IF (mm.lkm) {DrawRegion_3D(86,191,68,20,0xC7C7C7,0xFFFFFF); letitclose=1;} |
ELSE {IF (letitclose) {DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7); Pause(7); ExitProcess();}} |
ELSE IF (letitclose) {letitclose=0; DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7);} |
break; |
case evButton: |
id=GetButtonID(); |
IF (id==1) ExitProcess(); |
IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK); |
break; |
case evKey: |
IF (GetKey()==27) ExitProcess(); |
break; |
case evReDraw: |
DefineAndDrawWindow(600,150,181,256,0x34,0x10EFEBEF,0,0,"About Eolite"); |
DrawBar(0,0,172,50,0x8494C4); //ãîëóáîå ñçàäè |
PutPaletteImage(#logo,85,85,43,7,#logo_pal); |
WriteText(54,100,0x80,0xBF40BF,"Eolite v1.1",0); |
WriteText(55,120,0x80,0,"Developers:",0); |
WriteText(39,130,0x80,0,"Leency & Veliant",0); |
WriteText(30,140,0x80,0,"Diamond, Lrz, Nable",0); |
WriteText(55,150,0x80,0," 2008-2012 ",0); |
WriteText(12,170,0x80,0,"Visit",0); |
DrawLink(48,170,23, "kolibri-os.narod.ru"); //ññûëêa |
DrawFlatButton(85,190,70,22,0,0xE4DFE1, "Close"); |
} |
} |
void DrawLink(dword x,y,btn_id, inscription) |
{ |
WriteText(x,y,0x80,0x4E00E7,inscription,0); |
DrawBar(x,y+8,strlen(inscription)*6,1,0x4E00E7); //ïîä÷åðêíóòü ññûëêó |
DefineButton(x-1,y-1,strlen(inscription)*6,10,btn_id+BT_HIDE,0); |
} |
/programs/fs/Eolite/trunk/include/devices.h |
---|
0,0 → 1,70 |
//03.04.2012 |
struct string { |
char Item[4096]; |
}; |
string disk_list[20]; |
int disc_num; |
void GetSystemDiscs() |
{ |
char dev_name[10], sys_discs[10]; |
int i1, j1, dev_num, dev_disc_num; |
dword devbuf; |
devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
ReadDir(10, devbuf, "/"); |
dev_num = EBX; |
for (i1=0; i1<dev_num; i1++) |
{ |
copystr("/", #dev_name); // / |
copystr(i1*304+ devbuf+72, #dev_name+strlen(#dev_name)); // /rd |
copystr("/", #dev_name+strlen(#dev_name)); // /rd/ |
Open_Dir(#dev_name, ONLY_OPEN); |
dev_disc_num = count; |
for (j1=0; j1<dev_disc_num; j1++;) |
{ |
copystr(#dev_name, #sys_discs); // /rd/ |
copystr(j1*304+ buf+72, #sys_discs+strlen(#sys_discs)); // /rd/1 |
copystr("/", #sys_discs+strlen(#sys_discs)); // /rd/1/ |
copystr(#sys_discs,#disk_list[disc_num].Item); |
disc_num++; |
} |
} |
} |
void DrawSystemDiscs() |
{ |
byte disc_icon; |
char dev_name[6]; |
char disc_name[100]; |
int i, dev_icon; |
DrawBar(2,41,190,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñâåðõó |
DrawBar(2,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà |
DrawBar(177,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà |
//ñïèñîê äèñêîâ |
Tip(56, "Disks", 0, ""); |
for (i=0;i<disc_num;i++) |
{ |
DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå |
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
copystr("Unknown drive",#disc_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
copystr(#disk_list[i].Item, #dev_name); |
IF (dev_name[1]=='r') { dev_icon=0; copystr("RAM disk ",#disc_name); } |
IF (dev_name[1]=='c') { dev_icon=1; copystr("CD-ROM ",#disc_name); } |
IF (dev_name[1]=='f') { dev_icon=2; copystr("Floppy disk ",#disc_name); } |
IF (dev_name[1]=='h') || (dev_name[1]=='b') copystr("Hard disk ",#disc_name); |
//IF (dev_name[1]=='b') copystr("SATA disk ",#disc_name); |
copystr(#dev_name,#disc_name+strlen(#disc_name)); |
// |
WriteText(45,i*16+79,0x80,0,#disc_name,0); |
PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
} |
} |
/programs/fs/Eolite/trunk/include/icons_f.h |
---|
0,0 → 1,247 |
#include "imgs\icons.txt" |
dword Put_icon(dword extension, yy) |
{ |
dword ftype="", fnum=0; //åøè íåèçâåñíûé ôàéë |
IF (!strcmp(extension,"htm")) || (!strcmp(extension,"html")) || |
(!strcmp(extension,"mht")) {fnum = 2; ftype="Web-page";} |
IF (!strcmp(extension,"ini")) || (!strcmp(extension,"conf")) {fnum = 3; ftype="Config";} |
IF (!strcmp(extension,"xlt")) || (!strcmp(extension,"xls")) || |
(!strcmp(extension,"ods")) || (!strcmp(extension,"xlsx")) {fnum = 4; ftype="Table";} |
IF (!strcmp(extension,"cmd")) || (!strcmp(extension,"bat")) || (!strcmp(extension,"sh")) {fnum = 5; ftype="Script";} |
IF (!strcmp(extension,"com")) {fnum = 5; ftype="DOS Exec";} |
IF (!strcmp(extension,"kex")) {fnum = 6; ftype="Program";} |
IF (!strcmp(extension,"exe")) || (!strcmp(extension,"msi")) {fnum = 7; ftype="Win32 Exec";} |
IF (!strcmp(extension,"sys")) || (!strcmp(extension,"ocx")) || |
(!strcmp(extension,"drv")) || (!strcmp(extension,"so")) fnum = 8; |
IF (!strcmp(extension,"inc")) fnum = 9; |
IF (!strcmp(extension,"chr")) || (!strcmp(extension,"mt")) || |
(!strcmp(extension,"ttf")) || (!strcmp(extension,"fon")) {fnum = 10; ftype="Font";} |
IF (!strcmp(extension,"asm")) {fnum = 11; ftype="Source";} |
IF (!strcmp(extension,"skn")) {fnum = 13; ftype="Skin";} |
IF (!strcmp(extension,"djvu")) || (!strcmp(extension,"pdf")) {fnum = 15; ftype="Book";} |
IF (!strcmp(extension,"nes")) {fnum = 18; ftype="Cartridge";} |
IF (!strcmp(extension,"img")) || (!strcmp(extension,"ima")) {fnum = 21; ftype="Image";} |
IF (!strcmp(extension,"dll")) || (!strcmp(extension,"obj")) {fnum = 22; ftype="Library";} |
IF (!strcmp(extension,"iso")) || (!strcmp(extension,"cue")) || |
(!strcmp(extension,"nrg")) || (!strcmp(extension,"mdf")) {fnum = 24; ftype="Disc image";} |
//text |
IF (!strcmp(extension,"txt")) || (!strcmp(extension,"doc")) || |
(!strcmp(extension,"rtf")) || (!strcmp(extension,"odt")) || |
(!strcmp(extension,"log")) || (!strcmp(extension,"docx")) {fnum = 1; ftype="Text";} |
//èçîáðàæåíèÿ |
IF (!strcmp(extension,"gif")) || (!strcmp(extension,"bmp")) || |
(!strcmp(extension,"tga")) || (!strcmp(extension,"pcx")) || |
(!strcmp(extension,"png")) || (!strcmp(extension,"jpg")) {fnum = 19; ftype="Image";} |
IF (!strcmp(extension,"xcf")) || (!strcmp(extension,"ai")) || |
(!strcmp(extension,"jpeg")) || (!strcmp(extension,"raw")) || |
(!strcmp(extension,"psd")) {fnum = 19; ftype="Image";} |
//ïèêòîãðàììû |
IF (!strcmp(extension,"ico")) {fnum = 20; ftype="Icon";} |
IF (!strcmp(extension,"cur")) || (!strcmp(extension,"ani")) {fnum = 20; ftype="Cursor";} |
//àðõèâû |
IF (!strcmp(extension,"rar")) || (!strcmp(extension,"zip")) || |
(!strcmp(extension,"cab")) || (!strcmp(extension,"tar")) || |
(!strcmp(extension,"ajr")) || (!strcmp(extension,"jar")) || |
(!strcmp(extension,"7z")) ||(!strcmp(extension,"gz")) {fnum = 23; ftype="Archive";} |
//audio |
IF (!strcmp(extension,"mp3")) {fnum = 12; ftype="Music";} |
IF (!strcmp(extension,"wav")) || (!strcmp(extension,"mid")) || |
(!strcmp(extension,"midi")) || (!strcmp(extension,"ogg")) || |
(!strcmp(extension,"wma")) || (!strcmp(extension,"flac")) {fnum = 12; ftype="Audio";} |
//video |
IF (!strcmp(extension,"avi")) || (!strcmp(extension,"flv")) || |
(!strcmp(extension,"mpg")) || (!strcmp(extension,"wmv")) || |
(!strcmp(extension,"mov")) || (!strcmp(extension,"mkv")) || |
(!strcmp(extension,"mp4")) || (!strcmp(extension,"vob")) {fnum = 14; ftype="Video";} |
//ïàïêè |
IF (!strcmp(extension,"<DIR>")) { fnum=16; WriteText(onLeft(145,0),yy+4,0x80,0,extension,0);} |
IF (!strcmp(extension,"..")) fnum=17; |
// |
PutPaletteImage(fnum*16*15+#ficons,16,15,195,yy,#ficons_pal); |
WriteText(onLeft(160,0),yy+4,0x80,0,ftype,0); |
return fnum; |
} |
void IconFairing(int filenum, y) |
{ |
switch(filenum) |
{ |
case 0...1: //ôàéëèê |
DrawBar(195,y,2,15,videlenie); |
RIGHT_PAINT: |
DrawBar(209,y,2,15,videlenie); |
DrawBar(205,y,4,1,videlenie); |
DrawBar(206,y+1,3,1,videlenie); |
DrawBar(207,y+2,2,1,videlenie); |
PutPixel(208,y+3,videlenie); |
return; |
case 2: //html |
DrawBar(195,y,1,7,videlenie); |
DrawBar(196,y,1,6,videlenie); |
DrawBar(195,y+10,1,5,videlenie); |
DrawBar(196,y+11,1,4,videlenie); |
GOTO RIGHT_PAINT; |
case 3: //íàñòðîéêè |
DrawBar(195,y,2,7,videlenie); |
DrawBar(195,y+7,1,2,videlenie); |
DrawBar(195,y+12,1,3,videlenie); |
PutPixel(196,y+14,videlenie); |
GOTO RIGHT_PAINT; |
case 9: //inc |
DrawBar(195,y,1,12,videlenie); |
DrawBar(196,y,1,11,videlenie); |
DrawBar(197,y,1,10,videlenie); |
DrawBar(198,y,1,5,videlenie); |
DrawBar(199,y,1,4,videlenie); |
DrawBar(200,y,1,3,videlenie); |
DrawBar(201,y,1,2,videlenie); |
DrawBar(202,y,1,3,videlenie); |
DrawBar(203,y,1,2,videlenie); |
PutPixel(204,y,videlenie); |
PutPixel(205,y+4,videlenie); |
PutPixel(206,y+3,videlenie); |
PutPixel(207,y,videlenie); |
PutPixel(207,y+2,videlenie); |
DrawBar(208,y,1,3,videlenie); |
DrawBar(209,y,2,4,videlenie); |
DrawBar(210,y,1,15,videlenie); |
PutPixel(198,y+14,videlenie); |
DrawBar(199,y+13,1,2,videlenie); |
DrawBar(200,y+12,10,3,videlenie); |
PutPixel(205,y+11,videlenie); |
DrawBar(206,y+10,1,2,videlenie); |
DrawBar(207,y+9,1,3,videlenie); |
PutPixel(207,y+7,videlenie); |
DrawBar(208,y+6,2,7,videlenie); |
PutPixel(209,y+5,videlenie); |
return; |
case 10: //font |
DrawRegion_3D(195,y,15,14,videlenie,videlenie); |
DrawBar(196,y+1,1,13,videlenie); |
DrawBar(197,y+1,1,11,videlenie); |
DrawBar(198,y+1,1,10,videlenie); |
DrawBar(199,y+1,1,9,videlenie); |
DrawBar(200,y+1,1,7,videlenie); |
DrawBar(201,y+1,1,5,videlenie); |
DrawBar(202,y+1,1,4,videlenie); |
DrawBar(203,y+1,1,2,videlenie); |
DrawBar(209,y+1,1,13,videlenie); |
DrawBar(208,y+1,1,11,videlenie); |
PutPixel(204,y+6,videlenie); |
DrawBar(203,y+10,2,1,videlenie); |
DrawBar(202,y+11,2,3,videlenie); |
return; |
case 11: //asm |
DrawBar(195,y,1,15,videlenie); |
return; |
case 12: //audio |
DrawBar(195,y,16,1,videlenie); |
DrawBar(195,y,1,15,videlenie); |
DrawBar(196,y+1,4,8,videlenie); |
DrawBar(196,y+9,1,2,videlenie); |
PutPixel(197,y+9,videlenie); |
PutPixel(196,y+14,videlenie); |
DrawBar(210,y+1,1,14,videlenie); |
DrawBar(202,y+4,6,4,videlenie); |
DrawBar(202,y+8,4,1,videlenie); |
DrawBar(202,y+9,3,1,videlenie); |
DrawBar(202,y+10,2,3,videlenie); |
DrawBar(201,y+13,4,1,videlenie); |
DrawBar(200,y+14,14,1,videlenie); |
DrawBar(209,y+12,1,2,videlenie); |
PutPixel(208,y+13,videlenie); |
return; |
case 13: //skin |
PutPixel(210,y,videlenie); |
return; |
case 14...15: //video, book |
DrawBar(195,y,1,15,videlenie); |
DrawBar(210,y,1,15,videlenie); |
return; |
case 16...17: //ïàïêà |
DrawBar(195,y,1,15,videlenie); |
DrawBar(203,y,8,2,videlenie); |
IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //çåë¸íàÿ òî÷êà ñòðåëêè |
DrawBar(196,y+13,15,2,videlenie); |
PutPixel(196,y,videlenie); //.òî÷êè |
PutPixel(202,y,videlenie); |
PutPixel(210,y+2,videlenie); |
PutPixel(196,y+12,videlenie); |
PutPixel(210,y+12,videlenie); |
return; |
case 18: //êàðòðèäæ |
DrawBar(195,y,16,2,videlenie); |
DrawBar(195,y+11,1,2,videlenie); |
DrawBar(210,y+11,1,2,videlenie); |
DrawBar(195,y+13,16,2,videlenie); |
return; |
case 19: //èçîáðàæåíèå |
case 20: //èçîáðàæåíèå |
DrawBar(195,y+14,16,1,videlenie); |
return; |
case 21: //äèñêåòà |
PutPixel(195,y,videlenie); |
PutPixel(210,y,videlenie); |
return; |
case 22: //áèáëèîòåêà |
DrawBar(195,y,16,1,videlenie); //ñâåðõó ñëåâà |
DrawBar(195,y+1,3,1,videlenie); |
DrawBar(195,y+2,2,1,videlenie); |
PutPixel(195,y+3,videlenie); |
PutPixel(210,y+11,videlenie); //ñïðàâà ñïðàâà |
DrawBar(209,y+12,2,1,videlenie); |
DrawBar(208,y+13,3,1,videlenie); |
DrawBar(207,y+14,4,1,videlenie); |
return; |
case 23: //àðõèâ |
PutPixel(195,y+3,videlenie); |
PutPixel(195,y+11,videlenie); |
PutPixel(210,y+3,videlenie); |
PutPixel(210,y+11,videlenie); |
DrawBar(195,y,7,1,videlenie); |
DrawBar(204,y,7,1,videlenie); |
DrawBar(195,y+14,7,1,videlenie); |
DrawBar(204,y+14,7,1,videlenie); |
DrawBar(195,y+1,5,1,videlenie); |
DrawBar(206,y+1,5,1,videlenie); |
DrawBar(195,y+13,5,1,videlenie); |
DrawBar(206,y+13,5,1,videlenie); |
DrawBar(195,y+2,3,1,videlenie); |
DrawBar(208,y+2,3,1,videlenie); |
DrawBar(195,y+12,3,1,videlenie); |
DrawBar(208,y+12,3,1,videlenie); |
return; |
case 24: //îáðàç |
DrawBar(195,y,6,1,videlenie); |
DrawBar(195,y+1,4,1,videlenie); |
DrawBar(195,y+2,3,1,videlenie); |
DrawBar(195,y+3,2,2,videlenie); |
DrawBar(195,y+5,1,5,videlenie); |
DrawBar(195,y+10,2,2,videlenie); |
DrawBar(195,y+12,3,1,videlenie); |
DrawBar(195,y+13,4,1,videlenie); |
DrawBar(195,y+14,6,1,videlenie); |
DrawBar(195+11,y,5,1,videlenie); |
DrawBar(195+13,y+1,3,1,videlenie); |
DrawBar(195+14,y+2,2,1,videlenie); |
DrawBar(195+15,y+3,1,2,videlenie); |
DrawBar(195+15,y+10,1,2,videlenie); |
DrawBar(195+14,y+12,2,1,videlenie); |
DrawBar(195+13,y+13,3,1,videlenie); |
DrawBar(195+11,y+14,5,1,videlenie); |
return; |
} |
} |
/programs/fs/Eolite/trunk/include/ini.h |
---|
0,0 → 1,121 |
//INI parser in C--, GPL licence. |
//Leency - 2012 |
#define COMMENT 0 |
#define SECTION 1 |
#define PARAM 2 |
#define OPTION 3 |
char NOTIFY_PATH[7]="@notify"; |
void GetIni(byte onload) |
{ |
byte section[32]='', parametr[32]='', option[256]='', InfType=0; |
word bukva[1]; |
int errornum; |
dword buff, fsize, tj; |
//÷èòàåì ôàéë |
buff = malloc(1048576); |
IF (onload==1) copystr(".ini", #program_path+strlen(#program_path)); //facepalm |
ReadFile(0, 1048576, buff, #program_path); |
IF (EAX<>6) //åñëè ôàéëà ñ íàñòðîéêàìè íåò â ïàïêå ñ ïðîãðàììîé ñìîòðèì â ïàïêå ïî-óìîë÷àíèþ |
ReadFile(0, 1048576, buff, "/sys/File managers/Eolite.ini"); |
IF (EAX<>6) //åñëè ôàéëà ñ íàñòðîéêàìè òóïî íåò ïå÷àëüêà |
{ |
IF (onload==1) RunProgram(#NOTIFY_PATH, "Eolite.ini not found. Defaults will be used."); |
IF (onload==0) goto RUN_AS_PROGRAM; |
} |
fsize=EBX; |
//ïàðñèì åãî |
for (tj=0; tj<fsize; tj++;) |
{ |
bukva = ESBYTE[buff+tj]; |
switch (bukva) |
{ |
case ';': |
InfType=COMMENT; |
break; |
case '[': |
InfType=SECTION; |
section=''; |
break; |
case ']': |
InfType=PARAM; |
break; |
case '=': |
InfType=OPTION; |
break; |
case 0x0a: |
case 0x0d: |
InfType=PARAM; |
IF (strcmp(#parametr,"SelectionColor")==0) videlenie=StrToCol(#option); |
IF (strcmp(#parametr,"LineHeight")==0) BUTTON_HEIGHT=StrToInt(#option); |
IF (parametr) && (!strcmp(#file_name+find_symbol(#file_name,'.'),#parametr)) { |
errornum=RunProgram(#option,#file_path); |
IF (errornum<0) //åñëè îøèáî÷êà âûøëà ïðè çàïóñêå |
{ |
//WriteDebug(#option); |
Write_Debug_Error(errornum); |
} |
return; |
} |
parametr=option=''; |
break; |
default: |
IF (InfType==SECTION) copystr(#bukva,#section+strlen(#section)); |
IF (InfType==PARAM) copystr(#bukva,#parametr+strlen(#parametr)); |
IF (InfType==OPTION) copystr(#bukva,#option+strlen(#option)); |
} |
} |
RUN_AS_PROGRAM: |
IF (file_path) errornum=RunProgram(#file_path,''); |
IF (errornum<0) //åñëè îøèáî÷êà âûøëà ïðè çàïóñêå |
{ |
//WriteDebug(#file_path); |
Write_Debug_Error(errornum); |
} |
} |
/////////////////////////////////////////// |
/// íóæíî ÷òîáû ïðîñòî âîçâðàùàëî òåêñò /// |
/////////////////////////////////////////// |
void Write_Debug_Error(int error_number) |
{ |
char unknown_error[8]; |
if (error_number<0) error_number=-1*error_number; |
switch (error_number) //èçâåñíàÿ îøèáêà - ïèøåì êàêàÿ è óõîäèì |
{ |
CASE 2: RunProgram(#NOTIFY_PATH, "Eolite: error 2 - Function is not supported for the given file system"); |
return; |
CASE 3: RunProgram(#NOTIFY_PATH, "Eolite: error 3 - Unknown file system"); |
return; |
CASE 5: RunProgram(#NOTIFY_PATH, "Eolite: error 5 - File or folder not found"); |
return; |
CASE 6: RunProgram(#NOTIFY_PATH, "Eolite: error 6 - End of file, EOF"); |
return; |
CASE 7: RunProgram(#NOTIFY_PATH, "Eolite: error 7 - Pointer lies outside of application memory"); |
return; |
case 8: RunProgram(#NOTIFY_PATH, "Eolite: error 8 - FAT table is destroyed"); |
return; |
case 9: RunProgram(#NOTIFY_PATH, "Eolite: error 9 - FAT table is destroyed"); |
return; |
case 10:RunProgram(#NOTIFY_PATH, "Eolite: error 10 - Access denied"); |
RETURN; |
case 11:RunProgram(#NOTIFY_PATH, "Eolite: error 11 - Device error"); |
RETURN; |
case 30:RunProgram(#NOTIFY_PATH, "Eolite: error 30 - Not enough memory"); |
RETURN; |
case 31:RunProgram(#NOTIFY_PATH, "Eolite: error 31 - File is not executable"); |
RETURN; |
case 32:RunProgram(#NOTIFY_PATH, "Eolite: error 32 - Too many processes"); |
RETURN; |
default:copystr(IntToStr(error_number), #unknown_error); |
copystr(" - Unknown error number O_o", #unknown_error+strlen(#unknown_error)); |
RunProgram(#NOTIFY_PATH, #unknown_error); |
} |
} |
/programs/fs/Eolite/trunk/include/some_code.h |
---|
0,0 → 1,53 |
//Leency - 2012 |
#define add_new_path 1 |
#define go_back 2 |
void HistoryPath(byte action) |
{ |
if (action==add_new_path) |
{ |
IF (strcmp(#PathHistory+find_symbol(#PathHistory,'|'),#path)==0) return; |
IF (strlen(#PathHistory)+strlen(#path)>2560) |
{ |
copystr(#PathHistory+1024,#PathHistory); |
copystr("/",#PathHistory+strlen(#PathHistory)); |
} |
copystr("|",#PathHistory+strlen(#PathHistory)); |
copystr(#path,#PathHistory+strlen(#PathHistory)); |
} |
if (action==go_back) |
{ |
i=strlen(#PathHistory)-1; |
WHILE (PathHistory[i]<>'|') { i--; }; |
IF (i>0) PathHistory[i]=0x00; |
WHILE (PathHistory[i]<>'|') { copystr(#PathHistory[i],#path); i--; } |
IF (i>0) PathHistory[i]=0x00; |
} |
} |
dword onLeft(dword right,left) {EAX=Form.width-right-left;} |
dword onTop(dword down,up) {EAX=Form.height-GetSkinWidth()-down-up;} |
void ShowMessage(dword message) |
{ |
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, message); |
Pause(150); |
List_ReDraw(); |
} |
dword ConvertSize(dword bytes) |
{ |
byte size_prefix[8], temp[3]; |
IF (bytes>=1073741824) copystr(" Gb",#temp); |
ELSE IF (bytes>=1048576) copystr(" Mb",#temp); |
ELSE IF (bytes>=1024) copystr(" Kb",#temp); |
ELSE copystr(" b ",#temp); |
WHILE (bytes>1023) bytes/=1024; |
copystr(IntToStr(bytes),#size_prefix); |
copystr(#temp,#size_prefix+strlen(#size_prefix)); |
EAX=#size_prefix; |
} |
/programs/fs/Eolite/trunk/include/sorting.h |
---|
0,0 → 1,55 |
//Áûñòðàÿ ñîðòèðîâêà. Leency 2008. |
void Sort_by_Size(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1 |
{ |
int i = a; |
IF (a >= b) return; |
FOR (j = a; j <= b; j++) |
IF (ESDWORD[file_mas[j]*304 + buf+64] <= ESDWORD[file_mas[b]*304 + buf+64]) |
{ file_mas[i] >< file_mas[j]; i++;} |
Sort_by_Size (a, i-2); |
Sort_by_Size (i, b); |
} |
void Sort_by_Name(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1 |
{ |
int i = a; |
IF (a >= b) return; |
FOR (j = a; j <= b; j++) |
IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[i] >< file_mas[j]; i++;} |
Sort_by_Name(a, i-2); |
Sort_by_Name(i, b); |
} |
void Sort_by_Type(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1 |
{ |
int i=a; |
int n; |
dword offset=buf+72; |
byte filename1[256], filename2[256]; |
IF (a >= b) return; |
for (j = a; j <= b; j++) |
{ |
// |
copystr(file_mas[j]*304 + offset, #filename1); |
copystr(file_mas[b]*304 + offset, #filename2); |
n=strlen(#filename1)-1; |
WHILE (filename1[n]<>'.') && (n>0) n--; |
IF (n) copystr(#filename1+n+1, #filename1); |
n=strlen(#filename2)-1; |
WHILE (filename2[n]<>'.') && (n>0) n--; |
IF (n) copystr(#filename2+n+1, #filename2); |
// |
n=strcmp(#filename1, #filename2); |
IF (n<0) { file_mas[i] >< file_mas[j]; i++;} |
IF (n==0) && (strcmp(file_mas[j]*304 + offset, file_mas[b]*304 + offset)<=0) { file_mas[i] >< file_mas[j]; i++;} |
} |
Sort_by_Type(a, i-2); |
Sort_by_Type(i, b); |
} |