Посоветуйте как лучше сделать!

Raiven007
Дата: 17.05.2011 09:00:44
Задача такая! В 3 блокнотах в 1 столбик множество значений чисел! Количество одинаковое.
Как считывать фаил до конца я в принципе разобрался:
while not Eof(Pok1) do
begin
Readln (Pok1,TextLine1);
end;
Он переводит значения в строку. Но там одни цифры и они мне нужны в дальнейших расчетах.
Т.е. у меня 3 формулы и в них будут подставляться эти переменные и остальные константы.
Как реализовать чтобы формулы расчитали значения для каждого из чисел? Массив делать я так думаю! А как считать из текстового файла в этот массив???
Ramin Hashimzade
Дата: 17.05.2011 09:08:24
честное слово 3 раза прочитал нифига не понял!!
автор
В 3 блокнотах в 1 столбик множество значений чисел! Количество одинаковое.

что такое 3 блокнотах????

просто могу догадаться что тебя нужно:

var
 strL1 : TstringList;
 strL2 : TstringList;
 strL3 : TstringList;
 i : integer;
 mynum : integer;
 myformula : real;
begin
  strL1 := TStringList.Create;
  strL2 := TStringList.Create;
  strL3 := TStringList.Create;

  try
    strL1.LoadFromFile();
    strL2.LoadFromFile();
    strL3.LoadFromFile();

      for I := 0 to strL1.Count - 1 do
        begin
          mynum := StrToInt(strL1.Strings[i]);
          myformula := mynum * Pi;
        end;

        и т. д.

  except

       on E: Exception do
          Application.MessageBox(Pchar('Error!'#13#10+E.Message),'Error!',MB_ICONERROR);
  end;

end;
Anatoly Podgoretsky
Дата: 17.05.2011 09:09:07
Raiven007
Задача такая! В 3 блокнотах в 1 столбик множество значений чисел! Количество одинаковое.
Как считывать фаил до конца я в принципе разобрался:
while not Eof(Pok1) do
begin
Readln (Pok1,TextLine1);
end;
Он переводит значения в строку. Но там одни цифры и они мне нужны в дальнейших расчетах.
Т.е. у меня 3 формулы и в них будут подставляться эти переменные и остальные константы.
Как реализовать чтобы формулы расчитали значения для каждого из чисел? Массив делать я так думаю! А как считать из текстового файла в этот массив???

А причем тут блокноты, когда далее про файлы.
1. почему читаешь в TextLine1, а не в IntVar например.
Посмотри на моем сайте статью по файлам Паскаля, там есть примеры работы со всеми тремя типами этих файлов, тебе нужна часть Текстовые файлы, ну уж с массивом ты должен справиться сам или идти в армию.
Raiven007
Дата: 17.05.2011 09:11:14
Ramin,

) Извиняюсь
В трех текстовых файлах в один столбик записаны числа!
Их нужно считать из этих файлов, и произвести расчет, т.е. значение из первой строки каждого файла подставить в формулу, потом значение из второй строки в теже самые формулы и т.д.
Raiven007
Дата: 17.05.2011 09:13:03
Anatoly Podgoretsky
Raiven007
Задача такая! В 3 блокнотах в 1 столбик множество значений чисел! Количество одинаковое.
Как считывать фаил до конца я в принципе разобрался:
while not Eof(Pok1) do
begin
Readln (Pok1,TextLine1);
end;
Он переводит значения в строку. Но там одни цифры и они мне нужны в дальнейших расчетах.
Т.е. у меня 3 формулы и в них будут подставляться эти переменные и остальные константы.
Как реализовать чтобы формулы расчитали значения для каждого из чисел? Массив делать я так думаю! А как считать из текстового файла в этот массив???

А причем тут блокноты, когда далее про файлы.
1. почему читаешь в TextLine1, а не в IntVar например.
Посмотри на моем сайте статью по файлам Паскаля, там есть примеры работы со всеми тремя типами этих файлов, тебе нужна часть Текстовые файлы, ну уж с массивом ты должен справиться сам или идти в армию.

Это по работе, а я не программист! Вот сижу осваиваю!
Ramin Hashimzade
Дата: 17.05.2011 09:13:52
исходя:
автор
Количество одинаковое.


var
 strL1 : TstringList;
 strL2 : TstringList;
 strL3 : TstringList;
 i : integer;
 mynum1,mynum2,mynum3 : integer;
 myformula : real;
begin
  strL1 := TStringList.Create;
  strL2 := TStringList.Create;
  strL3 := TStringList.Create;

  try
    strL1.LoadFromFile();
    strL2.LoadFromFile();
    strL3.LoadFromFile();

      for I := 0 to strL1.Count - 1 do
        begin
          mynum1 := StrToInt(strL1.Strings[i]);
          mynum2 := StrToInt(strL2.Strings[i]);
          mynum3 := StrToInt(strL3.Strings[i]);
          myformula := (mynum3+mynum1)*Pi/mynum2;
        end;

        и т. д.

  except

       on E: Exception do
          Application.MessageBox(Pchar('Error!'#13#10+E.Message),'Error!',MB_ICONERROR);
  end;

end;
Raiven007
Дата: 17.05.2011 09:15:28
for I := 0 to strL1.Count - 1 do
Этой строкой ты указываешь что расчет будет идти до последнего значения?
Anatoly Podgoretsky
Дата: 17.05.2011 09:15:46
Raiven007
Это по работе, а я не программист! Вот сижу осваиваю!

Статья как раз для начинающих и написана.
Raiven007
Дата: 17.05.2011 09:17:54
Anatoly Podgoretsky
Raiven007
Это по работе, а я не программист! Вот сижу осваиваю!

Статья как раз для начинающих и написана.

можно ссылочку на статью?
Raiven007
Дата: 17.05.2011 09:20:23
Raiven007
Anatoly Podgoretsky
пропущено...

Статья как раз для начинающих и написана.

можно ссылочку на статью?

уже сам нашел)