Highlights word in a RichView component programmatically:
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 27 28 29 30 31 |
uses Winapi.RichEdit; procedure SetTextColor(oRichEdit : TRichEdit; sText : String; rAttributes : TTextAttributes); var iPos : Integer; iLen : Integer; Format: CHARFORMAT2; begin FillChar(Format, SizeOf(Format), 0); Format.cbSize := SizeOf(Format); Format.dwMask := CFM_BACKCOLOR; Format.crBackColor := rAttributes.BackColor; iPos := 0; iLen := Length(oRichEdit.Lines.Text) ; iPos := oRichEdit.FindText(sText, iPos, iLen, []); while iPos > -1 do begin oRichEdit.SelStart := iPos; oRichEdit.SelLength := Length(sText) ; oRichEdit.SelAttributes.Color := rAttributes.Font.Color; oRichEdit.SelAttributes.Size := rAttributes.Font.Size; oRichEdit.SelAttributes.Style := rAttributes.Font.Style; oRichEdit.SelAttributes.Name := rAttributes.Font.Name; oRichEdit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format)); iPos := oRichEdit.FindText(sText,iPos + Length(sText),iLen, []) ; end; end; |
How to highlitgh full cell in a DBGrid:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
procedure TfrmRuleCreator.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var mstr: String; I : Integer; currValue: string; begin currValue := Column.Field.AsString.ToUpper().Trim; if (Length(currValue) > 3)and(Column.Field.FieldName.ToUpper <> 'NOTE') then Begin If FDMemTable1.FieldByName('NOTE').AsString.ToUpper.IndexOf(currValue) <> -1 then Begin DBGrid1.Canvas.Brush.Color := clYellow; End End; if Column.Field.FieldName.ToUpper = 'NOTE' then DBGrid1.Canvas.Brush.Color := $00D7FFD7; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
TFormatsettings is record type in Delphi which is used to get or set local information’s like DateTimeFormat, CurrencyFormat, DecimalSeparator etc. wich is declared in System.SysUtils. For Example you need to retrive your current DecimalSeparator:
1 2 3 4 5 6 7 |
procedure TForm1.Button1Click(Sender: TObject); var fs: TFormatSettings; begin GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, fs); ShowMessage('Actual decimalseparato is:' + fs.DecimalSeparator); end; |
If you need to force some local settings for conversions you can do for example:
1 2 3 4 5 6 7 8 9 10 11 |
procedure TForm1.Button1Click(Sender: TObject); var myMoney : String; FS : TFormatSettings; myMoneyFloat: Extended; begin myMoney := '100000,66'; FS.DecimalSeparator := ','; myMoneyFloat := StrToFloat(myMoney,FS); ShowMessage('Your actual balance:' + myMoneyFloat.toString); end; |
If you want to…
Read more
When you try to use the camera component and you get “java.lang.NullPointerException: Attempt to invoke virtual method” only on “release” version of your application, probably you don’t have this setting to true: Check that the Project Options > Entitlements List > Secure File Sharing option is set to true. good job
Xtumble library for Delphi Xtumble4Delphi is native delphi library, cross platform ( Windows, Android, iOS, macOSX, Linux64) that allow you to integrate all cloud functonalitty of the XTumble platform in your application. If you create an XTumble Account you can have a dedicated ERP, e-commerce, Cluod Drive, CRM Mail with SMTP and POS system in the cluod. Creating an…
Read more
SmartFB is our internal tool to manage Firebird & Interbase databases, so we use smartFB instead IBExpert. SmartFB is a simple VCL program that we use to have an access to our databases in every PC and Virtual Machines where we not need a simple access to our databases. So we integrate in smartFB some…
Read more
With FMXLinux and the latest versions of Delphi it is very easy to build a Linux application. The object of this post is to create a desktop icon and a favorite to make your application launchable from the gnome desktop. In my case I have created a POS (Point of Sale) application demominated XtumbleRetail and…
Read more