Очень хочу написать его,но не идёт и всё тут.как мне сделать чтоб спиок файлов (findfirst) выходил на 3 стобца и работал курсор для начала?
TwD
Что-то типа Norton Commander?
SKVOZNJAK
10.12.2004 19:21
Если под дос, то лучше для начала делать в псевдографическом режиме с использованием модуля CRT.
Бродяжник
10.12.2004 20:19
Не хватайтесь сразу за все. Если не будете юзать Turbo Vision, то так или иначе понадобятся функции поддержки интерфейса. Вот с них и начните. Например, начните с функций меню.
1. Продумайте, как хранить структуру меню в памяти.
2. Напишите функции инициализации меню и добавления новых пунктов.
3. Напишите функцию вывода меню на экран.
4. Напишите функцию организации выбора (обработка клавиш и перемещение выделения по пунктам меню).
5. Добейтесь того, чтобы можно было создавать меню пунктов эдак из 40, а потом выводить его в окне из 10 строк с возможностью прокрутки.
6. Доработайте эти функции так, чтобы вместо меню они работали со списком файлов.
7. Если еще не устали, можете побороться с выводом меню/списков файлов в три столбца...
8. ...а лучше начните писать основные функции своего "Коммандера". Три столбца никуда не денутся; не в них счастье.
Будут конкретные вопросы - обращайтесь, лучше сразу со своими вариантами решения.
пока я меню не интересуюсь
как сделать чтоб курсор бегал
какие модули?Crt,Dos ?
надо ли использовать ООП
Цитата
пока я меню не интересуюсь
и
Цитата
как сделать чтоб курсор бегал
Противоречие... Зачем бегать курсору, если нет меню?
У меня на диске валяется файл менеджер в стиле нортона, написанные на фри паскале, с исходниками...
под ДОС...
Бродяжник
10.12.2004 21:24
TwDИ все же я бы предложил отталкиваться от чего-то наподобие следующего:
Код
uses crt;
const a: array[1..4] of string=(' Open ',' Save ',' Save as ',' Exit ');
var y: integer;
klav: char;
begin
clrscr;
textcolor(14);
textbackground(1);
for y:=1 to 4 do
begin
gotoxy(1,y);
write(a[y]);
end;
y:=1;
repeat
textcolor(0);
textbackground(7);
gotoxy(1,y);
write(a[y]);
klav := readkey;
if klav = #0 then klav := readkey;
case klav of
#72: begin
if y>1 then begin
textcolor(14);
textbackground(1);
gotoxy(1,y);
write(a[y]);
y:=y-1;
end;
end;
#80: begin
if y<4 then begin
textcolor(14);
textbackground(1);
gotoxy(1,y);
write(a[y]);
y:=y+1;
end;
end;
end;
until klav=#27;
end.
P.S. Надо еще стандартный курсор убрать с глаз долой, но я сейчас не вспомню, как.
SKVOZNJAK
10.12.2004 21:27
Скорее всего имелось в виду простейшее меню.
В качестве курсора можно использовать цветной квадрадик приводимый в движение от клавы.
Ооп по желанию
Для этих модулей оно не обязательно.
Бродяжник Цитата
Надо еще стандартный курсор убрать с глаз долой, но я сейчас не вспомню, как.
А ФАК на что?
Цитата(volvo @ 10.12.04 17:01)
и
Противоречие... Зачем бегать курсору, если нет меню?
бегать по списку фалов
а меню в стиле волкова не надо
Бродяжник
10.12.2004 21:52
volvo Да я, в общем-то, умею прятать ДОСовский курсор. У меня в загашника лежит такая маленькая процедурка, просто лень было ея искать.
Цитата(Бродяжник @ 10.12.04 16:19)
Не хватайтесь сразу за все. Если не будете юзать Turbo Vision, то так или иначе понадобятся функции поддержки интерфейса. Вот с них и начните. Например, начните с функций меню.
1. Продумайте, как хранить структуру меню в памяти.
2. Напишите функции инициализации меню и добавления новых пунктов.
3. Напишите функцию вывода меню на экран.
4. Напишите функцию организации выбора (обработка клавиш и перемещение выделения по пунктам меню).
5. Добейтесь того, чтобы можно было создавать меню пунктов эдак из 40, а потом выводить его в окне из 10 строк с возможностью прокрутки.
6. Доработайте эти функции так, чтобы вместо меню они работали со списком файлов.
7. Если еще не устали, можете побороться с выводом меню/списков файлов в три столбца...
8. ...а лучше начните писать основные функции своего "Коммандера". Три столбца никуда не денутся; не в них счастье.
Будут конкретные вопросы - обращайтесь, лучше сразу со своими вариантами решения.
я новичок,можно поподробней плиз
Digitalator
12.12.2004 21:43
ну-ну, как всегда
Цитата("Newbie")
Я хочу написать виндоус, но что-то не получается, ПАМАГИТЕ ПЛИЗ!!
Цитата("Cool Hacker")
Попробуйте почитать книжки по Си :p5:
Цитата("Newbie")
А что это такое? :p2:
:p5:
lol
Я хочу написать виндоус но я не знаю что такое си
Может он хааател написать ОС на бейсике или паскале :D
Цитата
Может он хааател написать ОС на бейсике или паскале :D
а чего в этом смешного ?
первые 3 версии горячо любимого Глюкавого были написаны на Пасе, если не ошибаюсь....
Нифига себе
Были, были
До сих пор в винде есть кое что от паскаля...
киньте исходников коли не жалко
Цитата
До сих пор в винде есть кое что от паскаля...
все то, что не глючит ;)
Бродяжник
14.12.2004 15:34
...исходников-то не жалко. Вот, к примеру, я когда-то пытался написать свой Турбо Вижн. Вышло не совсем то, что хотелось, зато опыт был приобретен. :P Вот, кидаю его часть, ответственную за меню. Конечно, использовать это в чистом виде для файл-менеджера нельзя, но, может быть, это подаст идеи...
TwDЦитата
что влом искод кинуть??
А что по-Вашему находится в предыдущем посте? А потом, если Вам изначально нужны были не советы, а исходники, то Вы ошиблись разделом. Правила гласят:
Цитата
6. Самое главное - это раздел теоретический, т.е. никаких задач и программ - для этого есть отдельный раздел!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.