Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2012, 20:22   #1
Zhenya666
 
Регистрация: 04.03.2012
Сообщений: 4
Восклицание Ошибка при компиляции

При компиляции выдаёт вот такую ошибку "Project C:...путь...project1.exe faulted with message:'access violatoin at 0x3332c30: read of adress 0x3332c30...
Подскажите пожалуйста в чём проблема...
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit1: TEdit;
    Label4: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    procedure Button1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const MaxRec=10;
Type TSteel=record
Name:string[10];
C:real;
Mn:real;
Si:real;
Cr:real;
end;
var
  Form1: TForm1;
Steel:array [1.. MaxRec] of TSteel;
Fr:file of TSteel; //файловая переменная и ее тип
FileRecName:string;
NumRecord:integer;
implementation

{$R *.dfm}
Function ViewRecord(k:integer):string;
begin
with Steel[k] do
begin
ViewRecord:=Name+' - C:'+FloatToStr(C)
+'% Mn:'+FloatToStr(Mn)
+'% Si:'+FloatToStr(Si)
+'% Cr:'+FloatToStr(Cr)+'%';
end;
end;
Procedure ClearAll;
begin
Form1.Edit1.Text:='';
Form1.Edit2.Text:='';
Form1.Edit3.Text:='';
Form1.Edit4.Text:='';
Form1.Edit5.Text:='';
NumRecord:=0;
Form1.Label6.Caption:='';
Form1.Label8.Caption:='';
Form1.ListBox1.Clear;
end;





procedure TForm1.Button1Click(Sender: TObject);
begin
NumRecord:=NumRecord+1;
if NumRecord>MaxRec then
MessageDlg('Количество записей больше '+IntToStr
(MaxRec),mtError,[mbOk],0)
else begin
with Steel[NumRecord] do
begin
Name:=Edit1.Text;
C:=StrToFloat(Edit2.Text);
Mn:=StrToFloat(Edit3.Text);
Si:=StrToFloat(Edit4.Text);
Cr:=StrToFloat(Edit5.Text);
ListBox1.Items.Add(ViewRecord(NumRecord));
end;
Label6.Caption:=IntToStr(NumRecord);
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
end; end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
with Steel[ListBox1.ItemIndex+1] do
begin
Edit1.Text:=Name;
Edit2.Text:=FloatToStr(C);
Edit3.Text:=FloatToStr(Mn);
Edit4.Text:=FloatToStr(Si);
Edit5.Text:=FloatToStr(Cr);
end;
Label8.Caption:=IntToStr(ListBox1.ItemIndex+1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if NumRecord >=1 then
begin
with Steel[ListBox1.ItemIndex+1] do
begin
Name:=Edit1.Text;
C:=StrToFloat(Edit2.Text);
Mn:=StrToFloat(Edit3.Text);
Si:=StrToFloat(Edit4.Text);
Cr:=StrToFloat(Edit5.Text);
end;
ListBox1.Items[ListBox1.ItemIndex]:=
ViewRecord(ListBox1.ItemIndex+1);
end;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
ClearAll;
end;

procedure TForm1.N4Click(Sender: TObject);
var i:integer;
begin
if OpenDialog1.Execute then
begin
ClearAll;
FileRecName:=OpenDialog1.FileName;
AssignFile(Fr,FileRecName);
Reset(Fr);
NumRecord:=0;
While not Eof(Fr) do
begin
NumRecord:=NumRecord+1;
read(fr,Steel[NumRecord]);
ListBox1.Items.Add(ViewRecord(NumRecord));
end;
CloseFile(Fr);
Label6.Caption:=IntToStr(NumRecord);
MessageDlg('Файл '+FileRecName+' открыт.',
mtInformation,[mbOk],0);
end;
end;

procedure TForm1.N5Click(Sender: TObject);
var i:integer;
begin
if SaveDialog1.Execute then
begin
FileRecName:=SaveDialog1.FileName;
AssignFile(Fr,FileRecName);
Rewrite(Fr);
for i:=1 to NumRecord do write(Fr,Steel[i]);
CloseFile(Fr);
MessageDlg('Файл '+FileRecName+' сохранен.',
mtInformation,[mbOk],0);
end;
end;



procedure TForm1.N12Click(Sender: TObject);
begin
if FontDialog1.Execute then
ListBox1.Font.Assign(FontDialog1.Font);
end;

procedure TForm1.N11Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ClearAll;
end;

end.
Zhenya666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при компиляции xreal C# (си шарп) 2 05.05.2011 01:43
Ошибка при компиляции Banner Помощь студентам 2 20.02.2011 13:09
Ошибка при компиляции pasha1993 Помощь студентам 1 21.09.2010 19:48
Ошибка при компиляции DKENT Общие вопросы Delphi 4 10.09.2010 15:31
Ошибка при компиляции FoxXx Общие вопросы C/C++ 11 14.06.2010 19:57