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

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 371
от 31.01.2006, 03:36

Администратор:Калашников О.А.
В рассылке:Подписчиков: 245, Экспертов: 61
В номере:Вопросов: 6, Ответов: 17


Вопрос № 34044: как в программе сделать синтаксис проверки perl скриптов я делал через оле объект но вес учу с active perl 10 mb...
Вопрос № 34078: Добрый день. Подскажите, пожалуйста как из под Delphi сменить раскладку на клавиатуре например на укр. Заранее благодарен. .
Вопрос № 34088: Здравствуйте,пожалуйста научите меня пользоваться процедурами и функциями.Как их правильно описывать и вызывать ?...
Вопрос № 34103: Здравствуйте Уважаемые Эксперты! У меня така проблема, установил Delphi 2005 Architect, но по неизвестным мне причинам проекты C# Builder и Delphi Net не запускаются на выполнение, оно мне выдаёт "Unable to create process" (Не в состоянии с...
Вопрос № 34107: Здравствуйте увважаемые эксперты. Уточняю свой вопрос № 34015 Проблема не в базе данных, а в том как создать массив форм чтобы пользователь мог редактировать одновременно несколько записей, каждую в своей форме. Заранее спасибо....
Вопрос № 34117: Здравствуйте! Как правильно сделать. Выбираем в ComboBox номер потока если выбрали строка 0, номер потока Text '1' запустили если выбрали строка 1, номер потока Text '2' запустили если выбрали строка 2, номер потока...

Вопрос № 34.044
как в программе сделать синтаксис проверки perl скриптов я делал через оле объект но вес учу с active perl 10 mb
Отправлен: 25.01.2006, 09:42
Вопрос задал: Ножкин Миха Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Ножкин Миха Викторович!
Тут я вижу 2 выхода:
Или писать анализатор Perl-кода самому (что маловероятно и не стоит думаю потраченных усилий), или воспользоваться исходными кодами Perl интерпретатора (но интерпретатор написан на языке Си++) или придется носить дистрибутив Perl (что вы и предпринимали).

Какой фактор для вас весомее - тот и выбирайте;)

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 12:04


Вопрос № 34.078
Добрый день. Подскажите, пожалуйста как из под Delphi сменить раскладку на клавиатуре например на укр.

Заранее благодарен.
Отправлен: 25.01.2006, 16:52
Вопрос задал: Алексеев Александр Владимирович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Алексеев Александр Владимирович!
Да только недавно был подобный вопрос:
http://rusfaq.ru?Step=info&Action=Question&ID=33625. "Код" Украины подскажу - 422.
---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 25.01.2006, 17:00
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо.

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Алексеев Александр Владимирович!

ActivateKeyboardLayout(HKL_NEXT, KLF_REORDER); Изменяет попорядку раскладку среди установленных в системе.

LoadKeyboardLayout(

LPCTSTR pwszKLID, // name of layout to load
UINT Flags // keyboard layout flags
);

Меняет раскладку на нужную, где pwszKLID - код раскладки (к примеру английская 0x0409).

Описание всех функций в MSDN;)

Успехов
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 22:32

Отвечает: Diman_A
Здравствуйте, Алексеев Александр Владимирович!
В примере раскладка меняется на русскую, но можно переделать на любой язык, который есть в системе (шестнадцатеричное имя украинского - 00000422)

Приложение:

Ответ отправил: Diman_A (статус: 4-ый класс)
Отправлен: 26.01.2006, 05:09
Оценка за ответ: 5
Комментарий оценки:
спасибо.


Вопрос № 34.088
Здравствуйте,пожалуйста научите меня пользоваться процедурами и функциями.Как их правильно описывать и вызывать ?
Отправлен: 25.01.2006, 19:06
Вопрос задал: Sassoft (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Sassoft!
Идешь в описание класса и там в нужной секции пишешь:
procedure (); , где
- имя процедуры
- передаваемые в процедуру параметры или ничего.
Пример:
procedure CalcNumber; -процедура без параметров
procedure CalcTwoNumbers(NumberOne: Integer; NumberTwo: Integer); - процедура с двумя параметрами.
Про виды параметров читай мануал по паскалю.
Функции описываются так:
function (): ; , где
и - как и выше, а
- возвращаемое значение.

Далее. Идешь в раздел implementation и пишешь тело функции, т.е. то, что она будет делать, если она не чистая виртуальная.
Например:
function MyClass.CalcTwoNumbers(NumberOne: Integer; NumberTwo: Integer);
begin
//тело функции
end;

Из этого генерится объектник и тд и тп.

Вызов такой. Если изнутри класса, то по имени функции, например
CalcTwoNumbers(2, 3);
Если где-то еще, то нужно указывать имя экземпляра класса (т.е. объект). Например, допустим, что myobj: TMyClass, где TMyClass - класс, в котором объявлена процедура, тогда вызов будет выглядеть так:
myobj.CalcTwoNumbers(2, 3);

Сфункциями тоже самое, но тут можно еще получить возвращаемое значение.

Удачи.

---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 25.01.2006, 19:37

Отвечает: Minor
Здравствуйте, Sassoft!
Это очень обширная тема, и рассказывать про нее можно много, поэтому лучше
посмотрите вот здесь: http://delphid.dax.ru/pascal/
а также для дальнейшего изучения Делфи можете почитать вот этот курс:
http://delphid.dax.ru/study/
и вообще это хороший сайт, и я надеюсь вы найдете там для себя много полезной инфрмаци....
Удачи Вам!
---------
Не руби сук, на котором сидишь! Вообще слезь с дерева, человек!
Ответ отправил: Minor (статус: 2-ой класс)
Отправлен: 25.01.2006, 19:49

Отвечает: REFERI
Здравствуйте, Sassoft!
Вам надо бы почитать какую-нибудь книжку или хотя бы статью...
"научите меня пользоваться процедурами и функциями" - этого в контексте ответа не расскажишь, да и не научишься этому за один присест...
Вот ссылка на учебник http://gorlovsky.narod.ru/down/Delphi_6.zip
Глава 8. ПРОЦЕДУРЫ И ФУНКЦИИ
Почитайте. Там все понятно описано.
Желаю побыстрее освоить материал!

---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 25.01.2006, 21:12

Отвечает: Меркулов Алексей
Здравствуйте, Sassoft! Укажите свой e-mail попрбую помочь с информацией.
Ответ отправил: Меркулов Алексей (статус: 4-ый класс)
Отправлен: 25.01.2006, 22:28

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Sassoft!

Прототип описания процедуры:
procedure имя_процедуры(список_параметров);
var
Секция_описания_локальных_переменных
begin
Тело_процедуры
end;

Пример процедуры:
procedure MyProcedure(a, b: Integer);
var
s: Integer;
begin
s := a + b;
...что_то_тут_делаем...
end;

Пример вызова процедуры:
...
MyProcedure(s, g);
...

============================

Прототип описания функции:
function имя_функции(список_параметров): тип_возвращаемого_значения;
var
Секция_описания_локальных_переменных
begin
...Тело_функции...
end;

Пример функции:
function MyFunction(a, b: Integer): Integer;
var
s: Integer;
begin
s := a + b;
...что_то_тут_делаем...
Result := s; {Возращаем результат путем присваивания его особой переменной Result}
end;

Пример вызова функции:
...
Rez := MyFunction(s, g); {Rez будет равен s}
...
Успехов!!!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 22:42


Вопрос № 34.103
Здравствуйте Уважаемые Эксперты! У меня така проблема, установил Delphi 2005 Architect, но по неизвестным мне причинам проекты C# Builder и Delphi Net не запускаются на выполнение, оно мне выдаёт "Unable to create process" (Не в состоянии создать процесс) запускаются только проекты Delphi Win32. Сразу скажу Visual J# .NET RP, NET Framework 1.1, Framework (SDK), XML Core Services установленны. Заранее спасибо.
Отправлен: 25.01.2006, 21:40
Вопрос задал: Шишкин М.А. (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Werewolf
Здравствуйте, Шишкин М.А.!
Попробуй включить службу терминалов в оснастке Сервисы.
Удачи.
Ответ отправил: Werewolf (статус: Студент)
Отправлен: 25.01.2006, 21:47

Отвечает: REFERI
Здравствуйте, Шишкин М.А.!
Нужно просто сохранить проект. Т.е. создали новый проект, сохранили, написали код и т.д., сохранили - теперь запускаем...
Не знаю зачем так сделали, но это меня приучило сразу сохранять проекты...
Хотя сомнительно это все...
---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 25.01.2006, 21:59

Отвечает: Меркулов Алексей
Здравствуйте, Шишкин М.А.! Возможно у вас не полный дистрибутив попробуйте воспользоваться другими дисками
Ответ отправил: Меркулов Алексей (статус: 4-ый класс)
Отправлен: 25.01.2006, 22:31

Отвечает: Сергей Т.
Здравствуйте, Шишкин М.А.!
Где-то слышал, что эти проблемы могут быть связаны с русским XP, я же эту проблему решил просто найдя нормальный дистрибутив программы.
Ответ отправил: Сергей Т. (статус: 2-ой класс)
Отправлен: 25.01.2006, 23:31


Вопрос № 34.107
Здравствуйте увважаемые эксперты. Уточняю свой вопрос № 34015
Проблема не в базе данных, а в том как создать массив форм чтобы
пользователь мог редактировать одновременно несколько записей, каждую в своей форме. Заранее спасибо.
Отправлен: 25.01.2006, 22:22
Вопрос задал: Меркулов Алексей (статус: 4-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Меркулов Алексей!

В правильной постановке вопроса содержится половина ответа.

То что ты хочешь называется ControlGrid (DBCtrlGrid)

Это сетка, в которой каждая запись показывается как панель, на которую можно сажать Edit, Memo,Image в произвольном порядке. Количество записей и их расположение выбираешь сам
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 25.01.2006, 22:44
Оценка за ответ: 5


Вопрос № 34.117
Здравствуйте!
Как правильно сделать.
Выбираем в ComboBox номер потока
если
выбрали строка 0, номер потока Text '1' запустили
если
выбрали строка 1, номер потока Text '2' запустили
если
выбрали строка 2, номер потока Text '3' запустили

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if
ComboBox1.Items.Strings [0];
then begin
co:= perebor.Create(true);
co.Resume;
co.Priority:= tpNormal;
end;
if
ComboBox1.Items.Strings [1];
then begin
coo:= pereborr.Create(true);
coo.Resume;
coo.Priority:= tpNormal;
end;
if
ComboBox1.Items.Strings [2];
then begin
coc:= pereb.Create(true);
coc.Resume;
coc.Priority:= tpNormal;
end;
end;
Отправлен: 25.01.2006, 23:58
Вопрос задал: Serhik_z (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Serhik_z!

Нужно учить матчасть!

Case ComboBox1.ItemIndex of
0 : Begin
co:= perebor.Create(true);
co.Resume;
co.Priority:= tpNormal;
end;
1 : Begin ... end;
2 : Begin ... end;
3 : Begin ... end;

end;
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 26.01.2006, 00:12

Отвечает: nimoid
Здравствуйте, Serhik_z!
Вот так:

case ComboBox1.ItemIndex of
0:
begin
co:= perebor.Create(true);
co.Resume;
co.Priority:= tpNormal;
end;
1:
begin
coo:= pereborr.Create(true);
coo.Resume;
coo.Priority:= tpNormal;
end;
2:
begin
coc:= pereb.Create(true);
coc.Resume;
coc.Priority:= tpNormal;
end;
end;

а вообще, у тебя 2 строчки повторяются, так что можно, даже нужно, делать так:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0: co:= perebor.Create(true);
1: coo:= pereborr.Create(true);
2: coc:= pereb.Create(true);
end;
co.Resume;
co.Priority:= tpNormal;
end.
---------
Пишем баги на любые патчи :-]
Ответ отправил: nimoid (статус: 7-ой класс)
Отправлен: 26.01.2006, 08:45

Отвечает: Ataman N. N.
Здравствуйте, Serhik_z!
Можете для потоков создать массив
ptc:array[0..2] of TThread;
При создании формы заполнить массив
ptc[0] := perebor;
ptc[1] := coo;
ptc[2] := coc;

А дальше так:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ptc[ComboBox1.ItemIndex].Create(true);
ptc[ComboBox1.ItemIndex].Resume;
ptc[ComboBox1.ItemIndex].Priority:= tpNormal;
end;
Ответ отправил: Ataman N. N. (статус: 5-ый класс)
Отправлен: 26.01.2006, 16:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное