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