Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 913

/ вопрос открыт /

В силу своей неопытности не могу решить, а очень надо.
Цель получить информацию :
Вывести время записи одного блока.
Вывести полное число секторов на дискете.
Вывести число копий FAT-таблицы.
Вывести время перехода между первой и последней дорожками.
Вывести число элементов корневого каталога.
Вывести число магнитных головок.
Вывести число магнитных головок на жестком диске.
Вывести число секторов на дорожке жесткого диска.
Вывести время перехода между соседними дорожками.
Вывести время записи 1-го блока.
Вывести число секторов FAT-таблицы.
Вывести полное число секторов на диске.
Вывести время перехода между соседними дорожками.
Вывести полное число секторов на диске.
Вывести число байт в секторе.
Вот что то типа того. Прошу помощи!

Коршунов Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Коршунов (статус: Посетитель)
Вопрос отправлен: 13 января 2011, 08:06
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 26; последнее сообщение — 14 января 2011, 18:29; участников в обсуждении: 5.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 08:39 [#1]:

Цитата (Коршунов):

В силу своей неопытности не могу решить, а очень надо.

Интересно, кто ж тебе дал такое задание?

Цитата (Коршунов):

Вывести полное число секторов на дискете.

А если в компе нету флопповода?

Цитата (Коршунов):

Вывести число магнитных головок на жестком диске.

А если в компе нету HDD?

Цитата (Коршунов):

Вывести число секторов FAT-таблицы.

А если там NTFS?

Цитата (Коршунов):

Прошу помощи!

Какого типа помощь ты хочешь получить?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 13 января 2011, 09:43 [#2]:

{{quote}}
Вывести число магнитных головок.
Вывести число магнитных головок на жестком диске.
{{/quote}}
а в первом случае какие еще магнитные головки вы хотите считать?
Ⓐ свобода сопротивление солидарность
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 09:47 [#3]:

А если в компе нету флопповода?
-допустим он есть!
А если в компе нету HDD?
-допустим он есть!
А если там NTFS?
Проверить надо если NTFS то для NTFS, FAT12 значит FAT12
Интересно, кто ж тебе дал такое задание?
Сам в шоке - второй курс заочки. Некоторые задания я сделал. Но это не могу решить уже 2 суток облазил все что есть, ни сдвинулся ни с места!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 09:48 [#4]:

а в первом случае какие еще магнитные головки вы хотите считать?
жеского диска прошу прожения за избыточность)
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 09:54 [#5]:

Ну что же. Я оценил свои возможности и могу с уверенностью утверждать, что всё (или почти всё) из вышеперечисленного я сделать смогу.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 10:03 [#6]:

Молодец! Мне бы подсказку! За пиво я на С++ сделаю сам, а вот делфи ?!
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 10:17 [#7]:

А, так у тебя проблемы с Delphi, а не с получением требуемой информации о носителях? Так бы сразу и сказал.

Цитата (Коршунов):

Мне бы подсказку!

Подсказываю:
1. Пишешь прогу на С++.
2. Качаешь любую книжку для чайников по Delphi, изучаешь её и методично переводишь прогу с С++ на паскаль.
Всё!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 10:20 [#8]:

время!
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 10:22 [#9]:

Цитата (Коршунов):

время!

Что, время?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 10:24 [#10]:

время мало! как наверное у большинства людей! поэтому я и здесь! Было бы время,сделал бы так: Подсказываю:
1. Пишешь прогу на С++.
2. Качаешь любую книжку для чайников по Delphi, изучаешь её и методично переводишь прогу с С++ на паскаль.
Всё!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 13 января 2011, 10:55 [#11]:

насколько я понял, нужно копать в сторону smart
http://ab57.ru/hdd.html
но еще как вариант можно поставить внутрь компа рентгеновскую трубку:)
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 11:08 [#12]:

Цитата (Коршунов):

время мало! как наверное у большинства людей! поэтому я и здесь! Было бы время,сделал бы

Оба-на, времени у тебя мало! А мы тут, оказывается, сидим и в носу ковыряемся от безделья, так что ли? И почему бы свой головняк не повесить кому-нить из нас на шею, вместо того, чтобы сделать самому? А потом принести и сдать преподу - вот какой я умный, нашёл бесплатных негров и обманул товарища препода!

Если знаешь, как сделать на С++ - делай и выкладывай сюда, мы поможем перевести на Delphi каждую функцию. Вот только кажется мне, что из всего С++ ты знаешь только то, что он называется С++ и только понтуешься здесь.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 11:19 [#13]:

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <dos.h>
#include <bios.h>
char ch1, ch2, ch3;
long time_x, time_y, time1,time2,time3;
int D, x, i, j, rootsect, sizef, dataf, Nclastf, timef,heads, fatsize,fatcut, rootsize,sect_w, sectsize,clustsize, sect_d, ressects, ssect_d, n_weys;
unsigned char buf[512], b[512];

void main (void)
{
clrscr();
cout<<"Какой диск будем читать?"<<"\n1) a:\\"<<"\n2) b:\\\n";
cin>>D;
x=0;
if (D==2) x=1;
//Определение времени чтения/записи одного блока 512 байт.
time1=biostime(0, 0L); //читает таймер bios
for (i=0;i<5;i++) //проходит 5 раз и выбирает среднее значение
absread(x,1,1,buf);
time2=biostime(0, 0L);
for(i=0;i<5;i++)
abswrite(x,1,1,buf);
time3=biostime(0, 0L);
time_x=(time2-time1)/5; //Время чтения 1-го блока
time_y=(time3-time2)/5; //Время записи 1-го блока
cout<<"\n"<<"Время чтения 1-го блока="<<time_x<<"млс.";
cout<<"\n"<<"Время записи 1-го блока="
<<time_y<<"млс."<<"\n";
//Чтение загрузочного сектора.
absread(x,1,0,buf);
sectsize =buf[0xb]+buf[0xc]*256;
clustsize =buf[0xd];
ressects =buf[0xe]+buf[0xf]*256;
fatcut =buf[0x10];
rootsize =buf[0x11]+buf[0x12]*256;
fatsize =buf[0x16]+buf[0x17]*256;
sect_w =buf[0x18]+buf[0x19]*256;
heads =buf[0x1a]+buf[0x1b]*256;
ssect_d=buf[0x1c]+(buf[0x1d]+(buf[0x1e]+buf[0x1f]*256)*256)*256;
sect_d =buf[0x20]+buf[0x21]*256;
n_weys =sect_d/sect_w; //Общее число дорожек
//Вывод атрибутов диска
cout <<"\n Число байт в секторе "<<sectsize;
cout <<"\n Число секторов в кластере"<<clustsize;
cout <<"\n Секторов перед FAT-таблицей "<<ressects;
cout <<"\n Число копий FAT-таблицы "<<fatcut;
cout <<"\n Элементов корневого каталога "<<rootsize;
cout <<"\n Число секторов в FAT-таблице "<<fatsize;
cout <<"\n Число секторов на дорожке "<<sect_w;
cout <<"\n Число магнитных головок "<<heads;
cout <<"\n Число скрытых секторов "<<ssect_d;
cout <<"\n Полное число секторов "<<sect_d<<"\n";
//Вычисление времени перехода между соседними дорожками
//и времени перехода между первой и последней дорожками.
time1=biostime(0, 0L);
for(i=0;i<5;i++) // проход пять раз и выбирается среднее значение
absread(x,1,sect_w*i,buf);
time2=biostime(0, 0L);
for(i=0;i<5;i++)
{ absread(x,1,0,buf); //чтение нулевой дорожки
absread(x,1,n_weys-1,buf); // от общего числа дорожек
//отнимаем последнюю, так как нулевую мы уже прочитали
} time3=biostime(0, 0L);
time_x=(time2-time1)/5; //Время перехода между дорожками
time_y=(time3-time2)/5; //Время перехода от первой дорожки к последней
cout<<"\n"<<"Время перехода между дорожками="<<time_x<<"млс";
cout<<"\n"<<"Время перехода от первой к последней="<<time_y<<"млс.";
getch();
}
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 11:21 [#14]:

Времени мало на разбор полетов и синтаксиса языка! А тут я не считаю что люди в носу ковыряют! Просто тут люди для кого делфи второй язык (примерно так).
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 11:23 [#15]:

http://ru.wikipedia.org/wiki/FAT поможет сократить время!
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 11:23 [#16]:

Бугага, так это ж под DOS! Мне было интересно, как ты меряешь время доступа под Windows! Твой код можно перевести только на турбопаскаль.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 11:32 [#17]:

Вопроса нет Паскаль так Паскаль не принципиально!
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 11:40 [#18]:

Цитата (Коршунов):

Вопроса нет Паскаль так Паскаль не принципиально!

Принципиально!
Во-первых, у меня нету ни DOS, ни паскаля. Я на нём писал лет 13 назад. Чтобы всё это добро я себе скачал и поставил, и вспомнил как там что + ассемблер, меня надо очень сильно простимулировать.
Во-вторых, под windows (delphi) просто так получить прямой доступ к диску ой как непросто, очень трудоёмко и долго.

Что ты предлагаешь?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 13 января 2011, 11:49 [#19]:

В-третьих, я могу написать прогу на delphi, с использованием winapi-функций. Но забесплатно я это делать не буду.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Коршунов

Коршунов (статус: Посетитель), 13 января 2011, 11:54 [#20]:

Стимулировать словом добрым!
Очень трудоемко и долго оргазм девушке доставить штангой.
А так спасибо за то что не оставил без внимания! Я не жадный, я учиться хочу!!!
Если у кого будут предложение или советы по конкретной теме прошу отписаться! Она не закрыта ещё .... Заранее благодарен!

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:36
Выполнено за 0.03 сек.