Модификация старой программы Windows для Mac OS X - PullRequest
2 голосов
/ 21 января 2010

Это приложение было написано для Windows еще в 1998 году, Я любил использовать эту программу, теперь я хочу узнать, как это сделать работать на Mac, и, возможно, изменить и добавить функциональность,

Проблема в том, что я не знаю, с чего начать. Я изучал C ++ php, javascript, но не знаю, как читать этот код. или с чего начать.

Спасибо, что заглянули http://github.com/klanestro/textCalc

С http://www.atomixbuttons.com/textcalc/

Что такое TextCalc?

TextCalc представляет собой комбинацию калькулятор выражений и текст редактор. Будучи оба, он имеет несколько преимущества перед обычными калькуляторы.

1) Вы можете оценивать выражения как 9 * 4-2 + 95-12 так, как ты пишешь их на бумаге.

2) Вы можете оставлять комментарии помимо ваших ответ и выражения.

3) Вы можете сохранять, перезагружать, редактировать и распечатайте свои результаты и выражения.

4) Вам не нужно писать свой ответь на бумаге, прежде чем вычисляя другое выражение, как вы можете оставить предыдущий результат в редактор.

5) Вы можете открыть существующие текстовые данные файл и выполнить вычисления на нем.

6) Вы можете применить выражение ко многим номера за один раз. Например, вы можно изменить список 1 2 3 4 5 на 2 4 6 8 10 умножением каждого числа на 2.

7) Вы можете суммировать, в среднем, конвертировать в шестнадцатеричный и т. д. список чисел легко.

Редактор способен анализировать числа и строки заключены в двойные цитаты " ". Номера будут раскрашены синий и строки будут окрашены в красный цвет. Это делает его идеальным для редактирования файлов содержащие числовые данные.

★ ✩

Ответы [ 8 ]

3 голосов
/ 21 января 2010

На основании скриншотов и информации на сайте TextCalc, я думаю, что это лучше всего реализовать как Mac OS X service . Вы можете назначить горячую клавишу для запуска службы в Системных настройках -> Клавиатура -> Службы.

Это было бы довольно легко. Вам не нужно писать часть текстового редактора, она будет доступна во всех текстовых областях во всех приложениях. Вам будет передан текст, выбранный пользователем, и все, что вам нужно сделать, это оценить его. Есть встроенный инструмент командной строки, bc , которому вы сможете делегировать это.

Существует руководство по внедрению услуг . Вам нужно будет прочитать вводный материал по какао , чтобы понять это. Впрочем, это хороший первый проект.

Я не думаю, что есть какая-либо причина, чтобы попытаться прочитать исходное приложение в этом случае. Вам просто нужно знать, каким должно быть поведение.

2 голосов
/ 21 января 2010

Посмотрите пример калькулятора из второй главы Страуструпа "Язык программирования C ++".

1 голос
/ 21 января 2010

Я бы не советовал "портировать" такую ​​старую программу, используя MFC, которую вы все равно не можете использовать на Mac.

Скорее, я бы порекомендовал создать скелет нового пустого приложения, а затем вставить более или менее крупные фрагменты из старого кода. Скелет может использовать любой подходящий язык: C ++, Objective-C, real Basic. Но поскольку код для повторного использования - C ++, вероятно, лучше всего использовать C ++.

1 голос
/ 21 января 2010

Основная часть этой программы (Expression Evaluation) была взята из этой небольшой программы , написанной Золи Фаркасом.

Поэтому я бы предложил следующее:

  • Цель обучения C.
  • В качестве упражнения перенесите оценку выражений Золи Фаркаша на Objective-C, чтобы использовать ее в качестве библиотеки или командной строки.
  • Изучите какао.
  • В качестве упражнения создайте графический интерфейс для своей библиотеки, используя Какао. Вам не нужен MFC.

Должно быть весело! : -)

1 голос
/ 21 января 2010

Похоже, что это приложение написано с использованием MFC, которое довольно ориентировано на Windows. Перевод этой программы на использование другого API, такого как Какао, потребует много усилий и потребует хорошего знакомства как с MFC, так и с Какао. Не говоря уже о работе, связанной с переводом C ++ в Objective-C, конечно.

Возможно, вам лучше запустить его как есть на виртуальной машине, такой как VirtualBox, или под Wine. К сожалению, бесплатная версия Microsoft Visual C ++ не включает MFC, поэтому для изменения этого кода вам придется либо приобрести несвободную версию MSVC, либо перевести программу на «голые кости» Win32 без использования MFC.

0 голосов
/ 21 января 2010

Если вы решили переписать его, я рекомендую RealBasic . В нем много компонентов, которые помогут сократить цикл разработки, и вы можете скомпилировать программу для Windows, Mac и Linux.

Простая в освоении и очень продуктивная платформа.

0 голосов
/ 21 января 2010

Почему бы не переписать его в C # .NET и использовать Mono для компиляции на Mac? Вы можете переписать части графического интерфейса в Native Cocoa из c # с помощью оболочки. Зависит от вашей программы, но эта программа не звучит так, как будто вы собираетесь продавать ее публике, поэтому проблемы с L + F, вероятно, не являются проблемой.

0 голосов
/ 21 января 2010

Код выглядит на C ++. C ++ доступен на Mac.

Код опирается на MFC, который, если курс недоступен в OS X. Поэтому вам нужно выбрать фреймворк, например WxWidgets , Qt , FLTK и т. Д., Которые доступны как на Mac, так и на Windows. Затем вам нужно перевести с MFC на ваш новый фреймворк.

В процессе вы узнаете больше о MFC, чем намереваетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...