![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
Написать функцию, которая будет форматировать код программы, представленный в виде строки в html c подсветкой синтаксиса (должны выделяться как минимум идентификаторы и комментарии, желательно также чтобы выделялись числа и строки). Возможный вариант работы функции приведен ниже.
Входная строка: Код:
Код:
{$Apptype Console} program First; const A=5; var B: Integer; begin Write('Введите B: '); ReadLn(B); WriteLn('B*', A, ' = ', B*A); end. Функцию реализовать следующим образом. Попробую сам объяснить так, как мне объяснял преподаватель. =) В общем у каждого объекта есть несколько состояний, которые в результате выполнения каких-то заданных условий и совершения над ними действий переходят в другие состояния. Например ближе к данной задачи в функции мы должны побуквенно пробегать указателем каждый символ строки и смотреть на его признаки. По умолчанию состояние будет Empty. Далее например, если мы встречаем символы ['_', 'a..z', 'A..Z'] то меняем это состояние на идентификатор. Присваиваем Identifier. После чего идентификатор может перейти в зарезервированное слово, для этого мы накапливаем полученную строку в каком-то буфере и если при прохождении указателя далее по буквам "вырисовывается" зарезервированное слово, то состояние объекта переходит в Keyword и в HTML строке оно выделяется как keyword. Всего таких состояний: 1) Empty - начальное состояние 2) String - строка в апострофах ' '; 3) Number - число; 4) Identefier - идентификатор; 5) Keyword - ключевые слова (все какие есть); 6) Comment1 - комментарий { } 7) Comment2 - комментарий (* *) 8) Comment3 - комментарий // Думаю идею как-то донес. Саму программу реализовать желательно на формах, где есть 2 поля memo (ввод и вывод) и кнопка Форматировать. Во втором поле будет отформатированных как HTML текст с подсветкой синтаксиса. В файлах реализовывать необязательно. За работу плачу 300р. Если сумма не устраивает, то предлагайте свою.
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 19.12.2009
Сообщений: 0
|
![]()
готов 435876325 shurik_e@mail.ru
|
![]() |
![]() |
![]() |
#3 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
ess взял заказ.
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
#4 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
Заказ был выполнен в сроки. Все отлично работает. =)
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
#5 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
Поднимаю тему. В общем задание остается прежним. Программу, которую написал мне ess, я не смог защитить и вообще не смог ничего понять в коде. Как следствие не смог добавить туда элементарную вещь: заголовок программы выводить в заголовок HTML страницы. Заголовком программы считается все после ключевого слова program или unit и до точки с запятой. В общем задача теперь. Сделать или по возможности переделать готовую прогу с исходниками на "простой и понятный лад". Мне не нужны громоздкие классы и объекты. Программа изначально была расчитана на работу со строками. То есть там даже до темы "Записи" далеко, не то что до классов и объектов. Разумеется преподаватель понял, что я не мог это написать сам. Так что основное требование сделать прогу понятной новичку и без лишних "понтов" и сложных конструкций.
Теперь конкретнее что я хочу: 1) Сделать задачу описанную выше на Delphi с помощью простых конструкций, так, чтобы было все ясно и понятно новичку т.е. мне. Пройденные темы: Линейные алгоритмы, Условия, Циклы, Массивы, Процедуры и функции, Строки. Не надо ничего больше накручивать, если можно обойтись более простыми вещами. 2) Снабдить задачу построчными комментариями, там где это возможно и (или) объяснить мне принцип работы и все аспекты по ICQ или скайпу. Повторю, что главное, чтобы я в ней разобрался и смог что-то добавить по требованию преподавателя. Теорию по строкам я разумеется знаю. Думаю будет не очень трудно мне объяснять. 3) Логику и интерфейс делать отдельно. Отдельно это не обязательно в разных модулях. Модуль то как раз лучше оставить один. Так меньше путаницы. Просто нужно сделать так чтобы все вычисления и преобразования (логика) проходили в отдельных функциях и не были привязаны к интерфейсной части, т.е. там не должно быть всяких Memo и Button. Это делает программу универсальной и переписать ее будет просто как на паскале, так и на других языках не цепляясь за объекты интерфейса. Интерфейсные объекты (memo и кнопки) используются просто как средства ввода/вывода и никакой логики в их процедурах быть не должно. Они просто должны вызывать расчетные функции, передавая им параметры. 4) Как я уже говорил готовая задача есть. Исходники я без проблем предоставлю. К тому же есть некоторые наработки, которые тоже могут помочь в решении. Пишите цены, кто возьмется лучше сюда либо в ICQ. Задание и исходники скину в *.doc файле. Теперь по поводу оплаты, ясен пень послать мне работающую программу не достаточно, ибо я не смогу оценить качество исходников и не смогу разобраться. Так что предоплаты не будет. Оплата только после того как все будет сделано и я во всем разберусь. Ограничения на сроки пока нет. У меня уже из-за нее хвост висит. Думаю все расписал. Если что-то не понятно то в пишите в ICQ. Обсудим.
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
![]()
Препод вам объяснял тему "конечных автоматов". Могу переписать все по простому, без предоплаты, с объяснениями, пишите на почту (исходники + другая информация).
Почта: intel-art@ya.ru Оплата 150 рублей, после выполнения и объяснения работы.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 07.12.2008
Сообщений: 244
|
![]()
пишите готов сделать 356-774-206
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
![]()
Заказ взят
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
![]() |
![]() |
![]() |
#9 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
Заказ еще актуален.
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
#10 |
323787261
Пользователь
Регистрация: 19.12.2008
Сообщений: 49
|
![]()
Заказ взят.
ICQ: 323787261
Email: pschegolevatykh@gmail.com |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
строки в Delphi | Михаил70 | Помощь студентам | 2 | 15.09.2009 02:05 |
delphi строки | motaro | Общие вопросы Delphi | 5 | 21.08.2009 18:45 |
Delphi. Строки. | inmate | Помощь студентам | 2 | 19.05.2008 18:14 |
#Delphi Строки | forumu | Помощь студентам | 3 | 24.12.2007 23:31 |
Строки в Delphi. | Wise | Помощь студентам | 9 | 03.12.2007 17:58 |