Перейти до вмісту

Pasсal, всі питання тут


Повідомлень в темі: 131

#61 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 28.04.2008 – 11:17

Хочу написати в Паскалі прогу, яка б відображала графік загрузки процесора (як в диспетчері задач).
Та я не знаю, як зробити сам запит до процесора?
Допоможіть.
  • 0

#62 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6667 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 28.04.2008 – 15:33

Я так підозрюю що на паскалі в тебе нічого не вийде. принаймні якщо паскаль досівський запускати з віндовса, то точно не вийде, а якщо в досі, то це не має сенсу.
  • 0

#63 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 28.04.2008 – 15:52

Перегляд дописуDarkLordVillis (28.04.2008 16:33) писав:

Я так підозрюю що на паскалі в тебе нічого не вийде. принаймні якщо паскаль досівський запускати з віндовса, то точно не вийде, а якщо в досі, то це не має сенсу.
Я ще на сі програмую. Здається, на ньому точно таке можна зробити.
Але як зробити запит там я також не знаю.

Просто в паскалі мені було б простіше.

Повідомлення відредагував Pit: 28.04.2008 – 15:54

  • 0

#64 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 25.05.2008 – 21:28

В прозі, написаній у цьому дописі в мене не ініціалізується графічний режим. Команда Detect чогось не фуриче.
Пробував VGA, CGA, IBM, EGA та нічого не змінилось.

Повідомлення відредагував Pit: 25.05.2008 – 21:35

  • 0

#65 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 25.05.2008 – 23:41

Цитата

Я ще на сі програмую. Здається, на ньому точно таке можна зробити.
Але як зробити запит там я також не знаю.
На Сі воно робиться через функції WMI


Якщо ви про цю пародію то воно написано в трубо паскаль 7,0 не знаю чому в вас не йде.
П.С. Там є досить непогана довідка.
program formatC;
uses graph,crt;
var driver,mode:integer;
	y1:real;
	y:word;
	x:byte;
	z:string;
begin
clrscr;
driver:=detect;
initgraph(driver,mode,'');
setviewport(0,0,640,480,true);
setfillstyle(9,1);
floodfill(1,1,brown);
setcolor(white);
setfillstyle(1,white);
bar(180,175,470,275);
setbkcolor(8);
setfillstyle(11,15);
bar(195,230,455,260);
setcolor(red);
settextstyle(1,0,2);
setfillstyle(1,white);
y:=170;
y1:=170;
for x:=1 to 100 do begin
y1:=y1+2.588;
y:=round(y1);
if x mod 10 = 0 then bar(y,231,(y+25),259);
outtextxy(190,185,'Formating disk C');
str(x,z);
z:=z+' % Complited';
outtextxy(190,195,z);
delay(60000);
delay(6000);
setfillstyle(1,white);
bar(190,195,330,203);
end;
clrscr;
setviewport(0,0,640,480,true);
setfillstyle(9,1);
floodfill(1,1,brown);
settextstyle(0,0,2);
outtextxy(195,150,'Format complited');
outtextxy(150,280,'please restart computer');
readln;
end.

З хелпу

Цитата

InitGraph (процедура) (модуль Graph)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Инициализирует графическую систему и переводит видеокарту в графический
режим.

Объявление:
Procedure InitGraph (Var GraphDriver : Integer; Var GraphMode : Integer;
PathToDriver : String);

Режим:
Real, Protected

Замечания:
Если значение параметра GraphDriver равно Detect, то производится обращение
к любым определяемым пользователем подпрограммам автоматического
определения, а затем вызывается функция DetectGraph. Если графическое
аппаратное обеспечение обнаружено, то инициализируется соответствующий
графический драйвер, и включается графический режим.

Если значение GraphDriver не равно нулю, то в качестве номера драйвера
принимается значение параметра GraphDriver. Видеосистема переходит в режим,
определенный параметром GraphMode. Если вы отменяете автоопределение, то вы
должны задать допустимый номер видеорежима для выбранного драйвера.

Параметр PathToDriver определяет путь к каталога, где находится нужный
графический драйвер. Если строка PathToDriver равна пустой строке, то поиск
файла драйвера производится в текущем каталоге.

Обычно, InitGraph загружает графический драйвер, рапределяя память для него
через обращение к GraphGetMem, а затем загружает соответствующий *.BGI файл
с диска. Как вариант такой динамической схемы загрузки, вы можете встроить
файл драйвера (или несколько файлов) непосредственно в исполняемый файл
вашей програмы.

Это можно сделать так:
1. Преобразуйте *.BGI файл в *.OBJ файл
(используя утилиты BINOBJ или BGIOBJ)
2. В тексте программы поместите обращение
к функции RegisterBGIDriver перед вызовом
InitGraph для того, чтобы зарегистрировать
графический драйвер.
Когда вы формируете вашу программу, вы должны скомпоновать с ней *.OBJ файл
для зарегистрированных драйверов. Вы можете также загрузить BGI драйвер в
кучу, а затем зарегистрировать его вызвав функцию RegisterBGIDriver.

Если в куче была распределена память для графического драйвера с
использованием процедуры GraphGetMem, то при вызове процедуры CloseGraph он
будет освобождена.

После вызова InitGraph, значение переменной GraphDriver устанавливается к
значению текущего графического драйвера, а значение GraphMode
устанавливается к значению текущего графического режима.

Если происходит ошибка, то в переменной GraphDriver и в функции GraphResult
будет возвращена одна из следующих grXXXX констант: grNotDetected,
grFileNotFound, grInvalidDriver, grNoLoadMem или grInvalidMode.

  • 0

#66 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 23.08.2008 – 20:13

Ось прога. Вона показує яка буде дата, через певну кількість діб. Ну тіпа хочеш знати який день, місяць, рік буде чере мільйон діб))))))))
Так от. Починав я її писати ше коли тільки програмувати вчивсь. Та, рано перейшов на сішку і на паскалі недовчився програмувати так як слід. Програма працює, та в ній є неточності.Програма рахує, шо у всіх місяцях 30 днів і не враховує високосних років. З днями проблеми не буде, а от як з зробити, шоб вона враховувала високосні роки, якось не доходить. Помагайте. Ось прога:
Program data;
   Var z,ch1,m1,r1,T,dT,ch2,m2,r2:integer;
	   mn,b:string[20];
Begin
	Write('Vvedit chuclo:'); ReadLn(ch1);
	Write('Vvedit nomer misiytsiy:'); ReadLn(m1);
	Write('Vvedit pik:'); ReadLn(r1);
	Write('Vvedit termin (y dobax):'); ReadLn(T);
	dT:=T;
	 while dT>365 do
	begin
		dT:=dT-365;
		r2:=r2+1;
		if (r2 mod 4=0) and (r2 mod 400 <> 0) then dT:=dT-1;
	end;

	r2:=r1+T div 365;
	m2:=m1+T mod 365 div 30;
	If m2>12 then Begin
					 m2:=m2-12;
					 r2:=r2+1
				  end;
	 ch2:=ch1+T mod 365 mod 30;
	 z:=T mod 365 mod 30;
	If ch2>30 then Begin
					 ch2:=ch2-30;
					 m2:=m2+1;
					 If m2>12 then Begin
									 m2:=m2-12;
									 r2:=r2+1
									end;
				   end;
Case m2 of
1:mn:='cichen';
2:mn:='lytuy';
3:mn:='berezen';
4:mn:='kviten';
5:mn:='traven';
6:mn:='cherven';
7:mn:='lupen';
8:mn:='serpen';
9:mn:='veresen';
10:mn:='govten';
11:mn:='lustopad';
12:mn:='hryden';
end;
	WriteLn('pik-',r2);
	WriteLn('miciyts - ',mn);
	WriteLn('chuslo - ',ch2);
	WriteLn('nova data:',ch2:2,'.',mn,'.',r2,' p.');
	readln(b);
end.

P.S. Я діко ізвіняюсь за назви змінних. Просто колись був не подумав.
  • 0

#67 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 25.08.2008 – 20:28

Поясніть як у виконанні програми можна зробити паузу на заданий час? і чи це можливо? (Мова Паскаль) :)
  • 0

#68 Сварус

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3815 повідомлень
  • Стать:Чоловік
  • Місто:Вінниця

Відправлено 25.08.2008 – 20:32

Втикористовуйе кдоману delay(mili); де mili - час в маілісекундх, і бдуе Вам щтася !
  • 0

#69 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 25.08.2008 – 20:39

А крім Delay щось існує?
  • 0

#70 Сварус

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3815 повідомлень
  • Стать:Чоловік
  • Місто:Вінниця

Відправлено 25.08.2008 – 20:42

Не мжоу зтапевнии, та ваважю що не іуснє.
  • 0

#71 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 25.08.2008 – 20:50

А ти пробував писати прогу яка "чикала" ну наприклад прив"язати її до віндосовського календаря можна? Щоб вона продаовжувала, або починала роботу в певний час!
  • 0

#72 Сварус

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3815 повідомлень
  • Стать:Чоловік
  • Місто:Вінниця

Відправлено 25.08.2008 – 21:01

Не риобв. Але в гволоу взідрау плрийшо "нрішеня в лоб" - множа втзнаваи пиоточнй час (procedure GetTime(var Hour, Minute, Second, Sec100 : Word) :), і за пиевнм аолгоритмм зтапускаи в цликі кпуу зоатримк. Рнішеня знвісо днеревяе, але мвожлио пароканє, аби лиш пкроциа не жлеро. А це вже на пцрактиі тбреа птеревірии, а в мнее заарз наемє кромпілятоа Плаская
  • 0

#73 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 25.08.2008 – 22:10

Теми зєднав
  • 0

#74 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 26.08.2008 – 16:07

Я спробував! ЦП грузить на 100% і не відпускає до кінця циклу!
  • 0

#75 Evol

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1846 повідомлень
  • Стать:Чоловік

Відправлено 26.08.2008 – 16:21

Перегляд дописуExtrimal (26.08.2008 17:07) писав:

Я спробував! ЦП грузить на 100% і не відпускає до кінця циклу!
пиши в середовищі delphi чи юзай free pascal і викликай віндовсну функцію sleep. вона проц не грузить :)

Повідомлення відредагував Evol: 26.08.2008 – 16:22

  • 0

#76 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 26.08.2008 – 16:38

На Delphi мені ще важкувато, а віндосівський паскаль мона спробувати!
  • 0

#77 Evol

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1846 повідомлень
  • Стать:Чоловік

Відправлено 26.08.2008 – 21:13

Перегляд дописуExtrimal (26.08.2008 17:38) писав:

На Delphi мені ще важкувато, а віндосівський паскаль мона спробувати!
до чого тут важкувато? створюєш консольний проект і пишеш як в звичайному паскалі, тільки набагато зручніше.
  • 0

#78 Extrimal

    Абориген

  • Користувачі
  • PipPipPipPip
  • 72 повідомлень
  • Стать:Чоловік
  • Місто:Тута:)

Відправлено 27.08.2008 – 07:22

Ааа! Сорі! Я не так трохи зрозумів! Дякую, спробую! І зразу ще питання-Чи можливо прописати пошук папки чи файла на Паскалі? І чи можливо файл зкопіювати?
  • 0

#79 Pit

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 723 повідомлень
  • Стать:Чоловік

Відправлено 28.08.2008 – 13:05

Як вказати шлях до файла для його обробки?
Припустимо, тре відкрити файл 895.ini. який знаходиться за таким шляхом C:\WINDOWS\inf
Як описати це в паскалі?
  • 0

#80 Evol

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1846 повідомлень
  • Стать:Чоловік

Відправлено 28.08.2008 – 13:20

Перегляд дописуPit (28.08.2008 14:05) писав:

Як вказати шлях до файла для його обробки?
Припустимо, тре відкрити файл 895.ini. який знаходиться за таким шляхом C:\WINDOWS\inf
Як описати це в паскалі?
необхідно відповідній змінній назначити фізичний файл командою assign(F,'C:\WINDOWS\inf\895.ini');
потім вже можна робити з ним маніпуляції.
  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних