Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.131.152.166] |
|
Страницы: (9) « Первая ... 4 5 [6] 7 8 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#76
,
|
|
|
Цитата Ozzя @ Виталий, компонент MiTeC System Information Component теперь по адресу http://www.mitec.cz/Downloads/MSIC.zip Тогда его вообще нужно убрать, потому что он тут без исходников, а в ДРКБ написано Source: Included. А ссылки в FAQ на коммерческие компоненты можно расценивать только как рекламу. |
Сообщ.
#77
,
|
|
|
Вот ещё дублирующиеся темы: "Как преобразовать указатель на метод в указатель на функцию?" и "Method pointers --> function pointers"
З.Ы. Я там подправил один из своих предыдущих постов - нашёл ещё одну дублирующуюся тему (по поводу приоритета приложения)... |
Сообщ.
#78
,
|
|
|
Предлогаю немного дополнить статью "Как показывать встроенный редактор ComboBox в ячейке StringGrid".
1. Дело в том, что в оригинальной статье при выделении какой-либо ячейки в StrinGrid-е, в ComboBox ничего не передается. Это немного не верный способ, т.к. сам ComboBox не переходит на позицию (ItemIndex) того текста который находится в StgingGrid-е, а встает в позицию ноль и если ничего не изменить в ComboBox, а просто выйти из ячейки, то значение в StringGrid-е изменится на значение текста присвоенному нулевой позиции (ItemIndex) ComboBox-а. С этим многие наверное сталкивались и исправить это довольно легко. Поэтому предлогаю просто внести в статью еще одну функцию, которая не просто передает значение из StringGrid-а в ComboBox, а ставит ComboBox в необходимю позицию. 2. Поработав с такими вставками я пришел к выводу, что "помещать выбранный элемент из ComboBox-а в Grid" стоит не в событии ComboBox1Change, а в событии ComboBox1CloseUp. Это более верно, т.к. Windows не будет путать где происходит прокрутка и где сейчас стоит фокус! 3. Есть еще одна проблема со вставками компонентов в StringGrid, который проявляется не на всех компьютерах. Если конкретно то это пропадание объетов вставки при пользовании скрула в StringGrid-е. Что бы не повторятся вот ссылка на вопрос --> Исчезает ComboBox из StringGrid-а . Видимо мало народу с ней сталкивалось. И все же проблему эту решить оказалось проще некуда... Оказывается, если прокрутить роликом над StringGrid-ом, то он принимает StayOnTop, а все компоненты, соответственно, оказываются под ним. Следовательно, надо сделать StringGrid-у SendToBack. Оригинальная статья: procedure TForm1.FormCreate(Sender: TObject); begin {Высоту у combobox не получится установить, поэтому мы будем} {подгонять размер у грида под размер combobox!} StringGrid1.DefaultRowHeight := ComboBox1.Height; {Скрываем combobox} ComboBox1.Visible := False; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin {Получаем выбранный элемент из ComboBox и помещаем его в грид} StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex]; ComboBox1.Visible := False; StringGrid1.SetFocus; end; procedure TForm1.ComboBox1Exit(Sender: TObject); begin {Получаем выбранный элемент из ComboBox и помещаем его в грид} StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex]; ComboBox1.Visible := False; StringGrid1.SetFocus; end; procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Integer; var CanSelect: Boolean); var R: TRect; begin if ((Col = 3) AND (Row <> 0)) then begin {Размер и расположение combobox подгоняем под ячейку} R := StringGrid1.CellRect(Col, Row); 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; Дополненая статья: procedure TForm1.FormCreate(Sender: TObject); begin {Высоту у combobox не получится установить, поэтому мы будем} {подгонять размер у грида под размер combobox!} StringGrid1.DefaultRowHeight := ComboBox1.Height; {Скрываем combobox} ComboBox1.Visible := False; end; procedure TForm1.ComboBox1CloseUp(Sender: TObject); begin {Получаем выбранный элемент из ComboBox и помещаем его в грид} StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex]; ComboBox1.Visible := False; StringGrid1.SetFocus; end; procedure TForm1.ComboBox1Exit(Sender: TObject); begin {Получаем выбранный элемент из ComboBox и помещаем его в грид} StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex]; ComboBox1.Visible := False; StringGrid1.SetFocus; end; procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Integer; var CanSelect: Boolean); var R: TRect; begin SGWriteRead.SendToBack; if ((Col = 3) AND (Row <> 0)) then begin {Размер и расположение combobox подгоняем под ячейку} R := StringGrid1.CellRect(Col, Row); 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; //Определяем индекс ComboBox1.ItemIndex := ComboBoxNumIndex(StringGrid1.Cells[3, ARow], ComboBox1.Items.Text); //Показываем СomboBox ComboBox1.Visible := True; ComboBox1.SetFocus; end; CanSelect := True; end; // Ставим ComboBox в позицию текста который отбражен в StringGrid-е Function ComboBoxNumIndex(TextGrid, TextCombo : String): Integer; var NumIndex: Integer; begin NumIndex := 0; while Pos(#13#10, TextCombo) <> 0 do begin if Copy(TextCombo, 0, Pos(#13#10, TextCombo)-1) = TextGrid then break else begin NumIndex := NumIndex + 1; TextCombo := Copy(TextCombo, Pos(#13#10, TextCombo)+2, Length(TextCombo)); end; end; ComboBoxNumIndex := NumIndex; end; |
Сообщ.
#79
,
|
|
|
хелп плиз, тока не бейте зонтиком я чиго-то ненашел аналогичных топов
у меня при открытии chm файла всплывает окно "Delphi Russian Knowledge Base from Vit" слева отображается содержание, а справа в окне "Действие отменено Internet Explorer не удается подключиться к запрошенной веб-странице. Возможно, страница временно недоступна." при попытке открыть любой из разделов: "Невозможно отобразить страницу Эта страница сейчас недоступна. Возможно, это вызвано техническими проблемами на веб-узле, или требуется изменение параметров обозревателя." никто не сталкивался с такой проблемой ? |
Сообщ.
#80
,
|
|
|
CiD, такое бывает, когда например в браузере (Internet Explorer) стоит кодировка OEM, например.
|
Сообщ.
#81
,
|
|
|
Посмотри здесь: Глюк с CHM
|
Сообщ.
#82
,
|
|
|
посмотрел, тока мне это не помогло:
переименовал файл в c:\folder\file.chm - ошибка та же при открытии "с помощью..." IE выдает сообщение "Открыть файл предупреждение безопасности. издатель неизвестен", на диалоге 2 кнопки открыть и отмена, нажимаю открыть - ошибка та же, по отмене соответственно отваливается, но если внизу снять галочку "всегда спрашивать при открытии файлов этого типа" и нажать открыть - все нормально открывается. ЗЫ если после переименовать файл - проблема возвращается. |
Сообщ.
#83
,
|
|
|
TRichEdit -> Установка каретки в RichEdit
--------------- Узнать положение курсора в RichEdit не составляет труда (richedit.getcaret). А вот как установить каретку в нужное место ?. [CODE=pas]Procedure setline(WhichEdit:TRichedit;Linepos,charpos:integer); Begin with WhichEdit do begin selstart:=perform(EM_LineIndex,Linenum,0)+charpos; perform(EM_ScrollCaret,0,0); end; end; Комментарии: Если Вам не нужно, чтобы происходил скроллинг к позиции каретки, то EM_ScrollCaret можно убрать. RichEdit должен иметь фокус, иначе em_ScrollCaret не сработает. --------------- У меня не работает (извените если не в тему, просто проблема может возникнуть не только у меня. Может ещё есть какие-либо условия? Если есть, то надо дополнить) Перевод курсора на определённую строку |
Сообщ.
#84
,
|
|
|
А не завести (или переименовать) ли тему в "Delphi Russian Knowledge Base BugTrack" ?
Или же просто уточнить в описании темы "BugTrack" |
Сообщ.
#85
,
|
|
|
Цитата Romtek @ А не завести (или переименовать) ли тему в "Delphi Russian Knowledge Base BugTrack" ? Или же просто уточнить в описании темы "BugTrack" Против, мне легче если всё будет в одном месте сконцентрировано |
Сообщ.
#86
,
|
|
|
Vit, как там по поводу новой версии? А то уже больше года - и ни одного обновления...
|
Сообщ.
#87
,
|
|
|
Народ, отсюда http://www.drkb.ru/ вобще хоть кто-то что-то может скачать?
Второй день пытаюсь и на все попытки закачки пишет Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 24 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php:24) in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 52 |
Сообщ.
#88
,
|
|
|
_Vetal_
http://www.delphist.com/drkb23.chm |
Сообщ.
#89
,
|
|
|
Не удается скачать drkb с его родного сайта.
Вылетает ошибка Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 24 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php:24) in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 52 |
Сообщ.
#90
,
|
|
|
aelita, читай предыдущие сообшения!!
|