| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Delphi] Разбор строки. Химическая формула. |
| Автор: kemiisto 4.4.2008, 18:11 |
| Вообщем так, нужно разобрать строку, содержащую брутто-формулу. Эти формулы отражают состав вещества. Нужно выяснить атомы каких элементов и в каком кол-во входят в молекулу вещ-ва, заданную строкой. Правила разбора такие:
Например, H2O - 2 атома H, 1 атом O. Вопрос: как такое реализовать на Delphi? |
| Автор: Rodman 4.4.2008, 18:17 |
| формала одна? ну то есть вводишь тока "H2SO4" и больше ничего нету? |
| Автор: kemiisto 4.4.2008, 18:52 | ||
Да. |
| Автор: THandle 4.4.2008, 22:11 | ||
| Значит так, сильно не пинаем. Каждая заглавная буква - другой хим.элемент, каждая строчная - продолжение предыдущего. Например CaSO4 - 1 Ca, 1 S, 4 O. Скобочки не учел, сил не хватило, но думаю нетрудно будет добавить. Код ужасен, но работает)
До этого рабочего варианта еще строк 300 кода накалякал |
| Автор: kemiisto 5.4.2008, 11:49 | ||||
Вот, что пока получилось. Вариант предварительный но вроде работает:
Пример использования:
THandle, спасибо за идею! |
| Автор: kemiisto 17.5.2008, 20:48 | ||
| Играясь с Ruby, потихоньку осваиваю регулярные выражения... Мощная штука, однако! Вот, что получилось у меня при решении задачи из этой темы:
|
| Автор: THandle 18.5.2008, 14:04 |
| kemiisto, да... Намного проще получается. Надо тоже регулярки изучить, а не писать непонятные длиннющие куски кода |