С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
1

Ошибка: record, object or class type required

13.12.2011, 19:33. Показов 3553. Ответов 32
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вод полный код окна Form1:
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TMain = class(TForm)
    Label1: TLabel;
    ComboBox1: TComboBox;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Main: TMain;
 
implementation
 
uses Unit2;
 
{$R *.dfm}
 
procedure TMain.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
ComboBox1.Items.LoadFromFile('ALL.records');
end;
 
procedure TMain.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(ComboBox1.Text);
end;
 
procedure TMain.Button2Click(Sender: TObject);
begin
If ComboBox1.Text<>'' then begin
NameForm.ShowModal;
end;
end;
 
procedure TMain.Label2Click(Sender: TObject);
begin
Application.MessageBox('Some text,'Text',0);
end;
 
end.
Вот код окна Form2:
Delphi
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
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask;
 
type
  TNameForm = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  NameForm: TNameForm;
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TNameForm.Button2Click(Sender: TObject);
begin
Self.Close;
end;
 
procedure TNameForm.Button1Click(Sender: TObject);
 
begin
Main.Memo1.Lines.SaveToFile(Edit1.Text);
Edit1.Text.SaveToFile('ALL.records');
end;
 
procedure TNameForm.FormCreate(Sender: TObject);
begin
 
end;
 
end.
И, когда я пытаюсь сделать так, чтобы из Memo1 на Form1 брался текст, и записывался в файл, имя которого указал пользователя в Edit1 на Form2, выдает следующую ошибку: record, object or class type required, на вот этом моменте:

Delphi
1
2
3
4
5
6
procedure TNameForm.Button1Click(Sender: TObject);
 
begin
Main.Memo1.Lines.SaveToFile(Edit1.Text);
Edit1.Text.SaveToFile('ALL.records'); <-- Ошибка указывается в этой строке
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2011, 19:33
Ответы с готовыми решениями:

Ошибка Record, object or class type required
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

[Ошибка] : Record, object or class type required
Выдает ошибку: Unit_Kartka.pas(134): Record, object or class type required ...

Ошибка: Record object or class type required
{$WARN SYMBOL_PLATFORM OFF} unit FormMain; interface uses Windows, Messages, SysUtils,...

Ошибка: Record, object or class type required
на код вызова второстепенной формы procedure TForm1.Button1Click(Sender: TObject); begin ...

32
112 / 78 / 30
Регистрация: 10.09.2011
Сообщений: 263
13.12.2011, 19:38 2
Цитата Сообщение от Delorthe Посмотреть сообщение
Вод полный код окна Form1:
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TMain = class(TForm)
    Label1: TLabel;
    ComboBox1: TComboBox;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Main: TMain;
 
implementation
 
uses Unit2;
 
{$R *.dfm}
 
procedure TMain.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
ComboBox1.Items.LoadFromFile('ALL.records');
end;
 
procedure TMain.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(ComboBox1.Text);
end;
 
procedure TMain.Button2Click(Sender: TObject);
begin
If ComboBox1.Text<>'' then begin
NameForm.ShowModal;
end;
end;
 
procedure TMain.Label2Click(Sender: TObject);
begin
Application.MessageBox('Some text,'Text',0);
end;
 
end.
Вот код окна Form2:
Delphi
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
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask;
 
type
  TNameForm = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  NameForm: TNameForm;
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TNameForm.Button2Click(Sender: TObject);
begin
Self.Close;
end;
 
procedure TNameForm.Button1Click(Sender: TObject);
 
begin
Main.Memo1.Lines.SaveToFile(Edit1.Text);
Edit1.Text.SaveToFile('ALL.records');
end;
 
procedure TNameForm.FormCreate(Sender: TObject);
begin
 
end;
 
end.
И, когда я пытаюсь сделать так, чтобы из Memo1 на Form1 брался текст, и записывался в файл, имя которого указал пользователя в Edit1 на Form2, выдает следующую ошибку: record, object or class type required, на вот этом моменте:

Delphi
1
2
3
4
5
6
procedure TNameForm.Button1Click(Sender: TObject);
 
begin
Main.Memo1.Lines.SaveToFile(Edit1.Text);
Edit1.Text.SaveToFile('ALL.records'); <-- Ошибка указывается в этой строке
end;
Содержимое Edit'а нельзя вот так сохранять в файл...
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
13.12.2011, 19:41  [ТС] 3
Да? Я в Гугле искал, там именно вот так и написано.
Как же тогда сделать? Может, Edit заменить на Memo?
0
112 / 78 / 30
Регистрация: 10.09.2011
Сообщений: 263
13.12.2011, 19:43 4
Цитата Сообщение от Delorthe Посмотреть сообщение
Да? Я в Гугле искал, там именно вот так и написано.
Как же тогда сделать? Может, Edit заменить на Memo?
Можно. В Memo так сохранять можно. Только пишите так:
Delphi
1
Memo1.Lines.SaveToFile('ok.txt');
1
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
13.12.2011, 19:58  [ТС] 5
Теперь, оно вроде как и работает, но когда я жму на кнопку с Form2, программа падает с ошибкой: Cannot create file "". Системе не удается найти указанный путь
0
112 / 78 / 30
Регистрация: 10.09.2011
Сообщений: 263
13.12.2011, 20:18 6
Цитата Сообщение от Delorthe Посмотреть сообщение
Теперь, оно вроде как и работает, но когда я жму на кнопку с Form2, программа падает с ошибкой: Cannot create file "". Системе не удается найти указанный путь
А ты для начала его создай...
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
13.12.2011, 20:31  [ТС] 7
Так в том-то и дело, что он создан
0
112 / 78 / 30
Регистрация: 10.09.2011
Сообщений: 263
13.12.2011, 20:48 8
Цитата Сообщение от Delorthe Посмотреть сообщение
Так в том-то и дело, что он создан
Он должен быть в корневой папке (там же, где и программа.) Он должен быть закрыт.
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
13.12.2011, 20:53  [ТС] 9
Удивительно, но все эти условия соблюдены.
0
112 / 78 / 30
Регистрация: 10.09.2011
Сообщений: 263
13.12.2011, 20:56 10
Цитата Сообщение от Delorthe Посмотреть сообщение
Удивительно, но все эти условия соблюдены.
А вы уверены, что ошибка именно в этом блоке? Там написано "ошибка создания файла", а данный код файл не создает.
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
13.12.2011, 21:09  [ТС] 11
Да, именно там. Я даже закомментировал ту строку, и добавил Self.Close - ругаться начало на него.
Закомментировал все, кроме первой строки в этом коде - ругается теперь на него.
0
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
14.12.2011, 08:39 12
Delorthe, ещё раз код покажи (последний вариант)
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
14.12.2011, 16:15  [ТС] 13
Первая форма:
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TMain = class(TForm)
    Label1: TLabel;
    ComboBox1: TComboBox;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Main: TMain;
 
implementation
 
uses Unit2;
 
{$R *.dfm}
 
procedure TMain.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
ComboBox1.Items.LoadFromFile('ALL.db');
end;
 
procedure TMain.Button1Click(Sender: TObject);
begin
If (ComboBox1.Text<>'') then Memo1.Lines.LoadFromFile(ComboBox1.Text) else
Application.MessageBox('Выберите запись!','Помощь!',0);
end;
 
procedure TMain.Button2Click(Sender: TObject);
begin
NameForm.ShowModal;
end;
 
procedure TMain.Label2Click(Sender: TObject);
begin
Application.MessageBox('Some text','Text',0);
end;
 
end.
Вторая форма:
Delphi
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
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask;
 
type
  TNameForm = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  NameForm: TNameForm;
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TNameForm.Button2Click(Sender: TObject);
begin
Self.Close;
end;
 
procedure TNameForm.Button1Click(Sender: TObject);
 
begin
Main.Memo1.Lines.SaveToFile(Memo1.Lines[1]);
NameForm.Memo1.Lines.SaveToFile('ALL.db');
Self.Close;
end;
 
procedure TNameForm.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
end;
 
end.
0
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
14.12.2011, 16:40 14
Цитата Сообщение от Delorthe Посмотреть сообщение
Edit1.Text.SaveToFile('ALL.records'); <-- Ошибка указывается в этой строке
канечно бует ошибка
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
14.12.2011, 16:45  [ТС] 15
БогДелфей, не туда смотришь
0
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
14.12.2011, 16:48 16
а куда смареть???
0
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
14.12.2011, 17:12  [ТС] 17
13-ый пост
0
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
14.12.2011, 17:17 18
Delphi
1
Main.Memo1.Lines.SaveToFile(Memo1.Lines[1]);
сработает при условии што путь к файлу на второй строке
1
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 85
14.12.2011, 17:24  [ТС] 19
Не совсем понял
0
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
14.12.2011, 17:25 20
ошибка то в чом? в каких строках, чо не так то?
0
14.12.2011, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2011, 17:25
Помогаю со студенческими работами здесь

Ошибка: Record, object or class type required
for i := 1 to temp + 1 do cells := i.ToString(); ???? roww := 1; coll :=...

Ошибка: Record, object or class type required
Код программы: unit UnitZakazch; interface uses Winapi.Windows, Winapi.Messages,...

Ошибка: Record, object or class type required, ругается на DataModule (DM)
Здравствуйте! Помогите пожалуйста разобраться с данной ошибкой. В программе есть DataModule (с...

Ошибка [Error] Unit3.pas(33): Record, object or class type required в Делфи
Выдает ошибку Unit3.pas(33): Record, object or class type required Unit3.pas(34): Record,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru