![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите исправить ошибку Undeclared identifier OkBottomDlg
Код:
procedure TForm1.Button1Click(Sender: TObject);
Label NN;
var k:integer;
begin
If OpenDialog1.Execute Then
A:=OpenDialog1.FileName
Else
begin Soob;
Exit;
end;
NN:
if (OKBottomDlg.ShowModal=mrOk)
then
begin M:=StrToInt(OkBottomDlg.MaskEdit1.Text);
N:=StrToInt(OkBottomDlg.MaskEdit2.Text);
if (M=0) or (N=0) then
begin
ShowMessage('Вы ввели нулевое значение! Повторите ввод!');
Exit;
End;
end
else begin
if Application.MessageBox('Вы не ввели значения. Повторить ввод?','Надо ввести значения или Отмена',MB_OKCANCEL)=1
then Goto NN
else Exit;
end;
Vvod(B);
if K>0 then begin
ShowMessage('Ошибочно количество строк исходного массива'+'Проверьте файл с исходными данными');
Halt; end;
Label1.Caption:='Введены исходные данные';
Button1.Enabled:=False;
Button2.Enabled:=True;
Button2.SetFocus;
if SaveDialog1.Execute then
begin A:=SaveDialog1.FileName;
AssignFile(FI,A); Rewrite (FI);
end
else begin Soob; Exit; end;
Writeln(FI, 'Исходные данные');
P(B,M,N);
end; |
|
#2
|
|||
|
|||
|
Вообще, нужен ВЕСЬ код модуля. Судя по представленному куску, OKBottomDlg это другая форма. Соответсвенно, надо подключить соответвующий модуль в uses.
|
|
#3
|
|||
|
|||
|
Можете помочь если сюда выложу весь проект?
|
|
#4
|
||||
|
||||
|
Прикрепи исходник.
|
|
#5
|
|||
|
|||
|
Код:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.ExtCtrls, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Panel1: TPanel;
BitBtn1: TBitBtn;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure Soob;
begin ShowMessage('Вы не ввели имя файла.Повторите ввод!');
end;
procedure TForm1.Button1Click(Sender: TObject);
Label NN;
var k:integer;
begin
If OpenDialog1.Execute Then
A:=OpenDialog1.FileName
Else
begin Soob;
Exit;
end;
NN:
if (OKBottomDlg.ShowModal=mrOk)
then
begin M:=StrToInt(OkBottomDlg.Edit1.Text);
N:=StrToInt(OkBottomDlg.Edit2.Text);
if (M=0) or (N=0) then
begin
ShowMessage('Вы ввели нулевое значение! Повторите ввод!');
Exit;
End;
end
else begin
if Application.MessageBox('Вы не ввели значения. Повторить ввод?','Надо ввести значения или Отмена',MB_OKCANCEL)=1
then Goto NN
else Exit;
end;
Vvod(B);
if K>0 then begin
ShowMessage('Ошибочно количество строк исходного массива'+'Проверьте файл с исходными данными');
Halt; end;
Label1.Caption:='Введены исходные данные';
Button1.Enabled:=False;
Button2.Enabled:=True;
Button2.SetFocus;
if SaveDialog1.Execute then
begin A:=SaveDialog1.FileName;
AssignFile(FI,A); Rewrite (FI);
end
else begin Soob; Exit; end;
Writeln(FI, 'Исходные данные');
P(B,M,N);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Obr(B,M,N);
Label1.Caption:='Выполнена обработка данных';
Button2.Enabled:=False;
Button3.Enabled:=True;
Button3.SetFocus;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
P(B,M,N);
Button3.Enabled:=False;
CloseFile(FI);
Label1.Caption:='Выведены результаты в тестовый файл';
Button4.Enabled:=True;
Button4.SetFocus;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Button4.Enabled:=False;
Form2.Show;
Form3.Show;
Form1.FormStyle:=fsStayOnTop;
Form1.FormStyle:=fsNormal;
Panel1.Visible:=True;
Label1.Caption:='Открыты формы для вывода результатов';
Button5.SetFocus;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Form2.ListBox1.Items.LoadFromFile(A);
Label1.Caption:=' ListBox1 терезесіне жауаптар енгізілген';
Button5.Enabled:=False;
Button6.SetFocus;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Form2.ComboBox1.Items.LoadFromFile(A);
Label1.Caption:= 'ComboBox1 терезесіне жауаптар енгізілген';
Button6.Enabled:=False;
Button7.SetFocus;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Form3.Memo1.Lines.LoadFromFile(A);
Label1.Caption:=' Memo1 терезесіне жауаптар енгізілген';
Button7.Enabled:=False;
Button8.SetFocus;
end;
procedure TForm1.Button8Click(Sender: TObject);
var
i,j:integer;
S:string[14];
begin
With Form3.StringGrid1 do begin
ColCount:=N; FixedCols:=0;
RowCount:=M+1; FixedRows:=1;
For J:=0 to N-1 do
Case J of
0,1,3,4:Cells[J,0]:=' F';
2,5:Cells[J,0]:=' E';
end;
FOR I:=1 TO M DO
FOR J:=1 TO N DO BEGIN
CASE J OF
1, 2, 4, 5: STR(B^((I-1)*N+J):10:4, S);
3,6: STR(B^[(I-1)*N+J]:12, S);
end;
Cells[J-1,I]:= ' ' + S;
END;
end;
FREEMEM ( B, M * N * SIZEOF (REAL));
Label1.Caption:=' StringGrid1 терезесіне жауаптар енгізілген';
Button8.Enabled:=False;
BitBtn1.SetFocus;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
AssignFile(Output,'lr.txt');
Rewrite(Output);
end;
end. |
|
#6
|
||||
|
||||
|
Скорее всего он в каком-либо стороннем юните которого здесь нет. Поищите там, где Вы брали код.
|
|
#7
|
|||
|
|||
|
Можешь помочь? Я толком не понимаю. Вот в одном юните еще есть вот такой код:
Код:
unit Unit4;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm4 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
const M=3; N=6;
Type TB=Array[1..M,1..N] of real;
var
A:string[80];
B:tb;
FI:TEXTFile;
Procedure P(B:TB; M,N:Integer);
Procedure Vvod(var B:TB);
Procedure Obr(var B:TB; M,N:Integer);
implementation
uses Unit1, Unit2, Unit3;
{$R *.dfm}
Procedure P(B:TB; M,N:Integer);
var
C:char; i,j: integer;
begin
C:=chr(124);
For i:=1 to M do
begin
Write(C);
For j:=1 to N do
Case j of
1,2,4,5:Write(B[i,j]:10:4,C);
3: Write(B[i,j]:11,C);
6:Writeln(B[i,j]:12,C);
end;
Writeln(A);
end
end;
Procedure VVOD(var B:TB);
var i,j: integer;
begin
AssignFile(FI,A);
Reset(FI);
For i:=1 to 4 do
Readln(FI,A); Writeln(A);
For i:=1 to M do
For j:=1 to N do
Read(FI,B[i,j]);
P(B,M,N);
CLOSEFile(FI);
end;
Procedure OBR(var B:TB; M,N:Integer);
var i,j,i1,i2,j1,j2:integer;
MN,MX:Real;
begin
MN:=B[1,1];
MX:=B[1,1];
i1:=1; i2:=1; j1:=1; j2:=1;
For i:=1 to M do
For j:=1 to N do
if B[i,j]<MN Then Begin
MN:=B[i,j]; i1:=i;j1:=j;
end
else
if B[i,j]>MX Then Begin
MX:=B[i,j]; i2:=i;j2:=j;
end;
MN:=B[i2,j2];
MX:=B[i1,j1];
Writeln
(#10#13, 'MIN=', MN:12, 'IMIN=', i1, 'JMin=', j1, #10#13, 'MAX=', MX:12, 'IMAX=', i2, 'JMAX=', j2);
end;
end. |
|
#8
|
||||
|
||||
|
Просили "прикрепить" архив, а не выкладывать листинг. Иначе можно долго гадать где и что вызывается.
|
|
#9
|
|||
|
|||
|
Вот проект. Буду рад если поможете
|
|
#10
|
||||
|
||||
|
Нужно убрать бардак который устроен в dpr-файле
Код:
... begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.Run; end. должно быть Код:
begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.Run; end. формы с именем OKBottomDlg не существует. В проекте вообще нет формы на которой располагался бы TEdit (OkBottomDlg.Edit1.Text, OkBottomDlg.Edit2.Text). |