![]() |
|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
![]() Просили "прикрепить" архив, а не выкладывать листинг. Иначе можно долго гадать где и что вызывается.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#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). Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |