0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 3
|
|
1 | |
Строки: текст, заключённый между "#" и "#" необходимо записать прописными буквами06.12.2017, 16:40. Показов 1254. Ответов 11
Я, походу, немного глупая прошу помощи. Есть задание к лабораторной, в которой я не могу понять что вообще и при каких действиях должно происходить, кроме того, что должны исчезнуть #. Объясните, кому не сложно и, если можно, накидайте примерный код)) Нужно сделать в лазарусе.
Задание: Пусть текст, заключённый между # и # необходимо записать прописными буквами. Из исходной строки выделить все участки, которые необходимо записать прописными буквами, вывести на экран исходную строку без символов #, но с правильным размером символов.
0
|
06.12.2017, 16:40 | |
Ответы с готовыми решениями:
11
Переписать файл, выделяя текст между кавычками прописными буквами Сделать из строки с строчными буквами массив из строк с заглавными и прописными буквами Заменить текст с прописными буквами и с заглавными Даны три слова. Третье записать прописными буквами |
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
|
06.12.2017, 22:30 | 2 |
разбираюсь в этом не очень, (уверен что есть более гибкие инструменты) но пару "костылей" предложу...
если работаете с кирилицей, то возможны проблемы с юникодом. Обычные str1[i] могут давать "часть символа"! Пользуюсь LazUTF8 (в юниты добавь) для UTF8Length(str1) и UTF8Copy(str1, 1, 5) попробуй циклом перебрать строку в поисках for i=1 to UTF8Length(str1) do if(UTF8Copy(str1, i, 1)="#" then... а дальше уже "магия/нудота парсинга" - найди "начало", запомни, ищи "конец", запомни... там-же вроде видел UTF8UpperCase для перевода в прописные...
1
|
Супер-модератор
|
||||||
06.12.2017, 23:59 | 3 | |||||
Сообщение было отмечено RockershAz как решение
Решение
Не нужна тут никакая магия, все делается гораздо проще: строка разбивается по символам # на массив строк, в котором, разумеется, все элементы с нечетными индексами (индексация же с нуля начинается) будут те, которые нужно перевести в верхний регистр, а с четными - те, которые не нужно менять. Вот и проходим по массиву, заменяя то, что нужно. А потом склеиваем строку назад:
LazUTF8 все-таки в uses придется добавить...
1
|
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
|
|
07.12.2017, 09:31 | 4 |
volvo, при попытке повторить ваш код Lazarus "ругается" на 3, 7, 8 и 9 строки. Не могу утверждать, но вы вероятно используете Helper types http://wiki.freepascal.org/Helper_types.
Не могли бы вы подробнее рассказать, как его подключать и справедливы ли для Lazarus-а вот эти процедуры и функции: http://asd-soft.ru/tstringhelper-delphi/
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
07.12.2017, 09:43 | 5 | |||||
А у меня не ругается.
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
07.12.2017, 11:27 | 7 |
Может версия Лазарус какая-то старая?
0
|
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
|
|
07.12.2017, 11:30 | 8 |
Лазарус 1.6, FPC 3.0.0 (laz4android1.6.0-FPC3.0.0.exe)
Может какие-то дополнительные настройки нужны или лучше установить обычную сборку (lazarus-1.6.0-fpc-3.0.0-win32.exe)?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
07.12.2017, 12:18 | 9 |
1
|
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
|
|
07.12.2017, 12:51 | 10 |
А есть ли возможность выполнить какие-то настройки, чтобы код заработал?
Отказываться от laz4android1.6.0-FPC3.0.0 не могу, т.к. иногда бывает необходимость делать небольшие утилиты под Android. Если установить рядом lazarus-1.6.4-fpc-3.0.2-win32, то не возникнет ли между ними конфликт?
0
|
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 3
|
|
07.12.2017, 12:56 [ТС] | 11 |
Суть поняла, дальше разберусь, спасибо огромное за помощь
0
|
Супер-модератор
|
|
07.12.2017, 13:45 | 12 |
Нет. До 1.6.4 невозможно использовать helper-ы. Но обновляться все равно нужно - сегодня вышел 1.8, так что у тебя уже сильно устаревшая версия.
1
|
07.12.2017, 13:45 | |
07.12.2017, 13:45 | |
Помогаю со студенческими работами здесь
12
Файл: Получить в файле текст, записанный прописными буквами. Работа с текстовыми файлами. Преобразовать текст, записав ключевые слова прописными буквами, а остальные строчными Преобразовать текст, записав все зарезервированные слова прописными буквами, а остальные конструкции (имена и так далее) — строчными Печатать текст крупными буквами с некоторомы паузами между буквами Напишите программу JavaScript, чтобы проверить первый символ строки прописными буквами или нет Извлечь из строки текст, заключенный в кавычки Из строки требуется удалить текст, заключенный в фигурные скобки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |