Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-52849
bearoman
2003-02-07 13:15
2003.02.17
Отчет в ширину из несколько листов.


7-53307
Лапоть
2002-12-17 20:49
2003.02.17
LPT сам шевелится


1-53061
jiura
2003-02-06 17:11
2003.02.17
Скрытие MDiChild


1-52843
anbezr
2003-02-07 12:27
2003.02.17
как узнать когда все дочерние компоненты созданы


3-52730
Дима2003
2003-01-30 12:02
2003.02.17
Как сделать VIEW не обновляемым?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский