Главная » Статьи для тега "программе"

Знакомство с простыми программами Free Pascal

Добавлено Дата: 16 May, 2014 категория: Free Pascal

Эта глава предназначена для начинающих изучать Паскаль, и ее без ущерба мо- гут пропустить читатели, изучавшие Паскаль в школе или в институте. Хотя повто- рение — мать учения. Задачи, представленные в этой главе, знакомят читателя с видом программы и некоторыми приемами программирования.

Читать »

continue Objective-C

Добавлено Дата: 6 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Иногда во время выполнения блока в цикле нужно сказать программе. «А теперь пропусти все, что осталось выполнить в блоке, и начини следующий проход». Эта задача решается командой continue. Допустим, вы твердо уверены в том, что для чисел, кратных 3, условие никогда не выполняется. Как избежать напрасной потери времени на их проверку?

Читать »

Использование еnum для определения битовых масок Objective-C

Добавлено Дата: 12 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Часто в программе бывает нужно определить список констант; каждая из которых представляет   целое   число   с   одним   установленным   битом.   Далее   эти   числа

объединяются   поразрядной   операцией   ИЛИ и   проверяются   с   использованием поразрядной операции И (см. выше).

Читать »

РАЗРАБОТКА ПРОГРАММ

Добавлено Дата: 14 July, 2012 категория: Basic

Наряду с новым материалом в этой главе собрано воедино несколько тем, обсуждавшихся ранее для иллюстрации    непосредственных    и    очень    полезных    возможностей    разработки    программ, обеспечиваемых Бейсиком.  Как  и  в  других  главах,  предостерегаем, что  не  все  версии  Бейсика обладают всеми описанными ниже возможностями.

Читать »

ДРУГИЕ ОСНОВЫ ПРОГРАММИРОВАНИЯ НА БЕЙСИКЕ

Добавлено Дата: 11 June, 2012 категория: Basic

В первых двух главах были представлены элементы языка Бейсик и описаны приемы работы  на ЭВМ. В рассматривавшихся до сих пор программах исполнение начиналось с оператора, имеющего наименьший номер, а заканчивалось оператором с наибольшим номером. До сих  пор  ничего не говорилось  о  средствах  пропуска  оператора  при  выполнении  некоторых  условий  или  передачи управления на начало программы после достижения ее конца. Подобные изменения хода исполнения программы можно сделать с помощью четырех операторов Бейсика,  а  именно IF, GO TO и FORNEXT. В настоящей главе описаны общие для всех систем с Бейсиком формы этих операторов.

Читать »

ПЕРВОЕ ЗНАКОМСТВО С JAVA

Добавлено Дата: 18 April, 2012 категория: Java

Посмотрите Европу! Десять стран за семнадцать дней!

Реклама в туристическом агентстве

В этой главе представлен краткий обзор языка программирования  Java. После его прочтения вы сможете написать свое первое Java-приложение.  Здесь мы рассмотрим только основные возможности языка, не задерживаясь на деталях. Конкретные свойства Java подробно изучаются в последующих главах.

Читать »

Delphi 2006 – Шаблон Prototype (Прототип)

Добавлено Дата: 6 November, 2011 категория: Delphi

В ряде проектов возникает необходимость создания множества объектов — экземпляров не очень большого числа классов, каждый из которых требует предварительной и довольно объемной настройки. Такую настройку можно выполнять вручную, а можно заранее подготовить набор объектов-прототи- пов — по одному на каждый класс — и при необходимости просто создавать их копии-клоны (рис. 7.5).

Читать »

Совет 3 — об исключениях

Добавлено Дата: 1 July, 2011 категория: Delphi

Нужно тщательно просматривать программу на предмет возможного возникновения исключительных ситуаций. Приведу один простой пример: предположим, вы открываете некий файл, который только что сами создали. То есть он, казалось бы, гарантированно существует — ну какая тут может быть исключительная ситуация? Но если вы перед открытием не проверили, действительно ли он существует, то в сложной программе с множеством событий вы легко можете попасть в совершенно дурацкую ситуацию: представьте себе, что некий "ламер" взял и удалил этот файл в промежутке между созданием и обращением к нему. "Сам виноват" — скажете вы, и будете категорически неправы. В вашей воле прервать выполнение программы с сообщением типа "Файл … не существует", но если программа при этом виснет или выдает нечто вроде невнятного "Access denied" — "ламер" даже не поймет, где и что он сделал не так. А такого допускать нельзя. Я специально заостряю ваше внимание иа данном примере, потому что на практике таких экзотических проверок, конечно, никто не делает, полагаясь на системные обработчики исключении. И мы также этим заниматься не будем, но вы должны понимать, что и принципе это неправильно.

Читать »

Справка в SlideShow

Добавлено Дата: 2 June, 2011 категория: Delphi

Перенесем проект SlideShow из папки GlavalS в новую папку (Glava 16\3) и придадим ему номер версии 2.1. Файл со справкой я назвал slide.htm и расположил его в той же папке. Добавим к проекгу новую форму типа Tabbed Pages (File | New | Other | Forms | Tabbed Pages), которая представляет собой форму-диалог с установленным компонентом Pageccncrol. В нем как раз будет три закладки (компонента типа TtabSheet). первую из которых мы назовем Справка, вторую — О программе, а третья зачем? А третью мы назовем Установки и потом перенесем на нее нашу панель с настройками, чтобы все было единообразно. Этот перенос и будет самым хлопотным в переработке программы.

Читать »

Переключатель с установками

Добавлено Дата: 12 May, 2011 категория: Delphi

На всякий случай перенесем проект LangSwitch из папки Glava7\2 в новую папку (Glava7\3). Для того чтобы ввести механизм передачи параметров, проделаем следующее. Начнем с создания обшей разделяемой области. Для этого добавим к проекту основной программы LangSwitch, как это советует автор [17], отдельный модуль IniHook (File | New | Unit) с секциями initialization и finaiization, определим в нем нужные структуры, перенесем в него в том числе и определение наших сообщений. Здесь мы не будем присваивать им выдуманные из головы значения, а используем процедуру регистрации RegisterWindowMessage с присвоением уникального (в вероятностном смысле) номера. Когда сообщение действует внутри одного оконного класса, делать это необязательно, но у нас оно посылается от DLL конкретному окну, и есть опасность, что кто-то еще пошлет такое же сообщение. Для того чтобы получить уникальный номер, есть два пути. Первый заключается в том, чтобы использовать встроенный генератор случайных чисел Delphi, который вызывается клавишами <CtrI>+<Shift>+<G>, в результате чего генерируется уникальная строка символов, хорошо знакомая по внешнему виду всем, кто занимался поиском по реестру (так еще получают уникальные имена файлов и классов для регистрации в системе). Второй путь— вызов функции createGuiD, которая делает то же самое, но каждый раз заново при запуске приложения. Второй путь несколько более надежен (им часто пользуются авторы вирусов и троянов), но в данном случае его применить нельзя, т. к. нам нужно сообщить полученные номера ловушкам, a DLL компилируется отдельно. Так что мы применим первый способ, и имейте в виду, что сначала нужно компилировать проект программы вместе с модулем IniHook, а уж затем— проект DLL, именно в таком порядке. Сам модуль будет выглядеть так — листинг 7.3.

Читать »

Справка для переключателя клавиатуры

Добавлено Дата: 27 April, 2011 категория: Delphi

Напомню, что переключатель клавиатуры LangSwitch (см. главу 7) мы еще не доделали — эта программа, в отличие от остальных наших примеров, обязательно требует автоматической инсталляции — чтобы не заставлять пользователя вносить изменения в системные настройки вручную. Поэтому мы сейчас напишем справку и покажем, как ее выводить, а в дальнейшем доделаем программу, только нужно запомнить, что в текст справки придется внести изменения. Перенесем проект из папки Glava7\3 в новую папку Glaval6\2, причем все, что относится к ловушке (Langhook), мы переносить не будем, за исключением готового файла Langhook.dll — туда вмешиваться нам уже не потребуется. Справку я расположил в файле Lshelp.htm и поместил его в ту же папку.

Читать »

Как работать с документами в различных кодировках

Добавлено Дата: 20 April, 2011 категория: Delphi

В компьютерах все— и данные, и команды, и буквы-символы — представляется одинаково, в виде чисел. И это уже дело наше (точнее, программного обеспечения), как эти числа интерпретировать: компьютеру решительно все равно, какие именно символы какими именно числами кодировать. Мы можем договориться, что в данной программе число 13 обозначает команду на перевод строки (или создание нового абзаца, если форматирование строк производится редактором автоматически), число 48 обозначает знак цифры "О", а число 65 — знак строчной латинской буквы "А". Разумеется, если бы каждая программа имела бы свое собственное представление о том, как интерпретировать подобные коды, то сложилась бы ситуация строителей вавилонской башни — текст, созданный в одной программе, нельзя было бы прочесть больше нигде. Поэтому естественно возникло стремление к созданию единого стандарта, желательно общемирового, который позволил бы одинаково воспроизводить на экране и при печати тексты на любых языках. Все прекрасно знают, что подобный идеал не достигнут и по сей день, хотя история кодировок насчитывает уже четыре с лишним десятилетия. А в чем проблема, собственно?

Читать »

Справка и пункт О программе для Trace

Добавлено Дата: 4 April, 2011 категория: Delphi

Самый простой способ предоставляет нам программа Trace (см. главу 14), в которой все для отображения HTML-справки уже есть— в том смысле, что компонент WebBrowser установлен и готов к использованию. Я перенес проект из папки Glaval4\2 в новую папку (Glaval 6\1) и расположил там файл с текстом справки tracehlp.htm. Обратите внимание, что в заголовке страницы (в тегах <title> </title») название программы приведено в верхнем регистре (TRACE) для того, чтобы при просмотре через браузер заголовок окна последнего отличался от заголовка окна самой программы, где это название записано, как Trace. Если этого не сделать, то вы попросту не сможете запустить программу одновременно с просмотром Help в браузере— сработает наш механизм предотвращения повторного запуска.

Читать »