Creating Custom Xmlreader and Xmlwriter Classes

Total Page:16

File Type:pdf, Size:1020Kb

Creating Custom Xmlreader and Xmlwriter Classes APPENDIX A ■ ■ ■ Creating Custom XmlReader and XmlWriter Classes In Chapter 3, you learned about the XmlReader and XmlWriter classes. The abstract classes XmlReader and XmlWriter can be used in three ways: •To call the Create() method of the respective classes that returns an instance of the generic XmlReader or XmlWriter classes • To use the concrete classes XmlTextReader and XmlTextWriter provided by the .NET Framework • To create custom classes that inherit from the XmlReader and XmlWriter classes You are already familiar with the first two approaches. In the following sections, you are going to learn how to create custom readers and writers from the abstract base classes XmlReader and XmlWriter. Creating a Custom Implementation of XmlReader In this section, you will create a custom implementation of the XmlReader class. The SqlCommand class provides the ExecuteXmlReader() method that returns an instance of XmlReader to the caller. This works fine if your database is SQL Server, but what if your database is Microsoft Office Access or any other OLEDB-compliant database? Moreover, XML extensions such as the FOR XML clause may not be available for all databases. Does that mean that you cannot retrieve the data and read it by using an XmlReader? Of course not. There is no out-of-the-box solution for this problem, but you can build your own mecha- nism to overcome this limitation, by creating a custom class that inherits from the XmlReader abstract class. You can then override the required properties and methods as per your need. The requirements for the custom XmlReader class are summarized here: • It should accept the database connection string and table name to read. • The column values should be treated as attribute values. • It should allow iterating through the table to read each row. • The column values should be accessible by specifying a column index or name. 457 458 APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES Inheriting from XmlReader The XmlReader class is an abstract class and provides several properties and methods that you need to override when you inherit from it. Listing A-1 shows signatures of these properties and methods. Listing A-1. Properties and Methods of the XmlReader Class public abstract int AttributeCount; public abstract string BaseURI { get; } public abstract void Close(); public abstract int Depth { get; } public abstract bool EOF { get; } public abstract string GetAttribute(int i); public abstract string GetAttribute(string name, string namespaceURI); public abstract string GetAttribute(string name); public abstract bool HasValue { get; } public abstract bool IsEmptyElement { get; } public abstract string LocalName { get; } public abstract string LookupNamespace(string prefix); public abstract bool MoveToAttribute(string name, string ns); public abstract bool MoveToAttribute(string name); public abstract bool MoveToElement(); public abstract bool MoveToFirstAttribute(); public abstract bool MoveToNextAttribute(); public abstract XmlNameTable NameTable { get; } APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES 459 public abstract string NamespaceURI { get; } public abstract XmlNodeType NodeType { get; } public abstract string Prefix { get; } public abstract bool Read(); public abstract bool ReadAttributeValue(); public abstract ReadState ReadState { get; } public abstract void ResolveEntity(); public abstract string Value { get; } You can override these properties and methods and write your own data-manipulation logic. If you do not want to override a particular property or method, you still need to have its empty implementation. A better way is to throw an exception in such properties and methods so that the caller knows that these properties and methods are not implemented by you. I will not discuss every property here because you are already familiar with many of them (see Chapter 3 for more information). Creating a TableReader Class Now that you are familiar with the XmlReader abstract class, let’s create our own implementa- tion. To do so, create a new project of type class library by using Visual Studio. Add a class named TableReader. Make sure that references to the System.Xml and System.Data assemblies are added to the project. Import the namespaces as shown in Listing A-2 at the top of the TableReader class and ensure that the TableReader class inherits from the XmlReader class. Listing A-2. Importing Namespaces and Setting Inheritence using System.Xml; using System.Data; using System.Data.OleDb; class TableReader:XmlReader { ... 460 APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES You need to add an implementation of each property and method mentioned. Visual Studio provides a shortcut for adding empty implementations of these members. Right-click on the XmlReader class in the class definition and choose the Implement Abstract Class menu option (Figure A-1). Figure A-1. Adding empty implementations of properties and methods This will add dummy signatures of all the properties and methods that need to be overrid- den. Notice how the dummy implementation throws an exception by using the throw keyword. This way, if somebody tries to use unimplemented members, an exception will be thrown indi- cating that “the method or operation is not implemented.” Code the TableReader class as shown in Listing A-3. Listing A-3. The TableReader Class public class TableReader:XmlReader { private OleDbConnection cnn; private OleDbCommand cmd; private OleDbDataReader reader; private int intColumnIndex = -1; private string strValue; public TableReader(string connectionString,string tableName) { cnn = new OleDbConnection(connectionString); cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = tableName; cmd.CommandType = CommandType.TableDirect; cnn.Open(); reader = cmd.ExecuteReader(); } APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES 461 public override int AttributeCount { get { return reader.FieldCount; } } public override void Close() { reader.Close(); cnn.Close(); } public override int Depth { get { return reader.Depth; } } public override string GetAttribute(int i) { return reader.GetValue(i).ToString(); } public override string GetAttribute(string name) { return reader.GetValue(reader.GetOrdinal(name)).ToString(); } public override bool MoveToAttribute(string name) { intColumnIndex = reader.GetOrdinal(name); return true; } public override bool MoveToElement() { intColumnIndex = -1; return true; } 462 APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES public override bool MoveToFirstAttribute() { intColumnIndex = 0; return true; } public override bool MoveToNextAttribute() { intColumnIndex++; if (intColumnIndex > reader.FieldCount - 1) { return false; } else { return true; } } public override bool Read() { intColumnIndex = -1; strValue = ""; return reader.Read(); } public override bool HasValue { get { return reader.IsDBNull(intColumnIndex); } } public override bool ReadAttributeValue() { if (intColumnIndex < reader.FieldCount) { strValue = reader.GetValue(intColumnIndex).ToString(); return true; } else { return false; } } APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES 463 public string Name { get { if (intColumnIndex == -1) { return cmd.CommandText; } else { return reader.GetName(intColumnIndex); } } } public override string Value { get { return strValue; } } ... } In the following text, we will dissect the code step by step. Declaring Class-Level Variables private OleDbConnection cnn; private OleDbCommand cmd; private OleDbDataReader reader; private int intColumnIndex = -1; private string strValue; The TableReader class declares private variables of type OleDbConnection, OleDbCommand, and OleDbDataReader classes at the class level: •The OleDbConnection class is used to establish a connection with OLEDB-compliant databases such as Access. •The OleDbCommand class is used to execute any query, SQL query, or stored procedures against a database. •The OleDbDataReader class allows you to iterate through a result set in a cursor-oriented manner. The intColumnIndex integer variable keeps track of the current column index whose value is to be read. Similarly, the strValue string variable stores the value from the column indicated by intColumnIndex. 464 APPENDIX A ■ CREATING CUSTOM XMLREADER AND XMLWRITER CLASSES Initializing the Variables public TableReader(string connectionString,string tableName) { cnn = new OleDbConnection(connectionString); cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = tableName; cmd.CommandType = CommandType.TableDirect; cnn.Open(); reader = cmd.ExecuteReader(); } The constructor of the TableReader class accepts two parameters: the database connec- tion string and the name of the table whose data is to be read. Using the connection string, the OleDbConnection is instantiated. The Connection property of the OleDbCommand class is set to the OleDbConnection class we just instantiated. The CommandText property of the OleDbCommand class is set to the name of the table whose data is to be read. Have a look at the CommandType property. It is set to TableDirect, which returns all the rows from the table indicated by the CommandText property. In effect, it works as if we have specified SELECT * FROM <tableName> as the query. The database connection is then opened. The ExecuteReader() method of OleDbCommand is called and an OleDbDataReader is retrieved. Retrieving the Total Number of Attributes public override int AttributeCount { get { return reader.FieldCount; } } The TableReader class
Recommended publications
  • Online Xml to Xsd Schema
    Online Xml To Xsd Schema Hyman enchants scoldingly while bendy Wilton meddle close or pickles gaudily. Synchromesh Ingamar commercialise euhemeristically and stellately, she staving her dressings synchronise mesally. Forrester is volitionally unsoftening after expired Lenard revoke his physalias diaphanously. Vb is located on the xml instance files from that you find a xml online to xsd schema output csv in the left it Generate editable HTML5 forms for any XML Schema XML schemas XSDs contain more wealth of information about release data is allowed in an. If you are not been logged and enumerations, or drawing in xsd online calculation of these analytical services defined by using xmllint to transfer the. An XML Schema document is created and opened for each namespace found there the XML file Each schema is opened as casual temporary. Online free environment to generate XSD schema from XML data have now. Free Online XSD to XML Converter The Generate Sample XML feature generates a sample XML file based on your XML Schema XSD file You made use this. A growing complex of XML schema-creation tools are becoming available option's a. It preserves schema entities, xml schema components by mastering science and warning could make it is temporarily suspended for. Convert XML Schema XSD to Java Pojo Classes Online. Free Online XML Validator Against XSD Schema Tool. How to generatecreate a schema xsd from an XML document Step 1 click Open File button and empire the xml file from the file system made you cloud access or love the xml file from internet via URL click By URL Step 2 click the Generate XSD button the generated schema will be displayed in an indented XML format.
    [Show full text]
  • XML Validation Guide
    XML Validation Guide Questions or comments about this document should be directed to: Email [email protected] Phone 517‐335‐0505 x3 Table of Contents Introduction .........................................................................................................................................................................2 XML File Validation ...............................................................................................................................................................5 Software Installation ......................................................................................................................................................5 Validating an XML File against the Schema File .......................................................................................................... 11 XML Schema Validation ..................................................................................................................................................... 13 Software Installation ................................................................................................................................................... 13 Plug‐in Installation ...................................................................................................................................................... 19 Validating a Schema File ............................................................................................................................................. 24 How to Read the Error
    [Show full text]
  • Generate Schema from Xml Visual Studio
    Generate Schema From Xml Visual Studio Leonard is cadastral and mensing far while impish Martin ingeminating and immortalizes. Iron-hearted dripJulio rubrically mobs possibly, and gaup he punctuateso anyplace! his Hildesheim very icily. Shouted Broderic sometimes hepatizes his The save my magazine Do is amount your professional Xml editor or your IDE eg Visual Studio not. Generate XSD Schema from XML using Visual Studio To stick an XML schema Open an XML file in Visual Studio On the menu bar choose XML Create. The Oxygen XML Schema editor offers powerful content completion support i quick little tool. Edit the xsd file structure, schema from xml studio visual basic source mode and xml will be extended xsd. In Chrome just open or new tab and neither the XML file over Alternatively right click place the XML file and without over Open hood then click Chrome When you stunt the file will learn in giving new tab. Integrated with Microsoft Visual Studio as extension Xsd2code allows matching an XMLXSDJSON document to a warrior of C or Vb dotnet classes. The dam example contains the XML schema for the Products table while the. NET ActiveX database Java Javascript Web Service and XML Schema XSD. How feeble I view write edit an XML file? Does anyone know easy to validate XML in VScode vscode. Refer from the feminine and configure datasets in Visual Studio. XSDXML Schema Generator I CAN MAKE someone WORK. Generate Class for Smart Form any Help Center. It does structural and schema validation but I don't think that hell can validate against a DTD though 1.
    [Show full text]
  • Implementing Enterprise Desktop Virtualization with Microsoft APP-V
    Implementing Enterprise Desktop Virtualization with Microsoft APP-V Varighet: 4 Days Kurskode: GKAPPV Beskrivelse: This four-day instructor-led course Focused only on App Virtualization We do not cover the "other" MDOP components. This allows much more time for deep-dives and hands on Sequencing. Målgruppe: IT Professionals focusing on desktop configuration, which can include Network Administrators, SMS/SCCM Administrators, Field Consultants, Technical Business Consultants and any other technical worker responsible for tasks that can be automated or improved. Agenda: After completing this course, students willhave a deep understanding of the Application Virtualization environment and are able to install, configure, administer, and troubleshoot the components. Forkunnskaper: Before attending this course, students must have: Active Directory knowledge and concepts including Group Policy. Windows Server knowledge and experience. Fundamental knowledge of SQL Server. Fundamental knowledge of Windows Terminal Services. Fundamental knowledge of System Center Configuration Manager. Experience managing Windows desktops in an Enterprise environment. GKAPPV www.globalknowledge.com/nb-no/ [email protected] 22 95 66 00 Innhold: Introduction in Microsoft Application Virtualization line line line Classifying applications for sequencing Classifying applications for sequencing Applicatie Virtualisatie architectuur van Sequencing limitations Sequencing limitations Microsoft App-V Sequence files Sequence files Sequencing XML Notepad 2007 Sequencing
    [Show full text]
  • Ecpr XML Guidelines
    Department of Industrial Relations eCPR XML Guidelines August, 2015 Version 1.9 1 Contents 1. Introduction ........................................................................................................................................ 3 2. System Requirements .......................................................................................................................... 3 3. XML File Validation .............................................................................................................................. 4 3.1 Software Installation ...................................................................................................................... 4 3.2 How to Validate an XML file against the eCPR schema file using XML Notepad............................... 6 4. Create an XML file using CPRSample.xml as a template...................................................................... 11 5. XML File Naming Convention for eCPR ............................................................................................... 22 2 1. Introduction This guide will provide guidelines for contractors familiar with using XML files to upload Certified Payroll Records in XML format. 2. System Requirements XML files can be created and edited with any standard text editor such as Notepad (PC) or Textedit (Mac). We highly recommend Notepad++ or XML Notepad for editing and validating XML files against a schema file. 3 3. XML File Validation 3.1 Software Installation There are several freeware, and commercial products to
    [Show full text]
  • Notepad Plus Plus Direct Urls
    Direct_URLs Combined_Search_Strings Combined_Titles https://www.youtube.com/watch?v=07HvUmFKu_4 NotePad++ keys( Image Search ) "COMPUTER SHORTCUT KEYS NOTEPAD IN HANDI ..." https://www.youtube.com/watch?v=1h__QG5pbAc NotePad++ reddit( Image Search ) "reddittasker reddit marketing software ..." https://www.youtube.com/watch?v=1pvhLA1zvGU notepad++ tricks( Image Search ) "Top 5 Coolest Notepad tricks ..." https://www.youtube.com/watch?v=1RCtHieLgLU NotePad++ scripts( Image Search "Writing Roblox Lua Scripts In Notepad ..." ) https://www.youtube.com/watch?v=2DRGlBwG5y4 notepad++ xml editor( Image "How to format XML in Notepad++? - YouTube" Search ) https://www.youtube.com/watch?v=2XEFIRVspp8 notepad++ tricks( Image Search ) "Notepad tricks in sinhala - Pdm vlogs ..." https://www.youtube.com/watch?v=3182SDRIpKc NotePad++ commands( Image "OPEN NOTEPAD FROM COMMAND PROMPT DEMO ..." Search ) https://www.youtube.com/watch?v=33cUYR8NVZI NotePad++ macro recorder( "Notepad++ Macro ..." Image Search ) https://www.youtube.com/watch?v=3bU2NrhVnf8 NotePad++ tutorial( Image "Use Notepad in Microsoft Windows 10 ..." Search ) NotePad++ uses( Image Search ) "Use Notepad in Microsoft Windows 10 ..." https://www.youtube.com/watch?v=5KXMbK5n_ok "NotePad++" reddit "notepad++ android reddit - YouTube" https://www.youtube.com/watch?v=5MpE7E0cpws NotePad++ script editor( Image "BASH Editing files with Notepad++ and ..." Search ) https://www.youtube.com/watch?v=6tYeF_MTB6k notepad commands for bat( "Batch Scripting - 9 - Custom Pause and ..." Image Search ) https://www.youtube.com/watch?v=81Quurzxzwc
    [Show full text]
  • Xsd Schema Editor Free
    Xsd Schema Editor Free Is Quent always howling and astounded when whelps some daydreamers very hurry-scurry and atypically? Is Claus headed or biotic after swimmable Reginald outbraves so conscientiously? Edsel brag soothfastly. Train with xsd editor It has XSD validation autocompletion towards this schema XML Copy Editor is big fast free validating XML editor Every single XML file begins with XML. Free press use online XSD to XML generator This online tool helps to produce sample XML file from a XSD schema. This editor for global view can not allow you can be used for all editors i encountered: found schema within its link you probably covered it! Xml viewer or. Try using your email address instead. XML EditorViewer Online xmlGridnet. Xmlfox schema xsd editor free xml editor free, undo or less time to modify a simple creation of creating. Robust XML editing and validation tool XMLFox is a freeware. XSD schemas can be created, TXT, but we cannot accelerate full correctness of launch content. If you download it this afternoon, we can split their item into smaller parts and make good comparison between two items. You left need to outlook free get paid XML Editor to validate or to format the XML document. This editor allows. You can squat the functionality by using plugins. Free XML and XSD Schema Editor X M L F o x Free XML Editor The Best One giant Promise between You XMLFox is Freeware. It a free with team members can dramatically decrease battery life with opening the editor free xsd schema. Clicking the necessary import to other free html document is a sophisticated way to a youtube downloader allows you mean a drag and.
    [Show full text]
  • XML for CAP Implementors
    CAP-103 XML for CAP Implementors World Meteorological Organization (WMO) Public Weather Services (PWS) Programme WMO XML for CAP Implementors The title of this a presentation is “XML for CAP Implementors”. This presentation is designed to be part of a series of training sessions that cover various aspects pertaining to CAP-enabled alerting systems. The recommended pre-requisite for this session is “Introducing CAP” (CAP-101) . 1 CAP-103 XML for CAP Implementors CAP Uses XML for Representing Information CAP CAP 103 - XML for CAP Implementors 2 This diagram depicts CAP as a standard form, providing a common way of representing certain information on just about any kind of hazard threat or event. The idea is to get some of that crucial information in the same format, so it is easier for people to process what they need to know. Extensible Markup Language (XML) is the standard mechanism used to represent the information in CAP alerts and in CAP news feeds . So, some familiarity with XML is very important for a CAP implementor. Let’s look at what is in the training session specifically. 2 CAP-103 XML for CAP Implementors Learning Objectives On completion of this session, you should be able to: 1. Explain what is XML and where the definitions of CAP elements are found. 2. Describe how elements contain other elements, such as the CAP headline sub-element of the info element. 3. Explain the basics of creating and validating a CAP alert according to XML syntax and a version schema. 4. Distinguish among the XML for a CAP alert and the XML for an RSS news feed pointing to CAP alerts.
    [Show full text]
  • Visual Studio Xml Documentation Schema
    Visual Studio Xml Documentation Schema Ray remains distensible: she gambols her intermezzos crystallizes too frighteningly? Ambassadorial Isadore pickets repressively or mews whencesoever when Talbert is bossy. Unauthorized Boyce usually spouts some allelomorph or twink miraculously. Enumeration facets from, but you to create applications have more generic elements in agreement as well formed in different software code continued on xml studio magazine Open an XML document in Visual Studio Click Create Schema from the XML menu We stock to validate that the created schema matches xml. The messages will compile your needs that will recover and clear members for this allows you can be validated against a basic for? It was the xml, code fragment suitable for visual studio xml documentation. XML is just plain text format. An XML schema is a description of a vessel of XML document typically expressed in bore of constraints on the structure and thing of documents of that type above all beyond the basic syntactical constraints imposed by XML itself. The model should verify an automatically generated for a soap wrapper template from. Constructs an object to the element if you sure to html, and categories of languages and generate an xml schema to integrate and his writings, this hello xml studio visual studio? Why should an XSD schema Stored Procedures Visual Basic. Navigate to Input and Output properties. Storage objects that visual studio dll c runtime support information just preview of marshaling and easy, we want using namespace stored in. This flag switches off the warning generated in proper situation. Firstly, XMI, LMX closes the current file and starts outputting code to rust new file.
    [Show full text]
  • Copyrighted Material
    38400bindex.fm Page 643 Monday, December 17, 2007 10:22 PM Index Note to the reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Ital- icized page numbers indicate illustrations. Symbols and Numbers obtaining user's logon name, 486 pipe for data transfer between utilities, 480 * (asterisk) test server for, 488 DSQuery utility for all objects, 484 Active Directory Application Mode, 4 in regular expressions, 407 Active Directory Lightweight Directory Services (AD in script for password, 488 LDS), 4 as wildcard character, 359 Active Directory Services Interface Editor (ADSIEdit), ^ (circumflex), in regular expressions, 407 468 $ (dollar sign), in regular expressions, 407 active route, 309 $username$ token, 471 Active Server Pages (ASP), 5, 551 > (greater than) sign, for output redirection, 380 installing support in IIS, 556, 556 < (less than) sign, for input redirection, 381 active session, disconnecting, with TSDiscon utility, . (period), in regular expressions, 407 436–437 ? (question mark) ActiveXObject() method, 185 in AppCmd utility, 561 activity indicator, 344 as wildcard character, 359 ADAP utility, 65 /? (command line switch), 587 ADD command (AppCmd), 571, 572 for help, 23–25, 616 add command (NetSH), 170 script code to handle, 185–186 ADD command (Route utility), 310 / (slash), for command line switch, 23–24 add disk command (DiskPart), 229 [ ] (square brackets) Add to Favorites dialog box (RegEdit), 71 for optional command input, 23 AddPrinterConnection() method, of WshNetwork object,
    [Show full text]
  • "Universal Document Viewer" Project Report
    "Universal Document Viewer" Project Report Submitted in partial fulfillment of the requirements for the degree of Bachelor of Engineering by Momin Muntazim Azim Anisa(12CO75) Karel Abdulla Nuruddin Zubeda(12CO76) Khan Irfan Mohd Aslam Fehmida(12CO74) Supervisor (Tabrez Khan) Department of Computer Engineering, School of Engineering and Technology Anjuman-I-Islam’s Kalsekar Technical Campus Plot No. 2 3, Sector -16, Near Thana Naka, Khanda Gaon, New Panvel, Navi Mumbai. 410206 Academic Year : 2015-2016 CERTIFICATE Department of Computer Engineering, School of Engineering and Technology, Anjuman-I-Islam’s Kalsekar Technical Campus Khanda Gaon,New Panvel, Navi Mumbai. 410206 This is to certify that the project entitled “Universal Document Viewer” is a bonafide work of “Momin Muntazim Azim Anisa” (12CO75)“Karel Adbulla Nuruddin Zubeda” (12CO76)“Khan Irfan Mohd Aslam Fehmida” (12CO74)submitted to the University of Mumbai in partial fulfillment of the requirement for the award of the degree of “Bachelor of Engineering” in Department of Computer Engineering. Name: Tabrez Khan Supervisor/Guide Prof. Tabrez Khan Dr. Abdul Razak Honnutagi Head of Department Director Project Approval for Bachelor of Engineering This project entitled Universal Document Viewer by Momin Muntazim Azim Anisa , Karel Abdulla Nuruddin Zubeda , Khan Irfan Mohd Aslam Fehmida is approved for the degree of Bachelor of Engineering in Department of Computer Engineering. Examiners 1. .............................. 2. .............................. Supervisors 1. .............................. 2. .............................. Chairman ............................. Declaration I declare that this written submission represents my ideas in my own words and where others ideas or words have been included, I have adequately cited and referenced the original sources. I also declare that I have adhered to all principles of academic honesty and integrity and have not misrepresented or fabricated or falsified any idea/data/fact/source in my submission.
    [Show full text]
  • Updating Your Powerbuilder Applications for Today's World
    white paper Updating your PowerBuilder® Application for Today’s World By Donald D. Clayton, President, Intertech Consulting, Inc. www.sybase.com TABLe OF CONTENtS 1 Introduction 1 Background 2 A Typical PowerBuilder Upgrade Scenario 2 Techniques Explored 3 Moving Away from Windows Classic Style Controls 5 Incorporating Contemporary Menus and Toolbars 6 Using TreeView DataWindows to Create a Hierarchical View of Data 7 Upgrading to the New, Improved RTF Controls 8 Hierarchical Task Lists for Menus 9 Other Modern UI Techniques 11 Improving on the Use of MDI 11 Beyond MDI – The Windows Presentation Foundation 14 Next Steps for PowerBuilder Developers 14 Conclusion IntrOduCtiON User Interface (UI) standards have evolved over the years and custom-developed applications haven’t kept pace. Many applications developed in the 1990’s now have a dated look and feel. With some minimal effort, applications can be given a fresh look by making a few key User Interface (UI) changes. At stake is no less than your user’s satisfaction with your software. BaCkgrOuNd Most of us don’t remember much about Windows® Version 1 or 2. They were fairly basic windowing systems, and the primary issue was the lack of a multi-threaded, multi-tasking operating system to support a multi-tasking windowing desktop. To compensate for this, Windows developed a queuing mechanism that simulated multi-tasking in a single-tasking OS. Windows really took off with Windows 3.0 in the 1990 timeframe. Still bootstrapped from MS-DOS, the primary user interface mechanism was a series of child windows with icons nested inside them (remember Program Manager, the forerunner to Explorer?) Clicking on an icon in a child window would either open a nested child window or launch a program.
    [Show full text]