Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение файла txt [D7, WinXP]


Страницы:   1 2

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]


Ты вообще разницу между цифрой и числомпонимаешь ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо