Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Задача по старому доброму MS DOS


Автор: NYX 3.11.2008, 20:50
Доброго времени суток господа  smile  Очень прошу помочь с одной задачкой.
Вопрос первый - Можно ли настроить Borland C++ Buildr 6 таким образом что бы программа работала из под DOS ?
(Под Дос потому что он мало занимает места, я дальше всё объясню)
вопрос второй - Можно ли под дос написать программку, которая могла бы записать данные с жёсткого диска в один файл и наоборот, из файла на жёсткий диск (речь идёт о полном копировании жёсткого диска, начиная с первого байта, заканчивая последним - ну типо бин-образа) было бы очень удобно иметь такую программку на дискете. И очень большая просьба, если вы не знаете как это сделать или вам просто лень делиться информацией, то не рекомендуйте всякие партишены мэджики и прочее . . . . ))))

Очень прошу если кто сможет с этим помоч разобраться, откликнитесь smile Заранее премного благодарствую ВАС!   smile  smile 

Автор: ama_kid 3.11.2008, 22:17
Цитата(NYX @  3.11.2008,  21:50 Найти цитируемый пост)
Вопрос первый - Можно ли настроить Borland C++ Buildr 6 таким образом что бы программа работала из под DOS ?
Билдера под рукой нет, но могу предположить, что настроить нельзя, ибо компилятор все-таки под Win32, для Win16 он не умеет компилить. Бери в руки Borland C++ 3.1 и работай с ним.
Цитата(NYX @  3.11.2008,  21:50 Найти цитируемый пост)
вопрос второй - Можно ли под дос написать программку, которая могла бы записать данные с жёсткого диска в один файл и наоборот, из файла на жёсткий диск (речь идёт о полном копировании жёсткого диска, начиная с первого байта, заканчивая последним - ну типо бин-образа) было бы очень удобно иметь такую программку на дискете.
Конечно, можно, особенно, если тебе жизненно необходим велосипед с квадратными колесами.
Цитата(NYX @  3.11.2008,  21:50 Найти цитируемый пост)
или вам просто лень делиться информацией
Ну уж информацией-то поделиться как раз не лень... У нас ведь страна советов, не правда ли? smile
Рекомендую начать с изучения прерываний DOS 25h\26h (Absolute Disk Read\Write) или, еще лучше (и правильнее), - со следующих функций 21h-го прерывания DOS:
1) 440Dh 41h - IOCTL Write Track On Logical Drive
2) 440Dh 60h - IOCTL Query Device Parameters
3) 440Dh 61h - IOCTL Read Track on Logical Drive
Ну и рядом лежащие функции тоже проглядеть не забудь - там много полезного (если нет справочника - поиск по "Tech Help" тебе поможет)... Да, кстати, самый несложный пункт - не забудь освоить ассемблер...  smile 
В общем, работы много, тебе надолго хватит, а когда надоест - сам вспомнишь про партишен меджик, акронисы и прочее  smile  

Автор: NYX 3.11.2008, 23:00
 smile ama_kid,  большое спасибо за почву smile если не сложно можешь посоветовать книжецу на эту тему или вебресурс?

Автор: ama_kid 3.11.2008, 23:45
Цитата(NYX @  4.11.2008,  00:00 Найти цитируемый пост)
если не сложно можешь посоветовать книжецу на эту тему или вебресурс? 
Книжицу не посоветую, не знаю, а насчет ресурсов - поиск по "низкоуровневое программирование для DOS", думаю, натолнет тебя на полезные страницы...как минимум - на rsdn.ru точно должны быть люди, которые занимались аналогичным мазохизмом, можешь там порыскать...  smile 
Ну и в обязательном порядке ищи и качай упомянутый мной TechHelp - имхо, это самый полный справочник по низкоуровневым функциям DOS из всех виденных мной...

Автор: NYX 16.11.2008, 16:38
Насколько мне известно, то дос может работать с дисковым пространством не большой величины  smile  По идее при работе с 25h\26h в регистр ( в который записывается типо сколько секторов считать) можно записать лишь два байа ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)