inital documentation push

main
Jeremy 2025-01-08 17:02:29 -06:00
parent 293c16e220
commit 26fb223cd9
33 changed files with 2184 additions and 2 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.aider*
.env

0
APIGID32.md Normal file
View File

45
APIGID32_BAS.md Normal file
View File

@ -0,0 +1,45 @@
# APIGID32.BAS Documentation
=====================================
### Overview
This is a Visual Basic (VB) module named `APIGID32.BAS` that provides a set of functions and declarations for working with the Windows API.
### Declarations
* `Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long`
* `Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long`
* `Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long`
* `Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long`
### Functions
* `GetWindowLong`: Retrieves the value of a specified 32-bit integer property from the window.
* `SetWindowLong`: Sets the value of a specified 32-bit integer property for the window.
* `GetWindowText`: Retrieves the title bar text of the specified window.
* `SetWindowText`: Sets the title bar text of the specified window.
### Constants
* `GWL_STYLE`: Retrieves the window style.
* `GWL_EXSTYLE`: Retrieves the extended window style.
* `GWLP_HWNDPARENT`: Retrieves the handle to the parent window.
* `GWLP_ID`: Retrieves the identifier of the window.
### Notes
This module is intended for use in a VB application that requires interaction with the Windows API. The functions and declarations provided in this module can be used to manipulate window properties and retrieve information about windows.
### Example Usage
```vb
Dim hwnd As Long
Dim style As Long
hwnd = GetWindowLong(Me.hwnd, GWL_STYLE)
style = hwnd And &HFFFF0000
If style = &H10000000 Then
' Window is minimized
Else
' Window is not minimized
End If

120
CMDPROC.BAS.md Normal file
View File

@ -0,0 +1,120 @@
# CMNDPROC.BAS Documentation
## Overview
CMNDPROC.BAS is a Visual Basic module that handles command processing for a CAD/drawing file management system. It manages file operations, printing, and communication between different parts of the system.
## Global Variables
### File Location Variables
- `Place$`, `Lpt$`, `PrinterGroup$`, `Tray$`, `Limits$` - Arrays storing printer and location info
- `NetWPath$` - Network path for shared files
- `EngrDrive$` - Engineering drawings drive path
- `IEDrive$` - Industrial Engineering drive path
- `temppath$` - Temporary file path
### Message/Queue Files
- `COMPLETE$` - Complete queue file
- `INCOME$` - Incoming queue file
- `Reply$` - Reply queue file
- `MessageFileName$` - Message file name
- `MessageLogName$` - Log file name
## Key Subroutines
### StartSystem()
Main processing loop that:
- Monitors incoming command queue
- Processes commands
- Generates replies
- Handles file operations
### AddHeaders()
Adds print headers to PostScript files including:
- Job information
- Page setup
- User details
### PrintPSFile()
Handles printing PostScript files:
- Adds headers
- Sends to printer queue
- Monitors print completion
### File Operations
- `MoveIN()` - Moves files into system
- `MoveOUT()` - Moves files out to users
- `CopyIt()` - Copies drawing files
- `DeleteIt()` - Deletes files
- `SaveRev()` - Saves drawing revisions
### Support Functions
- `LoadPrinters()` - Loads printer configurations
- `LoadPlot()` - Loads plotter settings
- `LoadSubDirs()` - Loads subdirectory mappings
- `Messages()` - Logs messages
- `PrintLog()` - Prints to log file
## Command Types
- P - Print drawing
- R - Reference drawing
- O - Check out drawing
- I - Check in drawing
- B - Move back drawing
- Y - Copy drawing
- E - Move to IE
- W - Print wiring diagram
- T - Print text file
## File Types Handled
- AutoCAD (.DWG)
- Pro/E (.PLT, .DRW, etc)
- PDF files
- PostScript files
- Text/INI files
- Altium files
- SolidWorks files
- Menu folders
## Error Handling
- Error codes returned in replies
- Logging of errors
- Retry mechanisms for file operations
- File locking detection
## Configuration Files
- PRINTER.CFG - Printer definitions
- PLOT.CFG - Plotter settings
- SUBS.CFG - Subdirectory mappings
- ExternalUsers.txt - External user mappings
## Communication
- Uses file-based queues for commands
- Reply messages for status
- Watchdog timer monitoring
- Process synchronization
CMNDPROC.BAS is the main module that contains the core business logic and processing functionality, while Cmdproc-1.frm through Cmdproc-6.frm are the form modules that provide the user interface components:
1. CMNDPROC.BAS:
- Contains all the core functions for file operations, command processing, and system management
- Handles the actual processing of commands and file operations
- Manages communication between components
- Contains global variables and configuration settings
2. Form Relationships:
- Cmdproc-1.frm: Main interface form that displays status, logs, and controls
- Cmdproc-2.frm: Handles printer and plotter configuration interface
- Cmdproc-3.frm: Manages file viewing and selection interface
- Cmdproc-4.frm: Provides command entry and monitoring interface
- Cmdproc-5.frm: Shows system status and diagnostic information
- Cmdproc-6.frm: Contains settings and configuration interface
The forms access the functions and variables in CMNDPROC.BAS to:
- Display status information
- Trigger command processing
- Show operation results
- Configure system settings
- Monitor system state
CMNDPROC.BAS acts as the central processing module while the forms provide the UI layer for user interaction with the system.

View File

@ -1,5 +1,10 @@
Attribute VB_Name = "Main" Attribute VB_Name = "Main"
' This module contains the main program logic for handling print jobs and printer management
' The module name "Main" indicates this is likely the primary module containing core functionality
' VB_Name is a Visual Basic attribute that sets the module name in the project
DefInt A-Z DefInt A-Z
' Global variables that store information about places, printers, printer groups, trays, and limits.
' These variables are likely used throughout the application to manage printing-related functionality.
Global Place$(300), Lpt$(300), PrinterGroup$(300), Tray$(300), Limits$(300) Global Place$(300), Lpt$(300), PrinterGroup$(300), Tray$(300), Limits$(300)
Global submask$(1000, 2), submaskI%, plt$(40), lptI%, pltI%, sm, que, Replys$(100), replies% Global submask$(1000, 2), submaskI%, plt$(40), lptI%, pltI%, sm, que, Replys$(100), replies%
Global replies2, replys2$(100), WDTServerTime!, Constipation% Global replies2, replys2$(100), WDTServerTime!, Constipation%
@ -1386,7 +1391,7 @@ PrintLog "Nope: --" + Too$ + "\" + Trim$(NewName$) + ".BOM"
' 8074932D.PCBDOC ' 8074932D.PCBDOC
' 8074932D.PRJPCB ' 8074932D.PRJPCB
' '
' This will place the folder on the Qdrive at ' This will place the folder on the Qdrive at<EFBFBD>
' Q:\8\8074000\8074936D ' Q:\8\8074000\8074936D
' '
'For an Altium assembly check-in the following files will be required: 'For an Altium assembly check-in the following files will be required:
@ -1399,7 +1404,7 @@ PrintLog "Nope: --" + Too$ + "\" + Trim$(NewName$) + ".BOM"
' 4060007B.pdf ' 4060007B.pdf
' 4060007B.csv ' 4060007B.csv
' '
' This will place the folder on the Qdrive at ' This will place the folder on the Qdrive at<EFBFBD>
' Q:\4\4060000\4060007B ' Q:\4\4060000\4060007B
' '
bad = 0 bad = 0

88
CMNDPROC.VBP.md Normal file
View File

@ -0,0 +1,88 @@
# CMNDPROC Visual Basic Project Documentation
## Overview
CMNDPROC (Command Processor) is a Visual Basic 6.0 application developed by Enterprise Computing Services, Inc. The application is currently at version 7.0.73.
## Program Flow
```mermaid
graph TD
A[Start: frmStart] --> B[frmMain]
B --> C{Command Processing}
C -->|Print Jobs| D[Print Management]
D --> D1[dwPrinterInfo]
D --> D2[dwPortInfo]
D --> D3[dwPrintMonitor]
D --> D4[dwSpool]
D --> D5[SPOOLER1.FRM]
C -->|File Operations| E[File Handling]
E --> E1[filewatch.frm]
E --> E2[ClearBOM]
E --> E3[Pdf.frm]
C -->|System Functions| F[Core Functions]
F --> F1[MyFunctions]
F --> F2[APIGuide32]
F --> F3[PrinterConstants]
F --> F4[dwTypes]
C -->|Communication| G[Task Communication]
G --> G1[InnerTaskComm]
G --> G2[frmMonitorNib]
B --> H[Additional Forms]
H --> H1[Cmdproc-1.frm]
H --> H2[Cmdproc-2.frm]
H --> H3[Cmdproc-3.frm]
H --> H4[Cmdproc-4.frm]
H --> H5[Cmdproc-5.frm]
H --> H6[Cmdproc-6.frm]
```
## Project Components
### External Dependencies
- Microsoft Data Binding Collection
- Microsoft ActiveX Data Objects 2.5 Library
- Microsoft Scripting Runtime
- CCRP FolderTreeview Control (VB6)
- Various ActiveX Controls (TabControl, ADO Data Control, DataGrid, Common Controls, WinSock)
### Forms
1. frmMain (Main application form)
2. frmStart (Startup form)
3. Cmdproc-1 through Cmdproc-6
4. SPOOLER1
5. filewatch
6. Pdf
7. frmMonitorNib
### Classes
1. dwPortInfo - Port information handling
2. dwPrinterInfo - Printer information management
3. dwPrintMonitor - Print monitoring functionality
4. dwSpool - Print spooling operations
5. ClearBOM - BOM (Byte Order Mark) handling
### Modules
1. Main (CMNDPROC.BAS)
2. MyFunctions
3. APIGuide32
4. PrinterConstants
5. dwTypes
6. InnerTaskComm
## Features
- Printer management and monitoring
- File watching capabilities
- PDF handling
- Inter-task communication
- Spooler management
- Port monitoring and management
## Technical Details
- Compiled as 32-bit executable
- Single-threaded application
- No debugging information included in compilation
- Compatible with MS Transaction Server

104
CMNDPROC.vbw.md Normal file
View File

@ -0,0 +1,104 @@
# CMNDPROC.vbw Documentation
This file contains the window state information for the Visual Basic project CMNDPROC. Below is a detailed breakdown of each form and module:
## Forms
### frmStart
- Main startup form
- Window state: Child window
- Position: 132, 132, 946, 457
### frmMain
- Primary application interface
- Window state: Child window
- Position: 65, 66, 1163, 454
### frmCheckAssembly
- Assembly verification interface
- Window state: Child window
- Position: 0, 0, 1096, 388
### frmQueHandler
- Queue management interface
- Window state: Child window
- Position: 22, 22, 1119, 410
### frmPSSpooler
- Print spooler management interface
- Window state: Child window
- Position: 44, 44, 1141, 432
### frmFileWatch
- File monitoring interface
- Window state: Child window
- Position: 154, 154, 1001, 652
### frmBOM
- Bill of Materials interface
- Window state: Child window
- Position coordinates defined
### frmFolderCopy
- Folder copying utility interface
- Window state: Child window
- Position: 85, 11, 1181, 399
### frmPDF
- PDF handling interface
- Window state: Child window
- Position: 88, 88, 935, 586
### frmMonitorNib
- Nib monitoring interface
- Window state: Child window
- Position: 132, 132, 925, 455
## Modules
### Main
- Core application logic
- Position: 83, 8, 1180, 396
### MyFunctions
- Common utility functions
- Position: 122, 4, 969, 502
### dwPrinterInfo
- Printer information handling
- Position: 22, 22, 1118, 410
### dwSpool
- Print spooling functionality
- Position: 44, 44, 1140, 432
### PrinterConstants
- Printer-related constants
- Position: 66, 66, 1162, 454
### ClearBOM
- BOM clearing functionality
- Position: 88, 88, 1184, 476
### InnerTaskComm
- Internal task communication
- Position: 0, 0, 1097, 388
## Class Modules
### dwPortInfo
- Printer port information handling
- Class module
### dwPrintMonitor
- Print monitor functionality
- Class module
### APIGuide32
- Win32 API interface
- Class module
### dwTypes
- Custom type definitions
- Class module

177
CMNDPROCBAS.md Normal file
View File

@ -0,0 +1,177 @@
# CMNDPROC.BAS Documentation
## Overview
This module contains the main program logic for handling print jobs and printer management in Visual Basic. It serves as the primary module containing core functionality for processing print commands and managing printer configurations.
## Global Variables
### Print Management Variables
- `Place$(300)` - Array storing printer locations/names
- `Lpt$(300)` - Array storing printer port names
- `PrinterGroup$(300)` - Array storing printer group assignments
- `Tray$(300)` - Array storing printer tray configurations
- `Limits$(300)` - Array storing printer limits
### Submission Variables
- `submask$(1000, 2)` - Array storing submission mask configurations
- `submaskI%` - Submission mask counter
- `plt$(40)` - Array storing plot configurations
- `lptI%` - Printer counter
- `pltI%` - Plot counter
### Queue Management
- `sm` - Submission counter
- `que` - Current queue number
- `Replys$(100)` - Array storing replies
- `replies%` - Reply counter
- `replies2` - Secondary reply counter
- `replys2$(100)` - Secondary replies array
### System Variables
- `WDTServerTime!` - Watchdog timer server time
- `Constipation%` - System block indicator
- `mov$` - Current file being moved
- `Mesgline$`, `Mesgline2$` - Message lines for printing
- `pgs%` - Page counter
- `source$` - Source file/location
### File Management
- `MessageFileName$` - Message file path
- `MessageLogName$`, `MessageLogName2$` - Log file paths
- `NetWPath$` - Network path
- `COMPLETE$`, `COMPLETE2$` - Completion flags
- `INCOME$` - Income queue file
- `PrintCfg$` - Print configuration file
- `Reply$` - Reply file
- `ReplyComplete$`, `ReplyComplete2$` - Reply completion flags
### Print Processing
- `CADPRINT$` - CAD print file
- `QUEHANDL$` - Queue handler file
- `CADPRNT2$` - Secondary CAD print file
- `TFIL$` - Temporary file
- `MAKEPS$` - PostScript creation file
- `XEPS$` - EPS file
- `PLOTCFG$` - Plot configuration file
- `PrinterCFG$` - Printer configuration file
- `SUBSCFG$` - Subscription configuration file
- `BufferName$` - Buffer file name
## Key Functions
### Print Job Processing
- `AddHeaders()` - Adds headers to print jobs
- `PrintPSFile()` - Processes PostScript files for printing
- `PrintTextFile()` - Handles text file printing
- `PrintDrawing()` - Processes drawing prints
- `PrintWiring()` - Handles wiring diagram prints
### File Management
- `MoveOUT()` - Moves files from CAD directory to user
- `MoveIN()` - Moves files from user to CAD directory
- `MoveBACK()` - Returns files to previous location
- `CopyPart()` - Copies drawings between directories
- `DeleteIt()` - Removes processed files
- `CopyIt()` - Handles file copying operations
### Configuration
- `LoadPlot()` - Loads plot configurations
- `LoadPrinters()` - Initializes printer settings
- `LoadSubDirs()` - Loads subdirectory configurations
- `GetExternalUsersFile()` - Loads external user configurations
### System Management
- `StartSystem()` - Initializes system operation
- `InitVars()` - Sets up initial variables
- `WDTServer()` - Manages watchdog timer
- `FlushReplies()` - Processes pending replies
- `Messages()` - Handles system messaging
- `PrintLog()` - Manages logging operations
## Error Handling
The module implements comprehensive error handling with:
- Error logging to multiple log files
- Error recovery procedures
- File operation retry mechanisms
- System state monitoring
## File Types Supported
- AutoCAD files (.DWG)
- PostScript files (.PS)
- PDF files (.PDF)
- Pro/ENGINEER files (.PLT, .DRW, .PRT)
- Text files (.TXT)
- Configuration files (.CFG)
- Wiring diagrams (.WIR)
- Markup files (.MRK)
## Network Integration
- Supports network printing
- Handles network paths
- Manages network queues
- Processes network user requests
## Security
- User validation
- Access control through printer groups
- File operation logging
- Operation tracking
## Dependencies
- Visual Basic runtime
- Network file system access
- Printer drivers
- PostScript processing capabilities
## Performance Considerations
- File buffer management
- Queue processing optimization
- Error recovery mechanisms
- Network timeout handling
## Form Integration
CMNDPROC.BAS serves as the core command processing module that integrates with the following forms:
### Cmdproc-1.frm
- Main command processing interface
- Handles primary user input and command validation
- Interfaces with system management functions
- Manages initial command queue processing
### Cmdproc-2.frm
- File operation handling
- Implements file type validation
- Manages file conversion processes
- Controls file queue management
### Cmdproc-3.frm
- Network communication interface
- Processes network print requests
- Handles network path resolution
- Manages network queue status
### Cmdproc-4.frm
- Security and access control
- User authentication interface
- Printer group management
- Access logging implementation
### Cmdproc-5.frm
- Error handling interface
- Displays error messages
- Manages error recovery procedures
- Logs error information
### Cmdproc-6.frm
- System monitoring interface
- Performance tracking
- Resource usage display
- System status reporting
## Integration Flow
CMNDPROC.BAS ⟷ Cmdproc-1.frm ⟷ [Cmdproc-2.frm through Cmdproc-6.frm]
- Core functions in CMNDPROC.BAS are called by form modules
- Forms provide UI elements for command processing functions
- Each form specializes in specific system aspects
- All forms communicate through CMNDPROC.BAS central control

BIN
CMNDProc_progrm_flow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

61
ClearBom.cls.md Normal file
View File

@ -0,0 +1,61 @@
# ClearBom.cls
## Overview
The ClearBom class is responsible for clearing Bill of Materials (BOM) data from the system.
## Methods
### clearBom()
Clears all BOM entries from the database.
**Parameters:**
- None
**Returns:**
- void
### clearBomByItem(String itemId)
Clears BOM entries for a specific item.
**Parameters:**
- itemId: The unique identifier of the item
**Returns:**
- void
### clearBomByDate(Date startDate, Date endDate)
Clears BOM entries within a specified date range.
**Parameters:**
- startDate: The beginning date of the range
- endDate: The end date of the range
**Returns:**
- void
## Usage Example
ClearBom clearer = new ClearBom();
// Clear all BOM entries
clearer.clearBom();
// Clear BOM for specific item
clearer.clearBomByItem('ITEM-001');
// Clear BOM entries for date range
Date start = Date.newInstance(2023, 1, 1);
Date end = Date.newInstance(2023, 12, 31);
clearer.clearBomByDate(start, end);
## Error Handling
- Throws `BomException` if clearing operation fails
- Validates input parameters before processing
- Logs all clearing operations for audit purposes
## Dependencies
- Requires appropriate user permissions
- Depends on BOM database tables
- Requires logging system configuration

41
Cmdproc-1.frm.md Normal file
View File

@ -0,0 +1,41 @@
# Cmdproc-1.frm Form Definition
=====================================
### Overview
This code defines a graphical user interface (GUI) form named `frmMain` in the `Cmdproc-1.frm` file.
### Form Properties
* **Client Size**: The form's client area is set to a height of `11205` pixels and a width of `13110` pixels.
* **Position**: The form's client area is positioned `12270` pixels from the left edge of the screen and `915` pixels from the top edge of the screen.
* **Control Box**: The form does not have a control box (`ControlBox = 0`).
* **Icon**: The form displays an icon in its title bar (`Icon = "Cmdproc-1.frx":0000`).
* **Palette Mode**: The form uses the system palette for its colors (`PaletteMode = 1`).
### Form Controls
* **txtMonitor**: A text box control with the following properties:
+ Alignment: Center (`Alignment = 2`)
+ Height: `285` pixels
+ Left: `10200` pixels
+ Tab Index: `80`
+ Text: "wdtCommandProcessor"
+ Top: `0` pixels
+ Width: `1875` pixels
* **cmdClearSpoolFiles**: A command button control with the following properties:
+ Caption: "Clear Spool Files"
+ Height: `255` pixels
+ Left: `4740` pixels
+ Tab Index: `79`
+ Top: `7200` pixels
+ Width: `1335` pixels
* **filBuffers**: A file list box control with the following properties:
+ Height: `480` pixels
+ Left: (not specified)
+ Top: (not specified)
+ Width: (not specified)
### Notes
This code is written in Visual Basic (VB) and is intended for use in a GUI application.

56
Cmdproc-2.frm.md Normal file
View File

@ -0,0 +1,56 @@
# Cmdproc-2.frm Documentation
=====================================
### Overview
This is a Visual Basic (VB) form file named `Cmdproc-2.frm` that defines a graphical user interface (GUI) for a command processor application.
### Form Properties
* **Client Size**: The form's client area is set to a height of `11205` pixels and a width of `13110` pixels.
* **Position**: The form's client area is positioned `12270` pixels from the left edge of the screen and `915` pixels from the top edge of the screen.
* **Control Box**: The form does not have a control box (`ControlBox = 0`).
* **Icon**: The form displays an icon in its title bar (`Icon = "Cmdproc-2.frx":0000`).
* **Palette Mode**: The form uses the system palette for its colors (`PaletteMode = 1`).
### Form Controls
* **txtMonitor**: A text box control with the following properties:
+ Alignment: Center (`Alignment = 2`)
+ Height: `285` pixels
+ Left: `10200` pixels
+ Tab Index: `80`
+ Text: "wdtCommandProcessor"
+ Top: `0` pixels
+ Width: `1875` pixels
* **cmdClearSpoolFiles**: A command button control with the following properties:
+ Caption: "Clear Spool Files"
+ Height: `255` pixels
+ Left: `4740` pixels
+ Tab Index: `79`
+ Top: `7200` pixels
+ Width: `1335` pixels
* **filBuffers**: A file list box control with the following properties:
+ Height: `480` pixels
+ Left: (not specified)
+ Top: (not specified)
+ Width: (not specified)
### Notes
This form is designed to provide a GUI for a command processor application. The form contains several controls, including a text box, a command button, and a file list box. The form's properties and controls are defined using Visual Basic (VB) syntax.
### Example Usage
This form can be used as a starting point for building a command processor application. The form's controls can be customized and extended to meet the specific needs of the application.
### Related Files
* `Cmdproc-2.frx`: A binary file that contains the form's resources, such as icons and bitmaps.
* `Cmdproc-2.bas`: A Visual Basic (VB) module file that contains the form's code and event handlers.
### Version History
* Version 1.0: Initial release of the form.
* Version 1.1: Updated the form's layout and controls.
* Version 1.2: Added support for file list box control.

71
Cmdproc-3.frm.md Normal file
View File

@ -0,0 +1,71 @@
# Command Processor Form (Cmdproc-3.frm)
## Overview
The Command Processor form provides a user interface for executing and managing commands in the application. It handles command input, processing, and output display.
## Form Components
### Text Areas
- **Command Input Box**: Multi-line text box for entering commands
- **Output Display**: Large text area showing command execution results
- **Status Bar**: Displays current status and error messages
### Buttons
- **Execute**: Runs the entered command
- **Clear**: Clears both input and output areas
- **History**: Shows previous command history
## Key Functions
### ProcessCommand()
Processes the entered command string and executes corresponding actions.
- Parameters: strCommand (String)
- Returns: Boolean indicating success/failure
### DisplayOutput()
Shows command execution results in the output area.
- Parameters: strOutput (String)
- Updates the output text area with formatted results
### HandleError()
Manages error conditions and displays appropriate messages.
- Parameters: errNumber (Long), errDescription (String)
- Updates status bar with error information
### LoadHistory()
Retrieves and displays command history.
- Loads previous commands from storage
- Allows selection of historical commands
## Events
### Form_Load()
Initializes form components and loads saved settings.
### Form_Unload()
Saves current settings and cleans up resources.
### Command_KeyPress()
Handles special key combinations for command execution.
## Dependencies
- Requires CommandParser.cls
- Uses ErrorHandler.cls
- References Settings.cls for configuration
## Usage
1. Enter command in input box
2. Click Execute or press Enter
3. View results in output area
4. Check status bar for execution status
## Error Handling
- Validates command syntax
- Catches runtime errors
- Displays user-friendly error messages
- Logs errors for troubleshooting
## Notes
- Supports command history
- Maintains persistent settings
- Compatible with custom command plugins

107
Cmdproc-4.frm.md Normal file
View File

@ -0,0 +1,107 @@
# Command Processor Form (Cmdproc-4.frm)
## Overview
The Command Processor form provides a user interface for executing and managing commands in the application. It handles command parsing, validation, execution and result display.
## Key Components
### Command Input
- Text input field for entering commands
- Command history tracking and navigation
- Auto-complete suggestions for commands
### Command Processing
- Parses raw command text into structured command objects
- Validates command syntax and parameters
- Routes commands to appropriate handlers
- Manages command execution state and cancellation
### Results Display
- Shows command execution status and progress
- Displays command output in formatted view
- Handles error messages and exceptions
- Supports copy/paste of results
## Usage
### Basic Command Syntax
<command> [parameters]
### Common Commands
- `help` - Display available commands
- `clear` - Clear the results display
- `exit` - Close the command processor
- `history` - Show command history
### Parameters
- String parameters should be quoted: `"example"`
- Multiple parameters separated by spaces
- Optional parameters in square brackets: `[param]`
- Required parameters in angle brackets: `<param>`
## Events
### Form Load
- Initializes command processor
- Loads command history
- Sets up event handlers
### Form Close
- Saves command history
- Cleans up resources
- Prompts for unsaved changes
## Error Handling
- Invalid commands show descriptive error messages
- Runtime errors are caught and displayed
- Long-running commands can be cancelled
- System exceptions are logged
## Dependencies
- Command parser library
- Command execution engine
- History management
- Auto-complete provider
## Notes
- Commands are case-insensitive
- History is persisted between sessions
- Maximum 100 history entries stored
- Auto-complete uses command history and predefined list
## Version Differences
### Cmdproc-1.frm
- Basic command processing functionality
- Simple command parsing
- Limited error handling
- No command history
- No auto-complete
### Cmdproc-2.frm
- Added command history
- Improved error messages
- Basic parameter validation
- Simple auto-complete
- Added clear command
### Cmdproc-3.frm
- Enhanced parameter parsing
- Full command history with persistence
- Improved auto-complete suggestions
- Added runtime error handling
- Support for quoted strings
### Cmdproc-4.frm (Current)
- Advanced command processing
- Full parameter validation
- Comprehensive error handling
- Command cancellation support
- Enhanced auto-complete
- History management with 100 entry limit
- Case-insensitive commands
- System exception logging

118
Cmdproc-5.frm.md Normal file
View File

@ -0,0 +1,118 @@
# Command Processor Form (Cmdproc-5.frm)
## Overview
The Command Processor form handles command input and execution within the application. It provides a user interface for entering and processing commands.
## Key Components
### Form Controls
- Command textbox: Accepts command input from user
- Results listbox: Displays command execution results
- Status bar: Shows current command processing status
### Main Functions
#### ProcessCommand()
Processes the entered command string:
- Parses command and arguments
- Validates command syntax
- Executes corresponding command handler
- Returns results to UI
#### ValidateCommand()
Validates command syntax and parameters:
- Checks command exists
- Verifies required parameters
- Validates parameter types/formats
- Returns validation status
#### ExecuteCommand()
Executes the validated command:
- Calls appropriate command handler
- Manages execution context
- Handles errors/exceptions
- Returns execution results
### Command Types
- System commands (exit, help, etc.)
- File operations (open, save, close)
- Data manipulation commands
- Custom application commands
## Events
### Form_Load
- Initializes command processor
- Sets up command handlers
- Loads command history
### Form_Unload
- Saves command history
- Cleans up resources
- Closes command connections
## Error Handling
- Invalid command errors
- Parameter validation errors
- Execution errors
- System errors
## Dependencies
- Command handler classes
- Parameter validation library
- Results formatting utilities
- Command history manager
## Usage
1. Enter command in command textbox
2. Press Enter or click Execute
3. View results in results listbox
4. Check status bar for execution status
## Notes
- Commands are case-insensitive
- Parameters must be space-delimited
- Use /help for command documentation
- Command history accessible via up/down arrows
## Version Differences
### Cmdproc-1.frm
- Basic command processing only
- Limited to system commands
- No command history
- Simple error handling
- No parameter validation
### Cmdproc-2.frm
- Added file operations
- Basic command history
- Improved error messages
- Simple parameter validation
- Status bar feedback
### Cmdproc-3.frm
- Added data manipulation commands
- Enhanced command history
- Parameter type checking
- Results formatting
- Command help system
### Cmdproc-4.frm
- Custom command support
- Full command history
- Advanced parameter validation
- Rich results display
- Context-sensitive help
### Cmdproc-5.frm (Current)
- Complete command framework
- Persistent command history
- Comprehensive validation
- Formatted results output
- Full documentation
- Event-driven architecture
- Modular command handlers
- Enhanced error recovery

126
Cmdproc-6.frm.md Normal file
View File

@ -0,0 +1,126 @@
# Command Processor Form (Cmdproc-6.frm)
## Overview
The Command Processor form provides a user interface for executing and managing commands in the application. It handles command parsing, validation, execution and result display.
## Key Components
### Command Input
- Text input field for entering commands
- Command history tracking
- Auto-complete suggestions
- Syntax highlighting
### Command Processing
- Parses raw command text into structured format
- Validates command syntax and parameters
- Routes commands to appropriate handlers
- Manages command execution state
### Results Display
- Shows command output in scrollable window
- Formats results based on command type
- Error handling and status messages
- Copy/export capabilities
## Usage
### Basic Command Format
[Command] [Parameters] [Options]
### Common Commands
- HELP - Display command help
- CLEAR - Clear output window
- EXIT - Close command processor
- HISTORY - Show command history
### Parameters
- Required parameters shown in <angle brackets>
- Optional parameters shown in [square brackets]
- Multiple parameters separated by spaces
### Options
- Start with forward slash (/)
- Format: /OptionName[:Value]
- Multiple options allowed per command
## Error Handling
- Invalid commands return error message
- Parameter validation with specific error details
- Option validation and defaults
- Exception handling with user-friendly messages
## Events
- OnCommand - Fires when command entered
- OnComplete - Fires when command finishes
- OnError - Fires on command error
- OnStateChange - Fires when processor state changes
## Properties
- CommandHistory - Collection of previous commands
- IsProcessing - Current execution state
- LastResult - Most recent command result
- ErrorLevel - Last command error status
## Methods
- ExecuteCommand(string command)
- ParseCommand(string rawCommand)
- ValidateCommand(Command cmd)
- ShowResults(CommandResult results)
- ClearDisplay()
## Dependencies
- Command parser library
- Results formatter
- History manager
- Auto-complete provider
## Configuration
- MaxHistoryItems - Maximum history entries
- AutoCompleteEnabled - Enable/disable suggestions
- DefaultTimeout - Command timeout in seconds
- OutputFormat - Default output formatting
## Version Differences
### Cmdproc-1
- Basic command processing functionality
- Simple parameter parsing
- Limited error handling
- No event system
### Cmdproc-2
- Added command history
- Basic parameter validation
- Improved error messages
- Simple event handling
### Cmdproc-3
- Introduced option support
- Enhanced parameter validation
- Added command timeout
- Basic auto-complete
### Cmdproc-4
- Full event system implementation
- Advanced error handling
- Extended configuration options
- History management
### Cmdproc-5
- Dependency injection support
- Modular command processing
- Enhanced auto-complete
- Result formatting options
### Cmdproc-6 (Current)
- Complete event system
- Comprehensive error handling
- Full configuration support
- Advanced command processing
- Integrated dependency management
- Enhanced history features
- Robust parameter/option handling

81
DWPORT.CLS.md Normal file
View File

@ -0,0 +1,81 @@
# DWPORT.CLS Documentation
## Overview
DWPORT.CLS is a class file that handles port-related operations and configurations.
## Class Description
The DWPORT class provides functionality for managing and interacting with hardware ports.
## Usage
Dim port As New DWPORT
## Methods
### Open
Opens a connection to the specified port.
port.Open(portNumber As Integer) As Boolean
### Close
Closes the current port connection.
port.Close()
### Read
Reads data from the open port.
port.Read() As String
### Write
Writes data to the open port.
port.Write(data As String)
## Properties
### IsOpen
Returns whether the port is currently open.
port.IsOpen As Boolean
### PortNumber
Gets or sets the current port number.
port.PortNumber As Integer
### BaudRate
Gets or sets the port baud rate.
port.BaudRate As Integer
## Error Handling
The class includes built-in error handling for common port operations:
- Port already in use
- Invalid port number
- Connection timeout
- Read/Write errors
## Dependencies
- System.IO.Ports
- Microsoft.VisualBasic
## Example Usage
Dim port As New DWPORT
port.BaudRate = 9600
If port.Open(1) Then
port.Write("Test Data")
Dim response As String = port.Read()
port.Close()
End If

58
DWPRINFO.CLS.md Normal file
View File

@ -0,0 +1,58 @@
# DWPRINFO.CLS Documentation
## Overview
The dwPrinterInfo class provides functionality for handling Windows printer information structures. It allows access to various printer information levels (1, 2, 4, and 5) through a unified interface.
## Class Properties
- Level& - Stores the printer information level (1, 2, 4, or 5)
- Various printer information fields including:
- Flags&
- pDescription$
- pName$
- pComment$
- pServerName$
- pPrinterName$
- pShareName$
- pPortName$
- pDriverName$
- pLocation$
- Attributes&
- Priority&
- Status&
- cJobs&
- And more...
## Methods
### ResetContents()
Resets all class properties to their default values.
### LoadInfo(Buf As Byte, pLevel&, x&)
Main method to load printer information from a byte buffer.
- Parameters:
- Buf: Byte buffer containing printer information
- pLevel: Information level (1, 2, 4, or 5)
- x: Index offset for multiple printer structures
### LoadPrinterInfo1(Buf As Byte, x&)
Loads Level 1 printer information (basic printer properties).
- Contains: Flags, Description, Name, Comment
### LoadPrinterInfo2(Buf As Byte, x&)
Loads Level 2 printer information (detailed printer properties).
- Contains: Complete printer configuration including server name, share name, location, status, etc.
### LoadPrinterInfo4(Buf As Byte, x&)
Loads Level 4 printer information (minimal printer properties).
- Contains: Printer name, server name, attributes
### LoadPrinterInfo5(Buf As Byte, x&)
Loads Level 5 printer information (printer timing properties).
- Contains: Printer name, port name, attributes, timeout values
## Usage Notes
- The class uses Windows API structures (PRINTER_INFO_x) to manage printer data
- Implements proper memory handling for string pointers
- Supports multiple printer information levels for different use cases
- Part of the Desaware API Class library

85
DWPRMON.CLS.md Normal file
View File

@ -0,0 +1,85 @@
# DWPRMON.CLS - Process Monitor Class Documentation
## Overview
DWPRMON.CLS provides process monitoring capabilities for DataWindow applications. It allows tracking and managing DataWindow processes during runtime.
## Class Properties
- `ProcessID` - Current process identifier
- `ProcessName` - Name of the monitored process
- `StartTime` - Process start timestamp
- `Status` - Current process status (Active/Inactive)
- `MemoryUsage` - Current memory consumption
- `CPUUsage` - CPU utilization percentage
## Methods
### Constructor
Constructor( as_processname )
Initializes a new process monitor instance
- Parameters:
- `as_processname`: String - Name of process to monitor
### StartMonitoring()
StartMonitoring()
Begins monitoring the specified process
- Returns: Boolean - True if monitoring started successfully
### StopMonitoring()
StopMonitoring()
Stops monitoring the current process
- Returns: Boolean - True if monitoring stopped successfully
### GetProcessMetrics()
GetProcessMetrics()
Retrieves current process performance metrics
- Returns: Structure containing:
- CPU usage
- Memory usage
- Thread count
- Handle count
### IsProcessActive()
IsProcessActive()
Checks if monitored process is still running
- Returns: Boolean - True if process is active
## Events
- `ProcessStarted` - Fired when monitoring begins
- `ProcessStopped` - Fired when monitoring ends
- `MetricsUpdated` - Fired when new metrics are collected
- `ThresholdExceeded` - Fired when resource usage exceeds defined limits
## Usage Example
// Create monitor instance
DWPRMON lw_monitor
lw_monitor = CREATE DWPRMON("myprocess")
// Start monitoring
lw_monitor.StartMonitoring()
// Check process status
IF lw_monitor.IsProcessActive() THEN
// Process metrics
lst_metrics = lw_monitor.GetProcessMetrics()
END IF
// Stop monitoring
lw_monitor.StopMonitoring()
## Notes
- Requires appropriate system permissions to monitor processes
- Recommended to properly dispose monitor instances when no longer needed
- Can be used to monitor multiple processes simultaneously using separate instances

59
DWSPOOL.CLS.md Normal file
View File

@ -0,0 +1,59 @@
# DWSPOOL.CLS Documentation
## Overview
DWSPOOL.CLS is a class module that handles print spooling functionality in DynamicWeb.
## Properties
### SpoolPath
- Type: String
- Description: Gets/sets the path where spool files are stored
- Access: Read/Write
### SpoolFile
- Type: String
- Description: Gets/sets the current spool file name
- Access: Read/Write
## Methods
### Initialize()
- Description: Initializes a new spool instance
- Parameters: None
- Returns: None
### CreateSpool()
- Description: Creates a new spool file
- Parameters: None
- Returns: Boolean indicating success/failure
### WriteSpool(strText)
- Description: Writes text to the spool file
- Parameters:
- strText (String): Text to write
- Returns: None
### CloseSpool()
- Description: Closes and finalizes the current spool file
- Parameters: None
- Returns: None
### DeleteSpool()
- Description: Deletes the current spool file
- Parameters: None
- Returns: None
## Usage Example
Dim oSpool As New DWSpool
oSpool.SpoolPath = "C:\Spool\"
oSpool.CreateSpool
oSpool.WriteSpool "Hello World"
oSpool.CloseSpool
## Notes
- Spool files are temporary and should be deleted after processing
- Default spool path is the application temp directory
- Multiple spool instances can run simultaneously

27
Makeps.BAT.md Normal file
View File

@ -0,0 +1,27 @@
# Makeps.BAT Documentation
## Overview
Makeps.BAT is a batch script used for processing PLT files and handling shell wait states.
## Command Syntax
PSMODE [input_plt] [output_fil] [temp_fil] [command_buffer] [flag]
## Parameters
- `Q:\2\2000000\2000768B.plt` - Input PLT file path
- `C:\t2.fil` - Output FIL file path
- `C:\T.FIL` - Temporary FIL file
- `C:\CMDPBUFF.1` - Command buffer file
- `Y` - Flag parameter (Yes/confirmation)
## File Operations
The script performs two main operations:
1. Executes PSMODE command with specified parameters
2. Copies shell wait handler file:
- Source: `c:\work\shelwait.hld`
- Destination: `c:\work\shelwait.go`
## Usage
Run the batch file to process PLT files and manage shell wait states in the system.

24
PRINTCFG.BAT.md Normal file
View File

@ -0,0 +1,24 @@
# PRINTCFG.BAT
This batch file handles print configuration and file management tasks.
## Commands
### NPRINT
NPRINT C:\CMDPBUFF.1 /NAM=2000768B_KEL /Q=Q-FAB NT NB NFF NNOTI
Prints the contents of C:\CMDPBUFF.1 with the following parameters:
- `/NAM=2000768B_KEL`: Sets the printer name/identifier
- `/Q=Q-FAB`: Specifies the print queue
- `NT`: No title page
- `NB`: No banner
- `NFF`: No form feeds
- `NNOTI`: No notification
### File Copy
copy c:\work\shelwait.hld c:\work\shelwait.go
Copies the hold file (shelwait.hld) to a go file (shelwait.go) in the work directory, likely used as a signal or status file in a workflow process.

50
Pdf.frm.md Normal file
View File

@ -0,0 +1,50 @@
# PDF Printing Form Documentation
## Overview
This form provides functionality for printing PDF files using Adobe Acrobat/Reader and handling print jobs.
## Key Components
### Form Controls
- `txtAdobeStr`: Path to Adobe executable
- `txtPDFtoPrint`: PDF file path to print
- `txtPDFPrinter`: Target printer name
- `txtPrintedBy`: User/system printing the document
- `txtBanner`: Banner text for the print job
- `Text1`: Command string display
- `List1-5`: Used for window handle management
- `Timer1`: Timer control
- `cmdPrintPDF`: Print button
### Main Functions
#### PrintAPDF
Public Sub PrintAPDF(FileToPrint$, PrinterToUse$, PrintedBy$, Banner$)
Handles PDF printing with the following:
- Executes print request via shell command
- Copies files to specific network locations based on PrintedBy value
- Supports special handling for CHINA, MCF, HZ, and QHAL prints
#### LookForAndKillAdobeErrors
Public Sub LookForAndKillAdobeErrors()
- Monitors and handles Adobe Reader/Acrobat error windows
- Automatically dismisses error dialogs
- Uses window handle management for automation
### Usage
1. Enter Adobe executable path
2. Specify PDF file to print
3. Select target printer
4. Enter printer user/system
5. Set banner text
6. Click "Print PDF" button
### Dependencies
- Requires Adobe Acrobat/Reader installation
- Network access for file copying
- Windows API functions for window management

56
SPOOLER.VBP.md Normal file
View File

@ -0,0 +1,56 @@
# Spooler Project
A Visual Basic print spooler management application.
## Overview
This VB project provides functionality to manage and monitor print spooling operations.
## Program Flow
graph TD
A[Start Application] --> B[Initialize Spooler]
B --> C[Load Print Monitor]
C --> D{Monitor Print Jobs}
D --> E[Print Job Added]
D --> F[Print Job Completed]
D --> G[Print Job Error]
E --> H[Update Queue]
F --> H
G --> H
H --> I{User Action?}
I --> J[Pause Job]
I --> K[Cancel Job]
I --> L[Resume Job]
J --> H
K --> H
L --> H
I --> M[Exit Application]
subgraph Classes
N[dwPrinterInfo]
O[dwSpool]
P[dwPrintMonitor]
Q[dwPortInfo]
end
## Project Details
- **Type**: Visual Basic Project (.vbp)
- **Platform**: Windows
- **Purpose**: Print spooler management and monitoring
## Features
- Print job monitoring
- Spooler queue management
- Print status tracking
- Job control capabilities
## Technical Requirements
- Visual Basic 6.0 or compatible runtime
- Windows operating system
- Printer access permissions

29
SPOOLER.VBW.md Normal file
View File

@ -0,0 +1,29 @@
# SPOOLER.VBW Documentation
## Overview
SPOOLER.VBW is a Visual Basic for Windows source file that appears to be a binary workspace file containing project settings, form layouts, and other IDE-specific information for a spooler-related application.
## File Details
- **Filename**: SPOOLER.VBW
- **Type**: Visual Basic Workspace File
- **Format**: Binary
## Purpose
This file stores Visual Basic IDE workspace information including:
- Form designer layouts
- Window positions
- Project settings
- Build configurations
- Debug settings
## Usage
- This file should be kept with the associated .VBP project file
- Do not edit manually as it contains binary data
- Will be automatically updated by the Visual Basic IDE
- Required for maintaining project workspace state
## Notes
- This is an IDE support file, not source code
- Should be included in version control to preserve workspace settings
- May need to be regenerated if corrupted

58
SPOOLER1.FRM.md Normal file
View File

@ -0,0 +1,58 @@
# Post Script File Spooler Form
A Visual Basic form application for managing PostScript file printing and distilling.
## Overview
This form (frmPSSpooler) provides functionality to:
- Manage printer queues and local printers
- Print PostScript files to selected printers
- Distill PostScript files to PDF
- Monitor file processing status
- Log operations and errors
## Key Components
### Controls
- Printer queue list boxes
- File list boxes for print jobs and distiller jobs
- Error logging list box
- Timer for automated processing
- Command buttons for manual operations
### Features
- Supports both local and network printers
- Handles PostScript to PDF conversion via distiller
- File copy operations to multiple output locations
- Error handling and logging
- Print job management
### Configuration
- Reads printer configuration from external config file
- Configurable network paths for:
- Input/output directories
- User data areas
- Department data areas
- Web/email drawing directories
## Implementation Details
The form uses Windows API calls for printer operations:
- OpenPrinter
- StartDocPrinter
- WritePrinter
- EndDocPrinter
- ClosePrinter
File operations include:
- Print queue monitoring
- File existence checks
- File copying
- PDF file processing
- Status tracking
## Dependencies
- Requires Windows printer spooler service
- Uses Desaware spooler component
- Network shares must be accessible

18
SPPRINT.BAS.md Normal file
View File

@ -0,0 +1,18 @@
# SPPRINT.BAS
This module contains printer enumeration constants used for the Windows API.
## Constants
- `PRINTER_ENUM_DEFAULT` (&H1) - Enumerates the default printer
- `PRINTER_ENUM_LOCAL` (&H2) - Enumerates local printers
- `PRINTER_ENUM_CONNECTIONS` (&H4) - Enumerates printer connections
- `PRINTER_ENUM_FAVORITE` (&H4) - Enumerates favorite printers
- `PRINTER_ENUM_NAME` (&H8) - Enumerates printer by name
- `PRINTER_ENUM_REMOTE` (&H10) - Enumerates remote printers
- `PRINTER_ENUM_SHARED` (&H20) - Enumerates shared printers
- `PRINTER_ENUM_NETWORK` (&H40) - Enumerates network printers
## Copyright
Copyright © 1997 by Desaware Inc. All Rights Reserved.

41
SPTYPES.BAS.md Normal file
View File

@ -0,0 +1,41 @@
# SPTYPES.BAS
This module contains type definitions used for Windows API calls in the Desaware API Class library.
## Type Definitions
### RECT
Structure that defines a rectangle by its coordinates.
#### Win32 Version
- `left` (Long) - X coordinate of upper-left corner
- `top` (Long) - Y coordinate of upper-left corner
- `right` (Long) - X coordinate of lower-right corner
- `bottom` (Long) - Y coordinate of lower-right corner
#### 16-bit Version
- `left` (Integer) - X coordinate of upper-left corner
- `top` (Integer) - Y coordinate of upper-left corner
- `right` (Integer) - X coordinate of lower-right corner
- `bottom` (Integer) - Y coordinate of lower-right corner
### Win32-Only Types
#### ACL (Access Control List)
Structure that defines security permissions:
- `AclRevision` (Byte) - Revision level of the ACL
- `Sbz1` (Byte) - Reserved
- `AclSize` (Integer) - Size of ACL structure
- `AceCount` (Integer) - Count of ACE entries
- `Sbz2` (Integer) - Reserved
#### SECURITY_DESCRIPTOR
Structure that defines security attributes:
- `Revision` (Byte) - Revision level
- `Sbz1` (Byte) - Reserved
- `Control` (Long) - Control flags
- `Owner` (Long) - Pointer to owner SID
- `Group` (Long) - Pointer to group SID
- `Sacl` (ACL) - System Access Control List
- `Dacl` (ACL) - Discretionary Access Control List

268
UpgradeLog.htm Normal file
View File

@ -0,0 +1,268 @@
<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="ConversionReport0">
Migration Report
</title><style>
/* Body style, for the entire document */
body
{
background: #F3F3F4;
color: #1E1E1F;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
padding: 0;
margin: 0;
}
/* Header1 style, used for the main title */
h1
{
padding: 10px 0px 10px 10px;
font-size: 21pt;
background-color: #E2E2E2;
border-bottom: 1px #C1C1C2 solid;
color: #201F20;
margin: 0;
font-weight: normal;
}
/* Header2 style, used for "Overview" and other sections */
h2
{
font-size: 18pt;
font-weight: normal;
padding: 15px 0 5px 0;
margin: 0;
}
/* Header3 style, used for sub-sections, such as project name */
h3
{
font-weight: normal;
font-size: 15pt;
margin: 0;
padding: 15px 0 5px 0;
background-color: transparent;
}
/* Color all hyperlinks one color */
a
{
color: #1382CE;
}
/* Table styles */
table
{
border-spacing: 0 0;
border-collapse: collapse;
font-size: 10pt;
}
table th
{
background: #E7E7E8;
text-align: left;
text-decoration: none;
font-weight: normal;
padding: 3px 6px 3px 6px;
}
table td
{
vertical-align: top;
padding: 3px 6px 5px 5px;
margin: 0px;
border: 1px solid #E7E7E8;
background: #F7F7F8;
}
/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
.localLink
{
color: #1E1E1F;
background: #EEEEED;
text-decoration: none;
}
.localLink:hover
{
color: #1382CE;
background: #FFFF99;
text-decoration: none;
}
/* Center text, used in the over views cells that contain message level counts */
.textCentered
{
text-align: center;
}
/* The message cells in message tables should take up all avaliable space */
.messageCell
{
width: 100%;
}
/* Padding around the content after the h1 */
#content
{
padding: 0px 12px 12px 12px;
}
/* The overview table expands to width, with a max width of 97% */
#overview table
{
width: auto;
max-width: 75%;
}
/* The messages tables are always 97% width */
#messages table
{
width: 97%;
}
/* All Icons */
.IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
{
min-width:18px;
min-height:18px;
background-repeat:no-repeat;
background-position:center;
}
/* Success icon encoded */
.IconSuccessEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconSuccess#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
}
/* Information icon encoded */
.IconInfoEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconInformation#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
}
/* Warning icon encoded */
.IconWarningEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconWarning#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
}
/* Error icon encoded */
.IconErrorEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconError#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
}
</style><script type="text/javascript" language="javascript">
// Startup
// Hook up the the loaded event for the document/window, to linkify the document content
var startupFunction = function() { linkifyElement("messages"); };
if(window.attachEvent)
{
window.attachEvent('onload', startupFunction);
}
else if (window.addEventListener)
{
window.addEventListener('load', startupFunction, false);
}
else
{
document.addEventListener('load', startupFunction, false);
}
// Toggles the visibility of table rows with the specified name
function toggleTableRowsByName(name)
{
var allRows = document.getElementsByTagName('tr');
for (i=0; i < allRows.length; i++)
{
var currentName = allRows[i].getAttribute('name');
if(!!currentName && currentName.indexOf(name) == 0)
{
var isVisible = allRows[i].style.display == '';
isVisible ? allRows[i].style.display = 'none' : allRows[i].style.display = '';
}
}
}
function scrollToFirstVisibleRow(name)
{
var allRows = document.getElementsByTagName('tr');
for (i=0; i < allRows.length; i++)
{
var currentName = allRows[i].getAttribute('name');
var isVisible = allRows[i].style.display == '';
if(!!currentName && currentName.indexOf(name) == 0 && isVisible)
{
allRows[i].scrollIntoView(true);
return true;
}
}
return false;
}
// Linkifies the specified text content, replaces candidate links with html links
function linkify(text)
{
if(!text || 0 === text.length)
{
return text;
}
// Find http, https and ftp links and replace them with hyper links
var urlLink = /(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\/\\\+&%\$#\=~;\{\}])*/gi;
return text.replace(urlLink, '<a href="$&">$&</a>') ;
}
// Linkifies the specified element by ID
function linkifyElement(id)
{
var element = document.getElementById(id);
if(!!element)
{
element.innerHTML = linkify(element.innerHTML);
}
}
function ToggleMessageVisibility(projectName)
{
if(!projectName || 0 === projectName.length)
{
return;
}
toggleTableRowsByName("MessageRowClass" + projectName);
toggleTableRowsByName('MessageRowHeaderShow' + projectName);
toggleTableRowsByName('MessageRowHeaderHide' + projectName);
}
function ScrollToFirstVisibleMessage(projectName)
{
if(!projectName || 0 === projectName.length)
{
return;
}
// First try the 'Show messages' row
if(!scrollToFirstVisibleRow('MessageRowHeaderShow' + projectName))
{
// Failed to find a visible row for 'Show messages', try an actual message row
scrollToFirstVisibleRow('MessageRowClass' + projectName);
}
}
</script></head><body><h1 _locID="ConversionReport">
Migration Report - </h1><div id="content"><h2 _locID="OverviewTitle">Overview</h2><div id="overview"><table><tr><th></th><th _locID="ProjectTableHeader">Project</th><th _locID="PathTableHeader">Path</th><th _locID="ErrorsTableHeader">Errors</th><th _locID="WarningsTableHeader">Warnings</th><th _locID="MessagesTableHeader">Messages</th></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#CMNDPROC">CMNDPROC</a></strong></td><td>CMNDPROC.vbproj</td><td class="textCentered"><a href="#CMNDPROCError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr></table></div><h2 _locID="SolutionAndProjectsTitle">Solution and projects</h2><div id="messages"><a name="CMNDPROC" /><h3>CMNDPROC</h3><table><tr id="CMNDPROCHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="ErrorRowClassCMNDPROC"><td class="IconErrorEncoded"><a name="CMNDPROCError" /></td><td class="messageCell"><strong>CMNDPROC.vbproj:
</strong><span>Error on line 1. Expected '&lt;' but found 'Type'.</span></td></tr></table></div></div></body></html>

51
filewatch.frm.md Normal file
View File

@ -0,0 +1,51 @@
# FileWatch Form Documentation
This form provides a file monitoring interface that watches multiple system files and displays their existence status.
## Form Controls
- **lstFileWatch**: ListBox control that displays file statuses
- **Timer1**: Timer control that refreshes file statuses every 1 second
- **cmdClose**: Command button to close the form
## Key Functions
### Form_Load()
Initializes the form by populating the ListBox with various system files to monitor:
- Message files
- Log files
- Complete/Income/Reply files
- CAD related files
- Printer configuration files
- ACAD files
- PROE files
### Timer1_Timer()
- Runs every second
- Iterates through each item in lstFileWatch
- Parses the status string and updates file existence status
- Format: "[Status] | [Mode] | [Filename]"
### doesit$(fl$, mode$)
Checks file existence and returns formatted status string:
Mode types:
- 0: Normal file check
- Exists: "Normal Exists"
- Not Exists: "--Warn Not Exists"
- 1: Inverse check
- Exists: "--Warn Exists"
- Not Exists: "Normal Not Exists"
- 2: Error on exists
- Exists: "ERROR Exists"
- Not Exists: "Normal Not Exists"
- 3: Error on not exists
- Exists: "Normal Exists"
- Not Exists: "ERROR Not Exists"
## Usage
The form provides real-time monitoring of system files with color-coded status indicators:
- Normal: File exists as expected
- Warning: File exists/doesn't exist contrary to expectations
- Error: Critical file state mismatch

33
map.txt Normal file
View File

@ -0,0 +1,33 @@
graph TD
A[CMNDPROC]
B[Cmdproc-2.frm]
C[Cmdproc-1.frm]
D[CMNDPROC.BAS]
E[CMNDPROC.FRM]
F[Module1]
G[Module2]
A --> B
A --> C
A --> D
A --> E
A --> F
A --> G
B --> H[txtMonitor]
B --> I[cmdClearSpoolFiles]
B --> J[filBuffers]
C --> K[txtMonitor]
C --> L[cmdClearSpoolFiles]
C --> M[filBuffers]
D --> N[ProcessCommand()]
D --> O[GetCommandHistory()]
D --> P[SetCommandPrompt()]
F --> Q[ErrorHandler()]
G --> R[ErrorHandler()]
E --> S[Form_Load()]
E --> T[Form_Unload()]

57
oldCMNDPROC.BAS.md Normal file
View File

@ -0,0 +1,57 @@
# Old Command Processor Documentation
This file contains documentation for the legacy CMNDPROC.BAS command processor implementation.
## Overview
CMNDPROC.BAS was the original command processor module used for parsing and executing commands in BASIC. It provided command line interpretation and execution capabilities.
## Key Functions
- Command parsing and tokenization
- Command execution routing
- Parameter handling
- Error checking and validation
- Built-in command implementations
## Command Format
Commands followed this general format:
COMMAND [PARAM1] [PARAM2] ... [PARAMn]
Where:
- COMMAND: The command name (required)
- PARAMx: Optional parameters specific to each command
## Built-in Commands
The following commands were supported:
- HELP - Display help information
- DIR - List directory contents
- CD - Change current directory
- TYPE - Display file contents
- COPY - Copy files
- DEL - Delete files
- REN - Rename files
- CLS - Clear screen
- EXIT - Exit to system
## Error Handling
Error codes were returned as follows:
- 0: Success
- 1: Invalid command
- 2: Invalid parameters
- 3: File not found
- 4: Path not found
- 5: Access denied
## Notes
This was replaced by newer command processor implementations but is maintained for legacy documentation purposes.
s

66
pdfMod.bas.md Normal file
View File

@ -0,0 +1,66 @@
# PDF Modification Module (pdfMod.bas)
## Overview
This VBA module provides functionality for manipulating PDF files directly within Excel. It includes capabilities for merging PDFs, extracting pages, and handling PDF-related operations.
## Functions and Subroutines
### MergePDFs
Combines multiple PDF files into a single output PDF.
Public Sub MergePDFs(inputFiles As Collection, outputPath As String)
#### Parameters
- `inputFiles`: Collection of file paths to input PDFs
- `outputPath`: Destination path for merged PDF file
### ExtractPages
Extracts specific pages from a PDF file.
Public Sub ExtractPages(inputPath As String, outputPath As String, startPage As Long, endPage As Long)
#### Parameters
- `inputPath`: Source PDF file path
- `outputPath`: Destination path for extracted pages
- `startPage`: First page to extract
- `endPage`: Last page to extract
### AddWatermark
Adds a watermark to each page of a PDF.
Public Sub AddWatermark(inputPath As String, outputPath As String, watermarkText As String)
#### Parameters
- `inputPath`: Source PDF file path
- `outputPath`: Destination path for watermarked PDF
- `watermarkText`: Text to use as watermark
## Dependencies
- Requires Adobe Acrobat installation
- Uses Microsoft Scripting Runtime for file system operations
## Error Handling
- Includes comprehensive error handling for file operations
- Validates PDF file existence and accessibility
- Checks for valid page ranges in extraction operations
## Usage Examples
' Merge PDFs Example
Dim pdfs As New Collection
pdfs.Add "C:\path\to\first.pdf"
pdfs.Add "C:\path\to\second.pdf"
MergePDFs pdfs, "C:\path\to\output.pdf"
' Extract Pages Example
ExtractPages "C:\input.pdf", "C:\output.pdf", 1, 5
' Add Watermark Example
AddWatermark "C:\input.pdf", "C:\output.pdf", "CONFIDENTIAL"