Rev 3043 | 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; |
||
3043 | leency | 5 | dword devbuf; |
2814 | leency | 6 | |
2568 | leency | 7 | void GetSystemDiscs() |
8 | { |
||
3043 | leency | 9 | unsigned char dev_name[10], sys_discs[10]; |
10 | unsigned int i1, j1, dev_num, dev_disc_num; |
||
11 | |||
2814 | leency | 12 | disc_num=0; |
3043 | leency | 13 | if (devbuf) free(devbuf); |
2568 | leency | 14 | devbuf= malloc(3112); //буфер где-то на 10 девайсов в левой панели |
3043 | leency | 15 | ReadDir(19, devbuf, "/"); |
2568 | leency | 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 | //список дисков |
||
3043 | leency | 46 | Tip(56, "Devices", 78, "="); |
2568 | leency | 47 | for (i=0;i |
48 | { |
||
3043 | leency | 49 | DrawBar(17,i*16+74,160,17,0xFFFFFF); //фон |
2568 | leency | 50 | DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //создаём кнопки, а потом выводим названия дисков |
3043 | leency | 51 | strcpy(#dev_name, #disk_list[i].Item); |
52 | dev_name[strlen(#dev_name)-1]=NULL; |
||
53 | switch(dev_name[1]) |
||
54 | { |
||
55 | case 'r': |
||
56 | dev_icon=0; |
||
57 | strcpy(#disc_name, "RAM disk "); |
||
58 | break; |
||
59 | case 'c': |
||
60 | dev_icon=1; |
||
61 | strcpy(#disc_name, "CD-ROM "); |
||
62 | break; |
||
63 | case 'f': |
||
64 | dev_icon=2; |
||
65 | strcpy(#disc_name, "Floppy disk "); |
||
66 | break; |
||
67 | case 'h': |
||
68 | case 'b': |
||
69 | dev_icon=3; |
||
70 | strcpy(#disc_name, "Hard disk "); |
||
71 | break; |
||
72 | case 't': |
||
73 | dev_icon=4; |
||
74 | strcpy(#disc_name, "RAM disk "); |
||
75 | |||
76 | //temp[0]=dev_name[4]; //ахуеть система |
||
77 | //temp[1]=NULL; |
||
78 | //DefineButton(17+143,i*16+74,16,16,StrToInt(#temp)+130+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
||
79 | //WriteText(45+121,i*16+79,0x80,0xAC0000,"-",0); |
||
80 | //WriteText(45+121,i*16+79+1,0x80,0xAC0000,"-",0); |
||
81 | break; |
||
82 | default: |
||
83 | dev_icon=3; //по-умолчанию устройство выглядит как жестяк но это неправильно |
||
84 | strcpy(#disc_name, "Unknown "); |
||
85 | } |
||
86 | strcat(#disc_name, #dev_name); |
||
2662 | leency | 87 | if (show_dev_name) WriteText(45,i*16+79,0x80,0,#disc_name,0); |
88 | else WriteText(45,i*16+79,0x80,0,#dev_name,0); |
||
2568 | leency | 89 | PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
90 | } |
||
91 | } |