Rev 2589 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2568 | leency | 1 | //03.04.2012 |
2 | |||
3 | void GetSystemDiscs() |
||
4 | { |
||
5 | char dev_name[10], sys_discs[10]; |
||
6 | int i1, j1, dev_num, dev_disc_num; |
||
7 | dword devbuf; |
||
8 | |||
9 | devbuf= malloc(3112); //буфер где-то на 10 девайсов в левой панели |
||
10 | ReadDir(10, devbuf, "/"); |
||
11 | dev_num = EBX; |
||
12 | for (i1=0; i1 |
||
13 | { |
||
14 | copystr("/", #dev_name); // / |
||
15 | copystr(i1*304+ devbuf+72, #dev_name+strlen(#dev_name)); // /rd |
||
16 | copystr("/", #dev_name+strlen(#dev_name)); // /rd/ |
||
17 | |||
18 | Open_Dir(#dev_name, ONLY_OPEN); |
||
19 | dev_disc_num = count; |
||
2587 | leency | 20 | //if (count<=0) copystr(#dev_name,#disk_list[disc_num].Item); else |
2568 | leency | 21 | for (j1=0; j1 |
22 | { |
||
23 | copystr(#dev_name, #sys_discs); // /rd/ |
||
24 | copystr(j1*304+ buf+72, #sys_discs+strlen(#sys_discs)); // /rd/1 |
||
25 | copystr("/", #sys_discs+strlen(#sys_discs)); // /rd/1/ |
||
26 | copystr(#sys_discs,#disk_list[disc_num].Item); |
||
27 | disc_num++; |
||
28 | } |
||
29 | |||
30 | } |
||
31 | } |
||
32 | |||
33 | |||
34 | void DrawSystemDiscs() |
||
35 | { |
||
36 | byte disc_icon; |
||
2587 | leency | 37 | char dev_name[10]; |
2568 | leency | 38 | char disc_name[100]; |
39 | int i, dev_icon; |
||
40 | |||
41 | DrawBar(2,41,190,15,0x00699C); //синий прямоугольник - сверху |
||
42 | DrawBar(2,56,15,onTop(21,41),0x00699C); //синий прямоугольник - слева |
||
43 | DrawBar(177,56,15,onTop(21,41),0x00699C); //синий прямоугольник - справа |
||
44 | //список дисков |
||
2662 | leency | 45 | if (show_dev_name) Tip(56, "Devices", 78, "="); |
46 | else Tip(56, "Devices", 78, "-"); |
||
2568 | leency | 47 | for (i=0;i |
48 | { |
||
49 | DrawBar(17,i*16+74,160,17,0xFFFFFF); //белое |
||
50 | DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //создаём кнопки, а потом выводим названия дисков |
||
2587 | leency | 51 | copystr("Unknown ",#disc_name); //изначально неизвесный носитель |
2568 | leency | 52 | dev_icon=3; //по-умолчанию устройство выглядит как жестяк |
53 | copystr(#disk_list[i].Item, #dev_name); |
||
2589 | leency | 54 | dev_name[strlen(#dev_name)-1]=''; |
2568 | leency | 55 | IF (dev_name[1]=='r') { dev_icon=0; copystr("RAM disk ",#disc_name); } |
56 | IF (dev_name[1]=='c') { dev_icon=1; copystr("CD-ROM ",#disc_name); } |
||
57 | IF (dev_name[1]=='f') { dev_icon=2; copystr("Floppy disk ",#disc_name); } |
||
58 | IF (dev_name[1]=='h') || (dev_name[1]=='b') copystr("Hard disk ",#disc_name); |
||
59 | copystr(#dev_name,#disc_name+strlen(#disc_name)); |
||
60 | // |
||
2662 | leency | 61 | if (show_dev_name) WriteText(45,i*16+79,0x80,0,#disc_name,0); |
62 | else WriteText(45,i*16+79,0x80,0,#dev_name,0); |
||
2568 | leency | 63 | PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
64 | } |
||
65 | } |