Главная страница
    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.45 MB
Время: 0.147 c
1-52964
akvilon
2003-02-09 15:09
2003.02.17
Тип размером в 3 бита


9-52699
Darts
2002-09-04 13:20
2003.02.17
Векторный редактор


3-52754
Ihtiandr
2003-01-30 17:11
2003.02.17
onErrorConnect


7-53289
Suharew
2002-12-12 17:27
2003.02.17
Серийный номер незаписанного диска


1-53052
POT
2003-02-06 16:33
2003.02.17
Передача параметров в функции DLL написанной на С++





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский