-
MY PROJECTS
-
Recent Posts
- Reading.CleanArchitecture.Thoughts
- Algo.Java.PascalTriangle.ExampleOfDynamicProgramming
- Algo.Java.Find2Mins.InO(n)
- Algo.Java.RecursiveSlidingWindow
- Java.Algo.SlidingWindow
- Algo.Java.SlidingWindow.DoublingArrayForCircle
- Algo.Java.BinarySearch.For.Peaks
- Algo.Java.BinarySearch.Tip
- Algo.Java.BitManipulation.AnotherExample
- Algo.Java.SetBitMask
- Algo.Java.DFS.In.Matrix.AnotherExample2
- Algo.Java.DFS.In.Matrix.Another.Example
- Algo.Java.DFS.In.Matrix
- Algo.Java.BFS.In.Matrix
- Java.Algo.Kadane.MaxSumOfSubArray
- Algo.Java.GetBitFromInteger
- Algo.Java.BinarySearch.BrilliantProblem
- Algo.Java.StringTips
- Algo.Java.LoopSpeed
- Algo.Java.Arrays.AnotherExampleOfFrequencyApproach
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений
Category Archives: TRichView
Delphi. TRichView. Замена текста на текст и контрола на текст
Понадобилось, было не очевидно, решил записать Способ №1 – на примере замены текста на таг итема (взято отсюда)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
procedure TTestReportConstructor.ReplaceItemToTag(RVData: TCustomRVData; const OldText, NewText: String); var i,r,c: Integer; table: TRVTableItemInfo; s:string; //TRVRawByteString; begin for i := 0 to RVData.Items.Count-1 do if RVData.GetItemStyle(i)>=0 then begin // this is a text item s := RVData.GetItemText(i); //RVData.Items[i]; // call your function for replacing OldText with NewText in s here if s=OldText then s:=NewText; RVData.SetItemText(i,s); //RVData.Items[i] := s; end else if RVData.GetItemStyle(i)=rvsTable then begin table := TRVTableItemInfo(RVData.GetItem(i)); for r := 0 to table.Rows.Count-1 do for c := 0 to table.Rows[r].Count-1 do if table.Cells[r,c]<>nil then ReplaceItemToTag(table.Cells[r,c].GetRVData, OldText, NewText); table.Changed; end; end; |
Применение, пусть текст задан так [R]Что-то[/R], а в этом итеме “Какой-то таг”, тогда пройтись по всем итемам и заменить текст на … Continue reading
Delphi. TRichView. Как добавить изображение и сохранить его в базе в нормальном HTML формате?
В прошлом посте мы сохраняли в базу контент в HTML формате, но проблема была в том, что программа c TRichView копировала изображение в некую директорию и прописывала пути относительно неё. Оно и записывалось и читалось корректно, но в пределах одного … Continue reading
Delphi. TRichView. Как добавить изображение и сохранить его в базе ?
Разрабатываю небольшой компонент – текстовый редактор DBTextEditor, для своей программы . В базе данные будут храниться в HTML формате в обычном текстовом поле. У меня MySQL, я использую TEXT поле. Изображения будут храниться рядом с EXE – в отдельной папке … Continue reading
Delphi. TRichView. Как вставить картинку и программно изменить её размеры в документе?
На примере SrichViewEdit (ScaleRichViewEdit)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
uses ... RVGrHandler ... ... gr:=TGraphic.Create; gr := RVGraphicHandler.LoadFromFile(fMediaLoader_Inherited.LastUploaded.FilePath); ... SRichViewEdit1.ConvertToPixels;// Измерять будем в пикселях with SRichViewEdit1.ActiveEditor do begin BeginUpdate; TopLevelEditor.BeginUndoGroup(rvutInsert); TopLevelEditor.SetUndoGroupMode(True); if InsertPicture('', gr, rvvaBaseline) then begin SetCurrentItemExtraIntProperty(rvepImageWidth, 200, True); SetCurrentItemExtraIntProperty(rvepImageHeight, 300, True); end; TopLevelEditor.SetUndoGroupMode(False); EndUpdate; end; ... |
Delphi.TRichView. Как сохранить контрол в поток данных и прочитать его оттуда?
Рассмотрим на примере TWindowsMediaPlayer. Тут всё достаточно просто. Сохранять будем в поток, в дальнейшем этот поток можно передать в Blobstream и далее в базу, Для корректного чтения из потока нужно выполнить процедуру RegisterClass, чтобы TRichView понимал что это такое. В … Continue reading
Delphi.TrichView. Вставка HTML текста и отображение его в браузере
Мне нужно научиться вставлять HTML текст в TRichViewEdit, так чтобы потом он корректно отображался в браузере. Подробную инструкцию о том как этого добиться, я увидел здесь. В сущности, нужно следующее
Delphi.TRichView. Работа с анимированными Gif изображениями
С “полпинка” не завелось, пришлось лезть в документацию TRichView. Если воспользоваться TRichViewActions по добавлению картинок, то gif формат там присутствует, но если загрузить анимированное gif изображение, то оно не движется. Мне пришлось решать 2 задачи
Delphi.TRichView. Таблицы. Работа с колонками и рядами
Работу с колонками и рядами я “запрятал” в контекстное меню следующим образом… При выделении таблицы или её части и нажатии на правую клавишу мыши выпадает вот такое меню, позволяющее работать с колонками и рядами таблицы.
Delphi. TRichView. TRichViewActions. Добавление таблицы. Изменение её свойств
В данном посте мы научимся вставлять таблицы, используя TRichViewActions, редактировать их, добавлять колонки, ряды и удалять их. Будет представлен подход, совмещающий дизайнтайм и рантайм. Я уже писал про добавление таблиц в TRichViewEditor, там был пример вставки таблицы программно, с заданием … Continue reading
Delphi. TRichView. Идентификаторы итемов
Если, например, выделить таблицу и написать вот такой код,
1 2 3 |
... ShowMessage(richviewEdit1.GetCurrentItem.StyleNo.ToString()); ... |
то получим следующий результат А всё дело в том, что каждый итем в TrichView обладает своим идентификатором. Код, который был написан выше позволяет определить этот идентификатор и сказать, например, таблица … Continue reading