lsor Опубликовано 7 октября, 2008 Жалоба Опубликовано 7 октября, 2008 (изменено) К услугам таких программистов готовые компоненты и библиотеки - элементы конструктора, опять же черных ящики для построения программы. А с другой стороны, если хорошенько подумать, может и не нужно все это прикладнику? Как не нужно системщику, например, умение писать игровые программы. Оно, увы, нужно. Оно мышление развивает. Программиста ценить надо не по полноте знания языка, и не по количеству известных ему языков, нет. По полноте анализа каждой ситуации - вот по какому качеству нужно ценить программиста. Так вот эти "специалисты" - такими способностями не обладают. Их среды "кое-как, но работает" не развивают. Вообще, как писал Станислав Лем: разум отнюдь не узкая специализация, а напротив, как можно более высокая. Вы работали с lex/yacc? Вопрос никак не связан с основной частью моего сообщения. Нет, я же не занимаюсь Delphi или Builder'ом. Я вот чем занимаюсь (лся... :) ): http://www.mega-soft.ru/prg3143.html Изменено 7 октября, 2008 пользователем lsor (смотреть историю редактирования) Цитата
niiro dzyaki Опубликовано 7 октября, 2008 Жалоба Опубликовано 7 октября, 2008 плохо знаком с VCL, но вспоминается, что там не все API функции представленыТам вообще API в чистом виде не представлены. Это обертка в виде классов/функций. Причем по моему опыту, если что из WinAPI надо, чего нет, на базе базовых классов свои обертки на раз пишутся. Обработка исключений процессора это не абстракция от железа, а наоборот, самый что ни на есть низкий уровень. Все это элементарно реализуется на ассемблере путем установки SEH и VEH обработчиков.Исключения - это исключения. Это метод отслеживания и обработки логических ошибок программирования. Высокий уровень абстракции. Как оно на низком уровне организованно, никому не интересно.Да и кстати, это не костыль - программ без логических ошибок не бывает. Я предлагаю другую аналогию: <> инструмент более широкого назначенияНеправда ваша. Активная работа с указателями требуется редко, а мешает часто. Скорее аналогия с обычным универсальным ножом, и специальным, для рыбы там, которую универсальным чистить можно, но удобнее специальным. А вообще, есть одна проблема: серьёзных программистов на самом деле чёрта-с-два сыщешь - в основном "специалисты" по SDK попадаются.развелось много "тепличных" программистов, для которых компьютер и ОС этакие черные ящики.Dont call them developers. Monkeys. © VSL Программиста ценить надо не по полноте знания языка, и не по количеству известных ему языков, нет.А это вообще перпендикулярно программированию. Зная парадигму языка и синтаксис, программировать можно на любом. Цитата
Mitea Опубликовано 7 октября, 2008 Жалоба Опубликовано 7 октября, 2008 Вопрос не о том. Вопрос о том, почему копия FreeUID не создаётся для каждого объекта класса, а одна на всех.Потому-что используется совместно.class MyClass{static int FreeUID;int UID;public:MyClass():UID(FreeUID++){}};Ну или совсем уж тупой вариант:class MyClass{static TCHAR PathToDefaultDirectory[MAX_PATH];public:void MethodOne();//один метод работающий с DefaultDirectoryvoid MeyhodTwo();//другой метод работающий с DefaultDirectory}; Цитата
lsor Опубликовано 7 октября, 2008 Жалоба Опубликовано 7 октября, 2008 Там вообще API в чистом виде не представлены. Это обертка в виде классов/функций. Причем по моему опыту, если что из WinAPI надо, чего нет, на базе базовых классов свои обертки на раз пишутся. Так чистый вид и не нужен. Нужны функции в концепции паскаля. Чтобы с паскалем, а не с си совмещались и не приходилось в явном виде с указателями работать. А это вообще перпендикулярно программированию. Зная парадигму языка и синтаксис, программировать можно на любом. Так я о том и говорю. ^_^ Потому-что используется совместно. Да понятно это всё. Но для этих целей можно и завести глобальную переменную. А вот чтобы сделать функцию с внутренним флагом, что она уже вызывалась, придётся загромождать класс переменными флагов. Вот нужно мне, чтобы при первом обращении к функции создавался файл, а во всех остальных он дописывался. Так я в самой функции класса пишу static FirstStart=true, а так мне нужно в самом классе заводить такую переменную. Но это ладно, но ведь разделяемая переменная в классе ещё и нарушает идеологию. Она не очень-то логична. Все переменные у объектов свои собственные, а вот эта особенная и одна на всех. Было бы логичнее чтобы и static переменные функций и классов были собственностью объектов этих классов. Цитата
ニキータ Опубликовано 4 февраля, 2009 Жалоба Опубликовано 4 февраля, 2009 Кто знает подскажите как в Дельфи (7) с БД MySQL общаться.Столкнулся с проблемой при попытке сделать клиент для форумной игрухи. Цитата
egik5hatki Опубликовано 5 февраля, 2009 Жалоба Опубликовано 5 февраля, 2009 (изменено) Там присутвуют компоненты для работы с БД насколоко я помню, ну а дальше F1.Также можно посомтреть в сторону http://www.devart.com/mydac/download.html Изменено 5 февраля, 2009 пользователем egik5hatki (смотреть историю редактирования) Цитата
Baka Oni-chan Опубликовано 17 февраля, 2009 Жалоба Опубликовано 17 февраля, 2009 2 ニキータРазбирайся в dbExpress. Цитата
апкиш Опубликовано 14 апреля, 2009 Жалоба Опубликовано 14 апреля, 2009 Кто знает подскажите как в Дельфи (7) с БД MySQL общаться.Столкнулся с проблемой при попытке сделать клиент для форумной игрухи.odbc Цитата
Andy_Scull Опубликовано 28 мая, 2009 Жалоба Опубликовано 28 мая, 2009 (изменено) Вопрос по RegEx.Задача - надо в хтмл зацепить <TABLE>...</TABLE> элемент, внутри которого есть определенный урл.<TABLE>.*?<xxx>.*?</TABLE> срабатывает с самого первого вхождения <TABLE> и захватывает практически всю страничку.В общем, по сути - хотелось бы сделать non-greedy сравнение "назад".Или, как вариант - .*, в котором не присутствует определенного слова - тогда бы я сделал <table>(.*, не содержащий <table>)<xxx>.*?</table>) п.с. в принципе, реален вариант заданичя максимального кол-ва символов .{1,x}, но очень не хотелось бы, так как хз насколько большая тейбла.п.п.с. язык - питон. //editПосле пяти часов поиска и экспериментов вроде нашел. ((?!<table).)* - матчит строку, где нет вхождения "<table".Логику работы - не понимаю, откуда получилось - хз, но вроде работает. Осталось потестить на рабочей программе... Изменено 29 мая, 2009 пользователем Andy_Scull (смотреть историю редактирования) Цитата
Baka Oni-chan Опубликовано 23 июля, 2009 Жалоба Опубликовано 23 июля, 2009 (изменено) Подскажите, есть ли для Linux платформо-зависимая консольная библиотека, идентичная DOSовской с заголовочником conio.h?PS Ещё не программировал в линуксе. Изменено 23 июля, 2009 пользователем Baka Oni-chan (смотреть историю редактирования) Цитата
niiro dzyaki Опубликовано 23 июля, 2009 Жалоба Опубликовано 23 июля, 2009 Подскажите, есть ли для Linux платформо-зависимая консольная библиотека, идентичная DOSовской с заголовочником conio.h?ncurses. Не совсем идентичная, да и не совсем аналогичная (ибо значительно больше возможностей дает). Цитата
Baka Oni-chan Опубликовано 25 июля, 2009 Жалоба Опубликовано 25 июля, 2009 ncurses. Не совсем идентичная, да и не совсем аналогичная (ибо значительно больше возможностей дает).Погуглил название, теперь в курсе. Благодарю за наводку. Всем советую прочитать книгу Харви Дейтел, Пол Дейтел - "Как программировать на C". Не смотрите, что старьё. Конечно, кое-какие там огрехи есть, но книга хорошая, годная. Вырабатывает хороший стиль программирования (в отличии от мелкомягких примеров на C++, ИМХО). Цитата
Baka Oni-chan Опубликовано 25 июля, 2009 Жалоба Опубликовано 25 июля, 2009 (изменено) Давно хотел узнать... Как загрузчик для x86 пишется? Сначала BIOS заботится о том, чтобы определить устройство для загрузки. Потом начинает читать с какого-то (первого?) сектора устройства команды процессор? Естественно, о секторах и прочем заботится контроллер устройства. А какими командами процессора можно организовать приглашение пользователю, работать с экраном? Прерывания использовать? И если да, то какие можно (x86)? И ещё, как написать программу, записывающую данные с командами в загрузочный сектор FDD/HDD/CD? И ещё. Похоже, написать _интерактивное_ приложение под шелл невозможно без пратформенной зависимости (то есть, используя stdio.h, без функций, реализованных conio.h и ncurses)? Максимум, лайн-редактор наподобие ed? Изменено 25 июля, 2009 пользователем Baka Oni-chan (смотреть историю редактирования) Цитата
niiro dzyaki Опубликовано 25 июля, 2009 Жалоба Опубликовано 25 июля, 2009 Похоже, написать _интерактивное_ приложение под шелл невозможно без пратформенной зависимостиИнтерактивно - в смысле, с менюшками и окошками? Тут можно1) ncurses использовать, он кроссплатформенный2) Забить на С, Free Pascal использовать ;)3) Свою реализацию (или гуглить, может и есть такое уже готовое) для conio.h через termcap.h (или что-там еще потребуется) для пингвина сделать. Давно хотел узнать... Как загрузчик для x86 пишется?ОМГ. Никак свою ОС хочется? Тут лучше гугла спрашивать, мне он, например, такое нашел:Ксакеп - как писать загрузчик Потом начинает читать с какого-то (первого?) сектора устройства команды процессор?google://mbr И ещё, как написать программу, записывающую данные с командами в загрузочный сектор FDD/HDD/CD?Под линуксом просто dd if=/dev/sda of=/home/user/saved.mbr bs=512 count=1 - сохранить mbrdd if=/home/user/new.mbr of=/dev/sda bs=512 count=1 - записать свойПолезно, кстати, при наличии винды в дуалбуте - она ведь при переустановке затирает линуховый загрузчик, поэтому поставил линь - сохранил mbr, после переустановки винды загрузился с лайв-сд и вернул на место. P.S. Загрузчик может и не в mbr быть, а на разделе, но с этим опять к гуглу, хотя под линем просто /dev/sda меняется на /dev/sda1 (a и 1 - просто пример, и буква и цифра могут отличаться).P.P.S. Старость - не радость, пять лет не программил, забыл все :D Цитата
Baka Oni-chan Опубликовано 27 июля, 2009 Жалоба Опубликовано 27 июля, 2009 2) Забить на С, Free Pascal использоватьИ вправду, что-то я забыл про него. Из-под него под любую платформу компилять можно. ОМГ. Никак свою ОС хочется?Ну, так далеко я не заглядывал :). Я реалист. Просто посчитал, что это мне надо знать. А статья интересная. Под линуксом простоВот ведь. Полезная команда. P.S. Загрузчик может и не в mbr быть, а на разделе, но с этим опять к гуглу, хотя под линем просто /dev/sda меняется на /dev/sda1 (a и 1 - просто пример, и буква и цифра могут отличаться).Основы я уже усвоил. P.P.S. Старость - не радость, пять лет не программил, забыл всеА может оно и к лучшему, если уже не надо? :) Или хотелось бы, да нет возможностей? :( Цитата
Shinsaku-To Опубликовано 26 ноября, 2009 Жалоба Опубликовано 26 ноября, 2009 (изменено) Товарищи, подскажите, кто в курсе. Интересует вопрос оптимизации проверки логических условий для С++. Конкретно -- такая вещь. Вот у нас есть сложно логическое выражение с && или ||. Вот оно проверяется. Как-то смутно брезжит в памяти, что полностью условие будет проверяться не всегда -- если всё становится понятно, то программа дальнейшую проверку сворачивает. То есть, например, условие if( func1() && func2() ) траляля Вызывается func1() и становится известно, что она false. Верно ли то, что в данном случае программа проверку завершает и func2() уже не вызывается, т.к. ясно, что результат всего выражения -- false? Или неверно? Или как компилятор сделан? Вожжа под хвост попала -- хочется использовать такую фишку. Но не в курсе, можно ли, и как у неё со стабильностью. Изменено 26 ноября, 2009 пользователем Shinsaku-To (смотреть историю редактирования) Цитата
Администрация Seirei Опубликовано 27 ноября, 2009 Администрация Жалоба Опубликовано 27 ноября, 2009 Логические операции выполняются слева направо. Если значения первого операнда достаточно, чтобы определить результатоперации, второй операнд не вычисляется.Т.е. если в if( func1() && func2()) func1()=false, то func2() не вызывается, с || наоборот, если первая истина, то проверка оканчивается.Так как в этой книги дан чистый C/C++ без привязки к какому-нибудь компилятору, то думаю, что это правило универсально.Во всяком случае, у меня это работало так:if(!File&&coutЕсли файл не был загружен, то текст выводился, если был - нет. Цитата
Rosetau Опубликовано 23 декабря, 2009 Жалоба Опубликовано 23 декабря, 2009 (изменено) всем привет. мне бы очень хотелось портировать онскриптер на кпк известно для чего, но сам я ничерта не смыслю в wm-программировании и был бы рад любой помощи сведующих.есть ли здесь такие? Изменено 23 декабря, 2009 пользователем Rosetau (смотреть историю редактирования) Цитата
Ayuu Опубликовано 23 декабря, 2009 Жалоба Опубликовано 23 декабря, 2009 Присоединяюсь к вопросу Rosetau, как писать для wm? ну, зная ассемблер и прочее думаю несложно, а вот, например, есть ли компиляторы для pascal/delphi? Цитата
Sovent Опубликовано 23 декабря, 2009 Жалоба Опубликовано 23 декабря, 2009 вообщем, такая ситуация. попросил брата придумать мне задание для реализации в паскале, он загадал следующее: программа, вычисляющая шансы на выигрыш в техасском холдеме (разновидность покера, если кто не знает). скажите, насколько это сложно реализуется и с помощью чего? понимаю, что вопрос довольно относительный, но попытайтесь, пожалуйста.з.ы. программировать начал меньше недели назад, поэтому очень много не знаю Цитата
Fei-FW Опубликовано 26 декабря, 2009 Жалоба Опубликовано 26 декабря, 2009 как писать для wm?Что гугль подсказал.http://msdn.microsoft.com/en-us/windowsmobile/bb250560.aspxВкратце:1. Visual Studio 2008 - download, install2. Windows Mobile SDK - download, install3. ActiveSync - download, install4. запуск Visual Studio 20085. несколько тычков мышкой и программа 'Hello World' работает на КПК или эмуляторе. Цитата
Shinsaku-To Опубликовано 26 декабря, 2009 Жалоба Опубликовано 26 декабря, 2009 программа, вычисляющая шансы на выигрыш в техасском холдеме (разновидность покера, если кто не знает).Скорее всего, не сложно, и реализуется в чём угодно. Но для ясности хотелось бы подробное изложение задачи. Цитата
Ayuu Опубликовано 1 февраля, 2010 Жалоба Опубликовано 1 февраля, 2010 (изменено) как писать для wm?Однако...писать под wm можно, и все куда проще, чем я думал.Если вкратце - берется lazarus, устанавливаются дополнительные компоненты, и простейшая прога пишется и компилится за минуту.Копипастить небуду, некий гайд здесь. Там же есть ссылка на гайд на ладошках про эмулятор, чтобы прогу каждый раз не таскать на кпк.Еще много интресного можно почитать тут.PS: еще увидел вот такую новость. Ненаписано только, это на .NET или паскаль...PPS: KOL у меня не компилится почему-то, если у кго получится - напишите плиз...да и размер екзешника выходит почти 2 метра...что-то многовато... --------------------------------------------------------Upd:Заработало. Для упешной пересборки лазаруса с KOL надо было всего-лишь переключить кодировку с японской на русскую, хотя лазарус вроде как полностью поддерживает юникод.я использовал следующие верии: lazarus-0.9.28.2-fpc-2.2.4-win32Lazarus-0.9.28-fpc-2.2.4-cross-arm-wince-win32kol-ce-2.80.3 чтобы нормально создать приложение с KOL как в гайде, надо чтобы пути к лазарусу и Вашему проекту содержали только латиницу, и, желательно, в нижнем регистре. Тогда KOL-проект при помещении на форму TKOLForm автоматически генерируется нормально, и после настройки компилятора пустя форма весит 45кб))) Изменено 4 февраля, 2010 пользователем Ayuu (смотреть историю редактирования) Цитата
Sovent Опубликовано 1 февраля, 2010 Жалоба Опубликовано 1 февраля, 2010 Скорее всего, не сложно, и реализуется в чём угодно. Но для ясности хотелось бы подробное изложение задачи.только сейчас заметил(итак, как я себе это представляю:1. ввод параметров игры (число игроков2. ввод собственных карт3. вывод шанса4. ввод флопа5. вывод шанса6. ввод тёрна7. вывод шанса8. ввод ривера9. вывод шансапо новой. причём во время каждого вывода должно учитываться число спасоваших, указываемое при вводе. Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.