Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Суммирование чисел в файле   Найти похожие ветки 

 
Gennadiy ©   (2003-02-06 18:46) [0]

Уважаемые мастера!!! Помогите пожалуйста у меня такая проблема,есть текстовый файл в котором в столбик забиты целые числа, и нужно сделать программу, что бы она суммировала эти числа в файле, и результат выводила в label. Я не знаю как исправить код в цикле, чтобы программа правильно считала:

procedure TForm1.Button1Click(Sender: TObject);
var
F:TextFile;
Stroka:String;
Summa:Integer;
begin
AssignFile(F,"summa.txt");
Reset(F);
while not Eof(F) do
begin
ReadLn(F,Stroka);
Summa:=StrToInt(Stroka);
Summa:=Summa+Summa;
Label1.Caption:=Stroka;
Label2.Caption:=IntToStr(Summa);
end;
CloseFile(F);
end;


 
Hint ©   (2003-02-06 18:51) [1]

Хех... Бывает...
Вы этот цикл хотя бы на бумажке распишите, посмотрите, что каждый раз с переменными происходит...

А если думать не хотца, то сделайте следующее:
2 строки
Summa:=StrToInt(Stroka);
Summa:=Summa+Summa;

поменяйте на
Summa:=Summa+StrToInt(Stroka)


 
OxOTHuK   (2003-02-06 18:57) [2]

procedure TForm1.Button1Click(Sender: TObject);
var
F:Textfile;
Stroka:String;
summa:Integer;
begin
summa:=0;
AssignFile(F,"summa.txt");
Reset(F);
while not Eof(F) do
begin
ReadLn(F,Stroka);
inc(Summa,StrToInt(Stroka));
Label1.Caption:=Stroka;
Label2.Caption:=IntToStr(Summa);
end;
CloseFile(F);
end;

gl


 
Романов Р.В. ©   (2003-02-06 18:59) [3]

Будет работать пока в файле не встретится буква :)


 
OxOTHuK   (2003-02-07 00:12) [4]

>> Романов
Это точно, но стояла задача суммирования, а не обработки Ексепшинов... ;)


 
Anatoly Podgoretsky ©   (2003-02-07 00:21) [5]

Есть вопросы.

1. Зачем читать в строку, лучше сразу в Integer
Readln(f,IntVar)

2. Зачем выводить Label1.Caption если значения будут видны только после окончания цикла

3. Нигде не видно защиты от ошибок


 
Юрий Зотов ©   (2003-02-07 00:21) [6]

Я в шоке. Читать числа в строковом виде, чтобы тут же переводить их снова в числа. А что, ReadLn уже не может СРАЗУ читать числа?


 
Tux ©   (2003-02-07 00:28) [7]

А я бы еще посоветовал ODBC драйвер для текстовых файлов пришить, подконнекчиваться через ADOQuery посредством OLEDB провайдера для ODBC драйвероа, геморрой, на первый взгляд, зато какой триумф высочайших технологий:

SELECT SUM(ID) FORM TABLE.TXT

!


 
OxOTHuK   (2003-02-07 07:30) [8]

>> Ю. Зотов & Anatoly Podgoretsky ... Спаcибо за критику - обязательно приму к сведению... просто как то позабыл про
Readln(f,IntVar)



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-52853
Alex Shulg
2003-02-07 16:00
2003.02.17
AVI в EXE?


1-53034
Le!
2003-02-06 08:11
2003.02.17
Народ помогите!


1-53015
SniZ
2003-02-08 16:44
2003.02.17
Строки!


1-52997
sans
2003-02-10 14:11
2003.02.17
Печать с использованием таблицы(+)


14-53189
Мазут Береговой
2003-02-03 11:56
2003.02.17
Сказки...