Rev 975 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 975 | Rev 976 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | Sort_by_Name(a, i-2); |
23 | Sort_by_Name(a, i-2); |
24 | Sort_by_Name(i, b); |
24 | Sort_by_Name(i, b); |
25 | } |
25 | } |
Line 26... | Line 26... | ||
26 | 26 | ||
27 | 27 | ||
28 | int partition1(dword a, b) |
28 | /*int partition1(dword a, b) |
29 | { |
29 | { |
30 | dword i = a; byte filename1[256], filename2[256]; int n; |
30 | dword i = a; byte filename1[256], filename2[256]; int n; |
31 | for (j = a; j <= b; j++) |
31 | for (j = a; j <= b; j++) |
Line 43... | Line 43... | ||
43 | n=strcmp(#filename1, #filename2); |
43 | n=strcmp(#filename1, #filename2); |
44 | IF (n<0) { file_mas[i] >< file_mas[j]; i++;} |
44 | IF (n<0) { file_mas[i] >< file_mas[j]; i++;} |
45 | IF (n==0) && (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[i] >< file_mas[j]; i++;} |
45 | IF (n==0) && (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[i] >< file_mas[j]; i++;} |
46 | } |
46 | } |
47 | EAX = i-1; |
47 | EAX = i-1; |
- | 48 | }*/ |
|
- | 49 | ||
- | 50 | int partition1(dword a, b) |
|
- | 51 | { |
|
- | 52 | dword i = a; byte filename1[256], filename2[256]; int n; |
|
- | 53 | dword offset=buf+72; |
|
- | 54 | for (j = a; j <= b; j++) |
|
- | 55 | { |
|
- | 56 | // |
|
- | 57 | copystr(file_mas[j]*304 + offset, #filename1); |
|
- | 58 | copystr(file_mas[b]*304 + offset, #filename2); |
|
- | 59 | n=strlen(#filename1)-1; |
|
- | 60 | WHILE (filename1[n]<>'.') && (n>0) n--; |
|
- | 61 | IF (n) copystr(#filename1+n+1, #filename1); |
|
- | 62 | n=strlen(#filename2)-1; |
|
- | 63 | WHILE (filename2[n]<>'.') && (n>0) n--; |
|
- | 64 | IF (n) copystr(#filename2+n+1, #filename2); |
|
- | 65 | // |
|
- | 66 | n=strcmp(#filename1, #filename2); |
|
- | 67 | IF (n<0) { file_mas[i] >< file_mas[j]; i++;} |
|
- | 68 | IF (n==0) && (strcmp(file_mas[j]*304 + offset, file_mas[b]*304 + offset)<=0) { file_mas[i] >< file_mas[j]; i++;} |
|
- | 69 | } |
|
- | 70 | EAX = i-1; |
|
48 | } |
71 | } |
Line 49... | Line 72... | ||
49 | 72 | ||
50 | void Sort_by_Type(dword a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1 |
73 | void Sort_by_Type(dword a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1 |
51 | { |
74 | { |