Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/07/21 in all areas

  1. As already stated in a different thread I have adapted the TimSort implementation for FreePascal I found on github to compile with Delphi 2007 (and probably earlier, but I haven't tried it). The source code is licensed under the Apache License 2.0 and available in my dzlib on OSDN. Note that this currently only sorts an array of integer and is still pretty rough. I'm going to refine quite a bit. There seem to be only 2 (now 2.5 😉 ) TimSort implementations in Pascal / Delphi available. (According to @David Heffernan there is also one in Spring4d.), but none that does not require generics.
  2. mvanrijnen

    swagger help needed

    Yes, but can't publish the version we are using here (at work). I will start soon, creating a new more general version at home (knowledge is in my mind already 🙂 ).
  3. David Heffernan

    Converting C struct to Delphi

    Leave it as an enum, but set the right enum size http://docwiki.embarcadero.com/RADStudio/Sydney/en/Minimum_enumeration_size_(Delphi)
  4. @Anders Melander I recently saw this post from you, as a maintainer of the wonderful Graphics32 libary. https://en.delphipraxis.net/topic/4140-smooth-scaling-of-bitmaps/?do=findComment&comment=36266 So I hope that you and/or others might have more insights about the future of the Graphics32 project. I used it in the past very successfully, and would also nowadays bet on it, but the activity of this project is quite slow. Why is that, I cannot really understand ? I have seen attempts from ZhaoyiPeng, to bring Gr32 to FMX, but also this moves quite slow, or is stalled. I see effords from Angus Johnson, to push a new Image32 project. Is the Image32 based partly on Graphics32 technologie ( I'm afraid its not), or how does it fit all together ? I had no time to look into all that more deeply, but the Gr32 for FMX seems to be only a proof of concept, and many features still missing. My original though was that Gr32 is able to use different backends, so it might be possible to port this to FMX too. Since FMX makes use of GPU, I'm not really sure if Gr32 can beat this, but I think Gr32, on the other hand, has features that were not available in FMX right now, and still would make sense. Anyhow, beside FMX, for VCL this seems to be still the great choice for bitmap operations. So what is the status and the roadmap of this project ? Would be good to know. Is this lack of maintainers or lack of interested users ?
  5. David Schwartz

    simple cloud storage options

    I'm looking for a simple way to move data in some INI files into a cloud-based storage so someone can access the data from different devices. (It's not multi-user, just a way for someone who might access it from different devices without having to worry about syncing up the data.) I'd prefer an inexpensive hosted solution initially rather than having to create something myself and host it right out of the gate. I don't need structured data, like what a full DB offers. I'm just noticing that the entire INI files I currently have get >90% compression rates, so a 9K and 14K file compress to around 1.1KB - 1.2KB. The bigger one could end up growing to about 15x larger, tho, if it's not split into sections where each section would be 10K-12K at the top end. Aside from something like SFTP, what are some options worth looking at? This is something that needs to be done automatically "under the hood", so using an API of some kind. It should be something easily accessible to most people.
  6. Celso Henrique

    Delphi Code-Insight problems

    Can someone explain to me why you ruined Code Insight? I was very satisfied with this feature in the Tokyo version, but now, in Sydney, it has stopped working! I can no longer see the properties, procedures or functions of a simple StringList!!!
  7. Remy Lebeau

    Converting C struct to Delphi

    The language member is an 'unsigned char' array on the C side, so make sure you use an AnsiChar array, or better a Byte array, on the Delphi side. Don't mistakenly use a (Wide)Char array: language: array[0..3] of AnsiChar; or language: array[0..3] of Byte; You could do it that way, yes (I would suggest (U)Int32 or DWORD instead). Or, you could use {$MINENUMSIZE 4} like David suggested.
  8. Der schöne Günther

    Compute nearest color

    I'm not sure if the RGB space the right choice for an approach to subjective perception which colour is the closest. Have you considered HSL/HSV? HSL and HSV - Wikipedia
  9. I bet that hackers have ready procedure to crack anything using some "standard" library. You'd better design your own specific code instead of buying some existing library/dongle/whatever that the hacker can buy an experiment with his own programs and build a tool to crack that. There are hackers that do that just for the fun!
  10. Anders Melander

    What is the future roadmap of Graphics32 ?

    The Graphics32 team First of all I'm not the maintainer of Graphics32. I'm just a contributor. I don't even have admin rights to the main repository. As far as I'm concerned the current project lead is @CWBudde1 but I'm not sure he agrees and he's also been largely absent in a long time. Of the remaining 4 members, micha137 hasn't contributed anything significant in a year and Michael Hansen, Mattias Andersson and Andre Beckedorf hasn't been active in a decade. https://github.com/graphics32/graphics32/graphs/contributors (I'm not sure how reliable that page is as I seem to be absent from it). Roadmap The last roadmap I know of was from 2012 (posted in the old graphics32 newsgroups) and concerned the "mythical version 2.0". Since then some of the items on the roadmap has been implemented, some has been superseded and some things not on the roadmap has been added. At present only the Graphics32 issue tracker at Github gives any indication of the direction the project might move. Lack of progress From my POW the inability to make a decision and actually release version 2.0, incomplete or not, has been one of the reasons why the project has stalled. For example the present version supports Delphi 7 and later which greatly limits what can be done - or what people are willing to do. A new version would drop support for ancient versions of Delphi and only support XE and later. In April 2019 it was decided, by Christian, Angus and I as far as I recall, that we should just release version 2.0 as-is. But again, without anyone to take the lead, nothing happened. In my opinion the greatest blow to Graphics32 was the complete loss of the Graphics32 community. This happened when the project was moved to Github and people stopped using the newsgroups. Github is great for managing the project but it's not a community platform. Without a community we're left with individual developers that might still have an interest in the project itself but soon burns out or simply isn't interested in developing in a void with no interaction with others or feedback from the users. Apart from the discussions and QAs, a big part of the old newsgroups was that people posted examples of what they did with Graphics32 and how they did it, extension libraries and graphic algorithm implementations. Luckily I still have an almost complete local copy of the newsgroups and it's still a great resource for inspiration, examples and solutions. Actually it seems the usenet server is still alive: nntp://news.graphics32.org Of course one needs a news client to access them and I'm probably one of the last people on earth to have one installed Image32 I have read the Image32 documentation and I think I've looked at the source once but beyond that I have little knowledge about the project. I would be very surprised if Angus didn't use the techniques used in Graphics32 as inspiration. Although I know he loves to write things from scratch I doubt that he doesn't use Graphics32 as a reference. Anyway, I can only guess. As far as I can see the "architecture" of Image32 is that there isn't one; While Graphics32 is an object oriented framework on top of some highly optimized low level routines, Image32 is more of a monolithic design - one class does everything. As far as I remember this dislike of OO was one of the reasons he wanted to write his own. Another was that he felt Graphics32 had become bloated. I don't agree but that's beside the point. Current state of the project As I see it the current version (i.e. head in the master branch) is stable. There are no grave issues and nothing technical that hinders future adoption of the library into new projects. The documentation has fallen behind and in a few places it is no longer correct. The examples aren't that great but at least they compile and do what they were written to do. The future As I'm just another contributor I can only speak to what I would like to see happen. Someone has to take the lead. It could be me but then I would have to stop contributing code. I can't do both. Also, although I do have opinions about how and what should be done my area of expertise is architecture and implementation. Get 2.0 released or simply abandon the idea of major release versions. As I said above before the 2.0 problem is resolved there will be little or no progress. Move the documentation into a wiki so we're actually able to maintain it. Currently it seems updating the documentation requires custom tools and I for one don't need the hassle of building, installing and maintaining some tool just to keep the docs up to date. It's hard enough to find the motivation to do so without that. Separate the examples from the showcases and write some (or a lot) of small, simple examples that demonstrate how to get started with Graphics32 and how to solve the most common tasks/problems. Even I hardly look at the current examples when I need to figure out how to do something as they are mostly too advanced or bury the relevant code in unrelated gimmicks. I can imagine that they must be undecipherable to a new user. Get rid of or repair the code contributed by cowboys. Some of the newer features of Graphics32 was contributed (and accepted) without regard for the fact that other people should be able to maintain it (for example if the author went awol or decided to work on another project instead). The code should be commented, the algorithms used should be documented, etc. Even if none of the above happens I think Graphics32 will be safe for the immediate future. It's a stable and fairly complete library and there are enough people and projects using it that someone else is bound to pick up the mantle if all the current contributors get hit by a bus.
  11. balabuev

    Need help finding the IDesigner

    It can be done much simpler: 1) Use FindRootDesigner function defined in Classes.pas. 2) Just cast the return value to IDesigner. dsnr := FindRootDesigner(AComponent) as IDesigner;
  12. Aside from that aPort should be a Word to avoid invalid port values above 65535 ... TMS FixInsight supports a hint for this, though: O804 Method parameter ''Foo'' is declared but never used
  13. Signed .exes helps a little with internal validation and can stop arbitrary (driveby) .exe files from being run, but - yes - they can be cracked and spoofed. But - for such malevolent .exe files to propagate in your network, you already have had a bigger security breach.
  14. mvanrijnen

    swagger help needed

    Using our own swagger parser > delphi unit generator here. works great. Generates the needed types as classes and a class which executes the methods. Will see if i can extract/publish a public version in my spare free time 🙂
  15. I just read the Apache License (never did before) and have now added a link to the source code above. Note that the current code can only sort an array of integer and is pretty rough. I'll clean it up a bit today and add more tests. I also started a new thread on this: TimSort for Delphi without Generics.
  16. David Heffernan

    Converting C struct to Delphi

    You missed the language member. And probably the enum is actually an int and so 4 bytes.
  17. Thanks, that worked! I did have to add `TIcsRestEmail` to the parameter list of the RegisterComponents() procedure call in `OverbyteIcsReg.pas` though.
  18. aehimself

    Delphi Jobs

    I guess every country has it's own major job portal, the only "general" thing I can think of is LinkedIn. I am aware it is being facebooked by people posting irrelevant things but it's still mainly a business and job platform. Although we probably don't have as many users as the site above, but you also can try here: Job Opportunities / Coder for Hire - Delphi-PRAXiS [en]
  19. It does. You just need to keep the attribution, copyright and license notice in the source.
  20. Nicklaus Wirth disagrees: https://en.wikipedia.org/wiki/Wirth's_law Bonus quote: What Intel giveth, Microsoft taketh away: https://en.wikipedia.org/wiki/Andy_and_Bill's_law
  21. Anders Melander

    smooth scaling of bitmaps

    @wadepm Here's the branch with the optimized scroll: https://github.com/graphics32/graphics32/tree/TImgView32_optimized_scroll Note that the optimization only comes into play if you're not using the rmFull repaint mode (see TImgView.RepaintMode). Give it a spin!
  22. We've talked about this before I think. Stefan and I developed one for spring4d. You'll find it in the develop branch. As I'm sure you know, Timsort is stable.
  23. Well, yes. That's part of the contract. SetLength is contracted to return a unique object, that is with ref count 1. It's even documented! http://docwiki.embarcadero.com/Libraries/en/System.SetLength "Following a call to SetLength, S is guaranteed to reference a unique string or array -- that is, a string or array with a reference count of one.“ The only scenario you've raised that I could see being troublesome is a copy for weak refs. Everything else isn't going to have discernible real world impact.
  24. Hey, we installed D10.4.1 lastweek, code completion works better, code insight still not realy usable (for us). But one thing, if you override a class, normally with codecompletion you would see all the overridable methods of the parent class, with the 10.4.1 we do not see them. so all the overrides you have to type full instead of pick them from the list. (e.g. destroy, afterconstruction, beforedestruction etc etc)
  25. sgcWebSockets is a complete package providing access to HTML5 WebSockets API (WebSocket is a web technology providing for bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket) allowing to create WebSocket Servers, and WebSocket clients in VCL, Lazarus and Firemonkey Applications. What's new 4.2.2 - New HTTP/2 Client component: multiplexed streams, server push, partial streams, heartbeat... and more. - HTTP/2 vs HTTP1 Performance - HTTP/2 Client Tests - HTTP/2 Latency - HTTP/2 Tests from HTTPBIN.ORG - Demo can be downloaded from: http://www.esegece.com/download/protocols/sgcHTTP2Client.zip - New Binance Futures API Client component. - Improved Telegram Client, now supports iOS64 (Windows, MacOSX, Android and Linux were already supported). - Fixed some bugs using OpenSSL 1.1.1 and TLS 1.3 - Several improvements about performance and stability.  Main Features: - WebSocket and HTTP Support: sgcWebSockets includes client and server-side implementations of the WebSocket protocol (RFC 6455). HTTP/s is also full supported. Support for plain TCP is also included. - SSL/TLS for Security: Your messages are secure using our SSL/TLS implementation. Widest compatibility via support for modern TLS 1.3, TLS 1.2, TLS 1.1 and TLS 1.0 - Protocols and APIs: Several protocols are supported: MQTT (3.1.1 and 5.0), STOMP, WEBRTC, SIGNALR CORE, WAMP... Built-in protocols support Transactions, Datasets, QoS, big file transfers and more. APIs supported for third-parties like Pusher, Bitfinex, Huobi, CEX... - Cross-platform: Share your code using our WebSockets library for your Delphi VCL, Firemonkey, Intraweb, Javascript and C# projects. Includes Server, Clients and several protocols for building and connecting to WebSocket applications. - High Performance WebSocket Server based on Microsoft HTTP Framework and IOCP. - HTTP/2 protocol is supported on client component. Trial Version: https://www.esegece.com/websockets/download Compiled Demos: http://www.esegece.com/download/sgcWebSockets_bin.zip More Info: https://www.esegece.com/websockets
×