Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.04.2015, 02:32
weess weess вне форума
Прохожий
 
Регистрация: 04.03.2015
Сообщения: 5
Версия Delphi: borland 2006
Репутация: 10
По умолчанию Работа с файлом

Здравствуйте, нужна ваша помощь. Задание таково: у нас есть программа, которая считывает матрицу из файла и выводит её сумму в memo в виде строки "Сумма элементов матрицы=....". Нужно сделать так, чтобы по нажатию кнопки сохранить, программа сохраняла эту строку с суммой эл в файл , где лежала матрица(т.е теперь у нас файл с матрицей и с этой строкой). Теперь,если мы вызываем этот же файл, программа должна сверить сумму эл матрица в файле с суммой в этой строке, которая лежит в файле, и если сумма совпадает написать " файл обработан", если матрица была изменена, то он опять сверяет сумму со строкой(сумма получается уже другая) и должен снова посчитать сумму матрица и вывести её в мемо.
Вот код по подсчету суммы эл матрицы.
Код:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
unit UnProt;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TFMain = class(TForm)
    BTInput: TButton;
    BTexit: TButton;
    Memo1: TMemo;
    OD1: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    procedure BTexitClick(Sender: TObject);
    procedure BTInputClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
 
 
type TMatrix = Array of Array of real;
var
  FMain: TFMain;
 
implementation
 
{$R *.dfm}
 
procedure TFMain.BTexitClick(Sender: TObject);
begin
 if (messagedlg('Вы действительно хотите выйти?',mtconfirmation,[mbYes,mbNo],0)=mryes) then
close;
end;
 
procedure TFMain.BTInputClick(Sender: TObject);
var M: TMatrix;
    summ:real;
    F: TextFile;
    c: Char;
    i, j: Integer;
    s:string;
begin
if od1.Execute  then
 
  AssignFile(F,od1.filename);
  Reset(F);
  j := 0;
  i := 0;
  summ:=0;
  // читаем пока не конец файла
  while not Eof(F) do
    begin
      j := 0;
      // читаем пока не встретится перенос строки
      while not Eoln(F) do
        begin
          SetLength(M, i + 1);      // увеличиваем размер строк у матрицы на +1
          SetLength(M[i], j + 1);   // увеличиваем размер столбцов для первой строки
          Read(F, M[i, j]);         // считываем данные
          j := j + 1;               // счетчик столбцов
        end;
      Read(F, c);                   // заглушка, чтобы передвигаться по файлу
      i := i + 1;                   // счетчик строк
    end;
    memo1.visible:=true;
 
  // вывод результата
  for i := 0 to Length(M) - 1 do
    begin
      for j := 0 to Length(M[i]) - 1 do
        begin
         S := S + floatToStr(M[i, j]) + '  ';
         summ:=summ+M[i, j];
        end;
        S := S + #13#10;
end;
 memo1.Lines.Add(s);
 memo1.Lines.Add(('Сумма элементов матрицы='+floattostr(summ)));
end;
 
end.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025