Tech Articles


Working with Transactions in .NET DataStore


This document will describe how to work with transactions for CRUD operations (create, read, update and delete) in .NET DataStore.

For the full content of the document, see https://www.appeon.com/support/documents/appeon_online_help/powerbuilder/Working_with_Transactions_in_.NET_DataStore_and_ModelStore/

CRUD Operations with .NET DataStore


This tutorial demonstrates the basics of creating, in SnapDevelop, a Web API with ASP.NET Core that will use .NET DataStore as its data manipulation component.

In this tutorial, you will learn to:

  • Create a Web API Project
  • Test the API
  • Add a Database Context
  • Register the Database Context
  • Add a .NET DataStore Model
  • Add a Service
  • Perform CRUD Operations Using the Web API
  • Call the Web API from PowerBuilder

To view the full content of the tutorial, see https://www.appeon.com/support/documents/appeon_online_help/powerbuilder/CRUD_Operations_with_.NET_DataStore/index.html

JSON Enhancements in PowerBuilder 2019


 

Support for the JSON format was added in the PowerBuilder 2017 R2 release and then enhanced in 2017 R3.  PowerBuilder 2019 contains even more enhancements in this area, particularly with regard to:

  1. Enhanced JSONParser
  2. Enhanced JSONPackage
  3. DataWindows Row Level Import/Export
  4. New ModelStore JSON Format

 

Read more

Two Factor Authentication using PowerBuilder


Two factor authentication is a way of increasing the security of an application by requiring the user to provide more than a simple password (one factor authentication).  Two factor authentication utilizes two of the following factors to identify the user:

1.  Knowledge - something you know - for example, your password

2.  Possession - something you have - for example, your cell phone or access to your email account

3.  Inherent - something you are - for example, fingerprints or eye iris

The third factor is out of scope for this particular article We're going to look at adding the second form (possession) to a PowerBuilder application. Specifically, we're What going to use Google Authenticator, an application for mobile devices (and the desktop) that generates time based one time temporary passwords (TOTP) for use with 2FA.

The sample code for this article is available on CodeXchange.

 

Read more

Curso en Español de PowerBuilder


 

Hola Amigos, Comparto mi curso básico de PowerBuilder en Español. Los temas son los siguientes:

  • Introducción a PowerBuilder
  • Ambiente de desarrollo de PowerBuilder
  • Crear un objeto Aplicación
  • Creación de ventanas
  • Power Scripts
  • Bases de datos relacionales
  • Painter de Bases de datos
  • Objeto DataWindow
  • Conexión a Bases de datos
  • Programación orientada a objetos en PowerBuilder
  • Construyendo Menus
  • Introducción a aplicaciones MDI
  • Usando DataWindow Controls y MDI Sheets
  • Mostrando datos de la base de datos y declarando User Events
  • Conexión de DataWindows a Bases de datos
  • Declaración y uso de funciones en ventanas
  • Declaración y uso de eventos en ventanas
  • Creando instancias de ventanas
  • Declarando y usando Funciones
  • Modificando, Insertando, y borrando filas
  • Salvando cambios en la base de datos
  • Creación de Ejecutables
Read more

Inno Setup: Sample .ISS File


PowerBuilder v12.1, build 7055
Windows 7 32 bit platform
Windows 7 64 bit platform
Windows 10, 64 bit platform


A Sample Inno Setup ".ISS" File
Olan Knight
28-Mar-2019


Once upon a time, long, long ago, we used a product called InstallShield to create the Windows installer for our various products. Over time, the cost for InstallShield became prohibitive, and we eventually settled on using Inno Setup as the replacement tool to create out installers.

You can get the free tool here:    http://www.jrsoftware.org/isinfo.php
The excellent HELP file is here:     http://www.jrsoftware.org/ishelp/   

It's a simple and intuitive tool, but it has some quirks and there is a learning curve. 
Inno Setup uses an ".iss" file as its source code. It compiles that ISS file into the SETUP.EXE for your application, with the file name being up to you.

Read more

Working with Branches in Git for PowerBuilder


One of the reasons that people choose to use Git is how easy it is to do branching. Unfortunately, PowerBuilder hasn't implemented it yet. But that doesn't stop you from using this feature if you don't mind taking a few extra steps. This article shows you how you can work on different branches with the help of TortoiseGit. 

Read more

Find Articles by Tag

OLE HTTPClient GhostScript Graph C# Repository SnapDevelop Class .NET Std Framework PowerServer Web Transaction Outlook OAuth 2.0 Export API WebBrowser SQL Server CoderObject TreeView Filter JSONGenerator PBVM Array Debugger OAuth Variable Web Service Proxy PowerScript (PS) Resize Error DataWindow TFS RESTClient Messagging Web API Database Profile MessageBox PowerServer Mobile Mobile Configuration .NET DataStore PFC Import SOAP PDFlib SDK Charts Text COM Event Handler Export JSON JSONParser Model Authentication Sort PostgreSQL ODBC driver External Functions Application SnapObjects ODBC SVN PBDOM IDE Windows OS Elevate Conference Automated Testing Database Trial Android DragDrop Database Table PDF PostgreSQL Azure Platform XML Installation Service Branch & Merge Database Object PowerBuilder WinAPI TortoiseGit Linux OS Window PowerBuilder Compiler SqlModelMapper JSON SqlExecutor UI Database Connection Deployment RichTextEdit Control Debugging Bug DataWindow JSON TLS/SSL Stored Procedure REST Validation .NET Assembly Jenkins Migration SQL DevOps Event Icon Data Source Control PBNI NativePDF Visual Studio License Event Handling Git Database Table Schema InfoMaker Database Table Data ActiveX CrypterObject Encoding Oracle 32-bit 64-bit OrcaScript UI Modernization Performance PowerBuilder (Appeon) File Source Code Database Painter Open Source DLL Expression Design Import JSON Encryption Menu Windows 10 Icons DataType BLOB Authorization UI Themes Testing RibbonBar RibbonBar Builder iOS Syntax Script Excel Interface CI/CD Debug