Rinzwind replied to TimCruise's topic in General Help
Every decent license system that's based on activation has a way for the user to deactivate old devices. Then again, Embarcadero seems to not really trust their paying customers. It's not like their aren't any cracked versions around already... without any of these activation pains. So what is the point? Yes a hindrance to prevent illegal use is good, but don't make it a pita for your paying customers. DRM anyone?
Have a look at this WP-Client from Embarcadero, maybe its helpful.
Not tested it, would be great if you could give us some feedback about it, if you can use it.
Looks not that current any more, but maybe a good start.
Hi,
Firedac and SQLite. Ok.
You can read this (french) blog post https://www.developpez.net/forums/blogs/138527-sergiomaster/b9985/firedac-sqlite-ajout-fonctions/ to know how to add a TFDSQLiteFunction (english video included)
SQlite function should be something like
procedure TForm131.SimilarToCalculate(AFunc: TSQLiteFunctionInstance;
AInputs: TSQLiteInputs; AOutput: TSQLiteOutput; var AUserData: TObject);
var Match: TMatch;
begin
Match := TRegEx.Match(AInputs[0].AsString, AInputs[1].AsString);
if Match.Success then Aoutput.Asboolean:=true
else AOutput.AsBoolean:=False;
end;
Query like (for your demand)
SELECT * FROM MYTABLE WHERE SIMILAR(RecipeTitel,'(?i-msn-x).*/sgreen/s.{4}/segg/s.*)=1
Here is a little demo
Video_2021-12-18_115311.wmv
Now it's up to you to create 'good' expressions
Not quite: You can write Windows device drivers with C. I doubt very much that this is possible with any Pascal based development tool.
Also, while basically all APIs and SDKs provide bindings for C / C++, many don't provide them for Pascal / Delphi. I had to translate lots of C header files to Pascal for e.g. accessing API for cameras or laser sensors.
Uwe Raabe replied to TimCruise's topic in General Help
I will never run out of activations, because I use a Named Network License provided by a local ELC server. This allows me to install Delphi on as much targets I want as long as I keep the same user name on all of them.
Lachlan Gemmell replied to TimCruise's topic in General Help
I see from your other posts you're probably a community edition user doing mobile development. I can tell you now as a fellow RAD Studio mobile developer that you should not purchase RAD Studio for mobile development unless you are prepared to pay the renewals each year.
If you don't, when the next mandatory requirement for store listing comes from Apple/Google (and they seem to come every year) only the latest RAD Studio will have support for that requirement. Using your old version you'll be stranded and eventually unable to update your app in the store.
Yes.
There are MANY solutions available for cross-platform development. There is FreePascal, for instance. Or Java. Or many other choices.
Not really. It is up to you to decide. You know what you need. Use what suits your needs. Every language and IDE has advantages and disadvantages. Do some research on each one then decide for yourself.
It depends on the platform, and what degree the OS allows you to directly access hardware. Most direct hardware access on modern systems is restricted to just the OS, so you would have to use higher level APIs provided by the OS or the hardware vendor.
No. Pascal can get just as low level as C/C++ can get.
pcplayer99 replied to TimCruise's topic in Cross-platform
I have just released a simple Android APP compiled by Delphi 10.4.2. CE version. Here is the link:
https://play.google.com/store/apps/details?id=com.embarcadero.BTthermometer
I'm studying how to release to Apple store.
Is it possible to install Mac OS and Xcode in VirtualBox to deploy APP to iOS?
The RFC describes four variant formats, and the MS GUID is variant 2.
I am simply wondering if there is another implementation than the MS one available to me in case the MS one is not compatible with IBMs requirements.
uses
System.SysUtils;
var
guid: TGuid;
sguid: string;
begin
if CreateGUID(guid) = S_OK
then sguid := 'urn:uuid:' + guid.ToString.ToLower;