byte copy_to[4096]; byte copy_from[4096]; byte cut_active=0; enum {NOCUT, CUT}; void setElementSelectedFlag(dword n, int state) { dword selected_offset = file_mas[n]*304 + buf+32 + 7; ESBYTE[selected_offset] = state; if (n==0) && (strncmp(file_mas[n]*304+buf+72,"..",2)==0) { ESBYTE[selected_offset] = false; //do not selec ".." directory return; } if (state==true) selected_count++; if (state==false) selected_count--; } int getElementSelectedFlag(dword n) { dword selected_offset = file_mas[n]*304 + buf+32 + 7; return ESBYTE[selected_offset]; } void Copy(dword pcth, char cut) { byte copy_t[4096]; dword buff_data; dword path_len = 0; dword size_buf = 0; dword copy_buf_offset = 0; dword i; if (files.count<=0) return; //no files //if no element selected by "Insert" key, then we copy current element if (!selected_count) setElementSelectedFlag(files.cur_y, true); if (!selected_count) return; size_buf = 4; for (i=0; i