KSVC – Konopka Signature VCL Controls 6 is a suite of over 200 Windows UI controls and designers for your Delphi and C++ Builder VCL applications. Konopka Signature VCL components provide unmatched attention to detail, ease of use, and versatility. KSVC also supports full VCL Styles, which can deliver custom and stunning modern Windows applications. To utilize the KSVC components, you should install it from GetIt Package Manager. If you need a guide for using GetIt, follow these steps. KSVC components provide many stunning UI controls for your VCL applications, which you cannot get within RAD Studio. Moreover, you can customize components with quick access to an extensive array of component customizations. If you would like to learn more about Konopka Signature VCL Controls 6 be sure to check out these sources: Konopka Signature VCL Controls – Ray Konopka Overview of New Windows 10 VCL Controls with Ray Konopka – CodeRageXI Head over and check out the listing for the Konopka Signature VCL Controls in the latest version of Delphi available via GetIt in the IDE.
How about combining the strength of Delphi and Python for your applications to provide first-class solutions for your customer needs? Thinking about how to do it? Don’t worry! Python4Delphi does for us. Python for Delphi (P4D) is a set of free components that wrap up the Python DLL into Delphi and C++Builder. They let you easily execute Python scripts, create new Python modules and new Python types. This post will guide you on how to use these components, create a VCL application, run a simple python script in it, and gets the output. Python4Delphi Demo1 Sample App shows how to run a Python Script by typing the python code in a Memo, execute and populate the result in another Memo. You can find the Demo1 source on GitHub. Prerequisites: Download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out this video Getting started with Python4Delphi Components used in Python4Delphi Demo1 App: 1.TPythonEngine: A collection of relatively low-level routines for communicating with Python, creating Python types in Delphi, etc. It’s a singleton class. Some of the key properties for the component listed here. AutoLoad: Enable this property to load the python DLL automatically. It defaults to true. AutoUnload: Enable this property to unload the python DLL automatically. It defaults to true. DllName: By default, it reflects the latest e.g. python39.dll. But you can provide your registered version. DllPath: Physical location of the Python DLL. InitScript: You can provide the python script here to execute implicitly. IO: Associate the TPythonGUIInputOutput component to this property. RegVersion: Registered python version e.g 3.9. UseLastKnownVersion: If you want to use the latest registered Python version installed set this property to True. 2.TPythonGUIInputOutput: Inherited from TPythonInputOutput (which works as a console for python outputs) Using this component Output property you can associate the Memo component to show the output. MaxLineLength: Maximum character length per line. MaxLines: Maximum python script lines can be executed using this component. OutPut: Associate the Memo component to show the output. RawOutput: Produce the result as raw output. UniCodeIO: Set true to provide Input and output as Unicode. 3.TMemo: A multiline text editing control, providing text scrolling. The text in the memo control can be edited as a whole or line by line. You can find the Python4Delphi Demo1 sample project from the extracted GitHub repository ..Python4DelphiDemosDemo01.dproj. Open this project in RAD Studio 10.4.1 and run the application. Implementation Details: PythonEngine1 provides the connection to Python or rather the Python API. This project uses Python3.9 which can be seen in TPythonEngine DllName property. PythonGUIInputOutput1 provides a conduit for routing input and output between the Graphical User Interface (GUI) and the currentlyexecuting Python script. Memo1 used for providing the Python Script and Memo2 for showing the output. Buttons to perform the execution, load script from, and save the script to file. PythonGUIInputOutput1‘s property Output to Memo2. On Clicking Execute Button the script strings are executed using the below code. PythonEngine1.ExecStrings( Memo1.Lines); PythonEngine1.ExecStrings( Memo1.Lines); Load the script to the Memo1 from a file using the code with OpenDialog1 do begin if Execute then Memo1.Lines.LoadFromFile( FileName ); end; with OpenDialog1 do begin if Execute then Memo1.Lines.LoadFromFile( FileName ); end; Save the Script to the file using the code, with SaveDialog1 do begin if Execute then Memo1.Lines.SaveToFile( FileName ); end; with SaveDialog1 do […]
C++ is getting many new features and improved code hygiene, which improves your code compile time. In this webinar, you can watch and listen to the conversation with Bjarne Stroustrup and David Intersimone. Overview C++17 Current Standard C++20 According to Bjarne Stroustrup, C++ is not a simple language, but you can write code simply and that compiles faster once it is done. Bjarne Stroustrup has written a paper in 1981 saying you need generic programming, and he conjectured that macros was the way to get it. Actually, he was right about the problem. Now, today it has been solved. C++ Core Guidelines The most interesting view in this session is that Bjarne Stroustrup, saying you can not just simplify the programming language: C++. People want more simple stuff and they say add this and that features and do not break my code. So, the better way is to have good coding guidelines, better teaching, tool support like the static analysis. Be sure to watch the session to learn more about C++ history and its near future!
The CustomLogin sample is a server-client EMS demo, that demonstrates how to implement custom Login and Signup endpoints in a custom resource. It requires InterBase to be installed on the machine to connect to the EMS server. Make sure that the EMS Server is running before you run the client project. Location You can find the CustomLogin sample project at: Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to either: Object PascalDatabaseEMSCustomLogin CPPDatabaseEMSCustomLogin Subversion Repository: You can find Delphi and C++ code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version. How to Use the Sample Run the EMS CustomLogin Package When you run the CustomLoginPackage project, the EMSDevServer starts automatically. The supported platforms for this sample are: 32-bit and 64-bit Windows. Navigate to one of the locations given above and open: Delphi: CustomLoginPackage.dpk. C++: CustomLoginPackageCpp.cbproj. Press Shift+Ctrl+F9 or choose Run > Run Without Debugging. The EMS Development Server opens.If it is the first time you are using EMS on the machine, you need to run the configuration wizard in order to create the EMS server configuration file. When the Confirm dialog opens, click Yes. Click Next until the installation finishes. The EMS Development Server starts automatically. Run the Client Application The client expects the EMSDevServer to be running at localhost:8080. If you are running the server at a different address, modify the properties of the TEMSProvider component. To run the sample on a different machine that the EMS Server, change the URLHost property of the TEMSProvider component to the IP address from the machine where the EMS Server runs.Note: The TEMSProvider component is placed in the CustomLoginClientU unit. On the Project Manager, right-click on ProjectGroup1. Click Add Existing Project…. Navigate to one of the locations given above and open: Delphi: CustomLoginClient.dproj. C++: CustomLoginClientCpp.cbproj. Press F9 or choose Run > Run. Select Use Custom Resource (CustomLogin) to use your Window credentials to authenticate in the EMS Server. In the Signup or Login tabs, insert a UserName and Password and click the buttons: Use the Signup tab to sign up a new user and log on to the EMS Server with that user. Use the Login tab if you previously created an account. Click the Logout button to log off from the EMS Server. In the User tab you can manage your user data: Click the Delete user to delete the user from the EMS Server. Click the Retrieve Fields button to get the custom description field from the EMS Server. { “description”:”New info” } Click the Update Fields button to modify and update the custom description field in the EMS Server. Note: The custom Login and Signup endpoints validate the UserName and Password against Windows users by calling WinApi.Windows.LogonUser. You need to sign up with valid Windows credentials. Implementation EMS Custom Package The custom login package implements custom Login and Signup endpoints, by matching the signature of the Users.LoginUser and Users.SignupUser and implementing these methods. The custom public endpoints are: CustomSignupUser to sign up a new EMS user. CustomLoginUser to log in an existing EMS user. Client Application The client application has a TEMSProvider component, that: The information is managed with TJSONObject and TJSONArray. Please visit the original Embarcadero post for more information about this samble: http://docwiki.embarcadero.com/CodeExamples/Sydney/en/EMS.CustomLogin_Sample
BCC32, which is the classic C++Builder 32 bit compiler, includes the use of rvalue references, which allow creating a reference to temporaries. Also, rvalue references avoid unnecessary copying and make possible perfect forwarding functions. This feature is one of the C++11 features. Rvalue references are a compound type like standard C++ references, which are referred to as lvalue references. An lvalue reference is formed by appending the ampersand character (&) to a type: SomeClass l; SomeClass& lReference = l; //lvalue reference SomeClass l; SomeClass& lReference = l; //lvalue reference The syntax of an rvalue reference is to add && after a type: SomeClass r; SomeClass&& rReference = r; //rvalue reference SomeClass r; SomeClass&& rReference = r; //rvalue reference An rvalue reference behaves like an lvalue reference, except that you can bind an rvalue reference to a temporary — an rvalue. SomeClass a; a = SomeClass(); SomeClass& lReference = a; //OK-lvalue reference can bind to an lvalue such as “a” SomeClass& lReference2 = SomeClass(); //error-lvalue reference can’t bind to an rvalue SomeClass&& rReference = SomeClass(); //OK for rvalue reference to bind to rvalue // Both references can be used the same way SomeOtherClass value1 = SomeFunc(lReference); SomeOtherClass value2 = SomeFunc(rReference); SomeClass a; a = SomeClass(); SomeClass& lReference = a; //OK-lvalue reference can bind to an lvalue such as “a” SomeClass& lReference2 = SomeClass(); //error-lvalue reference can’t bind to an rvalue SomeClass&& rReference = SomeClass(); //OK for rvalue reference to bind to rvalue // Both references can be used the same way SomeOtherClass value1 = SomeFunc(lReference); SomeOtherClass value2 = SomeFunc(rReference); In the example above, SomeClass() is not bound to an identifier, so it is an rvalue and can be bound to an rvalue reference — but not an lvalue reference. Here is the above sample code in C++Builder. Find out more about C++ rvalue References over in the Embarcadero DocWiki.
Embarcadero MVP Marcos Moreira shows you how to use TMS WebCore and Delphi to make the most of your web development. TMS WEB Core: Modern SPA Web Application Model Pure HTML5/CSS3/JavaScript based applications Standard component framework for common UI controls and access to browser features Open to consume other existing JavaScript frameworks & libraries Offers Pascal class wrappers for jQuery controls from the jQWidgets library Easy interfacing to REST Cloud Services including to TMS XData for database Easy Deployment and more! One of the most features in the TMS WEB Core is you can debug in Pascal code via the browser. In this CodeRage session, you can learn how to utilize this feature. Moreover, Marcos Moreira shows you how to manage JavaScript libraries and how to design your web applications easily with the Bootstrap by modifying the HTML code. Be sure to watch this session to learn more about the TMS WEB Core and its amazing functionalities! Find out more about TMS Web Core over at TMS Software.
In this Delphi Boot Camp, you can acquire lots of practice in Delphi programming language. Overview The Basics of Pascal and Delphi Language The Modern Features of Delphi Language Anonymous Methods and Using the Parallel Programming Library Here are the demos Readability and Elegance of Delphi language Great human readability, compared to “curly brace languages” Structure: begin-end Operators: and, or, not, mod, div Statements: for I := 0 to 10 do, function, procedure Separation of declarations and definitions within a single file, with interface and implementation section Units and Namespaces Units define unique namespaces The same symbol can exist in different units Units can have dot notation The unit scope can be used, but it is less efficient Unit enforce visibility constraints Private, protected by default work only across Units and compilation PAS, DCU, and compilation steps EXE, runtime, and runtime packages Everything is in a Type A strongly-typed and type safe language Rich base type system Ordinal types True enumerations Sets Ranges Distinct numeric, character, and Boolean types Compiled Heavily focused on compile-time type checks Compile time resolutions for faster execution Be sure to check out the whole session. You can find more information on Delphi programming language!
WinSCP is a popular award winning native SFTP client, FTP client, and file manager for Microsoft Windows. It has been download over 143 million times and is available in many languages. WinSCP is built with a number of programming languages but C++Builder is the main tool powering it’s graphical user interface. It is a great example of leveraging C++Builder’s fast UI development capabilities in combination with other programming languages. It has an integrated text editor and supports scripting and automation. It is a native Windows application weighing in at only 10.9 megabytes for the download and uses only 9.2 megabytes of system memory logged into a standard SFTP site. It features both an Explorer like interface and a Commander like interface in addition to integration with PuTTY, Pageant, and native Windows drag and drop. Website https://winscp.net/ GitHub Project https://github.com/winscp/winscp Screenshot Gallery
Do you want your Delphi and C++Builder Applications to connect with MySQL Database ? How to start ? Don’t worry, FireDAC offers robust components to connect with MySQL Database. FireDAC.MySQL Sample app demonstrates how to use FireDAC to work with My SQL Database. You can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version. Components used in the Sample App: TFDQuery : To execute SQL queries, browse the result sets, and edit the result set records. TFDPhysMySQLDriverLink: To link the MySQL driver to an application and set it up. In general, it is enough to only include the FireDAC.Phys.MySQL unit into your application uses clause. The TFDPhysMySQLDriverLink component can be used to specify: The VendorHome – the MySQL installation root folder. The VendorLib – the name and the optional path to the MySQL client library. TFDConnection : To establish a connection to a DBMS and to manage associated datasets. And some of the UI components, like TDBGrid,TDBComboBox, TFDGUIxWaitCursor1,TFDGUIxLoginDialog1,TFDGUIxErrorDialog1 Implementation Details: The simplest to configure connection to MS SQL database at run-time is to build a temporary connection definition: In the sample, the temporary definition is created when clicking the Connect button. Check to how to connect to MySQL Server. In the demo database, the Categories and Products tables have one-to-many relation by CategoryID field. Mention the query to the qryCategories.SQL property and qryProducts.SQL property. Finally, the qryProducts.MasterSource property is set to dsCategories, while the MasterFields property is set to CategoryID. This creates a master-details relationship between the datasets. Simple queries execution is demonstrated via ExecSQL method of TFDConnection. Check out the full article in the DocWiki about the FireDAC MySQL Sample. Check out the full source code for the FireDAC.MySQL projects for Delphi and C++Builder over on GitHub.
Cryptography is the study of secure communications techniques that allow only the sender and intended recipient of a message to view its contents. Public Key Encryption or Asymmetric cryptography is widely used cryptography which use different keys for encryption and decryption. Receiver needs to publish an encryption key, referred to as his public key which used for encrypt a message but that encrypted message can only be decrypted with the receiver’s private key. Some assurance of the authenticity of a public key is needed in this scheme to avoid spoofing by adversary as the receiver. Generally, this type of cryptosystem involves trusted third party which certifies that a particular public key belongs to a specific person or entity only(Digital Signature). The popular schemes used for Asymmetric cryptography were RSA, ElGamal, ECC. Though these schemes helps to secure your information, doesn’t solves data integrity which can leads to active threat. Security mechanism such as Cryptographic Hash functions are used to tackle the active modification threats. A Cryptographic Hash is fixed size thumbprint that uniquely identifies an arbitrary input irrespective of input size which can be generated from Hash Algorithm. e.g) SHA-256 is a 256-bit thumbprint. CryptoCurrency: The Idea predates BitCoin as electronic cash, an alternative virtual, eletronic currency, that is secured by cryptography, which makes it nearly impossible to counterfeit or double-spend. BitCoin: Designed by pseudonymous Satoshi Nakamoto. Originally described in 2008 paper “bitcoin: A peer to Peer Eectronic cash system” and released an open source in 2009. It is the first decentralized peer-to-peer payment network that is powered by its users with no central authority or middlemen. Nobody owns the Bitcoin network much like no one owns the technology behind email. Bitcoin is controlled by all Bitcoin users around the world. The Bitcoin network is sharing a public ledger called the “block chain”. This ledger contains records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks. Transaction unit is in Satoshi = 0.00000001 BTC. An Individual uses a wallet to access thier BTC- the digital credentials to transfer bitcoins. The authenticity of each transaction is protected by digital signatures corresponding to the sending addresses, allowing all users to have full control over sending bitcoins from their own Bitcoin addresses. Anyone can process transactions using the computing power of specialized hardware and earn a reward in bitcoins for this service. This is often called “mining“. Mining: Is a distributed consensus system that is used to confirm pending transactions by including them in the block chain. Mining is the mechanism that allows the blockchain to be a decentralized security. It secures the bitcoin system and enable a system without a central authority. It is the process of finding a nonce (number used once – unique number) that generates a SHA-256 hash meeting the current difficulty target. Every 2016 blocks 14 days at 10 min/block, the difficulty target is adjusted based on network’s recent performance. Mining Proof of Work : Miners validate new transactions and record them on the global ledger ( blockchain ). On average, a block ( the structure containing transations ) is mined every 10 minutes. Miners compete to solve a difficult mathematical problem based on a cryptographic hash algorithm. The solution found is called the Proof-Of-Work. Blockchain : When there is […]
Invormațiile pe cale Dvs le introduceți în prezentul formular nu se păstrează online, dar se vor transmite direct la destinație. Mai multe informații găsiți în Politica Noastră de Confidentialitate
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.