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

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


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

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

Выпуск № 424
от 26.03.2006, 00:05

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


Вопрос № 37969: Прет... Помогите отладить кусочек программы... Я пишу тест и мне надо чтобы задания брались из файла...вобщем файл открывал как TextFile (незнаю насколько это была хорошая идея). Вобщем мне надо вырывать случайным образом куски файла длин...
Вопрос № 37973: Здравствуйте ! Подскажите, пожалуйста, как в PageControl у заголовков страниц менять цвет шрифта ? Мне нужно, чтобы у активной страницы цвет заголовка был "КРАСНЫЙ", а у не активных "СЕРЫЙ". Большое спасибо за ответ, Г...
Вопрос № 38012: Здрасте всем! Только начинаю программировать на делфи. Как запустить avi или gif по экрану (тоесть анимашку нужно перемещать по определенным координатам)...
Вопрос № 38026: Здравствуйте,ув. Эксперты! Я вот скачал Boland Developer Studio 2006 Architect - и обнаружил что он ужасно похож на Viual С++ 2005. Вопрос: кто у кого копирует: Microsoft у Borland'a или наоборот?...
Вопрос № 38032: Здравствуйте эксперты ! У меня такой вопрос кто работал или работает на Delphi 9 тот уже заметил кое какие изменения ! Вот вопрос : В delphi 9 неработает модуль : TRegistry Чем его заменили ??? Очень нужен ответ ! Зарание спа...
Вопрос № 38052: Привет... Подмогните мужики.... Как корректно закрыть модальную форму???? То есть я из главной формы вызвал модальную...сделал свое дело и мне надо ее закрыть...fmModalForm.Close не помогает, прога вылетает с ошибкой!!! да и просто когда ...

Вопрос № 37.969
Прет...
Помогите отладить кусочек программы...
Я пишу тест и мне надо чтобы задания брались из файла...вобщем файл открывал как TextFile (незнаю насколько это была хорошая идея).
Вобщем мне надо вырывать случайным образом куски файла длиной в 4 строки. Я использовал идею что каждому куску вроду можно присвоить номер в массиве a и потом если a[m]=1 значит мы кусок уже брали....
и надо сгенерировать другой...но дело в том что программа виснет на 4 элементе...хотя нет уже помойму на 2 :(
Понимаю что алгоритм не эффективный...ну в голову ничего не пришло... может поделитесь соображениями как сделать это по другому...

Приложение:

Отправлен: 20.03.2006, 05:13
Вопрос задал: Denton (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Cheater76
Здравствуйте, Denton!
while p < m*4 do begin
Readln(f);
inc(p);!!!
end;
И вообщето лучше пользоваться базами даных,
Проще и нагляднее.

Ответ отправил: Cheater76 (статус: 3-ий класс)
Ответ отправлен: 20.03.2006, 10:44


Вопрос № 37.973
Здравствуйте !
Подскажите, пожалуйста, как в PageControl у заголовков страниц менять цвет шрифта ?
Мне нужно, чтобы у активной страницы цвет заголовка был "КРАСНЫЙ", а у не активных "СЕРЫЙ".
Большое спасибо за ответ, Геннадий.
Отправлен: 20.03.2006, 08:03
Вопрос задал: Geb2003 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Cheater76
Здравствуйте, Geb2003!
Придется воспользоваться
onDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);

Не забудь PageControl1.OwnerDraw := True !!!

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
AText: string;
APoint: TPoint;
begin
with (Control as TPageControl).Canvas do begin
if TabIndex = (Control as TPageControl).TabIndex then Font.Color:=clRed
else Font.Color:=clGray;
AText := TPageControl(Control).Pages[TabIndex].Caption;
with Control.Canvas do begin
APoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;
APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;
TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);
end;
end;
end;

Ответ отправил: Cheater76 (статус: 3-ий класс)
Ответ отправлен: 20.03.2006, 12:58
Оценка за ответ: 5


Вопрос № 38.012
Здрасте всем!
Только начинаю программировать на делфи. Как запустить avi или gif по экрану (тоесть анимашку нужно перемещать по определенным координатам)
Отправлен: 20.03.2006, 14:25
Вопрос задал: Huck (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

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

Для прорисовки gif-файлов вам следует использовать компонент TImage с вкладки Additional.

Шаги исполнения:
1. Киньте на форму компонент TImage
2. Загрузите в него изображение через свойство Image1.Picture.


Для прорисовки avi-ролика вам потребуется 2 компонента: TMediaPlayer с вкладки System (он обеспечит само проигрывание ролика) и TPanel с вкладки Standart (он будет выступать в качестве "дисплея", где будет отображаться сам ролик).
Шаги исполнения:
1. Киньте на форму компоненты TMediaPlayer и TPanel
2. Установите свойство MediaPlayer1.Display равным Panel1 (тем самым мы свяжем проигрыватель и дисплей).
3. Загрузите в него клип через свойство MediaPlayer1.FileName.


Перемещение как картинки, так и клипа можно осуществить, изменяя свойства:
Panel1.Left, Image1.Left - перемещение клипа/картинки по горизонтали относительно формы Form1;
Panel1.Top, Image1.Top - перемещение клипа/картинки по вертикали относительно формы Form1.

Успехов!
Ответ отправил: Лучников Ю.В. (статус: Практикант)
Ответ отправлен: 20.03.2006, 21:15


Вопрос № 38.026
Здравствуйте,ув. Эксперты!
Я вот скачал Boland Developer Studio 2006 Architect - и обнаружил что он ужасно похож на Viual С++ 2005.
Вопрос: кто у кого копирует: Microsoft у Borland'a или наоборот?
Отправлен: 20.03.2006, 18:34
Вопрос задал: Vol_de_mort (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ujin Antikvar
Здравствуйте, Vol_de_mort!

Ну вообще-то никто ни у кого ни чего не копирует.

Просто они пытаются сделать их интерфейсы похожими т.к. и та и другая среда работают c Framework.NET. Это делается для удобства единственное это различные языки программирования которые используются в данных студиях программирования. Надеюсь я вам разъяснил.

P.S. Это мое мнение и вы можете с ним соглашаться или нет.

Удачи!!!
---------
"Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 6-ой класс)
Ответ отправлен: 20.03.2006, 19:01
Оценка за ответ: 5

Отвечает: Bochvarov NikB
Здравствуйте, Vol_de_mort!
А тьи видел Делфи 1,2,3,4,5,6,7 (с 1993-его года)?
Еще: руководител проекта Делфи-Нет перешел работать в М$
Ответ отправил: Bochvarov NikB (статус: 6-ой класс)
Ответ отправлен: 20.03.2006, 19:08

Отвечает: Timoshin A.B.
Здравствуйте, Vol_de_mort!
Учитывая что Borland, часто работает на продуктах Microsoft видимо он и копирует.
Ответ отправил: Timoshin A.B. (статус: 6-ой класс)
Ответ отправлен: 20.03.2006, 20:36

Отвечает: Denisss

Здравствуйте, Vol_de_mort!

Сидел когда-то на Delphi 5, потом перешел на 6, теперь сижу на 7. Когда ставил себе M$ Visual C++ 6, то ничего общего с Delphi я обнаружить не мог...
Нынче поставил себе M$ VC++ 2005 Express... явно они многое из Delphi взяли. Но также я уверен, что и Borland тоже не сидели просто так, и тоже какие-нибудь идеи подхватили у конкурентов (хотя уже, после их заявления сложно называть их конкурентоспособными).

А вообще, кому какая разница кто у кого чего там взял?! Неужели от этого программы на Delphi или на C++ станут хуже?

Удачи!
Ответ отправил: Denisss (статус: Специалист)
Ответ отправлен: 20.03.2006, 20:52
Оценка за ответ: 4
Комментарий оценки:
Delphi 7 действительно сильно отличается от VC++2005 ,
но Delphi 2006 (тот что в Borland Developer Studio 2006) очень похож
на VC++ 2005 EE


Вопрос № 38.032
Здравствуйте эксперты !
У меня такой вопрос кто работал или работает на Delphi 9
тот уже заметил кое какие изменения !
Вот вопрос : В delphi 9 неработает модуль : TRegistry
Чем его заменили ???
Очень нужен ответ !
Зарание спасибо !
Отправлен: 20.03.2006, 19:10
Вопрос задал: Tamashev Denis M (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Jadd
Здравствуйте, Tamashev Denis M!
я не работаю в дельфи 9, но могу дать совет заменить класс функциями WinAPI. Там нет ничего сложного.

Успехов.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Ответ отправлен: 20.03.2006, 19:14
Оценка за ответ: 4
Комментарий оценки:
Поскольку я недавно изучаю Delphi
Я с winAPI ешё неосвоился !
Но всё равно спасибо !

Отвечает: Злоумышленник
Здравствуйте, Tamashev Denis M!
Когда я работал в D9, модуль Registry прекрасно работал. Заметь, ты написал TRegistry. Переходи на D7 -> D9 глюченная. Или поставь обновления...
Ответ отправил: Злоумышленник (статус: 4-ый класс)
Ответ отправлен: 20.03.2006, 21:28
Оценка за ответ: 4
Комментарий оценки:
немогу перейти мне нужна и NET платформа !
Да и с обновлениями проблеммы !
У меня модем !
Да и где их взять ?


Отвечает: Diman_A
Здравствуйте, Tamashev Denis M!
Буква T ставится перед именами объектов, таких, как Tobject, Tform и так далее, а модули пишутся как надо. Напиши в секции uses модуль registry и все пойдет. Если у тебе по каким-либо причинам его не оказалось - то пиши, dcu весит всего 30 кб, вышлю мылом.
Ответ отправил: Diman_A (статус: 8-ой класс)
Ответ отправлен: 21.03.2006, 10:57
Оценка за ответ: 4
Комментарий оценки:
Да я понял что надо занести в uses registry
А вот дальше я тя непонял !!!
Но вот моё мыло Zako3@mail.ru


Вопрос № 38.052
Привет...
Подмогните мужики....
Как корректно закрыть модальную форму????
То есть я из главной формы вызвал модальную...сделал свое дело и мне надо ее закрыть...fmModalForm.Close не помогает, прога вылетает с ошибкой!!! да и просто когда на крестик закрываешь модальную форму опять же вылетает с ошибкой...думал шо баг в коде...но потом открыл эту же форму просто как fmModalForm.Show; и все работает нармальна...закрыватся без ошибок...как быть???
Отправлен: 20.03.2006, 22:54
Вопрос задал: Denton (статус: Посетитель)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Tamashev Denis M
Здравствуйте, Denton!
Вы знаете номер формы тоесть допустим project6 ->будет ваша форма !
Тогда пишите вот так fmModalForm6.Close
Или посторайтесь её закрыть как и обычную тогда пишем Form6.Close;
Я не горантирую что получица но всёже попробуйте !
Может Delphi просто непонимает какую именно форму вы пытаетесь закрыть !
Может у вас их 7-12 и т.д !
Удачи !!!
Ответ отправил: Tamashev Denis M (статус: 1-ый класс)
Ответ отправлен: 20.03.2006, 23:08

Отвечает: Cheater76
Здравствуйте, Denton!
А скока времени программируешь в Дельфи? Может стоит книжку почитать?
Пожайлуста напиши "вызов модальной формы" хочется посмотреть на этот шедевр.
Ответ отправил: Cheater76 (статус: 3-ий класс)
Ответ отправлен: 20.03.2006, 23:14

Отвечает: Timoshin A.B.
Здравствуйте, Denton!
У тебя случайно не MDI приложение - оно не позволяет использовать ModalForm.
Ответ отправил: Timoshin A.B. (статус: 6-ой класс)
Ответ отправлен: 20.03.2006, 23:31

Отвечает: Leshiy2006
Здравствуйте, Denton!
Поясните пожалйуста - какую именно ошибку выдает прога, и как именно вызвается модальная форма, в приложении маленький пример, может будет полезен
Удачи!

Приложение:

Ответ отправил: Leshiy2006 (статус: 5-ый класс)
Ответ отправлен: 20.03.2006, 23:53

Отвечает: Zubex
Здравствуйте, Denton!
Вы не написали какая ошибка у вас...
Для того, чтобы правильно закрыть модальную форму надобно ModalResult присвоить значение отличное от mrNone, например :

procedure TfmModalForm.Button1Click(Sender: TObject);
begin
ModalResult:=mrOk;
end;
---------
Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 6-ой класс)
Ответ отправлен: 21.03.2006, 09:33

Отвечает: sir henry
Здравствуйте, Denton!
1. Нужно в обязательном порядке смотреть код, иначе ничего не понятно.
Модальная форма запускается с помощью:
FormModal.ShowModal;
Если Вы ее закрываете с помощью:
FormModal.Close;
То в поле ModalResult формы всегда будет значение mrCancel.
Обычно для закрытия используется:
FormModal.Hide;
Тогда в ModalResult Вы можете помещать свой результат.
Но это все теория. У меня форма закрывается без каких-либо ошибок. Однако чтобы понять Вашу ошибку, нужно видеть код.
2. Скажите, а почему Вы так твердо уверены, что эксперты могут читать Ваши мысли или виртуально наблюдать за Вашим компьютером? Ведь Вы даже не потрудились текст ошибки написать.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 21.03.2006, 12:45


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

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

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

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

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


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


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

В избранное