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

Вниз

Строчки   Найти похожие ветки 

 
klochkov   (2002-07-03 16:49) [0]

Уважаемые мастера, кто поможет решить проблему.
Существет файл test.txt в нем существует сторка вида:

1 0 0 456 0 31
Как можно посчитать сумму цифр.


 
Виктор Щербаков   (2002-07-03 16:51) [1]

Цифр или чисел?


 
klochkov   (2002-07-03 16:52) [2]

sorry, чисел.


 
Skier   (2002-07-03 16:52) [3]

>klochkov
-Разбираешь строку и записываешь значения в TStringList
-Дальше суммируешь через StrToInt()


 
klochkov   (2002-07-03 16:53) [4]

Можно с примером, если не сложно.


 
alexdbases   (2002-07-03 16:54) [5]

Если заранее известно что всё они циферки....то
От пробела да пробела цифра....
Переводишь эту строку в какой-нить double и складываешь....
Если от пробела до пробела разница один то пропускаешь....
Так до конца файла


 
Alx2   (2002-07-03 16:59) [6]

Var F : System.Text;
V, S : Integer;
begin
AssignFile(F,filename);
ReSet(F);
S := 0;
while not eof(f) do
begin
read(f,V);
inc(S,V);
end;
closeFile(F);
S - сумма
end.


 
alexdbases   (2002-07-03 17:04) [7]

А если это не текстовый файл? (to Alx2)
и заносились туда строки а не так - Write(F,I) где i -инежер...
Что тогда?


 
klochkov   (2002-07-03 17:10) [8]

Извените, уточняю задачу.
Файл текстовой. Помимо чисел есть текст ( шапка и хвост).
нужно сложить все числа в строке и передать в качестве параметра программе дальше.


 
Alx2   (2002-07-03 17:11) [9]

>alexdbases © (03.07.02 17:04)
>А если это не текстовый файл? (to Alx2)
Но ведь есть же приведенный автором пример содержимого файла.

А так получится, что пишем сумматор для произвольных форматов файлов. Вдруг он в формате Excel?

>и заносились туда строки а не так - Write(F,I)
>где i -инежер...
Пофигу как заносилось. Лишь бы разделители-пробелы либо возвраты каретки были.


 
alexdbases   (2002-07-03 17:13) [10]

Если произошол сбой в
var h:float;
try
h:=StrToFloat(str(из файла между пробелами));
Exept
Showmessage("Это на цифру не похожа");
finally
ect///


 
Alx2   (2002-07-03 17:15) [11]

>klochkov (03.07.02 17:10)
Тогда мой вариант без переделок не покатит: надо проматывать шапку и не читать хвост :)


 
alexdbases   (2002-07-03 17:17) [12]

а если втретиться такое 6 4 76 5н567 546
Тогды чё?
А читать можно из екселя...


 
Fenix   (2002-07-03 17:17) [13]

Вобще обыявляешь

var
ifile: file of integer;

и читаешь из него, вот и все дела!










 
klochkov   (2002-07-03 17:19) [14]

В файле только цыфры м пробелы.
Сложить нужно одну строчку, а потом другую и т.д
до EOF


 
Alx2   (2002-07-03 17:19) [15]

>alexdbases © (03.07.02 17:17)
Но не из всего-же сразу читать?!


 
Alx2   (2002-07-03 17:22) [16]

>klochkov (03.07.02 17:19)
Если другого текста нет, то см. мой вариант.
>Fenix © (03.07.02 17:17)
Читать-то будет, но только мусор сплошной. Файл-то не бинарный.


 
alexdbases   (2002-07-03 17:23) [17]

почему если надо в файле отобрать все цифры.....почему нет?!


 
Alx2   (2002-07-03 17:26) [18]

>alexdbases © (03.07.02 17:23)
А, вон ты про что! Я-то подумал, что намекаешь на произвольные форматы файлов.
Тогда конечно. Правда, если задача так стоит. Но в этом случае - проще.


 
Fenix   (2002-07-03 17:35) [19]

Тогда читаешь полностью строку в Mystring типа string и
ListBox1.Items.CommaText(Mystring);
А дальше работаешь с итемсами и т.д.


 
klochkov   (2002-07-03 17:53) [20]

Большое спасибо всем, буду пытаться


 
3S   (2002-07-03 20:03) [21]

Воспользуйся библиотекой Rxlib
В StrUtils есть функции
WordCount
ExtractWord
Пример:

var t: Textfile;
s, s1: String;
i: Integer;
f, sum: Double; //Можно интегер


begin
//Как файл открыть сам знаешь
sum:=0;
Readln(t, s);
if WordCount(s)>0 then
for i:=1 to WordCount(s) do begin
try
s1:=ExtractWord(i, s, [" "]); // Разделитель между словами я поставил пробел
f:=StrToFloat(s1); //если итеген то StrToInt
sum:=sum+f;
except
//можно написать sum:=sum+0;
end;
end;
//sum - это твоя сумма
end;


//Писал на память поэтому мог ошибиться где-нибудь давно это было, пробуй
Удачи!!!



 
klochkov   (2002-07-03 23:06) [22]

Спасибо!



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

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.011 c
6-47651
ceres
2002-05-03 13:51
2002.07.15
Расчет траффика


1-47575
Ihor
2002-06-26 17:55
2002.07.15
THTTPCli


1-47320
Flud
2002-07-01 11:56
2002.07.15
Просто


14-47744
Song
2002-06-11 14:16
2002.07.15
Сегодня тут один сломал мою прогу, да ещё написал мне об этом


3-47185
Ptr
2002-06-19 13:32
2002.07.15
SQL запрос





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