|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.02.2016, 10:38 | #1 |
Новичок
Джуниор
Регистрация: 29.02.2016
Сообщений: 3
|
Программа для работы со строками
Всем добрый день.
Прошу вас помочь мне в решении одной задачи на Delphi. Задача: Есть текстовый файл, примерно с таким содержанием: @123 he1h he12 10hh . . . #123.... = какое-то число. Задача состоит в следующем, это должна быть консоль, в которой после определяющего @123 далее по строкам идет сложение строк в которых содержатся 16-ти ричные числа. После сложения нам надо заменить #123... на полученную сумму, которая у нас получилась при сложении. Другими словами: когда мы видим @, далее мы начинаем складывать строки друг с другом, до того момента, когда мы увидели #. После того, как увидели #, записываем нашу сумму вместо, числа #123. Буду очень благодарен, если поможете. |
29.02.2016, 11:14 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
TStringList
метод LoadFromFile цикл по строчкам. в цикле, если в строке в начале "@" - то обнуляем переменную с суммой если в строке в начале "#" - выводим переменную с суммой в данную строчку иначе взять число из строки (с проверкой, что это именно число) и суммировать. Выгрузить стринглист в файл методом SaveToFile('имяфайла.txt'); конец. |
29.02.2016, 11:45 | #3 |
Новичок
Джуниор
Регистрация: 29.02.2016
Сообщений: 3
|
Спасибо, Сергей, но сложность в том, что я не могу понять, как в Delphi сложить по строкам, 16-ти ричные числа, какими командами? Если не сложно можете пример скинуть?
|
29.02.2016, 11:47 | #4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
А как программа должна вести себя в случае ошибки?
И, таки да, автор, дай исходный файл. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
29.02.2016, 13:57 | #5 |
Новичок
Джуниор
Регистрация: 29.02.2016
Сообщений: 3
|
Больше значение пока не имеет, как будет при ошибке.
Пока все, что есть: var myFile: TextFile; s, buf: string; begin AssignFile(myFile, 'test.txt'); Reset(myFile); while not eof(myFile) do begin Readln(myFile, s); if s = 'привет' then s:= '&3'; buf:= buf + s + #13#10; end; CloseFile(myFile); Rewrite(myFile); Writeln(myFile, buf); CloseFile(myFile); end. Тут заменяется нужная строка. Но как сложить значения не очень понимаю. |
29.02.2016, 14:03 | #6 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Я файл просил. Тебе жалко штоли?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
29.02.2016, 14:19 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Crisr777, очень жаль, что Вы проигнорировали мой совет насчёт TStringList
Цитата:
Код:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
написать класс string для работы со строками с# | wordast | Общие вопросы C/C++ | 1 | 16.12.2013 05:26 |
Классс для работы со строками значительно превышающих 2 Ггб | alex_dorin | Visual C++ | 4 | 20.10.2012 05:37 |
Функции библиотеки для работы со строками и символами на С++ | Ice_Cherry | Помощь студентам | 0 | 03.06.2011 17:19 |
Библиотека для работы со строками | kloffelin | Общие вопросы C/C++ | 14 | 24.10.2010 13:04 |
HELP!Си - программа для работы со строками + сумма строк в матрице! | DUPLET | Помощь студентам | 1 | 20.12.2007 21:16 |