Noutați

Brilliant Visualization Solution Is Powered By Delphi

How does Delphi power this flexible Android application? The power of Delphi’s multi-platform compiler allows the app to run on Android natively.  The app allows users to easily master the power of the IDEA YACHT flexible and scalable database of the IDEA.NET system. SpecTec’s management solution is developed in Delphi for luxury yachts. The developer says “the brains of IDEA YACHT are a flexible and scalable database that can be configured to meet your needs. Information pertaining to the vessel’s equipment and spare parts can be easily input, updated, and retrieved, providing a comprehensive overview of the vessel, ensuring you are fully in command.” SpecTec’s management full solution for luxury yachts, IDEA.NET, is entirely web-based.  SpecTec say it “keeps you in full control of your equipment and all related maintenance and procurement duties“. Website IDEA.mobile Google Play IDEA.mobile Screenshot Gallery

Read More

Developer Stories: Flavius Fernandes Talks Through His ERP Sirius +Mobile

Flavius Fernandes has been using Delphi since Borland Delphi 5. His showcase entry (ERP Sirius +Mobile) is featured at the Delphi 26th Showcase Challenge and we interviewed him to learn more about his Delphi journey. You can learn more about his application at the ERP website. When did you start using RAD Studio/Delphi and have long have you been using it? I have been using Delphi since Borderland Delphi 5, developing various types of business applications since 2000. Our business application is developer in RAD Studio 10.3.3 What was it like building software before you had RAD Studio/Delphi? I started developing software using COBOL, RPG, Basic, and Clipper. I looked at many developed languages at the time (and still do). Nothing comes close to my requirements that included ease to use, code editor, visual designer, an integrated debugger, and support for third-party plugins. RAD Studio allows me to develop rapidly, from prototypes to a stable progressive state. It greatly reduces development time, allowing me to spend more time on other objectives. How did RAD Studio/Delphi help you create your showcase ERP application? Delphi has been critical to me in developing ERPSirius +Mobile. DataSnap is used for our client-server functionality. FireDAC is used to allow us to offer all the major enterprise databases with our application. I like the way DataSnap and FireDAC work together. FireDAC JSON Reflection with TFDMemTable is great for creating desktop or mobile frontend using REST. Using TFDConnection and TFDQuery is great for the back-end. It’s important that our applications are aesthetically pleasing to the users and VCLStyle/FireMonkey styles allow me to do that. The visual designer is great for prototype faster. One can evolve UI/UX as the application matures very easily. Many components can be used to further reduce development time and add great functionality. What made RAD Studio/Delphi stand out from other options? Object Pascal is easy to learn and the Delphi IDE just keeps improving. RAD Studio/Delphi has everything one would need to develop great applications, a code editor, a visual designer, an integrated debugger and native Component Object Model (COM) support. It’s just a great tool for cross-platform development. Database support is a key feature. Delphi has a fast compilation speed and complies to native code. What made you happiest about working with RAD Studio/Delphi? Its rapid product development ability, the new features being added, cross-platform support. RAD Studio/Delphi allows me to build simple and improve in time. The RAD Studio online community is great for help and ideas. The debugging facilities are great. The Windows UI and VCL components keep improving and this allows me to make limited use of 3rd party components. There is always something interesting and new that makes me want to keep up with the latest version of RAD Studio/Delphi. I am at my best when I use RAD Studio to develop solutions on the fly, collaborate with business stakeholder in real time. What have you been able to achieve through using RAD Studio/Delphi to create the ERP Sirius +Mobile application? To be able to develop and offer a downloadable ERP with all its advanced features is a great achievement. ERP Sirius offers modules that other ERP lacks, and the list of modules to be added will just grow, improve, and evolve. This is down to the way the application is […]

Read More

Developer Stories: John Hardy Elaborates More On His Equation Visualization Application

John Hardy has been programming since Turbo Pascal 6. His equation visualization application (Equation Solver) was one of the showcase entries at the Delphi 26th Showcase Challenge and he talked to us about his Delphi adventures throughout the years as a programmer. Visit the Equation Solver website for more information. When did you start using RAD Studio/Delphi and how long have you been using it? I started with Turbo Pascal 6 and only switch over to Delphi when version 2 was released What was it like building software before you had RAD Studio/Delphi? When I was a student in Mechanical Engineering, we were taught Basic as a language. Some time later I became a lecturer at a Polytech (Technikon). The electrical students were being taught Turbo Pascal. At this time the lecturer in the electrical department convinced me to switch to Turbo Pascal 6 which was a huge improvement on Basic especially in terms of de-bugging and the graphical interface. Once Turbo Pascal became redundant I switched to Delphi 2. This was again a jump in technology and took some time to get used to how it worked. However, once I got used to how things worked there was no going back. I particularly liked the code insight which made debugging very simple. How did RAD Studio/Delphi help you create your showcase application? Early on with Delphi I found a book by Ray Kanopka on creating components. Some equations in Mechanical Engineering cannot be directly solved. HP calculators at the time could solve most equations. As one does, I wanted to know how! Delphi’s part in this was the tool that helped me achieve the goal of creating a component that could solve equations for real roots. What made RAD Studio/Delphi stand out from other options? Over time I have tried C# and visual studio. I feel most comfortable with Delphi, probably because I have spent so much time with this software. What made you happiest about working with RAD Studio/Delphi? I think the best thing about Delphi was the ease at which fully functional programs could be created and deployed. What have you been able to achieve through using RAD Studio/Delphi to create your equation visualization application? The type of projects I have been working on are not main stream. For me, as an amateur, the user friendly interface and ability to do anything makes Delphi the perfect choice. What are some future plans for Equation Solver, your showcase visualization application? I want to extend the equation solver to be able to solve for complex roots. Also I am working on an equation writer which allows equations to be entered in a more natural way – not as long string. Thank you, John! Check out the link below to view his application submission in the Delphi Challenge. Showcase

Read More

Developer Stories: Arsene Ekpini Elaborates On His Application eLynceus

Arsene Ekpini first used Delphi in 1997 and has been working with it since. He introduced his application to (Identify Criminal With Elynceus: Developed In C++ Builder) the Delphi 26th Showcase Challenge and we spoke with him to get a better understanding of his Delphi experiences. When did you start using RAD Studio/Delphi and have long have you been using it? At that time it was owned by Borland and it was Delphi 3. I was working for a Research Institute in Ivory Coast (West Africa). The purpose was to develop an application to manage our research protocols and results. We were working in association with a Research Institute in Montpelier, France. I discovered the great potential of that development tool and since then, each time I have to develop a program, I use it if possible. What was it like building software before you had RAD Studio/Delphi? Before we start using Delphi, we were spending a lot of time writing codes for both the functionalities and the design. How did RAD Studio/Delphi help you create your showcase application? My application is mainly developed using C++ Builder (Rad Studio 10.2.3). But I am using some third party tools, mainly related to biometrics features, which work only with Delphi. So I had to develop a Datasnap server to be able to call biometrics procedures and functions, developed with Delphi in my C++ Builder application. So, in this case interoperability between C++ Builder and Delphi was crucial! What made RAD Studio/Delphi stand out from other options? I prefer to use RAD Studio because visual components make the development of applications easier. My application eLynceus is built with C++ Builder and also connects to a DataSnap server written with Delphi. It is also easier to connect to databases and manipulate their data with components like the ClientDataSet. What made you happiest about working with RAD Studio/Delphi? 1 – Visual components. The fact that they are easy to use and also be able to build my own components. 2 – The Objects Inspector 3 – Database components like ClientDataSet TQuery, TIBQuery, etc… 4 – The possibility to build applications for different platforms: MacOs, Android, Linux from the same source code 5 – The documentation. I learn the software by myself What have you been able to achieve through using RAD Studio/Delphi to create your showcase application? Using Rad Studio, we were able to build eLynceus which is a protection tool and also a web application which uses facial recognition to identify wanted (dangerous criminals and also kidnapping and missing) persons. The application features can be divided in 4 categories: 1 – Search in main criminal databases (FBI USA, RCMP Canada, etc…) using textual search with multiple criteria 2 – Use facial recognition to search in criminal databases by downloading a picture or taking a snapshot 3 – An automatic Facial identification which is a protection tool. Used at home with a webcam or an IP camera, it has the same functionalities as a home security system plus the possibility to identify dangerous criminals. Used from a mobile device, it can provide vital information (locations and pictures) for criminal investigations. 4 – eLynceus has also social media features. Users can find and stay in touch with people they know and they have lost contact with. What are some future plans […]

Read More

Developer Stories: Patrick Gaydecki Talks Through His Vsound 2.7 Application

Patrick Gaydecki started programming in 1987. He has a showcase entry (Vsound 2.7) in the Delphi 26th Showcase Challenge and we got to interview him about his programming experiences. Visit the Vsound website to get more information. When did you start using RAD Studio/Delphi and have long have you been using it? I started using Borland Turbo Pascal back in 1987. In 1996 I migrated to Borland Pascal for Windows, then Delphi when it first appeared in 1995. I am currently using the latest version, Embarcadero RAD Studio 10.4 (Sydney). What was it like building software before you had RAD Studio/Delphi? In my company we have always developed programs with have a graphical user interface. Before RAD studio, we had to develop everything from a low-level, even down to components such as buttons, dialog boxes and of course graphing/charting components. A simple program shell would take days to craft, rather than minutes. How did RAD Studio/Delphi help you create your showcase application? Our customers are musicians – mainly players of electric violins. Vsound includes the user interface and the hardware – called a pedal – that modifies the sound produced by an electric violin (or an acoustic violin fitted with a pickup), producing an output that matches the timbre and voice of a high quality acoustic violin. Our customers need to be able to quickly and easily adjust the parameters of the system to produce the sound that they want, so an intuitive GUI is critical. Delphi has exactly the tools for the job. What made RAD Studio/Delphi stand out from other options? In a word, speed. It is so simple to create attractive, powerful applications. The compiler is also remarkably efficient, generating stand-alone executables in seconds, for both Mac and Windows. What made you happiest about working with RAD Studio/Delphi? Many things, but in particular the speed with which we can create attractive visuals that do the job they are supposed to do. The software is also doing quite a lot of calculations – Fast Fourier transforms for example, and Delphi is very fast at this. What have you been able to achieve through using RAD Studio/Delphi to create your showcase application? A user system that has high visual impact that is also robust and fault tolerant. Using both the VCL and Firemonkey, we have developed platforms for Windows and Mac OSX with a minimum of code conversion. What are some future plans for your showcase application? Wait and see! We have a range of new products in the pipeline, with an amazing new app to support our latest hardware. As ever, we will be focusing on both form and function. RAD Studio allows us a lot of flexibility in this regard. Thank you, Patrick! Check out his showcase entry through the link below. Showcase

Read More

Integration: LFRemote: A Gorgeous Light Remote Mobile App

LFRemote is a visually STUNNING Android and iOS remote app which uses LightFactory and NEO lighting control systems API integration.  Developed by Dream Solutions Ltd who are based in New Zealand their clever use of API integration in addition to the wonderful Delphi themes makes these apps really stand out from the crowd. What sort of integration does the app have? Dream Solutions Ltd have made the remote work in an almost magic way for their users. LFRemote uses automatic discovery of makes connecting to their devices zero extremely easy. Also, they say that there is zero configuration and once connected the app will automatically reconnect if the connection is broken. LFRemote works over a standard WiFi network and uses an integration with the Telnet protocol. According to the Dream Solutions, “The remote provides access to the command line, shortcut pages, submasters and the master cue list playbacks on both phone and tablet devices.” This is a great example of what can be done using Delphi and how RAD Studio’s power really helps give coding talent an extra lift. Dream Solution’s use of FireMonkey is masterful not to mention their integration of low-level communications with the lighting. There is a lot more on their website: https://www.lightfactory.net/LFRemote_for_iPad_and_iPhone.html Apple Store ‎LFRemote on the App Store (apple.com) Google Play LightFactory Remote Screenshot Gallery

Read More

#WEBWONDERS : Making web async easy

Even these Delphi developers who have only set the very first steps into web client development will realize that quite a few important functionalities in web clients are executed only asynchronously by the browser.  Why asynchronous? First of all, why did the creators of browser implement certain functionality only asynchronously? The answer to this question is quite simple. For the developers behind the browser, the user experience comes first and a UI that freezes is a big no-go. At all times, the user interface should remain response. The user should never get the impression that the browser or the machine hangs while navigating on the internet. Now, several operations happening in the browser client application can by nature have a fairly unpredictable time to execute. So, no such function should stop the execution of user interface handling code in the browser.  Traditionally, the browser developers solved this “issue” by JavaScript event handlers that are called asynchronously when the result of a certain operation is ready and meanwhile, any other code can continue to execute. This is no different in TMS WEB Core web client applications written in Object Pascal (but of course compiled to JavaScript by the pas2js compiler). Here, we typically solved this with the Object Pascal event paradigm. When a class instance method is invoked that can only have its result asynchronously, this class instance triggers an event handler when the underlying function completed. When the pas2js compiler also introduced support for anonymous methods, we offered for various such asynchronous operations, anonymous result handlers. To focus on this, let’s take the example of a TWebHttpRequest class. This class permits to invoke HTTP(s) requests from the web client application. Clearly, this is an operation with an unpredictable duration, hence, the result of the request should be asynchronously handled. Classic approaches Example 1: handling via an event: // method starting the HTTP request procedure TForm1.WebButton1Click(Sender: TObject); begin   WebHttpRequest1.URL := ‘https://www.tmssoftware.com/sample.json’;   WebHttpRequest1.Execute(); end; // TWebHTTPRequest event handler for OnResponse procedure TForm1.WebHttpRequest1Response(Sender: TObject; AResponse: string); var jo: TJSONObject; jv: TJSONValue; begin jo := TJSONObject.Create; try jv := jo.ParseJSONValue(AResponse) // do any further processing here on the parsed JSON finally end; end; Example 2: handling via an anonymous method: procedure TForm1.WebButton1Click(Sender: TObject); begin WebHttpRequest1.URL := ‘https://www.tmssoftware.com/sample.json’;WebHttpRequest1.Execute( procedure(AResponse: string; ARequest: TJSXMLHttpRequest) var jo: TJSOBject; jv: TJSONObject; begin jv := TJSONObject.Create; try jv.ParseJSONValue(AResponse); // do any further processing here on the parsed JSON finally end; end); end; Introducing promises Now, while the implementation using anonymous methods probably leads to fairly readable code, imagine needing to handle with multiple HTTP requests that depend on each other, which is in web development a fairly common use-case. While you can in theory invoke another http request from the anonymous method handler that is in turn also handled by a new anonymous method handler, you can see that it quickly becomes clumsy. In the JavaScript world, a more elegant solution was introduced in 2015 with the ES6 standard and by now, any modern browser adopted this and supports it. The good news is that the pas2js v2.0 compiler also embraced and adopted JavaScript promises and offers a Pascal styled equivalent. If you want to read all about JavaScript promises, there are many good resources, but this is a well-written and concise one. In a nutshell, with pas2js […]

Read More

Published March 31, 2021 WRITTEN BY ED TITTEL. Ed Tittel is a long-time IT industry writer and consultant who specializes in matters of networking, security, and Web technologies. For a copy of his resume, a list of publications, his personal blog, and more, please visit www.edtittel.com or follow @EdTittel As applications become increasingly cloud-based – or even, cloud-native – more and more such code is sending data to and from cloud-based stores, both public and private. This makes the methods and controls that such applications use to access the cloud of particular interest. It also keeps the onus on application owners to protect and preserve application data, particularly when it involves information subject to compliance and regulatory requirements. That brings a host of other concerns into play that range from preserving privacy and confidentiality to the “right to be forgotten” (a GDPR requirement that obliges organizations to dispose of data about any registered individuals within 30 days of request for same, or face fines and penalties). Pass the Data, But Not the Buck Indeed, organizations must realize and own up to their responsibility for data, even when it leaves their hands and goes into the cloud. At best, the cloud service provider will assume a “shared responsibility” for an organization’s data once it hits their servers or data stores. But always, the organization that acquires (and presumably controls and protects) such data remains legally responsible for its privacy, confidentiality, and disclosures of breach, theft, or unwanted access or disclosure. Thus, organizations that use cloud platforms should thoroughly understand the provider’s security capabilities, and any data protection (such as encryption, access control and audit, and so forth) that the provider offers, and what responsibility and liability it assumes for data and applications that run within its systems. Best Security Practices for Cloud Access For cloud-consuming organizations, that’s just the beginning. Best security practices also insist that organizations implement the following principles where access to cloud applications, data, configurations, and resource consumption are concerned: Apply the Principle of Least Privilege (PLP): all access should be set to “deny” by default and only so much access allowed for authorized parties as they need to use an application (ordinary users) or administer the organization’s cloud environments and settings (and all admin level access should be logged, and routinely audited, especially use of privilege, account management, configuration and set-up of applications and data stores, and so forth). Use strong authentication, 2FA or better: Ideally, all access to cloud-based applications and data should require jumping demanding hurdles before access requests get granted. At a minimum, ordinary users should be required to use two-factor authentication (2FA: cellphone or email confirmation of one-time pads). Higher-level access, should probably use multi-factor authentication that includes something beyond 2FA, such as a certificate, smart token device, biometric data (fingerprint, facial scan, and so on), or be tied to a specific admin workstation’s MAC address. Encryption for data in motion and at rest: By default, organizations should turn on and use the strongest encryption they can employ without unduly affecting data access and/or application performance. Data should also be encrypted wherever it’s stored, both at endpoints when used on the client side, and in data stores when in use by an application or truly at idle rest (active or multi-tiered storage repositories). […]

Read More

Using Tabbed Maps Visualization In A Windows App is Easy!

This visualization sample demonstrates the use of the TMapView class. We will show how to display and interact with the map, including: Changing between two tabs that display different maps. Showing the coordinates of the map center. Zooming in and zooming out both maps. Location Visualization You can find the Tabbed Map sample project at: Start | Programs | Embarcadero RAD Studio Sydney | Samples and navigate to: Object PascalMulti-Device SamplesDevice Sensors and ServicesMaps CPPMulti-Device SamplesDevice Sensors and ServicesMaps 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. Visualization with Google Maps on Android If you are running this sample on Android, in order to access the Google Maps servers, you have to add a Maps API key to the sample. To acquire the API key and add it in the sample you need to follow these configuration steps: Getting your Google Maps API key: Configuring the sample project options. Once you have the Maps API Key; in RAD Studio: Go to Project > Options > Version Info Select Android platform as Target (either in Debug, Release or All Configurations). Add the Maps API Key value in the apiKey key, and click OK. How Do We Use the Sample? Navigate to one of the locations given above and open: Delphi: TabbedMapProject.dproj. C++: TabMapProject.cbproj. If you are running the sample on Android, ensure you first follow the steps indicated in Using Google Maps on Android Before you run the sample, ensure the device is connected to the Internet. Press F9 or choose Run > Run. When you run the sample, the TMapView loads the map. To interact with the map: Use the Saint-Pétersbourg and San Francisco tabs to change between the two maps. Change the zoom using the Zoom out and Zoom in buttons. Move the map and see the coordinates of the map center in the CameraInfo TLabel, at the button of the app. Files File in Delphi File in C++ Contains TabbedMapProject.dproj TabMapProject.cbproj The project itself. TabbedMap.fmx TabbedMap.fmx The main form where the components are located. TabbedMap.pas TabbedMap.h, TabbedMap.cpp Implementation of the sample. Maps Visualization Implementation The sample uses TMapView to display and manage the maps. TMapCoordinate is used to create the initial coordinates with the indicated latitude and longitude. Then, the center of the maps are set to such coordinates with the TMapView.Location property. The TMapView.Zoom property is used to set the initial zoom of both maps to 10. This same property, is also used to zoom in and zoom out both maps by adding or subtracting 1 to the Zoom property. TMapView.OnCameraChanged updates the CameraInfo TLabel that indicates the Latitude and Longitude of the map Location. If you want to check the original post, follow the link below: http://docwiki.embarcadero.com/CodeExamples/Sydney/en/FMX.Tabbed_Map_Sample

Read More

Powerful Business Processes app works on all platforms

Taurec is a high-performance and powerful business processes app.  Also, thanks to Delphi it works on all platforms including Windows, iOS and Android.  It combines the advantages of multidimensional and relational database systems together to automate a company’s business processes. How does this app help with business processes? According to the developer, “It was developed for the Department to map to business processes. The focus is on the simple condition and a sophisticated security concept. Reports can be set up by the department itself. In addition, the end user can change the predefined views. For example, by filtering, show / hide columns, sort or group.” Website Taurec – Produkt Google Play Taurec Screenshot Gallery Taurec business processes app

Read More