System Building with APL + WIN
暫譯: 使用 APL + WIN 建立系統
Ajay Askoolum
- 出版商: Wiley
- 出版日期: 2006-08-25
- 售價: $3,290
- 貴賓價: 9.5 折 $3,126
- 語言: 英文
- 頁數: 524
- 裝訂: Paperback
- ISBN: 0470030208
- ISBN-13: 9780470030202
海外代購書籍(需單獨結帳)
相關主題
商品描述
Description
Software modernisation or re-engineering as a concept lacks universal clarity. System Building with APL + Win seeks to clarify this problem by identifying the solution to the long term survival of the APL application as the elimination of APL specific considerations in the choice of a development tool. The author shows how to deploy mainstream industry standard system components within an APL + Win development environment, enabling the APL application to be just like any application on the Windows platform.
- Demonstrates the power and agility of APL + Win in today’s approach to system building
- Features a ‘code intensive’ approach, which overcomes the lack of APL+Win specific documentation of system components
- Illustrates the potential for multi-language system building from an APL+Win environment
- Explains how increasing the collaborative nature of APL will enable it to become an even more valuable tool for application development
System Building with APL + Win provides an excellent resource for system developers and training providers using the software, as well as MS Office users who wish to incorporate it into a bespoke application development. It will also be of interest to users of other APL interpreters.
RSP Series in Industrial Control, Computers and Communications
Table of Contents
Editorial Foreword.Acknowledgements.
Preface.
Chapter 1 - System Building Overview.
1.1 Why APL?
1.1.1 APL platforms.
1.1.2 APL isolation.
1.1.3 APL generations.
1.2 Which APL?
1.2.1 APL: a renewed promise.
1.2.2 The nature of APL GUI.
1.2.3 The user interface.
1.2.4 Design architecture.
1.2.5 Component-based software.
1.2.6 Multi-Language programming.
1.3 The n-tier model.
1.3.1 Presentation services tier.
1.3.2 Business services tier.
1.3.3 Data services tier.
1.3.4 Tier demarcation.
1.4 Prevailing design architecture.
1.4.1 Client/Server computing.
1.4.2 The multi-user client/server.
1.4.3 Object Oriented Programming(OOP).
1.4.4 Collaborative processing.
1.5 APL interface to components.
1.5.1 Static (or early) binding.
1.5.2 Dynamic (or late) binding.
1.5.3 Object attributes.
1.5.4 Object prefixes.
1.6 Structured Query Language (SQL).
1.6.1 Relational Database Management System.
1.6.2 SQL origin.
1.6.3 SQL language.
1.7 The Windows Registry.
1.8 Regional settings.
1.8.1 The GetLocaleInfo API call.
1.8.2 API usage.
1.9 Software development.
1.9.1 Absence of design certification.
1.9.2 Quality: the crucial measure.
1.9.3 Version control.
1.9.4 Customisation.
1.10 APL and Windows API.
1.10.1 Verifying API definitions.
1.10.2 Processing API memory pointers.
1.10.3 Processing API call back.
1.10.4 Processing API errors.
1.11 The future challenge.
Chapter 2 - Advanced APL Techniques.
2.1 Removing legacy code clutter.
2.1.1 Boolean scenario (BS) table.
2.1.2 A simple task: copy a file.
2.1.3 An API solution.
2.1.4 An APL solution.
2.1.5 The general BS case.
2.1.6 Auto generating the BS table.
2.1.7 Where to use BS tables?
2.2 Bit-wise Boolean techniques.
2.2.1 BitEQV.
2.2.2 BitIMP.
2.2.3 BitAND.
2.2.4 BitXOR.
2.2.5 BitOR.
2.2.6 BitNAND.
2.2.7 BitNOR.
2.3 Managing workspace variables.
2.3.1 APL is not a relational data source.
2.3.2 Fabricating a record set object.
2.4 Generating test data.
2.4.1 Dates.
2.4.2 Integers.
2.4.3 Floating point.
2.4.4 Codes.
2.4.5 String.
2.4.6 Binary string.
2.4.7 Numeric vector.
2.4.8 Computations on generated data.
2.5 APL+Win as an ActiveX Server.
2.5.1 Dynamic properties and methods.
2.5.2 Which class of APL+Win?
2.6 Debugging applications.
2.6.1 The CSBlocks function.
2.7 Functions with methods.
Chapter 3 - Application Interface.
3.1 Managing the hidden interface.
3.1.1 Forcing a session to terminate.
3.2 The user interface.
3.2.1 Purpose of the user interface.
3.2.2 Hierarchical and sequential.
3.2.3 Invasive interaction.
3.3 The user interface is the application.
3.3.1 Where is the interface?.
3.3.2 Manage user expectations.
3.3.3 The user interface as a tier.
3.4 APL+Win design safeguards.
3.5 Context sensitive help.
3.5.1 Enabling a help facility in APL+Win.
3.5.2 Tooltips and prompts.
3.5.3 What's this help?
3.5.4 Help: WINHELP.
3.5.5 Help: HTML.
3.6 Help format as a user option.
3.7 Application messages.
3.7.1 The language and location of messages.
3.7.2 Communicating runtime messages.
3.8 User-defined properties of the system object.
3.9 The scope of user documentation.
3.9.1 Types of documentation.
3.10 Designing menus.
3.10.1 Auto-generation of the user interface.
3.10.2 Validating an interface tree.
3.10.3 Creating menus.
3.11 Designing forms.
3.11.1 Enumerating an existing interface tree.
3.11.2 Resizing forms.
3.12 Access control.
3.12.1 File-based applications.
3.12.2 Database applications.
3.13 Empower the user.
3.13.1 Prevent rather than trap errors.
3.13.2 Validate user entries.
3.13.3 Intrusive application messages.
3.13.4 Work with platform features.
3.13.5 Tools | Options.
3.13.6 Navigation.
3.13.7 System legacy.
3.13.8 Functionality alone is not enough.
3.14 Sales considerations.
3.15 Application exit.
Chapter 4 - Working with Windows.
4.1 The APL legacy.
4.1.1 Reinventing the wheel.
4.2 Windows resources.
4.3 API calls.
4.3.1 Replacing APL code by API calls.
4.3.2 API calls to simplify code.
4.3.3 Formatting date and time.
4.3.4 Using GetDateFormat and GetTimeFormat APIs.
4.3.5 APL+Win GetDateFormat.
4.3.6 Fail safe date format translation?
4.4 The Windows Script Host (WSH).
4.4.1 Managing the Windows Registry.
4.4.2 Writing using WScript Shell.
4.4.3 Reading using WScript Shell.
4.4.4 Deleting using WScript Shell.
4.4.5 Writing using Registry API.
4.4.6 Special folders.
4.4.7 Environment variables.
4.4.8 Setting/Reading environment variables.
4.4.9 Deleting an environment variable.
4.5 Creating a shortcut.
4.5.1 Starting another application.
4.6 Intelligent file operations with API calls.
4.6.1 DeleteFile API.
4.6.2 PathFileExists API.
4.6.3 _lOpen API.
4.6.4 _lClose API.
4.6.5 Fail safe deletion status.
4.7 Universal Naming Convention (UNC).
4.7.1 APL and UNC names.
4.7.2 API calls for handling UNC.
4.7.3 UNC dynamic mapping.
4.7.4 Library/UNC mapping.
4.8 Application configuration.
4.9 Using INI files with APL.
4.9.1 Location of the INI file.
4.9.2 Name of section.
4.9.3 Name of key.
4.9.4 Limitations of INI files.
4.9.5 Implementing the control mechanism.
4.9.6 INI file: writing a key.
4.9.7 INI file: reading a key.
4.9.8 INI file: writing a section.
4.9.9 INI file : emumerating the names of all sections.
4.9.10 INI file: reading a section.
4.9.11 INI file: enumerate names of all keys in a section.
4.9.12 INI file: enumerate values of all keys in a section.
4.9.13 Two more APIs.
4.10 XML files for application configuration.
4.10.1 The XMLINI function.
4.10.2 Loading/Creating an XML file.
4.10.3 XML file: writing a key.
4.10.4 XML file: reading a key.
4.10.5 XML file: deleting a key.
4.10.6 XML file: writing a section.
4.10.7 XML file: reading a section.
4.10.8 XML file: commenting a section.
4.10.9 XML file: deleting a section.
4.10.10 XML file: enumerate names of all sections.
4.10.11 XML file: enumerate names of all keys in a section.
4.10.12 XML file: enumerate values of all keys in a section.
4.10.13 Saving an XML file.
4.11 INI/XML comparative advantage.
4.11.1 Converting INI to XML.
4.12 The filing system.
4.12.1 Identifying the filing system.
4.12.2 The File System Object.
4.13 Platform enhancements.
Chapter 5 - The Component Object Model.
5.1 Objects are global.
5.2 APL+Win COM event handling.
5.2.1 COM event arguments.
5.2.2 Is RPC Server available?
5.3 The promise of COM development.
5.4 Types of COM components.
5.4.1 Application components.
5.4.2 GUI components.
5.4.3 'Silent' or 'slave' components.
5.4.4 Custom component.
5.4.5 Component visibility.
5.5 Maintaining objects.
5.6 APL+Win and ActiveX components.
5.6.1 Platform components.
5.6.2 Opaque APL syntax.
5.6.3 Anatomy of the APL+Win syntax.
5.6.4 Hierarchy of objects.
5.6.5 Data incompatibilities.
5.6.6 APL index origin.
5.7 APL+Win post version 4.0 ActiveX syntax.
5.7.1 Objects hierarchy using redirection.
5.7.2 Redirection clutter.
5.7.3 Dynamic syntax.
5.7.4 Hierarchical syntax.
5.7.5 Redirection or enumeration?
5.8 ActiveX typed parameters.
5.8.1 Boolean parameters.
5.8.2 Positional parameters.
5.8.3 Passing object pointers.
5.8.4 Typed data parameters.
5.8.5 Passing selective named parameters.
5.8.6 Rogue objects.
5.9 Development environment features.
5.9.1 User-defined properties.
5.10 Using ActiveX asynchronously.
5.10.1 Custom properties.
5.11 Debugging components.
5.11.1 VB for Application code.
5.11.2 VB code.
Chapter 6 - Mixed Language Programming.
6.1 Application extension trade-offs.
6.2 VB ActiveX DLLs.
6.3 A sample ActiveX DLL project.
6.3.1 The DLLFunctionsModule module.
6.3.2 The DLLFunctions class.
6.4 Using VBDLLINAPL.DLL.
6.4.1 Syntax issues.
6.4.2 Querying the events in VBDLLINAPL.
6.4.3 Querying the properties in VBDLLINAPL.
6.4.4 Querying the methods in VBDLLINAPL.
6.4.5 XCurrencySymbol.
6.4.6 XDateCompare.
6.4.7 XDateScalar.
6.4.8 XDateValid.
6.4.9 XDaysOfWeek.
6.4.10 XFindReplace.
6.4.11 XGetAgeAttQ.
6.4.12 XGetDatePart.
6.4.13 XGetDateTime.
6.4.14 XGetLocal.
6.4.15 XGetTimeStamp.
6.4.16 XMonthsOfYear.
6.4.17 XNumberValid.
6.4.18 XSpellDate.
6.4.19 XStringCase.
6.4.20 Getting help on syntax.
6.5 Processing APL+Win arrays.
6.6 Deploying ActiveX DLLs.
6.6.1 Name and location.
6.6.2 General availability.
6.6.3 Updrading/Replacing ActiveX DLLs.
6.6.4 ActiveX DLL coding for APL.
6.7 Building a DLL for APL using C# Express 5.
6.7.1 Using the C# DLL.
6.7.2 Deploying C# DLLs.
Chapter 7 - Application Extension using Scripting.
7.1 The APL/VBScript affinity.
7.1.1 The VBScript built-in functions.
7.1.2 Adding the Script Control.
7.1.3 An algebraic expression evaluator.
7.2 Error trapping.
7.3 Exploring the Script Control.
7.3.1 The Eval method.
7.4 Extending the Script Control.
7.4.1 What is in SampleCode?.
7.5 Multi-language programming.
7.5.1 Sharing an APL+Win object.
7.5.2 Creating own instance of APL+Win object.
7.5.3 Processing simple numeric arrays.
7.5.4 Passing arguments to built-in functions.
7.6 Sharing with the APL Grid object.
7.7 Concurrent sharing with the Script Control.
7.8 APL+Win and HTML.
7.8.1 Creating/Displaying HTML file from APL+Win.
7.8.2 Taking control of HTML content.
7.8.3 APL+Win and XML.
Chapter 8 - Windows Script Components.
8.1 Building a Script Component using JavaScript.
8.1.1 Coding the methods.
8.2 Building a Script Component using VBScript.
8.3 About the VBS file.
8.4 Runtime errors in script components.
8.5 Which Scripting language?
8.5.1 A wise choice?
8.6 Multi-language Script component.
8.7 What is in MULTILANGUAGE.WSC?
8.7.1 Is a property read only or read/write?
8.7.2 Firing an event associated with a property.
8.7.3 Firing an event associated with a method.
8.8 Finally, just because it is possible….
8.8.1 Testing with APL+Win as the server application.
8.8.2 Testing with VBScript as the client application.
8.8.3 JavaScript as the client application.
8.8.4 Comparing VBScript and JavaScript.
8.9 The way forward with script components.
Chapter 9 - Working with Excel.
9.1 Application or automation server.
9.1.1 Using the automation flag.
9.2 The basic structure of Excel.
9.2.1 Orphan Excel sessions.
9.2.2 Excel Data representation.
9.3 APL arrays and Excel ranges.
9.3.1 Writing to multiple sheets.
9.3.2 Excel Worksheet functions.
9.3.3 Excel user-defined functions.
9.3.4 Excel dialogues.
9.3.5 Excel charts.
9.3.6 Excel ad hoc.
9.4 Object syntax.
9.4.1 The FindWindow API.
9.4.2 The GetWindowText API call.
9.4.3 Does the ActiveX server still exist?
9.5 Excel using APL+Win to retrieve APL data.
9.5.1 Usability models.
9.6 The Excel Add-In.
9.6.1 Add-In visiblility.
9.6.2 APL server workbook code.
9.6.3 APL server module code.
9.6.4 CreateVariable.
9.6.5 APLServer class code.
9.6.6 The APL server toolbar.
9.6.7 The initial ActiveX server workspace.
9.7 The EWA model in action.
9.8 Transferring APL+Win data to Excel.
9.9 Automation issues.
9.9.1 APL+Win issues.
9.10 Why use Excel with APL?
Chapter 10 - Working with Word.
10.1 The Word difference.
10.2 Word templates.
10.2.1 Global, user, and workgroup templates.
10.3 Starting Word.
10.4 Word as a report generation component.
10.4.1 Tables.
10.4.2 Building an APL+Win array.
10.4.3 APL+Win array to Word table.
10.4.4 Active document random access.
10.4.5 Formula.
10.4.6 DDE automation.
10.4.7 INCLUDEPICTURE.
10.4.8 INCLUDETEXT.
10.4.9 Form fields.
10.5 Populating form fields.
10.5.1 Error trapping.
10.6 Word vs. Excel for APL+Win automation.
10.7 Automation.
10.7.1 APL+Win automation issues.
Chapter 11 - Working with Access.
11.1 The Access pathways.
11.1.1 Access smoke and mirrors.
11.2 The Access object.
11.2.1 Dynamic query definition.
11.2.2 Queries based on user-defined functions.
11.2.3 Deleting Access objects.
11.3 JET Engine types.
11.4 Access—below the surface.
11.4.1 MDB files.
11.4.2 ADP files.
11.4.3 The MDB/ADP file menu.
11.4.4 Linking tables.
11.5 Working with many data sources.
11.5.1 Troubleshooting databases with linked tables.
11.6 Troubleshooting data projects.
11.6.1 Using an existing MDF file.
11.6.2 Using a new MDF file.
11.6.3 Data project: using the ODBC driver.
11.6.4 Data project: using the JET provider.
11.7 The Jet compromise.
11.8 Unified approach with ADO and SQL.
11.8.1 ADOX:ADO Extension for data definition and security.
11.9 Access SQL.
11.9.1 Access SQL with user-defined function.
11.10 Database filing.
11.10.1 Using an Access database.
11.10.2 Storing variables and functions.
11.10.3 Storing Files.
11.10.4 Deploying database filing.
11.11 Automation issues.
Chapter 12 - Working with ActiveX Data Object (ADO).
12.1 Translating code examples into APL+Win.
12.1.1 Simulating On Error Resume Next.
12.1.2 Simulating On Error Goto.
12.2 The connection object.
12.2.1 Creating an active connection object.
12.2.2 Database connection using a connection string—syntax I.
12.2.3 Database connection using properties—syntax II.
12.3 The record object.
12.3.1 Record object using redirection.
12.3.2 Record object without connection object.
12.3.3 Creating a record object.
12.3.4 Cloning a record object.
12.3.5 Tables in a data source.
12.3.6 Working with record objects.
12.3.7 Navigating record set objects.
12.3.8 Working with complete record objects.
12.4 The data source catalogue.
12.5 Learning ADO.
Chapter 13 - Data Source Connection Strategies.
13.1 The application handle.
13.2 The DSN overhead.
13.2.1 Acquiring a default DSN.
13.2.2 Creating a data source.
13.3 Automating user/system DSN creation.
13.3.1 With an API call.
13.3.2 With the 'Prompt' property of a connection object.
13.4 The ODBC Data Source Administrator.
13.4.1 Enumerating installed drivers.
13.5 System DSN connection.
13.5.1 Creating a SQL Server system DSN.
13.5.2 Creating an Oracle system DSN.
13.5.3 Configuring a system DSN.
13.5.4 Removing a system DSN.
13.6 User DSN Connection.
13.7 DSNManager syntax summary.
13.8 File DSN Connection.
13.8.1 Using a file DSN.
13.8.2 File DSN portability.
13.9 UDL connection.
13.10 DSN-less connection.
13.11 Server data sources.
13.12 Access data sources.
13.13 Excel data sources.
13.14 Text data sources.
13.14.1 The SCHEMA.INI file.
13.14.2 Creating SCHEMA.INI automatically.
13.14.3 Refining content of SCHEMA.INI file.
13.15 Data source issues.
13.16 Inward APL+Win issues.
13.16.1 Data types.
13.16.2 The atomic vector.
13.17 Outward APL issues.
13.17.1 CSV files issue.
13.18 The way forward with the data tier.
Chapter 14 - Structured Query Language.
14.1 SQL statements.
14.2 SQL prime culprits.
14.2.1 Handling NULL values.
14.2.2 SQL convention for column names.
14.2.3 SQL comments.
14.3 APL and SQL.
14.3.1 Coping with SQL variations.
14.3.2 Using DMBS properties.
14.3.3 ANSI SQL.
14.3.4 Date/Time handling in data sources.
14.4 Learning SQL.
14.4.1 The SQL Data Query Language.
14.4.2 The SQL Data Manipulation Language.
14.4.3 The SQL Data Definition Language.
14.4.4 The SQL Data Control Language.
14.4.5 The way forward with SQL.
14.4.6 Debugging SQL.
14.4.7 Optimising SQL.
14.4.8 SQL dialect specialisation.
Chapter 15 - Application Evolution.
15.1 Application deployment.
15.2 The next release.
15.2.1 The schedule of work.
15.2.2 Fault management.
15.2.3 Wish management.
15.2.4 If it works, improve it!
15.2.5 Efficiency management.
15.2.6 Small vs large scale improvements.
15.3 Application workspace.
15.4 APL libraries vs UNC names.
15.5 Readability.
15.5.1 Style.
15.6 Global variables.
15.6.1 Initial values.
15.6.2 Constants.
15.7 Using API calls.
15.7.1 Adding missing API calls.
15.8 Version control.
15.9 Change management.
15.10 Legacy management.
15.10.1 Workspace organisation.
15.10.2 Modernisation.
15.11 Indentation.
15.11.1 Limitations of indentation.
15.12 Documentation.
15.12.1 Context sensitive help and user manuals.
15.12.2 Auditing changes.
15.13 Testing.
15.13.1 Functionality changes.
15.13.2 Automatic migration.
15.14 Release.
15.14.1 What’s new?
15.14.2 Incremental upgrade.
15.14.3 Replacement upgrade.
15.15 Application listings.
15.15.1 Producing the listing.
15.16 Epilogue.
Bibliography.
Index.
商品描述(中文翻譯)
**描述**
軟體現代化或重構作為一個概念缺乏普遍的清晰性。《使用 APL + Win 進行系統建設》旨在通過確定 APL 應用程序長期生存的解決方案,即在選擇開發工具時消除 APL 特定考量,來澄清這一問題。作者展示了如何在 APL + Win 開發環境中部署主流行業標準系統組件,使 APL 應用程序能夠像 Windows 平台上的任何應用程序一樣運行。
- 展示了 APL + Win 在當今系統建設方法中的強大和靈活性
- 特色為「代碼密集型」的方法,克服了 APL + Win 特定系統組件文檔的缺乏
- 說明了從 APL + Win 環境進行多語言系統建設的潛力
- 解釋了如何增加 APL 的協作性,使其成為應用開發中更有價值的工具
《使用 APL + Win 進行系統建設》為系統開發人員和使用該軟體的培訓提供者提供了優秀的資源,還適合希望將其納入定制應用開發的 MS Office 用戶。對於其他 APL 解釋器的用戶也會有興趣。
RSP 系列:工業控制、計算機與通信
**目錄**
- 編輯前言
- 致謝
- 前言
- 第 1 章 - 系統建設概述
1.1 為什麼選擇 APL?
1.1.1 APL 平台
1.1.2 APL 隔離
1.1.3 APL 代數
1.2 哪一種 APL?
1.2.1 APL:一個更新的承諾
1.2.2 APL GUI 的本質
1.2.3 使用者介面
1.2.4 設計架構
1.2.5 基於組件的軟體
1.2.6 多語言編程
1.3 n 層模型
1.3.1 呈現服務層
1.3.2 業務服務層
1.3.3 數據服務層
1.3.4 層的劃分
1.4 流行的設計架構
1.4.1 客戶端/伺服器計算
1.4.2 多用戶客戶端/伺服器
1.4.3 物件導向編程 (OOP)
1.4.4 協作處理
1.5 APL 與組件的介面
1.5.1 靜態(或早期)綁定
1.5.2 動態(或延遲)綁定
1.5.3 物件屬性
1.5.4 物件前綴
1.6 結構化查詢語言 (SQL)
1.6.1 關聯數據庫管理系統
1.6.2 SQL 的起源
1.6.3 SQL 語言
1.7 Windows 註冊表
1.8 區域設置
1.8.1 GetLocaleInfo API 調用
1.8.2 API 使用
1.9 軟體開發
1.9.1 缺乏設計認證
1.9.2 質量:關鍵指標
1.9.3 版本控制
1.9.4 自定義
1.10 APL 與 Windows API
1.10.1 驗證 API 定義
1.10.2 處理 API 記憶體指標
1.10.3 處理 API 回調
1.10.4 處理 API 錯誤
1.11 未來的挑戰
- 第 2 章 - 進階 APL 技術
2.1 移除舊代碼雜亂
2.1.1 布林情境 (BS) 表
2.1.2 一個簡單的任務:複製文件
2.1.3 一個 API 解決方案
2.1.4 一個 APL 解決方案
2.1.5 一般的 BS 案例
2.1.6 自動生成 BS 表
2.1.7 在哪裡使用 BS 表?
2.2 位元運算布林技術
2.2.1 BitEQV
2.2.2 BitIMP
2.2.3 BitAND
2.2.4 BitXOR
2.2.5 BitOR
2.2.6 BitNAND
2.2.7 BitNOR
2.3 管理工作區變數
2.3.1 APL 不是關聯數據源
2.3.2 製作記錄集物件
2.4 生成測試數據
2.4.1 日期
2.4.2 整數
2.4.3 浮點數
2.4.4 代碼
2.4.5 字串
2.4.6 二進位字串
2.4.7 數值向量
2.4.8 對生成數據的計算
2.5 APL+Win 作為 ActiveX 伺服器
2.5.1 動態屬性和方法
2.5.2 哪一類 APL+Win?
2.6 除錯應用程序
2.6.1 CSBlocks 函數
2.7 帶有方法的函數
- 第 3 章 - 應用介面
3.1 管理隱藏介面
3.1.1 強制終止會話
3.2 使用者介面
3.2.1 使用者介面的目的
3.2.2 階層式和順序式
3.2.3 侵入式互動
3.3 使用者介面即是應用程序
3.3.1 介面在哪裡?
3.3.2 管理使用者期望
3.3.3 使用者介面作為一層
3.4 APL+Win 設計保障
3.5 上下文敏感幫助
3.5.1 在 APL+Win 中啟用幫助功能
3.5.2 工具提示和提示
3.5.3 這是什麼幫助?
3.5.4 幫助:WINHELP
3.5.5 幫助:HTML
3.6 幫助格式作為使用者選項
3.7 應用程序消息
3.7.1 消息的語言和位置
3.7.2 傳達運行時消息
3.8 使用者定義的系統物件屬性
3.9 使用者文檔的範圍
3.9.1 文檔類型
3.10 設計菜單
3.10.1 自動生成使用者介面
3.10.2 驗證介面樹
3.10.3 創建菜單
3.11 設計表單
3.11.1 列舉現有介面樹
3.11.2 調整表單大小
3.12 存取控制
3.12.1 基於文件的應用程序
3.12.2 數據庫應用程序
3.13 賦予使用者權限
3.13.1 預防而非捕獲錯誤
3.13.2 驗證使用者輸入
3.13.3 侵入式應用程序消息
3.13.4 與平台功能協作
3.13.5 工具 | 選項
3.13.6 導航
3.13.7 系統遺產
3.13.8 僅有功能性是不夠的
3.14 銷售考量
3.15 應用程序退出
- 第 4 章 - 與 Windows 互動
4.1 APL 遺產
4.1.1 重新發明輪子
4.2 Windows 資源
4.3 API 調用
4.3.1 用 API 調用替換 APL 代碼
4.3.2 API 調用以簡化代碼
4.3.3 格式化日期和時間
4.3.4 使用 GetDateFormat 和 GetTimeFormat API
4.3.5 APL+Win GetDateFormat
4.3.6 失敗安全的日期格式轉換?
4.4 Windows 腳本主機 (WSH)
4.4.1 管理 Windows 註冊表
4.4.2 使用 WScript Shell 寫入
4.4.3 使用 WScript Shell 讀取
4.4.4 使用 WScript Shell 刪除
4.4.5 使用註冊表 API 寫入
4.4.6 特殊文件夾
4.4.7 環境變數
4.4.8 設定/讀取環境變數
4.4.9 刪除環境變數
4.5 創建快捷方式
4.5.1 啟動其他應用程序
4.6 使用 API 調用進行智能文件操作
4.6.1 DeleteFile API
4.6.2 PathFileExists API
4.6.3 _lOpen API
4.6.4 _lClose API
4.6.5 失敗安全的刪除狀態
4.7 通用命名規範 (UNC)
4.7.1 APL 和 UNC 名稱
4.7.2 處理 UNC 的 API 調用
4.7.3 UNC 動態映射
4.7.4 庫/UNC 映射
4.8 應用程序配置
4.9 使用 INI 文件與 APL
4.9.1 INI 文件的位置
4.9.2 區段名稱
4.9.3 鍵名稱
4.9.4 INI 文件的限制
4.9.5 實施控制機制
4.9.6 INI 文件:寫入鍵
4.9.7 INI 文件:讀取鍵
4.9.8 INI 文件:寫入區段
4.9.9 INI 文件:列舉所有區段的名稱
4.9.10 INI 文件:讀取區段
4.9.11 INI 文件:列舉區段中所有鍵的名稱
4.9.12 INI 文件:列舉區段中所有鍵的值
4.9.13 另外兩個 API
4.10 用於應用程序配置的 XML 文件
4.10.1 XMLINI 函數
4.10.2 加載/創建 XML 文件
4.10.3 XML 文件:寫入鍵
4.10.4 XML 文件:讀取鍵
4.10.5 XML 文件:刪除鍵
4.10.6 XML 文件:寫入區段
4.10.7 XML 文件:讀取區段
4.10.8 XML 文件:註解區段
4.10.9 XML 文件:刪除區段
4.10.10 XML 文件:列舉所有區段的名稱
4.10.11 XML 文件:列舉區段中所有鍵的名稱
4.10.12 XML 文件:列舉區段中所有鍵的值
4.10.13 保存 XML 文件
4.11 INI/XML 的比較優勢
4.11.1 將 INI 轉換為 XML
4.12 檔案系統
4.12.1 確定檔案系統
4.12.2 檔案系統物件
4.13 平台增強
- 第 5 章 - 組件物件模型
5.1 物件是全局的
5.2 APL+Win COM 事件處理
5.2.1 COM 事件參數
5.2.2 RPC 伺服器可用嗎?
5.3 COM 開發的承諾
5.4 COM 組件的類型
5.4.1 應用程序組件
5.4.2 GUI 組件