![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Rudolf |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Помогите реализовать ввод матриц(2x3) в файл матриц.Я делаю через memo.Начинаю с 1ой строки.Хочу чтобы шла матрица затем пустая строка затем снова матрица и т.д.
Выдает ошибку.. Код procedure TForm1.Button1Click(Sender: TObject); var i,j,n,str,k:integer; s:string; begin AssignFile(f,'c:\f.matr'); rewrite(f); n:=-3; str:=memo1.Lines.Count; For k:=1 to str-1 do begin inc(n,3); for i:=1 to 2 do begin s:=memo1.Lines[i+n]; for j:=1 to 3 do matriza[i,j]:=strtoint(s[j]); write(f,matriza); end; end; closeFile(f); end; |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Форум - для программистов, а не для телепатов. Где именно, и какую ошибку выдает?
Или ты думаешь, я должен догадаться, ГДЕ и КАК у тебя описаны недостающие переменные? Как данные в memo вносишь, опять же? |
Rudolf |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Ошибку выдает напротив "matriza[i,j]:=strtoint(s[j]);" вида
Project xxxx raised exception class yyyyy with message 'zzzzzz'. Process stopped. Use Step or Run to continue. Переменные все описаны.Все работает для одной матрицы: Код procedure TForm1.Button1Click(Sender: TObject); var i,j,n,str,k:integer; s:string; begin AssignFile(f,'c:\f.matr'); rewrite(f); for i:=1 to 2 do begin s:=memo1.Lines[i]; for j:=1 to 3 do matriza[i,j]:=strtoint(s[j]); write(f,matriza); end; closeFile(f); end; А мне надо сразу все ввести и считать. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, раз не хочешь, чтоб тебе помогли, ищи ошибку сам... Тебя же спрашивают, КАК и ГДЕ описаны? Для того, чтобы проверить твою программу, надо ее ЗАПУСТИТЬ, тебе не кажется??? А как я буду запускать ТВОЮ программу, если не знаю, как ТЫ описал переменные? Я сделаю по-своему, ошибки не будет, и я тебе напишу: "Все работает", и закрою тему. Устраивает?
|
Rudolf |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Вот вся прога
Код unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus, Buttons; type TForm1 = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; MainMenu1: TMainMenu; N1: TMenuItem; PreobrF: TMenuItem; ReadF: TMenuItem; CreatF: TMenuItem; ProsmotrG: TMenuItem; N5: TMenuItem; N6: TMenuItem; Label1: TLabel; Label2: TLabel; BitBtn1: TBitBtn; Button1: TButton; Memo1: TMemo; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} Type matr=array[1..2,1..3] of real; var matriza:matr; f,g:file of matr; max:real; n:integer; procedure TForm1.Button1Click(Sender: TObject); var i,j,n,str,k:integer; s:string; begin AssignFile(f,'c:\f.matr'); rewrite(f); n:=-3; str:=memo1.Lines.Count; For k:=1 to str-1 do begin inc(n,3); label1.Caption:=inttostr(n); for i:=1 to 2 do begin s:=memo1.Lines[i+n]; for j:=1 to 3 do matriza[i,j]:=strtoint(s[j]); write(f,matriza); end; end; closeFile(f); end; end. |
![]() ![]() |
![]() |
Текстовая версия | 9.07.2025 18:42 |