![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение файла txt [D7, WinXP]
Morgan128 © (2008-11-13 13:00:00)Добрый день.
Дано: Есть текстовый файл с кучей строк, в каждой строке записаны цифры, разделённые символами ', ' (запятая и пробел).
Вопрос: как в цикле считать цифры до запятой, потом пропустить два символа (запятая и пробел) и считать следующие цифры до след. запятой... и т.д.?
Сергей М. (2008-11-13 18:37:00) [1]
> Количество значений в строке одинаковое
> 205, 199, 193, 178, 163, 156, 140, 133, 123, 111, 99, 92, 85, //итого 13
> 146, 138, 133, 121, 109, 101, 95, 91, 86, 81, 79, 82, 85, //тоже 13
> 100, 96, 94, 91, 88, 87, 83, 84, 85, 85, 84, 83, 82, 81, // а здесь 14
Вот как после этого понимать Саида ?)
То у него цифры это числа, то 13 = 14, то справку потерял, то другую предъявил что, мол, не даун .
Юрий Зотов (2008-11-13 18:04:00) [2]Morgan128 (13.11.08 16:05) [7]
> как в цикле считать число до запятой
Хоть до запятой, хоть до пробела, хоть до чего угодно еще:
var
Ch: char;
Result: cardinal;
============
Result := 0;
Ch := '0';
while Ch in ['0'..'9'] do
begin
Result := Result * 10 + Ord(Ch) - Ord('0');
Читаем Ch;
end;
> И нефиг меня принимать за дауна.
Не даун, конечно, но со знаниями действительно беда. Да и код выше можно было бы придумать самому. Не бином Ньютона.
=============================
А что, разве у Bitmap'а нет готовых методов сохранения в файл и загрузки из файла? Зачем изобретать велосипеды?
Тем более, что попиксельное сохранения Bitmap'а в текстовый файл, да еще и с разделением запятыми - это даже не просто велосипед, а велосипед чудовищный.
Плохиш (2008-11-13 17:42:00) [3]А после
> Morgan128 (13.11.08 16:30) [12]
> Либо я туплю, либо 5 лет назад объясняли доступнее.
он мне начал нравиться 5 лет и ничему не научился
Но после
> Morgan128 (13.11.08 16:42) [19]
> как я сделаю какое-то движение, если у меня в делфе нет
> хелпа?
не могу согласиться с его просьбой
> И нефиг меня принимать за дауна.
Сергей М. (2008-11-13 16:56:00) [4]
> у меня в делфе нет хелпа
Спасибо за очередное одолжение - к 19-му посту мы наконец-то начинаем узнавать тщательно скрываемые тобой тайные подробности)
> Был бы хелп
Что, и Гугль молчит ?!
> Тупа забью StringReplace и буду любоваться?
После StringReplace тупо открываешь скобку и тупо любуешься именами формальных параметров, по которым тупо догадываешься об их назначении.
sniknik (2008-11-13 16:54:00) [5]> если у меня в делфе нет хелпа?
давно уже предлагал, за такие высказывания просто закрывать ветки.
т.к. автор попросту мозг всем парит... а это один из показателей.
> Срочно отложить другие дела и поставить справку.
а как же тогда клевые отмазки для "выдавливания" кода из упрямых мастеров?
Anatoly Podgoretsky (2008-11-13 16:48:00) [6]> Morgan128 (13.11.2008 16:42:19) [19]
Тогда ты не делом занимаешь.
Срочно отложить другие дела и поставить справку.
И лучше CommaText
Morgan128 (2008-11-13 16:42:00) [7]как я сделаю какое-то движение, если у меня в делфе нет хелпа? Тупа забью StringReplace и буду любоваться?
Был бы хелп, меня на этом форуме еще лет 5 никто бы не видел.
Германн (2008-11-13 16:41:00) [8]
> Morgan128 (13.11.08 16:35) [15]
>
> и что?
> КАК СЧИТАТЬ ДО ПРОБЕЛА???
>
Ну тогда
> Придется как-то по другому решать проблему, так как реальной
> подсказки в решении задачи не вижу.
> Спасибо за участие.
>
Сергей М. (2008-11-13 16:38:00) [9]
> Morgan128 (13.11.08 16:35) [15]
Ты откровеннотупишь)
Тебе в [2] был намек на возможность воспользоваться встроенными возможностями TStringList для разбиения строки, а ты до сих пор не сделал в эту сторону ни лжного телодвижения.
Сергей М. (2008-11-13 16:36:00) [10]
> Morgan128 (13.11.08 16:30) [12]
> [4] ведь предлагается удалить разделение запятыми
[4] упомянут лишь в части образца построчного чтения, а не обработки прочитанных строк
> Как тогда выбрать между числом 123 и числом 45 если будет
> читаться как 12345?
А вот в этой части как раз и упомянут [2]
Что тебе там не понятно ?
Morgan128 (2008-11-13 16:35:00) [11]и что?
КАК СЧИТАТЬ ДО ПРОБЕЛА???
Германн (2008-11-13 16:35:00) [12]
> Либо я туплю, либо 5 лет назад объясняли доступнее.
> [4] ведь предлагается удалить разделение запятыми. Как тогда
> выбрать между числом 123 и числом 45 если будет читаться
> как 12345?
Точно тупишь. Запятые удалишь, но пробелы то останутся.
Anatoly Podgoretsky (2008-11-13 16:34:00) [13]> Morgan128 (13.11.2008 16:30:12) [12]
Ты, у тебя разделение не запятыми, а запятой и пробелом. Если убрать хапятую, то 12345 ну никак не получится.
Morgan128 (2008-11-13 16:30:00) [14]Либо я туплю, либо 5 лет назад объясняли доступнее.
[4] ведь предлагается удалить разделение запятыми. Как тогда выбрать между числом 123 и числом 45 если будет читаться как 12345?
[2] краткость - сестра таланта.
Придется как-то по другому решать проблему, так как реальной подсказки в решении задачи не вижу.
Спасибо за участие.
Сергей М. (2008-11-13 16:23:00) [15]
> если 1200х1024? StringList поможет?
Для считывания и врем.хранения обрабатываемых строк от stringlist'а лучше будет отказаться в пользу построчного считывания (см. [4])
А для разбора каждой прочитанной строки вполне пойдет и [2] и [4]
Morgan128 (2008-11-13 16:19:00) [16]1. а если 1200х1024? StringList поможет?
2. Мне эти данные нужны и не раз. Массив все время под них держать?
Anatoly Podgoretsky (2008-11-13 16:16:00) [17]> Morgan128 (13.11.2008 15:59:05) [5]
Ну и зачем тут текстовый файл?
Сергей М. (2008-11-13 16:12:00) [18]
> С тем же успехом могу спросить
Успех был бы другим, если бы ты сразу сделал такое одолжение)
> 640х480
Не такая уж и большая куча.
Вполне можно загрузить ее в StringList, а затем для каждого элемента списка выполнить [2]
Morgan128 (2008-11-13 16:05:00) [19]
> как в цикле считать цифры до запятой,
цифры до запятой (от одной до трех) составляют число.
С тем же успехом могу спросить
как в цикле считать числодо запятой,
И нефиг меня принимать за дауна.
Сергей М. (2008-11-13 16:00:00) [20]
> Morgan128 (13.11.08 15:59) [5]
Ты вообще разницу между цифрой и числомпонимаешь ?