Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 07/20/23 in all areas

  1. Alexander Sviridenkov

    ANN HTML Library 4.7 released

    What's new video: Demos used in video: Map Viewer (OpenGL canvas., SVG, PDF, etc) https://delphihtmlcomponents.com/MapView.zip Fast blur: https://delphihtmlcomponents.com/blur.zip HTML Editor (VCL), print preview window https://delphihtmlcomponents.com/htedit.zip Office file viewer and print preview window https://delphihtmlcomponents.com/FileBrowser.zip What's new: Core Precise text rendering and measurement for all windows canvases: now text has the same layouot in GDI, GDI+, DX and Skia canvases on screen and printer and doesn't depend on scaling. Skia canvas for VCL. PDF export using Skia canvas - works from any canvas, not only Skia OpenGL canvas - useful for fast rendering of very large SVG (don't use as default canvas - it requires window handle). GDI canvas: improved graphics rendering speed. CSS var() support. function htmlpars.GetHTMLEncoding - determine codepage of HTML (TBytes). function for converting stylesheet to dark theme - TCSSStyleSheet.LighttoDark Support for UTF8 encoded inline SVG images. Optimized SVG paths seialization (smaller size) Optimized drawing of large SVG Support for individual glyph positioning in SVG text (DX attribute). THtCustomPath: CurveTo record now do not have initial point, all curves are defined by 3 points. HtPanel/Editor: support for horizontal mouse wheel HtPanel/Editor: Smooth scrolling in both direction HtPanel/Editor: Fast zoom in / zoom out in OpenGL canvas. Library now contains fastest native blur implementation (10-50 times faster than other). See htcanvas.FastBlur() Fast Base64Encode function (5-10 times faster than standard): htutils.Base64EncodeNoLF() THtBitmapData bitness conversion and masking methods are optimized using SIMD, f.e. Convert24to32. TSVGElement has GetStats methods for retrieving number of primitives, points, etc. Added support for system colors from CSS 4 color module: canvas, canvastext, field, fieldtext, etc. Bitmap images are now supported in GDI+, DX and Skia canvases. FontAwesome is upgraded to version 6.4. Now it contains regular (fa) and solid (fa-solid) icons. Support for CSS variables. Optimized displaying of documents containing many SVG images - like converted PDF documents (2000+ pages). Support for outlined and filled text (SVG). Support for relative image paths ('.\..') Improved flexbox layout. THtImageConverter now have CanvasClass propery - used in HTMLtoPNG conversion. HtPanel: OnScroll event New core classes documentation - /docs/HTML Library.chm/pdf https://delphihtmlcomponents.com/help/ New demos - MapView, Blur, Skia Editor Words suggestions/prediction while typing - see Words prediction section in Editor manual. New icons in context toolbar. Context and selection toolbars has acrylic background. All toolbars (selection, spellcheck) can be closed by pressing Esc. Add/edit image button in context toolbar Copy image button in selection toolbar Print preview button in context toolbar Add Symbol button in context toolbar. Spellcheck button in context toolbar. Windows ISpell implementation - htspellwin unit. Simply add it to uses list for spellcheking and word correction. Inline word correction - click on misspelled word to see suggestions. Windows spellecher is also used for autocorrection, suggection selection is based on Levenshtein distance. Cancelled autocorrections are remembered - words are added to exceptions list. Inline image cropping - use shift + resize handles Reports and Scripts New preview window for VCL and FMX (OSX, Linux) - float toolbar, smooth scroll and zoom, page selection and reorder, text search, text editing and moving. Preview window store its maximized/normal state and position for normal state even when maximized. Support for var parameters of all types. Fixed repeat - until bug. Default indexed properties now workind for object proprties, f.e. property Strings: TStringList; Obj.Strings := 'test'; Script can have own debugger instance
  2. Alternatively create a new project and save it (best with decent file names). Then select Project - Add To Repository from the menu, select a proper place to add and type some nice names. After that you can select File - New - Customize to add the new entry to the favorites. As a gimmick you are directly asked for a target folder after selecting your project from the repository. Also, when all your VCL projects have a main TForm and a main TDatamodule and a separate TDatamodule with a TImageCollection, you can prepare that before adding the project to the repository (or create a separate entry for that) and you may save quite some more clicks and keystrokes.
  3. Dave Nottage

    Android 12, Delphi 11.3 Bluetooth

    Take a look at the ScanFilterServicesAdvData demo in the same folder, specifically TForm6.Button1Click in Unit6.pas. It shows how to request permissions, including the one you need.
  4. João Antônio Duarte

    Spring4d in Linux

    I use Spring4D container (develop branch) + DelphiMVCFramework on linux as daemon. Works great, no problem.
  5. Yes, but I need to gather strength for that first.
  6. David Schwartz

    is this a valid, complete JSFormData attachment?

    The Mystery has been SOLVED!!! <?php // a lot of safety and security checks go here, along with the folder: $destinationFolder = 'dest/folder/goes/here/'; $data = file_get_contents( $_FILES['file1']['tmp_name'] ); $fn = $destinationFolder . $_FILES['file1']['name']; $file = fopen($fn, 'w'); fwrite($file, $data); fclose($file); http_response_code(200); echo 'File ' . $_FILES['file1']['name'] . ' uploaded to: ' . $fn; ?> file_get_contents apparently tells the client to send the file to the server (this script) and it gets saved into $data, which is done in another thread or session or something, because it does not appear as part of the upload payload with the request. It boiled down to getting just two lines of code correct!
  7. At least recent versions of Delphi allow adding repositories located at arbitrary places. So if various computers have access to a common network share, you can use that for your templates. Alternatively one can manage these repositories and its templates with version control as with any other sources like f.i. common library code.
  8. Stefan Glienke

    Rounding issue

    On 32bit the compiler keeps the value of the multiplication in the FPU to pass it to Round (which takes its parameter as Extended), on 64bit the precision of Extended is the same as Double. You get the same result on 32bit if you store the result of the multiplication into a double variable and then pass that one to round.
  9. Cristian Peța

    Splitting up quotes doesn't work anymore

    For years I asked me how are you doing this. Now i know. Then I found a solution that I supposed you are using: if you still see the message that you want to quote after starting your message then you can go to that post, insert the text and press "Quote selection". It will insert the quote where the cursor is in you new message. I have not tried if this works going back on an other page.
  10. jaenicke

    My new project : WebView4Delphi

    What about using a second DLL? You could write this new DLL with Delphi Community Edition, where you can use newer components. Then you can load this new DLL by your old DLL and just redirect the calls to the new DLL. This way you do not have to upgrade your existing code, but you can use WebView4Delphi though.
  11. NamoRamana

    My new project : WebView4Delphi

    Just want to say Thank you for this component. I needed vcl - TWebBrowser replacement for Delphi Rio.. and your component fit right into it. Thank you again and carry on! 🙂
×