

Edwin Yip
-
Content Count
435 -
Joined
-
Last visited
-
Days Won
3
Posts posted by Edwin Yip
-
-
@Bill Meyer My first time hear about Affinity Designer, did a google and it seems to be very powerful with an affordable price tag.
But I'm out of curiosity - do you have any design background to be able to make professional-looking icons? Or is Affinity Designer that user friendly to be able to enable a programmer to make good looking icons? Thanks.
-
2 hours ago, MarkShark said:That's extremely cool! This appears to load some of my svg's that several of the open source Delphi svg projects had issues with (mostly with object positions being offset in strange ways.) On some of my svgs I had converted text to paths, which displays nicely (of the course the text ones do not as you mentioned.)
Can you list all of them? Have you tried the relatively new SVGIconImageList ?
-
22 minutes ago, Arnaud Bouchez said:I am biased for sure: I like pascal because it can be both high-level and modern (like Java/C# - with high-level structures like classes, strings or dynamic arrays), and also system-level (like C). Pointers are clearly for the 2nd level.
Same here and that's a very logical rationale! Similarly, I like the fact that it supports both strong typed data such as String/Integer and dynamically typed data type such as TValue/Variant
-
-
2 hours ago, pyscripter said:Not possible I am afraid and not easier. You just need to add the patched System.RegularExpressionsAPI to your project uses clause.
But the patch is only available for a single specific version of Delphi
-
Well done! Maybe it's easier to deploy if it's possible to patch at runtime with DDetours
-
As @Stefan Glienke has pointed out, we have TVarRec, Variant and TValue to deal with situation of:
- The type of the parameter is uncertain
But in addition to the above situation, open array parameters are designed to deal with even more complex situation:
- Both the types and number of parameters are uncertain. The most well-known case is the Format function.
However, I think the OP is heading to a wrong direction to use open array parameters for simplifying the example code he's given. There is at least one better solution:
procedure DoSomething(const AParam: string); overload; begin // procedure body here end; procedure DoSomething(const AParam: Integer); overload; begin DoSomething(IntToStr(aParam)); end;
The overloaded procedures eliminate the use of the `if` statement and make the code simpler and easier to read.
Just my 2 cents.
Edit 1: Please note, 'less lines of code' <> simple, 'more lines of code' <> complexity
Edit 2: One more benefit of my above alternative method - More user friendly to the clients (that uses the DoSomething procedures). Because the clients can see exactly the type of the parameters to provide, and this is exactly the advantage of statically typed languages over dynamically typed languages such as JS .
-
5
-
3 hours ago, pyscripter said:@Vincent ParrettYou appear to be the original author of System.RegularExpressions. How did you compile the C code of PCRE avoiding the need to bring in c runtime dependencies.
I guess @Arnaud Bouchez might can shed some light on it, because I know mORMot involves a lot of work in that regard.
-
55 minutes ago, pyscripter said:Putty splits the ssh functionality into different executables. ssh is provided by plink.exe. The project converted to a dll only psfpt.exe.
Oh sorry, I guess I'm wrong on this part - there is no header translation for SSH yet.
It's just that the author has stated that "SSH shell and SCP features will probably be added in a future version."
That being said, I'm very interested in the SSH feature provided by your library!
-
9 hours ago, pyscripter said:I guess you mean opinions 😀.
I was not aware of tgputtylib, but it is commercial and only covers sftp.
Yes, I meant opinions :D And thanks for sharing them, I now have a clearer understanding of your great project!
However, TGPuttyLib is open source: https://github.com/superflexible/TGPuttyLib
And yes, it currently supports only sftp.
On the other hand, I guess it's quite easy to also add SSH functions because the header's already translated, just Delphi classes were lacking.The author used to say he has a plan for it. -
-
Well done! This project makes me existing :)
Just recently I needed to implement a SFTP feature, I first tried the only two existing libssh2 wrapper for Delphi, they both are kinda out of dated, one of them is the one your project page points to. Both failed to pass my initial tests against SFTP servers on both Windows and Linux.
I then resorted to https://www.syncovery.com/tgputtylib/ and it worked like a charm.
Just my two cents. If possible, would love to hear about your options on all the already available options and your decisions behind developing this new, promising wrapper!
-
-
On 6/25/2020 at 9:10 AM, MarkShark said:cloned the SynEdit2 repository, made a branch (I think that's the correct thing)
This is not the correct process as I understand it, you should:
- Fork the repository on github web, so you that have your own repository that you can permission to make changes
- Clone your forked repository to your local pc
- Change the source code as needed (following the contribution rules, if any)
- Commit and push your changes to your forked repository
- Make a pull request to the original SynEdit2 repository, and wait for acceptance
-
4
-
-
2 hours ago, pyscripter said:A more advanced wrapper for Scintilla was in http://myarmor.users.sourceforge.net/. I had some involvement in the initial development. But it died many years ago.
A more up to date wrapper exists in the Inno Setup source code https://github.com/jrsoftware/issrc/tree/main/Components. However it is based on Scintilla 2.22, when the current version is 4.4...
It seems that the myarmor DelphiSci wrapper is more feature-rich, but as you said, it's for v1.x and it's too old, not sure if it works with the latest version.
the InnoSetup version also suffers the same issue.
On the other hand, the github DScintilla I posted above works with 4.x (at least the version back in a year or so).
Actually the DScintilla wrapper communicates with Scintilla through the SendMessage windows API, so it's quite easy to adopt new features.
And don't forget , Scintilla is crossplatform (but not wrapper for Delphi on Linux or Mac).
-
3 hours ago, toms said:The last commit was 5 years ago.
By active development I mean the Scintilla library, not DScintilla, the delphi wrapper :)
-
Alternatively, I actually quite satisfied with the result of https://github.com/KrystianBigaj/dscintilla
It's a Delphi wrapper for scintilla , which is the editor used by Notepad++ and a lot of others.
And it's under active development.
-
11 hours ago, pyscripter said:That would be good, but the author says it is not going to be easy.
How about not to port it to Delphi, but instead, just wrap it as dynamic linking library for the Delphi program to use?
-
Maybe someone port https://github.com/Alexey-T/ATSynEdit to Delphi?
ATSynEdit seems to have a lot more features, including the multi-cursor feature, with active development currently for a long time.
-
1 hour ago, pyscripter said:What are the key features missing in Synedit:
-
Better Unicode handling:
- Better support for wide characters e.g. Chinese ideograms (爾雅爾雅爾雅爾雅)
- Support for surrogate pairs (two widechars correspond to one glyph)
- Combining characters (e.g. Åström ḱṷṓn)
I'm using the official SynEdit github repository, it seems that it supports Chinese characters?
-
Better Unicode handling:
-
Today I discovered a new FastCGI implementation for the Ngix web server in Delphi and think I'd share it with you:
https://github.com/kylixfans/FastCGI
PS, I didn't make this - it's by my fellow countryman, but I guess here is the best sub-forum to make such a post?
-
3
-
-
Sure, why not? The two are located in different continents ;)
-
4
-
-
@Arnaud Bouchez ,you are so damn fast man! A memory manager in less than 3 days? Unbelievable!
A new MM (fastMM5) for Delphi and a new MM for FPC. Wow! The Pascal community is getting better and better :)
-
And right after this discussion, Mr. Arnaud Bouchez, author of mORMot, just released a new memory manager for FPC (both Windows and Linux) based on FastMM4!
I kinda feel that the new release of FastMM5 and the consequent discussions stimulated him to take the challenge ;) Is it so, @Arnaud Bouchez ?
-
1
-
-
Thanks, there is no 'Change' link next to Display Name. Will PM Daniel now.
Native Svg parsing and painting in Windows
in RTL and Delphi Object Pascal
Posted
I know, but once I used a boxshot designing tools that provides a lot of ready-made template and shapes, which makes it very easy to produce professional-looking result. Tools make a difference tool.