IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите с модулем, чет не получаеться....
~OzzY~
сообщение 3.11.2005 18:16
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


вообщем вот код модуля
немогу просто скомпилирывать его....
Исходный код

unit alex;

interface
uses crt,objects,app,drivers,menus,views,dos,dialogs,graph;
const
cmwork=100;
cmfon=101;
cmfile_create=201;
cmtabl=202;
cmread_spisok=203;
cmsort=204;
type
spisok=record
naim:string[25];
opisanie:string[25];
cena:string[5];
end;
type
tnotebook=object(tapplication)
procedure initmenubar;virtual;
procedure HandleEvent(var Event: TEvent); virtual;
procedure InitStatusLine;virtual;
end;

implementation
{*********************************************************}
{ ЊҐ­о }
{*********************************************************}
procedure Tnotebook.initmenubar;
var
r:trect;
begin
getExtent®;
r.b.y:=succ(r.a.y);
menubar:=new(pmenubar,init(r,
newmenu(
newsubmenu('~F~/" ©"',hcnocontext,
newmenu(
{/////////////////////////////////////////////////////////////////}
newitem('~1~/'®§¤ вм д ©"','F2',kbF3,cmfile_create,hcnocontext,
newline(
{/////////////////////////////////////////////////////////////////}
newitem('~2~/‚ўҐбвЁ ¤ ­­лҐ ў д ©"','F3',kbF2,cmtabl,hcnocontext,
newline(
{****************************************************************}
newitem('~3~/'ЇЁб®Є','F4',kbF3,cmread_spisok,hcnocontext,
{********************************************************************}
newline(
newitem('~4~/'®авЁа®ў вм бЇЁб®Є','F5',kbF3,cmsort,hcnocontext,
{**************************************************************}
newline(
{******************************************************************}

{///////////////////////////////////////////////////////////////}
newitem('~5~/‚л室','Alt+X',kbF9,cmquit,hcnocontext,nil)))))))))),
{**************************************************************}
newsubmenu('~E~/‚л室',hcnocontext,
newmenu(
newitem('~1~/Ќ...'','',0,cmwork,hcnocontext,
newitem('~2~/"Ђ','',0,cmquit,hcnocontext,nil))),
{**************************************************************}
nil)))));
end;
{*********************************************************}
{ ‚Є"о祭ЁҐ/®вЄ"о祭ЁҐ Єгаб®а }
{*********************************************************}
PROCEDURE CURSOROFF;
ASSEMBLER;
ASM
MOV AH,1
MOV CX,2020H {‚›Љ‹ћ-...Ќ?... Љ"ђ'ЋђЂ}
INT 10H
END;
{ЏђЋ-...""ђЂ ‚›‚..."...Ќ?џ Љ"ђ'ЋђЂ}

PROCEDURE CURSORON;
ASSEMBLER;
ASM
MOV AH,1
MOV CX,0607H {‚Љ‹ћ-...Ќ?... Љ"ђ'ЋђЂ}
INT 10H
END;

{*********************************************************}
{ ‡ Єа иЁў ­ЁҐ д®­ }
{*********************************************************}
procedure fon;
var
ir,jr:byte;
begin
textbackground(white);
textcolor(blue);
for ir:=2 to 24 do
begin
gotoxy (1,ir);
write(& #39;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°°°°');
end;
end;
{*********************************************************}
{ '®§¤ ­ЁҐ д ©" }
{*********************************************************}
procedure file_create;
var
f:file of spisok;
begin
assign(f,'C:\spisok.spk');
rewrite(f);
textbackground(1);
textcolor(white);
gotoxy(20,12);
write('ЙНННННННННННННННННННННННННННННННННННН"');
gotoxy(20,13);
write('є " ©" ᮧ¤ ­ ! є');
gotoxy(20,14);
write('ИННННННННННННННННННННННННННННННННННННј');
textbackground(white);
gotoxy(20,15);
write(' Ќ ¦¬ЁвҐ ­ "оЎго Є" ўЁиг ');
readkey;
fon;
end;
procedure podsvetca(xpt,ypt,zpt:byte);
var
ipt:byte;
begin
textbackground(green);
for ipt:=1 to zpt do
begin
gotoxy(xpt+ipt,ypt);
write(' ');
end;
textbackground(1);
end;
procedure soob_tabl_1;
begin
textbackground(white);
gotoxy(9,9);
textcolor(red);
write('Enter ');
gotoxy(14,9);
textcolor(white);
write(' - ЏҐаҐе®¤ ­ б"Ґ¤гойго бва®Єг ');
gotoxy(9,10);
write('‚ў®¤ ­ агббЄ®¬ п§лЄҐ ');
end;
{******************************************************************}
procedure soob_tabl_2;
begin
textbackground(white);
gotoxy(9,9);
textcolor(red);
write('Enter ');
gotoxy(14,9);
textcolor(white);
write(' - Ќ з вм § Ї®"­Ґ­ЁҐ ');
textcolor(red);
gotoxy(38,9);
write('Esc ');
textcolor(white);
gotoxy(42,9);
write('- ЋвЄ § вмбп ®в § Ї®"­Ґ­Ёп');
end;
procedure tabl;
var
c:char;
a:spisok;
f:file of spisok;
begin
textbackground(blue);
textcolor(white);
gotoxy(9,2);
write('ЙННННННННННННННННННННННН['®ў а]ННННННННННННННННННННННННННН"');
gotoxy(9,3);
write('єЌ Ё¬Ґ­®ў ­ЁҐ в®ў а : є');
gotoxy(9,4);
write('є є');
gotoxy(9,5);
write('єЋЇЁб ­ЁҐ: є');
gotoxy(9,6);
write('є є');
gotoxy(9,7);
write('є-Ґ­ : є');
gotoxy(9,8);
write('ИНННННННННННННННННННННННННННННННННННННННННННННННННННННННННј');
soob_tabl_2;
c:=readkey;
if c=#13 then
begin
podsvetca(30,3,25); podsvetca(19,5,25);podsvetca(15,7,5);
soob_tabl_1;
cursoron;
textbackground(green);
gotoxy(31,3);
readln(a.naim);
gotoxy(20,5);
readln(a.opisanie);
gotoxy(16,7);
readln(a.cena);
cursoroff;
assign(f,'C:\spisok.spk');
reset(f);
seek(f,filesize(f));
write(f,a);
close(f);

end;
{else
begin
textbackground(white);
gotoxy(9,9);
write(' Ќ ¦¬ЁвҐ "оЎго Є" ўЁиг ');
end;}

fon;
end;
procedure spisok_tab;
begin
textbackground(1);
textcolor(white);
gotoxy(10,3);
write('ЙНННННННННННННННННННННННННННННННННННННННННННННННННННННННН"');
gotoxy(10,4);
write('є '®ў а є');
gotoxy(10,5);
write('МНННННННННННННННННННЛНННННННННННННННННННННННННННЛНННННННН№');
gotoxy(10,6);
write('єЌ Ё¬Ґ­®ў ­ЁҐ в®ў а є ЋЇЁб ­ЁҐ є -Ґ­ є');
gotoxy(10,7);
write('МНННННННННННННННННННОНННННННННННННННННННННННННННОНННННННН№');

end;

procedure read_spisok;
var f:file of spisok;
a:spisok;i,k,j:integer;
begin
spisok_tab;
i:=0;
assign(f,'C:\spisok.spk');
reset(f);
while not eof(f) do
begin
read(f,a);
gotoxy(10,8+i);
write('є є є є');
gotoxy(11,8+i);
write(a.naim);
gotoxy(31,8+i);
write(a.opisanie);
gotoxy(59,8+i);
write(a.cena);
i:=i+1;
k:=k+1;
if i=15 then
begin
textcolor(white);
gotoxy(10,8+i);
write('ИНННННННННННННННННННКНННННННННННННННННННННННННННКННННННННј');
readkey;
i:=0
end
else
if k>15 then
for j:=i to 14 do
begin
textcolor(white);
gotoxy(10,8+j);
write('є є є є');
end
else;


if k<16 then
begin
textcolor(white);
gotoxy(10,8+i);
write('ИНННННННННННННННННННКНННННННННННННННННННННННННННКННННННННј');
end
else;

end;

readkey;
fon;
end;
{*********************************************************}
{ '®авЁа®ўЄ }
{*********************************************************}
procedure sort;
var
i,j:integer;
a:array[1..100]of string[25];
s:string[25];
f,f1:file of spisok;
b:spisok;
function prov:boolean;
var k:integer;
z:boolean;
begin
k:=1;
z:=true;
while (z<>false)and(k<=j)do
begin
if a[k]=b.naim then
z:=false
else
z:=true;
k:=k+1;
end;
if z then
prov:=true
else
prov:=false;
end;
begin
assign(f,'C:\spisok.spk');
reset(f);
read(f,b);
a[1]:=b.naim;
s:=b.naim;
j:=1;
while not eof(f)do
begin
read(f,b);
for i:=1 to j do
if prov then
begin
a[j+1]:=b.naim;
j:=j+1;
s:=b.naim;
end
else;
end;
close(f);
assign(f1,'C:\spisok1.spk');
rewrite(f1);
for i:=1 to j do
begin
reset(f);
while not eof(f)do
begin
read(f,b);
if a[i]=b.naim then
begin
seek(f1,filesize(f1));
write(f1,b);
end;
end;
end;
close(f1);
erase(f);
rename(f1,'C:\spisok.spk');

textbackground(1);
textcolor(white);
gotoxy(20,12);
write('ЙНННННННННННННННННННННННННННННННННННН"');
gotoxy(20,13);
write('є 'ЇЁб®Є ®вб авЁа®ў ­ ! є');
gotoxy(20,14);
write('ИННННННННННННННННННННННННННННННННННННј');
textbackground(white);
gotoxy(20,15);
write(' Ќ ¦¬ЁвҐ ­ "оЎго Є" ўЁиг ');
readkey;
fon;
end;

{*********************************************************}
{ ЋЎа Ў®взЁЄ }
{*********************************************************}

procedure tnotebook.HandleEvent(var Event: TEvent);
begin
inherited HandleEvent(Event);
case Event.What of
evCommand:
case Event.Command of
cmfon:fon;
cmfile_create:file_create;
cmtabl:tabl;
cmread_spisok:read_spisok;
cmsort:sort
else
Exit;
end;
else
Exit;
end;
ClearEvent(Event);
end;
{*********************************************************}
{ 'ва®Є б®бв®п­Ёп }
{*********************************************************}
procedure tnotebook.InitStatusLine;
var
r:trect;
begin
GetExtent®;
R.A.Y:=pred(R.B.Y);
StatusLine:=new(PStatusline,init(r,
NewStatusDef(0,0,
NewStatusKey('~F2~ '®§¤ вм д Ё"',kbF2,cmfile_create,
NewStatusKey('~F3~ ‚ўҐбвЁ ¤ ­­лҐ',kbF3,cmtabl,
NewStatusKey('~F4~ 'ЇЁб®Є',kbF4,cmread_spisok,
NewStatusKey('~F5~ '®авЁа®ў вм',kbF5,cmsort,
NewStatusKey('~F10~ ЊҐ­о',kbF10,cmMenu,
NewStatusKey('~Alt-X~ ‚л室',kbAltx,cmquit,nil)))))),
nil)));
end;

begin
end.

помогите плиз

Сообщение отредактировано: klem4 - 3.11.2005 20:00
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 18:21
Сообщение #2


Гость






To: ~OzzY~
Нужно было апострофы в строках привести в порядок (модуль компилируется, работоспособность НЕ проверял):


Прикрепленные файлы
Прикрепленный файл  ALEX.PAS ( 11.61 килобайт ) Кол-во скачиваний: 226
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 18:28
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 19:30
Сообщение #4





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


еще хотел сказать что это первы мой модуль.....
как его скомпилирывать в .tpu файл??
подскажите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 19:39
Сообщение #5


Гость






Просто нажми F9, и Паскаль сам разберется, что это модуль (по слову Unit), и создаст TPU файл...
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 19:45
Сообщение #6





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 3.11.2005 19:39)
Просто нажми F9, и Паскаль сам разберется, что это модуль (по слову Unit), и создаст TPU файл...

Нажимаю.... пишит что скомпилировалось удачно....
а где теперь сам файл tpu искать???
все папки общарил а его нет.... sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 19:51
Сообщение #7


Гость






Во-первых проверь, что у тебя в меню Compile->Destination стоит "Disk", вполне может быть, что у тебя компилируется в память... Если же стоит "Disk", то ищи в текущей папке, или ..\Tp70\UNITS или в тех папках, которые указаны в Option -> Directories как "EXE & TPU directory"
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 19:56
Сообщение #8





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Стот disk
дериктория указана c:\bp\units\

он компилирует... захожу туда и нет..... имя файла должно быть такимже как и программа?! всеравно нет..... sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
murphy
сообщение 3.11.2005 20:13
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской

Репутация: -  0  +


Зайди в поиск и напиши alex.tpu

или

попробуй еще build


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 20:22
Сообщение #10





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Цитата(murphy @ 3.11.2005 20:13)
Зайди в поиск и напиши alex.tpu

или

попробуй еще build

попробывал нет результатов...... wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 20:31
Сообщение #11


Гость






To: ~OzzY~
Так у тебя Borland Pascal? Тогда проверь, какой Target установлен... BP так компилит Unit-ы:
Цитата
Real mode Application - TPU
Protected mode Application - TPP
Windows Application - TPW
Так что убедись, что у тебя Target = Real mode Application, и заодно сделай Compile -> Clear Primary File (на всякий случай, может ты не то компилируешь вообще) smile.gif
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 20:37
Сообщение #12





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 3.11.2005 20:31)
To: ~OzzY~
Так у тебя Borland Pascal? Тогда проверь, какой Target установлен... BP так компилит Unit-ы:
Так что убедись, что у тебя Target = Real mode Application, и заодно сделай Compile -> Clear Primary File (на всякий случай, может ты не то компилируешь вообще) smile.gif


Спасибо сделал, работает smile.gif
а не мог бы ты мне строчки указать где апострофы неправильно разместил? unsure.gif

Сообщение отредактировано: ~OzzY~ - 3.11.2005 20:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 20:47
Сообщение #13


Гость






Практически везде, где были апострофы, они стояли неверно... Маленький пример:
...
newline(
newitem('~4~/'®авЁа®ў вм бЇЁб®Є','F5',kbF3,cmsort,hcnocontext,
{**************************************************************}
newline(
...
видишь, какая подсветка? Это - неправильно. Смотри, как правильно:
newline(
newitem('~4~/®авЁа®ў вм бЇЁб®Є','F5',kbF3,cmsort,hcnocontext,
{**************************************************************}
newline(
(строка выделяется зеленым цветом)... Если ты еще не настроил Options -> Environment -> Colors, то сделай это как можно быстрее (чтобы Syntax -> Strings выделялись другим цветом), это предотвратит огромное количество головной боли smile.gif
 К началу страницы 
+ Ответить 
~OzzY~
сообщение 3.11.2005 20:50
Сообщение #14





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


клес! smile.gif спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.04.2024 14:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"