Noutați

Automate Access To Current And Historical Currency Exchange Rates Via API

{     “success”: true,     “timestamp”: 1618443847,     “base”: “EUR”,     “date”: “2021-04-14”,     “rates”: {         “AED”: 4.401602,         “AFN”: 92.987438,         “ALL”: 123.189782,         “AMD”: 622.325441,         “ANG”: 2.150997,         “AOA”: 771.454377,         “ARS”: 111.049893,         “AUD”: 1.550998,         “AWG”: 2.156941,         “AZN”: 2.046165,         “BAM”: 1.960773,         “BBD”: 2.419639,         “BDT”: 101.557685,         “BGN”: 1.956108,         “BHD”: 0.4518,         “BIF”: 2355.859391,         “BMD”: 1.198301,         “BND”: 1.602747,         “BOB”: 8.262446,         “BRL”: 6.775187,         “BSD”: 1.198391,         “BTC”: 1.9067596e–5,         “BTN”: 90.06308,         “BWP”: 13.096988,         “BYN”: 3.135003,         “BYR”: 23486.695865,         “BZD”: 2.415529,         “CAD”: 1.499979,         “CDF”: 2391.808752,         “CHF”: 1.105916,         “CLF”: 0.030816,         “CLP”: 850.318038,         “CNY”: 7.824422,         “COP”: 4381.9464,         “CRC”: 734.603479,         “CUC”: 1.198301,         “CUP”: 31.754971,         “CVE”: 110.932648,         “CZK”: 25.94405,         “DJF”: 212.962255,         “DKK”: 7.437344,         “DOP”: 68.255016,         “DZD”: 158.571629,         “EGP”: 18.777483,         “ERN”: 17.976802,         “ETB”: 49.55004,         “EUR”: 1,         “FJD”: 2.452563,         “FKP”: 0.870416,         “GBP”: 0.869667,         “GEL”: 4.140164,         “GGP”: 0.870416,         “GHS”: 6.926206,         “GIP”: 0.870416,         “GMD”: 61.113259,         “GNF”: 11983.008607,         “GTQ”: 9.248383,         “GYD”: 250.707366,         “HKD”: 9.305333,         “HNL”: 28.903569,         “HRK”: 7.57158,         “HTG”: 97.906362,         “HUF”: 358.507893,         “IDR”: 17515.083611,         “ILS”: 3.931206,         “IMP”: 0.870416,         “INR”: 89.904135,         “IQD”: 1751.316633,         “IRR”: 50454.456016,         “ISK”: 151.714206,         “JEP”: 0.870416,         “JMD”: 179.460912,         “JOD”: 0.849552,         “JPY”: 130.510579,         “KES”: 127.98481,         “KGS”: 101.611855,         “KHR”: 4847.126741,         “KMF”: 492.801162,         “KPW”: 1078.470959,         “KRW”: 1338.046775,         “KWD”: 0.361276,         “KYD”: 0.998693,         “KZT”: 516.331626,         “LAK”: 11287.993862,         “LBP”: 1825.846885,         “LKR”: 241.461698,         “LRD”: 206.832071,         “LSL”: 17.555151,         “LTL”: 3.538271,         “LVL”: 0.72484,         “LYD”: 5.410369,         “MAD”: 10.702619,         “MDL”: 21.535088,         “MGA”: 4535.568261,         “MKD”: 61.636388,         “MMK”: 1689.632611,         “MNT”: 3415.939059,         “MOP”: 9.586206,         “MRO”: 427.793183,         “MUR”: 49.357594,         “MVR”: 18.514034,         “MWK”: 943.661381,         “MXN”: 24.066602,         “MYR”: 4.947184,         “MZN”: 73.899259,         “NAD”: 17.5549,         “NGN”: 455.949342,         “NIO”: 42.036495,         “NOK”: 10.054341,         “NPR”: 144.100848,         “NZD”: 1.677843,         “OMR”: 0.461273,         “PAB”: 1.198391,         “PEN”: 4.348335,         “PGK”: 4.229665,         “PHP”: 58.092767,         “PKR”: 183.160095,         “PLN”: 4.554208,         “PYG”: 7547.686137,         “QAR”: 4.363013,         “RON”: 4.926575,         “RSD”: 117.877158,         “RUB”: 91.127306,         “RWF”: 1171.339041,         “SAR”: 4.494591,         “SBD”: 9.559982,         “SCR”: 18.14974,         “SDG”: 455.955933,         “SEK”: 10.143077,         “SGD”: 1.600804,         “SHP”: 0.870416,         “SLL”: 12252.625895,         “SOS”: 699.807988,         “SRD”: 16.960723,         “STD”: 24839.742882,         “SVC”: 10.486172,         “SYP”: 1506.944044,         “SZL”: 17.554312,         “THB”: 37.538567,         “TJS”: 13.664046,         “TMT”: 4.206036,         “TND”: 3.287535,         “TOP”: 2.735603,         “TRY”: 9.677839,         “TTD”: 8.146733,         “TWD”: 33.952055,         “TZS”: 2778.859514,         “UAH”: 33.497945,         “UGX”: 4315.378685,         “USD”: 1.198301,         “UYU”: 52.971442,         “UZS”: 12589.347994,         “VEF”: 256232928513.0559,         “VND”: 27655.584381,         “VUV”: 131.260508,         “WST”: 3.033771,         “XAF”: 657.576278,         “XAG”: 0.047174,         “XAU”: 0.00069,         “XCD”: 3.238468,         “XDR”: 0.841171,         “XOF”: 660.854586,         “XPF”: 120.009287,         “YER”: 299.994695,         “ZAR”: 17.244269,         “ZMK”: 10786.147736,         “ZMW”: 26.585877,         “ZWL”: 385.853094     } }

Read More

Creating custom File Dialogs: ShellBrowser Delphi Components

No doubt, the VCL FileDialogs offer a multitude of configuration options that cover most standard use cases. But sometimes this might not be enough and you want to create a specialized custom dialog with a different layout, additional controls (e.g. for import/export dialogs) or different looks. Rebuilding the dialog from scratch, including all the file system related components, will however in most cases not be a feasible alternative. At this point, the ShellBrowser Components can fill the gap quite comfortably: All the Win32 shell related functionality is wrapped into easy-to-use components so you can concentrate on your special use case. You can obtain a trial version of the ShellBrowser Components via Embarcadero’s GetIt Package Manager or using the link at the end of this article. After installation, you will find the ShellBrowser components in the “JAM Software” section of the component palette. The Windows Explorer style The quickest way is using a “TJamExplorerBrowser” component as the main building block of the dialog. Similar to the FileDialog components of VCL, ExplorerBrowser is built around a Windows COM object, representing a configurable file system browser which shares most parts with the Windows File Explorer. Using the “VisiblePanes” property, you can configure what parts of the control you want to show (the folder view on the right side cannot be hidden). Other design time options for the control include setting the path or “Special Folder” – a collection of named locations, including file system folders (e.g. SF_DOWNLOADS) and virtual folders (SF_DRIVES), as well as different filtering and view settings. To make the dialog complete, we’ll add two more typical file dialog components, the “TJamOpenSaveComboBox” for the file name to be opened or saved, and the “TJamFilterCombo” for specifying file extension filters which can be applied. Keeping controls in sync There is no need to write code to synchronize the components! This can be done using a “TJamShellLink”. You can simply drop an instance from the component palette and assign it as the “ShellLink” property of the ShellBrowser controls that should be synchronized. Let me show you in this small example: All ShellBrowser controls on the form use the same ShellLink. TJamShellLink synchronizes selected paths, files and filters among attached controls. The ShellLink can be used to restrict navigational access to an allowed range of folders, too. In the example below, it will apply the filter that is set in the TJamFilterCombo to ExplorerBrowser, set the text of the “TJamOpenSaveComboBox” to the file name that is selected in ExplorerBrowser and navigate to the path that the user types in the TJamOpenSaveComboBox in ExplorerBrowser. Using the ExplorerBrowser as the main file system component in this example has the benefit that – being a Windows control – it looks and behaves exactly like Windows Explorer. The drawback is that not all details of appearance or behavior can be accessed or modified. E.g. there is no way to filter the visible root nodes of the navigation tree; ExplorerBrowser also does not support VCL Styles or any other form of dark theme. Even more control: TJamShellTree and TJamShellList As an alternative approach, the ExplorerBrowser component can be replaced by various other ShellBrowser controls, such as the TJamShellList, TJamShellTree and TJamShellBreadCrumbBar. These are not based on a Windows COM object, but replicate its look and behavior as closely as […]

Read More

Delphi Provides Better Enterprise Source Code Protection Than WPF And Electron

How do Delphi, WPF .NET Framework, and Electron perform compared to each other, and what’s the best way to make an objective comparison? Embarcadero commissioned a whitepaper to investigate the differences between Delphi, WPF .NET Framework and Electron for building Windows desktop applications. The benchmark application – a Windows 10 Calculator clone – was recreated in each framework by three Delphi Most Valuable Professionals (MVPs) volunteers, one expert freelance WPF developer, and one expert Electron freelance developer. In this blog post, we are going to explore the IP Security metric, which is part of the Functionality comparison used in the whitepaper. What is IP Security in a deployable application? How secure is the intellectual property of the source code in a deployable project? After businesses invest resources into their projects, they face the challenge of putting their product into the hands of the public while protecting the code and techniques that produce revenue. This qualitative metric evaluates the ability of a user to access source code via decompilation.  Intellectual property protection is fundamentally important to long-term business plans. If a product solves a new problem or utilizes a novel technique, the developers should understand how their choice of framework affects IP vulnerability. Delphi programs compile into platform-native machine code rather than intermediate code. Decompilation using free tools can recover the GUI form but only yields assembly code for the logic. IP security is more tenuous in WPF. Decompiling executable and library files with free tools results in recognizable C# business logic and nearly recognizable XAML text. Finally, Electron has the most significant problem – it gives away source code with each installation by default. Electron application code can be recovered with a simple text editor – a function of how the framework is structured – but can be somewhat obfuscated using third-3rd party tools. Available decompiler tools and their results when applied to each framework’s calculator application are listed below. The goal of this decompilation exercise was to determine the feasibility of retrieving both the UI and the original code from each framework’s calculator application using open-source or free tools. The frameworks assessed were Delphi VCL, Delphi FMX, WPF (C#), and Electron (with Angular). When the Delphi VCL and FMX calculators were decompiled, all UI elements were successfully extracted and the logic code was presented as assembly. This exercise did not extract function and procedure structure, but it may be possible. Decompiling the WPF calculator yielded the UI elements and mostly recognizable C# code. WPF .NET Framework applications use a known MSIL (Microsoft Intermediate Language) format that is easy to disassemble and decompile. Dependent assemblies can easily be extracted. Resources can easily be extracted. .NET Reflection can be used to extract information about a .NET assembly. The entire contents can be extracted including the classes, methods, code, and resources from an assembly. An advanced decompiler can reconstruct almost the exact structure of your code including for/while loops, if statements, and try catch blocks. Literal strings can easily be extracted. Finally, calls to methods and properties to external assemblies can be extracted. The UI elements and JavaScript code of the Electron calculator are easily exposed using a standard text editor. The Typescript code was transpiled into JavaScript and could not be recovered. Overall, Electron’s packaging provided a very limited level of obfuscation. Let’s take a […]

Read More

Incredible Real-Time Mobile App Is Built With Delphi

The OCEASet™ real-time mobile application is the companion tool for configuring the OCEABridge™ Bluetooth®/Cloud gateway. OCEABridge™ is a gateway device that provides a transparent link between customer’s local Emerald™ or Atlas™ dataloggers and the OCEASOFT Cloud service via the Internet. Readings are taken in real-time by dataloggers and are captured wirelessly and automatically by OCEABridge™.  The readings are forwarded to the Cloud for monitoring and reporting. What kind of real-time data can be captured? According to OCEASoft’s website the apps provide: Wireless data logger communication with Bluetooth Configurable data logging start time Definable high and low limits, with delays Fast access to readings, events, and alarms Automatic data transfer to OCEASOFT’s secure OCEACloud platform Values displayed in °C or °F, in GMT or local time Generates e-mail with mission report and attached CSV file with all information Download complete reports in PDF, XLS, and CSV format The apps are written using RAD Studio’s Delphi with the Firemonkey cross-platform capabilities and this means they’re available on both iOS and Android. Website OCEASet iOS App Store ‎OCEASet on the App Store (apple.com) Google Play OCEASet Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Introducing TMS WEB Core for Visual Studio Code 1.3

We are on the verge of rolling out the first beta of the next milestone of our TMS WEB Core for Visual Studio Code product. This is the version v1.3 and along all TMS WEB Core framework enhancements that will come in TMS WEB Core for Delphi 1.7, the new release v1.3 will introduce the major new feature that is package support. Learn all about in in our upcoming free webinar! Package support comes to TMS WEB Core for Visual Studio Code Package support is what will enable software developers to install packages containing component code for install of components for design-time use. While it is perfectly possible to use custom components with the current release of TMS WEB Core for Visual Studio Code, it was restricted to use these components at runtime. So, developers had to create and instantiate classes of components in code. With the new release, we will bring the RAD experience also for custom components. You write your custom component, add its source code to a package and then compile and install the package in the IDE. After this step, the registered component classes are added on the tool palette and can be dragged on the form designer and can be customized visually by changing properties via the object inspector. Our architect of TMS WEB Core for Visual Studio Code created this video for you to explain this: FNC comes to TMS WEB Core for Visual Studio Code Yes, the exciting news is not just that you can now add custom components for design-time use in TMS WEB Core for Visual Studio Code, but also that the entire range of TMS FNC components becomes available for use with TMS WEB Core for Visual Studio. We lost count of the total number of FNC components but this must meanwhile be approaching 300 or perhaps more. So yes, you will be able to install into TMS WEB Core for Visual Studio Code and use all of these components for creating classic web client applications, PWA’s (Progressive Web Applications) or Electron based cross-platform desktop apps* for Windows, macOS and Linux. And of course, you will be able to develop these applications from a Windows, macOS or Linux machine as the Visual Studio Code IDE is at home on these operating systems and so will be our FNC components. Opening, compiling & installing the package from the IDE List, add & remove component packages in the IDE Components on the tool palette and use the FNC components on the designer * Note that our Miletus technology for creating cross-platform desktop apps that will come in TMS WEB Core for Delphi 1.7, is scheduled for TMS WEB Core for Visual Studio Code v1.4 and will at that point also offer Windows, macOS and Linux support for and from these three operating systems. Join our upcoming free webinar Interested in learning all about the new version v1.3? We have a free webinar coming up for you via our platform TMS Web Academy (built with TMS WEB Core for Visual Studio Code by the way) and we have as host our chief architect José Leon Serna assisted by Bruno Fierens. Register now for this free webinar and be first to learn everything about component creation from TMS WEB Core for Visual Studio Code.

Read More

Securing Cloud Access in Applications

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

Getting Ahead of Payment Card Security Threats

Published April 08, 2021 WRITTEN BY MICHAEL SOLOMON Michael G. Solomon, PhD, CISSP, PMP, CISM, PenTest+, is a security, privacy, blockchain, and data science author, consultant, educator and speaker who specializes in leading organizations toward achieving and maintaining compliant and secure IT environments. Payment card attacks are nothing new. Cybercriminals have been targeting payment cards for more than a decade. However, there is a disturbing trend of cybercriminals discovering and leveraging novel ways to steal payment cards credentials during online transactions. Online merchants have long espoused techniques that make online commerce safe, but that assurance is under a new level of attack. Recent advances in payment card attack sophistication up the game for cybersecurity professionals. Protecting online commerce is always challenging, but it can be rewarding and effective. Let’s look at a few ways to stay at least one step ahead of emerging payment card threats. Understanding payment card threats Using someone else’s payment card to steal funds is an attack that has existed as long as payment cards. In the beginning, merchants would use a mechanical device to make an impression of the raised payment card numbers into a set of carbon-copied transaction records. The customer would sign the record and take one copy. A second copy would stay with the merchant, and a third copy would go to a payment processor to settle the payment. The early process was simple, and when the device that created payment card impressions would fail, vigorously rubbing a pen or pencil body over the card would transfer the image to the transaction record. In those days, if you could grab a payment card number and forge the owner’s signature, you could create fraudulent transactions. When online transactions started to become more prevalent, signatures became less important; all cybercriminals needed were elements of a payment card holder’s basic information, such as card number, name and billing address. Intercepting credit card numbers wasn’t very difficult, since encryption wasn’t the norm prior to the early 2000s. But it didn’t take long for the payment card industry to recognize the growing threat to transactions. Several of the biggest payment card industry vendors, including Visa, MasterCard, American Express, JCB International and Discover, joined forces to develop the Payment Card Industry Data Security Standard (PCI DSS). One of the many requirements of the PCI DSS is that all transmissions involving payment card data (and subsequent storage) must be encrypted. PCI DSS increased security and upped the ante for payment card attacks, so the cybercriminals upped their game as well. Now we see a wide range of attacks that focus on intercepting, or skimming, payment card numbers and related data prior to any encryption efforts. The general idea for today’s attacks is to find creative ways to push the attack closer to the point of payment card number acquisition. In the physical world, this led to portable and stealthy physical card skimmers. Card skimmers work by replacing a valid card reader with a device that reads the credit card data and then sends it to an attacker’s preferred repository. Sophisticated skimmers pass the data through to the intended destination to remain undetected for as long as possible. As small battery-powered skimmers became popular, unscrupulous servers at some restaurants began skimming cards with pocket skimmers before processing payment cards properly. (Of […]

Read More

Developer Stories: Themba Sivate Talks About The ST Auto Player Lite Software

Themba Sivate has been a Delphi programmer since 2012. He introduced his application (ST Audio Player Lite) at the Delphi 26th Showcase Challenge and we got to converse with him to have an insight on his Delphi expertise. Find out more about his software at ST Software When did you start using RAD Studio/Delphi and have long have you been using it? I started using RAD Studio on 2012 at University. A year later, I started to learning building applications from scratch using C++ builder installed on institution’s machines, until today. What was it like building software before you had RAD Studio/Delphi? I tried both QT Creator and visual studio before, and it was a pain and limitations too. Rad Studio will let you call Delphi code within C++. Meaning you can reuse Delphi libraries on c++, How did RAD Studio/Delphi help you create your showcase application? RAD Studio is easy to use, simplified drag and drop, simplified packaging. It help me to complete my audio player in less time. What made RAD Studio/Delphi stand out from other options? Easy to use, backwards compatibility, tons of libraries/components, simplified drag and drop, cross-platform outputs. What made you happiest about working with RAD Studio/Delphi? Less development time. Good database handling and development. Its sad that the I cant afford the license at this stage, but I’d be happy to build the list of applications I had on my mind which requires a paid version of RAD Studio. What have you been able to achieve through using RAD Studio/Delphi to create your showcase application? Debugging was pretty easy and straight forward. Most can be achieved by modifying values of the properties, without writing a line code. What are some future plans for your showcase application? I’m planning to upload it on windows store. Future releases are planned and bug fixes. Also planned to support multiple languages. Thank you, Themba! You can check out his software’s showcase entry below. Showcase

Read More

How To Make An Epic Dashboard Visualization For Windows, Mobile And The Web The Easy Way

Dashboards, a graphical visualization of data, seem to be everywhere, especially in these pandemic times where daily and weekly trends take on a very personal significance. In this article we are going to look at a beautiful dashboard which you can very easily customize to suit your own needs. Visualization is the art of making the useful, beautiful. There is only so far you can get with tables of facts and figures. Sooner or later there comes a time when you will need to create a graphical visualization of your data. Pictures really do save a thousand words, but they also help your users get a grasp of the information in a more easily consumed way. Most Delphi programmers are probably familiar with the basic TChart component which has been bundled with nearly every version of Delphi. For more recent versions of RAD Studio such as Sidney, you had to tick an optional checkbox to get the TChart component to appear on your component palette. That bundled version of the TChart component is provided by Steema Software based in Spain. The dashboard we are writing about here is also produced by Steema to demonstrate the power of their Pro versions of TeeChart as well as their TeeGrid. More on that in a moment. What does the dashboard visualization look like? It’s beautiful! Where can you get the dashboard visualization? The great news is the Steema dashboard example is freely available for download from GitHub here: https://github.com/Steema/TeeChart-FireMonkey-samples/tree/master/Dashboard I used the cross-platform GitHub desktop project to download the sample directly from the repository. What components do you need? To work with Steema’s dashboard visualization example you’re going to need a copy of their Pro TeeChart component. This is NOT the same as the bundled version. In fact, if you have the bundled version installed you will need to completely uninstall it first because it will clash with the Pro version. You will also need to install Steema’s TeeGrid component too. What if I don’t have the TeeChart Pro or TeeGrid component packs? Not a problem – Steema’s website has a download for a fully functional 30-day trial of both component libraries. I used the trial versions to write this article and they worked without any problems. Go to this link to download them: https://www.steema.com/product/vcl Just make sure you uninstall the bundled version of TeeChart that came with RAD Studio FIRST because I didn’t remember and got myself into a bit of tangle. If that happens to you, uninstall both the new component packs using their uninstaller. Then go into the IDE, select “component” from the menu, then “install packages”. Now scroll down and make sure all references to the TeeChart and TeeGrid components are gone. Click on any that are there, and then “remove”. Now close the IDE and install the TeeChart Pro and TeeGrid components using their installers, and all will be well. I make these mistakes, so you don’t have to! What does the dashboard visualization do? Well, the source code reads from an included SQLite database. Almost all the data retrieval is done using LiveBindings. All the data access components use the FireDAC query components. There are a few areas in the program where the data is read and manipulated in code but overall, it’s nearly all the LiveBindings […]

Read More

Powerful Real-Time Retail Dashboard App is Powered by Delphi

RunIt Pulse mobile app provides owners and managers of retail chains with a real-time “on-the-go” dashboard and it’s made possible by the perfect partnership of Delphi coupled with developer skill.  This powerful and featured-packed app allows them to view critical, real-time metrics about their stores.  Written by Run It Systems based in New York, the app is available on just about any kind of hardware users might need including Windows, maxOS, iOS and Android. Also, Run It targets a number of different types of hardware too not only desktops and laptops but also tablets and mobile phones.  In fact, wherever Run It’s users are or whatever they are doing they can have a retail dashboard at their fingertips updated in real-time. RunIt Systems Website What sort of real-time data can RunIt Pulse display? RunIt Systems tell us the real-time RunIt Pulse allows the user to view: The latest sales statistics, broken down by store Number of receipts, voids etc. Top selling items, including on-hand and on-order Sales results by employee Sales trending graphs Google Play RunIt Pulse Apple App Store ‎RunIt Pulse on the App Store Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More