Delphi

The Power Of The Future Is Rooted In The Past

First programming languages were written in the 1950s, long before our modern day ide software was even a twinkle in the eye of the most forward-thinking minds. Those early languages were very close to the hardware. Instructions were extremely unsophisticated and were almost one-to-one conversions of a circuit’s purpose: load value, multiply value, subtract value. In fact, multiplication was achieved by simply adding a value multiple times so “4 multiplied by 3” was really “load 4, add 4 to that, add 4 to the result, print the result“. In essence, the programming language was a series of grunts used to communicate those absolute essentials to the computer to get the work done. Was it a language? Of sorts, yes, but only really a step away from a traveler stranded in a foreign country gesticulating wildly with hand signals at a bar tender in order to get the drink they want. It was a struggle. It was arduous and error prone even though the hardware limitations meant the actual quantity of instructions which could be fed to the hardware were tiny by today’s standards. Programmers were speaking the language of the computer to make the computer’s life easier. We grunted, they understood. It was magical. What is a high-level computer language? Margaret Hamilton with the code she and her MIT team produced for the Apollo project. Source: WikiMedia Commons This onerous and laborious level of communication endured for a few years. Even by the time of the first moon landings the instructions were still designed to make the job easy for the computer with little or no deference to the ease of human comprehension. The capacity for the computer’s instruction store – where it put actual “what should I do” had massively increased but you still had to be something akin to a superhuman to write code which worked reliably. No wonder that time spawned so many comparisons of programmers to wizards and warlocks! Of course, the time came when a push towards making programming languages more human friendly arrived. Algol, Fortran, COBOL and C all broken new ground in abstracting those LOAD, STORE, SHIFT LEFT and ROTR computer-edible instructions into something more palatable for human programmers to consume. The shift from wizards and warlocks towards more regular humanity had begun. What happened to computer programming in the 1980’s? The 1980s were a huge boom time. That early abstraction of computer instructions in the “high level” languages such as BASIC and COBOL had gone a long way to making programming more accessible. The advent of the semiconductor and advances in miniaturization brought about programmable calculators, the first digital watches and, eventually the first personal computers which freed computing from the enormous room-sized behemoths of the ’60s and ’70s to a box which could be plugged into an ordinary power supply and would fit on the average office desk. Now, in theory at least, everyone could have a computer. Computing was personal. Why did the personal computer spawn a new era in computer languages? The invention of ‘personal’ computing meant that suddenly the possibility of writing and using computer programs could spread to ‘normal’ people. It was no longer constrained to the environs of huge corporations with development staff who were university-trained at great expense. The ordinary individual could write code for the personal […]

Read More

Introduction to Python GUI Development with Delphi for Python (VCL & FMX)

Part 1 starts shortly at 9 AM CST, and Part 2 on using Delphi FMX for Python to target Android is in two weeks on January 26th at 9 AM CST. Learn how Embarcadero’s newly released free Python modules bring the power and flexibility of Delphi’s GUI frameworks to Python. VCL and FireMonkey (FMX) are mature GUI libraries. VCL is focused on native Windows development, while FireMonkey brings a powerful flexible GUI framework to Windows, Linux, macOS, and even Android. This webinar will introduce you to these new free Python modules and how you can use them to build graphical users interfaces with Python. Part 2 will show you how to target Android GUI applications with Python! Come back here for links, slides, and the replay.

Read More

Why We Love Windows Development (And You Should, Too!)

I can say, with confidence, that desktop apps are not dead, in fact they are very much alive and thriving. Web apps are on the rise and it’s a common trope to say that web applications can replace windows app development. But they couldn’t do that. In some cases, Web apps are suitable as the primary way for users to consume your product ideas and output. But mostly, web apps are an adjunct to a more complete experience offered by full-on desktop applications. This is especially true in the business-to-business market. The majority of enterprises are still using native desktop applications especially for the line-of-business sphere like process control, specialized accounting and those apps which integrate with IoT devices. What happens when The Cloud is polluted by the fog of war? Useful web applications like productivity web apps proliferate but they do not have broad accessibility over native desktop applications and suffer from the need to be hosted by an outside organization which can pose problems of data ownership, guardianship and compliance. For example, if you are a German company and your human resources information is held in a cloud hosted in a nameless data center how can you ensure – in fact guarantee – that you comply with the eye-watering complexities of European and German laws? If that data center relocates to a new geographic territory, one which is cheaper for the cloud provider but is physically located in a region which is geopolitically at odds with your own wishes or legal obligations? If you are a US based company it may be illegal for you to hold data in a broad range of countries. Europeans may be legally prevented from using data stores outside of the European Bloc. The Cloud is really “someone else’s computer”. As a business owner – and even as an individual – you need to make sure that the “someone else” is some else you trust, and, more importantly, you are allowed to trust. What if the cloud…vanishes? If The Cloud breaks down and vanishes. Who gets the blame? The cloud provider files for bankruptcy, for example, and as long as they were not negligent, they get to walk away from those obligations. Meanwhile you are left with a compliance headache at best and a total los of business viability at worst with no ability to recoup. But even assuming that scenario doesn’t play out. What happens if your cloud app can’t access the internet? The outages at Amazon data centers took out the key functionality of substantial parts of the internet. A huge spotlight of doom was shone on the fragility of many companies’ solutions the questions being asked “was this a wise idea after all?” So, the problem is offline access to the functionality. Many web applications are building desktop versions of their products, because of the problem of offline access. Besides, web applications need persistent internet access, and this is another concern on security. That’s why big companies still feel the need to safely build native desktop applications. Are desktop applications the solution to the fragility of online-only web apps? It’s nearly impossible to deny that the desktop is probably one of the most important developments in productivity in the history of computing. Both desktop and web applications have their pros […]

Read More

You Need To Know The Compelling Reasons For Native Apps

Native app development has substantial benefits over framework-based “one size fits all” comprises whether it’s for native windows development or mobile devices. It is simpler, less convoluted and circuitous to create, easier to run, and the user interface is typically smoother with noticeable responsiveness. Often, developers feel there is a barrier holding them back from embracing native development. They believe that they need to have multiple versions in different programming languages so they can develop applications for differing operating system targets. But there is a solution for that! Why do I need native app development? Here is why you need to be developing native apps: User experience – from smooth scrolling to device-specific features. With Native development tools, it’s easy to get these qualities. Native Apps are more secure – Building a native application is a great way to guarantee your users reliable data protection. Performance – With native applications, you can get higher performance. Easy access to all features of the device – Native applications have direct access to hardware, for instance, GPS, camera, microphone, and way faster in execution. Be sure to continue reading to learn about how to develop cross-platform native applications! In this article, I will show you why you need to consider Delphi to build your next products Why should I use Delphi to produce my apps? In short, with Delphi you can: Have confident long-term plans Create the most secure application Have fast time to market Have visual creation through powerful WYSIWYG Have 5x Faster Productivity Have Flexibility and Functionality Build an app for 5 different operating system with only one codebase How can I benchmark help me make a good choice of programming language? There are an overwhelming number of different benchmarks which attempt to provide an objective (and sometimes skewed) comparison of programming languages. Those white papers mostly compare and analyze energy efficiency and memory efficiency. But the real measure of the language is the productivity, engineering time, and efficacy of effort for developing a real-world application with any given programming language? Embarcadero Technologies produced a benchmark which fairly measured between 3 different software development tools to create a calculator application using these technologies: Windows Presentation Foundation (WPF) – with .NET framework Electron Delphi – Embarcadero Technologies RAD Studio If you go over and download the whitepaper yourself, you can learn more about every analysis with each detail. What were the key measures and findings of the whitepaper about developer productivity? Here you can find, conclusions of Productivity – is the measure of effort and code required for developers to complete typical development tasks. Productivity can be realized in 2 distinct ways – reduced coding requirements due to native libraries and IDE tools like code-completion and visual design Business functionality – refers to a framework’s business suitability and impact on long-term plans. Excellent functionality allows companies to easily build custom tools or extensions, develop on a platform of their choosing, protect their source code from exploitation, and have confident that their applications will be maintainable for decades. Functionality – long-term feasibility like does the framework have a history of stability and backward compatibility. Testing support, accessibility, and intellectual property security by securing project source code. Flexibility – flexible frameworks allow businesses to target a broad audience, build software for any field and access all the hardware […]

Read More

5 Great Reasons To Visit LearnCplusPlus.org Today

Hello C++ and Delphi Developers, We have new posts every day on LearnCPlusPlus.org packed full of great articles for professionals and beginners alike. Lots of new modern C++ topics to speed up your C++ app (or apps!) and to make them look visually stunning with an updated, modern look in a few simple steps. In the articles we have selected today we explain how you can simply compile Delphi projects in C++ Builder, how to Make A Millisecond Timer. We have some posts about Programming Artificial Intelligence, the Softmax function, and the Hyperbolic Tangent activation function in Neural Networks. What Is The ANN Function? There is a CppCon video about to analyze includes in C++ with Cppinclude. If you are new to RAD Studio, we think these posts may help you as much as a rapid introduction to programming in C++, all the way to the most robust, modern, and latest techniques for those more experienced with the language. For those who are perhaps wanting to expand their knowledge with the most up-to-date features, routines, and methodologies this is a great little boost (pun intended) to your C++ knowledge. The new RAD Studio 11, C++ Builder 11, Delphi 11 are released with great new features and we are developing and testing new examples for you with the latest RADS 11 that means.LearnCPlusPlus.org examples are working well with the latest C++ Builder. You can see more of our C++ posts on this blog by clicking the following dynamic search link: https://blogs.embarcadero.com/?s=C%2B%2B Here are today’s selections: How can we use C++ Builder in the most modern and efficient ways? These posts are designed to be easy to understand the modern and professional ways that we use in C++. Here are the topics, What You Need To Compile Delphi Projects in C++ Builder How To Make A Millisecond Timer In C And C++ What Is The SoftMax Function in Neural Networks? What Is The Hyperbolic Tangent Activation ANN Function? This Is How To Analyze Includes in C++ With Cppinclude What kind of C++ questions are we answering? These are the questions that we answer in this collection: How to compile Delphi projects in C++ Builder projects? How I can use Delphi or Pascal files in C++ applications? How to compile pascal files with C++ Builder? What is the challenge of timing very small intervals? Why would I need to time my program’s functions? How can I use the time library to time my C++ code execution speed? How can I use the chrono Library to time and measure my C++ app functions? What is the SoftMax function in Neural Networks? How can we use the SoftMax function in ANN? Where can we use SoftMax in AI technologies? Is the SoftMax function is an activation function in ANN? What does an activation function mean in AI? What is a Hyperbolic Tangent function? How can we use Hyperbolic Tangent Function in C++? Is there a simple ANN C++ Example of the Hyperbolic Tangent function? Can I analyze Include libraries in C++? How can I analyze Includes in C++ With Cppinclude? Where can I get the Cppinclude C++ tool? Where can I learn how to use Cppinclude? Is C++ Builder able to answer all those C++ questions? C++ Builder can answer and apply all the answers to those questions above with very simple step examples. […]

Read More

Writing Your Own Components For The FastReport Dialog

When creating a report, it is important not only to make a beautiful printed form that will display the data necessary for the user, but also a convenient prepress dialog where the user can set the parameters for generating the report. In the RAD Studio ide software, on the fastReport prepress dialog, there are already a number of components, for example, Label, Edit, Button, Memo. But sometimes this is not enough and you have to write your own dialog components for FastReport. In fact, they are analogues of ordinary Delphi-components, which can be used in dialog forms FastReport. Accordingly, in this article and will talk about writing such a component. For more information, we recommend reading the official documentation FastScript documentation: https://www.fast-report.com/en/product/fast-script/documentation/ FastScript VCL documentation: https://www.fast-report.com/en/product/fast-report-vcl/documentation/ To display data from the database, this article uses the DBGridEh component from the EhLib VCL library,which will be integrated into the FastReport dialog. Delphi 10.4.2 is used as the development environment, but everything described below will be suitable for any other Delphi starting from version 7 (adjusted for the version). Create a new package (dpk) and give it the name frxDBGridEh27. We add a new file frxDBGridEhControl.pas, which will be the basis of our grid. In this file, for registration in Delphi, we will declare the component: TfrxDBGridEhDialogControl = class(TComponent); TfrxDBGridEhDialogControl = class(TComponent); We begin to describe the TfrxDBGridEh component, which we will create from the base dialog class TfrxDialogControl. Essentially, we are re-declaring the properties of the base DBGridEh component into a component for use in FastReport. You can not declare all properties, methods, event handlers, but only those that are needed for work. In the private section, I recommend paying special attention to the following: private FDBGridEh :TDBGridEh; // The base component, the properties of which we will set and methods of which we will call FDataSource :TDataSource; // Interface between grid and data source in FastReport // Variables that will store the name of the event handlers FOnGetCellParams :TfrxGetCellParamsEvent; FOnGetBtnParams :TfrxGetBtnParamsEvent; FOnTitleBtnClick :TfrxTitleClickEvent; FOnDrawColumnCell :TfrxDrawColumnCellEvent; FOnColEnter :TfrxColEnterEvent; FOnCellClick :TfrxCellClickEvent; FOnColWidthsChanged :TfrxNotifyEvent; // These system procedures are needed to save and restore grid columns to the fr3 report template. procedure ReadData(Reader: TReader); procedure WriteData(Writer: TWriter); // These three methods are needed to be able to connect a basic data source of the TfrxDBDataset (FastReport) or TDataSet (Delphi) type to the grid. function GetDataSet: TDataSet; procedure SetDataSet(const Value: TDataSet); procedure SetDataSetName(const Value: String); // This is the event handler code procedure DoGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); procedure DoTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh); procedure DoGetBtnParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; var SortMarker: TSortMarkerEh; IsDown: Boolean); procedure DoDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); procedure DoColEnter(Sender: TObject); procedure DoCellClick(Column: TColumnEh); procedure DoColWidthsChanged(Sender: TObject); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 private   FDBGridEh      :TDBGridEh;   // The base component, the properties of which we will set and methods of which we will call   FDataSource    :TDataSource; // Interface between grid and data source in FastReport     // Variables that will store the name of the event handlers   FOnGetCellParams    :TfrxGetCellParamsEvent;   FOnGetBtnParams     :TfrxGetBtnParamsEvent;   FOnTitleBtnClick    :TfrxTitleClickEvent;   FOnDrawColumnCell   :TfrxDrawColumnCellEvent;   FOnColEnter         :TfrxColEnterEvent;   FOnCellClick        :TfrxCellClickEvent;   FOnColWidthsChanged :TfrxNotifyEvent;     // These system procedures are […]

Read More

How To Create Real-Time Applications With SignalR On Windows

History on Client-Server Apps When the original web first came into widespread public use things were reasonably basic. Webpages were effectively specialized documents, like a library. Users clicked on links to articles they found interesting. Somewhere, perhaps on another side of the world, another computer or server was the destination for that click or as we came to call it: the request. The user sends a request and, the server, the far-off computer, gives a response back to the user for every request. That response was typically formatted text, images and later, movies and music. Editing web pages was done mostly using plain text editors rather than more advanced ide software. After several years and a few iterations, Web 2.0 emerged allowing a more interactive, programmable kind of web page which behaved more like an application. The process was asynchronous and, we were able to execute commands on databases and manipulate the data they contained in that way. Like, create a user, get all users and delete a user.  With the advent of Web 3.0 and beyond, a new concept applied to the systems is a continuous connection between a client and a server. Web applications could now carry out significantly complex tasks, interact with specialized hardware like GPS sensors and other activities rivaling traditional desktop application capabilities. Along with this rose the need to implement real-time connections which transmitted data between the web browser and servers in an optimized and highly efficient way. The connection between the server and client can be used on either side to update and set the state and react accordingly. We refer to that highly interactive nature as “real-time web applications”. They’re a long way from those original electronic reference type documents of the original web. What methods are there for implementing real-time web applications? Interval polling  This method is very straightforward. We go to the server and see if we have anything we need to do in the interval. And there are 3 cases: Nothing will be returned The server has data that return to us Some sort of internal server error But no matter what, we go to the server to see if we can do anything. Problems of interval polling More connections, more overhead Mode bandwidth The server can’t keep up with the request Long polling As you can see, we were making requests every 10 seconds no matter what. Long polling is a call that we open up and remains open until the server has something for us (depending on browser timeouts). And after a timeout, we open up our request all over again. Benefits of this method: Less server overhead and resource consumption The downside is we still make and open connections regularly.  Server-Sent Events  In this method, we open a connection to the server and, that server can remain open indefinitely. And server makes use of this connection or pipe to send us messages.  The best thing about this is the server can push data to the browser without requiring multiple connections. But this is one way in which the client cannot send messages to the server. Web Sockets Web sockets are the ability of the client in the server to open a one-on-one connection, which they both can send data over.   What are the benefits of Web Sockets? Bi-directional communication […]

Read More

Everything You Need To Use REST In Your Apps Now

What is REST and why should I learn more about it? REST is a type of software architecture that was designed to ensure interoperability between different Internet computer systems. Basically, the idea is that services that comply with REST architecture can more easily communicate with one another whether you are designing mobile apps, Linux, macOS or it purely native windows development. REST stands for representational state transfer and it was proposed by computer scientist Roy Fielding’s 2000 PhD thesis, Architectural Styles and the Design of Network-based Software Architectures, in which he introduced and described REST. The goal of REST is to increase performance, scalability, simplicity, modifiability, visibility, portability, and reliability. This is achieved through following REST principles such as a client–server architecture, statelessness, cacheability, use of a layered system, support for code on demand, and using a uniform interface. Where can I download Roy Fielding’s Original PhD thesis about REST? You can have access to the complete original Roy Fielding’s 2000 PhD thesis here! Since long time ago Mr. Fielding was deeply involved in the web’s early development and standardization, he began working at and for the World Wide Web Consortium in 1994 and co-authored the HTTP 1.0 specification. Later he was the main author behind the HTTP 1.1 and URI specs also co-founded the Apache web server project. The name “Representational State Transfer” is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. Fielding’s approach was to make sure that the REST architectural style emphasises the scalability of interactions between components, uniform interfaces, independent deployment of components, and the creation of a layered architecture to facilitate caching components to reduce user-perceived latency, enforce security, and encapsulate legacy systems. What do the different REST terminologies mean? REST does not enforce any rule regarding how it should be implemented at lower level, it just put high level design guidelines and leave you to think of your own implementation. What we do have is the definition of 6 architectural constraints which make any web service – a true RESTful API. Client–server: By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components. Stateless: Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is therefore kept entirely on the client. Cacheable: Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests. Uniform interface: By applying the software engineering principle of generality to the component interface, the overall system architecture is simplified and the visibility of interactions is improved. In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior of components. REST is defined by four interface constraints: identification of […]

Read More

What Is The Next Big Thing in Blockchain?

Cryptocurrencies like Bitcoin use enormous amounts of energy to secure their network. But why are cryptocurrencies so power-hungry and more importantly what are the alternatives? Much of the hardware used to perform the calculations uses highly specialized computers running Linux collaboratively in “farms” although there are many crypto “mining” apps which are Windows based or uses Windows program development even if their eventual targets are not Windows-based machines. Why is proof-of-work a problem for Bitcoin? Mining new coins take a lot of computing power because of the proof-of-work algorithm. The concept was first presented in 1993 to combat spam emails and was formally called “proof-of-work” in 1997. Nevertheless, the technique went primarily unused until Satoshi Nakamoto developed Bitcoin in 2009. He discovered that this mechanism could be used to reach harmony between many nodes on a network, and he utilized it as a way to secure the Bitcoin blockchain. Yet the proof-of-work algorithm works by having all nodes solve a cryptographic puzzle. This puzzle is solved by miners (the metaphor is drawn from the concept of them extracting their fortunes from hard physical work) and the first one to find the solution receives the ‘miner reward’. This has directed to a situation where individuals are building bigger and larger mining farms in order to share the effort in a “many hands make light work” team effort. The advent of lower cost hardware with a more affordable “bang to buck” ratio – more CPU power for a given financial outlay – coupled with a very broad expansion in the availability of single board mass-produced hardware such as the Raspberry Pi and RISC-powered boards has meant these kinds of mass-computing networks are achievable at a modest level of investment. Bitcoin miners alone use almost 54TWh of electricity, enough to power 5 million households in the US or even power the whole country of New Zealand Will blockchain contribute to global warming? Maybe. Blockchain calculations are shaping up to become a power-suck of worrying proportions. Even accounting for the lower power consumption of modern hardware the sheer computational effort involved and a trend toward coupling dozens, hundreds or even thousands of machines together to obtain the financial rewards which, due to its nature is increasingly hard to obtain and, in the case of Blockchain, harder means more CPU cycles and more CPU directly translates into a greater demand for electricity. According to Digiconomist, Bitcoin miners alone use almost 54TWh of electricity, enough to power 5 million households in the US or even power the whole country of New Zealand. But it does not halt there.  It’s currently a simple equation: proof-of-work gives more bounties and thus greater rewards, to people with better and more plentiful equipment. The higher your hash rate (the number of calculations you can perform on the data), the higher the chance that you’ll get to create the next block and obtain the mining reward. To increase the chances even further, miners have come together in what’s called “mining pools”. With mining pools, they combine their hashing power and distribute the reward evenly across everyone in the pool. Proof-of-work is causing miners to use massive amounts of energy and it encourages the use of mining pools which makes the blockchain more centralized as opposed to decentralized. So, to solve these […]

Read More

How to Master Ethereum in 6 Simple Steps

What is Ethereum and how is it different to Bitcoin? Whether your focus is on native windows development or for mobile, cross platform targets, Ethereum is the community-run technology powering the cryptocurrency ether (ETH) and thousands of decentralized applications. Ethereum is widely called “the world computer” or “general-purpose blockchain”. Ethereum is an open-source platform written on smart contracts. It keeps smart contracts on blockchain and charges every time someone wants to alter something in the code by taking fees known as GAS. You can build anything with Ethereum, from websites to applications and games. Ethereum is different in many ways from Bitcoin, and you can do more with Ethereum. You can make any type of program in Ethereum because of its Turing complete feature. Moreover, Ethereum tracks the state of data stored on the blockchain. The data is in key-value pair which, means if the value is “Delphi” the key will be “c++builder”. This even runs the code and stores the data with the help of Ethereum Virtual Machine (EVM). Additionally, in Ethereum, the state changes when all the participants agree with each other to avoid fraud or misuse of the system. How can I start building Ethereum Apps with Delphi? First of all, Delphi is a development environment where you can build and compile native applications for Windows, iOS, macOS, Android, and Linux. Delphereum is a Delphi interface to the Ethereum blockchain that allows for the development of native dapps (decentralized applications). Delphereum supports every EVM-compatible network, including (but not limited to): Arbitrum Optimism RSK xDai Binance Smart Chain Polygon What is a smart contract? A smart contract is a calculation that takes place on a blockchain or distributed ledger. You can think of a smart contract as a microservice that operates trustless on the backend of your application. Smart contracts can have many applications, ranging from sports betting to online voting. But the true power of smart contracts is in managing assets that have value and are scarce. Once added to the blockchain, a smart contract becomes public and cannot be modified or removed. This assures your users that the rules are transparent and will never change.  What is a dapp? DApp – dapp -> is an abbreviated form for decentralized application. A DApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers. A DApp can have frontend code and user interfaces written in any language (just like an app) that can make calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as Swarm or IPFS. How to start developing DApps with Delphi and Delphereum? We have been serving you valuable posts and tutorials about Blockchain technology, and I would like you to check out some of them here. Then we have a set of tutorials that you can follow to learn how to: connect Delphi to a local (in-memory blockchain)? connect Delphi to the Ethereum main net? connect Delphi to smart contracts? create smart contracts with Delphi? create Ethereum-signed message signature in Delphi? transfer ether with Delphi? and more. You can find them from this tutorial:  What is the best way to learn how to use Ethereum, Bitcoin and other cryptocurrencies in my apps? The best way to learn real-World case studies is to continue […]

Read More