Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по компонентам для Delphi, C++ Builder

Автор: greenpc
Дата сообщения: 21.02.2006 08:10
Kmich
как сказал SERGE_BLIZNUK
используй TurboPower LockBox - простая компонента
а насчет FTP Клиента - я задавал этот вопрос в этом топике пару страниц назад.
сделал через Wininet.
Автор: SERGE_BLIZNUK
Дата сообщения: 21.02.2006 11:07
Господа, прямо не знаю, здесь уместнее вопрос задать или искать/создавать ветку обсуждения?...

вопрос в следующем: есть Дельфи 5, пользуюсь GExperts 1.22 for Delphi 5
есть ли в них или в других Expertax возможность выделять VCL компоненты на форме по заданному имени?
научите меня, плиз.
Автор: EZH
Дата сообщения: 21.02.2006 11:23
SERGE_BLIZNUK
Что значит выделять? Передавать им фокус? Метод у наследников TWinControl - SetFocus().
А сам компонент искать по имени через перебор Controls[i].Name у родителя, кому принадлежат компоненты.
Автор: diser
Дата сообщения: 21.02.2006 13:39
вопрос такой: можно ли в каком-нибудь паскалевском или каком-либо другом скриптере (типа тех, что от TMS) работать с объектами программы. Например, в программе создается массив, можно ли до него добраться из скрипта ?
Автор: SERGE_BLIZNUK
Дата сообщения: 21.02.2006 15:14
EZH

Цитата:
Что значит выделять? Передавать им фокус

Да, в DesignTime...
Т.е. хочу пункт меню - выделить компоненты - указываешь имя - они выделяются...
в программе (читай - runtime) мне это не нужно!!!
что, наверное, непонятно объясняю... ;-(( Ну вот в Object Inspector можно выбрать компонент по имени - но имя надо набирать ручками. Кроме того, можно выбрать там только один компонент... Вот что-то аналогичное - но чтобы с формочкой ввода имён компонентов... а самому эксперт написать слабо... никто, кстати, заготовочкой простенькой не поделится?? ;-))
Автор: SergeBS
Дата сообщения: 21.02.2006 16:36
SERGE_BLIZNUK
Почему ручками - можно из списка выбрать
Автор: xokc
Дата сообщения: 21.02.2006 17:12
SERGE_BLIZNUK
в GExperts такого точно нет. И в Castalia тоже. И в других мне известных. Видимо никому, кроме тебя, это не нужно.
Автор: RUNaum
Дата сообщения: 21.02.2006 17:56
что можете посоветовать из компонентов реализующих работу с IRC-протоколом? Delphi7.
Indy уж больно, зараза, глючный. Vortex не доделанный.

а реализовать работу с IRC надо быстро и не напрягая моск, ибо не основная работа.
Автор: QuickeneR
Дата сообщения: 21.02.2006 18:05
Посоветуйте плиз самый простой грид, в котором можно задавать свой редактор для ячеек (inplace editor). Требования - чтобы тянул за собой как можно меньше всякого мусора, в идеале - просто методика, как обойтись борландовским TStringGrid.
Автор: boddy2
Дата сообщения: 21.02.2006 18:21
А почему прямо не воткнуть?

Цитата:

Как показывать нестандартный встроенный редактор (inplace editor) в ячейке stringgrid (например combobox).
См. пример


procedure TForm1.FormCreate(Sender: TObject);
begin
{Высоту combobox'а не изменишь, так что вместо combobox'а
будем изменять высоту строки grid'а !}
StringGrid1.DefaultRowHeight := ComboBox1.Height;
{Спрятать combobox}
ComboBox1.Visible := False;
ComboBox1.Items.Add('Delphi Kingdom');
ComboBox1.Items.Add('Королевство Дельфи');
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
{Перебросим выбранное в значение из ComboBox в grid}
StringGrid1.Cells[StringGrid1.Col,
StringGrid1.Row] :=ComboBox1.Items[ComboBox1.ItemIndex];
ComboBox1.Visible := False;
StringGrid1.SetFocus;
end;

procedure TForm1.ComboBox1Exit(Sender: TObject);
begin
{Перебросим выбранное в значение из ComboBox в grid}
StringGrid1.Cells[StringGrid1.Col,
StringGrid1.Row] :=ComboBox1.Items[ComboBox1.ItemIndex];
ComboBox1.Visible := False;
StringGrid1.SetFocus;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
R: TRect;
begin
if ((ACol = 3) AND (ARow <> 0)) then
begin
{Ширина и положение ComboBox должно соответствовать
ячейке StringGrid}
R := StringGrid1.CellRect(ACol, ARow);
R.Left := R.Left + StringGrid1.Left;
R.Right := R.Right + StringGrid1.Left;
R.Top := R.Top + StringGrid1.Top;
R.Bottom := R.Bottom + StringGrid1.Top;
ComboBox1.Left := R.Left + 1;
ComboBox1.Top := R.Top + 1;
ComboBox1.Width := (R.Right + 1) - R.Left;
ComboBox1.Height := (R.Bottom + 1) - R.Top;
{Покажем combobox}
ComboBox1.Visible := True;
ComboBox1.SetFocus;
end;
CanSelect := True;
end;


Автор: QuickeneR
Дата сообщения: 21.02.2006 18:38
boddy2
Спасибо, попробую. Радует, что народ уже пытался такое сделать. Если получится достаточно красиво (обработка сгруппирована в одном месте) и надежно (правильная реакция на события), так и сделаю.
Автор: enola
Дата сообщения: 22.02.2006 06:46
сорри за оффтоп
тест: проверка количества постов
Автор: Hmmmm
Дата сообщения: 22.02.2006 08:43
Привет программерам!

Нужно в стандартном DBGrid в поле Boolean выводить чеквох, возможно ли?

Спасибо.
Автор: gpi
Дата сообщения: 22.02.2006 09:21
Hmmmm
Статья из Delphi World:

Цитата:
procedure DrawGridCheckBox(Canvas: TCanvas; Rect: TRect; Checked: boolean);
var
DrawFlags: Integer;
begin
Canvas.TextRect(Rect, Rect.Left + 1, Rect.Top + 1, ' ');
DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONPUSH or DFCS_ADJUSTRECT);
DrawFlags := DFCS_BUTTONCHECK or DFCS_ADJUSTRECT;// DFCS_BUTTONCHECK
if Checked then
DrawFlags := DrawFlags or DFCS_CHECKED;
DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DrawFlags);
end;

На событие OnDrawColumnCell повесьте вызов процедуры DrawGridCheckBox():

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.FieldName = 'WEIGHT' then // Модифицируйте под себя
if Column.Field.AsInteger > 10 then // Модифицируйте под себя
DrawGridCheckBox(DBGrid1.Canvas, Rect, true)
else
DrawGridCheckBox(DBGrid1.Canvas, Rect, false)
end;

Кроме этого, для скрытия текста в ячейках с CheckBox-ом от отображения значения при вводе с клавиатуры определите реакцию на событие OnColumnEnter:

procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
with TDBGrid(Sender) do
if SelectedField.FieldName = 'Weight' then // Модифицируйте под себя
Options := Options - [dgEditing]
else
Options := Options + [dgEditing]
end;
Автор: Hmmmm
Дата сообщения: 22.02.2006 10:13
gpi

Спасибо, работает нормально, но.. а какже мне теперь редактировать.

PS: А.. разобрался, спасибо.
Автор: gpi
Дата сообщения: 22.02.2006 10:28
Hmmmm
Можно попробовать обрабатывать DBGrid1CellClick, анализируя Column.
Вот только не знаю, насколько быстро будет выполняться Repaint или Refresh после изменений в поле
Автор: sea78
Дата сообщения: 26.02.2006 02:20
В свое время пользовался RxLib ... удобная вещь, сейчас вот не нашел нормальной сборки под BDS 2006 .Net хотел поинтересоваться а есть ли какая нить ему замена (бесплатная естественно).
Автор: alexsob
Дата сообщения: 26.02.2006 06:45
Hmmmm
А чем плох EhLib - старый-добрый-бесплатный 3.6? Много за собой не тянет, есть CheckBox и вообще много такого, что в это почти стандарт DBGrid (как в свое время был RxLib).
Конечно, функционал у Developer Express будет поболее, но 95% потребностей EhLib покрывает, как девицы не тормизит и вообще, как сейчас говорит молодежь, полный "Рулез".
Автор: Varenik
Дата сообщения: 26.02.2006 07:12
sea78
Проект RxLib продолжает проект JEDI
Автор: enola
Дата сообщения: 26.02.2006 07:49
Добрый день!
Народ помогите освоить компонент dxDBTreeView, никогда раньше не строил деревьев. Маленький примерчик был бы кстати.
Автор: sea78
Дата сообщения: 26.02.2006 10:31
Varenik
спасибо
Автор: Figaro2000
Дата сообщения: 26.02.2006 12:58

Цитата:
enola

Примеры и в дистрибутиве идут хорошие. А начинать надо со структуры БД или запроса -
таблица или запрос с полями ID, ParentID, Name ... то есть идентификатор записи, ее родителя и строка, которая будет отображена в дереве
Автор: enola
Дата сообщения: 26.02.2006 14:28
Figaro2000

понятно, что с запроса, все есть и таблица и БД и запрос.
разобрался уже с DBTree, спасибо.

можно еще вопросики:
1. чем отличаются dxDBTreeView и cxDBTreeList?
2. какой DBGrid использовать посоветуете?
3. примеры вот что-то я не нашел, где они могуть быть?
Автор: vshersh
Дата сообщения: 26.02.2006 20:24
enola

Цитата:
dxDBTreeView и cxDBTreeList

Если не ошибаюсь, то разные категории библиотек - пару страниц назад обсуждалось чем отличаются cx и dx категори компонентов.

Цитата:
какой DBGrid использовать посоветуете?

Конечно же cxGrid ! Еще очень неплохой EhLib.

Цитата:
примеры вот что-то я не нашел, где они могуть быть?

Примеры для DevExpress, как правило находятся в папке Demos внутри папки, куда были инсталлированы сорцы.
Автор: Leo3000
Дата сообщения: 26.02.2006 23:05
Кто нибудь знает где хапнуть ACE Reporter 1.7?
Автор: enola
Дата сообщения: 27.02.2006 06:08
vshersh
про то что разные версии это я читал.
теперь понятно почему я примеров не нашел, у меня просто нет этой папки Demos. А где-нибудь отдельно можно эти примерчики получить? Они на pascal или на Си?
спасибо.
Автор: AnGo
Дата сообщения: 27.02.2006 07:50
Тем кто использует Берговские гриды.
У них можно сделать многострочный заголовок для столбцов?
Автор: RUNaum
Дата сообщения: 27.02.2006 09:45
Господа, посоветуйте что-нить простенькое для поворота PNG-изображения. Может у кого есть наработки, может кто решал подобную проблему? надо максимально без наворотов (только не ImagEn =), лучше если будет freeware на базе того же PngImage.pas с sourceforge). Может даже не компонент, а просто посоветуете как это сделать?

з.ы. прозрачность имеет место, конечно же.


Цитата:
Тем кто использует Берговские гриды.
У них можно сделать многострочный заголовок для столбцов?


я такого у них не нашел =( по крайней мере у NextGrid'а точно.
Автор: AnGo
Дата сообщения: 27.02.2006 10:59
RUNaum

Цитата:
я такого у них не нашел =( по крайней мере у NextGrid'а точно.

Я тоже, поэтому и спрашиваю, может быть есть какой способ сделать это.
Вставить имидж с нужными словами - не предлагать!
Автор: gpi
Дата сообщения: 27.02.2006 11:27
Leo3000

Цитата:
Кто нибудь знает где хапнуть ACE Reporter 1.7?

Найди где-нибудь ACE Reporter выше 1.20 и скачай обновление отсюда http://www.sct-associates.com/download.html
А вообще с такими вопросами сюда http://forum.ru-board.com/topic.cgi?forum=35&topic=29558#1

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Что такое Объектно Ориентное Программирование ?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.