|
|
Другие темы раздела | |
Delphi Включить VertScroolBar формы при bsNone Как включить VertScroolBar формы при bsNone? и можно ли вообще? https://www.cyberforum.ru/ delphi-beginners/ thread1474266.html |
Строковый тип данных - Составить программу, печатающую каждое слово предложение в обратном порядке Delphi Строковый тип данных - Составить программу, печатающую каждое слово предложение в обратном порядке. P.S. Распишите все пожалуйста:) |
Delphi Двухмерный массив - Найти сумму элементов, расположенных перед максимальными элементом таблицы Двухмерный массив - Найти сумму элементов, расположенных перед максимальными элементом таблицы, и заменить на это значение все нулевые элементы таблицы! P.S. Распишите все пожалуйста:) https://www.cyberforum.ru/ delphi-beginners/ thread1474246.html | Delphi Проверка подключения к интернету не работает Использую вот такую штуку: Try IdHTTP1.Get( 'http://yandex.ru' ); InetConnection := True; Except InetConnection := False; End; но всегда получается False, раньше работало нормально. https://www.cyberforum.ru/ delphi-beginners/ thread1474240.html |
Рассчитать стоимость услуг, исходя из стоимости одной минуты Delphi Доброго времени суток! Стояла довольно тривиальная задача рассчитать стоимость услуг исходя из стоимости одной минуты(из бд). При этом сутки разделены на три периода, стоимость в рамках каждого своя. Как высчитать сколько в каждом периоде было минут оказания услуг. Время начала и конца запоминается по нажатию кнопки. Заранее благодарен, всю голову сломал уже, аж самому стыдно.:sorry: |
Delphi Передача данных в определенный момент (квант) времени по таймеру Есть чат (UDP, TCP, Socket: т.е. фактически 3 штуки): надо передавать в определенный момент времени передавать от клиента серверу (или обратно, без разницы) определенный объем информации*. Знаю лишь только, что надо делать это в цикле. Ставить два таймера: в начале цикла и в конце (t1 и t2). Вопрос в том, как это осуществить можно? Хотелось бы увидеть небольшой пример. И второй вопрос:... https://www.cyberforum.ru/ delphi-beginners/ thread1474236.html |
Delphi Получить целочисленные значения из StringList-а
https://www.cyberforum.ru/ delphi-beginners/ thread1474195.html Есть процедура MyProcedure(1,3,5,7), 1,3,5,7 - значения, которые посылаются в процедуру для дальнейшей обработки:Integer. Я хочу брать из StringList значения по очереди и загонять их в MyProcedure(). Список в StringList (тип Str нужно переделать в Int): 2,4,0,5 3,4,0,5 ... и т.д. Как это сделать правильно? Спасибо! |
Delphi Можете написать алгоритм этого метода Это алгоритм умножения со старших разрядов. Очень нужно. Если кто может помогите пожалуйста. |
Delphi Работа с Edit1 Edit2 и CheckBox Всем доброго времени суток. Меня заинтересовал такой вопрос, как сохранить данные в файл из Edit1 и Edit2, если стоил галочка на CheckBox? И как сделать что бы в последующий запуск программы эти данные автоматически загружались в поля Edit1 и Edit2? https://www.cyberforum.ru/ delphi-beginners/ thread1474146.html |
Delphi ImageList с индексами не по порядку
https://www.cyberforum.ru/ delphi-beginners/ thread1474145.html Добрый день, есть необходимость добавлять в ImageList картинки с указанием индекса. То есть чтобы можно было подключить ImageList к toolbar например или popmenu у которых индекс мог бы быть равен не порядковому числу в ImageList. Добавлено через 1 минуту Суть вопроса, есть ли сторонний компонент ImageList в катором была бы такая возможность или кто нибуть побывал переписывать стандартный |
Delphi Расход бензина Средствами Delphi создать проект, содержащий форму для ввода данных о поездке: пункт назначения (Владимир, Иваново, Чкаловск) - при помощи списка, вид бензина - при помощи зависимых переключателей (Аи-95, Аи-92), расход бензина в литрах на 100 км - при помощи ползунка с шагом 5 литров Вычислить стоимость поездки и отобразить полученное значение в системном окне сообщений, учитывая, что... |
Delphi Динамическое добавление и удаление компонента OleContainer
https://www.cyberforum.ru/ delphi-beginners/ thread1474131.html Доброго времени суток. Вот код на создание компонента OleContainer в определенном количестве. У меня он работает так: после нажатия создается таблица 3х3 и заполняется документами, при повторном нажатии "таблица" обновляется, а хотелось чтобы контейнеры дальше создавались(по одному, или диалоговое окно и там пользователь сам выбирает нужное ему кол-во добавляемых документов) и производилось... |
0 / 0 / 0
Регистрация: 07.06.2015
Сообщений: 3
|
|
10.06.2015, 18:28 [ТС] | 0 |
Выделение мышью неполных рядов StringGrid на Delphi XE7 - Delphi - Ответ 774505910.06.2015, 18:28. Показов 1525. Ответов 4
Метки (Все метки)
Ответ
Да, спасибо, почти также сделал час назад. Сейчас попробуем из двух мыслей собрать одну.
Переменные я не объявлял в Private, но это и не суть пока. Вот только таблица у меня промаргивает не смотря на параметр DoubleBuffered := true, но это наверное из тормозов при выводе сообщений в Memo, но это еще не проверял. Укороченный вариант всего года, вынес только наработанное по данному вопросу. Это черновик, начало условного решения. Код
var PressMouse: Booleane; StartRows, StartCols: Integer; StopRows, StopCols: Integer; CurRows, CurCols: Integer; procedure TForm6.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if ((StartRows <> StopRows) or (StartCols <> StopCols)) then begin if searchCellSelect() = True then // Здесь begin Brush.Color := ColorBrushSelectCell; Format := DT_CENTER; end; end; end; procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var ACol, ARow: Integer; begin // StringGrid1.MouseToCell(X, Y, ACol, ARow); if (PressMouse = True) and ((CurRows <> ARow) or (CurCols <> ACol)) then begin Form1.LogExecute('Ряд: ' + IntToStr(ARow) + ', Столбец ' + IntToStr(ACol)); StartRows := CurRows; StartCols := CurCols; StopRows := ARow; StopCols := ACol; StringGrid1.Invalidate; end end; procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var ACol, ARow: Integer; begin Form1.StringGrid1.MouseToCell(X, Y, ACol, ARow); Form1.LogExecute('MouseDown: ' + IntToStr(ARow) + '.' + IntToStr(ACol)); PressMouse := True; CurRows := ARow; // Временное значение CurCols := ACol; // Временное значение end; procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var ACol, ARow: Integer; begin Form1.StringGrid1.MouseToCell(X, Y, ACol, ARow); Form1.LogExecute('MouseUp: ' + IntToStr(ARow) + '.' + IntToStr(ACol)); PressMouse := False; end; Добавлено через 1 час 54 минуты В StringGrid1MouseMove нельзя просто запускать инициализацию ячеек по условию Pressed, иначе будет затираться из памяти диапазон выделенных ячеек, которые можно использовать для копирования. Также будет слетать выделение при прокрутке, в принципе в своем коде я поставил защиту на Move над ячейкой. И вот эту строку Код
if (StartCol = -1) or (StartRow = -1) or (gdFixed in State) then Exit; Думаю дальше над непосредственным рисованием уже известных ячеек. Вариант больше или меньше пока не прокатывает. Вернуться к обсуждению: Выделение мышью неполных рядов StringGrid на Delphi XE7 Delphi
0
|
10.06.2015, 18:28 | |
Готовые ответы и решения:
4
Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid Delphi 7 SAPI ошибка в Delphi XE7 StringGrid Сортировка рядов Удаление рядов в StringGrid |
10.06.2015, 18:28 | |
10.06.2015, 18:28 | |
Помогаю со студенческими работами здесь
0
Убрать выделение мышью Выделение нескольких объектов мышью Выделение нескольких объектов мышью Выделение области канвы мышью |