Отправляет email-рассылки с помощью сервиса Sendsay

Самоучитель по Delphi

  Все выпуски  

Самоучитель по Delphi Самоучитель по Delphi - выпуск 8


 Здравствуйте дорогие читатели! С вами Артём, автор рассылки "Самоучитель по Delphi".

Сегодня 6 сентября 2006 года и это 8 выпуск моей рассылке.

Контакты

Автор и выпускающий редактор рассылки - NC.Luthermail.ru

Сайт - http://tibrazco.info.
Предложения и замечания по рассылке отсылайте по e-mail: NC.Luthermail.ru. Я обязательно учту ваши пожелания предложения при составлении рассылки.

Выпуск  8

Теперь вы можете скачать исходники и файлы к рассылке на сайте http://tibrazco.info/df.htm

Открылась новая рассылка - Программируем на Паскаль. Присылайте вопросы и мы обязательно на них ответим!

Вопрос: Hello NC,

Здравствуйте, в первую очередь благодарю за рассылку.

Вопрос1: Есть проект, развитие которому положил лабиринт из одной из

первых Ваших рассылок. Как в код добвить звуковое оформление, на

каждое движение персонажа, перемещение камня и т.п.

Вопрос2: В том-же проекте необходимо изменить обработку клавиатуры

из-за того, что при обработке события OnKeyDown Персонаж начинает

двигаться, замирает на мгновение и продолжает движение, как курор в

любом текстовом редакторе при непрерывном нажатии на любую клавишу.

Этого замирания быть не должно, т.е. нажал на кнопку-получил

непрерывное движение.

Спасибо, Axl.

Ответы: 1) Если вы делаете игру, то надо все функции писать вручную. На директикс тог там есть директсаунд. Возможно более подробную информацию вы найдете в delphiworld.

2) Предлагаю создать 4 переменные логического типа. При нажатии на одну из кнопок(влево, вверх, вниз или вправо) одна из этих переменных становится верной, а три другие неверными. Ещё надо добавить таймер. Таймер будет проверять какая переменная "правильная" и соответсвенно двигать персонаж в ту или иную сторону. В этом случае очень удобно контролировать скорость движения с помощью свойста Interval.

Вопрос :Можно ли сделать так что при открытии какой либо папки выскакивало окно на  

ввод пароля.И если пароль верный папка открывается, если не верный,  

соответственно не открывается.

Ответ: Можно через настройки Windows сделать. Всё зависит от того какая ОС. Но намного проще на мой взгляд установить программу Folder Lock, которую можно скачать тут.

Вопрос: Здравствуйте, можно ли в Delphi 7, использовать свои курсоры (*.cur) (встраивать их в программу), чтобы при наведении на какой-нибудь элемент, курсор менялся на другой, свой. Заранее благодарен.

Ответ: Курсоры можно делать с помощью программы Image Editor(она идет в комплекте с Delphi). Когда нарисуете курсор сохраните его под именем MyCursor.res. Затем нужно октрыть программу проекта(модуль Unit1). После строки {$R *.DFM} в этом модуле разместим строку: {$R MyCursor.res}. Таким образом мы подключили курсор к проекту. Теперь в свойстве OnMouseMove например кнопки пишем следущее:

Screen.Cursor[1] := LoadCursor(HInstance, 'MyCursor');

Screen.Cursor := 1;

Каждому новому курсору присвается номер. В данном случае это 1. Вы можете поэкспириминтировать с курсорами. Попробуйте менять значение Screen.Cursor не на 1, а на -2,-3, -4 и так далее. Стандартные курсоры всегда с отрицательными номерами.

Вопрос: Я извиняюсь за свою дремучесть, но чт о это за программа Delphy и где ее взять?

Ответ: Посмотрите пожалуста в первом выпуске, там много иформации про Делфи. А взять эту программу можно в магазине или у знакомых.

Вопрос: Не могли бы вы объяснить по подробнее выпуск 4 калькулятор куда прописывать функции StrToInt(cons: string) и

IntToStr(value: integer) я в этом  полный чайник но очень давно хочу этому научится ,я много читал учебников по Delphi но без наставника очень трудно, практически не возможно что-либо понять.Можно конечно скачать исходник, но хотелось бы чтобы в голове что-то отложилось.За ранее благодарю.

Ответ: Функции StrToInt(cons: string) и IntToStr(value: integer) служат для преобразования числа в текст или для преобразования текста в число. Прописывать их можно куда угодно. В программе "Калькулятор" я совершал преобразования при нажатии кнопки "Вычислить". Когда нажимаешь кнопку и просхиодит это самое преобразование. Можно было сделать и по-другому. Можно было делать преобразования непосрественно во время введения в текстовые поля значений, то есть в обработчике события "OnChange". Для этого можно просто двойным счелчком нажать на компонент Edit1. Прочитайте ещё раз выпуск 4. На мой взгляд по примеру всё же легче понять чем по описанию :) Для всех остальных читателей задание: сделайте, чтобы при вводе цифры в компонент Edit1 менялась переменная, то есть шло преоразование из текста в цифру и изменение переменной на эту цифру. Можете так же запрограммировать, чтобы при введении текста, а не цифр показывалось сообщение "Вводите цифры, а не буквы!".

Вопрос: Артем, здравствуй! Посоветуй где найти хорошее описание как написать прогу для баз данных (Access,*.dbf) с интерфейсом (похожую на тел. справочник или что-то в этом роде), чтоб можно было переносить на любые машины. И второе, есть ли у тебя опыт по установке Win Vista, Linux.

Ответ: В проекте DelphiWorld точно есть про баззы данных Access. Опыта установки Win Vista илиLinux к сожалению пока нет.

Вопрос: 1. Можно ли использовать внешние файла Word и Exel в работе с Pascal или Delphi и как?

2. Какая разница какой цикл использовать (while...do или repeat...until), если он будет выполнятся до тех пор, пока условие, стоящее в конце или начале, не станет верным?

Ответ: 1) Можно. Очень подробно это описано в проекте DelphiWorld

2) while условие do оператор. В этом случае оператор будет выполняться до тех пора пока пока условие(выражение логического типа) имеет значение True. Чтобы цикл прекратился, оператор должен изменить значение условия на False.

repeat

  операторы

until условие;

Здесь repeat - повторять, until - до тех пор, пока. операторы - любые операторы Object Pascal; условие - выражение логического типа. Цикл будет повторен хотя бы один раз, после чего проверяется значение условного выражения: если оно равно False, цикл повторяется. Для завершения цикла один из входящих в него операторов должен изменить значение условного выражения на True.

Заключение

Напоминаю, что  предыдущие выпуски рассылки вы можете прочитать на моем сайте  http://tibrazco.info в разделе рассылки http://tibrazco.info/mail.htm И не бойтесь присылать свои вопросы, я отвечу на них и помещу их в рассылки, чтобы все читатели узнали что-то новое. Присылайте их сюда NC.Luthermail.ru.


В избранное