Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/26/20 in Posts

  1. Alexander Sviridenkov

    HTML Library review and sale: 25% off.

    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
  2. Mahdi Safsafi

    Hex2Binary

    @Stefan Glienke You're unbelievable man ! The next time I'm going to demonstrate something ... I'll make sure that Stefan will not find a link between the input and the output (hmm TRNGs)
  3. Stefan Glienke

    Hex2Binary

    @Mahdi Safsafi Optimized it: {$O+} function foo(I: Integer): Integer; begin case I of 0: Exit(random(255)); 1..5: Exit(i+2); // 2: Exit(4); // 3: Exit(5); // 4: Exit(6); // 5: Exit(7); else Exit(0); end; end; Scnr
  4. microtronx

    HTML Library review and sale: 25% off.

    Very stable and good components + very good support. We can recommend htmlcomponents fully! Thanks for your work Alexander!
  5. Rollo62

    HTML Library review and sale: 25% off.

    Jon missed to mention the SVG rendering capabilities, among other features.
  6. I just had to do it... Go with the flow! It's the Black Friday / Cyber Monday "season", so I had to rush the book offer The book was actually scheduled for release in early December, but then the Black Friday deals started popping up all over the place... pressure was building... and I finally caved in! I cut the darn thing in two, and decided to offer Part I at a discount, and will give Part II for free to all Buyers. Not really a 97% BF discount but hey... Junior is still studying, and we still have to pay the bills (Corona doesn't help, either)! So, here it is! I hope you'll like it like you did Delphi Memory Management! https://dalija.prasnikar.info/delphiebap/index.html Thank you all for the support!
  7. Mahdi Safsafi

    Drag an Drop

    https://github.com/RRUZ/vcl-styles-utils/tree/master/Tools/Vcl Styles Equalizer (Tool)
  8. Rule #1 - Don't do shit before your application has loaded and displayed itself. After the initial display, you can show various "Preparing good stuff - % complete" messages and do stuff in threads, allowing basic interaction with the app - such as doing an immediate exit. Speed is mostly about perception.
  9. Fellow Delphi developers, We are glad to announce a huge 50% discount on HelpNDoc Professional Edition, including updates and upgrades starting now, and for a few hours only: https://www.helpndoc.com/news-and-articles/2020-11-26-black-friday-2020-50-discount-on-helpndoc-till-monday-only/ HelpNDoc an easy to use yet powerful help authoring tool producing CHM help files, responsive HTML 5 and mobile Web Sites, DocX and PDF manuals, ePub and Kindle eBooks as well as Qt Help files from a single source. HelpNDoc is Free for personal use and evaluation purposes and is available at: https://www.helpndoc.com Download HelpNDoc now and use it for free for personal and evaluation purposes: https://www.helpndoc.com/download Follow our step-by-step video guides to learn how to use HelpNDoc: https://youtu.be/u1XVAR985g8?list=PLe52dEok5gAlrGpJ9IxdFEfVrCjTucOhF Best regards, John, HelpNDoc team. https://www.helpndoc.com Join us on social networks... * RSS feed: https://www.helpndoc.com/rss.xml * Facebook: https://www.facebook.com/helpndoc * Twitter: https://www.twitter.com/helpndoc * LinkedIn: https://www.linkedin.com/company/helpndoc * YouTube: https://www.youtube.com/user/HelpNDoc
  10. Mahdi Safsafi

    Hex2Binary

    In the example you gave FPC didn't used a jump table ! instead it lowered the case statement into if statement. But adding more case, will make FPC use jump-table. I tested that my self on x86 (O4). Here is some comparison for jump-table: MSVC && FPC: - Both generate a friendly code for branch predictor and the fall through executes the first case. - Both generate aligned jump-table. - MSVC inserted the table at the function end. While FPC inserted the table in the const data region. - The first case likely is going to be in the same cache line as the jmp instruction. Delphi: - Generated an ugly pattern for the branch predictor and the fall through points to random instructions(because the table was immediately inserted after the jmp instruction -decompiled data-). Things can get worse if those random instructions contain data that gets decompiled into branch !!! - The table is not aligned ! This is just ugly and means that the data (jump location) can be split into two cache line !!! - The first case is unlikely going to be in the same cache line as the jmp instruction. Bravo FPC team ! 🙂
  11. Wagner Landgraf

    auto-generated REST APIs?

    I will not get into an architectural discussion or in a feature discussion, it's out of the scope of the topic. It's a tool that anyone can use if they want. It's not SQL SELECT, there is no injection, it's more secure. Yes, you can do complex authorization mechanisms. Finally, that is not "XData", but one of XData tools. If user wants, he can simply choose not to use it, and do a 15-tiered application without any client-side logic. I'm just answering the OP question.
  12. eivindbakkestuen

    Ann: NexusDB - Black Friday Sale

    Greetings! From now until Monday November 30th, take 25% off the full price of any new license of NexusDB Database Engine or Nexus Quality Suite. To purchase, go to our webshop: https://www.nexusdb.com/support/index.php?q=pricing Please enter the coupon code BLACKFRIDAY during checkout to apply the rebate. Note: only valid for new licenses. Happy shopping! Regards, The NexusDB Team
  13. As a special treat to those who would like to move up to the best Delphi database engine for embedded use, we have a great offer for you! From now until November 30th, take a whopping 66% off the full price of our NexusDB Embedded Source version; approx price after rebate is US$150. To purchase, go to our webshop: https://www.nexusdb.com/support/index.php?q=pricing Please enter the coupon code BLACKFRIDAYEMB during checkout to apply the rebate. Note: only valid for new licenses, and only for the Embedded Source SKU. Regards, The NexusDB Team
  14. Stefan Glienke

    Hex2Binary

    Exactly - that's why I just recently rearranged some of my code from this pattern (which I personally like very much for its readability and less indention): if not check then SomeErrorMessageStuff/raise/exit Usual stuff; to: if check then begin do usual stuff optionally exit end else Error stuff With some noticable improvements. Not only will the common part be on the fallthrough but also it avoids unnecessary register preserving when you have an error raising subroutine that will never return which the compiler does not know of. I wish Delphi would have something like noreturn
  15. Uwe Raabe

    Primary Key on FDMemTable

    indices = plural of index; also called indexes
  16. Uwe Raabe

    Primary Key on FDMemTable

    The query mock is your TFDMemTable, that is mocking the original query for the unit tests.
  17. Uwe Raabe

    Primary Key on FDMemTable

    If the goal is to have a close match to the real case, it might be worth to create the query mock indices the same as the database ones.
  18. Anders Melander

    Primary Key on FDMemTable

    There isn't really a "primary key" index on a TFDMemTable. You can have multiple indices on a table and one of them can be the "current index". http://docwiki.embarcadero.com/Libraries/Sydney/en/FireDAC.Comp.DataSet.TFDDataSet.Indexes I guess you can specify the soPrimary option on an index but I'm not sure if there's any practical difference from the soUnique option. http://docwiki.embarcadero.com/Libraries/Sydney/en/FireDAC.Comp.DataSet.TFDIndex.Options
  19. Wagner Landgraf

    auto-generated REST APIs?

    TMS XData does that. These three videos show it in details: https://www.youtube.com/watch?v=AZs9e2DNXdI https://www.youtube.com/watch?v=e31Co9Fv3YY https://www.youtube.com/watch?v=QvgS8pjpfkk This has nothing to do with executing arbitrary SQL statements. It's regular REST endpoints. Regarding being 1:1 with underlying db system, in my opinion it depends. As someone mentioned here, you might need an "inner" use in which this is not a problem. Or, you might use it for simple entities like a list of countries or something like that. So for example use it for simple or non-critical entities, and then implement DTOs and specific business logic for more complex or critical business operations. Like anything, it's just a nice tool which is available. Use if it's helpful for you.
  20. Hans♫

    AV with InApp purchase on MacOS

    I have attached the FMX.InAppPurchase.Mac.pas that we use so it is easy to use for others. All you need is to add it to your project and also add a modified version of FMX.InAppPurchase.pas where you include the file (just search for FMX.InAppPurchase.IOS, and see how that file is added, and do the same with the FMX edition) FMX.InAppPurchase.zip
Ă—