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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 1075
от 25.02.2008, 22:35

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 123986: Здравствуйте уважаемые эксперты! У меня такая маленькая загагуленка с компонентом TEdit при вводе числа, к примеру, 1000000 автоматически должны проставляться пробелы 1 000 000, есть ли возможность обойтись без написания процедуры? Заранее спасибо!...
Вопрос № 124016: Здравствуйте уважаемые эксперты! У ментя такой вопрос: Как можно динамически создавать произвольный компонент...,например, в эдите пишу имя класса компонента - Tbutton и при нажатии на кнопку должен создаться соответствующий компонент. Я иска...
Вопрос № 124047: Здравствуйте! Помогите написать программу для следующего задания: Даны целые числа a1, a2,..., an, среди которых могут быть повторяющиеся. Составить новый массив из чисел, взятых по одному из каждой группы равных членов данной после...
Вопрос № 124087: Здравствуйте Уважаемые!Допутим есть заполненый ListBox.По клику кнопки должно в цикле проверяться некоторое условие в строках и если оно выполняется строка должна окраситься в нужный мне цвет.Как это примерно должно выглядеть в коде?...

Вопрос № 123.986
Здравствуйте уважаемые эксперты! У меня такая маленькая загагуленка с компонентом TEdit при вводе числа, к примеру, 1000000 автоматически должны проставляться пробелы 1 000 000, есть ли возможность обойтись без написания процедуры? Заранее спасибо!
Отправлен: 20.02.2008, 09:37
Вопрос задал: Rashit (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Rashit!
Можно, отчего же нельзя... :)
Только вместо компонента TEdit лучше будет использовать компонент TMaskEdit, у которого есть дополнительное поле EditMask, куда и вводится маска, по которой будут отображаться символы в этом компоненте.
Для примера, если у Вас максимальное число не будет превышать, допустим, 100 000 000, то в это поле нужно ввести "### ### ###".
Здесь символ "#" означает использование символов либо только цифры, либо знака (+-), а пробел так пробелом и будет. При этом в компоненте будет влазить только 9 цифр, по числу символов "#".
Посмотрите в хелпе для этого компонента, там еще есть много масок форматирования.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 20.02.2008, 09:55
Оценка за ответ: 5

Отвечает: Selya
Здравствуйте, Rashit!
Во-первых в TEdit можно вводить что угодно. Раз вы хотите вводить только цифры - используйте TMaskEdit. У него есто свойство EditMask, где вы настраиваете маску для ввода только чисел, там же можно настроить, чтобы число отображалось с "разделителями тысячей" (ThousandSeparator).
См. так же свойство EditText
Ответ отправил: Selya (статус: 8-ой класс)
Ответ отправлен: 20.02.2008, 11:33


Вопрос № 124.016
Здравствуйте уважаемые эксперты!
У ментя такой вопрос: Как можно динамически создавать произвольный компонент...,например, в эдите пишу имя класса компонента - Tbutton и при нажатии на кнопку должен создаться соответствующий компонент.
Я искал примеры, нашел....,но там требуется сначала зарегистрировать компонентый класс, вот так: RegisterClass, RegisterClasses, можно ли обойтись без этого или может во время создания приложения, в FormCreate зарегистрировать все компоненты установленные в Delphi, но тоже как :) ?

Мне это надо для того чтоб сделать программу для чтения dfm файлов, чтоб программа расставляла компоненты на форме...
Отправлен: 20.02.2008, 12:18
Вопрос задал: Дадаев Заур Мусаевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Drbear
Здравствуйте, Дадаев Заур Мусаевич!

А так пробовали:
http://delphiworld.narod.ru/base/dynamic_comps_creating.html ?
Ответ отправил: Drbear (статус: 7-ой класс)
Ответ отправлен: 20.02.2008, 12:40
Оценка за ответ: 5
Комментарий оценки:
Проблема не решилась вашим ответом, но зато вы дали интересную ссылку...узнал про SmallTalk , спасибо

Отвечает: Sosedov A.I.
Здравствуйте, Дадаев Заур Мусаевич!

Компонент - на то и компонент, что его нельзя создать без регистрации.
Ответ отправил: Sosedov A.I. (статус: 1-ый класс)
Ответ отправлен: 20.02.2008, 16:45
Оценка за ответ: 3
Комментарий оценки:
Я это знал...я спрашиваю как обойти это...оказывается есть пути, но все равно спасибо


Вопрос № 124.047
Здравствуйте!

Помогите написать программу для следующего задания:

Даны целые числа a1, a2,..., an, среди которых могут быть повторяющиеся. Составить новый массив из чисел, взятых по одному из каждой группы равных членов данной последовательности.

Заранее спосибо!
Отправлен: 20.02.2008, 15:59
Вопрос задал: Slim1210 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Boriss
Здравствуйте, Slim1210!
Посмотрите в приложении: это то, что нужно?

Приложение:

---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск Факультет Электронной Техники
WWW: Программирование на Паскале
----
Ответ отправлен: 21.02.2008, 14:51


Вопрос № 124.087
Здравствуйте Уважаемые!Допутим есть заполненый ListBox.По клику кнопки должно в цикле проверяться некоторое условие в строках и если оно выполняется строка должна окраситься в нужный мне цвет.Как это примерно должно выглядеть в коде?
Отправлен: 20.02.2008, 18:58
Вопрос задал: Зотов.Г.А (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Drbear
Здравствуйте, Зотов.Г.А!

Предлагаю такой вариант (в приложении). На форме ListBox и Button.
При нажатии на кнопку стиль ListBox изменяется на lbOwnerDrawFixed (иначе ListBox не окрасится). В событии OnDrawItem проверяется условие и окрашиваются строки ListBox. При повторном нажатии на кнопку стиль ListBox восстанавливается в стандартный (окраска строк исчезает).

Приложение:

Ответ отправил: Drbear (статус: 7-ой класс)
Ответ отправлен: 20.02.2008, 19:52
Оценка за ответ: 4

Отвечает: Selya
Здравствуйте, Зотов.Г.А!
Обрабатывайте событие OnDrawItem. Свойство Style при этом должно быть lbOwnerDrawFixed
См.прил.
В справке Delphi и в Demos'ах ещё есть примеры.

Приложение:

Ответ отправил: Selya (статус: 8-ой класс)
Ответ отправлен: 20.02.2008, 21:00
Оценка за ответ: 3
Комментарий оценки:
где я уже этот пример с чередованием цветов только не видел,ну хоть что-нибудь своё можно

Отвечает: Genia007
Здравствуйте, Зотов.Г.А!
Предлагаю проверенный код работает без проблем.

procedure TForm2.FormCreate(Sender: TObject);
begin
ListBox1.Style := lbOwnerDrawFixed;
end;

procedure TForm2.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Control as TListbox do
begin
If Listbox1.Items.Strings[Index] = '55555' then {Проверка нужного условия}
begin
Canvas.Brush.Color := clred; {Задаём нужный цвет строки}
Canvas.Brush.Style := bsSolid;
end;
Rect.Right := Control.ClientWidth;
with Control as TListbox do
begin
Canvas.FillRect(Rect);
Canvas.Brush.Style :=bsClear;
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top, Items[Index]);
end;
end;
end;
Ответ отправил: Genia007 (статус: 6-ой класс)
Ответ отправлен: 22.02.2008, 19:24
Оценка за ответ: 3
Комментарий оценки:
я там вообще-то просил по клику кнопки простое условие выполнить, а вы мне опять про обработку ListBox1DrawItem


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное