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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 23:03   #1
Николай ПН
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 75
По умолчанию Работа с файлами и строками в Делфи 7

В файле есть 32 значения, они записаны в столбик. На 2 формах есть Tmemo, Tchart. Проблема в том, что на 1 форму все записывается без ошибки, а на вторую ни чего не записывается, а выдается ошибка непонятная. Кто нибудь знает в чем дело?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Buttons,
  Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    ForVacuum1: TMenuItem;
    Close1: TMenuItem;
    Chart1: TChart;
    Panel1: TPanel;
    Series1: TBarSeries;
    BitBtn1: TBitBtn;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Close1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ForVacuum1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
    vacuum: textFile;
  end;

var
  Form1: TForm1;
  s: string;
implementation

uses Unit2;

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
var
  strF: array [1..32] of string;
  strH: array [1..100] of string;
  i,n1,n2: integer;
  konstE:double;
begin
  i:=1; n1:=0; n2:=0;
  konstE:=0.43429;
	Chart1.Repaint;
AssignFile(Vacuum,'Vacuum.txt');
 reset(Vacuum);
 series1.Clear;
while not EOF(Vacuum) do
begin
    ReadLn(Vacuum,s);
if odd(i) then
  begin
    inc(n1);
    strF[n1]:=s;
    if strtofloat(strF[n1])<>0 then
    begin
      form1.series1.AddXY(i,ln(strtofloat(strF[n1]))*konstE);
      form1.memo1.Lines.Add(strF[n1]);
    end;
  end
  else
  begin
    inc(n2);
    strH[n2]:=s;
      if strtofloat(strH[n2])<>0 then
          form2.series1.AddXY(i,ln(strtofloat(strH[n2]))*konstE);
          form2.Memo1.Lines.Add(strH[n2]);
  end;
  inc(i);
end;
CloseFile(Vacuum);
end;
Николай ПН вне форума Ответить с цитированием
Старый 22.04.2010, 16:18   #2
Николай ПН
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 75
По умолчанию

Да и как сделать, чтобы если в файле поменялись значения, чтобы они тоже поменялись в MEMO1 автоматически?
Николай ПН вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками и текстовыми файлами Nikolai17 Помощь студентам 3 13.12.2009 14:22
Работа со строками и файлами, С++ pakistan Помощь студентам 0 28.04.2009 23:39
Работа со строками и файлами DJ BlackWolF Общие вопросы C/C++ 6 05.12.2008 01:11
Работа с файлами и строками. mituhin Общие вопросы C/C++ 1 06.12.2007 12:53