

Alexander Sviridenkov
Members-
Content Count
286 -
Joined
-
Last visited
-
Days Won
29
Everything posted by Alexander Sviridenkov
-
Maybe to use preloaded database schema? In this case completion can be filled synchronously with no significant delay.
-
Parsing Text search expression
Alexander Sviridenkov replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
HTML Library Bundle contains SQL framework with SQL parser for Firebird, Oracle, MySQL, Postgres, Microsof SQL, Elevate and SQLite. Library supports query parsing, formatting, translation between SQL dialects, modifying (change order, where, limit, fields, etc) syntax check and DB schema check, editor completion implementation and much more. https://delphihtmlcomponents.com/SQLLibrary.pdf -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
@Rollo62 thank you. Supported CSS properties for last version are listed there https://delphihtmlcomponents.com/css3.html For any version this list can be obtained by calling THtDocument.SupportedCSSProperties function CSS grids are not supported, but flex is supported since 4.4 -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
@wuwuxin Yes, code is quite simple in Delphi: uses htfontawesome, htdefscriptadapter. HTML: <style> body {background: white} table {background: #eeeeff; border-collapse: collapse} td {padding: 5px} .value {border: solid #ddd 1px; background: white; resize: horizontal} input {border: solid transparent 1px} .left {width: 10px; padding-top: 5px} .hidden {display: none} </style> <script type="passcript"> procedure Expand(Section); begin $('#'+Section).toggleClass('hidden'); this.toggleClass('fa-minus'); this.toggleClass('fa-plus'); end; </script> <table width="500"> <tr> <td class="left" ><i onclick="expand('1')" class="fas fa-minus"></i></td> <td class="title" colspan="2">ID Settings</td> </tr> <tr id="1"> <td class="left"></td> <td class="value" width="200">Name</td> <td class="value"><input type="text" value="Bill Smith"/></td> </tr> <tr id="1"> <td class="left"></td> <td class="value">Address</td> <td class="value"><input type="text" value=""/></td> </tr> <tr id="1"> <td class="left"></td> <td class="value">Birthday</td> <td class="value"><input type="date" value="01.01.1998"/></td> </tr> <tr> <td class="left" ><i onclick="expand('2')" class="fas fa-minus"></i></td> <td class="title" colspan="2">Marketing Settings</td> </tr> <tr id="2"> <td class="left"></td> <td class="value">Email</td> <td class="value"><input type="text" value="bill@gmail.com"/></td> </tr> <tr id="2"> <td class="left"></td> <td class="value">FrequentBuyer</td> <td class="value"><input type="checkbox"/></td> </tr> </table> -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
@Dany Marmur Thank you. -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
@Kas Ob.Thank you. 1. Currently editor supports CSS content-editable property which enables/disables editing for any element. 2. There is CSS pointer-events property for disabling mouse events for any element. What else events you think should be added to HtPanel? 3. Library supports regsitering custom element cllasses. Class for any tag (f.e. img) can be registered using HtRegisterElementClass, this is f.e. how SVG is implemented HtRegisterElementClass('svg', TSVGElement); HtRegisterElementClass('g', TSVGGElement); etc. -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
Please check download section https://delphihtmlcomponents.com/download.html there are compiled samples, especially https://delphihtmlcomponents.com/hcldemo.zip https://delphihtmlcomponents.com/dbreports.zip https://delphihtmlcomponents.com/csstransforms.zip Sample above is very simple, demos contains much more complex examples. -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
Here is updated sample <style> body {padding: 20px} td {height: 20px; resize: horizontal; } .gauge1 {background: linear-gradient(to bottom, steelblue, blue);} .gauge2 {background: linear-gradient(to bottom, lightgreen, green);} #main > tbody > tr > td:first-child {border-right: solid red 2px} </style> <table width="800" id="main"> <tr> <td width="50%"> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"><div style="position:relative; left:calc(100%+10)">Row 1 name</div></td> </tr> </table> </td> </tr> <tr> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"><div style="position:relative; left:calc(100%+10)">Row 2 name</div></td> </tr> </table> </td> </tr> </table> -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
I've sent you library update with new event OnShowResizeHint. Please override this method to hide hint or draw custom hint. -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
1. Resize hint is fixed. Any element can have normal hint (using title attribute or HTML hint using data--hint attribute, see HCL main demo) but on mouse hover. 2, Vertical bar within table can be added by setting border-right for first cells of outer table, larger bar can be added as absoulte positioned element 3. Row name behind table right border can be added as relatively positioned text for last cells -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
Yes, f.e. you can give ID to each cell and use something like Caption := FormatFloat('0.0', HtPanel1.Doc.GetElementbyId('cell1').InnerWidth) Also HtPanel has event OnElementResizeEnd where Sender is sized element. -
Need suggestion on developing a custom component
Alexander Sviridenkov replied to wuwuxin's topic in VCL
Zero lines of Delphi code, just one HtPanel: (artefacts on video are from GIF compression) HTML: <style> body {padding: 20px} td {height: 20px; resize: horizontal} .gauge1 {background: linear-gradient(to bottom, steelblue, blue);} .gauge2 {background: linear-gradient(to bottom, lightgreen, green);} </style> <table width="800"> <tr> <td width="50%"> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> </tr> <tr> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> </tr> </table> -
No. Even EV sertificate.
-
What's new: 1. Flex support. Supported properties: display: flex flex-direction justify-content align-items align-self flex-basis flex-grow flex-shrink flex-wrap flex 2. CSS letter-spacing support for FMX/Windows canvas. 3. FontAwesome is upgraded to version 5.6. 4. CSS only-of-type pseudoclass sypport. 5. CSS clip-path support. 6. CSS break-after support. 7. Custom fonts support for FMX canvas (Windows and Linux). 8. Faster shadows in DX and FMX canvaces. 9. Faster text rendering on FMX/Windows canvas. 10. Smooth scolling of FMX Panel/Editor. 11. New global canvas class selector: HtUIDefaultCanvasClass: used by UI controls (Checkbox, Radio, Button, Listbox, etc.). By default is set to GDI. 12. HTML rendering (THtDocument.Draw) can now be used in threads. Use second parameter in constructor. 13. Added workaround for bug in VMWare v.16 which leads to blue screen when using DX canvas. 14. Faster rendering on DX canvas. 15. FMX.HtPanel.ScreenshotMode property for faster UI transitions. 16. Improved text rendering on GDI canvas. 17. HtMetafile class for all platforms with ability to save/load from stream/file. 18. Support for WOFF fonts (when using Office library). What is HTML Library: the only 100% native and cross-platform (all FMX platforms) HTML/CSS/SVG/MathML rendering library for all Delphi versions (5 - 10.4) and Lazarus. WYSIWYG HTML Editor with embedded toolbars, spellchecking and DOCX/RTF import / PDF export, powerful reporting engine with embedded SVG charts and QR codes, visual Math Equation editor, FastReport and ReportBuilder integration, Pascal scripting engine with debugger, SQL transformation/validation/translation and DB schema framework, Email sending/receiving framework and much more. Library is used by thousands of Delphi developers on all Delphi versions (from 5) and platforms. https://delphihtmlcomponents.com/
-
Dangerous bug in 10.4.2 / Android32 compiler (not sure about 64). a, b : single a is unitialized (= -nan in debugger), b = some value, f.e. 100.5; if a <> b then <code>, <code> is not executed. ASM code: if fValue <> aValue then C5CCAD8C ED9D1A02 vldr s2, [sp, #8] C5CCAD90 EEF70AC1 vcvt.f64.f32 d16, s2 C5CCAD94 ED901A00 vldr s2, [r0] C5CCAD98 EEF71AC1 vcvt.f64.f32 d17, s2 C5CCAD9C EEF41BE0 vcmpe.f64 d17, d16 C5CCADA0 EEF1FA10 vmrs APSR_nzcv, fpscr C5CCADA4 9001 str r0, [sp, #4] C5CCADA6 ED8D0A00 vstr s0, [sp] C5CCADAA D027 beq.n 0xc5ccadfc <Htmlcss.TMeasure.SetValue(float)+124> C5CCADAC D626 bvs.n 0xc5ccadfc <Htmlcss.TMeasure.SetValue(float)+124> C5CCADAE E7FF b.n 0xc5ccadb0 <Htmlcss.TMeasure.SetValue(float)+48>
-
Video made for Delphi Showcase. Both, desktop application and server software (for cloud access) are made in Delphi, nothing external except OCR dll. Windows, Mac and Linux versions. All UI is created in HtPanels (HTML Library), document conversion is performed by Office library. Support for custom fonts and letter spacing was added to FMX canvas (currently only for windows), without this PDF documents cannot be rendered properly. https://www.youtube.com/watch?v=PdudQwjhCJg
-
@Attila Kovacs thak you. There is also Calendar sample application in /Sample Projects/ folder.
-
Looks like there is bug in 10.3 Linux compiler: maximum enum size is limited to 8 bytes. F.e. type TMyEnum = (a1, a2, ..a100); TMyEnums = set of TMyEnum; var X: TMyEnums; sizeof(X) returns 8 on Linux platform.
-
Linux: wrong enum size
Alexander Sviridenkov replied to Alexander Sviridenkov's topic in RTL and Delphi Object Pascal
How mininum enume size may affect this case? This test enum is larger than maximum setting for "Minimum enum size" parameter. -
Linux: wrong enum size
Alexander Sviridenkov replied to Alexander Sviridenkov's topic in RTL and Delphi Object Pascal
Another test: if e191 in LargeEnumSet then Writeln('YES'); No YES in output. -
Linux: wrong enum size
Alexander Sviridenkov replied to Alexander Sviridenkov's topic in RTL and Delphi Object Pascal
Output is the same, but in debugger Evaluate/Modify window Sizeof(LargeEnumSet) shows 8. Sizeof(LargeEnumSet) is calculated at compile time, in asm code there is explicit $19 -
New review from Jon Aasenden: https://jonlennartaasenden.wordpress.com/2020/11/25/htmlcomponents-for-delphi-a-closer-look/ HTML Library and Office Library sale: 25% discount on all delphihtmlcomponents.com products until end of the month. Please use coupon code BF2020
-
HTML Library review and sale: 25% off.
Alexander Sviridenkov replied to Alexander Sviridenkov's topic in Delphi Third-Party
@dummzeuch full source code is included for all licenses / products. Also it includes one year of support and all updates (major/minor). -
Only once in a year: any delphihtmlcomponents.com product with 44% discount (5 licenses available). Please use coupon code HB2020.
-
TBytes and TIdBytes are binary compatible, both are just "array of byte".