Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
1

Error 15: file not found "windows.tpu"

04.06.2012, 21:13. Просмотров 2876. Ответов 12
Метки нет (Все метки)

возникает ошибка error 15: file not found "windows.tpu" хотя windows.tpu присутствует в каталоге BIN как быть подскажите срочно!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 21:13
Ответы с готовыми решениями:

Error 15: file not found <sysutils.Tpu>
program Project1; uses SysUtils; var a,b,x,y:Integer; begin Write('Vvedite X='); ...

Unit и ошибка Error 15: file not found *.tpu
Привет! Дело такое: в турбо паскале был создан свой модуль, скомпилирован(создался *.tpu файл)....

Пишет error 15: File not found <TPCRT.TPU>
Пишет error 15: File not found &lt;TPCRT.TPU&gt; .

File not found (Graph.tpu)
Почему выдает ету ошибку File not found (Graph.tpu)

12
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 21:15  [ТС] 2
например в вот этом файлике
текст программы
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
unit Map;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Button3: TButton;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Seek(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    procedure Button2Click(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  a,b,c,d,e,f,ind,frontInd,sX,sY,newInd,fX,fY : integer;
  ms : array [1..300,1..300] of integer;
  front,newFront : array [1..10000] of TPoint;
  nP : TPoint;
  go,stop,lock,back : boolean;
implementation
 
{$R *.dfm}
 
 
{!!!
!!!}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if go=true then stop:=false;  //открываем процедуру отжатия клавиши, только после того как сработает эта
if go=false then begin
  go:=true;                   //закрываем эту процедуру, чтобы по клику для точки Б она не сработала ещё раз
  stop:=true;
  form1.Canvas.TextOut((((x)div(10))*10)+2,(((y)div(10))*10)-2,'!');
  ms[( ((x)div(10)) ),(((y)div(10)))]:=1; // переводим координаты клика в координаты на матрице
  sX:=( ((x)div(10)) );
  sY:=( ((y)div(10)) );        { записываем координаты точки А}
  label3.Caption:=inttostr(sX);
  label4.Caption:=inttostr(sY);
end;
            
end;
 
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 
if stop=false then begin
fX:=x div 10;
fY:=y div 10;    // координаты точки Б
frontInd:=1;     // устанавливаем длину фронта волны - сначала это всегда единица, т.е. одна точка А
ms[( ((x)div(10)) ),(((y)div(10)))]:=256;     //координаты точки Б
front[frontInd].X:=sX;
front[frontInd].Y:=sY;   //первая точка фронта
 
for a:=1 to 125 do begin // внешний цикл считает сколько всего волн будет вызвано, конкретно здесь - нельзя ставить больше 255, потому что 256 номер - точка Б
form1.Canvas.Brush.Color:=clBLue;
  for b:=1 to frontInd do begin
    if ms[front[b].X-1,front[b].Y]=256 then back:=true;
    if ms[front[b].X+1,front[b].Y]=256 then back:=true;
    if ms[front[b].X,front[b].Y-1]=256 then back:=true;
    if ms[front[b].X,front[b].Y+1]=256 then back:=true;
    // если хоть одна соседняя точка имеет флаг 256 - отменяем проверку что ниже
 
 
    if back=false then begin
       if ms[front[b].X,front[b].Y+1]=0 then begin
          lock:=true;
          inc(newInd);
          newFront[newInd].X:=front[b].X;
          newFront[newInd].Y:=front[b].Y+1;
          // увеличиваем индекс длины нового фронта, и добавляем туда найденную точку
          form1.Canvas.Ellipse(front[b].X*10+2, (front[b].Y+1)*10+4, front[b].X*10+8, (front[b].Y+1)*10+8);
          ms[front[b].X,front[b].Y+1]:=a;  // записываем в найденную свободную клетку номер волны, 1, 2, 3 и т.д.
          // если хочешь, можешь рисовать по нему же цифры, я сделал синие кружочки т.к. размер сетки подобрал не лучший
        end;
        // аналогично  далее
       if ms[front[b].X,front[b].Y-1]=0 then begin
          lock:=true;
          inc(newInd);
          newFront[newInd].X:=front[b].X;
          newFront[newInd].Y:=front[b].Y-1;
          form1.Canvas.Ellipse(front[b].X*10+2, (front[b].Y-1)*10+4, front[b].X*10+8, (front[b].Y-1)*10+8);
          ms[front[b].X,front[b].Y-1]:=a;
        end;
       if ms[front[b].X+1,front[b].Y]=0 then begin
          lock:=true;
          inc(newInd);
          newFront[newInd].X:=front[b].X+1;
          newFront[newInd].Y:=front[b].Y;
          form1.Canvas.Ellipse((front[b].X+1)*10+2, (front[b].Y)*10+4, (front[b].X+1)*10+8, (front[b].Y)*10+8);
          ms[front[b].X+1,front[b].Y]:=a;
        end;
       if  ms[front[b].X-1,front[b].Y]=0 then begin
          lock:=true;
          inc(newInd);
          newFront[newInd].X:=front[b].X-1;
          newFront[newInd].Y:=front[b].Y;
          form1.Canvas.Ellipse((front[b].X-1)*10+2, (front[b].Y)*10+4, (front[b].X-1)*10+8, (front[b].Y)*10+8);
          ms[front[b].X-1,front[b].Y]:=a;
        end;
     
 
    end else begin seek(form1); end;//    // Запускаем расчёт пути, если была обнаружена точки Б, вместо того чтобы вести проверку
    if back=true then break; // На случай достижения точки Б, прерываем цикл
  end;
  if lock=false then break; // На случай тупика, когда волна опишет замкнутый контур
  lock:=false; // Обнулим флаг, потому что следующий шаг цикла может найти точку Б
  sleep(100);
  frontInd:=newInd;
  front:=newFront;
  newInd:=0;
  // поменяем значения длины фронтовой волны и её состава на новый
end;
 
 
 
 
 
 
end;
 
end;
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
label1.Caption:=inttostr(x);
label2.Caption:=inttostr(y);
if ms[( ((x)div(10)) ),(((y)div(10)))]=255 then label7.Caption:='!!!' else label7.Caption:=inttostr(ms[( ((x)div(10)) ),(((y)div(10)))]);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 
 
 
end;
 
 
 
procedure TForm1.Seek(Sender: TObject);
begin
form1.Canvas.Brush.Color:=clRed;
nP.X:=fX;
nP.Y:=fY;
while ms[nP.x,nP.Y]<>1 do begin
 
if (ms[nP.X-1,nP.Y]<ms[nP.X,nP.Y])and(ms[nP.X-1,nP.Y]<>0)and(ms[nP.X-1,nP.Y]<>255) then nP.X:=nP.X-1;
 //form1.Canvas.Ellipse((nP.X)*10+2, (nP.Y)*10+4, (nP.X)*10+8, (nP.Y)*10+8);
 
if (ms[nP.X+1,nP.Y]<ms[nP.X,nP.Y])and(ms[nP.X+1,nP.Y]<>0)and(ms[nP.X+1,nP.Y]<>255) then nP.X:=nP.X+1;
//form1.Canvas.Ellipse((nP.X)*10+2, (nP.Y)*10+4, (nP.X)*10+8, (nP.Y)*10+8);
 
if (ms[nP.X,nP.Y-1]<ms[nP.X,nP.Y])and(ms[nP.X,nP.Y-1]<>0)and(ms[nP.X,nP.Y-1]<>255) then nP.Y:=nP.Y-1;
// form1.Canvas.Ellipse((nP.X)*10+2, (nP.Y)*10+4, (nP.X)*10+8, (nP.Y)*10+8);
 
if (ms[nP.X,nP.Y+1]<ms[nP.X,nP.Y])and(ms[nP.X,nP.Y+1]<>0)and(ms[nP.X,nP.Y+1]<>255) then nP.Y:=nP.Y+1;
 form1.Canvas.Ellipse((nP.X)*10+2, (nP.Y)*10+4, (nP.X)*10+8, (nP.Y)*10+8);
{ ищем клетку с наименьшим номером волны. Внимание - диагонали включаются, если это возможно.
Сам случайно обнаружил что для создания пути по диагонали, не "лесенкой" не нужны все восемь направлений
Достаточно четырёх последовательных.}
 
// Теперь найденную точку с координатами nP.X, nP.Y можешь записать в массив пути, или ещё куда-либо деть, куда надо.
//Запускать движение разумеется надо с конца, т.к. последняя точка в этом массиве будет ближайшей к А
 
 
end;
end;
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Canvas.MoveTo(10,10);
for a:=1 to 70 do begin
  form1.Canvas.LineTo(0+a*10,700);
  form1.Canvas.MoveTo(10+a*10,10);
end;
 
form1.Canvas.MoveTo(10,10);
for a:=1 to 70 do begin
  form1.Canvas.LineTo(700 ,0+a*10);
  form1.Canvas.MoveTo(10,10+a*10);
end;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
form1.Canvas.Brush.Color:=clGreen; // рисуем препятствия
for a:=1 to 69 do
for b:=1 to 69 do begin
if random(20)=1 then begin
  ms[a,b]:=255;
  form1.Canvas.Ellipse(a*10+2, b*10+2, a*10+10, b*10+10);
  end;
 
end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
for a:=1 to 69 do ms[1,a]:=257;
for a:=1 to 69 do ms[a,1]:=257;
for a:=1 to 69 do ms[69,a]:=257;
for a:=1 to 69 do ms[a,69]:=257;
// здесь непроницаемая для волны рамка вокруг матрицы, чтобы не покидать пределы массива
end;
 
end.
0
Вложения
Тип файла: zip resMap.zip (3.9 Кб, 21 просмотров)
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 21:41  [ТС] 3
Подскажите плиз даже в дропбоксе такая же ошибка (((

Добавлено через 3 минуты
ладно тогда спросим по другому, работает ли программка которую я выложил?
0
Модератор
60231 / 45354 / 31294
Регистрация: 18.05.2008
Сообщений: 108,952
04.06.2012, 21:52 4
Программа не содержит синтаксических ошибок, запускается, но после некоторых манипуляций намертво зависает, выход по Ctrl+Alt+Delete
1
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 21:55  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
Программа не содержит синтаксических ошибок, запускается, но после некоторых манипуляций намертво зависает, выход по Ctrl+Alt+Delete
а почему модули не работают в турбопаскале? windows xp sp3, turbopaskal качал отсюда и не только отсюда ((
0
Модератор
60231 / 45354 / 31294
Регистрация: 18.05.2008
Сообщений: 108,952
04.06.2012, 21:57 6
Да потому что это написано в Делфи. В Паскале нет модуля Windows, а есть модуль Windos
1
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 21:59  [ТС] 7
Вообщем суть такая нужна любая работающая программка демонстрирующая волновой механизм, только 100 % работающая, я несколько пробывал, у меня какие то проблемы с модулями возникают
0
Модератор
60231 / 45354 / 31294
Регистрация: 18.05.2008
Сообщений: 108,952
04.06.2012, 22:01 8
Цитата Сообщение от kasadas Посмотреть сообщение
я несколько пробывал, у меня какие то проблемы с модулями возникают
Так ты ищи программы написанные в Паскале, а не в Делфи или С++
1
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 22:05  [ТС] 9
Цитата Сообщение от Puporev Посмотреть сообщение
Так ты ищи программы написанные в Паскале, а не в Делфи или С++
слушай подскажи как работает программка

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Program Voln;
 
Uses Crt;
 
Const
     Map : array [1..10, 1..10] of Byte =
         (
                (0, 0, 1, 0, 0, 0, 0, 0, 0, 0),
                (1, 0, 0, 0, 0, 1, 0, 0, 1, 0),
                (0, 0, 0, 1, 1, 1, 0, 0, 1, 1),
                (0, 1, 0, 0, 0, 1, 0, 0, 1, 0),
                (0, 0, 0, 0, 1, 1, 1, 0, 1, 0),
                (0, 0, 1, 1, 1, 0, 1, 0, 0, 0),
                (0, 0, 0, 1, 0, 0, 1, 0, 0, 0),
                (1, 1, 0, 1, 0, 0, 1, 1, 1, 0),
                (0, 1, 0, 0, 0, 0, 1, 0, 0, 0),
                (0, 1, 0, 0, 0, 0, 1, 0, 0, 0)
         );
var
   XS, YS, XE, YE : Byte;
   X, Y, I : Byte;
   MapM : array [1..10, 1..10] of Byte;
   Moves : Byte;
   MovesX : array [1..100] of Byte;
   MovesY : array [1..100] of Byte;
Procedure Next(Var X, Y : Byte);
Begin
     If (X <10) and (MapM[X, Y] - MapM[X + 1, Y] = 1) then
        Begin
             X := X + 1;
             Exit;
        End;
     If (X >1) and (MapM[X, Y] - MapM[X - 1, Y] = 1) then
        Begin
             X := X - 1;
             Exit;
        End;
    If (Y <10) and (MapM[X, Y] - MapM[X, Y + 1] = 1) then
        Begin
            Y := Y + 1;
             Exit;
        End;
     If (Y >1) and (MapM[X, Y] - MapM[X, Y - 1] = 1) then
        Begin
             Y := Y - 1;
             Exit;
        End;
End;
Begin
     ClrScr;
     For Y := 1 to 10 do
         Begin
              For X := 1 to 10 do Write(Map[X, Y], ' ');
              WriteLn;
         End;
     WriteLn('Please enter X and Y of the start: ');
     ReadLn(XS, YS);
     WriteLn('Please enter X and Y of the end: ');
     ReadLn(XE, YE);
     If (Map[XS, YS] = 1) or (Map[XE, YE] = 1) then
        Begin
             WriteLn('Error!!!');
             ReadLn;
             Halt;
        End;
     MapM[XS, YS] := 1;
     I := 1;
     Repeat
          I := I + 1;
          For Y := 1 to 10 do
             For X := 1 to 10 do
             If MapM[X, Y] = I - 1 then
                 Begin
                   If (Y <10) and (MapM[X, Y + 1] = 0) 
and (Map[X, Y+1] = 0) Then MapM[X, Y+1] := I;
                   If (Y >1) 
and (MapM[X, Y-1] = 0) and (Map[X, Y-1] = 0) Then MapM[X, Y-1] := I;
                   If (X <10) 
and (MapM[X+1, Y] = 0) and (Map[X+1, Y] = 0) Then MapM[X+1, Y] := I;
                   If (X >1) 
and (MapM[X-1, Y] = 0) and (Map[X-1, Y] = 0) Then MapM[X-1, Y] := I;
                  End;
         If I = 100 then
              Begin
                   WriteLn('You can''t go there!!!');
                   ReadLn;
                   Halt;
              End;
     Until MapM[XE, YE] >0;
     Moves := I - 1;
    X := XE;
     Y := YE;
     I := Moves;
     Map[XE, YE] := 4;
     Repeat
           MovesX[I] := X;
           MovesY[I] := Y;
           Next(X, Y);
           Map[X, Y] := 3;
           I := I - 1;
     Until (X = XS) and (Y = YS);
     Map[XS, YS] := 2;
     For I := 1 to Moves do WriteLn('X = ', MovesX[I],', Y = ', MovesY[I]);
     WriteLn('Total: ', Moves, ' moves');
     ReadLn;
     For Y := 1 to 10 do
         Begin
              For X := 1 to 10 do Write(Map[X, Y], ' ');
              WriteLn;
         End;
     ReadLn;
End.
0
5967 / 2094 / 736
Регистрация: 10.12.2010
Сообщений: 5,914
Записей в блоге: 3
04.06.2012, 22:08 10
kasadas, вы бы хоть код прежде чем выкладывать подрихтовали. Столько переносов строк...
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 22:21  [ТС] 11
HighPredator подправил

Добавлено через 7 минут
ну хоть ты HighPredator подскажи как эта программка работает
0
5967 / 2094 / 736
Регистрация: 10.12.2010
Сообщений: 5,914
Записей в блоге: 3
04.06.2012, 22:22 12
Цитата Сообщение от kasadas Посмотреть сообщение
слушай подскажи как работает программка
Она работает А вот правильно-ли, не знаю

Добавлено через 27 секунд
Что она делать-то должна?
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
04.06.2012, 22:26  [ТС] 13
Цитата Сообщение от HighPredator Посмотреть сообщение
Она работает А вот правильно-ли, не знаю

Добавлено через 27 секунд
Что она делать-то должна?
вот с этого сайта взял http://algolist.manual.ru/games/wavealg.php

Добавлено через 48 секунд
я просто вообще понять не могу что она делает, не вижу никаких изменений от того что какие я числа ввожу
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2012, 22:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

File not found winprocs.tpu
Сначала была такая же ошибка с WinTypes, его смог найти, теперь проблема с WinProcs. Borland Pascal...

Не компилируется код: File not found Textwin.Tpu
PROGRAM MODFOND; {Исходные данные находятся в файле in.dat текущего каталога} {Результаты...

Ошибка 72: Unit file format error (GRAPH.Tpu)
Привет всем.У меня возникает ошибка 72:Unit file format error (GRAPH.TPU). что мне...

Ошибка "Error 10: Unexpected end of file"
Помогите отредактировать программу, выдает ошибку error 10 type kind = (student, professor);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.