Главная страница
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.011 c
1-53119
Беспечный Ангел
2003-02-06 14:55
2003.02.17
Помогите со скинами, плизззз!


1-52840
AlexanderSK
2003-02-07 14:00
2003.02.17
Удаление формы!


3-52755
Соловьев
2003-01-30 17:07
2003.02.17
Помогите , мастера, со структурой(голова что-то не варит).


14-53168
Феликс
2003-02-02 23:32
2003.02.17
Ссылки на спортивные сайты


3-52789
Kurt_
2003-01-29 18:44
2003.02.17
Люди, а как в MS SQL Server-е узнавать входит ли определенный юзе