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