![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | 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).  |