ASP file upload and ScriptUtilities Library, registration, purchase

ASP file upload and ScriptUtilities

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Program home Other Software, registration, purchase

Description

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

License

Shareware
ASP file upload and ScriptUtilities is a shareware and can be registered on-line on the next links. You can pay the software using Credit card (VISA, MasterCard, Euro card, American Express, …) check, wire transfer or Pay Pal (please choose Regnet links for PayPal).
You will receive URL of full version and future versions and updates of ASP file upload and ScriptUtilities. Therefore it is important, that your e-mail address in registration is correct. Registered users will get two-year support via e-mail and two-year updates of ASP file upload and ScriptUtilities for free.
All products are delivered via ESD (Electronic Software Delivery). We do not ship CDs or boxes.

Single license - $48

Register by ShareIt! (ShareIt! German) (http://www.shareit.com, 105176)
Register by RegNet (http://www.reg.net, 2807)
One registered copy of ASP file upload and ScriptUtilities may be used on a single workstation/server. You can also use the software on any number of computers for developing applications (JS/VBS/VB and so on) using the software.

Site license - $198

Register by ShareIt! (ShareIt! German) (http://www.shareit.com, 105387)
Register by RegNet (http://www.reg.net, 2898)
Site-licensed copy of the ASP file upload and ScriptUtilities can be installed on any number of computers. The usage is limited only to one organization.

Distribution license + source code - $298

Register by ShareIt! (ShareIt! German) (http://www.shareit.com, 105386)
Register by RegNet (http://www.reg.net, 4146)
The license is required for re-distribution (not re-sell) of the full version of ASP file upload and ScriptUtilities with your software. The software can be installed on any number of computers. You can distribute/install your applications using the software without any additional licenses and fees with this license.
You will also get the source code with the license. You can analyze, modify or extend the source code for your purposes.
* You are NOT allowed to distribute the source code
* You are NOT allowed to create competitor product in the same class based on this source code
* You are NOT allowed to distribute ASP file upload and ScriptUtilities for free with this license.

Other registration benefits

  • Technical support
  • Two-year updates of the software for free.
  • Source code (C++ - MSVC 6.0 ATL project, you can use it in VS Net 2002, 2003 and 2005 also)

PSTRUH Software is using two software registration and payment channels - ShareIt and RegNet.
To register as an affiliate, please fill the form at ShareIt or join to RegNet at http://affiliates.reg.net and you will get all the necessary information from them. An affiliate account will be created for you, and you'll be assigned an affiliate ID number.
Please send a short info about you/your web site to info@pstruh.cz also.

Commissions, payments and reporting

Initially, each affiliate is assigned a 20% commission of sales price of our products. Each affiliate may negotiate a custom commission percentage with PSTRUH Software. This can be done at least 3 months after your affiliate account is activated. You will get your payments and you will receive statistics and notifications from ShareIt or RegNet, not from PSTRUH Software. For any questions about payments and your sales statistics, please contact ShareIt or RegNet

Products

ScriptUtilities and Huge-ASP file upload
IISTracer, IIS real-time monitoring tool
Other products

Czech note - Poznámka pro èeské uživatele

Všechny druhy licencí lze samozøejmì získat 'èeskou cestou' za èeské peníze, t.j. objednávka - faktura - licence. Bližší informace rádi podáme.
© 1996 – 2007 Antonin Foller, Motobit Software, help{at}pstruh.cz, help v. 2.20.20


ASP file upload and ScriptUtilities Library, Revision history

ASP file upload and ScriptUtilities

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Program home Other Software, Revision history

Description

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

Version 2.20, 1.12.2006

ByteArray works with utf-16 Little-Endian and Big-Endian from this version, ConvertCodePages 1200 and 1201.
Batch file conversion - character set and BOM detection of html files sample added.

Version 2.19, 1.10.2006

New GigaUpload working sample - upload of gigabyte files from windows client to IIS/ASP server with compression.

Version 2.18, 1.10.2006

New GetFileSize method
Solved problem with SaveAs and files over 4GB.

Version 2.17, 13.3.2006

Solved problem with Windows server 2003 update and not working progress bar.

Version 2.17, 2.2.2006

New AddConnection and CancelConnection methods to store uploaded files to a network resource.
New progress bar samples
NormalizeFileName parameter was added to ScriptUtils.FormFields.Save and ScriptUtils.FormField.Save methods and FileName property.

Version 2.16, 15.2.2005

Solved problem with Base64 property with MS SQL 7.0 (ByteArray, T-SQL - base64 decoder for Microsoft SQL)

Version 2.15, 19.7.2004

Solved problem with ByteArray property and urlencoded forms (the property did not return binary value for urlencoded forms)
New online base64 and base16/hex string samples.

Version 2.14, 1.3.2004

- ByteArray.HexString property is read/write now
- ByteArray - save unicode data (string) as utf-8 with BOM sample added.

Version 2.13, 16.2.2004

- ByteArray.Punycode property added to do conversion between unicode, punycode, other code pages and IDN (internationalized domain names)
2.06 version of PureASP file upload script solves problems with zero-byte and one-byte files.

Version 2.12, 4.1.2004

- ASPForm.ThreadPriority property added

Version 2.11, 19.9.2003

- ASPForm.CheckRequirements method added
- bug with unaccessible temporary folder solved (access denied if temp folder does not exists)

Version 2.08, 5.9.2003

- Unicode/character sets conversion support added for FormFields.Save and FormField.Save methods. These methods save files with wide character support in filename now.
- FormFields.Save and FormField.Save methods support unlimited length of file path now (one subsequent folder/file name with maximum of 260 chars)
- problem with ';' character in file names and form field names fixed.
- ByteArray.CharSetConvert method added to provide conversion between two different code pages (for example from ANSI to UTF-8 or from OEM to ANSI). ByteArray.ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data sample modified to use this method. ByteArray.CharSetConvert.Convert files from one code page / character set to another (ANSI to utf-8) sample added.
- ByteArray.String, ByteArray.Mid and ByteArray.ReadFrom optimized for better performance.

Version 2.07, 17.7.2003

NumberOfBytesToRead and NumberOfFieldsToRead was added to Read method to access source form fields when source data length exceeds SizeLimit. You can read source text/dropdown/select/option/checkbox fields even if client selects too big file.

Version 2.05a, 9.6.2003

Pure ASP file upload update - Microsoft VBScript runtime error '800a000d' Type mismatch: 'm_Items' solved.

Version 2.05, 9.5.2003

Bug with Opera browsers fixed (form in progress state, not completted)
Memory leak with not released FormField object fixed
New properties and methods added - CopyFile, DeleteFile, MoveFile
SaveAs method extended to work with huge files.
ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data sample convert between code pages added.
Base64 encoder and decoder added.

Version 2.04a, 16.1.2003

New version of Pure asp file upload - 2.0
Pure asp file upload has a progress now! See PureASP upload - using, features, functionality, notes.
Up to 10MB files in a free version up to 100MB in licensed.

Version 2.04, 5.12.2002

Multipart:
multipart/related support added.
New properties: ContentCharSet, Headers and Header. Optional CharSet parameter for RAWHeader property. Big downloads: ReadFrom method modified to handle files with no size limit. Ne sample - ASP gigabyte download - download of very large/huge files..
New samples - upload with email notification, upload to a specified server folder and client/server database fields synchronization. New progress bar galery.

Version 2.03, 15.11.2002

Non-exist form fields corrections:
Index property returns Zero for non-exist form field
Name property returns requested name for non-exist form field
InProgress property returns False for non-exist form field
CharSet property is correctly handled for non-exist form field
Items property added to FormFields class. FileExt property added to FormField class.

Version 2.02, 7.6.2002

ASPForm class was changed from ATL server object to ATL class because of problem with VB6 class modules and interpretation of error messages.

Version 2.01, 22.3.2002

New progress bar indicator with full access to current uploaded form.

Version 2.0, 24.1.2002

New easy to use upload component (ScriptUtils.ASPForm). Hi performance, low resources algorithm.
Works with multiselect fields / non-unique field names. New SQL samples.

Version 1.5, 7.1.2001

New version of PureASP upload. The new version requires VBScript V.5 (IIS4 / IIS5)
  • Does not require JScript (Objects are written as VBS Classes)
  • Simple diagnostic if required default objects (ADO, Scripting, WScript) are installed
  • There is no theoretic limit of upload file size if ADODB installed.

Version 1.5, 13.12.2000

New LogFile class. The class provides hi-performance logging for ASP/VBS/VBA applications.

Version 1.42, 30.11.2000

PerformanceFrequency and PerformanceCounter added to the Kernel class

Version 1.41, 28.11.2000

MinimumWorkingSetSize and MaximumWorkingSetSize added to the Process class

Version 1.4, 26.11.2000

New ZLib class, Compress and UnCompress methods

Version 1.3, 10.11.2000

New html help.

Version 1.3, 7.6.2000

Problem with PureASP, database upload and files with odd number of bytes solved.
Problem with PureASP and performance solved using ADODB.Recordset.

Version 1.23, 2.1.2000

Problem with IE 5.01 and double content-disposition header solved. Source VBS code included.

Version 1.22, 25.11.1999

Enhanced PureASP upload algorithm.
Enables upload up to 500kB
Enables save binary data
Same ASP code for PureASP upload and ScriptUtilities

Version 1.21, 1.11.1999

New scripts :
Free pure-ASP upload to database.
Free pure-ASP upload of short (~50kB) files.

Version 1.2, 30.4.1999

New class enables work with INI files.

Version 1.11, 13.2.1999

New sample for the upload and download binary files to the database (MDB/SQL) by a RecordSet.
Sleep method added to the Kernel object.

Version 1.1, 26.1.1999

HexString method added to the ByteArrary object
CodePage property added to the ByteArrary object
Samples are working with Windows95 & 98 too (W95/98 does not support KernelTime/UserTime properties used for performance info).

Version 1.01, 1.11.1998

New upload and download samples. This samples enables multiple files upload or upload form field of size greater than 80kB (ASP Request.Form limit).
Sample for multiple files/folders download with on-the-fly compression by standard pkzip.exe or arj.exe (or any other compression utility).

Version 1.0, 1.10.1998

Basic release


Motobit Software

Software on www.motobit.com

ASP File Cache

Let's you cache HTML pages in ASP/ASP Net or binary data (generated charts, downloads, etc.) and improove performance of ASP/ASP.Net applications

ActiveX UserManager

Easy to use classes to create, delete and manage local and remote user accounts, groups, servers and domains in the Windows NT (2000/XP) environment. Simple work with user accounts and groups from VBA, VBS/JS, ASP and T-SQL.

ActiveX RegEdit

Intuitive, easy to use COM interface to windows registry. Set of classes to read/enumerate/modify windows registry keys and values from ASP, VBS and T-SQL.

HttpLog ISAPI Filter

The ISAPI filter enables http raw data logging. Lets you log http header and document data to separate files, monitor IIS service output and check other filters (asp/cgi pages, ISAPI applications) functionality.

Recordset converter

Recordset converter is a library for converting DAO or ADO recordsets to MDB or DBF files. It enables direct binary output of MDB or DBF files from ASP pages with one row of code. The object also supports on-the-fly compression by zip/arj.

IAF Email Export

Email Account configuration exporter is an ActiveX/COM library, which let's you work with Outlook and Outlook Express email account configuration in VB script/JScript and other programming languages (t-SQL, C++, VBA, php, c#, Delphi...). You can create POP3, IMAP and HTTP email configurations or NNTP news account and export them directly from the script. You can export all fields, including servers, SPA, user names, emails, passwords, etc.

Multi Dictionary

Multithreaded dictionary object. Lets you work with unique/non-unique keys in VBA/VBS/ASP/WHS envinronment (share application/session variables in ASP)

WebChecker

Checks http, https, ftp and gopher internet connections in regular intervals. It enables watching of web uptime, do repair actions on script errors (application restarting, unexpected error, Out of string space ...), web errors and problems (www service hangs, Connection fail, lazy web ...), large connection or data response times and communication link problems.

Simple DNS+Traceroute

Object for simple IP adress and host name resolution, ASP and VB TraceRoute/ping.

URL Replacer

The ISAPI filter rewrites/replaces defined parts of URL from browser. It enables url to scripts (.asp, .cgi, .idc) with parameters look like static html pages or specify exact download filename generated by script. You can also create a simple proxy server with IIS and any script engine (.asp,. aspx, …) using URL replacer.

EnhancedLog for MS IIS

IIS ISAPI addin - allow redirect/customize error messages (401 Access denied, 404 Not found, ... ), custom error for each file/directory, extended logging (HTTP_REFERER, HTTP_USER_AGENT, HTTP_COOKIE), RAW data logging (IN and OUT), POST data logging, unique cookie.


Huge ASP upload with progress bar and free pure asp file upload script.

ASP file upload and ScriptUtilities

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Library Other libraries, changes (revision history), About prices and registration

Description of ASP file upload and ScriptUtilities

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

Links

Download 60 day evaluation version Download this help (help as zip).
1MB windows setup, Huge ASP upload, ScriptUtilities library, help, database, samples
See also Install Huge ASP upload without exe setup.

Pure ASP file upload with progress bar (zip package, 330kb)
See PureASP upload - using, features, functionality, notes. and Pure asp upload home page.

License

Shareware About prices and registration

Huge ASP file upload and Script Utilities features

HTML upload/download and form processing features

  • Hi-performance multiple file upload to ASP from bytes to gigabytes.
  • Easy to use, equivalent to ASP Request.Form object.
  • Fully customizable html progress bar, progress gallery.
    ASP upload - progress bar screenshot.
  • Secure (https/ssl) asp file upload
  • Custom upload size limit for upload (up to 2GB, SizeLimit).
  • Custom upload limit for each file.
  • Image (or Text/HTML) preview before upload to ASP.
  • POST large html forms (text areas), without ~80kB ASP request.Form(..) limit
  • Upload-to-email attachment, administrator email notification after upload
  • Save files with original, unique or custom file names
  • Convert original field headers from several code pages (including utf-8 and more than 100 other character set)
  • Upload to SQL/MDB database, samples for files with size up to 2GB
  • Works with multiselect fields / non-unique field names.
  • ASPForm (ASP upload and POST data handling) and FormParser classes (multipart parser).
  • multipart/form-data and application/x-www-form-urlencoded forms, accepts any code page of form fields, including utf-8, Japanese and Chinese, with size limited to 2GB
  • Hi performance, low resources algorithm (processor, memory - see MaxMemoryStorage).
  • Header conversions from any code page (also unicode/utf-8 - see ConvertCodePages)
  • Access to source data along to form fields (Request.BinaryRead, see SourceData)
  • Version without component and installation, only plain VBScript include, see Pure ASP file upload.

Binary data manipulation

  • Custom file browser (list of files/folders with download and authentication)
  • Multiple files/folders download with on-the-fly zip/arj, unlimitted download size
  • Conversion to HexString, Base64 and Punycode (IDN)
  • Search location of substrings (or binary) within binary data
  • Block data manipulation (Save/restore block of data to a file)
  • Work with very large files in ASP, VB Script/JScript (terabyte files - limit only by disk size, Charset conversion of very large files - 2GB and more)
  • Conversion from/to any code page (see ScriptUtils.ConvertCodePages), conversion between two code pages / character sets (CharSetConvert), batch file conversion.

Other features

  • New! LogFile class. The class provides hi-performance logging for ASP/VBS/VBA applications.
  • New! ZLib class, Compress and UnCompress methods
  • INI file functions
  • Get Environment variables, TempPath
  • Process and thread manipulation
  • Get process and thread kernel and user time. Lets you measure process/thread time consumption and do performance optimalizations
To monitor (or stop) current uploads and downloads see IISTracer, real-time monitoring tool. IISTracer is an independent IIS monitoring tool which shows current upload state (request info, upload progress) in all scripting environment (ASP, ASP.Net, php, cgi, cfm ...).

Resources/references

Live sample of http upload (PSTRUH Software)
ScriptUtils.ASPForm.Upload - performance tests.
ScriptUtils.FAQ for Huge ASP file upload and scriptUtilities.Upload - to database, or not to database?
ScriptUtils.ASPForm.Upload - Files and forms with large/huge size.
ScriptUtils.ASPForm.Upload - Progress bar indicator
ScriptUtils.FAQ for Huge ASP file upload and scriptUtilities
ScriptUtils.ASPForm.Using Huge-ASP upload - ASPForm class
ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result
RFC 1867 - protocol definition for html upload.

FAQ for Huge ASP file upload and scriptUtilities

Frequently asked questions about ScriptUtilities, Pure-ASP and Huge-ASP upload functionality.

Object model

ASPForm - The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.
FormFields - Contains collection of document fields of files. (Items property, Collection of all form fields (plain form fields and files))
FormField - One form field. Member of FormFields collection. (Item property, Returns a specific member of a FormFields collection either by position or by key.)
FormFields - Contains collection of document fields of files. (Files property, Collection of all files in the source document.)
FormFields - Contains collection of document fields of files. (Texts property, Collection of all fields except files in the source document.)
Kernel - COM API for calling some of Kernel32 functions.
Process - Process object. Timing informations, priority settings and Ids. (CurrentProcess property, Current process.)
Thread - Thread object. Timing informations, priority settings and Ids. (PrimaryThread property, Primary thread of the process.)
Thread - Thread object. Timing informations, priority settings and Ids. (CurrentThread property, Current thread)
Process - Process object. Timing informations, priority settings and Ids. (Process property, The process of the thread.)
INIFile - Enables read and write specified values into the INI files.
Advapi - COM API for logon, impersonate and logoff user.

ASP file upload and ScriptUtilities classes

Advapi | COM API for logon, impersonate and logoff user.
ASPForm | The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.
ByteArray | Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
FormField | One form field. Member of FormFields collection.
FormFields | Contains collection of document fields of files.
FormParser | You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.
INIFile | Enables read and write specified values into the INI files.
Kernel | COM API for calling some of Kernel32 functions.
LogFile | Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
Process | Process object. Timing informations, priority settings and Ids.
Thread | Thread object. Timing informations, priority settings and Ids.
ZLib | Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

ASP file upload and ScriptUtilities enums

ConvertCodePages | Specifies the CodePage/Charset to -convert between binary data and String data with ByteArray class -accept source form data with ASPForm or FormParser
ConvertTypes | Convert types for conversion functions.
eFormType | Form type for ASPForm and FormParser objects.
FormStates | More about state/result of a form process. See also ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result
LogLineBeginTypes | Defines additional values on a beginning of the log line.
LogLineEncodes | Specifies encoding type for logged values of LogFile class
LogonTypes | Specifies the type of logon operation to perform.
OutputTypes | Define output types for conversion and compress/decompress functions
PriorityClasses | The process’s priority class is one of the following values.
ProcessCreationFlags | Specifies additional flags that control the priority class and the creation of the process. The following creation flags can be specified in any combination, except as noted
ThreadPriorities | Priority values for the thread.
ZLibCompressLevels | Compression levels for the zlib class. Accepts values between 1 and 9.

Examples

Upload - Simple asp upload
Very short asp upload code with two source file fields and a description field.
<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  If Form.State = 0 Then
    Form.Files.Save "C:\Uploads"
    Description = Form("Description") 'Do something with <input name=description>
  Else
    'Handle other form states, errors.
  End If
%>
<Body>
<form method="post" ENCTYPE="multipart/form-data">
<input type="submit" value="Upload the files >>"><br>
 File 1 : <input type="file" name="File1"><br>
 File 2 : <input type="file" name="File2"><br>
 Description : <input name="Description">
</form>
</body>
Upload - Save all source files to the specified path

ScriptUtilities and HugeASP file upload installation

First installation, upgrade, full version over evaluation, installation without setup.

XML/PAD
All samples


Advapi Class

Advapi

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use Advapi object

Description

COM API for logon, impersonate and logoff user.

Object model

Advapi - COM API for logon, impersonate and logoff user.

Methods

ImpersonateLoggedOnUser | Lets the calling thread impersonate a user. The user is represented by a token handle (from LogonUser)
LogonUser | Attempts to perform a user logon operation. You specify the user with a user name and domain, and authenticate the user with a clear-text password.
RevertToSelf | Terminates the impersonation of a client application.

Properties

UserName Retrieves the user name of the current thread. This is the name of the user currently logged onto the systém
String, RO
Other links for Advapi class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ImpersonateLoggedOnUser Method, Advapi class

ImpersonateLoggedOnUser

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Advapi

Description

Lets the calling thread impersonate a user. The user is represented by a token handle (from LogonUser)

Syntax

Advapi.ImpersonateLoggedOnUser (hToken as Long)
Where | Type | Optional | Default | Description
hToken | Long |  |  | Token that represents a logged-on user.

Examples

Advapi - Logon and impersonate user
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.ImpersonateLoggedOnUser (Advapi.LogonUser("aa", ""))

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for ImpersonateLoggedOnUser

Methods of Advapi class

ImpersonateLoggedOnUser, LogonUser, RevertToSelf

Properties of Advapi class

UserName

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Advapi - Logon and impersonate user

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Advapi.LogonUser

Examples

Advapi - Logon and impersonate user
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.ImpersonateLoggedOnUser (Advapi.LogonUser("aa", ""))

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for Advapi - Logon and impersonate user

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogonUser Method, Advapi class

LogonUser

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Advapi

Description

Attempts to perform a user logon operation. You specify the user with a user name and domain, and authenticate the user with a clear-text password.

Syntax

vLogonUser = Advapi.LogonUser (UserName as String, Password as String, [Domain as String], [LogonType as LogonTypes])
Where | Type | Optional | Default | Description
UserName | String |  |  | The name of the user account to log on to.
Password | String |  |  | Clear-text password for the user account.
Domain | String | yes |  | Domain or server to log on to. If omitted, LogonUser searches the local account database, and then searches trusted domain account databases.
LogonType | LogonTypes | yes |  | Specifies the type of logon operation to perform.

Returns

Long

Returns

If the function succeeds, you receive a handle to a token that represents the logged-on user.

Examples

Advapi - Logon and impersonate user
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.ImpersonateLoggedOnUser (Advapi.LogonUser("aa", ""))

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for LogonUser

Methods of Advapi class

ImpersonateLoggedOnUser, LogonUser, RevertToSelf

Properties of Advapi class

UserName

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


RevertToSelf Method, Advapi class

RevertToSelf

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Advapi

Description

Terminates the impersonation of a client application.

Syntax

Advapi.RevertToSelf

Examples

Advapi - RevertToSelf sample
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for RevertToSelf

Methods of Advapi class

ImpersonateLoggedOnUser, LogonUser, RevertToSelf

Properties of Advapi class

UserName

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Advapi - RevertToSelf sample

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Advapi.RevertToSelf

Examples

Advapi - RevertToSelf sample
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for Advapi - RevertToSelf sample

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UserName Property, read only, Advapi class

UserName

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Advapi

Description

Retrieves the user name of the current thread. This is the name of the user currently logged onto the systém

Syntax

vUserName = Advapi.UserName

Returns

String

Examples

Advapi - Logon and impersonate user
  Set Advapi = CreateObject("ScriptUtils.Advapi")

  Response.Write Advapi.UserName

  Advapi.ImpersonateLoggedOnUser (Advapi.LogonUser("aa", ""))

  Response.Write Advapi.UserName

  Advapi.RevertToSelf

  Response.Write Advapi.UserName
Other links for UserName

Methods of Advapi class

ImpersonateLoggedOnUser, LogonUser, RevertToSelf

Properties of Advapi class

UserName

ScriptUtils.Advapi

COM API for logon, impersonate and logoff user.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ASPForm Class, Hi-performance upload component for ASP

ASPForm

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use ASPForm object

Description

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

Using Huge-ASP upload - ASPForm class

Initialization and usage of Huge-ASP upload in several programming environment - ASP/VBS, VBA (5.0, 6.0), C++, C# and ASPNet (ASPX).

Upload - Progress bar indicator

Technical details about progress bar indicator.

Upload - Files and forms with large/huge size.

Brief overview of work with very large files. ASPForm configuration and IIS setting for huge uploads or urlencoded forms with big fields.

Object model

ASPForm - The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.
FormFields - Contains collection of document fields of files. (Items property, Collection of all form fields (plain form fields and files))
FormField - One form field. Member of FormFields collection. (Item property, Returns a specific member of a FormFields collection either by position or by key.)
FormFields - Contains collection of document fields of files. (Files property, Collection of all files in the source document.)
FormFields - Contains collection of document fields of files. (Texts property, Collection of all fields except files in the source document.)

Methods

Utilities
AddConnection | The AddConnection method makes a connection to a network resource. You can use it to connect remote computer and store uploaded files on network drives.
CancelConnection | The CancelConnection method breaks an existing network connection.
CheckRequirements | Returns basic info about upload configuration - user running ASP, temp folder and its size, timeouts, memory storage size and info about expiration.
Sleep | The Sleep method suspends the execution of the current thread for a specified interval.
StringToBinary | Converts UNICODE string (BSTR or String type) to binary data (VT_ARRAY | VT_UI1) using specified windows code page or character set.
Other
Read | Reads source form data from the client using Request.BinaryRead You can use this method to cause ASPForm read source data in special error cases, especially when fsSizeLimit error occurs. You can read part of source data with first n fields

Properties

FormType | Returns form type for parsed data.
eFormType, RW
CharSet | String or numeric (ConvertCodePages) expression that describes the character set used for conversion of a source request data to a string. If no value is supplied, source form string data are interpreted using ANSI codepage.
ConvertCodePages, RW
ChunkReadSize | Specifies length of blocks readed from the client. ASPForm will read data source data using Request.BinaryRead(ChunkReadSize) method.
Long, RW
MaxMemoryStorage | Maximum size of source data stored in memory. - Source data with size less than MaxMemoryStorage are stored in memory. - Data are stored in Temp folder (ScriptUtils.ASPForm.TempPath) if the source data size exceeds this value.
Long, RW
ReadTimeout | Specifies the maximum amount of time (in seconds) a upload can process before it is terminated.
Long, RW
SizeLimit | Maximum size of source form to read.
Long, RW
TempPath | Path to store form data during read of form (upload) on server-side.
String, RW
ThreadPriority | Let's you specify priority value of the ASP thread which will read form data from a client.
ThreadPriorities, RW
UploadID | Lets' you access this asp form from another thread (another ASP script) in the same application using this ID.
Long, RW
BytesRead | Number of bytes that are already readed during upload.
Long, RO
Files | Collection of all files in the source document.
FormFields, RO
getForm | Form with the same ID in this ASP application.
ASPForm, RO
Items | Collection of all form fields (plain form fields and files)
FormFields, RO
NewUploadID | Let's you specify unique Upload ID.
Long, RO
ReadTime | Read data time in milisecond.
Long, RO
SourceData | Returns source document (multipart or url encoded data). Let's you work with source data as block of memory.
Variant, RO
State | Result of a source form, upload or POST status.
FormStates, RO
Texts | Collection of all fields except files in the source document.
FormFields, RO
TotalBytes | Total size of the Request data (Same as Request.TotalBytes)
Long, RO

Examples

Upload - Send an email with attachment
Upload - Use ASPForm object in VB6 class
ASP Form - process standard x-www-form-urlencoded data with unicode code page and unlimitted size.
Upload - Simple asp upload
Very short asp upload code with two source file fields and a description field.
<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  If Form.State = 0 Then
    Form.Files.Save "C:\Uploads"
    Description = Form("Description") 'Do something with <input name=description>
  Else
    'Handle other form states, errors.
  End If
%>
<Body>
<form method="post" ENCTYPE="multipart/form-data">
<input type="submit" value="Upload the files >>"><br>
 File 1 : <input type="file" name="File1"><br>
 File 2 : <input type="file" name="File2"><br>
 Description : <input name="Description">
</form>
</body>

Used in

ASPForm.getForm

Upload - performance tests.

PureASP upload, HugeASP upload or ASPNet HTMLInputForm? Results of performance tests.

PureASP upload - using, features, functionality, notes.

Personal notes, requirements, differences between pureasp upload script and hugeasp upload component, pureasp upload implemented classes, methods and properties.

UploadReadAheadSize

Technical details and problems with UploadReadAheadSize IIS property for advanced users. Detailed explanation of communication between client browser and IIS server with several configuration values.

Upload - Monitor and handle upload state/result

Monitoring of upload results, problem with UploadReadAheadSize and 'friendly' http error messages from Internet Explorer.
Other links for ASPForm class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


AddConnection Method, ASPForm class

AddConnection

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

The AddConnection method makes a connection to a network resource. You can use it to connect remote computer and store uploaded files on network drives.

Syntax

ASPForm.AddConnection (RemoteName as String, UserName as String, Password as String)
Where | Type | Optional | Default | Description
RemoteName | String |  |  | Network device name, specifies the network resource to connect to.
UserName | String |  |  | Specifies a user name to be used in making the connection
Password | String |  |  | Specifies a password to be used in making the network connection

Remarks

This method calls WNetAddConnection2 API function.

Examples

ASP - upload and store files to a network drive
You can store uploaded files also to a network disk or network resource. The main problem within this task are user rights. The default user account running ASP script (usually IUSR_COMPUTERNAME) has no access to network resources. One of the way is to connect to a network resource with another Username and Password (using AddConnection), store uploaded files and Disconnect from the resource (CancelConnection). This is a sample VBScript concept of the task. See upload-network.asp sample for full code.
'Create ASPForm object
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then 'Completted
    'Connect to a network resource using username and password
    Form.AddConnection "\\servername\sharename", "administrator", "password"

    'Save uploaded files to the network disk
      Form.Files.Save "\\servername\sharename\folder"

    'You can disconnect the network resource here.
    Form.CancelConnection "\\servername\sharename"
End If

See also

ASPForm.CancelConnection
Other links for AddConnection

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ASP - upload and store files to a network drive

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.AddConnection

Examples

You can store uploaded files also to a network disk or network resource. The main problem within this task are user rights. The default user account running ASP script (usually IUSR_COMPUTERNAME) has no access to network resources. One of the way is to connect to a network resource with another Username and Password (using AddConnection), store uploaded files and Disconnect from the resource (CancelConnection). This is a sample VBScript concept of the task. See upload-network.asp sample for full code.
ASP - upload and store files to a network drive
'Create ASPForm object
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then 'Completted
    'Connect to a network resource using username and password
    Form.AddConnection "\\servername\sharename", "administrator", "password"

    'Save uploaded files to the network disk
      Form.Files.Save "\\servername\sharename\folder"

    'You can disconnect the network resource here.
    Form.CancelConnection "\\servername\sharename"
End If
Other links for ASP - upload and store files to a network drive

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CancelConnection Method, ASPForm class

CancelConnection

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

The CancelConnection method breaks an existing network connection.

Syntax

ASPForm.CancelConnection (RemoteName as String)
Where | Type | Optional | Default | Description
RemoteName | String |  |  | Specifies the name of the remote network resource to disconnect from

Remarks

The method calls WNetCancelConnection2 Win32 API function.

See also

ASPForm.AddConnection
Other links for CancelConnection

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CheckRequirements Method, ASPForm class

CheckRequirements

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

Returns basic info about upload configuration - user running ASP, temp folder and its size, timeouts, memory storage size and info about expiration.

Syntax

vCheckRequirements = ASPForm.CheckRequirements

Returns

String

Returns

· Current user account: 'IUSR_ARMADA'
· Temporary folder: default, C:\DOCUME~1\tonda\LOCALS~1\Temp\~ASPForm\
 · Create temporary file 'C:\DOCUME~1\tonda\LOCALS~1\Temp\~ASPForm\Test.dat': OK
 · Temporary folder size
   - Available to the 'IUSR_ARMADA' user account: 2GB (2 118MB)
   - Total number of free bytes on the disk: 2GB (2 118MB)
· SizeLimit: 0B (no limit or 2GB)
· ReadTimeout: 2060s.
  Line Speed		Max size of a source form with this timeout
  64kb/s		16MB (16 480KB)
  128kb/s		32MB (32 960KB)
  256kb/s		64MB (65 920KB)
  512kb/s		128MB (131 840KB)
  1024kb/s		257MB (263 680KB)
  2048kb/s		515MB (527 360KB)
· MaxMemoryStorage: 128KB (131 072B)
Full version.

Remarks

~Upload-Check-Requirements.asp sample contains this function.
Other links for CheckRequirements

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Read Method, ASPForm class

Read

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

Reads source form data from the client using Request.BinaryRead
You can use this method to cause ASPForm read source data in special error cases, especially when fsSizeLimit error occurs. You can read part of source data with first n fields

Syntax

ASPForm.Read ([NumberOfBytesToRead as Long = -1 = SizeLimit], [NumberOfFieldsToRead as Long = -1 = All source fields])
Where | Type | Optional | Default | Description
NumberOfBytesToRead | Long | yes | -1 = SizeLimit | Maximum number of bytes to read
NumberOfFieldsToRead | Long | yes | -1 = All source fields | Maximum number of source form fields to read

Remarks

You do not need to call this method explicitly.
This method is called by default when next Form method/property is called:
ScriptUtils.ASPForm.Items
ScriptUtils.ASPForm.Files
ScriptUtils.ASPForm.Texts
ScriptUtils.ASPForm.SourceData
ScriptUtils.ASPForm.State
_NewEnum (For Each ... in Form)

Examples

Upload - cause read when source data exceeds a limit
<%
'Stores only files with size less than MaxFileSize

Dim DestinationPath
DestinationPath = Server.MapPath("UploadFolder")

'Create a form object
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Set script timeout and maximum form limit
Server.ScriptTimeout = 2000
Form.SizeLimit = &H100000 '1MB

If Form.State = 0 Then 'Completted
  'process source data
  Form.Files.Save DestinationPath
  Response.Write "<br><Font Color=green>Files (" & Form.TotalBytes \1024 _
   & "kB) was saved to " & DestinationPath & " folder.</Font>"
ElseIf Form.State > 10 Then
  'Check error states
  Const fsSizeLimit = &HD

  Select Case Form.State
    Case fsSizeLimit:
      'check some fields if source data exceeds limit

      'Cause read at least 3 source fields, maximum of 100kB
      'ASPForm will read text1, check1 and hidden1 fields
      Form.Read 100000,3
      If Form.State <10 Then
        'Source fields was read.
        Response.Write "<br>Number of read source form fields: " & _
          Form.Fields.Count
        Response.Write "<br>Number of read source bytes: " & _
          Form.BytesRead
        Response.Write "<br>Text1 value: " & _
          Form("Text1")
        Response.Write "<br>Hidden1 value: " & _
          Form("Hidden1")
      End If

      Response.Write  "<br><Font Color=red>Source form size (" & _
        Form.TotalBytes & "B) exceeds form limit (" & _
        Form.SizeLimit & "B)</Font><br>"

      'Why MS means that 'friendly' error messages are friendly???
      Response.Write Space(5555)
    Case Else Response.Write "<br><Font Color=red>Some form error.</Font><br>"
  End Select
End If'Form.State = 0 then

%>
<!DOCTYPE HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
 <TITLE>ASP huge file upload, cause read In
 a special Case - source data exceeds a limit.</TITLE>
</HEAD>
<BODY BGColor=white>

<Div style=width:600>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>

  <TR>
    <TH noWrap align=Left width="20%" bgColor=khaki> <A
      href="http://www.motobit.com/help/scptutl/upload.asp">Power ASP
      file upload</A>, cause read In a special Case -
      source data exceeds a limit. </TH>
    <TD> </TD></TR></TABLE>
<TABLE cellSpacing=2 cellPadding=1 width="100%" bgColor=white border=0>

  <TR>
    <TD colSpan=2>
      <P>      This sample demonstrates reading
      part of a source data (text, hidden And checkbox fields)
      when source data size exceeds a form limit.<br>

            You can cause form To read
      specified number of source fields with maximum size, Or specified number
      of source bytes. You can Loop through source fields collection,
      work with fields And read field values as with standard form Then.

  <br>Upload timeout Is <%=Server.ScriptTimeout%>s
  <br>Form size limit Is <%=Form.SizeLimit \ 1024 %>kB
  <br>Destination folder Is <%=DestinationPath%>

      </P>
  </TD></TR></TABLE>

<form method="POST" ENCTYPE="multipart/form-data">

   Text : <input name="Text1" value="Some text value 1"><br>
   Check1 : <input name="Check1" value="1" Type=CheckBox>Some checkbox<br>
   Hidden : <input type="hidden" name="Hidden1" value="Some hidden value"><br>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2"><br>
   File 3 : <input type="file" name="File3">
<br>
<input Name=SubmitButton Value="Upload files >>" Type=submit><br>

</Form>

<HR COLOR=silver Size=1>
<CENTER>
<FONT SIZE=1>© 1996 – <%=Year(Date)%> Antonin Foller, <a
  href="http://www.motobit.com">PSTRUH Software</a>, e-mail <A
  href="mailto:help@pstruh.cz" >help@pstruh.cz</A>
<br>To monitor current running uploads/downloads, see <A
  Href="http://www.motobit.com/help/iistrace/iis-monitor.asp">IISTracer
  - IIS real-Time monitor</A>.
</FONT>

</CENTER>
</Div>
</BODY></HTML>
POST, ASPForm - Work with original posted data.
Other links for Read

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


POST, ASPForm - Work with original posted data.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Read

Examples

POST, ASPForm - Work with original posted data.
<%
'Sample file Form-Read.asp
' Reads source binary data and writes it 'as is' to client

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Do not upload data greater than 4k.
Form.SizeLimit = 4096

'Read source data
Form.Read
'

If Form.State <> 4 Then 'POST method
  Response.Write "<br>Data was readed in:" & Form.ReadTime & "ms"

  Response.Write "<br>First 100B of Source data:<pre>" '
  Response.BinaryWrite Form.SourceData(, 100) '
  Response.Write "</pre>"

  Response.Write "<br>All source form data:<pre>"
  Response.BinaryWrite Form.SourceData
  Response.Write "</pre>"
End If

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br> Writes source multipart data To client.

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>
Other links for POST, ASPForm - Work with original posted data.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - cause read when source data exceeds a limit

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Read

Examples

Upload - cause read when source data exceeds a limit
<%
'Stores only files with size less than MaxFileSize

Dim DestinationPath
DestinationPath = Server.MapPath("UploadFolder")

'Create a form object
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Set script timeout and maximum form limit
Server.ScriptTimeout = 2000
Form.SizeLimit = &H100000 '1MB

If Form.State = 0 Then 'Completted
  'process source data
  Form.Files.Save DestinationPath
  Response.Write "<br><Font Color=green>Files (" & Form.TotalBytes \1024 _
   & "kB) was saved to " & DestinationPath & " folder.</Font>"
ElseIf Form.State > 10 Then
  'Check error states
  Const fsSizeLimit = &HD

  Select Case Form.State
    Case fsSizeLimit:
      'check some fields if source data exceeds limit

      'Cause read at least 3 source fields, maximum of 100kB
      'ASPForm will read text1, check1 and hidden1 fields
      Form.Read 100000,3
      If Form.State <10 Then
        'Source fields was read.
        Response.Write "<br>Number of read source form fields: " & _
          Form.Fields.Count
        Response.Write "<br>Number of read source bytes: " & _
          Form.BytesRead
        Response.Write "<br>Text1 value: " & _
          Form("Text1")
        Response.Write "<br>Hidden1 value: " & _
          Form("Hidden1")
      End If

      Response.Write  "<br><Font Color=red>Source form size (" & _
        Form.TotalBytes & "B) exceeds form limit (" & _
        Form.SizeLimit & "B)</Font><br>"

      'Why MS means that 'friendly' error messages are friendly???
      Response.Write Space(5555)
    Case Else Response.Write "<br><Font Color=red>Some form error.</Font><br>"
  End Select
End If'Form.State = 0 then

%>
<!DOCTYPE HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
 <TITLE>ASP huge file upload, cause read In
 a special Case - source data exceeds a limit.</TITLE>
</HEAD>
<BODY BGColor=white>

<Div style=width:600>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>

  <TR>
    <TH noWrap align=Left width="20%" bgColor=khaki> <A
      href="http://www.motobit.com/help/scptutl/upload.asp">Power ASP
      file upload</A>, cause read In a special Case -
      source data exceeds a limit. </TH>
    <TD> </TD></TR></TABLE>
<TABLE cellSpacing=2 cellPadding=1 width="100%" bgColor=white border=0>

  <TR>
    <TD colSpan=2>
      <P>      This sample demonstrates reading
      part of a source data (text, hidden And checkbox fields)
      when source data size exceeds a form limit.<br>

            You can cause form To read
      specified number of source fields with maximum size, Or specified number
      of source bytes. You can Loop through source fields collection,
      work with fields And read field values as with standard form Then.

  <br>Upload timeout Is <%=Server.ScriptTimeout%>s
  <br>Form size limit Is <%=Form.SizeLimit \ 1024 %>kB
  <br>Destination folder Is <%=DestinationPath%>

      </P>
  </TD></TR></TABLE>

<form method="POST" ENCTYPE="multipart/form-data">

   Text : <input name="Text1" value="Some text value 1"><br>
   Check1 : <input name="Check1" value="1" Type=CheckBox>Some checkbox<br>
   Hidden : <input type="hidden" name="Hidden1" value="Some hidden value"><br>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2"><br>
   File 3 : <input type="file" name="File3">
<br>
<input Name=SubmitButton Value="Upload files >>" Type=submit><br>

</Form>

<HR COLOR=silver Size=1>
<CENTER>
<FONT SIZE=1>© 1996 – <%=Year(Date)%> Antonin Foller, <a
  href="http://www.motobit.com">PSTRUH Software</a>, e-mail <A
  href="mailto:help@pstruh.cz" >help@pstruh.cz</A>
<br>To monitor current running uploads/downloads, see <A
  Href="http://www.motobit.com/help/iistrace/iis-monitor.asp">IISTracer
  - IIS real-Time monitor</A>.
</FONT>

</CENTER>
</Div>
</BODY></HTML>
Other links for Upload - cause read when source data exceeds a limit

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Sleep Method, ASPForm class

Sleep

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

The Sleep method suspends the execution of the current thread for a specified interval.

Syntax

ASPForm.Sleep (Miliseconds as Long)
Where | Type | Optional | Default | Description
Miliseconds | Long |  |  |
Other links for Sleep

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


StringToBinary Method, ASPForm class

StringToBinary

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ASPForm

Description

Converts UNICODE string (BSTR or String type) to binary data (VT_ARRAY | VT_UI1) using specified windows code page or character set.

Syntax

BinaryData = ASPForm.StringToBinary (String as String, [CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
String | String |  |  | Unicode (wide character) string to convert
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the destination character set (character ser of the out binary data).

Returns

Binary safe array

See also

ByteArray.String
Other links for StringToBinary

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormType Property, ASPForm class

FormType

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Returns form type for parsed data.

Syntax

vFormType = ASPForm.FormType
ASPForm.FormType = vFormType

Returns

eFormType - Form type for ASPForm and FormParser objects.

See also

FormParser.FormType
Other links for FormType

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CharSet Property, ASPForm class

CharSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

String or numeric (ConvertCodePages) expression that describes the character set used for conversion of a source request data to a string. If no value is supplied, source form string data are interpreted using ANSI codepage.

Syntax

vCharSet = ASPForm.CharSet
ASPForm.CharSet = vCharSet

Returns

ConvertCodePages - Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser

Remarks

This character set is used in FileExt, FileName, FilePath, Save, Save, Name, String, Headers, Header and RAWHeader properties and methods.

Examples

Upload - use unicode (utf-8) character set for request/response data

See also

FormParser.CharSet, FormField.CharSet
Other links for CharSet

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - use unicode (utf-8) character set for request/response data

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.CharSet

Examples

Upload - use unicode (utf-8) character set for request/response data
<%
'Sample file Unicode.asp
'Use unicode (utf-8) character set for request/response data.

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  Response.CharSet = "utf-8"

  If Form.State = 0 Then
    'Set conversion character set.
    Form.CharSet = Response.CharSet
    '

    Dim DestFolder: DestFolder = Server.MapPath("UploadFolder")

    'Saev source files
    Form.Files.Save DestFolder

    For Each Item In Form
      I = I + 1
      Response.Write "<br><br>Item no.:" & I
      Response.Write "<br>Length:" & Item.Length

      'Write unicode name of the source field.
      WriteUTF8Data "<br>Name:" & Item.Name
      If Item.IsFile Then
        'Write unicode value of the source file name.
        WriteUTF8Data "<br>File path:" & Item.FilePath

        'Write source UTF-8 representation (encoded) of the same value
        WriteUTF8Data "<br>Source path, encoded by UTF-8:" & Item.FilePath("x-ansi")
      Else' Item.IsFile then
        'Write contents for non-file fields.

        'Write unicode value of the source field.
        WriteUTF8Data "<br>Value:" & Item.String

        'Write source representation of the same value
        WriteUTF8Data "<br>Source value, encoded by UTF-8:" & Item.String("x-ansi")
      End If' Item.IsFile then

    Next
    Response.End
  End If

  'Create HTML output in ANSI code page
  Dim HTML
  HTML = "This form demonstrates use of unicode (utf-8) character set for text fields and file names<br>"
  HTML = HTML & "Try to write text / select filename with characters not in U.S. ASCII character subset.<br>"
  HTML = HTML & "<form name=file_upload method=POST ENCTYPE=multipart/form-data>"
  HTML = HTML & "<input Name=Description1 Size=50 Value=""Some non-U.S. ASCII chars - ěščřžýáíéĚŠČŘŽ""><br>"
  HTML = HTML & "<input Name=File1 Type=File><br>"
  HTML = HTML & "<input Value=Submit >> Type=Submit><br>"
  HTML = HTML & "</Form>"

WriteUTF8Data HTML

'Write utf-8 data using Session.CodePage
Sub WriteUTF8Data1(HTML)

  Session.CodePage = 65001
  Response.Write HTML
End Sub

'Write utf-8 data using ScriptUtils.ByteArray, without session object.
Sub WriteUTF8Data(HTML)

  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'set ByteArray charset to UTF-8 (code page 65001)
  ByteArray.CharSet = "utf-8"

  'Write HTML data to byte array
  ByteArray.String = HTML

  'Write binary data to output.
  Response.BinaryWrite ByteArray.ByteArray
End Sub

%>
Other links for Upload - use unicode (utf-8) character set for request/response data

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ChunkReadSize Property, ASPForm class

ChunkReadSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Specifies length of blocks readed from the client. ASPForm will read data source data using Request.BinaryRead(ChunkReadSize) method.

Syntax

vChunkReadSize = ASPForm.ChunkReadSize
ASPForm.ChunkReadSize = vChunkReadSize

Returns

Long

Remarks

1. Default value is 4kB bytes.
2. 0 (Zero) means that the source data are read in one block. There is no good idea to read whole data in one block - see note about IIS bellow.
3. If the source form size exceeds ScriptUtils.ASPForm.MaxMemoryStorage value, ASPForm will consume only 2*ChunkReadSize of physical memory. 4. ChunkReadSize should be
ChunkReadSize * n1 = PutReadSize
ChunkReadSize * n2 = UploadReadAheadSize
where n1 and n2 are integers.

Note about IIS and source binary data stream: IIS reads 48kB of data first (by default, see UploadReadAheadSize property of IIS). All other data are read in 8kB blocks (see PutReadSize property of IIS). The best value for UploadReadAheadSize is 0 (zero), please see ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result article.

You can read/change this IIS values for web server, web site, folder or exact upload script:

  Dim WebServer, UploadReadAheadSize, PutReadSize
  Set WebServer = GetObject("IIS://localhost/W3SVC[/sitenum[/folder[/uploadscript.asp]]]")

  'Get UploadReadAheadSize property
  UploadReadAheadSize = WebServer.UploadReadAheadSize

  'Set another size
  WebServer.UploadReadAheadSize = 0

  'Get PutReadSize property
  PutReadSize = WebServer.PutReadSize

  'Set another size
  WebServer.PutReadSize = 65536

Examples

Upload - Read short source data in one block
<%
'Sample file Form-ChunkSize.asp
'
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

If Request.TotalBytes>0 And Request.TotalBytes<100000 Then
  'Read short source data in one block
  Form.ChunkReadSize = 0
  '
End If

'was the Form successfully received?
If Form.State = 0 Then
  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "<br>n of Fields:" & Form.Fields.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>
Other links for ChunkReadSize

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Read short source data in one block

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.ChunkReadSize

Examples

Upload - Read short source data in one block
<%
'Sample file Form-ChunkSize.asp
'
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

If Request.TotalBytes>0 And Request.TotalBytes<100000 Then
  'Read short source data in one block
  Form.ChunkReadSize = 0
  '
End If

'was the Form successfully received?
If Form.State = 0 Then
  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "<br>n of Fields:" & Form.Fields.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>
Other links for Upload - Read short source data in one block

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MaxMemoryStorage Property, ASPForm class

MaxMemoryStorage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Maximum size of source data stored in memory.
- Source data with size less than MaxMemoryStorage are stored in memory.
- Data are stored in Temp folder (ScriptUtils.ASPForm.TempPath) if the source data size exceeds this value.

Syntax

vMaxMemoryStorage = ASPForm.MaxMemoryStorage
ASPForm.MaxMemoryStorage = vMaxMemoryStorage

Returns

Long

Remarks

Special values:
1. 0 (zero) means that whole data are stored on the disk. 2. Default value is &H20000 bytes (128kB).

You should not to increase this value - there are usually no significant performance differences between store temporary data in memory or disk - because consumed resources to store files on server side are less than consumed resources to read data from client.
Store uploadded temporary data to a disk is a main performance/security idea for upload. This is a great feature against ASP.Net default upload control (HTMLInputFile). HTMLInputFile from ASPNet takes around 5MB of memory to upload 1MB file. You will need at least 500 MB of a free memory if you have 10 client uploading one 10MB file with ASPNet HTMLInputForm upload control. HugeASP upload takes 1MB (one megabyte) of memory to do same action (and 100MB disk size to store temporary data, of course).

Examples

Upload - Store up to 1MB data in memory
<%
'Sample file Form-MaxMemory.asp
'
'

Server.ScriptTimeout = 5000

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Set maximum memory storage to 1MB
Form.MaxMemoryStorage = &H100000
'

'was the Form successfully received?
If Form.State = 0 Then
  Form.Files.Save "e:\upload"

  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "<br>n of Fields:" & Form.Fields.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

  Response.Write "<br>Form.MaxMemoryStorage:" & Form.MaxMemoryStorage
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>

See also

FormParser.MaxMemoryStorage
Other links for MaxMemoryStorage

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Store up to 1MB data in memory

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.MaxMemoryStorage

Examples

Upload - Store up to 1MB data in memory
<%
'Sample file Form-MaxMemory.asp
'
'

Server.ScriptTimeout = 5000

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Set maximum memory storage to 1MB
Form.MaxMemoryStorage = &H100000
'

'was the Form successfully received?
If Form.State = 0 Then
  Form.Files.Save "e:\upload"

  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "<br>n of Fields:" & Form.Fields.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

  Response.Write "<br>Form.MaxMemoryStorage:" & Form.MaxMemoryStorage
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>
Other links for Upload - Store up to 1MB data in memory

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ReadTimeout Property, ASPForm class

ReadTimeout

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Specifies the maximum amount of time (in seconds) a upload can process before it is terminated.

Syntax

vReadTimeout = ASPForm.ReadTimeout
ASPForm.ReadTimeout = vReadTimeout

Returns

Long

Remarks

Special values:

0 … Server.ScriptTimeout property value is used for ReadTimeout (by default)
-1 … Time for form processing (upload) is unlimitted.
For more info see ScriptUtils.ASPForm.Upload - Files and forms with large/huge size..

IIS Documentation:

Server.ScriptTimeout

The ScriptTimeout property specifies the maximum amount of time a script can run before it is terminated.

The timeout will not take effect while a server component is processing.

Syntax

Server.ScriptTimeout = NumSeconds

Parameters

NumSeconds
Specifies the maximum number of seconds that a script can run before the server terminates it. The default value is 90 seconds.

Remarks

A default ScriptTimeout can be set for a Web Service or Web Server by using the AspScriptTimeout property in the metabase. The ScriptTimeout property cannot be set to a value less than that specified in the metabase. For example, if NumSeconds is set to 10, and the metabase setting contains the default value of 90 seconds, scripts will time out after 90 seconds. However, if NumSeconds were set to 100, the scripts would time out after 100 seconds.

For more information about using the metabase, see About the Metabase

See also

ASPForm.SizeLimit
Other links for ReadTimeout

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SizeLimit Property, ASPForm class

SizeLimit

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Maximum size of source form to read.

Syntax

vSizeLimit = ASPForm.SizeLimit
ASPForm.SizeLimit = vSizeLimit

Returns

Long

Remarks

If the source size exceeds SizeLimit, ASPForm does not read data, Items collection is empty and State is fsSizeLimit.
For more info see ScriptUtils.ASPForm.Upload - Files and forms with large/huge size..

Examples

Upload - Do not upload data greater than 1MB.
<%
'Sample file Form-SizeLimit.asp
' Lets you specify maximum amount od data which will ASPForm accept.
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Do not upload data greater than 1MB.
Form.SizeLimit = &H100000
'

Const fsCompletted  = 0
Const fsSizeLimit   = &HD

If Form.State = fsSizeLimit Then 'Data exceeds limit.
  Response.Write "Form data exceeds limit (" & Form.SizeLimit/1024 & "kB)."
ElseIf Form.State = fsCompletted Then 'Completted
  'Process form fields
  Response.Write "<br>n of Items:" & Form.Items.Count
  Response.Write "<br>n of Text fields:" & Form.Texts.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
Else
  Response.Write "<br>Form.State:" & Form.State
  'Another upload error - client is not connected, partial data, ....
End If

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br> Lets you specify maximum amount od data which will ASPForm accept.
<br> Form.SizeLimit Is <%=Form.SizeLimit%> B (<%=Form.SizeLimit \ &H100000 %>MB).
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>

See also

ASPForm.ReadTimeout
Other links for SizeLimit

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Do not upload data greater than 1MB.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.SizeLimit

Examples

Upload - Do not upload data greater than 1MB.
<%
'Sample file Form-SizeLimit.asp
' Lets you specify maximum amount od data which will ASPForm accept.
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Do not upload data greater than 1MB.
Form.SizeLimit = &H100000
'

Const fsCompletted  = 0
Const fsSizeLimit   = &HD

If Form.State = fsSizeLimit Then 'Data exceeds limit.
  Response.Write "Form data exceeds limit (" & Form.SizeLimit/1024 & "kB)."
ElseIf Form.State = fsCompletted Then 'Completted
  'Process form fields
  Response.Write "<br>n of Items:" & Form.Items.Count
  Response.Write "<br>n of Text fields:" & Form.Texts.Count
  Response.Write "<br>n of Files:" & Form.Files.Count
Else
  Response.Write "<br>Form.State:" & Form.State
  'Another upload error - client is not connected, partial data, ....
End If

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br> Lets you specify maximum amount od data which will ASPForm accept.
<br> Form.SizeLimit Is <%=Form.SizeLimit%> B (<%=Form.SizeLimit \ &H100000 %>MB).
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>
Other links for Upload - Do not upload data greater than 1MB.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TempPath Property, ASPForm class

TempPath

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Path to store form data during read of form (upload) on server-side.

Syntax

vTempPath = ASPForm.TempPath
ASPForm.TempPath = vTempPath

Returns

String

Remarks

Default is a system temp folder.
Be sure there is enough of space on TempPath if you want to accept big uploads, see ScriptUtils.ASPForm.Upload - Files and forms with large/huge size..

Examples

Upload - Custom temporary folder
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  'Do not store form data in memory.
  Form.MaxMemoryStorage = 0

  'Set custom temp folder
  Form.TempPath = "D:\Temp"

  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "Field names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.Name
  Next

See also

FormParser.TempPath
Other links for TempPath

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Custom temporary folder

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.TempPath

Examples

Upload - Custom temporary folder
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  'Do not store form data in memory.
  Form.MaxMemoryStorage = 0

  'Set custom temp folder
  Form.TempPath = "D:\Temp"

  Response.Write "<br>n of Items:" & Form.Items.Count

  Response.Write "Field names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.Name
  Next
Other links for Upload - Custom temporary folder

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ThreadPriority Property, ASPForm class

ThreadPriority

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Let's you specify priority value of the ASP thread which will read form data from a client.

Syntax

vThreadPriority = ASPForm.ThreadPriority
ASPForm.ThreadPriority = vThreadPriority

Returns

ThreadPriorities - Priority values for the thread.

Remarks

ASP takes a lot of processor time to read data from a client and then transfer the data from IIS process (inetinfo.exe) to asp process (dllhost.exe). One client uploading huge files with good internet connection can cause other asp pages on your internet server slow down. Response times to other clients accessing your asp pages at the same time of upload can be worse then.
You can set a little bit less thread priority for the thread reading upload data using ThreadPriority property. Windows will handle other requests than upload with higher priority. ASPForm uses the priority only during Read method.
ASPForm calls SetThreadPriority Win32 API function with ThreadPriority value before Read method and with tpNormal after Read.

Examples

Upload - handle other requests with higher priority
<%
'This file is using ThreadPriority to set less thread priority for upload

Dim DestinationPath
DestinationPath = Server.MapPath("UploadFolder")

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

Server.ScriptTimeout = 2000
Form.SizeLimit = &H10000000
Form.ThreadPriority = -1

If Form.State = 0 Then 'Completted
  Form.Files.Save DestinationPath
  Response.Write "<br><Font Color=green>Files (" & _
    Form.TotalBytes \1024 & "kB) was saved to " & _
    DestinationPath & " folder.</Font>"
ElseIf Form.State > 10 Then
  Const fsSizeLimit = &HD
  Select Case Form.State
    Case fsSizeLimit: Response.Write  _
     "<br><Font Color=red>Source form size (" & _
     Form.TotalBytes & "B) exceeds form limit (" & _
     Form.SizeLimit & "B)</Font><br>"
    Case Else Response.Write _
     "<br><Font Color=red>Some form error.</Font><br>"
  End Select
End If'Form.State = 0 then

%>

See also

Thread.Priority
Other links for ThreadPriority

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - handle other requests with higher priority

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.ThreadPriority

Examples

Upload - handle other requests with higher priority
<%
'This file is using ThreadPriority to set less thread priority for upload

Dim DestinationPath
DestinationPath = Server.MapPath("UploadFolder")

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

Server.ScriptTimeout = 2000
Form.SizeLimit = &H10000000
Form.ThreadPriority = -1

If Form.State = 0 Then 'Completted
  Form.Files.Save DestinationPath
  Response.Write "<br><Font Color=green>Files (" & _
    Form.TotalBytes \1024 & "kB) was saved to " & _
    DestinationPath & " folder.</Font>"
ElseIf Form.State > 10 Then
  Const fsSizeLimit = &HD
  Select Case Form.State
    Case fsSizeLimit: Response.Write  _
     "<br><Font Color=red>Source form size (" & _
     Form.TotalBytes & "B) exceeds form limit (" & _
     Form.SizeLimit & "B)</Font><br>"
    Case Else Response.Write _
     "<br><Font Color=red>Some form error.</Font><br>"
  End Select
End If'Form.State = 0 then

%>
Other links for Upload - handle other requests with higher priority

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UploadID Property, ASPForm class

UploadID

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ASPForm

Description

Lets' you access this asp form from another thread (another ASP script) in the same application using this ID.

Syntax

vUploadID = ASPForm.UploadID
ASPForm.UploadID = vUploadID

Returns

Long

Examples

Upload - Progress bar concept.
Web browrser (IE/NN) does not accept response data when uploading. So there is one another way to show progress bar during upload - open a new client browser window with another server script on begginning of upload and access current uploading form from the second server script (task).
These two server upload tasks are join using ScriptUtils.ASPForm.UploadID property (in the uploading task) and ScriptUtils.ASPForm.getForm property (progress bar task). You can use ScriptUtils.ASPForm.NewUploadID property to get unique upload ID, or you can get this ID by any other way (for example, using rnd() function).
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Form.UploadID = Request.QueryString("UploadID")
  If Form.State = 0 Then
  ....
  End If
End If'POST
%>

Progress bar script:

<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  On Error Resume Next
  Set Form = Form.getForm(Request.QueryString("UploadID"))

  If Err = 0 Then '?Completted 0 = in progress
      For Each Field In Form.Files
        fHTML = fHTML & "FieldName:" & Field.Name
        If Field.Length<=0 And Field.FileName<>"" Then
          fHTML = fHTML & ", uploading: " & Field.FileName
        ElseIf Field.Length>0 Then
          fHTML = fHTML & ", OK: " & Field.FileName & "," & FormatSize(Field.Length)
        End If

        fHTML = fHTML & "<br>"
      Next
     Response.Write fHTML
  End If
%>

See also

ASPForm.getForm
Other links for UploadID

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Progress bar concept.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.UploadID

Examples

Web browrser (IE/NN) does not accept response data when uploading. So there is one another way to show progress bar during upload - open a new client browser window with another server script on begginning of upload and access current uploading form from the second server script (task).
These two server upload tasks are join using ScriptUtils.ASPForm.UploadID property (in the uploading task) and ScriptUtils.ASPForm.getForm property (progress bar task). You can use ScriptUtils.ASPForm.NewUploadID property to get unique upload ID, or you can get this ID by any other way (for example, using rnd() function).
Upload - Progress bar concept.
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Form.UploadID = Request.QueryString("UploadID")
  If Form.State = 0 Then
  ....
  End If
End If'POST
%>

Progress bar script:

<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  On Error Resume Next
  Set Form = Form.getForm(Request.QueryString("UploadID"))

  If Err = 0 Then '?Completted 0 = in progress
      For Each Field In Form.Files
        fHTML = fHTML & "FieldName:" & Field.Name
        If Field.Length<=0 And Field.FileName<>"" Then
          fHTML = fHTML & ", uploading: " & Field.FileName
        ElseIf Field.Length>0 Then
          fHTML = fHTML & ", OK: " & Field.FileName & "," & FormatSize(Field.Length)
        End If

        fHTML = fHTML & "<br>"
      Next
     Response.Write fHTML
  End If
%>
Other links for Upload - Progress bar concept.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


BytesRead Property, read only, ASPForm class

BytesRead

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Number of bytes that are already readed during upload.

Syntax

vBytesRead = ASPForm.BytesRead

Returns

Long

Examples

Upload - progress bar, number and percent of completted
  'Count progress indicators
  ' - percent and total read, total bytes, etc.
  Dim PercBytesRead, PercentRest, BytesRead, TotalBytes
  Dim UploadTime, RestTime, TransferRate
  BytesRead = Form.BytesRead
  TotalBytes = Form.TotalBytes

  If TotalBytes>0 Then
    'upload started.
    PercBytesRead = Int(100*BytesRead/TotalBytes)
    PercentRest = 100-PercBytesRead

    If Form.ReadTime>0 Then TransferRate = BytesRead / Form.ReadTime
    If TransferRate>0 Then RestTime = FormatTime((TotalBytes-BytesRead) / TransferRate)
    TransferRate = FormatSize(1000 * TransferRate)
  Else
    'upload not started.
    RestTime = "?"
    PercBytesRead = 0
    PercentRest = 100
    TransferRate = "?"
  End If
Other links for BytesRead

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - progress bar, number and percent of completted

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.BytesRead

Examples

Upload - progress bar, number and percent of completted
  'Count progress indicators
  ' - percent and total read, total bytes, etc.
  Dim PercBytesRead, PercentRest, BytesRead, TotalBytes
  Dim UploadTime, RestTime, TransferRate
  BytesRead = Form.BytesRead
  TotalBytes = Form.TotalBytes

  If TotalBytes>0 Then
    'upload started.
    PercBytesRead = Int(100*BytesRead/TotalBytes)
    PercentRest = 100-PercBytesRead

    If Form.ReadTime>0 Then TransferRate = BytesRead / Form.ReadTime
    If TransferRate>0 Then RestTime = FormatTime((TotalBytes-BytesRead) / TransferRate)
    TransferRate = FormatSize(1000 * TransferRate)
  Else
    'upload not started.
    RestTime = "?"
    PercBytesRead = 0
    PercentRest = 100
    TransferRate = "?"
  End If
Other links for Upload - progress bar, number and percent of completted

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Files Property, read only, ASPForm class

Files

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Collection of all files in the source document.

Syntax

Set vFiles = ASPForm.Files

Returns

FormFields - Contains collection of document fields of files.

Examples

Upload - Enumerate source files and write file names
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Response.Write "<br>n of files:" & Form.Files.Count

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:

n of files:2
Source file names:
 dbf.vbs
 x.vbs

See also

ASPForm.Items, ASPForm.Texts
Other links for Files

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Enumerate source files and write file names

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Files

Examples

Upload - Enumerate source files and write file names
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Response.Write "<br>n of files:" & Form.Files.Count

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:

n of files:2
Source file names:
 dbf.vbs
 x.vbs
Other links for Upload - Enumerate source files and write file names

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


getForm Property, read only, ASPForm class

getForm

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Form with the same ID in this ASP application.

Syntax

Set vgetForm = ASPForm.getForm (UploadID as Long)
Where | Type | Optional | Default | Description
UploadID | Long |  |  | ID of the form.

Returns

ASPForm - The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

Returns

- void ASPForm, if upload does not begin yet. - ASPForm in progress during upload - Error when upload is finished

Remarks

Let's you access another uploading form in the same process (ASP application). You can access form fields that are currently uploaded and other ASPForm properties (uploaded size, form state, ...)

Examples

Upload - upload with ie-style progress bar.
Upload - Progress bar concept.
Web browrser (IE/NN) does not accept response data when uploading. So there is one another way to show progress bar during upload - open a new client browser window with another server script on begginning of upload and access current uploading form from the second server script (task).
These two server upload tasks are join using ScriptUtils.ASPForm.UploadID property (in the uploading task) and ScriptUtils.ASPForm.getForm property (progress bar task). You can use ScriptUtils.ASPForm.NewUploadID property to get unique upload ID, or you can get this ID by any other way (for example, using rnd() function).
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Form.UploadID = Request.QueryString("UploadID")
  If Form.State = 0 Then
  ....
  End If
End If'POST
%>

Progress bar script:

<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  On Error Resume Next
  Set Form = Form.getForm(Request.QueryString("UploadID"))

  If Err = 0 Then '?Completted 0 = in progress
      For Each Field In Form.Files
        fHTML = fHTML & "FieldName:" & Field.Name
        If Field.Length<=0 And Field.FileName<>"" Then
          fHTML = fHTML & ", uploading: " & Field.FileName
        ElseIf Field.Length>0 Then
          fHTML = fHTML & ", OK: " & Field.FileName & "," & FormatSize(Field.Length)
        End If

        fHTML = fHTML & "<br>"
      Next
     Response.Write fHTML
  End If
%>

See also

ASPForm.UploadID
Other links for getForm

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - upload with ie-style progress bar.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.getForm

Examples

Upload - upload with ie-style progress bar.
<%
'Sample file progress.asp
'Upload files with simple progress bar.

Server.ScriptTimeout = 200
'Sample file Field-Name.asp
'Enumerate all source fields and write its names
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Form.SizeLimit = 1000000000
  Form.TempPath = "Z:\Temp"

  'Set the upload ID for this form.
  'Progress bar window will receive the same ID.
  Form.UploadID = Request.QueryString("UploadID")'

  'was the Form successfully received?
  If Form.State = 0 Then
    'Do something with upload - save, enumerate, ...
    Response.Write "<br><b>Upload result: Form was accepted.</b>"
    Response.Write "<br>Number of file fields:" & Form.Files.Count
    Response.Write "<br>Request total bytes:" & Request.TotalBytes

  End If
End If

'get an unique upload ID for this upload script and progress bar.
Dim UploadID, PostURL
UploadID = Form.NewUploadID

'Send this ID as a UploadID QueryString parameter to this script.
PostURL = Request.ServerVariables("SCRIPT_NAME") & "?UploadID=" & UploadID'

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Upload files with simple progress bar.
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" OnSubmit="return ProgressBar();" Action="<%=PostURL%>">

<Div ID=files>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2"><br>
   File 3 : <input type="file" name="File3">
</Div>

<Input Type=Button Value="Add a file" OnClick=return(Expand())
 Style="border=0;background=yellow;cursor:hand"><br>

Description:<input Name=Description1 Size=60><br>
<input Name=SubmitButton Value="Submit »" Type=Submit><br>
</Form>

<SCRIPT>
//Open window with progress bar.
Function ProgressBar(){
  var ProgressURL
  ProgressURL = 'ieprobar.asp?UploadID=<%=UploadID%>'

  var v = window.Open(ProgressURL,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=350,height=200')

  return true;
}//
</SCRIPT>

<Script>
//Expand form with a New File fields If needed.
var nfiles = 3;
Function Expand(){
  nfiles++
  var adh = '<BR> File '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>

<%@EnableSessionState=False%>
<%
'Sample file ieprobar.asp
'Session must be off to work correctly.
'Simple IE-style progress bar for upload script.

  Server.ScriptTimeout = 10
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")

  'Get current uploading form with UploadID.
  On Error Resume Next
  Set Form = Form.getForm(Request.QueryString("UploadID"))'

  If Err = 0 Then '?Completted 0 = in progress
    On Error Goto 0
    If Form.BytesRead>0 Then'Upload was started.
      'enumerate uploaded fields.
      'and build report about its current state.
      Dim fHTML, Field
      For Each Field In Form.Files
        'Get field name
        fHTML = fHTML & "FieldName:" & Field.Name

        If Field.InProgress Then
          'this field is in progress now.
          fHTML = fHTML & ", uploading: " & Field.FileName
        ElseIf Field.Length>0 Then
          'This field was succefully uploaded.
          fHTML = fHTML & ", OK: " & Field.FileName & "," & FormatSize(Field.Length)
        End If

        fHTML = fHTML & "<br>"
      Next
    End If

  'Do not cache output data of this script.
  Response.CacheControl = "no-cache"
  Response.AddHeader "Pragma","no-cache"

  'This script is progress bar.
  'There is a good idea to refresh it to show progress more than once :-).
  'Refresh time is in second
  Response.AddHeader "Refresh", "1"

  'Count progress indicators
  ' - percent and total read, total bytes, etc.
  Dim PercBytesRead, PercentRest, BytesRead, TotalBytes
  Dim UploadTime, RestTime, TransferRate
  BytesRead = Form.BytesRead
  TotalBytes = Form.TotalBytes

  If TotalBytes>0 Then
    'upload started.
    PercBytesRead = Int(100*BytesRead/TotalBytes)
    PercentRest = 100-PercBytesRead

    If Form.ReadTime>0 Then TransferRate = BytesRead / Form.ReadTime
    If TransferRate>0 Then RestTime = FormatTime((TotalBytes-BytesRead) / TransferRate)
    TransferRate = FormatSize(1000 * TransferRate)
  Else
    'upload not started.
    RestTime = "?"
    PercBytesRead = 0
    PercentRest = 100
    TransferRate = "?"
  End If

  'Create graphics progress bar.
  'The bar is created with blue (TDsread, completted) / blank (TDsRemain, remaining) TD cells.
  Dim TDsread, TDsRemain
  TDsread = Replace(Space(0.5*PercBytesRead), " ", "<TD BGColor=blue Class=p> </TD>")
  TDsRemain = Replace(Space(0.5*PercentRest), " ", "<TD Class=p> </TD>")

  'Format output values.
  UploadTime = FormatTime(Form.ReadTime)
  TotalBytes = FormatSize(TotalBytes)
  BytesRead = FormatSize(BytesRead)

'Simple utilities.
'Formats milisedond to m:ss format.
Function FormatTime(byval ms)
  ms = 0.001 * ms 'get second
  FormatTime = (ms \ 60) & ":" & Right("0" & (ms Mod 60),2) & "s"
End Function

'Format bytes to a string
Function FormatSize(byval Number)
  If IsNumeric(Number) Then
    If Number > &H100000 Then'1M
      Number = FormatNumber (Number/&H100000,1) & "MB"
    ElseIf Number > 1024 Then'1k
      Number = FormatNumber (Number/1024,1) & "kB"
    Else
      Number = FormatNumber (Number,0) & "B"
    End If
  End If
  FormatSize = Number
End Function

'Some comments for HTML
'Page-Enter and revealTrans is for Flicker-Free progress.

%>
<HTML>
<Head>
 <style type='text/css'>
  BODY{font-size:10pt}
  TD{font-size:9pt}
  TD.p{font-size:6px;Height:6px;border:1px inset white}
 </style>
 <meta http-equiv="Page-Enter" content="revealTrans(Duration=0,Transition=6)">
 <Title>Upload progress</Title>
</Head>

<Body BGcolor=Silver LeftMargin=15 TopMargin=4 RIGHTMARGIN=4 BOTTOMMARGIN=4>

Uploading:<br> <%=TotalBytes%> To <%=Request.ServerVariables("HTTP_HOST")%> ...<br>
<Table cellpadding=0 cellspacing=0 border=0 width=100% >
<tr>
 <%=TDsread%><%=TDsRemain%>
</tr>
</table>

<Table cellpadding=0 cellspacing=0 border=0>
<tr>
 <Td>Estimated Time left:</td>
 <Td> <%=RestTime%> (<%=BytesRead%> of <%=TotalBytes%> received)</Td>
</tr>
<tr>
 <Td>TransferRate:</td>
 <Td> <%=TransferRate%>/s</Td>
</tr>
<tr>
 <Td>Upload time:</td>
 <Td> <%=UploadTime%> (<%=PercBytesRead%>%)</Td>
</tr>
</table>

<br><Center><Input Type=Button Value="Cancel upload" OnClick="Cancel()" Style="background=silver;cursor:hand"></Center>
<br>

<%=fHTML%>

<Script>
Function Cancel(){
    opener.document.location = opener.document.location  + '&Action=Cancel';
    window.Close();
}
</Script>

</Body>
</HTML>

<%
Else 'if Err = 0 then upload completted
%>
<HTML>
 <HEAD>
 <TITLE>Upload Finished</TITLE>
 <Script>window.Close();</Script>
 </HEAD>
</HTML>
<%
End If'if Err = 0 then
%>
Other links for Upload - upload with ie-style progress bar.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Items Default Property, read only, ASPForm class

Items

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Default Property, read only
Member of ScriptUtils.ASPForm

Description

Collection of all form fields (plain form fields and files)

Syntax

Set vItems = ASPForm.Items

Returns

FormFields - Contains collection of document fields of files.

Examples

Upload - Count and enumarate form fields, text fields and files.
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Response.Write "<br>n of all form items:" & Form.Items.Count
  Response.Write "<br>n of text fields:" & Form.Texts.Count
  Response.Write "<br>n of files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

  Response.Write "Field names:"
  Dim Field: For Each Field In Form.Items
    Response.Write "<br> " & Field.Name
  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >

File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:

n of all form items:4
n of text fields:2
n of files:2
Field names:
 SourceFile1
 SourceFile2
 Description1
 SubmitButton

See also

ASPForm.Files, ASPForm.Texts, FormParser.Items
Other links for Items

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Count and enumarate form fields, text fields and files.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Items

Examples

Upload - Count and enumarate form fields, text fields and files.
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  Response.Write "<br>n of all form items:" & Form.Items.Count
  Response.Write "<br>n of text fields:" & Form.Texts.Count
  Response.Write "<br>n of files:" & Form.Files.Count
  Response.Write "<br>" & vbCrLf

  Response.Write "Field names:"
  Dim Field: For Each Field In Form.Items
    Response.Write "<br> " & Field.Name
  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >

File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:

n of all form items:4
n of text fields:2
n of files:2
Field names:
 SourceFile1
 SourceFile2
 Description1
 SubmitButton
Other links for Upload - Count and enumarate form fields, text fields and files.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


NewUploadID Property, read only, ASPForm class

NewUploadID

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Let's you specify unique Upload ID.

Syntax

vNewUploadID = ASPForm.NewUploadID

Returns

Long

Examples

Upload - get new upload ID for upload and progress script
<%
'get an unique upload ID for this upload script and progress bar.
Dim UploadID, PostURL
UploadID = Form.NewUploadID

'Send this ID as a UploadID QueryString parameter to this script.
PostURL = Request.ServerVariables("SCRIPT_NAME") & "?UploadID=" & UploadID'
%>
<Form name="file_upload" method="POST"
 ENCTYPE="multipart/form-data"
 OnSubmit="return ProgressBar();"
 Action="<%=PostURL%>">
……….
</Form>
<SCRIPT>
//Open window with progress bar.
Function ProgressBar(){
  var ProgressURL
  ProgressURL = 'LimitProbar.ASP?UploadID=<%=UploadID%>'

  var v = window.Open(ProgressURL,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=350,height=200')

  return true;
}
</SCRIPT>
Other links for NewUploadID

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - get new upload ID for upload and progress script

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.NewUploadID

Examples

Upload - get new upload ID for upload and progress script
<%
'get an unique upload ID for this upload script and progress bar.
Dim UploadID, PostURL
UploadID = Form.NewUploadID

'Send this ID as a UploadID QueryString parameter to this script.
PostURL = Request.ServerVariables("SCRIPT_NAME") & "?UploadID=" & UploadID'
%>
<Form name="file_upload" method="POST"
 ENCTYPE="multipart/form-data"
 OnSubmit="return ProgressBar();"
 Action="<%=PostURL%>">
……….
</Form>
<SCRIPT>
//Open window with progress bar.
Function ProgressBar(){
  var ProgressURL
  ProgressURL = 'LimitProbar.ASP?UploadID=<%=UploadID%>'

  var v = window.Open(ProgressURL,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=350,height=200')

  return true;
}
</SCRIPT>
Other links for Upload - get new upload ID for upload and progress script

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ReadTime Property, read only, ASPForm class

ReadTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Read data time in milisecond.

Syntax

vReadTime = ASPForm.ReadTime

Returns

Long

Examples

Upload - progress bar, number and percent of completted
  'Count progress indicators
  ' - percent and total read, total bytes, etc.
  Dim PercBytesRead, PercentRest, BytesRead, TotalBytes
  Dim UploadTime, RestTime, TransferRate
  BytesRead = Form.BytesRead
  TotalBytes = Form.TotalBytes

  If TotalBytes>0 Then
    'upload started.
    PercBytesRead = Int(100*BytesRead/TotalBytes)
    PercentRest = 100-PercBytesRead

    If Form.ReadTime>0 Then TransferRate = BytesRead / Form.ReadTime
    If TransferRate>0 Then RestTime = FormatTime((TotalBytes-BytesRead) / TransferRate)
    TransferRate = FormatSize(1000 * TransferRate)
  Else
    'upload not started.
    RestTime = "?"
    PercBytesRead = 0
    PercentRest = 100
    TransferRate = "?"
  End If
Other links for ReadTime

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SourceData Property, read only, ASPForm class

SourceData

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Returns source document (multipart or url encoded data). Let's you work with source data as block of memory.

Syntax

vSourceData = ASPForm.SourceData ([Start as Long = From beginning], [Length as Long = All data to the end])
Where | Type | Optional | Default | Description
Start | Long | yes | From beginning | Start position of source data
Length | Long | yes | All data to the end | Length of source data to return

Returns

Variant

Remarks

You can use Form.SourceData instead of Request.BinaryRead.

Examples

POST, ASPForm - Work with original posted data.
Upload - Write source form data along with form fields
<%
  Response.Write "Source fields:<br>"
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  Dim Field: For Each Field In Form.Texts
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length
  Next

  Response.Write "Source data:<br>"
  Response.BinaryWrite Form.SourceData

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>
Other links for SourceData

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Write source form data along with form fields

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.SourceData

Examples

Upload - Write source form data along with form fields
<%
  Response.Write "Source fields:<br>"
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  Dim Field: For Each Field In Form.Texts
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length
  Next

  Response.Write "Source data:<br>"
  Response.BinaryWrite Form.SourceData

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>
Other links for Upload - Write source form data along with form fields

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


State Property, read only, ASPForm class

State

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Result of a source form, upload or POST status.

Syntax

vState = ASPForm.State

Returns

FormStates - More about state/result of a form process. See also ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result

Examples

Upload - Switch page using form state
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  'Do not upload data greater than 1MB.
  Form.SizeLimit = &H100000

  Const fsCompletted  = 0
  Const fsSizeLimit   = &HD

  If Form.State = fsSizeLimit Then 'Data exceeds limit.
    Response.Write "Form data exceeds limit (" & Form.SizeLimit/1024 & "kB)."
  ElseIf Form.State = fsCompletted Then 'Completted
    'Process form fields
    Response.Write "<br>n of Items:" & Form.Items.Count
    Response.Write "<br>n of Text fields:" & Form.Texts.Count
    Response.Write "<br>n of Files:" & Form.Files.Count
  Else
    'Another upload error - client is not connected, partial data, ....
  End If

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>

<form method="POST">
<input Type=Submit>
</Form>

See also

FormField.InProgress
Other links for State

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Switch page using form state

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.State

Examples

Upload - Switch page using form state
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  'Do not upload data greater than 1MB.
  Form.SizeLimit = &H100000

  Const fsCompletted  = 0
  Const fsSizeLimit   = &HD

  If Form.State = fsSizeLimit Then 'Data exceeds limit.
    Response.Write "Form data exceeds limit (" & Form.SizeLimit/1024 & "kB)."
  ElseIf Form.State = fsCompletted Then 'Completted
    'Process form fields
    Response.Write "<br>n of Items:" & Form.Items.Count
    Response.Write "<br>n of Text fields:" & Form.Texts.Count
    Response.Write "<br>n of Files:" & Form.Files.Count
  Else
    'Another upload error - client is not connected, partial data, ....
  End If

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File>
<input Name=SourceFile2 Type=File>
<input Name=Description1>
<input Name=SubmitButton Value="Submit >>" Type=Submit>
</Form>

<form method="POST">
<input Type=Submit>
</Form>
Other links for Upload - Switch page using form state

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Texts Property, read only, ASPForm class

Texts

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Collection of all fields except files in the source document.

Syntax

Set vTexts = ASPForm.Texts

Returns

FormFields - Contains collection of document fields of files.

Examples

Upload - Enumerate text fields in a form.
<%
'Sample file Form-Texts.asp
' Enumerates all text (non-file) source fields.
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  'Number of text fields
  Response.Write "<br>n of text fields:" & Form.Texts.Count
  '
  Response.Write "<br>" & vbCrLf

  Response.Write "Text field names and length:"
  'Enumerate texts
  Dim Field: For Each Field In Form.Texts
    '
    Response.Write "<br> " & Field.Name & " - " & Field.Length
  Next

End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Enumerates all text (non-file) source fields.

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Type=CheckBox Name=Save>Also save<br>
<TextArea Name=LongText Cols=60 Rows=10></TextArea><br>
<input Type=HIDDEN Name=HIDDENField Value="Some hidden data">
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>

</Form>
Upload - Save extra upload info to a database
<%
'Sample file Field-SaveAs.asp
'Store extra upload info to a database
' and file contents to the disk

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Create destination path+filename for the source file.
  Dim DestinationPath, DestinationFileName
  DestinationPath = Server.MapPath(".") & "\"
  DestinationFileName = "~upload-" & Form("SourceFile").FileName

  'Open recordset to store uploaded data
  Dim RS: Set RS = OpenUploadRS

  'Store extra info about upload to database
  RS.AddNew
   RS("UploadDT") = Now()
   RS("Description") = Form.Texts("Description")
   RS("SourceFileName") = DestinationFileName
   '...
  RS.Update

  'Save file to the destination
  Form("SourceFile").SaveAs DestinationPath & DestinationFileName
  '

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next
End If'Form.State = 0 then

Function OpenUploadRS()
  Dim RS  : Set RS = CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", GetConnection, 2, 2

  Set OpenUploadRS = RS
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Store extra upload info To a database
<br> And file contents To the disk
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile Type=File><br>
Description:<input Name=Description><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

See also

ASPForm.Items, ASPForm.Files
Other links for Texts

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Enumerate text fields in a form.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Texts

Examples

Upload - Enumerate text fields in a form.
<%
'Sample file Form-Texts.asp
' Enumerates all text (non-file) source fields.
'

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  'Number of text fields
  Response.Write "<br>n of text fields:" & Form.Texts.Count
  '
  Response.Write "<br>" & vbCrLf

  Response.Write "Text field names and length:"
  'Enumerate texts
  Dim Field: For Each Field In Form.Texts
    '
    Response.Write "<br> " & Field.Name & " - " & Field.Length
  Next

End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Enumerates all text (non-file) source fields.

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Type=CheckBox Name=Save>Also save<br>
<TextArea Name=LongText Cols=60 Rows=10></TextArea><br>
<input Type=HIDDEN Name=HIDDENField Value="Some hidden data">
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>

</Form>
Other links for Upload - Enumerate text fields in a form.

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Save extra upload info to a database

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm.Texts

Examples

Upload - Save extra upload info to a database
<%
'Sample file Field-SaveAs.asp
'Store extra upload info to a database
' and file contents to the disk

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Create destination path+filename for the source file.
  Dim DestinationPath, DestinationFileName
  DestinationPath = Server.MapPath(".") & "\"
  DestinationFileName = "~upload-" & Form("SourceFile").FileName

  'Open recordset to store uploaded data
  Dim RS: Set RS = OpenUploadRS

  'Store extra info about upload to database
  RS.AddNew
   RS("UploadDT") = Now()
   RS("Description") = Form.Texts("Description")
   RS("SourceFileName") = DestinationFileName
   '...
  RS.Update

  'Save file to the destination
  Form("SourceFile").SaveAs DestinationPath & DestinationFileName
  '

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next
End If'Form.State = 0 then

Function OpenUploadRS()
  Dim RS  : Set RS = CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", GetConnection, 2, 2

  Set OpenUploadRS = RS
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Store extra upload info To a database
<br> And file contents To the disk
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile Type=File><br>
Description:<input Name=Description><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>
Other links for Upload - Save extra upload info to a database

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TotalBytes Property, read only, ASPForm class

TotalBytes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.ASPForm

Description

Total size of the Request data (Same as Request.TotalBytes)

Syntax

vTotalBytes = ASPForm.TotalBytes

Returns

Long

Examples

Upload - progress bar, number and percent of completted
  'Count progress indicators
  ' - percent and total read, total bytes, etc.
  Dim PercBytesRead, PercentRest, BytesRead, TotalBytes
  Dim UploadTime, RestTime, TransferRate
  BytesRead = Form.BytesRead
  TotalBytes = Form.TotalBytes

  If TotalBytes>0 Then
    'upload started.
    PercBytesRead = Int(100*BytesRead/TotalBytes)
    PercentRest = 100-PercBytesRead

    If Form.ReadTime>0 Then TransferRate = BytesRead / Form.ReadTime
    If TransferRate>0 Then RestTime = FormatTime((TotalBytes-BytesRead) / TransferRate)
    TransferRate = FormatSize(1000 * TransferRate)
  Else
    'upload not started.
    RestTime = "?"
    PercBytesRead = 0
    PercentRest = 100
    TransferRate = "?"
  End If
Other links for TotalBytes

Methods of ASPForm class

AddConnection, CancelConnection, CheckRequirements, Read, Sleep, StringToBinary

Properties of ASPForm class

BytesRead, Files, FormType, getForm, CharSet, ChunkReadSize, Items, MaxMemoryStorage, NewUploadID, ReadTime, ReadTimeout, SizeLimit, SourceData, State, TempPath, Texts, ThreadPriority, TotalBytes, UploadID

ScriptUtils.ASPForm

The ASPForm collection retrieves the values of form elements posted to ASP script by a form using the POST method. ASPForm can process multipart/form-data or application/x-www-form-urlencoded data with length up to 2GB.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ASP Form - process standard x-www-form-urlencoded data with unicode code page and unlimitted size.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm

Examples

Accept application/x-www-form-urlencoded in unicode utf-8

This sample demontrates accepting of a plain form (Form without ENCTYPE="multipart/form-data") by Huge-ASP file upload, ASPForm Object. Full source is in form-url-encode-utf-8.asp sample file.
ASPForm object has some great functionality against of Request.Form: size limit for ASPForm object is 2GB. Request.Form(...) can accept maximum of 100kB.
ASPForm acepts ANY code page. This page is written in utf-8. It lets you write and mix some special character sets and characters such are hebrew (﻿קבוצות דיון), arabic (﻿مجموعات), east-european (﻿žluťoučký kůň), russian (﻿Картинки), japanese (﻿イメージ) or chinese (﻿圖片).
You can have the characters NOT only in HTML page, you can use them in input fields, of course. ASPForm accepts application/x-www-form-urlencoded and multipart/related data and contains automatic detection of type of a source form.

ASP Form - process standard x-www-form-urlencoded data with unicode code page and unlimitted size.
<%@ Codepage=65001 %>
<%
'set character set for outgoing data (and incomming also, of course)
Response.CharSet = "utf-8"

'Create a form object
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Set the same character set for Form object
Form.CharSet = Response.CharSet

Dim Field

For Each Field In Form.Fields
  If Field.Length>0 Then
    Response.Write "<br>" & Field.Name & ":"
    Response.Write Field
    'or binarywrite with other page-level Codepage than 65001
    'response.BinaryWrite Form.StringToBinary(Field, "utf-8")
  End If
Next

%>

<TABLE cellSpacing=1 cellPadding=3 bordercolor=silver bgcolor=GAINSBORO width="100%" border=1>
<form method="POST">
  <tr><td> Field1 : </td><td><input Name=Field1 Size=50 value="<%=Form("Field1")%>"></td></tr>

  <tr><td> Field2 : </td><td><input Name=Field2 Size=50 value="<%=Form("Field2")%>"></td></tr>

  <tr><td ColSpan=2 Align=right>
    <input Name=SubmitButton Value="Submit >>" Type=submit>
  </td></tr>
</form>
</TABLE>
Other links for ASP Form - process standard x-www-form-urlencoded data with unicode code page and unlimitted size.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

� 1996 � 2007 Antonin Foller, Motobit Software, help{at}pstruh.cz, help v. 2.20.20


Upload - Send an email with attachment

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm

Examples

Upload - Send an email with attachment
<%
'Sample file Form-Email.asp
' Let's you send one an email with one or more attachments.

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'Do not upload data greater than 1MB.
Form.SizeLimit = 100*1024
'

Const fsCompletted  = 0

If Form.State = fsCompletted Then 'Completted
  ProcessForm
End If

Sub ProcessForm
  Dim eFrom, eTo, Subject, Message

  'get source form fields - From, To, Subject and Message
  eFrom = Form("From")
  eTo = Form("To")
  Subject = Form("Subject")
  Message = Form("Message")

  Dim objNewMail, File, FileName, FS, TempFolder

  Set FS = CreateObject("Scripting.FileSystemObject")
  'Get temporary folder
  TempFolder = FS.GetSpecialFolder(2) & "\emailtemp"

  'Create a new email message
  Set objNewMail = CreateObject("CDONTS.NewMail")
  Const CdoMailFormatMime = 0
  objNewMail.MailFormat = CdoMailFormatMime
  'Save source files to temporary folder
  'Add these files to the new e-mail
  For Each File In Form.Files
    'If source file is specified.
    If Len(File.FileName) > 0 Then
      FileName = TempFolder & "\" & File.FileName

      File.SaveAs FileName

      objNewMail.AttachFile FileName
    End If
  Next

  'Send the new email
  objNewMail.Send eFrom, eTo, Subject, Message

  'delete temporary files
  For Each File In Form.Files
    If Len(File.FileName) > 0 Then
      FileName = TempFolder & "\" & File.FileName
      FS.DeleteFile FileName
    End If
  Next
End Sub

%>
<br>Sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br> Let's you send one an email with one or more attachments.
<br> File size limit Is <%=Form.SizeLimit%> B (<%=Form.SizeLimit \ 1024 %>kB).
<Table Border=0>
<form method="POST" ENCTYPE="multipart/form-data">
  <tr><td> From : </td><td><input Name=From Size=50></td></tr>

  <tr><td> To : </td><td><input Name=To Size=50></td></tr>

  <tr><td> Subject : </td><td><input Name=Subject Size=80></td></tr>

  <tr><td ColSpan=2> Message:
    <br><TextArea Name=Message Cols=76 Rows=10></TextArea>
  </td></tr>

  <tr><td ColSpan=2>E-Mail Attachments:
    <Div ID=files>
       Attachment 1 : <input type="file" name="File1">
    </Div>
    <Input Type=Button Value="Add a file" OnClick=return(Expand())
     Style="border=0;background=yellow;cursor:hand">
  </td></tr>

  <tr><td ColSpan=2 Align=Right>
    <input Name=SubmitButton Value="Send email >>" Type=Submit></td></tr>
  </Form>
</Table>

<Script>
//Script To add a attachment file field
var nfiles = 1;
Function Expand(){
  nfiles++
  var adh = '<BR> Attachment '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>
Other links for Upload - Send an email with attachment

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Simple asp upload

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils

Examples

Very short asp upload code with two source file fields and a description field.
Upload - Simple asp upload
<%
  Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
  If Form.State = 0 Then
    Form.Files.Save "C:\Uploads"
    Description = Form("Description") 'Do something with <input name=description>
  Else
    'Handle other form states, errors.
  End If
%>
<Body>
<form method="post" ENCTYPE="multipart/form-data">
<input type="submit" value="Upload the files >>"><br>
 File 1 : <input type="file" name="File1"><br>
 File 2 : <input type="file" name="File2"><br>
 Description : <input name="Description">
</form>
</body>
Other links for Upload - Simple asp upload

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Use ASPForm object in VB6 class

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ASPForm

Examples

Upload - Use ASPForm object in VB6 class
Option Explicit
'Declare and create ASPForm object
Dim Form As New ASPHugeUpload.ASPForm
Dim Request As ASPTypeLibrary.Request
Dim Response As ASPTypeLibrary.Response

'OnStartPage
Public Sub OnStartPage(SC As ASPTypeLibrary.ScriptingContext)
  'Please add call of OnStartPage method of ASPForm
  'if you want to debug your VBA class
  Form.OnStartPage SC

  'Get request/response objects
  Set Request = SC.Request
  Set Response = SC.Response

  'some conditions
  If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    If Form.State = fsCompletted Then
      'Store uploaded files
      Form.Files.Save "c:\upload"
    ElseIf Form.State >= fsError Then
      'handle form errors
      Select Case Form.State
        Case fsSizeLimit:
          Response.Redirect "http://....."
        Case fsTimeOut:
          Response.Write "......."
      End Select
    End If
  End If
End Sub

'Access ASPForm properties
Public Function FormState() As Long
  FormState = Form.State
End Function
Other links for Upload - Use ASPForm object in VB6 class

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - performance tests. Article

Upload - performance tests.

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

Upload - performance tests.

Huge ASP file upload has a great performance for upload of small and very big files also. It lets you upload files of size up to 2 gigabytes with full 100Mb/s speed directly to an ASP page even on a very slow server machines.
This article contains a performance test of three upload methods - Huge ASP upload (component) with two isolation modes (in-process, out of process) and PureASP upload (upload using pure asp script) on a very old server machine, AMD Duron 700MHz with 256MB of memory. I created a special environment to test two important values - consumed memory and consumed processor time.
You can see that upload speed on such very slow server computer is 80-100Mb/s (175 sec / 2GB) and it takes a maximum of 100kB of server memory per 2GB file. There is no problem to upload files with speed over 100Mb/s on 1Gb/s Ethernet (see progress at title page).
1. HugeASP upload
First of all I test HugeASP upload in an ASP application running as an isolated process. So the 'memory' means sum of consumed memory in inetinfo.exe + dllhost.exe processes. Second test was for low application protection - ASP is running in IIS process, the 'memory' means amount of memory consumed by inetinfo.exe process.
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
If Form.State = 0 Then
  Form.Files(1).SaveAs "f:\Uploads\UpFile"
End If

HugeASP upload, isolated |  |  | HugeASP upload, in-process
 | Consumed |  |  | Consumed
FileSize [MB] | Memory [MB] | Processor [ms] | FileSize [MB] | Memory [MB] | Processor [ms]
0 | 14.7 | - | 0 | 10.7 | -
4 | 14.9 | 721 | 4 | 10.8 | 420
8 | 14.9 | 1 211 | 8 | 10.8 | 640
16 | 14.9 | 2 293 | 16 | 10.8 | 1 251
32 | 14.9 | 5 257 | 32 | 10.8 | 2 723
48 | 14.9 | 8 011 | 48 | 10.8 | 3 805
64 | 14.9 | 10 294 | 64 | 10.8 | 5 417
128 | 14.9 | 21 301 | 128 | 10.8 | 10 905
256 | 14.9 | 41 820 | 256 | 10.8 | 21 060
512 | 14.9 | 82 859 | 512 | 10.8 | 41 920
1 024 | 14.9 | 173 609 | 1 024 | 10.8 | 86 874
2 047 | 14.9 | 344 895 | 2 047 | 10.8 | 174 257

These two tables show you that HugeASP upload does not consume much memory. So most important value is consumed time. This time correspond to upload time of file.

It looks like ASP has some problems with reading binary data from inetinfo process when it runs in separate memory process. ASP takes the same time for upload (read file from client) as for transferring data between inetinfo.exe and dllhost.exe.

I tested Huge ASP upload with many clients - consumed memory/processor resources depends linearly on number of clients, the consumed amount of memory during upload is insignificant.

2. PureASP upload, with ADO and Scripting objects.
Second test in the same conditions was with PureASP upload v 1.5 (ADODB.Recordset in BinaryToString and Scripting.FileSystemObject to save data). PureASP upload has one difference in tests - it takes constant amount of memory to read binary data (value memory), and at the end of upload takes more memory for a short time (memory peak).
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Set Upload = GetUpload()
  Upload("MyFile").Value.SaveAs "f:\Uploads\UpFile"
End If

PureASP upload
FileSize | Consumed
[MB] | Memory [MB] | Memory peak[MB] | Processor [ms]
0 | 16.9 | 16.9 | 0
0 | 17.7 | 18.0 | 180
1 | 18.6 | 19.5 | 510
1 | 20.3 | 21.9 | 1 311
2 | 23.2 | 27.9 | 4 416
3 | 26.8 | 32.8 | 9 403
4 | 29.5 | 36.4 | 16 433
8 | 43.8 | 55.2 | 62 049
16 | 65.2 | 97.8 | 236 870
32 | 113.5 | 178.1 | 921 835

There is no good idea to use PureASP upload to upload files with size greater than 16MB. PureASP upload takes 100 times more processor time than Huge upload for 16MB file.

3. Results.

HugeASP upload lets you work with large files as with small. It does not consume much memory - so you can use it for upload of big files or for web site with many uploading clients.

4. Test conditions.
The test was provided with two computers:
Client - Dual celeron / 550, 384 MB memory
Server - AMD Duron 700, 256 MB memory
100Mb/s full duplex network

The client gets processor kernel+user time of all process on server-side. Then sends multipart encoded form with one file of specified size (using WinInet API InternetWriteFile). The client tested consumed memory of IIS processes on server-side during the upload. At the end the client counts all consumed time of all process on server side.

There are two values of consumed memory - Memory means amount of memory which IIS processes occupied during all time of upload. Memory peak means amount of memory, which these processes take to save file at the end of upload.
Other links for Upload - performance tests.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PureASP upload - using, features, functionality, notes. Article

PureASP upload - using, features, functionality, notes.

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

PureASP upload - using, features, functionality, notes.

Some personal notes about 2.0 version of PureASP upload

New version of PureASP upload was intended as free promo software for Huge ASP file upload component. I created ASPForm, FormFields and FormField VBS classes with same properties and methods as HugeASP upload has. Then I've worked on a new store algorithm and progress bar feature. At the last I was working on performance tests.

And then I reveal very bad thing - Pure-ASP upload performance is much, much better than I expect. I can upload more than ten megabytes without problems and the upload time was in acceptable range. Do you ask why is this a bad thing? Who will buy Huge-ASP upload when Pure-ASP will be almoust enough?

Previous versions of PureASP upload cope some megabytes. So I have to decide: Hide Pure-ASP upload to a drawer and go to another work, mask the great performance using some "do loop" or publish the VBS code for free with limited usage right.

My decision was to release Pure-ASP upload for free use, but with limmited size you can upload for free - You can use Pure-ASP upload to upload up to 10MB files for free. If you want to upload bigger files, you have to buy Huge-ASP file upload license.

Pure ASP file upload cannot have full functionality of Huge ASP upload COM component, of course - the code is written in VBS, HugeASP upload component is a C++ code. Pure ASP file upload lets you upload bigger files now, but it consumes several times more resources than HugeASP upload. PureASP upload takes 3 bytes per source form byte - 300MB of memory for 100MB file - against of HugeASP upload component. HugeASP upload component takes about 100kB of memory per upload - up to 2GB. PureASP upload does not have some other important functionality - code pages (unicode, mac), large database fields insertion, etc.

Pure-ASP 2.0 upload requirements

New version of PureASP upload was implemented using ADODB.Stream, ADODB.Recordset and Scripting.FileSystemObject. These objects are required on the server.
PureASP upload requires BinaryRead method of Request object. So it will not work on some very old versions of ASP (<1.3 I think).
PureASP upload usess Class feature of VBS v.5. So you will need at least this version of VBS engine installed (IIS4).
You will also need Huge-ASP upload license to upload files with size greater than 10MB.

Huge-ASP or Pure-ASP file upload?

Question

Hi, I'm looking at your site and I'm thinking about buying a distribution copy of Huge-ASP upload. I need to transfer 20-100 meg files, y'see, so I really want to use HugeASP, and I don't understand the difference with Pure-ASP upload. Except that your site says hugeASP is better for that kind of thing.

Resolution

  • Pure-ASP upload is is a plain VBS script file (_upload.asp) using objects installed by default in IIS - Scripting and ADODB library. So you do not need to install any additional software. Pure-ASP upload implements most of Huge-ASP upload functionality - methods and properties. You can use the same source code for Pure-ASP and Huge-ASP upload.
    But the Pure-VBS code has also Pure-Performance and it is very hungry for system resources - memory and processor resources. The code has one more great characteristic - it is free to use. You can use Pure-ASP upload when
    - you need upload only small files (up to megabytes, exceptionally 10th of MB)
    - your provider does not enable to install external components
    - you have small number of concurrent uploads

    Pure-ASP upload is a VBS class. You have to include VBS code and then you can create ASPForm object using New:

    <!--#INCLUDE FILE="_upload.asp"-->
<%
Dim Form
Set Form = New ASPForm
%>

  • Huge-ASP upload is a high-performance, low resources consumption C++ component with unique algorithm. The component is designed to accept forms of any size (from bytes to gigabytes) with maximum eficiency. Please use Huge-ASP upload in any other case.
    Huge-ASP upload is COM object (created from C++ ATL library). You can create the ASPForm object using CreateObject method of Server object:
    Dim Form
Set Form = Server.CreateObject("ScriptUtils.ASPForm")

    Source code of ASP scripts usin Huge-ASP and Pure-ASP upload is almost same - the only difference is initialization of a Form object. So you can use Pure-ASP upload first for some time and then simply switch to Huge-ASP with changes on one row of source code.

    See also

    PureASP upload - using, features, functionality, notes.
    • Implemented classes, methods and properties in PureASP file upload include

    ASPForm
    Fully functional:
    Read, ChunkReadSize, SizeLimit, UploadID, State, BytesRead, TotalBytes, NewUploadID
    Limited:
    FormType - only multipart forms
    Files, Texts, Items - you cannot enumerate collection using For Each. You have to use Items property for enumeration.
    ReadTime - time is rounded to seconds
    getForm - Returned form does not contain items (you cannot show progress of subsequent form fields in progress bar)
    Without functionality:
    ReadTimeout - not needed in VBS
    CharSet, TempPath, MaxMemoryStorage, SourceData
    FormFields
    Fully functional:
    Save, Count, Item
    Limited:
     Texts, Files - you cannot enumerate collection using For Each.
    Without functionality:
    MultiItem
    FormField
    Fully functional:
    SaveAs, Save, SourceLength, Name, ContentDisposition, ContentType, FileName, FilePath, Value, IsFile, Length
    Limited:
     ByteArray, String - you cannot get a part of byte array or string.
    Without functionality:
    CharSet, ContentTransferEncoding, RAWHeader, InProgress, HexString, Index,

    PureASP upload include and HugeASP upload component usage
    Huge-ASP upload is COM object (created from C++ ATL library). You can create the object using CreateObject method of Server object:
    Dim Form
Set Form = Server.CreateObject("ScriptUtils.ASPForm")
    You can also use CreateObject function (ASPForm calls GetObjectContext then)
    Dim Form
Set Form = CreateObject("ScriptUtils.ASPForm")
    Pure-ASP upload is a VBS class. You have to include VBS code and then you can create ASPForm using New:
    <!--#INCLUDE FILE="_upload.asp"-->
<%
Dim Form
Set Form = New ASPForm
%>

    Other links for PureASP upload - using, features, functionality, notes.

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UploadReadAheadSize Article

UploadReadAheadSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

UploadReadAheadSize

So, what is the problem with the UploadReadAheadSize? Let's take a look at htpp client (IE, for example) and IIS server (+ASP for our case) communication with UploadReadAheadSize set to default (48kB) and to zero.
1. UploadReadAheadSize set to default (48kB)

1. IE sends http headers with bad Content-Length, for example
POST /upload/upload-base.asp HTTP/1.1
Content-Length: 54834126
...

2. IIS Server sends immediate response:
HTTP/1.1 100 Continue
Server: Microsoft-IIS/5.0
...

3. Client sends source data, kilobytes, megabytes:
-----------------------------7d4180c1901f0
Content-Disposition: form-data; name="File1"; ...

4. Server reads first 48kB of a source data first (UploadReadAheadSize) and the control is passed to application handling the POST - ASP in our case. So ASP can begin read http headers and data after all prevous actions.

5. ASP (and COM objects in ASP page or script) can read the headers and data and process them. This is the reason that clients on modems (or similar slow connection) cannot see progress of the upload for first 12-15second. It is the time to upload the 48kB of data.

So we can continue: what happens when server accepts and refuses request? If the request is accepted, there is no problem. IE sends the data, IIS server reads the data and pass them to ASP. The ASP is processing the data and the data are stored to the disk. No problem.
Another situation is if you want to refuse request. Client browser has already received '100 Continue', so if you try to write something like
If Request.TotalBytes>0 Then
Response.Status = "413 Request Entity Too Large"
Response.End

...
in your ASP page, client browser is confused. so

6. Server tries to send response '413 Request Entity Too Large' response to client

7. Client knows nothing about the response and the client (IE in our case) is hustling the source data to the server, regardless of results. But server closes the connection and tries to treat the source data as a firtst http block - http header. The response from server is '400 bad request'

8. Client knows nothing about the server response once again and the data flow to the server continues. IE usually sends 100-1000kB. Then IE awakes suddenly ans stops to send the source data flow. But! Strange! IE tries to send the source data once again from the begginning, step 1. header, etc. But the new source data are corrupted! IE sends complette header now, but the source form data are truncated to the 100-1000kB length and http header contains the new corrupted length! (So, if you try to handle this situation by ASPForm, you will receive fsInProgress as a State.)

2. UploadReadAheadSize set to zero (0kB)

So what happens in such case? The server response is right now:

1. IE sends http headers with bad Content-Length, for example
POST /upload/upload-base.asp HTTP/1.1
Content-Length: 54834126
...

2. UploadReadAheadSize is zero, so IIS does not send HTTP/1.1 100 Continue. It directly pass control of the request to processing script. ASP (and COM objects in ASP page or script) can read the headers and data and process them, before IIS sends any response to the client. You can try to refuse the request now as in previous case. 'HTTP/1.1 413 Request Entity Too Large' is sent to a client instead of 'HTTP/1.1 100 Continue'.

3. But unexpectedly, client browser does not expect anything else than 'HTTP/1.1 100 Continue'. Ignores the response from server and sends the data stream to the server as in previous case. And IE repeats the steps 1.-3. several times.

The latest versions of IE (6.0.28 ...) has another behavior. They try to send the data only once again, corrupted and page 'cannot be displayed' is shown. It is similar to Mozilla and it's 'The document contains no data' message.

And results with UploadReadAheadSize? There is better to set the property to zero when uploading files. The server response is correct in such case. But the client cannot see the response, because browsers does not have defined standard behavior for the situation ...

I tried several other responses, including 303 See other, 400 bad request, 302 moved, nothing...

Other links for UploadReadAheadSize

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Monitor and handle upload state/result Article

Upload - Monitor and handle upload state/result

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

Upload - Monitor and handle upload state/result

IIS server and Upload/POST data
The POST request comunication between client and server is realized in blocks of data.
1. Client sends http header with basic info about POST data - content-type and content-length headers.
2. IIS will then response 100 Continue http header and will try to read source data from client.
3. Client sends form data
4. IIS reads UploadReadAheadSize bytes first, and the data are passed to ASP BinaryRead. ASP can read reast of data using BinaryRead.

This IIS concept is a problem to handle errors and limit upload size with large uploads. The problem is mainly with UploadReadAheadSize and 100 Continue IIS message. You have to change UploadReadAheadSize value to zero if you want to control and properly handle fsSizeLimit event. UploadReadAheadSize can be set for whole IIS, web site, virtual dir, folder or file. The basic code to set this value is:
  Dim WebServer, UploadReadAheadSize
'  Set WebServer = GetObject("IIS://localhost/W3SVC[/sitenum[/folder[/uploadscript.asp]]]")
  Set WebServer = GetObject("IIS://localhost/W3SVC/1")

  'Get UploadReadAheadSize property
  UploadReadAheadSize = WebServer.UploadReadAheadSize

  'Set another size
  WebServer.UploadReadAheadSize = 0
  WebServer.SetInfo
You can also use adsutil.vbs administration script to set the value, or directly edit IIS metabase.
cscript adsutil.vbs SET W3SVC/1/Root/Upload/UploadReadAheadSize 0
You can set any other response code instead of first 100 Continue with UploadReadAheadSize set to zero. This property has to be set to control form size limit. If a client exceeds form size limit, you can set response.status to "413 Request Entity Too Large" and response.write some explanation message about the problem. Please see more in Cannot find server or DNS Error, page cannot be displayed when uploading files? and UploadReadAheadSize articles.
Monitor State property
Huge-ASP upload lets you monitor several upload states. Main property to monitor upload results and current state is ScriptUtils.ASPForm.State with ScriptUtils.FormStates values.
Upload can finish as completed (State = fsCompletted) or with some error (State>fsError). There are three usual errors: Form data exceeds size limit, upload time exceeds timeout limit and client was stopped upload.
There may be also two different states of cancel of upload - With/Without progress bar. Huge-ASP upload progress bar has a special querystring parameter to cancel upload - request.QueryString("Action") = "Cancel", when user clicks "Cancel" button on progress indicator.
You can see typical code to handle possible upload states bellow:
<%
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
  'Do not upload data greater than 20MB.
  Form.SizeLimit = 20*&H100000
  'Set maximum upload time to 10 munutes.
  Server.ScriptTimeout = 10*60

  Const fsCompletted  = 0
  Const fsSizeLimit   = &HD
  Const fsTimeOut     = &HE
  Const fsError       = &HA
  Dim hResult
  If Form.State > fsError Then 'Some error state.
    If Form.State = fsSizeLimit Then 'Data size exceeds limit.
      hResult = "Form data exceeds limit (" & Form.SizeLimit/1024 & "kB)."
    ElseIf Form.State = fsTimeOut Then 'Request timeout
      hResult = "Upload time exceeds limit (" & Form.ReadTimeout & "s)."
    Else
      hResult = "Another upload problem."
    End If
    hResult = "<Font Color=Red>" & hResult & "</Font>"
    Response.Status = "400 Bad request"
  ElseIf Form.State = fsCompletted Then 'Completted
    hResult = "n of form Items:" & Form.Items.Count
    '..... Process form fields
  ElseIf Request.QueryString("Action") = "Cancel" Then
    hResult = "Upload was cancelled."
  End If
%>

Notes.
1. Remember that fsZeroLength is a regular state for application/x-www-form-urlencoded forms (application/x-www-form-urlencoded without fields, there is not usual state, of course)
2. You do not need a special handler for fsNoConnected state - client will not see output message if disconnected.
3. fsInProgress and fsNone states are designed for HTML progress bar indicator. ASPForm object is true free-threaded class, so you can access object state and form fields from another ASP task. The second task will receive fsNone state before first upload data was received and fsInProgress during upload (see ScriptUtils.ASPForm.Upload - Progress bar indicator)
Other links for Upload - Monitor and handle upload state/result

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Using Huge-ASP upload - ASPForm class Article

Using Huge-ASP upload - ASPForm class

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

Using Huge-ASP upload - ASPForm class

1. Use ASPForm object in ASP.
Using Server.CreateObject:
'Create upload form
Dim Form
Set Form = Server.CreateObject("ScriptUtils.ASPForm")
ASPForm uses ASP intrinsic objects - Request, Response and Server. You can use CreateObject global VBS function on IIS with MTS. but you must always use Server.CreateObject method in older ASP versions (versions without MTS).
2. Use ASPForm object in VB 5/6.
- You can use same syntax as in ASP - CreateObject.
- Or you can create reference to Huge-ASP upload. Please go to menu - project->references and check ASP Huge upload library (and add Microsoft Active Server Pages also). Then you can use, for example:
Dim Form As New ASPHugeUpload.ASPForm
Dim Request As ASPTypeLibrary.Request

Public Sub OnStartPage(SC As ASPTypeLibrary.ScriptingContext)
  Set Request = SC.Request
  Select Case Request.ServerVariables("REQUEST_METHOD")
    '....
    Case "POST"     'Check the action
      Form.Files.Save "c:\upload"
  End Select

End Sub

Public Sub OnEndPage()
End Sub
ASPForm uses ASP intrinsic objects - Request, Response and Server. So you must use Server.CreateObject method instead of CreateObject global VBS function if you have IIS version without MTS.
Other links for Using Huge-ASP upload - ASPForm class

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Progress bar indicator Article

Upload - Progress bar indicator

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

Upload - Progress bar indicator

Main idea for progress bar indicator
Live sample of asp file upload with progress bar.
Client browsers have no possibility to show some progress bar when uploading data (or post big forms). Internet explorer also does not accept response data during upload. So the only way to show upload progress bar indicator is to create a second browser window (with second server connection) and write info about current upload to the second window.
Huge-ASP upload is true free-threaded COM component - so you have full access to upload component from the second session. You can get main upload parameters (upload size, upload time, etc.) and you can also enumerate all source form fields (files) and acces field properties (including current state and size of the field).
Huge-ASP upload samples contains several progressbar indicators. These indicators has the same algorithm of their work but different client design.
Technical details

This part is a technical description of progress bar indicator functionality. You do not need to know it - simple use prepared progress indicators from Huge-ASP upload samples.

1. Unique UploadID

You have to create an identifier to join primary upload request and second window with progress indicator.
This identifier can be any long number. You can use prepared JavaScript function ProgressBar. The function generates unique UploadID and then sends the same UploadID as a querystring parameter to upload script and to progress bar script and opens a new window of progress bar.
The ProgressBar script should be on client-side along with upload form.
You can choose any ProgressScript from our progress gallery.

<SCRIPT>
//Open window with progress bar.
//pair upload window and progress window (using UploadID).
function ProgressBar(form){
 //ASP script handling progress window
 var ProgressScript = 'progress.asp'

 //Progress window parameters
 var pp = 'toolbar=no,location=no,directories=no,status=no,menubar=no'
 pp+=',scrollbars=no,resizable=yes,width=350,height=200';

 //1. Get unique UploadID
 var UploadID
 UploadID = Math.round(Math.random() * 0x7FFFFFF0)

 //2. Add upload ID to form action URL
 var action = form.action;
 if ('' == action) action = ''+document.location;
 action = AddToQuery(action, 'UploadID', UploadID);
 form.action = action

 //3. Open progress window with the same UploadID
 var ProgressURL
 ProgressURL = ProgressScript + '?UploadID=' + UploadID

 var v = window.open(ProgressURL,'_blank',pp)

 return true;
};

//Adds value and its name to querystring
function AddToQuery(q, valname, val){
 if (q.indexOf('?')<0) { q += '?'; } else {
  var pv = q.indexOf(valname+'=');
  if (pv >= 0){
   var amp = q.indexOf('&', pv);
   if (amp<0) { q = q.substr(0, pv) }
   else { q = q.substr(0, pv) + q.substr(amp+1) + '&';}
  } else {
   if (q.substr(q.length-1)!='?') q += '&'
  };
 };//if (q.indexOf('?')
 q += valname + '=' + val
 return q
};
</SCRIPT>

2. Call the progress script function

The ProgressBar function is called from OnSubmit method of your upload form:
<form name="file_upload" method="POST"
 ENCTYPE="multipart/form-data" OnSubmit="return ProgressBar(this);">
 ....form elements....
</form>

3. Set the unique upload ID for ASPForm object in upload script

 ...
'Progress bar window will receive the same ID.
If Len(Request.QueryString("UploadID"))>0 Then
    Form.UploadID = Request.QueryString("UploadID")'{/b}
End If

'was the Form successfully received?
If Form.State = fsCompletted Then 'Completted
 ...
Other links for Upload - Progress bar indicator

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Files and forms with large/huge size. Article

Upload - Files and forms with large/huge size.

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

Upload - Files and forms with large/huge size.

Main idea for big uploads

Upload components (including ASPNet HTMLInputFile) usually use memory to store temporary upload data. It is a problem, if you are uploading very large files.

Huge-ASP upload works with unique hi-performance technology, which lets you read upload source data in small data blocks (Request.BinaryRead) and store the data on temporary disk folder - this is automatic Huge-ASP upload work, of course. You can specify size of a source data block and maximum amount of memory to store data (to store small uploads in memory).

For example, HTMLInputFile from ASPNet takes around 5MB of memory to upload 1MB file. You will need at least 500 MB of a free memory if you have 10 clients uploading one 10MB file with ASPNet HTMLInputFile upload control. Huge-ASP upload takes less than 1MB (one megabyte) of memory to do the same action (and 100MB disk size to store temporary data, of course).

Important points for huge uploads with Huge-ASP upload

1. Server.ScriptTimeout and ScriptUtils.ASPForm.ReadTimeout property.
Big uploads take much time to complete. Next table contains approximate time values to upload files:

File size | Line speed [kb/s] | Upload time | Upload time [s]
1MB | 33 | 00:04:33 | 273
10MB | 33 | 00:45:27 | 2727
100MB | 33 | 07:34:33 | 27273
1MB | 64 | 00:02:05 | 125
10MB | 64 | 00:20:50 | 1250
100MB | 64 | 03:28:20 | 12500
1 000MB | 64 | 34:43:20 | 125000
1MB | 256 | 00:00:35 | 35
10MB | 256 | 00:05:52 | 352
100MB | 256 | 00:58:36 | 3516
1 000MB | 256 | 09:45:56 | 35156
1MB | 8000 | 00:00:01 | 1
10MB | 8000 | 00:00:11 | 11
100MB | 8000 | 00:01:52 | 113
1 000MB | 8000 | 00:18:45 | 1125
2 000MB | 80000 | 00:03:45 | 225

Huge-ASP upload has a great performance - it lets you really accept 2GB files in 200second on 100Mb/s Ethernet line. But you have to set ScriptTimeout value to have enough time to transfer data and some time more to process uploaded files on server-side. If you want to accept up to 1GB uploads from min. 256k leased lines, set at least:

      Server.ScriptTimeout = 40000
There is no problem to set a big value for ScriptTimeout - Huge-ASP upload checks client connection during upload and server-side upload process is stopped when client interrupts upload.
You can also change this value by some dynamic algorithm with parameter of source form size. For example, on 10Mb/s Ethernet line (real 8000kb/s, 1MB/s):
Dim ScriptTimeout, TotalBytes
TotalBytes = Request.TotalBytes
'TotalBytes/1000000 - time to transfer data
'TotalBytes/5000000 - time to save data on server-side

ScriptTimeout = 100 + TotalBytes/1000000 + _
 TotalBytes/5000000
Server.ScriptTimeout = ScriptTimeout
2. ScriptUtils.ASPForm.SizeLimit Size limit
Second important value is a ScriptUtils.ASPForm.SizeLimit property. Huge-ASP upload has no limit set by default. It means you can upload and accept any files up to 2GB of size (2^31-1B; Huge-ASP upload can accept up to 4GB, but you will probably not have a client which let's you upload files bigger than 2GB ...).
Internet Explorer (from v 5.0) and Netscape Navigator let's you upload files with size up to 2GB also.
Be careful to have this value without limit - upload scripts are possible point for DOS attacks. If you have public upload script, set lower value rather. You can also create some dynamic algorithm to limit upload size based on logged on users, local IP addresses, etc.
Form.SizeLimit = GetLimitFromDB(LOGON_USER)
Please see ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result article to handle "upload size exceeds the limit" state.

3. ScriptUtils.ASPForm.TempPath Temporary path
Temporary upload data are stored in predefined folder. Please, set a folder with adequate free size. For example, if you have up to 10 clients uploading up to 1GB file, you need to have 10GB temporary folder to store temporary form data (and second 10GB free space on destination disk/store).

4. Progress bar
 Use progress bar every time you want to accept big uploads. Client browsers have no progress indicator by default. And clients-people know probably nothing about this problem. You will have many people, which will try to upload same files again and again (they will think nothing changed after "upload button" click) - without progress bar.
Huge-ASP progress bar is open immediately after Form submit button and client can see that something happened - and can see progress of upload.

5. Use low application protection (inprocess ASP)
Only for experienced users: ASP has a better performance if running as inprocess (in inetinfo.exe). The performance difference is 50%, see ScriptUtils.ASPForm.Upload - performance tests.. You can safely run Huge-ASP upload in ASP application running in inetinfo.exe if you have only one application on the computer. There may be some complications with one or more other isolated (out-of-process) ASP applications on the same machine. See MS help about low/hi application protection.

maxRequestLength - Maximum request length exceeded - IIS6

Symptoms

When you try to use the ASPForm object to upload a large file with ASP and IIS6, the file may not be uploaded. This problem occurs because the default value for the maxRequestLength parameter in the <httpRuntime> section of the Machine.config file is 4096 (4 megabytes). As a result, files that are larger than this value are not uploaded by default.

Resolution

To resolve this problem, use one of the following methods:
  • In the Machine.config file, change the maxRequestLength attribute of the <httpRuntime> configuration section to a larger value. This change affects the whole computer.
  • In the Web.config file, override the value of maxRequestLength for the application. For example, the following entry in Web.config allows files that are less than or equal to 8 megabytes (MB) to be uploaded:
    <httpRuntime maxRequestLength="8192" />

    • Web resources

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626
    http://www.google.com/search?q=maxRequestLength

    Other references

    ScriptUtils.ASPForm.MaxMemoryStorage
    ScriptUtils.ASPForm.ChunkReadSize
    ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result

    Other links for Upload - Files and forms with large/huge size.

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray Class, Binary manipulation, hex and base64 conversion, string codepage (charset) conversions.

ByteArray

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use ByteArray object

Description

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.

Links

ScriptUtilities and Huge ASP file upload home page
Sample multiple file/folder download with zip/arj compression

Features of the ByteArray class

  • Read and write binary data from a disk.
  • Conversion between unicode string (OLE string - VBA, VBScript, Jscript) and any code page (ConvertCodePages).
  • Conversion from/to any code page (charset). See list of available charsets at ConvertCodePages page and CharSetConvert method.
  • Hi-speed binary-to-hex, hex-to-binary, string-to-hex and hex-to-string conversion algorithm (usable to store binary data with SQL statement, HexString property)
  • Hi-performance Base64 decoder and encoder (binary-to-Base64 encode and decode)

Other features

  • Process up to 2GB of data
  • Works also with very large files (>4GB, block-by-block)
  • Samples to download very large files (ASP gigabyte download - download of very large/huge files.)
  • Samples to accept very large PUT request (ByteArray - accept very large data in POST/PUT request, ASP, VBScript)
  • Part of ScriptUtilities and Huge ASP file upload, you will get more functionality!
  • C++ source code is available with Distribution license, please see License page for ASP file upload and ScriptUtilities

Methods

Find | Returns a Long specifying the position of the first occurrence of the data binary array.
FindRev | Returns a Long specifying the position of the first occurrence of the data in binary array from the end of data.
CharSetConvert | Converts bytearray (as CharSet/CodePage code page) to another charset/code page.
Left | Returns Length bytes from the left of array
Mid | Returns data from middle of the array.
ReadFrom | Reads data from file.
Right | Returns Length bytes from the right of array
SaveAs | Saves the ByteArray data as a file.
SetSize | Sets a new size of binary data. If old size is greter than new size, data is truncated to the new size.

Properties

Base64 | Converts data between ByteArray (safearray of bytes) and Base64. Works as a Base64 encoder and decoder from binary (bytearray) or from Unicode String.
Variant, RW
ByteArray | Contens of ByteArray object as byte safearray or one byte from array.
Variant, RW
CodePage | Code page for converting between binary and String data.
ConvertCodePages, RW
HexString | Returns contents of the ByteArray as hexadecimal string (base16 string)
String, RW
CharSet | String representation of a CodePage. This value specifies the code page of a source binary data for binary to unicode String conversion.
String, RW
Length | Length of the data.
Long, RW
Punycode | Returns unicode String as punycode encoded string. You can directly convert data from/to any charset to punycode using this property.
String, RW
String | Returns (or sets) the data as a string. The binary data are converted to/from a unicode string using CodePage.
String, RW

Examples

Simple download
<Script RunAt=Server Language=VBScript>
  WriteFileToClient "c:\images\adv88.gif"

  Sub WriteFileToClient(File)
    Dim ByteArray
    Set ByteArray = CreateObject("ScriptUtils.ByteArray")'Creates the ByteArray object
    ByteArray.ReadFrom(File)
    Response.AddHeader "Content-Length", ByteArray.Length
    Response.ContentType = "image/GIF"
    Response.BinaryWrite ByteArray.ByteArray'Returns byte safearray (VT_UI1)
    ByteArray = Empty
  End Sub
</Script>
ByteArray - Punycode - unicode conversions
Convert files from one code page / character set to another (ANSI to utf-8)
ByteArray - encode a file to a base64 string (Base64 file)
ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data
Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement
Multiple files download with on-the-fly compression zip/arj
Download help from www.motobit.com

Used in

ByteArray.Left, ByteArray.Right, ByteArray.Mid, ByteArray.CharSetConvert
Other links for ByteArray class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

Additional notes
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.


Find Method, ByteArray class

Find

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Returns a Long specifying the position of the first occurrence of the data binary array.

Syntax

vFind = ByteArray.Find (What as Variant, [StartIndex as Long])
Where | Type | Optional | Default | Description
What | Variant |  |  | Searched data. String or binary array.
StartIndex | Long | yes |  | Sets the starting position for the search

Returns

Long

See also

ByteArray.FindRev
Other links for Find

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FindRev Method, ByteArray class

FindRev

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Returns a Long specifying the position of the first occurrence of the data in binary array from the end of data.

Syntax

vFindRev = ByteArray.FindRev (What as Variant, [StartIndex as Long])
Where | Type | Optional | Default | Description
What | Variant |  |  | Searched data. String or binary array.
StartIndex | Long | yes |  | Sets the starting position for the search from the end of data.

Returns

Long

See also

ByteArray.Find
Other links for FindRev

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CharSetConvert Method, ByteArray class - Character set conversion

CharSetConvert

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Converts bytearray (as CharSet/CodePage code page) to another charset/code page.

Syntax

Set OutData = ByteArray.CharSetConvert (OutCharSet as ConvertCodePages)
Where | Type | Optional | Default | Description
OutCharSet | ConvertCodePages |  |  | Character set or code page for output data

Returns

ByteArray - Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.

Remarks

See ConvertCodePages for all available code pages / character sets.

Examples

Charset conversion of very large files - 2GB and more
Batch charset conversion - convert all .txt files in a folder from ibm-850 unicode utf-8
Convert files from one code page / character set to another (ANSI to utf-8)
'Convert string between windows-1250 and utf-8 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Read file with source code page.
ByteArray.ReadFrom "some-windows-1250-file.txt"

'Set right code page for the bytearray
ByteArray.CharSet = "windows-1250"

'Convert the data to a destination code page and save them to a second file
ByteArray.CharSetConvert("utf-8").SaveAs "utf-8-output.txt"
Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP
<%
'Convert string between windows-1250 and iso-8859-2 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some east-europe characters to the bytearray.
'This characters are stored using windows-1250 charset
ByteArray.CharSet = "windows-1250"
ByteArray.String = "ěščřžýáíé ĚŠČŘŽÝÁÍÉ"

'set output character set
Response.CharSet = "iso-8859-2"

'write some ANSI string
Response.Write "Test string: "

'Write source string converted to "iso-8859-2"
Response.BinaryWrite ByteArray.CharSetConvert(Response.CharSet)

'same for utf-8
'set output character set
'response.CharSet = "utf-8"

'write some ANSI string
'response.write "Test string: "

'Write source string converted to "iso-8859-2"
'response.binarywrite ByteArray.CharSetConvert(response.CharSet)

%>

See also

ByteArray.CodePage, ByteArray.CharSet
Other links for CharSetConvert

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Batch charset conversion - convert all .txt files in a folder from ibm-850 unicode utf-8

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSetConvert

Examples

This sample contains short algorithm to convert more files (all files in one folder) from one character set to another. The sample works for any code page (unicode utf-8 -> shift-jis, windows-1250 -> utf-8, ..) and shorter files, the files are converted in memory and there is no good idea to use it for files over 100MB. (See Charset conversion of very large files - 2GB and more).
Batch charset conversion - convert all .txt files in a folder from ibm-850 unicode utf-8
Option Explicit
'Batch Convert of ibm-850 files to unicode utf-8 with BOM header

Dim FS, Folder, File, SourceFile, DestFile
Set FS = CreateObject("Scripting.FileSystemObject")
Set Folder = FS.GetFolder(".")

'Process each file in folder
For Each File In Folder.Files
  'For each .txt file
  If LCase(Right(File.Name,4)) = ".txt" Then
    'get a source file name
    SourceFile = File.Path
    'get a destination file name
    DestFile = Replace(File.Path, ".txt", "-utf.txt")

    'convert the file
    FileConvert File.Path, "ibm850", DestFile, "utf-8"
  End If
Next

Sub FileConvert(SourceFile, SourceCharSet, DestinationFile, DestinationCharSet)
  'Save BOM header at the start of destination file
  SaveBOMHeader DestinationFile, "EFBBBF"

  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Read the source data from a file
  ByteArray.ReadFrom SourceFile

  'Set character set of the source file
  ByteArray.CharSet = SourceCharSet

  'Convert the data to a destination charset and save them
  ByteArray.CharSetConvert(DestinationCharSet).SaveAs DestinationFile, 4

End Sub

Sub SaveBOMHeader(FileName, Header)
  'create byte array object
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'the bytearray contains BOM header - 3 bytes.
  ByteArray.HexString = Header

  'Save the BOM header to the FileName
  ByteArray.SaveAs FileName
End Sub
Other links for Batch charset conversion - convert all .txt files in a folder from ibm-850 unicode utf-8

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Convert files from one code page / character set to another (ANSI to utf-8)

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSetConvert

Examples

Convert files from one code page / character set to another (ANSI to utf-8)
'Convert string between windows-1250 and utf-8 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Read file with source code page.
ByteArray.ReadFrom "some-windows-1250-file.txt"

'Set right code page for the bytearray
ByteArray.CharSet = "windows-1250"

'Convert the data to a destination code page and save them to a second file
ByteArray.CharSetConvert("utf-8").SaveAs "utf-8-output.txt"
Other links for Convert files from one code page / character set to another (ANSI to utf-8)

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSet

Examples

Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP
<%
'Convert string between windows-1250 and iso-8859-2 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some east-europe characters to the bytearray.
'This characters are stored using windows-1250 charset
ByteArray.CharSet = "windows-1250"
ByteArray.String = "ěščřžýáíé ĚŠČŘŽÝÁÍÉ"

'set output character set
Response.CharSet = "iso-8859-2"

'write some ANSI string
Response.Write "Test string: "

'Write source string converted to "iso-8859-2"
Response.BinaryWrite ByteArray.CharSetConvert(Response.CharSet)

'same for utf-8
'set output character set
'response.CharSet = "utf-8"

'write some ANSI string
'response.write "Test string: "

'Write source string converted to "iso-8859-2"
'response.binarywrite ByteArray.CharSetConvert(response.CharSet)

%>
Other links for Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Charset conversion of very large files - 2GB and more

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSetConvert

Examples

This sample contains a block-by-block character set conversion algorithm for a very large files, you can use it for files with any size, this code work also with files over 2GB or 4GB. It takes maximum of 5*BlockSize of memory to convert the data (5MB of memory for the 1MB block).
The SourceCharSet may be only a charset with a constant char size, one, two or four bytes (and the BlockSize must be an integral multiple of the character size). You can use single byte charsets as Windows-1250, windows-1251, Latin II, ibm850... for the source file, but not utf-8 (it has a variable size of char). You can use any destination charset, including utf-8
Charset conversion of very large files - 2GB and more
Option Explicit
FileConvert "H:\giga.dat", "utf-8", "Z:\giga-01.dat", "windows-1250"
'FileConvert "H:\giga.dat", "windows-1250", "Z:\giga-01.dat", "windows-1250"

'Charset conversion of a large file - 2GB, 4GB or more
'ScriptUtilities.ByteArray VBA sample
Sub FileConvert(SourceFileName, SourceCharSet, DestFileName, DestinationCharSet)
  'Set block size. Bigger block: better speed, more resources.
  Const BlockSize = &H100000

  Dim sPos, dPos, sByteArray, dByteArray, TotalBytes , ReadBlockSize

  Set sByteArray = CreateObject("ScriptUtils.ByteArray")

  sByteArray.CharSet = SourceCharSet

  'Get a source file length.
  TotalBytes = GetFileSize(SourceFileName)

  'Clear the destination file
  DeleteFile DestFileName

'  If TotalBytes > 0 Then 'Convert only nonzero files.
    'For each data block from the source file
    For sPos = 0 To TotalBytes Step BlockSize
      Wscript.Echo sPos
      If BlockSize + sPos > TotalBytes Then
        'Last block - read only rest of data.
        ReadBlockSize = TotalBytes - sPos
      Else
        ReadBlockSize = BlockSize
      End If

      'Read the block of source data.
      sByteArray.ReadFrom SourceFileName, sPos + 1, ReadBlockSize

      'Convert the data to the destination charset
      Set dByteArray = sByteArray.CharSetConvert(DestinationCharSet)

      ' and store them to a disk. 0 means store the data at the end of file
      dByteArray.SaveAs DestFileName, 0

      'Increment the destination position
      dPos = dPos + dByteArray.Length
    Next ' sPos
'  End If ' TotalBytes > 0 Then
End Sub

'Get file size - 64 bit version, unlimited size
Function GetFileSize(FileName)
  Dim Kernel: Set Kernel = CreateObject("ScriptUtils.Kernel")
  On Error Resume Next
  GetFileSize = Kernel.GetFileSize(FileName)
  If err<>0 Then GetFileSize = 0
  On Error Goto 0
End Function

Function DeleteFile(FileName)
  Dim Kernel
  Set Kernel = CreateObject("ScriptUtils.Kernel")
  On Error Resume Next
  Kernel.DeleteFile FileName
  On Error Goto 0
End Function
Other links for Charset conversion of very large files - 2GB and more

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Left Method, ByteArray class

Left

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Returns Length bytes from the left of array

Syntax

Set vLeft = ByteArray.Left (Length as Long)
Where | Type | Optional | Default | Description
Length | Long |  |  | Number of bytes to return

Returns

ByteArray - Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.

See also

ByteArray.Right, ByteArray.Mid
Other links for Left

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Mid Method, ByteArray class

Mid

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Returns data from middle of the array.

Syntax

Set vMid = ByteArray.Mid (Start as Long, [Length as Long])
Where | Type | Optional | Default | Description
Start | Long |  |  | Start position (based to 1)
Length | Long | yes |  | Number of bytes to return

Returns

ByteArray - Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.

See also

ByteArray.Left, ByteArray.Right
Other links for Mid

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ReadFrom Method, ByteArray class - Read binary data from a file

ReadFrom

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Reads data from file.

HTTP headers and non-asci characters (Content-Disposition, filename, attachment)

Some ways to download file names with international (non-asci) characters.

Syntax

ByteArray.ReadFrom (FileName as String, [StartPosition as Variant = 1], [Length as Long])
Where | Type | Optional | Default | Description
FileName | String |  |  | File to read data.
StartPosition | Variant | yes | 1 | Start position, based to 1.
Length | Long | yes |  | Number of bytes to read from file.

Remarks

- You can read 2GB maximum data block
- 16kB - 65kB data block is a good settings for ASP download.
- StartPosition accepts 64bit integer, so you can read data blocks from files with size > 2GB.

Examples

ASP gigabyte download - download of very large/huge files.

See also

ByteArray.SaveAs
Other links for ReadFrom

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ASP gigabyte download - download of very large/huge files.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.GetFileSize

Examples

ASP/VBScript source code to download of very large files using ASP. The download size is not limited by 2GB or 4GB limit, you can download files with any size, 10th of gigabytes or more.
The sample uses Response.BinaryWrite. Remember that IIS6 has a strong memory leak, so this code does not work with Windows 2003 SP1, you need Windows 2003 SP2 at least. The code works also with other versions of IIS (IIS1-5, IIS7) See also
Experience high memory usage in the W3wp.exe process
Memory leaks may occur when the BinaryWrite method is called
ASP gigabyte download - download of very large/huge files.
<%
SendFileByBlocks "Z:\muzikal\pokus.mpg", &H10000

'********************************** SendFileByBlocks **********************************
Sub SendFileByBlocks(FileName, BlockSize)
  'Set a time required for download to ScriptTimeout
  Server.ScriptTimeout = 1200

  'CreateObject("ScriptUtils.Thread").Priority = -15

  Dim FileSize, ByteCounter
  FileSize = GetFileSize(FileName)

  'Switch off buffer.
  Response.Buffer = False

  'This is download
  Response.ContentType = "application/x-msdownload"

  'Set file name
  Response.AddHeader "Content-Disposition", _
    "attachment; filename=""" & GetFileName(FileName) & """"

  'Set Content-Length (ASP doen not set it when Buffer = False)
  Response.AddHeader "Content-Length", FileSize
  'Response.CacheControl = "no-cache"

  Dim BA: Set BA = CreateObject("ScriptUtils.ByteArray")

  'Loop through file contents.
  For ByteCounter = 1 To FileSize Step BlockSize
    'Do not write data when client is disconnected
    If Not Response.IsClientConnected() Then Exit For

    'Read block of data from a file
    BA.ReadFrom FileName, ByteCounter, BlockSize

    'Write the block to output.
    Response.BinaryWrite BA.ByteArray
  Next

  'CreateObject("ScriptUtils.Thread").Priority = 0
End Sub

'This function returns a file size as a 64bit number
Function GetFileSize(FileName)
  Dim Kernel
  On Error Resume Next
  Set Kernel = CreateObject("ScriptUtils.Kernel")
  GetFileSize = Kernel.GetFileSize(FileName)
  If IsEmpty(GetFileSize) Then
    GetFileSize = CreateObject("scripting.filesystemobject").GetFile(FileName).Size
  End If
  If IsEmpty(GetFileSize) Then GetFileSize = 0
  On Error Goto 0
End Function

'get a file name from the full file path
Function GetFileName(FullPath)
  Dim Pos, PosF
  PosF = 0
  For Pos = Len(FullPath) To 1 Step -1
    Select Case Mid(FullPath, Pos, 1)
      Case ":", "/", "\": PosF = Pos + 1: Pos = 0
    End Select
  Next
  If PosF = 0 Then PosF = 1
  GetFileName = Mid(FullPath, PosF)
End Function

%>
Other links for ASP gigabyte download - download of very large/huge files.

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


HTTP headers and non-asci characters (Content-Disposition, filename, attachment) Article

HTTP headers and non-asci characters (Content-Disposition, filename, attachment)

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ByteArray

HTTP headers and non-asci characters (Content-Disposition, filename, attachment)

The main problem for file downloads is to set right file name with good international characters. The downloaded file name is specified by a filename parametr of Content-Disposition http header.

There is no problem if you set only ASCII characters for the parametr. you can use

Response.AddHeader "content-disposition", "attachment; filename=anyascicharactersyouwant.txt"

But the problem is when you try to use any non-ascii characters in the downoaded file name. Sometimes you will need some russian file name: ???_?????.txt, sometimes chinese 文件名 ???, japanese ファイル名, korean 파일 이름 or some Cental european filename (Czech) příliš_žlutý_kůň_úpěl_ďábelské_ódy.txt.

I was not able to find universal settings to do this task, but it looks like Mozilla based browsers accepts utf-8 encoded headers and headers Encoded Word Extensions from RFC 2231. Internet explorer accepts utf-8 filenames only when 1. the data are URL encoded and 2. the extension of the file contains only ASCII characters.

Content-Disposition - test Non ascii characters

Sub SetContentDisposition(byval FileName)
  'set response. charset
  Response.CharSet = "utf-8"
  'set ContentType - download
  Response.ContentType = "application/download"

  'URLEncode the filename for IE
  If Instr(1, Request.ServerVariables("HTTP_USER_AGENT"), "MSIE", 1)>0 Then
    FileName = URLEncode(FileName,"utf-8")
  End If

  'Add a Content-Disposition header with the filename
  Response.AddHeader "Content-Disposition", _
   "attachment; filename=""" & FileName & """"
End Sub

'URL Encode with character set
Function URLEncode(ByVal Data, CharSet)
    Dim ByteArray
    Set ByteArray = CreateObject("ScriptUtils.ByteArray")
    ByteArray.CharSet = CharSet

    ByteArray.String = Data

  If Len(Data) > 0 Then
    Dim I, C, Out

    For I = 1 To ByteArray.Length
      C = ByteArray(I)'Asc(Mid(Data, I, 1))
      If C = 32 Then
        Out = Out + "+"
      ElseIf C < 46 Or c>126 Then
        Out = Out + "%" + Hex(C)
      Else
        Out = Out + Chr(c)
      End If
    Next
    URLEncode = Out
  End If
End Function

Other links for HTTP headers and non-asci characters (Content-Disposition, filename, attachment)

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Right Method, ByteArray class

Right

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Returns Length bytes from the right of array

Syntax

Set vRight = ByteArray.Right (Length as Long)
Where | Type | Optional | Default | Description
Length | Long |  |  | Number of bytes to return

Returns

ByteArray - Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.

See also

ByteArray.Left, ByteArray.Mid
Other links for Right

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SaveAs Method, ByteArray class - Write binary data to a file

SaveAs

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Saves the ByteArray data as a file.

Syntax

ByteArray.SaveAs (FileName as String, [StartPosition as Variant = 1], [Length as Long = All data])
Where | Type | Optional | Default | Description
FileName | String |  |  | File to save data.
StartPosition | Variant | yes | 1 | Start file position to save SaveAs contents, based to 1. 0 means 'End of file', Empty or undefined means 'overwrite file'.
Length | Long | yes | All data | Number of bytes to write to the file. (1B - 2GB-1)

Remarks

Maximum ByteArray length is 2GB, but StartPosition can be 64 bit number (currency or decimal data type), so you can also save data to a file with unlimitted size.

Examples

ByteArray - Save the posted data.
<%
  Set Binary = CreateObject("ScriptUtils.ByteArray")
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)
  Binary.SaveAs Server.MapPath(".") & "\data.post"

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input type=submit>
</form>
ByteArray - save unicode data (string) as utf-8 with BOM
See also Batch file conversion - character set and BOM detection of html files to detect files with BOM (unicode Little/Big, utf-8)
'Save unicode string as UTF-8 with BOM

SaveBOMUTF "f:\222.txt", "ìšèøžýáíé"

Sub SaveBOMUTF(FileName, SomeString)
  '1. save BOM header.
  SaveBOMHeader FileName

    Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Convert the string to UTF-8
  ByteArray.CharSet = "utf-8"
  ByteArray.String = SomeString

  'Save the UTF-8 string at position 4 of the file
  '(after the 3bytes BOM header)
  ByteArray.SaveAs FileName, 4
End Sub

Sub SaveBOMHeader(FileName)
  'create byte array object
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'the bytearray contains BOM header - 3 bytes.
  ByteArray.SetSize 3
  ByteArray(1) = &HEF
  ByteArray(2) = &HBB
  ByteArray(3) = &HBF
  'Or you can use ByteArray.HexString = "EFBBBF" in v> 2.14

  'Save the BOM header to the FileName
  ByteArray.SaveAs FileName
End Sub
ByteArray - accept very large data in POST/PUT request, ASP, VBScript
You can use Post binary data to URL from WSH/ASP/VBA/VBS and Work with binary files in VBS - read and write local and remote files articles to read and send a binary file from a client-side.
<%
'This sample demonstrates store of large binary data.
'It accepts up to 2GB of a source data a PUT or POST

SaveLargePostData "C:\temp\uploaddata.dat"

Sub SaveLargePostData(DestFile)
 Const BlockSize = 4096

 Dim TotalBytes, DataReaded, ReadBlockSize, BinaryData

 TotalBytes = Request.TotalBytes
 If TotalBytes > 0 Then
  Dim ByteArray: Set ByteArray = GetByteArray()

  For DataReaded = 0 To TotalBytes Step BlockSize

    If BlockSize + DataReaded > TotalBytes Then
    'Last block, IIS6 does not accept to read more data
        ReadBlockSize = TotalBytes - DataReaded
    Else
        ReadBlockSize = BlockSize
    End If

    ByteArray.ByteArray = Request.BinaryRead(ReadBlockSize )

    'Save the block of a source data.
    If DataReaded = 0 Then
        'The first block will overwrite existing file (if one)
        ByteArray.SaveAs DestFile
    Else
        'Position of SaveAs (second parameter) is based to 1
        ByteArray.SaveAs DestFile, 1 + DataReaded
    End If
  Next ' DataReaded
  Response.Write "<br>Source data (" & TotalBytes & _
   "B) was saved to '" & DestFile &  "'"
 End If ' TotalBytes>0 then
End Sub

'Returns ByteArray object. Solves problem with registration and installation
Function GetByteArray()
  On Error Resume Next
  Dim Binary
  Set Binary = CreateObject("ScriptUtils.ByteArray") 'Creates ByteArray object
  'response.write hex(Err)
  If Err = &h46 Then
    On Error Goto 0
    Err.Raise 5, "ScriptUtils.ByteArray", "Insufficient permissions to the scptult.ocx file. User: '" & GetUserName & "' must have read permission to the file."
  ElseIf Err = &h1ad Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "Script Utilities is not correctly installed. Please, install Script Utilities on this server or copy and register scptutl.ocx file on this server."
  ElseIf Err = &h8007045A Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "The evaluation version of Script Utilities was expired. Please install full version."
  ElseIf Err = &h8007007E Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "The ScriptUtilities library (scptutl.ocx) is missing. Please copy the library or reinstall the software."
  ElseIf Err <> 0 Then
    Dim E, N
    N = Hex(Err)
    E = Err.Description
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "Cannot create ScriptUtils.ByteArray object, Error: '" & N & " " & E & "'"
  End If
  Set GetByteArray = Binary
End Function

%>

See also

ByteArray.ReadFrom
Other links for SaveAs

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - accept very large data in POST/PUT request, ASP, VBScript

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.SaveAs

Examples

You can use Post binary data to URL from WSH/ASP/VBA/VBS and Work with binary files in VBS - read and write local and remote files articles to read and send a binary file from a client-side.
ByteArray - accept very large data in POST/PUT request, ASP, VBScript
<%
'This sample demonstrates store of large binary data.
'It accepts up to 2GB of a source data a PUT or POST

SaveLargePostData "C:\temp\uploaddata.dat"

Sub SaveLargePostData(DestFile)
 Const BlockSize = 4096

 Dim TotalBytes, DataReaded, ReadBlockSize, BinaryData

 TotalBytes = Request.TotalBytes
 If TotalBytes > 0 Then
  Dim ByteArray: Set ByteArray = GetByteArray()

  For DataReaded = 0 To TotalBytes Step BlockSize

    If BlockSize + DataReaded > TotalBytes Then
    'Last block, IIS6 does not accept to read more data
        ReadBlockSize = TotalBytes - DataReaded
    Else
        ReadBlockSize = BlockSize
    End If

    ByteArray.ByteArray = Request.BinaryRead(ReadBlockSize )

    'Save the block of a source data.
    If DataReaded = 0 Then
        'The first block will overwrite existing file (if one)
        ByteArray.SaveAs DestFile
    Else
        'Position of SaveAs (second parameter) is based to 1
        ByteArray.SaveAs DestFile, 1 + DataReaded
    End If
  Next ' DataReaded
  Response.Write "<br>Source data (" & TotalBytes & _
   "B) was saved to '" & DestFile &  "'"
 End If ' TotalBytes>0 then
End Sub

'Returns ByteArray object. Solves problem with registration and installation
Function GetByteArray()
  On Error Resume Next
  Dim Binary
  Set Binary = CreateObject("ScriptUtils.ByteArray") 'Creates ByteArray object
  'response.write hex(Err)
  If Err = &h46 Then
    On Error Goto 0
    Err.Raise 5, "ScriptUtils.ByteArray", "Insufficient permissions to the scptult.ocx file. User: '" & GetUserName & "' must have read permission to the file."
  ElseIf Err = &h1ad Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "Script Utilities is not correctly installed. Please, install Script Utilities on this server or copy and register scptutl.ocx file on this server."
  ElseIf Err = &h8007045A Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "The evaluation version of Script Utilities was expired. Please install full version."
  ElseIf Err = &h8007007E Then
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "The ScriptUtilities library (scptutl.ocx) is missing. Please copy the library or reinstall the software."
  ElseIf Err <> 0 Then
    Dim E, N
    N = Hex(Err)
    E = Err.Description
    On Error Goto 0
    Err.Raise 6, "ScriptUtils.ByteArray", "Cannot create ScriptUtils.ByteArray object, Error: '" & N & " " & E & "'"
  End If
  Set GetByteArray = Binary
End Function

%>
Other links for ByteArray - accept very large data in POST/PUT request, ASP, VBScript

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Save the posted data.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.SaveAs

Examples

ByteArray - Save the posted data.
<%
  Set Binary = CreateObject("ScriptUtils.ByteArray")
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)
  Binary.SaveAs Server.MapPath(".") & "\data.post"

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input type=submit>
</form>
Other links for ByteArray - Save the posted data.

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - save unicode data (string) as utf-8 with BOM

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.SaveAs

Examples

See also Batch file conversion - character set and BOM detection of html files to detect files with BOM (unicode Little/Big, utf-8)
ByteArray - save unicode data (string) as utf-8 with BOM
'Save unicode string as UTF-8 with BOM

SaveBOMUTF "f:\222.txt", "ìšèøžýáíé"

Sub SaveBOMUTF(FileName, SomeString)
  '1. save BOM header.
  SaveBOMHeader FileName

    Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Convert the string to UTF-8
  ByteArray.CharSet = "utf-8"
  ByteArray.String = SomeString

  'Save the UTF-8 string at position 4 of the file
  '(after the 3bytes BOM header)
  ByteArray.SaveAs FileName, 4
End Sub

Sub SaveBOMHeader(FileName)
  'create byte array object
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'the bytearray contains BOM header - 3 bytes.
  ByteArray.SetSize 3
  ByteArray(1) = &HEF
  ByteArray(2) = &HBB
  ByteArray(3) = &HBF
  'Or you can use ByteArray.HexString = "EFBBBF" in v> 2.14

  'Save the BOM header to the FileName
  ByteArray.SaveAs FileName
End Sub
Other links for ByteArray - save unicode data (string) as utf-8 with BOM

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SetSize Method, ByteArray class

SetSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ByteArray

Description

Sets a new size of binary data. If old size is greter than new size, data is truncated to the new size.

Syntax

ByteArray.SetSize (NewSize as Long)
Where | Type | Optional | Default | Description
NewSize | Long |  |  | New size for binary data.

Examples

ByteArray - Fill byte array by a random data
  Dim ByteArray, C
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  ByteArray.SetSize 1000 'Creates 1000 byte array
  Randomize
  For C = 1 To ByteArray.Length
    ByteArray(C) = CLng(Rnd * 255)
  Next

  'Do something with the data :-)
  Response.ContentType = "crazzy/random"
  Response.AddHeader "Content-Length", ByteArray.Length
  Response.BinaryWrite ByteArray

See also

ByteArray.Length
Other links for SetSize

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Fill byte array by a random data

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.SetSize

Examples

ByteArray - Fill byte array by a random data
  Dim ByteArray, C
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  ByteArray.SetSize 1000 'Creates 1000 byte array
  Randomize
  For C = 1 To ByteArray.Length
    ByteArray(C) = CLng(Rnd * 255)
  Next

  'Do something with the data :-)
  Response.ContentType = "crazzy/random"
  Response.AddHeader "Content-Length", ByteArray.Length
  Response.BinaryWrite ByteArray
Other links for ByteArray - Fill byte array by a random data

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Base64 Property, ByteArray class - Base64 encode and decode, encoding algorithm

Base64

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Converts data between ByteArray (safearray of bytes) and Base64. Works as a Base64 encoder and decoder from binary (bytearray) or from Unicode String.

Syntax

Base64Data = ByteArray.Base64 ([maxLineChars as Long = 76])
ByteArray.Base64 ([maxLineChars as Long = 76]) = Base64Data
Where | Type | Optional | Default | Description
maxLineChars | Long | yes | 76 | Maximum line characters for Base64 encoded data

Returns

Variant

Returns

Base64 returns ByteArray

Remarks

You can use the property to do Base 64 encoding and decoding of data stream. Base64 property accepts UNICODE String (VT_BSTR) or binary data (VT_UI1 | VT_ARRAY) as an input.
maxLineChars has no meaning for property put.

See also live sample of this method at On-line base64 decoder and encoder page.

Examples

ByteArray - Decode a Base64 string to a binary data.
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

ByteArray.Base64 = "UHV0IHNvbWUgY2hhcmFjdGVycyB0by"

Wscript.Echo "Source data:" & vbCrLf & _
  ByteArray.String
ByteArray - encode a file to a base64 string (Base64 file)
You can simply encode a binary or text file to a Base64 string using this sample code. The base64 string can be stored to a file using SaveAs method.
'Convert a string to Base64
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Convert a File to a Base64
ByteArray.ReadFrom "F:\data\vbs\del.vbs"

'Convert contents of the file to a base64
Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded file:" & vbCrLf & _
  Base64String

'Save Base64 encoded data to a disk
ByteArray.Base64.SaveAs "F:\data\vbs\base64-del.vbs"
ByteArray - decode and encode from Base64
'Convert a string to a Base64
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some characters to the bytearray.
ByteArray.String = "Put some characters to the bytearray."

'Write the characters in original (windows-1250) charset
Dim Base64String
Wscript.Echo "Source data:" & vbCrLf & _
  ByteArray.String

Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded string:" & vbCrLf & _
  Base64String

Base64String = ByteArray.Base64(30).String
Wscript.Echo "Base64 encoded string with short lines:" & vbCrLf & _
  Base64String

Wscript.Echo "Part of data encoded to base64:" & vbCrLf & _
  ByteArray.Mid(3,3).Base64.String

'Convert a File to a Base64
ByteArray.ReadFrom "F:\data\vbs\del.vbs"

Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded file:" & vbCrLf & _
  Base64String
ByteArray, T-SQL - base64 decoder for Microsoft SQL
ByteArray, T-SQL - base64 encoder for Microsoft SQL

See also

ByteArray.Punycode
Other links for Base64

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Decode a Base64 string to a binary data.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Base64

Examples

ByteArray - Decode a Base64 string to a binary data.
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

ByteArray.Base64 = "UHV0IHNvbWUgY2hhcmFjdGVycyB0by"

Wscript.Echo "Source data:" & vbCrLf & _
  ByteArray.String
Other links for ByteArray - Decode a Base64 string to a binary data.

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - decode and encode from Base64

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Base64

Examples

ByteArray - decode and encode from Base64
'Convert a string to a Base64
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some characters to the bytearray.
ByteArray.String = "Put some characters to the bytearray."

'Write the characters in original (windows-1250) charset
Dim Base64String
Wscript.Echo "Source data:" & vbCrLf & _
  ByteArray.String

Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded string:" & vbCrLf & _
  Base64String

Base64String = ByteArray.Base64(30).String
Wscript.Echo "Base64 encoded string with short lines:" & vbCrLf & _
  Base64String

Wscript.Echo "Part of data encoded to base64:" & vbCrLf & _
  ByteArray.Mid(3,3).Base64.String

'Convert a File to a Base64
ByteArray.ReadFrom "F:\data\vbs\del.vbs"

Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded file:" & vbCrLf & _
  Base64String
Other links for ByteArray - decode and encode from Base64

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - encode a file to a base64 string (Base64 file)

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Base64

Examples

You can simply encode a binary or text file to a Base64 string using this sample code. The base64 string can be stored to a file using SaveAs method.
ByteArray - encode a file to a base64 string (Base64 file)
'Convert a string to Base64
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Convert a File to a Base64
ByteArray.ReadFrom "F:\data\vbs\del.vbs"

'Convert contents of the file to a base64
Base64String = ByteArray.Base64.String
Wscript.Echo "Base64 encoded file:" & vbCrLf & _
  Base64String

'Save Base64 encoded data to a disk
ByteArray.Base64.SaveAs "F:\data\vbs\base64-del.vbs"
Other links for ByteArray - encode a file to a base64 string (Base64 file)

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray, T-SQL - base64 decoder for Microsoft SQL

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Base64

Examples

This short sample lets you convert a Base64 string data to a decoded String or Binary data directly in SQL stored procedure (SP written in MS T-SQL). The data are passed as a Base64 string, then you can get the original data as a binary/image data type or converted to unicode string using specified charset/code page. The data are converted by put_Base64 property.
See also ByteArray, T-SQL - base64 encoder for Microsoft SQL
ByteArray, T-SQL - base64 decoder for Microsoft SQL
/* Base64 decoder fot T-SQL */
CREATE PROCEDURE Base64ToString(@Base64 VARCHAR(4000), @String VARCHAR(4000) OUTPUT) AS

DECLARE @ByteArray INT, @OLEResult INT

EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ByteArray', @ByteArray OUT
IF @OLEResult <> 0 PRINT 'ScriptUtils.ByteArray problem'

--Set a charset if needed.
--execute @OLEResult = sp_OASetProperty @ByteArray, 'CharSet', "windows-1250"
--IF @OLEResult <> 0 PRINT 'CharSet problem'

--Set the base64 string
EXECUTE @OLEResult = sp_OASetProperty @ByteArray, 'Base64', @Base64
IF @OLEResult <> 0 PRINT 'Base64 problem'

--Get a string data.
EXECUTE @OLEResult = sp_OAGetProperty @ByteArray, 'String', @String OUTPUT
IF @OLEResult <> 0 PRINT 'String problem'

--Or you can get the data as binary/image.
--Declare @Binary varbinary(4000)
--Declare @Binary image
--execute @OLEResult = sp_OAGetProperty @ByteArray, 'ByteArray', @Binary OUTPUT
--IF @OLEResult <> 0 PRINT 'ByteArray problem'

EXECUTE @OLEResult = sp_OADestroy @ByteArray
Other links for ByteArray, T-SQL - base64 decoder for Microsoft SQL

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray, T-SQL - base64 encoder for Microsoft SQL

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Base64

Examples

This short sample lets you convert any string data to Base64 directly in SQL stored procedure (SP written in MS T-SQL). The data are passed as a string, you can do String-to-binary conversion with specified charset (the default charset is specified by system locale). The binary data are converted by get_Base64 property.
See also ByteArray, T-SQL - base64 decoder for Microsoft SQL
ByteArray, T-SQL - base64 encoder for Microsoft SQL
/* Base64 encoder fot T-SQL */
CREATE PROCEDURE StringToBase64(@String VARCHAR(4000), @Base64 VARCHAR(4000) OUTPUT) AS

DECLARE @ByteArray INT, @OLEResult INT

EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ByteArray', @ByteArray OUT
IF @OLEResult <> 0 PRINT 'ScriptUtils.ByteArray problem'

--Set a charset if needed.
--execute @OLEResult = sp_OASetProperty @ByteArray, 'CharSet', "windows-1250"
--IF @OLEResult <> 0 PRINT 'CharSet problem'

--Set the string.
EXECUTE @OLEResult = sp_OASetProperty @ByteArray, 'String', @String
IF @OLEResult <> 0 PRINT 'String problem'

--Get base64
EXECUTE @OLEResult = sp_OAGetProperty @ByteArray, 'Base64', @Base64 OUTPUT
IF @OLEResult <> 0 PRINT 'Base64 problem'

EXECUTE @OLEResult = sp_OADestroy @ByteArray
Other links for ByteArray, T-SQL - base64 encoder for Microsoft SQL

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray Default Property, ByteArray class - Binary safearray data, VT_UI1 | VT_ARRAY

ByteArray

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Default Property
Member of ScriptUtils.ByteArray

Description

Contens of ByteArray object as byte safearray or one byte from array.

Syntax

vByteArray = ByteArray.ByteArray ([Index as Long])
ByteArray.ByteArray ([Index as Long]) = vByteArray
Where | Type | Optional | Default | Description
Index | Long | yes |  | Index of byte (1 to Length)

Returns

Variant

Remarks

ScriptUtilities ByteArray propery returns true VT_UI1 | VT_ARRAY data.
PureASP upload ByteArray propery returns BSTR filled by single-byte characters (using MidB function of VBS).

Examples

ByteArray - Fill byte array by a random data
  Dim ByteArray, C
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  ByteArray.SetSize 1000 'Creates 1000 byte array
  Randomize
  For C = 1 To ByteArray.Length
    ByteArray(C) = CLng(Rnd * 255)
  Next

  'Do something with the data :-)
  Response.ContentType = "crazzy/random"
  Response.AddHeader "Content-Length", ByteArray.Length
  Response.BinaryWrite ByteArray

See also

ByteArray.String
Other links for ByteArray

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CodePage Property, ByteArray class - Windows locale code page of the binary data

CodePage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Code page for converting between binary and String data.

Syntax

vCodePage = ByteArray.CodePage
ByteArray.CodePage = vCodePage

Returns

ConvertCodePages - Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser

See also

ByteArray.CharSet, ByteArray.CharSetConvert
Other links for CodePage

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


HexString Property, ByteArray class - Hi-speed conversion between binary data and Hex for SQL insert/update

HexString

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Returns contents of the ByteArray as hexadecimal string (base16 string)

Syntax

vHexString = ByteArray.HexString
ByteArray.HexString = vHexString

Returns

String

Remarks

See also live sample of this method at Online sample of a HexString conversion texts and files for SQL commands page.

Examples

ByteArray - HexString sample
'Create ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Set some contents
  ByteArray.String = "ABCD"

'Prints contents as a hexadecimal string ("41424344")
  Debug.Print ByteArray.HexString
ByteArray - save unicode data (string) as utf-8 with BOM
See also Batch file conversion - character set and BOM detection of html files to detect files with BOM (unicode Little/Big, utf-8)
'Save unicode string as UTF-8 with BOM

SaveBOMUTF "f:\222.txt", "ìšèøžýáíé"

Sub SaveBOMUTF(FileName, SomeString)
  '1. save BOM header.
  SaveBOMHeader FileName

    Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Convert the string to UTF-8
  ByteArray.CharSet = "utf-8"
  ByteArray.String = SomeString

  'Save the UTF-8 string at position 4 of the file
  '(after the 3bytes BOM header)
  ByteArray.SaveAs FileName, 4
End Sub

Sub SaveBOMHeader(FileName)
  'create byte array object
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'the bytearray contains BOM header - 3 bytes.
  ByteArray.SetSize 3
  ByteArray(1) = &HEF
  ByteArray(2) = &HBB
  ByteArray(3) = &HBF
  'Or you can use ByteArray.HexString = "EFBBBF" in v> 2.14

  'Save the BOM header to the FileName
  ByteArray.SaveAs FileName
End Sub
Batch file conversion - character set and BOM detection of html files
This sample can do batch conversion of text files with different code pages - Unicode, utf-8, windows-1250 and others to one selected code page. The algorithm contains simple detection of source file code page using BOM.
You can choose any destination charset. See also ByteArray - save unicode data (string) as utf-8 with BOM to save files with BOM (unicode Little/Big, utf-8)
Const DestCharSet = "utf-8"
'Const DestCharSet = "ascii"
Dim FS
Set fs = CreateObject("Scripting.FileSystemObject")

ConvertFolder "f:\", "f:\1"

Function ConvertFolder(byval InputPath, OutputPath)
  Dim InputFolder, File
  Set InputFolder = fs.GetFolder(InputPath)

  For Each File In InputFolder.Files
    If LCase(Right(File.Name,4)) = ".htm" Then
      Wscript.Echo File.Path
      'wscript.echo OutputPath & "\" & replace(file.path,":","")
      ConvertFile File.Path, OutputPath & "\" & file.Name, DestCharSet
    End If
  Next

  Dim FilesFolder
  For Each FilesFolder In InputFolder.SubFolders
    ConvertFolder FilesFolder.Path, OutputPath
  Next
End Function

Sub ConvertFile(SourceFileName, DestFileName, DestCharSet)
  'read the source file contents
  Dim FileContents
  Set FileContents = ReadOneFile(SourceFileName)

  'Convert to the destination charset
  Set FileContents = FileContents.CharSetConvert(DestCharSet)

  'Save to a destination file
  FileContents.SaveAs DestFileName
End Sub

Function ReadOneFile(FileName)
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Read first two bytes from the file
  ByteArray.ReadFrom FileName,,2

  Select Case ByteArray.HexString
    'unicode big endian
    Case "FEFF":
      ByteArray.CharSet = "unicodebig"
      'Read the file from 3rd byte to end.
      ByteArray.ReadFrom FileName,3
    'unicode little endian
    Case "FFFE":
      ByteArray.CharSet = "unicodelittle"
      'Read the file from 3rd byte to end.
      ByteArray.ReadFrom FileName,3
    Case Else:
      'Read first three bytes from the file
      ByteArray.ReadFrom FileName,,3
      If ByteArray.HexString = "EFBBBF" Then 'unicode utf-8
        'read a file contents behind the BOM header
        ByteArray.ReadFrom FileName,4
        ByteArray.CharSet = "utf-8"
      Else
        'read whole contents of the file in other cases
        ByteArray.ReadFrom FileName
        On Error Resume Next
        'try to detect charset from the data source'
        ByteArray.CharSet = DetectCharSet(ByteArray.String)
        'Set some default charset (default is OEM)
        'if err<>0 then ByteArray.CharSet = "windows-1250"
      End If
  End Select
  Set ReadOneFile = ByteArray
End Function

'The Function detects charset from the source string data.
Function DetectCharSet(Data)
  On Error Resume Next
  Dim charset
  'the charset tag usually look like
  '<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  charset = Split(Data, "charset=", 2, vbTextCompare)(1)
  If Len(charset)>0 Then
    charset = Split(charset, """", 2, vbTextCompare)(0)
  End If
  DetectCharSet = charset
End Function

See also

FormField.HexString, ByteArray.Punycode
Other links for HexString

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Batch file conversion - character set and BOM detection of html files

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.HexString

Examples

This sample can do batch conversion of text files with different code pages - Unicode, utf-8, windows-1250 and others to one selected code page. The algorithm contains simple detection of source file code page using BOM.
You can choose any destination charset. See also ByteArray - save unicode data (string) as utf-8 with BOM to save files with BOM (unicode Little/Big, utf-8)
Batch file conversion - character set and BOM detection of html files
Const DestCharSet = "utf-8"
'Const DestCharSet = "ascii"
Dim FS
Set fs = CreateObject("Scripting.FileSystemObject")

ConvertFolder "f:\", "f:\1"

Function ConvertFolder(byval InputPath, OutputPath)
  Dim InputFolder, File
  Set InputFolder = fs.GetFolder(InputPath)

  For Each File In InputFolder.Files
    If LCase(Right(File.Name,4)) = ".htm" Then
      Wscript.Echo File.Path
      'wscript.echo OutputPath & "\" & replace(file.path,":","")
      ConvertFile File.Path, OutputPath & "\" & file.Name, DestCharSet
    End If
  Next

  Dim FilesFolder
  For Each FilesFolder In InputFolder.SubFolders
    ConvertFolder FilesFolder.Path, OutputPath
  Next
End Function

Sub ConvertFile(SourceFileName, DestFileName, DestCharSet)
  'read the source file contents
  Dim FileContents
  Set FileContents = ReadOneFile(SourceFileName)

  'Convert to the destination charset
  Set FileContents = FileContents.CharSetConvert(DestCharSet)

  'Save to a destination file
  FileContents.SaveAs DestFileName
End Sub

Function ReadOneFile(FileName)
  Dim ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

  'Read first two bytes from the file
  ByteArray.ReadFrom FileName,,2

  Select Case ByteArray.HexString
    'unicode big endian
    Case "FEFF":
      ByteArray.CharSet = "unicodebig"
      'Read the file from 3rd byte to end.
      ByteArray.ReadFrom FileName,3
    'unicode little endian
    Case "FFFE":
      ByteArray.CharSet = "unicodelittle"
      'Read the file from 3rd byte to end.
      ByteArray.ReadFrom FileName,3
    Case Else:
      'Read first three bytes from the file
      ByteArray.ReadFrom FileName,,3
      If ByteArray.HexString = "EFBBBF" Then 'unicode utf-8
        'read a file contents behind the BOM header
        ByteArray.ReadFrom FileName,4
        ByteArray.CharSet = "utf-8"
      Else
        'read whole contents of the file in other cases
        ByteArray.ReadFrom FileName
        On Error Resume Next
        'try to detect charset from the data source'
        ByteArray.CharSet = DetectCharSet(ByteArray.String)
        'Set some default charset (default is OEM)
        'if err<>0 then ByteArray.CharSet = "windows-1250"
      End If
  End Select
  Set ReadOneFile = ByteArray
End Function

'The Function detects charset from the source string data.
Function DetectCharSet(Data)
  On Error Resume Next
  Dim charset
  'the charset tag usually look like
  '<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  charset = Split(Data, "charset=", 2, vbTextCompare)(1)
  If Len(charset)>0 Then
    charset = Split(charset, """", 2, vbTextCompare)(0)
  End If
  DetectCharSet = charset
End Function
Other links for Batch file conversion - character set and BOM detection of html files

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - HexString sample

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.HexString

Examples

ByteArray - HexString sample
'Create ByteArray
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Set some contents
  ByteArray.String = "ABCD"

'Prints contents as a hexadecimal string ("41424344")
  Debug.Print ByteArray.HexString
Other links for ByteArray - HexString sample

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CharSet Property, ByteArray class

CharSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

String representation of a CodePage. This value specifies the code page of a source binary data for binary to unicode String conversion.

Syntax

vCharSet = ByteArray.CharSet
ByteArray.CharSet = vCharSet

Returns

String

Remarks

See ConvertCodePages for all available code pages / character sets.

Examples

Bytearray - test of Simplified Chinese, iso-ir-58
<!DOCTYPE HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<HEAD>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <TITLE>Bytearray - test of Simplified Chinese, iso-ir-58 </TITLE>
  <HTA:APPLICATION ID="BAChinese" APPLICATIONNAME="BAChinese" CAPTION="yes" ICON="" SHOWINTASKBAR="yes" SINGLEINSTANCE="no" SYSMENU="yes" SCROLLBAR="no">
</head>
    <body>
    <h1>Bytearray - test of Simplified Chinese, iso-ir-58</h1>
<script language="vbscript">

    Dim Data, Chinesetext, base64Text
    'Select any Chinese text
    'Chinesetext = "Some text with chinese characters"

    'or we can use something from Base64
    Chinesetext = GetSomeChinessetext
    'Write the text
    document.write "Chinese text:<br>"
    document.write Chinesetext

    'Convert the text to iso-ir-58 binary data
    Set Data = CreateObject("ScriptUtils.ByteArray")
    Data.CharSet = "iso-ir-58"
    Data.String = Chinesetext

    'Write the data as a base-64 string
    document.write "<br><br>base 64 encoded text in iso-ir-58 charset:<br>"
    base64Text = Data.Base64.String
    document.write base64Text

    'Create a second bytearray to convert base64 data back
    Set Data2 = CreateObject("ScriptUtils.ByteArray")
    Data2.CharSet = "iso-ir-58"

    'Convert the base-64 data to a binary data
    Data2.Base64 = base64Text
    document.write "<br><br>Base 64 string converted back:<br>"

    'Write the data as an UNICODE string
    document.write Data2.String

    Function GetSomeChinessetext
        Dim BA
        Set BA = CreateObject("ScriptUtils.ByteArray")
        BA.Base64 = "v8a8vLK8vta199X70+u53MDttLTQwg=="
        BA.CharSet = "iso-ir-58"
        GetSomeChinessetext = BA.String
    End Function
</script>

    </body>
</html>
ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data
Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP
<%
'Convert string between windows-1250 and iso-8859-2 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some east-europe characters to the bytearray.
'This characters are stored using windows-1250 charset
ByteArray.CharSet = "windows-1250"
ByteArray.String = "ěščřžýáíé ĚŠČŘŽÝÁÍÉ"

'set output character set
Response.CharSet = "iso-8859-2"

'write some ANSI string
Response.Write "Test string: "

'Write source string converted to "iso-8859-2"
Response.BinaryWrite ByteArray.CharSetConvert(Response.CharSet)

'same for utf-8
'set output character set
'response.CharSet = "utf-8"

'write some ANSI string
'response.write "Test string: "

'Write source string converted to "iso-8859-2"
'response.binarywrite ByteArray.CharSetConvert(response.CharSet)

%>
Upload - use unicode (utf-8) character set for request/response data
VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)
Function URLEncode(ByVal Data, CharSet)
  'Create a ByteArray object
  Dim ByteArray: Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  If Len(CharSet)>0 Then ByteArray.CharSet = CharSet

  ByteArray.String = Data

  If ByteArray.Length > 0 Then
    Dim I, C, Out

    For I = 1 To ByteArray.Length
      'For each byte of the encoded data
      C = ByteArray(I)
      If C = 32 Then 'convert space to +
        Out = Out + "+"
      ElseIf (C < 48 Or c>126) Or (c>56 And c<=64) Then
        Out = Out + "%" + Hex(C)
      Else
        Out = Out + Chr(c)
      End If
    Next
    URLEncode = Out
  End If
End Function

See also

ByteArray.String, ByteArray.CodePage, ByteArray.CharSetConvert
Other links for CharSet

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray

Examples

ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data
'Windows code pages &HC42C &H3A4 must be installed.
Dim ByteArray, VarUnicode
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

ByteArray.ReadFrom "name of a file with iso-2022 data"
'or ByteArray.ByteArray = Some_iso-2022-jp_data
ByteArray.CharSet = "iso-2022-jp"

'Convert the data to shift-jis and save to a destination file
ByteArray.CharSetConvert("shift-jis").SaveAs "filename for shift-jis data"

' or shift-jis-binary-variable =  ByteArray.CharSetConvert("shift-jis")
' or
'  Response.CharSet = "shift-jis"
'  Response.BinaryWrite ByteArray.CharSetConvert("shift-jis")
Other links for ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Bytearray - test of Simplified Chinese, iso-ir-58

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSet

Examples

Bytearray - test of Simplified Chinese, iso-ir-58
<!DOCTYPE HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<HEAD>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <TITLE>Bytearray - test of Simplified Chinese, iso-ir-58 </TITLE>
  <HTA:APPLICATION ID="BAChinese" APPLICATIONNAME="BAChinese" CAPTION="yes" ICON="" SHOWINTASKBAR="yes" SINGLEINSTANCE="no" SYSMENU="yes" SCROLLBAR="no">
</head>
    <body>
    <h1>Bytearray - test of Simplified Chinese, iso-ir-58</h1>
<script language="vbscript">

    Dim Data, Chinesetext, base64Text
    'Select any Chinese text
    'Chinesetext = "Some text with chinese characters"

    'or we can use something from Base64
    Chinesetext = GetSomeChinessetext
    'Write the text
    document.write "Chinese text:<br>"
    document.write Chinesetext

    'Convert the text to iso-ir-58 binary data
    Set Data = CreateObject("ScriptUtils.ByteArray")
    Data.CharSet = "iso-ir-58"
    Data.String = Chinesetext

    'Write the data as a base-64 string
    document.write "<br><br>base 64 encoded text in iso-ir-58 charset:<br>"
    base64Text = Data.Base64.String
    document.write base64Text

    'Create a second bytearray to convert base64 data back
    Set Data2 = CreateObject("ScriptUtils.ByteArray")
    Data2.CharSet = "iso-ir-58"

    'Convert the base-64 data to a binary data
    Data2.Base64 = base64Text
    document.write "<br><br>Base 64 string converted back:<br>"

    'Write the data as an UNICODE string
    document.write Data2.String

    Function GetSomeChinessetext
        Dim BA
        Set BA = CreateObject("ScriptUtils.ByteArray")
        BA.Base64 = "v8a8vLK8vta199X70+u53MDttLTQwg=="
        BA.CharSet = "iso-ir-58"
        GetSomeChinessetext = BA.String
    End Function
</script>

    </body>
</html>
Other links for Bytearray - test of Simplified Chinese, iso-ir-58

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.CharSet

Examples

VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)
Function URLEncode(ByVal Data, CharSet)
  'Create a ByteArray object
  Dim ByteArray: Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  If Len(CharSet)>0 Then ByteArray.CharSet = CharSet

  ByteArray.String = Data

  If ByteArray.Length > 0 Then
    Dim I, C, Out

    For I = 1 To ByteArray.Length
      'For each byte of the encoded data
      C = ByteArray(I)
      If C = 32 Then 'convert space to +
        Out = Out + "+"
      ElseIf (C < 48 Or c>126) Or (c>56 And c<=64) Then
        Out = Out + "%" + Hex(C)
      Else
        Out = Out + Chr(c)
      End If
    Next
    URLEncode = Out
  End If
End Function
Other links for VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Length Property, ByteArray class

Length

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Length of the data.

Syntax

vLength = ByteArray.Length
ByteArray.Length = vLength

Returns

Long

Remarks

This property can be used to change size of ByteArray object (allocata ne memory).
The property is ReadOnly for PureASP upload.

Examples

ByteArray - ASP download
    Set ByteArray = CreateObject("ScriptUtils.ByteArray")
    ByteArray.ReadFrom(File)
    Response.AddHeader "Content-Length", ByteArray.Length
    Response.ContentType = "application/msdownload"
    Response.BinaryWrite ByteArray.ByteArray

See also

ByteArray.SetSize
Other links for Length

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - ASP download

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Length

Examples

ByteArray - ASP download
    Set ByteArray = CreateObject("ScriptUtils.ByteArray")
    ByteArray.ReadFrom(File)
    Response.AddHeader "Content-Length", ByteArray.Length
    Response.ContentType = "application/msdownload"
    Response.BinaryWrite ByteArray.ByteArray
Other links for ByteArray - ASP download

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Punycode Property, ByteArray class - Punycode conversion algorithm. Encoder and decoder.

Punycode

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Returns unicode String as punycode encoded string. You can directly convert data from/to any charset to punycode using this property.

Syntax

vPunycode = ByteArray.Punycode
ByteArray.Punycode = vPunycode

Returns

String

Remarks

Please use unicode code pages (utf-8 or utf-16, see ConvertCodePages) to work with all possible unicode characters.
See live sample of this method

Examples

ByteArray - Punycode - unicode conversions
Short functions to encode/decode string<->punycode data. You can use these functions as an Internationalized Domain Names VBScript converter.
  • punycode to unicode conversion
  • unicode string to punycode conversion
  • IDN string to unicode conversion
  • unicode string to IDN string conversion
    See Live punycode idn decoder/encoder.
    • Dim m_BA
Function BA
  If IsEmpty(m_BA) Then Set m_BA = CreateObject("ScriptUtils.ByteArray"): m_BA.CharSet = "utf-8"
  Set BA = m_BA
End Function

'conversion from unicode string to punycode
Function ToPUNYCODE(Data)
  Dim Outdata
  BA.String = Data

  Outdata =  "<div>ToPUNYCODE : Punycode representation of '" & _
   Data & "' string :<div style=background-color:yellow;color:blue>"
  Outdata = Outdata & "<b>" & BA.Punycode & "</b>"
  Outdata = Outdata & "</div></div>"
  ToPUNYCODE = Outdata
End Function

'conversion from punycode string (OLE String) to a UNICODE string
Function FromPUNYCODE(Data)
  Dim Outdata
  On Error Resume Next
  BA.Punycode = Data
  If Err=0 Then
    Outdata =  "<div>FromPUNYCODE : Unicode string :<div style=background-color:yellow;color:blue>"
    Outdata = Outdata & "<b>" & BA.String & "</b>"'write the UTF representation
    Outdata = Outdata & "</div></div>"
  Else
    Outdata =  "<div style=background-color:red;color:yellow>FromPUNYCODE:Punycode string '" & _
     Data & "' has no unicode representation.</div>"
  End If
  FromPUNYCODE = Outdata
End Function

'conversion of a host name (www.anychar.com) to a punycode idn version (www.xn--translated.com)
Function ToIDN(Data)
  Dim Outdata, pData, partuni, partpuny

  pData = Split(Data, ".")

  For Each partuni In pData
    BA.String = partuni
    partpuny = BA.Punycode
    If Right(partpuny,1)<>"-" Then partpuny = "xn--" & partpuny Else partpuny = partuni

    Outdata = Outdata & partpuny & "."
  Next
  Outdata = Left(Outdata, Len(Outdata)-1)
  ToIDN =  "<div>ToIDN : IDN representation of '" & _
   Data & "' string :<div style=background-color:yellow;color:blue><b>" & _
   Outdata & "</b></div></div>"
End Function

'conversion of a host name in idn punycode (www.xn--translated.com)
' to an unicode string (www.anychar.com)
Function FromIDN(ByVal Data)
  Dim Outdata, pData, partuni, partpuny
  Data = LCase(Data)
  pData = Split(Data, ".")
  For Each partpuny In pData
    If Left(partpuny,4)="xn--" Then
      BA.Punycode = Mid(partpuny, 5)
      partuni = Ba.String
    Else
      'on error resume next
      'BA.Punycode = partpuny
      Dim re :set re = New RegExp
      re.pattern = "^[-a-zA-Z0-9]+$"

      If re.Test(partpuny) Then
        partuni = partpuny
      Else
        partuni = "<font Color=red>error (" & partpuny & ")</Font>"
      End If
    End If

    Outdata = Outdata & partuni & "."
  Next
  Outdata = Left(Outdata, Len(Outdata)-1)
  FromIDN = "<div>FromIDN : Unicode representation of IDN '" & Data & _
   "' :<div style=background-color:yellow;color:blue><b>" & _
   Outdata & "</b></div></div>"
End Function

    See also

    ByteArray.HexString, ByteArray.Base64

    License notes

    This property is using
VeriSign XCode (encode/decode) IDN Library
A library for encoding / decoding of domain strings.
(c) VeriSign Inc., 2003, All rights reserved
    Other links for Punycode

    Methods of ByteArray class

    Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

    Properties of ByteArray class

    Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

    ScriptUtils.ByteArray

    Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
    ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
    Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Punycode - unicode conversions

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.Punycode

Examples

Short functions to encode/decode string<->punycode data. You can use these functions as an Internationalized Domain Names VBScript converter.
  • punycode to unicode conversion
  • unicode string to punycode conversion
  • IDN string to unicode conversion
  • unicode string to IDN string conversion
    See Live punycode idn decoder/encoder.
    ByteArray - Punycode - unicode conversions
    Dim m_BA
Function BA
  If IsEmpty(m_BA) Then Set m_BA = CreateObject("ScriptUtils.ByteArray"): m_BA.CharSet = "utf-8"
  Set BA = m_BA
End Function

'conversion from unicode string to punycode
Function ToPUNYCODE(Data)
  Dim Outdata
  BA.String = Data

  Outdata =  "<div>ToPUNYCODE : Punycode representation of '" & _
   Data & "' string :<div style=background-color:yellow;color:blue>"
  Outdata = Outdata & "<b>" & BA.Punycode & "</b>"
  Outdata = Outdata & "</div></div>"
  ToPUNYCODE = Outdata
End Function

'conversion from punycode string (OLE String) to a UNICODE string
Function FromPUNYCODE(Data)
  Dim Outdata
  On Error Resume Next
  BA.Punycode = Data
  If Err=0 Then
    Outdata =  "<div>FromPUNYCODE : Unicode string :<div style=background-color:yellow;color:blue>"
    Outdata = Outdata & "<b>" & BA.String & "</b>"'write the UTF representation
    Outdata = Outdata & "</div></div>"
  Else
    Outdata =  "<div style=background-color:red;color:yellow>FromPUNYCODE:Punycode string '" & _
     Data & "' has no unicode representation.</div>"
  End If
  FromPUNYCODE = Outdata
End Function

'conversion of a host name (www.anychar.com) to a punycode idn version (www.xn--translated.com)
Function ToIDN(Data)
  Dim Outdata, pData, partuni, partpuny

  pData = Split(Data, ".")

  For Each partuni In pData
    BA.String = partuni
    partpuny = BA.Punycode
    If Right(partpuny,1)<>"-" Then partpuny = "xn--" & partpuny Else partpuny = partuni

    Outdata = Outdata & partpuny & "."
  Next
  Outdata = Left(Outdata, Len(Outdata)-1)
  ToIDN =  "<div>ToIDN : IDN representation of '" & _
   Data & "' string :<div style=background-color:yellow;color:blue><b>" & _
   Outdata & "</b></div></div>"
End Function

'conversion of a host name in idn punycode (www.xn--translated.com)
' to an unicode string (www.anychar.com)
Function FromIDN(ByVal Data)
  Dim Outdata, pData, partuni, partpuny
  Data = LCase(Data)
  pData = Split(Data, ".")
  For Each partpuny In pData
    If Left(partpuny,4)="xn--" Then
      BA.Punycode = Mid(partpuny, 5)
      partuni = Ba.String
    Else
      'on error resume next
      'BA.Punycode = partpuny
      Dim re :set re = New RegExp
      re.pattern = "^[-a-zA-Z0-9]+$"

      If re.Test(partpuny) Then
        partuni = partpuny
      Else
        partuni = "<font Color=red>error (" & partpuny & ")</Font>"
      End If
    End If

    Outdata = Outdata & partuni & "."
  Next
  Outdata = Left(Outdata, Len(Outdata)-1)
  FromIDN = "<div>FromIDN : Unicode representation of IDN '" & Data & _
   "' :<div style=background-color:yellow;color:blue><b>" & _
   Outdata & "</b></div></div>"
End Function
    • Other links for ByteArray - Punycode - unicode conversions

    ScriptUtils.ByteArray

    Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
    ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
    Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


License notes Article

License notes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ByteArray

License notes

This property is using
VeriSign XCode (encode/decode) IDN Library
A library for encoding / decoding of domain strings.
(c) VeriSign Inc., 2003, All rights reserved
Other links for License notes

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


String Property, ByteArray class - Unicode string representation of binary data

String

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.ByteArray

Description

Returns (or sets) the data as a string. The binary data are converted to/from a unicode string using CodePage.

Syntax

vString = ByteArray.String
ByteArray.String = vString

Returns

String

Examples

ByteArray - Convert data from BinaryRead to string
<%
  Set Binary = CreateObject("ScriptUtils.ByteArray")
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input value=XXXXXXXXXXX NAME=B>
<input type=submit>
</form>
Same ASP sample with PureASP upload
<!--#INCLUDE FILE="upload.inc"-->
<%
  Set Binary = CreateBinaryData()
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String()
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input value=XXXXXXXXXXX NAME=B>
<input type=submit>
</form>

See also

ByteArray.ByteArray, ByteArray.CharSet, ASPForm.StringToBinary
Other links for String

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray - Convert data from BinaryRead to string

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.String

Examples

ByteArray - Convert data from BinaryRead to string
<%
  Set Binary = CreateObject("ScriptUtils.ByteArray")
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input value=XXXXXXXXXXX NAME=B>
<input type=submit>
</form>
Other links for ByteArray - Convert data from BinaryRead to string

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Same ASP sample with PureASP upload

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray.String

Examples

Same ASP sample with PureASP upload
<!--#INCLUDE FILE="upload.inc"-->
<%
  Set Binary = CreateBinaryData()
  Length = CLng(Request.ServerVariables("HTTP_Content_Length"))
  Binary.ByteArray = Request.BinaryRead(Length)

  Response.Write "Request data (" & Binary.Length & " bytes): <br><pre>"
  Response.Write Binary.String()
  Response.Write "</pre>"
%>
<form method=post>
<input value=XXXXXXXXXXX NAME=A>
<input value=XXXXXXXXXXX NAME=B>
<input type=submit>
</form>
Other links for Same ASP sample with PureASP upload

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Multiple files download with on-the-fly compression zip/arj

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray

Examples

Multiple files download with on-the-fly compression zip/arj
Download help from www.motobit.com
Other links for Multiple files download with on-the-fly compression zip/arj

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Simple download

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ByteArray

Examples

Simple download
<Script RunAt=Server Language=VBScript>
  WriteFileToClient "c:\images\adv88.gif"

  Sub WriteFileToClient(File)
    Dim ByteArray
    Set ByteArray = CreateObject("ScriptUtils.ByteArray")'Creates the ByteArray object
    ByteArray.ReadFrom(File)
    Response.AddHeader "Content-Length", ByteArray.Length
    Response.ContentType = "image/GIF"
    Response.BinaryWrite ByteArray.ByteArray'Returns byte safearray (VT_UI1)
    ByteArray = Empty
  End Sub
</Script>
Other links for Simple download

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.HexString

Examples

Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement
<%
'Sample file db-HexStringChunk.asp
'Upload to MS SQL database, store file using HexString method and UPDATETEXT command
'Suitable for upload of big files (up to 2GB)
'   and MS SQL databse (MS SQL 6.5 - MS SQL 2000)
'see article 'To database, or not to database?' in HugeASP upload help

Server.ScriptTimeout = 36000

'Upload large files to MS SQL Server using HexString
Dim d: D="" & time: d=Replace(d,":","")

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  Dim Conn, SQL, RS, UploadID
  'Open connection to database
  Set Conn = GetConnection

    'Create insert statement with empty Data field
  SQL = "SET NOCOUNT ON Insert into Upload(UploadDT, ContentType, SouceFileName, Title, [Description], Data) values("
  SQL = SQL & "GetDate()"
  SQL = SQL & ", '" & Form("DBFile").ContentType & "'"
  SQL = SQL & ",  '" & Form("DBFile").FileName & "'"
  SQL = SQL & ",  '" & Form("Title") & "'"
  SQL = SQL & ",  '" & Form("Description") & "'"
  SQL = SQL & ",0x)" & vbCrLf
  SQL = SQL & "Select @@IDENTITY as UploadID"

  Set RS = Conn.Execute(SQL)
    UploadID = RS("UploadID")
  RS.Close

  'Set block size to 1MB
  Const BlockSize = &H100000

  'Process source data using blocks
  Dim BlockCounter, HexDataBlock
  For BlockCounter = 0 To Form("DBFile").Length Step BlockSize

    'Get a part of source data as a Hex string
    HexDataBlock = Form("DBFile").HexString(BlockCounter, BlockSize)

    'Add a part of source data to the field
    SQL = "DECLARE @dataptr binary(16)" & vbCrLf
    SQL = SQL & "SELECT @dataptr = TEXTPTR(Data)"
    SQL = SQL & " FROM Upload WHERE UploadID=" & UploadID & vbCrLf
    SQL = SQL & "UPDATETEXT Upload.Data @dataptr " & BlockCounter & " NULL 0x" & HexDataBlock
    Conn.Execute SQL
  Next 'BlockCounter
  '

  Conn.Close
End If'Form.State = 0 then

Function GetConnection1()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=D:\Temp\upload.mdb"
  Conn.CommandTimeout = 1800
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "SQLOLEDB"
  Conn.Open "Data Source=(local);Database=Upload", "sa", ""
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>
<br>Upload To MS SQL database, store file using HexString method And UPDATETEXT command
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Suitable For upload of big files (up To 2GB) And MS SQL databse (MS SQL 6.5 - MS SQL 2000)
<br>see article 'To database, or not to database?' in HugeASP upload help

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>
Other links for Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Links Article

Links

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ByteArray

Links

ScriptUtilities and Huge ASP file upload home page
Sample multiple file/folder download with zip/arj compression
Other links for Links

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Features of the

Features of the ByteArray class

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ByteArray

Features of the ByteArray class

  • Read and write binary data from a disk.
  • Conversion between unicode string (OLE string - VBA, VBScript, Jscript) and any code page (ConvertCodePages).
  • Conversion from/to any code page (charset). See list of available charsets at ConvertCodePages page and CharSetConvert method.
  • Hi-speed binary-to-hex, hex-to-binary, string-to-hex and hex-to-string conversion algorithm (usable to store binary data with SQL statement, HexString property)
  • Hi-performance Base64 decoder and encoder (binary-to-Base64 encode and decode)

Other features

  • Process up to 2GB of data
  • Works also with very large files (>4GB, block-by-block)
  • Samples to download very large files (ASP gigabyte download - download of very large/huge files.)
  • Samples to accept very large PUT request (ByteArray - accept very large data in POST/PUT request, ASP, VBScript)
  • Part of ScriptUtilities and Huge ASP file upload, you will get more functionality!
  • C++ source code is available with Distribution license, please see License page for ASP file upload and ScriptUtilities
Other links for Features of the ByteArray class

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormField Class

FormField

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use FormField object

Description

One form field. Member of FormFields collection.

Object model

FormField - One form field. Member of FormFields collection. (Item property, Returns a specific member of a FormFields collection either by position or by key.)

Methods

ContentCharSet | Character set of the multipart (multipart/related) data field.
Save | Lets you save this form field to the specified path. The field is saved with original file name.
SaveAs | Lets you save this form field under specified file name.

Properties

CharSet | String or numeric (ConvertCodePages) expression that describes the character set used for the request data. If no value is supplied, source form string data are interpreted using ANSI codepage.
ConvertCodePages, RW
ByteArray | Contents of a source field as a byte array (VT_UI1 | VT_ARRAY)
Variant, RO
ContentDisposition | Content-Disposition header of the field
String, RO
ContentTransferEncoding | Content-Transfer-Encoding header of the field.
String, RO
ContentType | Content-Type header of the field
String, RO
FileExt | Source file extension of the field.
String, RO
FileName | Source file name of the field.
String, RO
FilePath | Full source path of the field.
String, RO
Header | One of the multipart field header.
String, RO
Headers | Array of multipart header names.
Array, RO
HexString | Returns hexadecimal-string representation (base16 string) of a form field value. Usefull for SQL block insertion.
Void, RO
Index | Index of the field in a source form collection.
Long, RO
InProgress | True, if the form is reading source data stream, False otherwise.
Boolean, RO
IsFile | True if the form field is file. False for text field.
Boolean, RO
Length | Length of the field.
Long, RO
Name | Name of the source field
String, RO
RAWHeader | Full source text of multipart/form-data header.
String, RO
SourceLength | Length of field in source data.
Long, RO
String | Returns string representation of form field value. This is default value of a form field.
String, RO
Value | Returns this form field. Included for compatibility with previous versions of ScriptUtilities or PureASP upload.
FormField, RO

Used in

FormField.Value
Other links for FormField class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ContentCharSet Method, FormField class

ContentCharSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormField

Description

Character set of the multipart (multipart/related) data field.

Syntax

vContentCharSet = FormField.ContentCharSet

Returns

String

Returns

charset attribute of Content-Type data field header.

See also

FormField.ContentType, FormField.CharSet, FormField.Headers
Other links for ContentCharSet

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Save Method, FormField class

Save

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormField

Description

Lets you save this form field to the specified path. The field is saved with original file name.

Syntax

FormField.Save (Path as String, [NormalizeFileName as Boolean = true])
Where | Type | Optional | Default | Description
Path | String |  |  | Destination path to save fields.
NormalizeFileName | Boolean | yes | true | True to replace invalid windows filename characters ( \ / : * ? \ " < > | )

Remarks

- Save method creates Path if the Path does not exists.
Unix, MAC and other operating systems can use some special characters in file names ( \ / : * ? \ " < > | ). Windows file system does not accept them in a file name or path. If the NormalizeFileName is set to true, all these characters are replaced by '_' (underscore) character.

Examples

Upload - Save source fields to different loactions
<%
'Sample file Field-Save.asp
'Upload - Save source fields to different loactions

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
'was the Form successfully received?
If Form.State = 0 Then

  'Get an destination path
  Dim DestPath: DestPath = Server.MapPath(".")

  'Save SourceFile1 to folder folder1
  Form.Files("SourceFile1").Save DestPath & "\folder1"

  'Save SourceFile2 to folder folder2
  Form.Files("SourceFile2").Save DestPath & "\folder2"
  '
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >

File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

See also

FormField.SaveAs
Other links for Save

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Save source fields to different loactions

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.Save

Examples

Upload - Save source fields to different loactions
<%
'Sample file Field-Save.asp
'Upload - Save source fields to different loactions

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
'was the Form successfully received?
If Form.State = 0 Then

  'Get an destination path
  Dim DestPath: DestPath = Server.MapPath(".")

  'Save SourceFile1 to folder folder1
  Form.Files("SourceFile1").Save DestPath & "\folder1"

  'Save SourceFile2 to folder folder2
  Form.Files("SourceFile2").Save DestPath & "\folder2"
  '
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >

File1:<input Name=SourceFile1 Type=File><br>
File2:<input Name=SourceFile2 Type=File><br>
Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>
Other links for Upload - Save source fields to different loactions

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SaveAs Method, FormField class

SaveAs

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormField

Description

Lets you save this form field under specified file name.

Syntax

FormField.SaveAs (FileName as String)
Where | Type | Optional | Default | Description
FileName | String |  |  | Full path and file name.

Examples

Upload - Save form files with special name.
Upload - Save extra upload info to a database
<%
'Sample file Field-SaveAs.asp
'Store extra upload info to a database
' and file contents to the disk

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Create destination path+filename for the source file.
  Dim DestinationPath, DestinationFileName
  DestinationPath = Server.MapPath(".") & "\"
  DestinationFileName = "~upload-" & Form("SourceFile").FileName

  'Open recordset to store uploaded data
  Dim RS: Set RS = OpenUploadRS

  'Store extra info about upload to database
  RS.AddNew
   RS("UploadDT") = Now()
   RS("Description") = Form.Texts("Description")
   RS("SourceFileName") = DestinationFileName
   '...
  RS.Update

  'Save file to the destination
  Form("SourceFile").SaveAs DestinationPath & DestinationFileName
  '

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next
End If'Form.State = 0 then

Function OpenUploadRS()
  Dim RS  : Set RS = CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", GetConnection, 2, 2

  Set OpenUploadRS = RS
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Store extra upload info To a database
<br> And file contents To the disk
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile Type=File><br>
Description:<input Name=Description><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

See also

FormField.Save
Other links for SaveAs

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Save form files with special name.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.SaveAs

Examples

Upload - Save form files with special name.
<%
  'Sample file Field-SaveAs-I.asp
  'Save source files with special file names

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Get an destination path
  Dim DestPath: DestPath = Server.MapPath(".")

  'File counter
  Dim I: I=1
  For Each File In Form.Files
    Response.Write "<br>File" & I & " was saved as "
    Response.Write DestPath & "\UploadFolder\SourceFile" & I & ".bin"
    'Save file with a new name
    File.SaveAs DestPath & "\UploadFolder\SourceFile" & I & ".bin"
    '
    I = I+1
  Next
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Save source files with special file names
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<Div ID=files>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2">
</Div>
<Input Type=Button Value="Add a file" OnClick=return(Expand())
 Style="border=0;background=yellow;cursor:hand"><br>

Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<Script>
var nfiles = 2;
Function Expand(){
  nfiles++
  var adh = '<BR> File '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>
Other links for Upload - Save form files with special name.

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CharSet Property, FormField class

CharSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormField

Description

String or numeric (ConvertCodePages) expression that describes the character set used for the request data. If no value is supplied, source form string data are interpreted using ANSI codepage.

Syntax

vCharSet = FormField.CharSet
FormField.CharSet = vCharSet

Returns

ConvertCodePages - Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser

Remarks

You can handle each of the form field in its special character set. Although - I think you never use such thing in multipart/form-data :-)
multipart/related fields has its own charset property (see ContentCharSet property). CharSet is set to ContentCharSet value if charset field header attribute is specified.

Examples

Field CharSets - handle form fields in different code pages
Dim Form, W1250, WISO

'Create formparser object
Set Form = CreateObject("ScriptUtils.FormParser")
Form.FormType = 2

'Process block of data with two fields.
Form.ProcessBlock "W1250=some1250chars-ìšèøžýáíé&WISO=and8859-2-ì¹èø¾ýáíé"

'Handle first field as Windows-1250 char set
Set W1250 = Form.Items("W1250")
W1250.CharSet = "Windows-1250"
Wscript.Echo W1250.Value

'Handle first field as iso-8859-2 char set
'You will get the same characters at output
Set WISO = Form.Items("WISO")
WISO.CharSet = "iso-8859-2"
Wscript.Echo WISO.Value

See also

FormField.String, FormField.Name, FormField.FileName, FormField.FilePath, ASPForm.CharSet, FormParser.CharSet, FormField.FileExt, FormField.ContentCharSet
Other links for CharSet

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Field CharSets - handle form fields in different code pages

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.CharSet

Examples

Field CharSets - handle form fields in different code pages
Dim Form, W1250, WISO

'Create formparser object
Set Form = CreateObject("ScriptUtils.FormParser")
Form.FormType = 2

'Process block of data with two fields.
Form.ProcessBlock "W1250=some1250chars-ìšèøžýáíé&WISO=and8859-2-ì¹èø¾ýáíé"

'Handle first field as Windows-1250 char set
Set W1250 = Form.Items("W1250")
W1250.CharSet = "Windows-1250"
Wscript.Echo W1250.Value

'Handle first field as iso-8859-2 char set
'You will get the same characters at output
Set WISO = Form.Items("WISO")
WISO.CharSet = "iso-8859-2"
Wscript.Echo WISO.Value
Other links for Field CharSets - handle form fields in different code pages

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ByteArray Property, read only, FormField class

ByteArray

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Contents of a source field as a byte array (VT_UI1 | VT_ARRAY)

Syntax

vByteArray = FormField.ByteArray ([Start as Long = Start of field], [Length as Long = Length of field])
Where | Type | Optional | Default | Description
Start | Long | yes | Start of field | Start position to return binary data
Length | Long | yes | Length of field | Length of source data to return

Returns

Variant

Examples

Upload - Upload of large files to database using AppendChunk method of RecordSet
Upload - Simple upload to database
<%
'Sample file db-bytearay.asp
'Simple upload to database.
'Suitable for small files - up to 20% of physical server memory
'This sample works with any connection - MDB (JetOLEDB, ODBC)
' MS SQL (MSDASQL/ODBC) etc.

Server.ScriptTimeout = 240
'Simple upload to database

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  Dim Conn, RS
  'Open connection to database
  Set Conn = GetConnection
  Set RS = Server.CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", Conn, 2, 2
  RS.AddNew

    'Store extra form info.
    RS("Description") = Form("Description")
    RS("Title") = Form("Title")

    'Add file from source field 'DBFile' to table field 'Data'
    RS("Data") = Form("DBFile").ByteArray

    'Store technical informations
    RS("ContentType") = Form("DBFile").ContentType
    RS("SouceFileName") = Form("DBFile").FileName
    RS("DataSize") = Form("DBFile").Length

    RS("UploadDT") = Now()
  RS.Update
  RS.Close
  Conn.Close
End If'Form.State = 0 then

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0/2000
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>
Simple upload To database, sample For <A Href=http://www.motobit.com>HugeASP upload</A>.<br>
Suitable For small files - up To 20% of physical server memory<br>

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>

See also

FormField.String, FormField.HexString
Other links for ByteArray

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Simple upload to database

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.ByteArray

Examples

Upload - Simple upload to database
<%
'Sample file db-bytearay.asp
'Simple upload to database.
'Suitable for small files - up to 20% of physical server memory
'This sample works with any connection - MDB (JetOLEDB, ODBC)
' MS SQL (MSDASQL/ODBC) etc.

Server.ScriptTimeout = 240
'Simple upload to database

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  Dim Conn, RS
  'Open connection to database
  Set Conn = GetConnection
  Set RS = Server.CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", Conn, 2, 2
  RS.AddNew

    'Store extra form info.
    RS("Description") = Form("Description")
    RS("Title") = Form("Title")

    'Add file from source field 'DBFile' to table field 'Data'
    RS("Data") = Form("DBFile").ByteArray

    'Store technical informations
    RS("ContentType") = Form("DBFile").ContentType
    RS("SouceFileName") = Form("DBFile").FileName
    RS("DataSize") = Form("DBFile").Length

    RS("UploadDT") = Now()
  RS.Update
  RS.Close
  Conn.Close
End If'Form.State = 0 then

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0/2000
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>
Simple upload To database, sample For <A Href=http://www.motobit.com>HugeASP upload</A>.<br>
Suitable For small files - up To 20% of physical server memory<br>

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>
Other links for Upload - Simple upload to database

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Upload of large files to database using AppendChunk method of RecordSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.ByteArray

Examples

Upload - Upload of large files to database using AppendChunk method of RecordSet
<%
'Sample file db-appendchunk.asp
'Upload to database, store file using AppendChunk method of RecordSet
'Suitable for upload of big files and MDB database
'see article 'To database, or not to database?' in HugeASP upload help
'This sample works with well with MDB files and JetOLEDB provider
'AppendChunk method does not work correctly with SQLOLEDB provider
'See HexString property to upload big files to MSSQL.

Server.ScriptTimeout = 3600
'Simple upload to database

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Form.TempPath = "h:\temp"
'was the Form successfully received?
If Form.State = 0 Then
  Dim Conn, RS
  'Open connection to database
  Set Conn = GetConnection
  Set RS = Server.CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload1", Conn, 2, 2
  RS.AddNew

    'Store extra form info.
    RS("Description") = Form("Description")
    RS("Title") = Form("Title")

    'Set block size to 64kB
    Const BlockSize = &H10000

    'Process source data using blocks
    Dim BlockCounter, DataBlock
    For BlockCounter = 0 To Form("DBFile").Length Step BlockSize
      'Get a part of source data
      DataBlock = Form("DBFile").ByteArray(BlockCounter, BlockSize)

      'Add a part of source data to the field
      RS("Data").AppendChunk DataBlock
    Next 'BlockCounter
    '

    'Store technical informations
    RS("ContentType") = Form("DBFile").ContentType
    RS("SouceFileName") = Form("DBFile").FileName

    RS("UploadDT") = Now()
  RS.Update
  RS.Close
  Conn.Close
End If'Form.State = 0 then

Function GetConnection1()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=D:\Temp\upload.mdb"
  Conn.CommandTimeout = 1800
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "SQLOLEDB"
  Conn.Open "Data Source=Muj;Database=Upload", "sa", ""
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>

<br>Upload To database, store file using AppendChunk method of RecordSet.
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Suitable For upload of big files And MDB database

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>
Other links for Upload - Upload of large files to database using AppendChunk method of RecordSet

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ContentDisposition Property, read only, FormField class

ContentDisposition

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Content-Disposition header of the field

Syntax

vContentDisposition = FormField.ContentDisposition

Returns

String

Remarks

Defined only for multipart/form-data.

See also

FormField.ContentType, FormField.ContentTransferEncoding, FormField.Headers
Other links for ContentDisposition

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ContentTransferEncoding Property, read only, FormField class

ContentTransferEncoding

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Content-Transfer-Encoding header of the field.

Syntax

vContentTransferEncoding = FormField.ContentTransferEncoding

Returns

String

Remarks

Defined only for multipart/form-data.

See also

FormField.ContentDisposition, FormField.Headers
Other links for ContentTransferEncoding

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ContentType Property, read only, FormField class

ContentType

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Content-Type header of the field

Syntax

vContentType = FormField.ContentType

Returns

String

Remarks

Defined only for multipart/form-data.

See also

FormField.ContentDisposition, FormField.ContentCharSet, FormField.Headers
Other links for ContentType

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FileExt Property, read only, FormField class

FileExt

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Source file extension of the field.

Syntax

vFileExt = FormField.FileExt ([CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.

Returns

String

Remarks

Defined only for <input type=file> and multipart/form-data.

Examples

Upload - Save only images
<%
  'Save images only

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Get an destination path
  Dim DestPath: DestPath = Server.MapPath(".")

  For Each File In Form.Files
    Select Case LCase(File.FileExt)
      Case "gif", "jpg", "jpeg", "bmp", "png":
        File.Save DestPath
        Response.Write "<br>File " & File.FileName & _
      " was saved to " & DestPath
      Case else:
        Response.Write "<br>Bad image file: " & File.FileName
    End Select
  Next
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>Huge-ASP file upload</A>
<br>Save only image source files
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<Div ID=files>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2">
</Div>
<Input Type=Button Value="Add a file" OnClick=return(Expand())
 Style="border=0;background=yellow;cursor:hand"><br>

Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<Script>
var nfiles = 2;
Function Expand(){
  nfiles++
  var adh = '<BR> File '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>

See also

FormField.FileName, FormField.FilePath, FormField.CharSet, FormField.IsFile
Other links for FileExt

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Save only images

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.FileExt

Examples

Upload - Save only images
<%
  'Save images only

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Get an destination path
  Dim DestPath: DestPath = Server.MapPath(".")

  For Each File In Form.Files
    Select Case LCase(File.FileExt)
      Case "gif", "jpg", "jpeg", "bmp", "png":
        File.Save DestPath
        Response.Write "<br>File " & File.FileName & _
      " was saved to " & DestPath
      Case else:
        Response.Write "<br>Bad image file: " & File.FileName
    End Select
  Next
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>Huge-ASP file upload</A>
<br>Save only image source files
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<Div ID=files>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2">
</Div>
<Input Type=Button Value="Add a file" OnClick=return(Expand())
 Style="border=0;background=yellow;cursor:hand"><br>

Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<Script>
var nfiles = 2;
Function Expand(){
  nfiles++
  var adh = '<BR> File '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>
Other links for Upload - Save only images

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FileName Property, read only, FormField class

FileName

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Source file name of the field.

Syntax

vFileName = FormField.FileName ([CharSet as ConvertCodePages = CharSet], [NormalizeFileName as Boolean = true])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.
NormalizeFileName | Boolean | yes | true | True to remove invalid windows filename characters ( \ / : * ? \ " < > | )

Returns

String

Remarks

Defined only for <input type=file> and multipart/form-data.
Name and FileName properties are parsed from Content-Disposition header.

Examples

Upload - Save extra upload info to a database
<%
'Sample file Field-SaveAs.asp
'Store extra upload info to a database
' and file contents to the disk

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Create destination path+filename for the source file.
  Dim DestinationPath, DestinationFileName
  DestinationPath = Server.MapPath(".") & "\"
  DestinationFileName = "~upload-" & Form("SourceFile").FileName

  'Open recordset to store uploaded data
  Dim RS: Set RS = OpenUploadRS

  'Store extra info about upload to database
  RS.AddNew
   RS("UploadDT") = Now()
   RS("Description") = Form.Texts("Description")
   RS("SourceFileName") = DestinationFileName
   '...
  RS.Update

  'Save file to the destination
  Form("SourceFile").SaveAs DestinationPath & DestinationFileName
  '

  Response.Write "<br>Source file names:"
  Dim Field: For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next
End If'Form.State = 0 then

Function OpenUploadRS()
  Dim RS  : Set RS = CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload", GetConnection, 2, 2

  Set OpenUploadRS = RS
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
    Set GetConnection = Conn
End Function

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Store extra upload info To a database
<br> And file contents To the disk
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data">
File1:<input Name=SourceFile Type=File><br>
Description:<input Name=Description><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

See also

FormField.FilePath, FormField.CharSet, FormField.IsFile, FormField.FileExt, FormField.Headers
Other links for FileName

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FilePath Property, read only, FormField class

FilePath

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Full source path of the field.

Syntax

vFilePath = FormField.FilePath ([CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.

Returns

String

Remarks

Defined only for <input type=file> and multipart/form-data.

See also

FormField.FileName, FormField.CharSet, FormField.IsFile, FormField.FileExt
Other links for FilePath

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Header Property, read only, FormField class

Header

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

One of the multipart field header.

Syntax

vHeader = FormField.Header (Name as String, [CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
Name | String |  |  | Name of the field header
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.

Returns

String

Remarks

multipart/form-data usually has Content-Disposition and Content-Type headers.
multipart/related usually has Content-Type and Content-Length headers.

Examples

Multipart - enumerate field headers
  Dim Item, MP' As New FormParser
  Set MP = CreateObject("ScriptUtils.FormParser")

  MP.ProcessMultipartFile "F:\1\test\Seznam.mht"

  For Each Item In MP.Items
    echo "************* n of headers:" & (UBound(Item.Headers) + 1)
    echo Item.Name

    For Each h In Item.Headers
     echo "hname:" & h & ", value: " & Item.Header(h)
    Next

  Next

Sub Echo(co)
    Wscript.Echo TypeName(Co), Len(Co), Co
End Sub

See also

FormField.Headers
Other links for Header

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Multipart - enumerate field headers

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.Headers

Examples

Multipart - enumerate field headers
  Dim Item, MP' As New FormParser
  Set MP = CreateObject("ScriptUtils.FormParser")

  MP.ProcessMultipartFile "F:\1\test\Seznam.mht"

  For Each Item In MP.Items
    echo "************* n of headers:" & (UBound(Item.Headers) + 1)
    echo Item.Name

    For Each h In Item.Headers
     echo "hname:" & h & ", value: " & Item.Header(h)
    Next

  Next

Sub Echo(co)
    Wscript.Echo TypeName(Co), Len(Co), Co
End Sub
Other links for Multipart - enumerate field headers

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Headers Property, read only, FormField class

Headers

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Array of multipart header names.

Syntax

vHeaders = FormField.Headers

Returns

Array

Remarks

Let's you enumarate field headers.

Examples

Multipart - enumerate field headers
  Dim Item, MP' As New FormParser
  Set MP = CreateObject("ScriptUtils.FormParser")

  MP.ProcessMultipartFile "F:\1\test\Seznam.mht"

  For Each Item In MP.Items
    echo "************* n of headers:" & (UBound(Item.Headers) + 1)
    echo Item.Name

    For Each h In Item.Headers
     echo "hname:" & h & ", value: " & Item.Header(h)
    Next

  Next

Sub Echo(co)
    Wscript.Echo TypeName(Co), Len(Co), Co
End Sub

See also

FormField.Name, FormField.ContentDisposition, FormField.ContentType, FormField.ContentTransferEncoding, FormField.FileName, FormField.ContentCharSet, FormField.Header
Other links for Headers

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


HexString Property, read only, FormField class

HexString

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Returns hexadecimal-string representation (base16 string) of a form field value. Usefull for SQL block insertion.

Syntax

FormField.HexString ([Start as Long = Start of field], [Length as Long = Length of field])
Where | Type | Optional | Default | Description
Start | Long | yes | Start of field | Start position to return binary data as HexString
Length | Long | yes | Length of field | Length of source data to return

Remarks

See also live sample of this method at Online sample of a HexString conversion texts and files for SQL commands page.

Examples

Upload - Check file contents to ensure the field is really an image
Upload - Using a HexString property and Insert statement
Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement

See also

ByteArray.HexString, FormField.String, FormField.ByteArray
Other links for HexString

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Check file contents to ensure the field is really an image

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.String

Examples

This function checks the uploaded file contents to ensure that the file is an image. You can check extension of the file or content-type. If the content-type begins with 'image/' or extension is in imageExts, the file is probably an image.
But - someone can rename an .exe file and send the file as 'image'. So a second part of the check function tests file contents for usual characteristics of image files. You can use String or HexString property to get a part of contents of the file and compare it with image file characteristics.
You can use this function to check other file types (compressed, executable, …) also.
These tables are from Richard Ogley's pages.

Jump to: Image files | Compressed files | Archive files | Executable files | Miscellaneous files

Image files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
Bitmap format | .bmp | 42 4d | BM
FITS format | .fits | 53 49 4d 50 4c 45 | SIMPLE
GIF format | .gif | 47 49 46 38 | GIF8
Graphics Kernel System | .gks | 47 4b 53 4d | GKSM
IRIS rgb format | .rgb | 01 da | ..
ITC (CMU WM) format | .itc | f1 00 40 bb | ....
JPEG File Interchange Format | .jpg | ff d8 ff e0 | ....
NIFF (Navy TIFF) | .nif | 49 49 4e 31 | IIN1
PM format | .pm | 56 49 45 57 | VIEW
PNG format | .png | 89 50 4e 47 | .PNG
Postscript format | .[e]ps | 25 21 | %!
Sun Rasterfile | .ras | 59 a6 6a 95 | Y.j.
Targa format | .tga | xx xx xx | ...
TIFF format (Motorola - big endian) | .tif | 4d 4d 00 2a | MM.*
TIFF format (Intel - little endian) | .tif | 49 49 2a 00 | II*.
X11 Bitmap format | .xbm | xx xx |
XCF Gimp file structure | .xcf | 67 69 6d 70 20 78 63 66 20 76 | gimp xcf
Xfig format | .fig | 23 46 49 47 | #FIG
XPM format | .xpm | 2f 2a 20 58 50 4d 20 2a 2f | /* XPM */

Compressed files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
Bzip | .bz | 42 5a | BZ
Compress | .Z | 1f 9d | ..
gzip format | .gz | 1f 8b | ..
pkzip format | .zip | 50 4b 03 04 | PK..

Archive files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
TAR (pre-POSIX) | .tar | xx xx | (a filename)
TAR (POSIX) | .tar | 75 73 74 61 72 | ustar (offset by 257 bytes)

Excecutable files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
MS-DOS, OS/2 or MS Windows |  | 4d 5a | MZ
Unix elf |  | 7f 45 4c 46 | .ELF

Miscellaneous files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
pgp public ring |  | 99 00 | ..
pgp security ring |  | 95 01 | ..
pgp security ring |  | 95 00 | ..
pgp encrypted data |  | a6 00 | ¦.
Upload - Check file contents to ensure the field is really an image
Const imageExts = ".gif,.jpg,.png,.jpeg,.bmp"
…

'This function checks filename and CONTENTS of a field
'to recognize images
Function IsImage(Field)
  If Instr(1, imageExts & ",", Field.FileExt & ",", 1)>0 _
    Or Left(Field.ContentType, 5) = "image" Then

    ' FFD8FF = JFIF
    ' 49492A00 = TIF
    If Field.HexString (0,3)="FFD8FF" Or Field.HexString (0,4)="49492A00" _
    Or Field.String(,6,4)="JFIF" Or Field.String(,0,3)="GIF" _
    Or Field.String(,1,3)="PNG"  Or Field.String(,0,2)="BM" Then
      IsImage = True
    End If
  End If
End Functio
Other links for Upload - Check file contents to ensure the field is really an image

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Using a HexString property and Insert statement

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.HexString

Examples

Upload - Using a HexString property and Insert statement
<%
'Sample file db-HexString.asp
'Upload to MS SQL database, store file using HexString method and Insert statement
'Suitable for upload of small files (up to 20% of memory)
'   and MS SQL databse (MS SQL 6.5 - MS SQL 2000)

Server.ScriptTimeout = 36000

'Upload large files to MS SQL Server using HexString
Dim d: D="" & time: d=Replace(d,":","")

'CreateUploadTable GetConnection

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Form.TempPath = "h:\temp"
'was the Form successfully received?
If Form.State = 0 Then
  Dim Conn, SQL, RS, UploadID
  'Open connection to database
  Set Conn = GetConnection

  'Create template of insert statement
  SQL = "SET NOCOUNT ON Insert into Upload(UploadDT, ContentType, SouceFileName, Title, [Description], Data) values("
  SQL = SQL & "GetDate()"
  SQL = SQL & ", '" & Form("DBFile").ContentType & "'"
  SQL = SQL & ",  '" & Form("DBFile").FileName & "'"
  SQL = SQL & ",  '" & Form("Title") & "'"
  SQL = SQL & ",  '" & Form("Description") & "'"
  SQL = SQL & ",0x%s)" & vbCrLf
  SQL = SQL & "Select @@IDENTITY as UploadID"

  'Write source file to the Insert statement as a HexString
  SQL = Replace(SQL, "%s", Form("DBFile").HexString)
  '

  Set RS = Conn.Execute(SQL)
    UploadID = RS("UploadID")
  RS.Close

  Conn.Close
Else
  Response.Write "<br>Form.State:" & Form.State
End If'Form.State = 0 then

Function GetConnection1()
  'Open connection to MDB using Microsoft.Jet.OLEDB.4.0
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.CommandTimeout = 1800
  Conn.Open "Data Source=" & Server.MapPath("upload.mdb")
  Set GetConnection = Conn
End Function

Function GetConnection()
  'Open connection to MS SQL using SQLOLEDB
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "SQLOLEDB"
  Conn.Open "Data Source=(local);Database=Upload", "sa", ""
  Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "  UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "  UploadDT datetime NULL ,"
  SQL = SQL & "  RemoteIP char (15) NULL ,"
  SQL = SQL & "  ContentType char (64) NULL ,"
  SQL = SQL & "  SouceFileName varchar (255) NULL ,"
  SQL = SQL & "  Title varchar (255) NULL ,"
  SQL = SQL & "  Description text NULL ,"
  SQL = SQL & "  Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>
<br>Upload To MS SQL database, store file using HexString method And Insert statement
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Suitable For upload of small files (up To 20% of memory) And MS SQL databse (MS SQL 6.5 - MS SQL 2000)

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>
Other links for Upload - Using a HexString property and Insert statement

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Index Property, read only, FormField class

Index

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Index of the field in a source form collection.

Syntax

vIndex = FormField.Index

Returns

Long

Remarks

Index is based to 1 (for compatibility with Request.Form)

See also

FormFields.Item
Other links for Index

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


InProgress Property, read only, FormField class

InProgress

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

True, if the form is reading source data stream, False otherwise.

Syntax

vInProgress = FormField.InProgress

Returns

Boolean

See also

ASPForm.State
Other links for InProgress

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


IsFile Property, read only, FormField class

IsFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

True if the form field is file. False for text field.

Syntax

vIsFile = FormField.IsFile

Returns

Boolean

See also

FormField.FileName, FormField.FilePath, FormField.FileExt
Other links for IsFile

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Length Property, read only, FormField class

Length

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Length of the field.

Syntax

vLength = FormField.Length

Returns

Long

See also

FormField.SourceLength
Other links for Length

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Name Property, read only, FormField class

Name

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Name of the source field

Syntax

vName = FormField.Name ([CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.

Returns

String

Remarks

You can specify character set using ScriptUtils.ASPForm.CharSet property for whole form or using ScriptUtils.FormField.CharSet property for this field.
Name and FileName properties are parsed from Content-Disposition header.

Examples

Upload - Write names of all form fields
<%
'Sample file Field-Name.asp
'Enumerate all source fields and write its names
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
'was the Form successfully received?
If Form.State = 0 Then

  Response.Write "<br>Form.Items.Count:" & Form.Items.Count

  For Each Item In Form
    Dim I:I = I + 1
    Response.Write "<br><br>Item no.:" & I
    Response.Write "<br>Length:" & Item.Length
    'Write name of the source field
    Response.Write "<br>Name:" & Item.Name
    '
  Next
End If'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1 Value="Some description"><br>
<input Type=CheckBox Checked Name=Check1 Value="abcdefgh">Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

See also

FormField.CharSet, FormField.Headers
Other links for Name

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Write names of all form fields

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.Name

Examples

Upload - Write names of all form fields
<%
'Sample file Field-Name.asp
'Enumerate all source fields and write its names
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
'was the Form successfully received?
If Form.State = 0 Then

  Response.Write "<br>Form.Items.Count:" & Form.Items.Count

  For Each Item In Form
    Dim I:I = I + 1
    Response.Write "<br><br>Item no.:" & I
    Response.Write "<br>Length:" & Item.Length
    'Write name of the source field
    Response.Write "<br>Name:" & Item.Name
    '
  Next
End If'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1 Value="Some description"><br>
<input Type=CheckBox Checked Name=Check1 Value="abcdefgh">Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>
Other links for Upload - Write names of all form fields

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


RAWHeader Property, read only, FormField class

RAWHeader

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Full source text of multipart/form-data header.

Syntax

vRAWHeader = FormField.RAWHeader ([CharSet as ConvertCodePages = CharSet])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.

Returns

String
Other links for RAWHeader

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SourceLength Property, read only, FormField class

SourceLength

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Length of field in source data.

Syntax

vSourceLength = FormField.SourceLength

Returns

Long

Remarks

The field may be encoded (x-www-form-urlencoded) or compressed, so SourceLength may be different from Length.

See also

FormField.Length
Other links for SourceLength

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


String Default Property, read only, FormField class

String

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Default Property, read only
Member of ScriptUtils.FormField

Description

Returns string representation of form field value. This is default value of a form field.

Syntax

vString = FormField.String ([CharSet as ConvertCodePages = CharSet], [Start as Long = Start of field], [Length as Long = Length of field])
Where | Type | Optional | Default | Description
CharSet | ConvertCodePages | yes | CharSet | String or numeric (ConvertCodePages) expression that describes the character set of the property.
Start | Long | yes | Start of field | Start position to return string data
Length | Long | yes | Length of field | Length of source data to return

Returns

String

Remarks

Source forms are usually encoded using ANSI code page.
You can use ScriptUtils.ConvertCodePages constants or Content-Type charset string representation to specify CodePage parameter, if your form is encoded using another code page,

Examples

Upload - Check file contents to ensure the field is really an image
Upload - Write contents of all text form fields
<%
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  Response.Write "<br>Form.Items.Count:" & Form.Items.Count

  For Each Item In Form.Texts
    I = I + 1
    Response.Write "<br><br>Item no.:" & I

    'Write contents of the field.
    Response.Write "<br>Field Contents:" & Item.String

    'String is default property of FormField, so you can write
    Response.Write "<br>Field Contents:" & Item

  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name="Description1" Value="Text in field Description 1"><br>
<input Name="Description2" Value="Text in field Description 2"><br>
<input Value="Submit >>" Type=Submit><br>
</Form>

Form output:
Form.Items.Count:2

Item no.:1
Field Contents:Text In field Description 1
Field Contents:Text In field Description 1

Item no.:2
Field Contents:Text In field Description 2
Field Contents:Text In field Description 2
Upload - Use x-mac-ce code page for form data.
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  'Set response.ContentType to x-mac-ce
  If Form.Items.Count=0 Then
    Response.CharSet = "x-mac-ce"
  Else
    Response.Write "<br>Form.Items.Count:" & Form.Items.Count

    For Each Item In Form.Texts
      I = I + 1
      Response.Write "<br><br>Item no.:" & I
      Response.Write "<br>Length:" & Item.Length

      'Item.Name returns name of the source field encoded using x-mac-ce
      'you will see right characters if response.CharSet is set to "x-mac-ce"
      Response.Write "<br>Name:" & Item.Name

      'You can decode the name from x-mac-ce charset
      Response.Write "<br>Name encoded with x-mac-ce:" & Item.Name("x-mac-ce")

      'Same conversion for value of field.
      Response.Write "<br>Value:" & Item.Value.String
      Response.Write "<br>Value encoded with x-mac-ce:" & Item.Value.String("x-mac-ce")
    Next
  End If
%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name="Description1" Value="Text1"><br>
<input Name="Description2" Value="Text2"><br>
<input Value="Submit >>" Type=Submit><br>
</Form>

See also

FormField.ByteArray, FormField.HexString, FormField.CharSet
Other links for String

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Use x-mac-ce code page for form data.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.String

Examples

Upload - Use x-mac-ce code page for form data.
<%

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  'Set response.ContentType to x-mac-ce
  If Form.Items.Count=0 Then
    Response.CharSet = "x-mac-ce"
  Else
    Response.Write "<br>Form.Items.Count:" & Form.Items.Count

    For Each Item In Form.Texts
      I = I + 1
      Response.Write "<br><br>Item no.:" & I
      Response.Write "<br>Length:" & Item.Length

      'Item.Name returns name of the source field encoded using x-mac-ce
      'you will see right characters if response.CharSet is set to "x-mac-ce"
      Response.Write "<br>Name:" & Item.Name

      'You can decode the name from x-mac-ce charset
      Response.Write "<br>Name encoded with x-mac-ce:" & Item.Name("x-mac-ce")

      'Same conversion for value of field.
      Response.Write "<br>Value:" & Item.Value.String
      Response.Write "<br>Value encoded with x-mac-ce:" & Item.Value.String("x-mac-ce")
    Next
  End If
%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name="Description1" Value="Text1"><br>
<input Name="Description2" Value="Text2"><br>
<input Value="Submit >>" Type=Submit><br>
</Form>
Other links for Upload - Use x-mac-ce code page for form data.

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Write contents of all text form fields

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormField.String

Examples

Upload - Write contents of all text form fields
<%
  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  Response.Write "<br>Form.Items.Count:" & Form.Items.Count

  For Each Item In Form.Texts
    I = I + 1
    Response.Write "<br><br>Item no.:" & I

    'Write contents of the field.
    Response.Write "<br>Field Contents:" & Item.String

    'String is default property of FormField, so you can write
    Response.Write "<br>Field Contents:" & Item

  Next

%>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name="Description1" Value="Text in field Description 1"><br>
<input Name="Description2" Value="Text in field Description 2"><br>
<input Value="Submit >>" Type=Submit><br>
</Form>

Form output:
Form.Items.Count:2

Item no.:1
Field Contents:Text In field Description 1
Field Contents:Text In field Description 1

Item no.:2
Field Contents:Text In field Description 2
Field Contents:Text In field Description 2
Other links for Upload - Write contents of all text form fields

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Value Property, read only, FormField class

Value

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormField

Description

Returns this form field. Included for compatibility with previous versions of ScriptUtilities or PureASP upload.

Syntax

Set vValue = FormField.Value

Returns

FormField - One form field. Member of FormFields collection.
Other links for Value

Methods of FormField class

ContentCharSet, Save, SaveAs

Properties of FormField class

ByteArray, ContentDisposition, ContentTransferEncoding, ContentType, FileExt, FileName, FilePath, Header, Headers, HexString, CharSet, Index, InProgress, IsFile, Length, Name, RAWHeader, SourceLength, String, Value

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormFields Class

FormFields

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use FormFields object

Description

Contains collection of document fields of files.

Object model

FormFields - Contains collection of document fields of files. (Items property, Collection of all form fields (plain form fields and files))
FormField - One form field. Member of FormFields collection. (Item property, Returns a specific member of a FormFields collection either by position or by key.)
FormFields - Contains collection of document fields of files. (Files property, Collection of all files in the source document.)
FormFields - Contains collection of document fields of files. (Texts property, Collection of all fields except files in the source document.)

Methods

Save Lets you save all form fields in the source collection to the specified path.

Properties

Count | Number of fields in the collection.
Long, RO
Files | Collection of all files in the source document.
FormFields, RO
Item | Returns a specific member of a FormFields collection either by position or by key.
Variant, RO
Items | Collection of all fields as an Array to enumerate form data in Jscript.
Array, RO
MultiItem | Returns a specific multiselect field from the FormFields by key.
FormFields, RO
Texts | Collection of all fields except files in the source document.
FormFields, RO

Used in

ASPForm.Items, ASPForm.Files, ASPForm.Texts, FormFields.Files, FormFields.Texts, FormFields.MultiItem, FormParser.Items
Other links for FormFields class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Save Method, FormFields class

Save

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormFields

Description

Lets you save all form fields in the source collection to the specified path.

Syntax

FormFields.Save (Path as String, [NormalizeFileName as Boolean = true])
Where | Type | Optional | Default | Description
Path | String |  |  | Destination path to save fields.
NormalizeFileName | Boolean | yes | true | True to remove invalid windows filename characters ( \ / : * ? \ " < > | )

Remarks

- Save method creates Path if the Path does not exists.

Examples

Upload - Save all source files to the specified path
Other links for Save

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Save all source files to the specified path

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormFields.Save

Examples

Upload - Save all source files to the specified path
<%
'Sample file Fields-Save.asp
' Save all source files to one destination folder.
'
Option Explicit
'Get an destination path
Dim DestPath: DestPath = Server.MapPath("UploadFolder")

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  'Save all source files to the path
  Form.Files.Save DestPath
  '

  Response.Write "<br>Files was saved to " & DestPath & " folder."

End If'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>This sample saves source files To '<%=DestPath%>' folder.

<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<Div ID=files>
   File 1 : <input type="file" name="File1"><br>
   File 2 : <input type="file" name="File2">
</Div>
<Input Type=Button Value="Add a file" OnClick=return(Expand())
 Style="border=0;background=yellow;cursor:hand"><br>

Description:<input Name=Description1><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<Script>
var nfiles = 2;
Function Expand(){
  nfiles++
  var adh = '<BR> File '+nfiles+' : <input type="file" name="File'+nfiles+'">';
  files.insertAdjacentHTML('BeforeEnd',adh);
  return false;
}
</Script>
Other links for Upload - Save all source files to the specified path

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Count Property, read only, FormFields class

Count

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Number of fields in the collection.

Syntax

vCount = FormFields.Count ([Index as Variant = All form fields])
Where | Type | Optional | Default | Description
Index | Variant | yes | All form fields | Field name or index.

Returns

Long

Remarks

Returns a number of all fields in this collection if Index is not specified.
Returns a number of fields specified by Index from FormFields collection either by position or by key.

Examples

Upload - Count number of source fields with a specified name
<%
'Sample file Fields-Count.asp
' Sample for Count property

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  Dim Field, Index

  Response.Write "<br>Count of Check1:" & Form.Items.Count("Check1")
  Response.Write "<br>Count of Check2:" & Form.Items.Count("Check2")
  Response.Write "<br>Count of Check3:" & Form.Items.Count("Check3")
  Response.Write "<br>Count of Select field:" & Form.Items.Count("Select field")

  Response.Write "<br>"
  Response.Write "<br>Count of file fields:" & Form.Files.Count
  Response.Write "<br>Count of text fields:" & Form.Texts.Count

  Response.Write "<br>"
  Response.Write "<br>Count of field no.1:" & Form.Items.Count(1)
  Response.Write "<br>Count of field no.28:" & Form.Items.Count(28)
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Sample For Count property
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2" SELECTED>Option 2
  <OPTION VALUE="Option 3" SELECTED>Option 3
  <OPTION VALUE="Option 4">Option 4
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Count of Check1:2
Count of Check2:1
Count of Check3:0
Count of Select field:3

Count of file fields:1
Count of text fields:8

Count of field no.1:1
Count of field no.28:0

See also

FormFields.Item
Other links for Count

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Count number of source fields with a specified name

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormFields.Count

Examples

Upload - Count number of source fields with a specified name
<%
'Sample file Fields-Count.asp
' Sample for Count property

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  Dim Field, Index

  Response.Write "<br>Count of Check1:" & Form.Items.Count("Check1")
  Response.Write "<br>Count of Check2:" & Form.Items.Count("Check2")
  Response.Write "<br>Count of Check3:" & Form.Items.Count("Check3")
  Response.Write "<br>Count of Select field:" & Form.Items.Count("Select field")

  Response.Write "<br>"
  Response.Write "<br>Count of file fields:" & Form.Files.Count
  Response.Write "<br>Count of text fields:" & Form.Texts.Count

  Response.Write "<br>"
  Response.Write "<br>Count of field no.1:" & Form.Items.Count(1)
  Response.Write "<br>Count of field no.28:" & Form.Items.Count(28)
End If'Form.State = 0 then

%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Sample For Count property
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2" SELECTED>Option 2
  <OPTION VALUE="Option 3" SELECTED>Option 3
  <OPTION VALUE="Option 4">Option 4
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Count of Check1:2
Count of Check2:1
Count of Check3:0
Count of Select field:3

Count of file fields:1
Count of text fields:8

Count of field no.1:1
Count of field no.28:0
Other links for Upload - Count number of source fields with a specified name

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Files Property, read only, FormFields class

Files

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Collection of all files in the source document.

Syntax

Set vFiles = FormFields.Files

Returns

FormFields - Contains collection of document fields of files.
Other links for Files

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Item Property, read only, FormFields class

Item

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Returns a specific member of a FormFields collection either by position or by key.

Syntax

vItem = FormFields.Item (Index as Variant)
Where | Type | Optional | Default | Description
Index | Variant |  |  | Field name or index.

Returns

Variant

Returns

Return value depends on number of source document fields with the same name.
- one ScriptUtils.FormField if the index is a numeric expression
- one ScriptUtils.FormField if the index is a name of a source field and source form contains the name of the souce field only one time.
- ScriptUtils.FormFields collection if index is a name of multiselect field (source form contains the name more than once).
- Empty ScriptUtils.FormField if the name does not match any name of field from the source form.

You can use ScriptUtils.FormFields.Count property to get a number of form items with specified name in the source form.

Remarks

Index is based to 1 (for compatibility with Request.Form).
Use ScriptUtils.FormFields.MultiItem property instead of ScriptUtils.FormFields.Item property to enumerate MULTIPLE SELECT fields.

Examples

Upload - Enumerate source fields using index
<%
'Sample file Fields-Item.asp
'Enumerate and access source form fields using For-Each
' and using Item(Index)
Option Explicit

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  Dim Field, Index

  Response.Write "<br>Enumerate source fields using For Each"
  For Each Field In Form
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length & ", Value:" & Field
  Next

  Response.Write "<br>Enumerate source fields using index"
  For Index = 1 To Form.Items.Count
    Set Field = Form.Items(Index)
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length & ", Value:" & Field
  Next
End If'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<form method="POST">
<input Type=Submit>
</Form>

Script output:

Enumerate source fields using For Each
 SourceFile1,Length:0, Value:
 SourceFile2,Length:0, Value:
 Description1,Length:0, Value:
 Check1,Length:2, Value:on
 Check1,Length:2, Value:on
 Check2,Length:2, Value:on
 Select field,Length:8, Value:Option 1
 SubmitButton,Length:9, Value:Submit >>
Enumerate source fields using index
 SourceFile1,Length:0, Value:
 SourceFile2,Length:0, Value:
 Description1,Length:0, Value:
 Check1,Length:2, Value:on
 Check1,Length:2, Value:on
 Check2,Length:2, Value:on
 Select field,Length:8, Value:Option 1
 SubmitButton,Length:9, Value:Submit >>

See also

FormFields.Count, FormField.Index, FormFields.MultiItem
Other links for Item

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Enumerate source fields using index

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormFields.Item

Examples

Upload - Enumerate source fields using index
<%
'Sample file Fields-Item.asp
'Enumerate and access source form fields using For-Each
' and using Item(Index)
Option Explicit

'Create upload form
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then

  Dim Field, Index

  Response.Write "<br>Enumerate source fields using For Each"
  For Each Field In Form
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length & ", Value:" & Field
  Next

  Response.Write "<br>Enumerate source fields using index"
  For Index = 1 To Form.Items.Count
    Set Field = Form.Items(Index)
    Response.Write "<br> " & Field.Name & ",Length:" & Field.Length & ", Value:" & Field
  Next
End If'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<input Name=Description1><br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check1>Check 1<br>
<input Type=CheckBox Checked Name=Check2>Check 2<br>
<SELECT NAME="Select field" SIZE="1">
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 1">Option 2
  <OPTION VALUE="Option 1" SELECTED>Option 3
</SELECT><br>
<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

<form method="POST">
<input Type=Submit>
</Form>

Script output:

Enumerate source fields using For Each
 SourceFile1,Length:0, Value:
 SourceFile2,Length:0, Value:
 Description1,Length:0, Value:
 Check1,Length:2, Value:on
 Check1,Length:2, Value:on
 Check2,Length:2, Value:on
 Select field,Length:8, Value:Option 1
 SubmitButton,Length:9, Value:Submit >>
Enumerate source fields using index
 SourceFile1,Length:0, Value:
 SourceFile2,Length:0, Value:
 Description1,Length:0, Value:
 Check1,Length:2, Value:on
 Check1,Length:2, Value:on
 Check2,Length:2, Value:on
 Select field,Length:8, Value:Option 1
 SubmitButton,Length:9, Value:Submit >>
Other links for Upload - Enumerate source fields using index

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Items Property, read only, FormFields class

Items

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Collection of all fields as an Array to enumerate form data in Jscript.

Syntax

vItems = FormFields.Items

Returns

Array

Remarks

Items property returns an array of items. You can use it to enumarate this collection in JavaScript/JScript or in Delphi.
You can also use it for 'for each … in ' enumeration in PureASP upload.
Other links for Items

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MultiItem Property, read only, FormFields class

MultiItem

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Returns a specific multiselect field from the FormFields by key.

Syntax

Set vMultiItem = FormFields.MultiItem (Name as String)
Where | Type | Optional | Default | Description
Name | String |  |  | Name of the source field.

Returns

FormFields - Contains collection of document fields of files.

Remarks

MultiItem has a similar functionality as an Item property, but always returns FormFields collection. Use ScriptUtils.FormFields.MultiItem property instead of ScriptUtils.FormFields.Item property to enumerate MULTIPLE SELECT fields.

Examples

Multiselect fields (non-unique field names)
<%
'Sample file Form-MultiItem.asp
'Use MultiItem to enumerate MULTIPLE SELECT fields
  Option Explicit

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  If Form.State = 0 Then
    Dim Field

    'You can use MultiItem property to access collection of MULTIPLE SELECT form field
    Response.Write "<br>Number of 'NoSelect' fields in the source form:" & Form.Items.MultiItem("NoSelect").Count
    Response.Write "<br>Number of 'SelectOne' fields in the source form:" & Form.Items.MultiItem("SelectOne").Count
    Response.Write "<br>Number of 'SelectMore' fields in the source form:" & Form.Items.MultiItem("SelectMore").Count

    'You can use both MultiItem and Item property to access a value of MULTIPLE SELECT form field

    'Form.Items.MultiItem(...) returns Items collection, the collection values are converted to a string.
    Response.Write "<br>Value of 'NoSelect' field in the source form:" & Form.Items.MultiItem("NoSelect")
    Response.Write "<br>Value of 'SelectOne' field in the source form:" & Form.Items.MultiItem("SelectOne")
    Response.Write "<br>Value of 'SelectMore' field in the source form:" & Form.Items.MultiItem("SelectMore")

    'Form.Items("NoSelect") returns empty
    Response.Write "<br>Value of 'NoSelect' field in the source form:" & Form("NoSelect")
    'Form.Items("SelectOne") returns one field, which is evaluated to a string
    Response.Write "<br>Value of 'SelectOne' field in the source form:" & Form("SelectOne")
    'Form.Items("SelectMore") returns three fields, which are enumerated and evaluated to a string
    Response.Write "<br>Value of 'SelectMore' field in the source form:" & Form("SelectMore")

    'You cannot use Item property to enumerate MULTIPLE SELECT field.
    'Return type of Item Collection depends on number of form fields with specified name in the source document.
    'Use MultiItem property to enumerate MULTIPLE SELECT fields.

    'Form.Items.MultiItem("NoSelect") contains no field
    For Each Field In Form.Items.MultiItem("NoSelect")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next

    'Form.Items.MultiItem("NoSelect") contains one field
    For Each Field In Form.Items.MultiItem("SelectOne")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next

    'Form.Items.MultiItem("NoSelect") contains three field
    For Each Field In Form.Items.MultiItem("SelectMore")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next
  End If 'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Use MultiItem To enumerate MULTIPLE SELECT fields
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<SELECT NAME="NoSelect" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 2">Option 2
  <OPTION VALUE="Option 3">Option 3
</SELECT><br>

<SELECT NAME="SelectOne" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2">Option 2
  <OPTION VALUE="Option 3">Option 3
</SELECT><br>

<SELECT NAME="SelectMore" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2" SELECTED>Option 2
  <OPTION VALUE="Option 3" SELECTED>Option 3
</SELECT><br>

<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:
Number of 'NoSelect' fields in the source form:0
Number of 'SelectOne' fields in the source form:1
Number of 'SelectMore' fields in the source form:3
Value of 'NoSelect' field in the source form:
Value of 'SelectOne' field in the source form:Option 1
Value of 'SelectMore' field in the source form:Option 1, Option 2, Option 3
Value of 'NoSelect' field in the source form:
Value of 'SelectOne' field in the source form:Option 1
Value of 'SelectMore' field in the source form:Option 1, Option 2, Option 3
 SelectOne, Length:8, Value:Option 1
 SelectMore, Length:8, Value:Option 1
 SelectMore, Length:8, Value:Option 2
 SelectMore, Length:8, Value:Option 3

See also

FormFields.Item
Other links for MultiItem

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Multiselect fields (non-unique field names)

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormFields.MultiItem

Examples

Multiselect fields (non-unique field names)
<%
'Sample file Form-MultiItem.asp
'Use MultiItem to enumerate MULTIPLE SELECT fields
  Option Explicit

  Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

  If Form.State = 0 Then
    Dim Field

    'You can use MultiItem property to access collection of MULTIPLE SELECT form field
    Response.Write "<br>Number of 'NoSelect' fields in the source form:" & Form.Items.MultiItem("NoSelect").Count
    Response.Write "<br>Number of 'SelectOne' fields in the source form:" & Form.Items.MultiItem("SelectOne").Count
    Response.Write "<br>Number of 'SelectMore' fields in the source form:" & Form.Items.MultiItem("SelectMore").Count

    'You can use both MultiItem and Item property to access a value of MULTIPLE SELECT form field

    'Form.Items.MultiItem(...) returns Items collection, the collection values are converted to a string.
    Response.Write "<br>Value of 'NoSelect' field in the source form:" & Form.Items.MultiItem("NoSelect")
    Response.Write "<br>Value of 'SelectOne' field in the source form:" & Form.Items.MultiItem("SelectOne")
    Response.Write "<br>Value of 'SelectMore' field in the source form:" & Form.Items.MultiItem("SelectMore")

    'Form.Items("NoSelect") returns empty
    Response.Write "<br>Value of 'NoSelect' field in the source form:" & Form("NoSelect")
    'Form.Items("SelectOne") returns one field, which is evaluated to a string
    Response.Write "<br>Value of 'SelectOne' field in the source form:" & Form("SelectOne")
    'Form.Items("SelectMore") returns three fields, which are enumerated and evaluated to a string
    Response.Write "<br>Value of 'SelectMore' field in the source form:" & Form("SelectMore")

    'You cannot use Item property to enumerate MULTIPLE SELECT field.
    'Return type of Item Collection depends on number of form fields with specified name in the source document.
    'Use MultiItem property to enumerate MULTIPLE SELECT fields.

    'Form.Items.MultiItem("NoSelect") contains no field
    For Each Field In Form.Items.MultiItem("NoSelect")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next

    'Form.Items.MultiItem("NoSelect") contains one field
    For Each Field In Form.Items.MultiItem("SelectOne")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next

    'Form.Items.MultiItem("NoSelect") contains three field
    For Each Field In Form.Items.MultiItem("SelectMore")
      Response.Write "<br> " & Field.Name & ", Length:" & Field.Length & ", Value:" & Field
    Next
  End If 'Form.State = 0 then
%>
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Use MultiItem To enumerate MULTIPLE SELECT fields
<form name="file_upload" method="POST" ENCTYPE="multipart/form-data" >
<input Name=SourceFile1 Type=File><br>
<input Name=SourceFile2 Type=File><br>
<SELECT NAME="NoSelect" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1">Option 1
  <OPTION VALUE="Option 2">Option 2
  <OPTION VALUE="Option 3">Option 3
</SELECT><br>

<SELECT NAME="SelectOne" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2">Option 2
  <OPTION VALUE="Option 3">Option 3
</SELECT><br>

<SELECT NAME="SelectMore" SIZE="4" MULTIPLE>
  <OPTION VALUE="Option 1" SELECTED>Option 1
  <OPTION VALUE="Option 2" SELECTED>Option 2
  <OPTION VALUE="Option 3" SELECTED>Option 3
</SELECT><br>

<input Name=SubmitButton Value="Submit >>" Type=Submit><br>
</Form>

Script output:
Number of 'NoSelect' fields in the source form:0
Number of 'SelectOne' fields in the source form:1
Number of 'SelectMore' fields in the source form:3
Value of 'NoSelect' field in the source form:
Value of 'SelectOne' field in the source form:Option 1
Value of 'SelectMore' field in the source form:Option 1, Option 2, Option 3
Value of 'NoSelect' field in the source form:
Value of 'SelectOne' field in the source form:Option 1
Value of 'SelectMore' field in the source form:Option 1, Option 2, Option 3
 SelectOne, Length:8, Value:Option 1
 SelectMore, Length:8, Value:Option 1
 SelectMore, Length:8, Value:Option 2
 SelectMore, Length:8, Value:Option 3
Other links for Multiselect fields (non-unique field names)

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Texts Property, read only, FormFields class

Texts

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.FormFields

Description

Collection of all fields except files in the source document.

Syntax

Set vTexts = FormFields.Texts

Returns

FormFields - Contains collection of document fields of files.
Other links for Texts

Methods of FormFields class

Save

Properties of FormFields class

Count, Files, Item, Items, MultiItem, Texts

ScriptUtils.FormFields

Contains collection of document fields of files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormParser Class

FormParser

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use FormParser object

Description

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

Methods

ProcessBlock | Process part of source form data.
ProcessMultipartFile | Lets you parse multipart files (.mht, .msg, etc.) to fields.

Properties

Boundary | Boundary for multipart/form-data stream.
String, RW
FormType | Specifies form type for parsed data.
eFormType, RW
CharSet | String or numeric (ConvertCodePages) expression that describes the character set used for the request data. If no value is supplied, source form string data are interpreted using ANSI codepage.
ConvertCodePages, RW
MaxMemoryStorage | Maximum size of source data stored in memory. Data are stored in Temp folder (ScriptUtils.ASPForm.TempPath) if the source data size exceeds this value.
Long, RW
TempPath | Path to store form data during read of form (upload) on server-side.
String, RW
Items | Collection of all form fields (plain form fields and files)
FormFields, RO

Examples

Upload - Form parser and VBA 6
Other links for FormParser class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ProcessBlock Method, FormParser class

ProcessBlock

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormParser

Description

Process part of source form data.

Syntax

FormParser.ProcessBlock (Block as Variant, [LastBlock as Boolean = True])
Where | Type | Optional | Default | Description
Block | Variant |  |  | String or binary representation of block data.
LastBlock | Boolean | yes | True | True for last block, False otherwise
Other links for ProcessBlock

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ProcessMultipartFile Method, FormParser class

ProcessMultipartFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.FormParser

Description

Lets you parse multipart files (.mht, .msg, etc.) to fields.

Syntax

FormParser.ProcessMultipartFile (FileName as String, [ProcessHeaders as Boolean = True])
Where | Type | Optional | Default | Description
FileName | String |  |  | Full path of file to process
ProcessHeaders | Boolean | yes | True | Multipart file contains headers at beginning
Other links for ProcessMultipartFile

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Boundary Property, FormParser class

Boundary

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormParser

Description

Boundary for multipart/form-data stream.

Syntax

vBoundary = FormParser.Boundary
FormParser.Boundary = vBoundary

Returns

String
Other links for Boundary

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormType Property, FormParser class

FormType

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormParser

Description

Specifies form type for parsed data.

Syntax

vFormType = FormParser.FormType
FormParser.FormType = vFormType

Returns

eFormType - Form type for ASPForm and FormParser objects.

See also

ASPForm.FormType
Other links for FormType

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CharSet Property, FormParser class

CharSet

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormParser

Description

String or numeric (ConvertCodePages) expression that describes the character set used for the request data. If no value is supplied, source form string data are interpreted using ANSI codepage.

Syntax

vCharSet = FormParser.CharSet
FormParser.CharSet = vCharSet

Returns

ConvertCodePages - Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser

See also

ASPForm.CharSet, FormField.CharSet
Other links for CharSet

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MaxMemoryStorage Property, FormParser class

MaxMemoryStorage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormParser

Description

Maximum size of source data stored in memory. Data are stored in Temp folder (ScriptUtils.ASPForm.TempPath) if the source data size exceeds this value.

Syntax

vMaxMemoryStorage = FormParser.MaxMemoryStorage
FormParser.MaxMemoryStorage = vMaxMemoryStorage

Returns

Long

Remarks

1. Default value is &H20000 bytes (128kB).
2. 0 (zero) means that whole data are stored on the disk.

See also

ASPForm.MaxMemoryStorage
Other links for MaxMemoryStorage

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TempPath Property, FormParser class

TempPath

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.FormParser

Description

Path to store form data during read of form (upload) on server-side.

Syntax

vTempPath = FormParser.TempPath
FormParser.TempPath = vTempPath

Returns

String

Remarks

Default is system temp folder.

See also

ASPForm.TempPath
Other links for TempPath

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Items Default Property, read only, FormParser class

Items

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Default Property, read only
Member of ScriptUtils.FormParser

Description

Collection of all form fields (plain form fields and files)

Syntax

Set vItems = FormParser.Items

Returns

FormFields - Contains collection of document fields of files.

See also

ASPForm.Items
Other links for Items

Methods of FormParser class

ProcessBlock, ProcessMultipartFile

Properties of FormParser class

Boundary, FormType, CharSet, Items, MaxMemoryStorage, TempPath

ScriptUtils.FormParser

You can parse application/x-www-form-urlencoded and multipart/form-data source stream to collection of form fields.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Form parser and VBA 6

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.FormParser

Examples

Upload - Form parser and VBA 6
Option Explicit

'Sample of using FormParser class of ASP Huge Upload object
'in VBA 6
Dim Request As ASPTypeLibrary.Request
Dim Response As ASPTypeLibrary.Response

'Proces source data stream by blocks
Private Sub ProcessRequest(Request As ASPTypeLibrary.Request, Boundary As String, ByVal TotalBytes As Long)
  Const BlockSize As Long = 1024
  Dim BinaryData() As Byte, BlockCounter As Long
  Dim ReadSize As Long
  Dim Parser As New ASPHugeUpload.FormParser

  'Set form type
  Parser.FormType = ftMultipart

  'Set boundary to form parser
  Parser.Boundary = Boundary

  'Process source data
  For BlockCounter = 0 To TotalBytes Step BlockSize
    'ASP Net does not accept reads more than TotalBytes
    'from input. We have to read exact number of bytes.
    If BlockCounter + BlockSize > TotalBytes Then
      ReadSize = TotalBytes - BlockCounter
    Else
      ReadSize = BlockSize
    End If

    'Read binary data.
    BinaryData = Request.BinaryRead(BlockSize)
    'Process the multipart data block
    Parser.ProcessBlock BinaryData
    '
  Next

  'Do something with source files .
  Dim File As ASPHugeUpload.FormField
  For Each File In Parser.Items.Files
    Response.Write "<br>FileName: " & File.FileName & _
      ", Size:" & File.Length
  Next
  '
End Sub

'OnStartPage
Public Sub OnStartPage(SC As ASPTypeLibrary.ScriptingContext)

  'Get request/response objects
  Set Request = SC.Request
  Set Response = SC.Response

  'is this post request?
  If Request.ServerVariables("REQUEST_METHOD") = "POST" Then

    'Are there some bytes in the request?
    If Request.TotalBytes > 0 Then

      'Check content-type.
      Dim Boundary As String, ContentType As String
      ContentType = Request.ServerVariables("HTTP_CONTENT_TYPE")
      If Len(ContentType) > 0 _
        And LCase$(Left$(ContentType, 19)) = "multipart/form-data" Then
        Dim PosBoundary As Long
        PosBoundary = Instr(1, ContentType, "boundary=", vbTextCompare)
        If PosBoundary > 0 Then
          Boundary = Mid$(ContentType, PosBoundary + Len("boundary="))
          'Right multipart/form-data request, process it
          ProcessRequest Request, Boundary, Request.TotalBytes
        Else 'If PosBoundary > 0 Then
          Response.Write "Bad POST request (not multipart or Boundary)."
        End If 'If PosBoundary > 0 Then

      Else 'If Len(ContentType) > 0 Then
        Response.Write "Content-type header not specified."
      End If 'If Len(ContentType) > 0 Then

    Else 'If Request.TotalBytes > 0 Then
      Response.Write "totalbytes is zero"
    End If 'If Request.TotalBytes > 0 Then

  Else
    Response.Write "Request method is not POST."
  End If 'If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
End Sub

'Proces source data stream in one block
Private Sub ProcessRequestOneStep(Request As ASPTypeLibrary.Request, Boundary As String, ByVal TotalBytes As Long)
  Dim Parser As New ASPHugeUpload.FormParser

  'Set form type
  Parser.FormType = ftMultipart

  'Set boundary to form parser
  Parser.Boundary = Boundary

  'Process source data
  Parser.ProcessBlock Request.BinaryRead(TotalBytes)
  '
End Sub

Public Property Get x() As Long
    x = 1
End Property
Other links for Upload - Form parser and VBA 6

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


INIFile Class

INIFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use INIFile object

Description

Enables read and write specified values into the INI files.

Object model

INIFile - Enables read and write specified values into the INI files.

Methods

GetProfileInt | Retrieves an integer from the specified key name in the given section of the file.
GetProfileString | Retrieves an string value from the specified key name in the given section of the file.
WriteProfileInt | Writes the specified value into the specified section of the file.
WriteProfileString | Copies a string into the specified section of the file.

Examples

INI and integer value
  Dim INI, ConfValue
  Set INI = CreateObject("ScriptUtils.INIFile")

  INI.WriteProfileInt "Main", "Enable", 88, "MyINI.INI"
  ConfValue = INI.GetProfileInt("Main", "Enable", 1, "MyINI.INI")
Other links for INIFile class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


GetProfileInt Method, INIFile class

GetProfileInt

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.INIFile

Description

Retrieves an integer from the specified key name in the given section of the file.

Syntax

vGetProfileInt = INIFile.GetProfileInt (AppName as String, KeyName as String, Default as Long, [FileName as String])
Where | Type | Optional | Default | Description
AppName | String |  |  | Specifies the section containing the key.
KeyName | String |  |  | The key name whose associated string is to be retrieved.
Default | Long |  |  | Default value.
FileName | String | yes |  | If omited, the method looks in given section of the WIN.INI file.

Returns

Long
Other links for GetProfileInt

Methods of INIFile class

GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString

ScriptUtils.INIFile

Enables read and write specified values into the INI files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


GetProfileString Method, INIFile class

GetProfileString

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.INIFile

Description

Retrieves an string value from the specified key name in the given section of the file.

Syntax

vGetProfileString = INIFile.GetProfileString (AppName as String, KeyName as String, Default as String, [FileName as String])
Where | Type | Optional | Default | Description
AppName | String |  |  | Specifies the section containing the key.
KeyName | String |  |  | The key name whose associated string is to be retrieved.
Default | String |  |  | Default value.
FileName | String | yes |  | If omited, the method looks in given section of the WIN.INI file.

Returns

String
Other links for GetProfileString

Methods of INIFile class

GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString

ScriptUtils.INIFile

Enables read and write specified values into the INI files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


WriteProfileInt Method, INIFile class

WriteProfileInt

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.INIFile

Description

Writes the specified value into the specified section of the file.

Syntax

INIFile.WriteProfileInt (AppName as String, KeyName as String, Value as Long, [FileName as String])
Where | Type | Optional | Default | Description
AppName | String |  |  | Specifies the section containing the key.
KeyName | String |  |  | The key name whose associated string is to be retrieved.
Value | Long |  |  | The value to be written.
FileName | String | yes |  | If omited, the method looks in given section of the WIN.INI file.
Other links for WriteProfileInt

Methods of INIFile class

GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString

ScriptUtils.INIFile

Enables read and write specified values into the INI files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


WriteProfileString Method, INIFile class

WriteProfileString

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.INIFile

Description

Copies a string into the specified section of the file.

Syntax

INIFile.WriteProfileString (AppName as String, KeyName as String, Value as String, [FileName as String])
Where | Type | Optional | Default | Description
AppName | String |  |  | Specifies the section containing the key.
KeyName | String |  |  | The key name whose associated string is to be retrieved.
Value | String |  |  | The value to be written.
FileName | String | yes |  | If omited, the method looks in given section of the WIN.INI file.
Other links for WriteProfileString

Methods of INIFile class

GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString

ScriptUtils.INIFile

Enables read and write specified values into the INI files.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


INI and integer value

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.INIFile

Examples

INI and integer value
  Dim INI, ConfValue
  Set INI = CreateObject("ScriptUtils.INIFile")

  INI.WriteProfileInt "Main", "Enable", 88, "MyINI.INI"
  ConfValue = INI.GetProfileInt("Main", "Enable", 1, "MyINI.INI")
Other links for INI and integer value

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel Class

Kernel

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use Kernel object

Description

COM API for calling some of Kernel32 functions.

Object model

Kernel - COM API for calling some of Kernel32 functions.
Process - Process object. Timing informations, priority settings and Ids. (CurrentProcess property, Current process.)
Thread - Thread object. Timing informations, priority settings and Ids. (PrimaryThread property, Primary thread of the process.)
Thread - Thread object. Timing informations, priority settings and Ids. (CurrentThread property, Current thread)
Process - Process object. Timing informations, priority settings and Ids. (Process property, The process of the thread.)

Methods

CloseHandle | Closes an open object handle.
CopyFile | The CopyFile method copies an existing file to a new file.
CreateProcess | Creates a new process and its primary thread. The new process executes the specified executable file.
DeleteFile | The DeleteFile method deletes an existing file.
GetFileSize | The GetFileSize function retrieves the size, in bytes, of the specified file.
MoveFile | The MoveFile method renames/moves an existing file or a directory (including all its children).
Sleep | Suspends the execution of the current thread for a specified interval.
SwitchToThread | Causes the calling thread to yield execution to another thread that is ready to run on the current processor. The operating system selects the thread to yield to.
WaitForSingleObject | returns when one of the following occurs: The specified object is in the signaled state . The time-out interval elapses.

Properties

CurrentDirectory | Retrieves or sets the current directory for the current process.
String, RW
CommandLine | The command-line string for the current process.
String, RO
ComputerName | Retrieves the computer name of the current systém.
String, RO
CurrentProcess | Current process.
Process, RO
CurrentThread | Current thread
Thread, RO
EnvironmentStrings | The environment block for the current process.
String, RO
EnvironmentVariables | Retrieves the value of the specified variable from the environment block of the calling process.
String, RO
hrCounter | Retrieves the current value of the high-resolution performance counter, if one exists.
double, RO
hrFrequency | Retrieves the frequency of the high-resolution performance counter, if one exists.
double, RO
hrTimeCounter | Retrieves the current value of the high-resolution performance counter, if one exists. The value of counter is converted to time (divided by hrFrequency).
double, RO
TempPath | Retrieves the path of the directory designated for temporary files.
String, RO
TickCount | The number of milliseconds that have elapsed since Windows was started.
Long, RO

Examples

ASP timing
<Script RunAt=Server Language=VBScript>
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  'Get start times
  TickCount = Kernel.TickCount
  KernelTime = Kernel.CurrentThread.KernelTime
  UserTime = Kernel.CurrentThread.UserTime

  '…………………..
  'Some script commands
  '…………………………..
  For i=1 To 100000
    j = i
  Next

  'Write times
  Response.Write "<br>Script time : " & (Kernel.TickCount - TickCount) & " ms"
  Response.Write "<br>Kernel time : " & CLng((Kernel.CurrentThread.KernelTime - KernelTime)*86400000) & " ms"
  Response.Write "<br>UserTime time : " & CLng((Kernel.CurrentThread.UserTime - UserTime)*86400000) & " ms"
  Kernel = Empty
</Script>
Write system variables.
<%
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<PRE>"
  Response.Write "<br>ComputerName       :" & Kernel.ComputerName
  Response.Write "<br>CommandLine        :" & Kernel.CommandLine
  Response.Write "<br>CurrentDirectory   :" & Kernel.CurrentDirectory
  Response.Write "<br>TempPath           :" & Kernel.TempPath
  Response.Write "<br>EnvironmentStrings :" & Kernel.EnvironmentStrings
  Response.Write "<br>Process.KernelTime :" & Kernel.CurrentProcess.KernelTime
  Response.Write "<br>Process.UserTime   :" & Kernel.CurrentProcess.UserTime
  Response.Write "<br>Thread.KernelTime  :" & Kernel.CurrentThread.KernelTime
  Response.Write "<br>Thread.UserTime    :" & Kernel.CurrentThread.UserTime
  Dim I
  For I=1 To 10
    Response.Write "<br>TickCount          :" & Kernel.TickCount
    Kernel.Sleep 500
  Next
  Response.Write "</PRE>"
%>
Timing informations.
<Script RunAt=Server Language=VBScript>
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  'Get start times
  TickCount = Kernel.TickCount
  KernelTime = Kernel.CurrentThread.KernelTime
  UserTime = Kernel.CurrentThread.UserTime

  '…………………..
  'Some script commands
  '…………………………..
  For i=1 To 100000
    j = i
  Next

  'Write times
  Response.Write "<br>Script time : " & (Kernel.TickCount - TickCount) & " ms"
  Response.Write "<br>Kernel time : " & CLng((Kernel.CurrentThread.KernelTime - KernelTime)*86400000) & " ms"
  Response.Write "<br>UserTime time : " & CLng((Kernel.CurrentThread.UserTime - UserTime)*86400000) & " ms"
  Kernel = Empty
</Script>
Other links for Kernel class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CloseHandle Method, Kernel class

CloseHandle

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

Closes an open object handle.

Syntax

Kernel.CloseHandle
Other links for CloseHandle

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CopyFile Method, Kernel class

CopyFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

The CopyFile method copies an existing file to a new file.

Syntax

Kernel.CopyFile (ExistingFileName as String, NewFileName as String, [FailIfExists as Boolean = True])
Where | Type | Optional | Default | Description
ExistingFileName | String |  |  | The name of an existing file to copy.
NewFileName | String |  |  | The name of the new file.
FailIfExists | Boolean | yes | True | If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.

Remarks

This function calls CopyFile Win32 API function (kernel32)
Security attributes for the existing file are not copied to the new file.

Examples

Kernel - copy file
Dim Kernel
Set Kernel = CreateObject("ScriptUtils.Kernel")

Kernel.CopyFile "H:\zivot.wav\AF - Buh je verny a co ty.wav", "j:\pokusss.wav"

See also

Kernel.MoveFile
Other links for CopyFile

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - copy file

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.CopyFile

Examples

Kernel - copy file
Dim Kernel
Set Kernel = CreateObject("ScriptUtils.Kernel")

Kernel.CopyFile "H:\zivot.wav\AF - Buh je verny a co ty.wav", "j:\pokusss.wav"
Other links for Kernel - copy file

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CreateProcess Method, Kernel class

CreateProcess

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

Creates a new process and its primary thread. The new process executes the specified executable file.

Syntax

vCreateProcess = Kernel.CreateProcess ([ApplicationName as String], [CommandLine as String], [InheritHandles as Boolean = False], [Environment as String], [CurrentDirectory as String], [TimeOut as Long = toNoWait])
Where | Type | Optional | Default | Description
ApplicationName | String | yes |  |
CommandLine | String | yes |  |
InheritHandles | Boolean | yes | False |
Environment | String | yes |  |
CurrentDirectory | String | yes |  |
TimeOut | Long | yes | toNoWait |

Returns

Long

See also

Kernel.WaitForSingleObject
Other links for CreateProcess

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


DeleteFile Method, Kernel class

DeleteFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

The DeleteFile method deletes an existing file.

Syntax

Kernel.DeleteFile (FileName as String)
Where | Type | Optional | Default | Description
FileName | String |  |  | The name of a file to delete.
Other links for DeleteFile

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


GetFileSize Method, Kernel class

GetFileSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

The GetFileSize function retrieves the size, in bytes, of the specified file.

Syntax

vGetFileSize = Kernel.GetFileSize

Returns

Currency

Remarks

This method works also with very lagre files over2GB. It uses lpFileSizeHigh of GetFileSize Win32 API function, the returned value is 64 bit integer.
Available from 2.0.19 version of ScriptUtilities, see Revision history for ASP file upload and ScriptUtilities

Examples

ASP gigabyte download - download of very large/huge files.
Other links for GetFileSize

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MoveFile Method, Kernel class

MoveFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

The MoveFile method renames/moves an existing file or a directory (including all its children).

Syntax

Kernel.MoveFile (ExistingFileName as String, NewFileName as String)
Where | Type | Optional | Default | Description
ExistingFileName | String |  |  | The name of an existing file to move/rename.
NewFileName | String |  |  | The name of the new file.

Remarks

This function calls MoveFile Win32 API function (kernel32)

See also

Kernel.CopyFile
Other links for MoveFile

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Sleep Method, Kernel class

Sleep

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

Suspends the execution of the current thread for a specified interval.

Syntax

Kernel.Sleep (Milliseconds as Long)
Where | Type | Optional | Default | Description
Milliseconds | Long |  |  | Specifies the time, in milliseconds, for which to suspend execution.

Remarks

A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. A value of toInfinite(-1) causes an infinite delay.

Examples

Kernel - Sleep for 2second
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Kernel.Sleep 2000
Other links for Sleep

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Sleep for 2second

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.Sleep

Examples

Kernel - Sleep for 2second
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Kernel.Sleep 2000
Other links for Kernel - Sleep for 2second

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SwitchToThread Method, Kernel class

SwitchToThread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

Causes the calling thread to yield execution to another thread that is ready to run on the current processor. The operating system selects the thread to yield to.

Syntax

Kernel.SwitchToThread
Other links for SwitchToThread

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


WaitForSingleObject Method, Kernel class

WaitForSingleObject

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Kernel

Description

returns when one of the following occurs:
The specified object is in the signaled state
. The time-out interval elapses.

Syntax

Kernel.WaitForSingleObject (Handle as Long, TimeOut as Long)
Where | Type | Optional | Default | Description
Handle | Long |  |  | Identifies the object.
TimeOut | Long |  |  | time-out interval, in milliseconds.

See also

Kernel.CreateProcess
Other links for WaitForSingleObject

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CurrentDirectory Property, Kernel class

CurrentDirectory

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Kernel

Description

Retrieves or sets the current directory for the current process.

Syntax

vCurrentDirectory = Kernel.CurrentDirectory
Kernel.CurrentDirectory = vCurrentDirectory

Returns

String

Examples

Kernel - Get current directory
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentDirectory
Other links for CurrentDirectory

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get current directory

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.CurrentDirectory

Examples

Kernel - Get current directory
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentDirectory
Other links for Kernel - Get current directory

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CommandLine Property, read only, Kernel class

CommandLine

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

The command-line string for the current process.

Syntax

vCommandLine = Kernel.CommandLine

Returns

String

Examples

Kernel - Get command line
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write Kernel.CommandLine
Other links for CommandLine

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get command line

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.CommandLine

Examples

Kernel - Get command line
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write Kernel.CommandLine
Other links for Kernel - Get command line

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ComputerName Property, read only, Kernel class

ComputerName

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the computer name of the current systém.

Syntax

vComputerName = Kernel.ComputerName

Returns

String

Remarks

This name is established at system startup, when it is initialized from the registry.

Examples

Kernel - Get name of the local computer
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write Kernel.ComputerName
Other links for ComputerName

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get name of the local computer

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.ComputerName

Examples

Kernel - Get name of the local computer
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write Kernel.ComputerName
Other links for Kernel - Get name of the local computer

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CurrentProcess Property, read only, Kernel class

CurrentProcess

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Current process.

Syntax

Set vCurrentProcess = Kernel.CurrentProcess

Returns

Process - Process object. Timing informations, priority settings and Ids.

Examples

Kernel - Kernel and user time taken by process.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentProcess.KernelTime
  Response.Write "<br>" & Kernel.CurrentProcess.UserTime

See also

Kernel.CurrentThread
Other links for CurrentProcess

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Kernel and user time taken by process.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.CurrentProcess

Examples

Kernel - Kernel and user time taken by process.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentProcess.KernelTime
  Response.Write "<br>" & Kernel.CurrentProcess.UserTime
Other links for Kernel - Kernel and user time taken by process.

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CurrentThread Property, read only, Kernel class

CurrentThread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Current thread

Syntax

Set vCurrentThread = Kernel.CurrentThread

Returns

Thread - Thread object. Timing informations, priority settings and Ids.

Examples

Kernel - Kernel and user time taken by current thread.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentThread.KernelTime
  Response.Write "<br>" & Kernel.CurrentThread.UserTime

See also

Kernel.CurrentProcess
Other links for CurrentThread

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Kernel and user time taken by current thread.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.CurrentThread

Examples

Kernel - Kernel and user time taken by current thread.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.CurrentThread.KernelTime
  Response.Write "<br>" & Kernel.CurrentThread.UserTime
Other links for Kernel - Kernel and user time taken by current thread.

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


EnvironmentStrings Property, read only, Kernel class

EnvironmentStrings

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

The environment block for the current process.

Syntax

vEnvironmentStrings = Kernel.EnvironmentStrings

Returns

String

Examples

Kernel - Get all envinronment strings.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.EnvironmentStrings

See also

Kernel.EnvironmentVariables
Other links for EnvironmentStrings

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get all envinronment strings.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.EnvironmentStrings

Examples

Kernel - Get all envinronment strings.
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.EnvironmentStrings
Other links for Kernel - Get all envinronment strings.

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


EnvironmentVariables Property, read only, Kernel class

EnvironmentVariables

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the value of the specified variable from the environment block of the calling process.

Syntax

vEnvironmentVariables = Kernel.EnvironmentVariables (Name as String)
Where | Type | Optional | Default | Description
Name | String |  |  | Specifies the environment variable.

Returns

String

Examples

Kernel - One of the environment variable
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.EnvironmentVariables("COMPUTERNAME")

See also

Kernel.EnvironmentStrings
Other links for EnvironmentVariables

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - One of the environment variable

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.EnvironmentVariables

Examples

Kernel - One of the environment variable
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.EnvironmentVariables("COMPUTERNAME")
Other links for Kernel - One of the environment variable

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


hrCounter Property, read only, Kernel class

hrCounter

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the current value of the high-resolution performance counter, if one exists.

Syntax

vhrCounter = Kernel.hrCounter

Returns

double

Remarks

This property uses QueryPerformanceCounter API function.

Examples

Kernel - Get exact consumed time of VBS function
  Dim Kernel, OldCounter
  Set Kernel = CreateObject("ScriptUtils.Kernel")

  'Get counter
  OldCounter = Kernel.hrCounter

  'Some operation taking many time
  Dim Data, Parameter
  Parameter = "Some parameter"
  Data = CreateData(Parameter)

  'Count number of microsecond
  Dim msTime
  msTime = 1000*(Kernel.hrCounter - OldCounter)
  msTime =  msTime / Kernel.hrFrequency

  'Output results
  Wscript.Echo "CreateData takes " & msTime & " milisecond"

See also

Kernel.hrFrequency, Kernel.hrTimeCounter
Other links for hrCounter

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get exact consumed time of VBS function

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.hrCounter

Examples

Kernel - Get exact consumed time of VBS function
  Dim Kernel, OldCounter
  Set Kernel = CreateObject("ScriptUtils.Kernel")

  'Get counter
  OldCounter = Kernel.hrCounter

  'Some operation taking many time
  Dim Data, Parameter
  Parameter = "Some parameter"
  Data = CreateData(Parameter)

  'Count number of microsecond
  Dim msTime
  msTime = 1000*(Kernel.hrCounter - OldCounter)
  msTime =  msTime / Kernel.hrFrequency

  'Output results
  Wscript.Echo "CreateData takes " & msTime & " milisecond"
Other links for Kernel - Get exact consumed time of VBS function

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


hrFrequency Property, read only, Kernel class

hrFrequency

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the frequency of the high-resolution performance counter, if one exists.

Syntax

vhrFrequency = Kernel.hrFrequency

Returns

double

Returns

The frequency is returned as counts per second.

Remarks

This property uses QueryPerformanceFrequency API function.
Samples of the of the frequency of high-resolution performance counter:
Board | Procesor | Counter frequency
Some Intel / FreeTech | Intel P/75, P/100, P/200, P/90 | 1.193180Mhz
Abit SocketA | Duron 650 | 3.579545MHz
Abit Slot A | Athlon 600 | 3.579545MHz
Intel RD440LX | PII/266 | 266.610MHz
Intel RD440LX | PII/333 | 333.260MHz
Intel L440GX | PII/500 | 497.440MHz
Abit BP6 | Celeron 366@95*5.5 | 522.510MHz
Abit BP6 | Celeron 366@98*5.5 | 539.050MHz

See also

Kernel.hrCounter, Kernel.hrTimeCounter
Other links for hrFrequency

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


hrTimeCounter Property, read only, Kernel class

hrTimeCounter

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the current value of the high-resolution performance counter, if one exists. The value of counter is converted to time (divided by hrFrequency).

Syntax

vhrTimeCounter = Kernel.hrTimeCounter ([double as double = 1000.0])
Where | Type | Optional | Default | Description
double | double | yes | 1000.0 | Multiplication factor. 1 means second, 1000 milisecond, ...

Returns

double

Returns

Performance counter is returned as a number of milisecond.

Remarks

This property uses QueryPerformanceFrequency and QueryPerformanceCounter API functions.

Examples

Kernel - Get exact duration of a VBS function using msPerformanceCounter
  Dim Kernel, OldhrTimeCounter
  Set Kernel = CreateObject("ScriptUtils.Kernel")

  'Get counter
  OldhrTimeCounter = Kernel.hrTimeCounter

  'Some operation taking many time
  Dim Data, Parameter
  Parameter = "Some parameter"
  Data = CreateData(Parameter)

  'Count number of microsecond
  Dim msTime
  msTime = Kernel.hrTimeCounter - OldhrTimeCounter

  'Output results
  Wscript.Echo "CreateData takes " & msTime & " milisecond"

See also

Kernel.hrFrequency, Kernel.hrCounter
Other links for hrTimeCounter

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Get exact duration of a VBS function using msPerformanceCounter

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.hrTimeCounter

Examples

Kernel - Get exact duration of a VBS function using msPerformanceCounter
  Dim Kernel, OldhrTimeCounter
  Set Kernel = CreateObject("ScriptUtils.Kernel")

  'Get counter
  OldhrTimeCounter = Kernel.hrTimeCounter

  'Some operation taking many time
  Dim Data, Parameter
  Parameter = "Some parameter"
  Data = CreateData(Parameter)

  'Count number of microsecond
  Dim msTime
  msTime = Kernel.hrTimeCounter - OldhrTimeCounter

  'Output results
  Wscript.Echo "CreateData takes " & msTime & " milisecond"
Other links for Kernel - Get exact duration of a VBS function using msPerformanceCounter

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TempPath Property, read only, Kernel class

TempPath

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

Retrieves the path of the directory designated for temporary files.

Syntax

vTempPath = Kernel.TempPath

Returns

String

Examples

Kernel - Write temporary directory path
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.TempPath
Other links for TempPath

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - Write temporary directory path

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.TempPath

Examples

Kernel - Write temporary directory path
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.TempPath
Other links for Kernel - Write temporary directory path

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TickCount Property, read only, Kernel class

TickCount

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Kernel

Description

The number of milliseconds that have elapsed since Windows was started.

Syntax

vTickCount = Kernel.TickCount

Returns

Long

Examples

Kernel - TickCount
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.TickCount
Other links for TickCount

Methods of Kernel class

CloseHandle, CopyFile, CreateProcess, DeleteFile, GetFileSize, MoveFile, Sleep, SwitchToThread, WaitForSingleObject

Properties of Kernel class

CommandLine, ComputerName, CurrentDirectory, CurrentProcess, CurrentThread, EnvironmentStrings, EnvironmentVariables, hrCounter, hrFrequency, hrTimeCounter, TempPath, TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Kernel - TickCount

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel.TickCount

Examples

Kernel - TickCount
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<br>" & Kernel.TickCount
Other links for Kernel - TickCount

ScriptUtils.Kernel

COM API for calling some of Kernel32 functions.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ASP timing

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel

Examples

ASP timing
<Script RunAt=Server Language=VBScript>
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  'Get start times
  TickCount = Kernel.TickCount
  KernelTime = Kernel.CurrentThread.KernelTime
  UserTime = Kernel.CurrentThread.UserTime

  '…………………..
  'Some script commands
  '…………………………..
  For i=1 To 100000
    j = i
  Next

  'Write times
  Response.Write "<br>Script time : " & (Kernel.TickCount - TickCount) & " ms"
  Response.Write "<br>Kernel time : " & CLng((Kernel.CurrentThread.KernelTime - KernelTime)*86400000) & " ms"
  Response.Write "<br>UserTime time : " & CLng((Kernel.CurrentThread.UserTime - UserTime)*86400000) & " ms"
  Kernel = Empty
</Script>
Other links for ASP timing

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Timing informations.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel

Examples

Timing informations.
<Script RunAt=Server Language=VBScript>
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  'Get start times
  TickCount = Kernel.TickCount
  KernelTime = Kernel.CurrentThread.KernelTime
  UserTime = Kernel.CurrentThread.UserTime

  '…………………..
  'Some script commands
  '…………………………..
  For i=1 To 100000
    j = i
  Next

  'Write times
  Response.Write "<br>Script time : " & (Kernel.TickCount - TickCount) & " ms"
  Response.Write "<br>Kernel time : " & CLng((Kernel.CurrentThread.KernelTime - KernelTime)*86400000) & " ms"
  Response.Write "<br>UserTime time : " & CLng((Kernel.CurrentThread.UserTime - UserTime)*86400000) & " ms"
  Kernel = Empty
</Script>
Other links for Timing informations.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Write system variables.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Kernel

Examples

Write system variables.
<%
  Set Kernel = CreateObject("ScriptUtils.Kernel")'Creates the Kernel object
  Response.Write "<PRE>"
  Response.Write "<br>ComputerName       :" & Kernel.ComputerName
  Response.Write "<br>CommandLine        :" & Kernel.CommandLine
  Response.Write "<br>CurrentDirectory   :" & Kernel.CurrentDirectory
  Response.Write "<br>TempPath           :" & Kernel.TempPath
  Response.Write "<br>EnvironmentStrings :" & Kernel.EnvironmentStrings
  Response.Write "<br>Process.KernelTime :" & Kernel.CurrentProcess.KernelTime
  Response.Write "<br>Process.UserTime   :" & Kernel.CurrentProcess.UserTime
  Response.Write "<br>Thread.KernelTime  :" & Kernel.CurrentThread.KernelTime
  Response.Write "<br>Thread.UserTime    :" & Kernel.CurrentThread.UserTime
  Dim I
  For I=1 To 10
    Response.Write "<br>TickCount          :" & Kernel.TickCount
    Kernel.Sleep 500
  Next
  Response.Write "</PRE>"
%>
Other links for Write system variables.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile Class, Hi-performance text file logging and performance monitoring.

LogFile

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use LogFile object

Description

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.

Features of LogFile class

  • Hi-performance text file logging from ASP, VBScript or JScript, ASP.Net VB, C#, VBA5 or VBA6.
  • Free-threaded object, can be placed to Application scope
  • Lets you log exact script timing values (up to microsecond or nanosecond), process and thread info and performance values (see LogLineBeginTypes, LineBegin)
  • Writes one or more (any number) string, numeric, date, object (default property), array and other variables with one row of code to the log (Log)
  • Daily/weekly/monthly log filename scheme, lets you specify common log file header and log field names in each file.

Other features

  • Custom log field and array separator
  • Custom date-time format, local or global (GMT) time
  • Optional URL encode for logged data
  • Part of ScriptUtilities and Huge ASP file upload, you will get more functionality!
  • C++ source code is available with Distribution license, please see License page for ASP file upload and ScriptUtilities

ActiveLogFile performance

Performance notes and comparison with FileSystemObject and its use to do log files in ASP.

Using LogFile class

How to create and use LogFile class in ASP, VBS and VBA (VB, Excel, Word, ..)

Methods

Close | Closes the log file.
Log | Lets you write variant number of values as one log line to the log file.
LogLine | Write string as one line to the log file.
Open | Opens the log file for write.

Properties

ArraySeparator | Separator of values in an array.
String, RW
DateTimeFormat | Defines format for the DateTime fields.
String, RW
Encode | Encoding of logged values. No encoding or URL encode.
LogLineEncodes, RW
FieldSeparator | Separator of logged values. This property is used to separate values on beggining of line and values from Log method.
String, RW
FieldsHeaders | Description of additional fields in the log file.
String, RW
FileBegin | Comment on the beggining of the log file.
String, RW
LineBegin | Defines fields on a begin of the log line.
LogLineBeginTypes, RW
TemplateFileName | Full template for log path and file name. The template can contains special tags to specify filename for each day/week/month.
String, RW
FileName | Full path and name of the current log file.
String, RO
IsOpen | Returns True if the log file is open.
Boolean, RO
LocalDateTime | Specicifies if Logal or Global (GMT) date and time is logged.
Boolean, RO

Examples

LogFile - Simple log file sample
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Write one string to the log file
  LogFile.LogLine "some line to the log file."

  'Write more values to the log file
  LogFile.Log "Some", "String", "Or", "Numeric", 25, "Values"
Other links for LogFile class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

Additional notes
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.


Close Method, LogFile class

Close

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.LogFile

Description

Closes the log file.

Syntax

LogFile.Close

Examples

LogFile - Delete log file
Global.asa:
<Object RunAt=Server ID=LogFile ProgID=ScriptUtils.LogFile Scope=Application></Object>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
  LogFile.TemplateFileName = "D:\Log\ST%y%m%d.Log"
End Sub
</SCRIPT>

'Some ASP page:
'You can delete log file when you close the file.
LogFile.Close

'Delete the log file
CreateObject("Scripting.FileSystemObject").GetFile(LogFile.FileName).Delete

See also

LogFile.IsOpen
Other links for Close

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Delete log file

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.Close

Examples

LogFile - Delete log file
Global.asa:
<Object RunAt=Server ID=LogFile ProgID=ScriptUtils.LogFile Scope=Application></Object>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
  LogFile.TemplateFileName = "D:\Log\ST%y%m%d.Log"
End Sub
</SCRIPT>

'Some ASP page:
'You can delete log file when you close the file.
LogFile.Close

'Delete the log file
CreateObject("Scripting.FileSystemObject").GetFile(LogFile.FileName).Delete
Other links for LogFile - Delete log file

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Log Method, LogFile class

Log

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.LogFile

Description

Lets you write variant number of values as one log line to the log file.

Syntax

LogFile.Log ([Values to log as ParamArray])
Where | Type | Optional | Default | Description
Values to log | ParamArray | yes |  | Variant number of values to write to the log file.

Remarks

Values can be of any type that can be converted to a string. So you can log String, Date, Boolean and Numeric values (Byte, Short, Long, Currency, Double ...).
You can also log one-dimensional Array values (from Dim variable(), Redim or Array function). Array members are converted to a string and separated by a special separator (see ArraySeparator property).
You can also log Object values with default value specified (The default value is written in the log file)

Examples

LogFile - Samples of Log method
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Log date, long, currency and string values to one line
  LogFile.Log Now-7, CLng(25), CCur(125.6538), "description"

  'Log an array
  LogFile.Log "Array value", Array(1,2,3,4,5)

  'Log an object
  LogFile.Log "Object value", LogFile

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+15:34:44
#Fields: datetime
2000-12-13+15:34:44 2000-12-06+15:34:44 25 125.6538 description
2000-12-13+15:34:44 Array+value [12345]
2000-12-13+15:34:44 Object+value D:\LogFiles\LG001213.Log
LogFile - Sample ASP log of variant arguments.

See also

LogFile.LogLine
Other links for Log

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Sample ASP log of variant arguments.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.Log

Examples

LogFile - Sample ASP log of variant arguments.
Global.asa:
<Object RunAt=Server ID=LogFile ProgID=ScriptUtils.LogFile Scope=Application></Object>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Const blDate = &H1
Const blTime = &H2

Sub Application_OnStart
  LogFile.FieldSeparator = " "
  LogFile.TemplateFileName = "D:\Log\ST%y%m%d.Log"
  LogFile.FieldsHeaders = "cs-uri-stem stockid date"

  'Add date and time to the begin of line
  LogFile.LineBegin = blDate + blTime

  'Format for the blDateTime field
  LogFile.DateTimeFormat = "%Y-%m-%d"
End Sub

</SCRIPT>

ASP file:
<%
Option Explicit

'Get page parameters
Dim StockID, tdDate, HTML
StockID = Request.QueryString("ID")
If StockID = "" Then StockID = DefaultStockID
tdDate = Request.QueryString("Date")
If tdDate = "" Then tdDate = Date()

'Get HTML contents of the page And write to client
HTML  = GetInfoPage(StockID, tdDate)
Response.Write HTML

'Log values
LogFile.Log "" & Request.ServerVariables("SCRIPT_NAME"), tdDate, StockID

......

%>

Log output:
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-11
#Fields: Date Time cs-uri-stem stockid Date
2000-12-11 22:38:30 /stock.asp 2000-12-11 7
Other links for LogFile - Sample ASP log of variant arguments.

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Samples of Log method

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.Log

Examples

LogFile - Samples of Log method
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Log date, long, currency and string values to one line
  LogFile.Log Now-7, CLng(25), CCur(125.6538), "description"

  'Log an array
  LogFile.Log "Array value", Array(1,2,3,4,5)

  'Log an object
  LogFile.Log "Object value", LogFile

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+15:34:44
#Fields: datetime
2000-12-13+15:34:44 2000-12-06+15:34:44 25 125.6538 description
2000-12-13+15:34:44 Array+value [12345]
2000-12-13+15:34:44 Object+value D:\LogFiles\LG001213.Log
Other links for LogFile - Samples of Log method

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogLine Method, LogFile class

LogLine

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.LogFile

Description

Write string as one line to the log file.

Syntax

LogFile.LogLine (Line as String)
Where | Type | Optional | Default | Description
Line | String |  |  | Line to write to the log file

Remarks

You can use Log method instead of LogLine, of course. LogLine has a little bit better performance for single string values.

Examples

LogFile - String to log as one line
  Dim LogFile

'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

'Open the log file
  LogFile.LogLine "some line to the log file."

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+11:06:36
#Fields: datetime
2000-12-13+11:06:36 some+line+To+the+Log+file.

See also

LogFile.Log
Other links for LogLine

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - String to log as one line

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.LogLine

Examples

LogFile - String to log as one line
  Dim LogFile

'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

'Open the log file
  LogFile.LogLine "some line to the log file."

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+11:06:36
#Fields: datetime
2000-12-13+11:06:36 some+line+To+the+Log+file.
Other links for LogFile - String to log as one line

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Open Method, LogFile class

Open

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.LogFile

Description

Opens the log file for write.

Syntax

LogFile.Open

Remarks

Log file is closed (or does not exists) until you call Open method or other methods writting data to the log file.

See also

LogFile.IsOpen
Other links for Open

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ArraySeparator Property, LogFile class

ArraySeparator

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Separator of values in an array.

Syntax

vArraySeparator = LogFile.ArraySeparator
LogFile.ArraySeparator = vArraySeparator

Returns

String

Remarks

Default value is chr(&H07)

Examples

LogFile - Log some array value
  Option Explicit
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default separator is chr(7).
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

  'Separate array members by asterisk
  LogFile.ArraySeparator = "*"
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

  'Separate array members by tab
  LogFile.ArraySeparator = vbTab
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:49:07
#Fields: datetime
2000-12-13+14:49:07 Array+sample [12000-12-14+14:49:072.52some+string]
2000-12-13+14:49:07 Array+sample [1*2000-12-14+14:49:07*2.52*some+string]
2000-12-13+14:49:07 Array+sample [1	2000-12-14+14:49:07	2.52	some+string]

See also

LogFile.FieldSeparator
Other links for ArraySeparator

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Log some array value

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.ArraySeparator

Examples

LogFile - Log some array value
  Option Explicit
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default separator is chr(7).
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

  'Separate array members by asterisk
  LogFile.ArraySeparator = "*"
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

  'Separate array members by tab
  LogFile.ArraySeparator = vbTab
  LogFile.Log "Array sample", Array(1,CDate(Now+1),2.52,"some string")

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:49:07
#Fields: datetime
2000-12-13+14:49:07 Array+sample [12000-12-14+14:49:072.52some+string]
2000-12-13+14:49:07 Array+sample [1*2000-12-14+14:49:07*2.52*some+string]
2000-12-13+14:49:07 Array+sample [1	2000-12-14+14:49:07	2.52	some+string]
Other links for LogFile - Log some array value

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


DateTimeFormat Property, LogFile class

DateTimeFormat

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Defines format for the DateTime fields.

Syntax

vDateTimeFormat = LogFile.DateTimeFormat
LogFile.DateTimeFormat = vDateTimeFormat

Returns

String

Remarks

strftime function is used to convert datetime fields to a string. You can use next tags to specify format for datetime fields:
%Y | Year with century, as decimal
%y | Year without century, as decimal number (00 – 99)
%m | Month as decimal number (01 – 12)
%d | Day of month as decimal number (01 – 31)
%W | Week of year as decimal number, with Monday as first day of week (00 – 53)
%H | Hour in 24-hour format (00 – 23)
%I | Hour in 12-hour format (01 – 12)
%M | Minute as decimal number (00 – 59)
%p | Current locale’s A.M./P.M. indicator for 12-hour clock
%S | Second as decimal number (00 – 59)
%x | Date representation for current locale
%X | Time representation for current locale

Examples

LogFile - DateTimeFormat sample
  Dim LogFile

'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  LogFile.LogLine "Default datetime."

  LogFile.DateTimeFormat = "%d.%m.%Y+%H:%M:%S"
  LogFile.LogLine "Line 1"

  LogFile.DateTimeFormat = "%m/%d/%Y %H:%M:%S"
  LogFile.LogLine "Line 2"

  LogFile.DateTimeFormat = "%m/%d/%Y %I:%M:%S%p"
  LogFile.Log Now, Date

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+12:39:17
#Fields: datetime
2000-12-13+12:39:17 Default+datetime.
13.12.2000+12:39:17 Line+1
12/13/2000 12:39:17 Line+2
12/13/2000 12:39:17PM 12/13/2000 12:39:17PM 12/13/2000 12:00:00AM

See also

LogFile.LocalDateTime
Other links for DateTimeFormat

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - DateTimeFormat sample

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.DateTimeFormat

Examples

LogFile - DateTimeFormat sample
  Dim LogFile

'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  LogFile.LogLine "Default datetime."

  LogFile.DateTimeFormat = "%d.%m.%Y+%H:%M:%S"
  LogFile.LogLine "Line 1"

  LogFile.DateTimeFormat = "%m/%d/%Y %H:%M:%S"
  LogFile.LogLine "Line 2"

  LogFile.DateTimeFormat = "%m/%d/%Y %I:%M:%S%p"
  LogFile.Log Now, Date

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+12:39:17
#Fields: datetime
2000-12-13+12:39:17 Default+datetime.
13.12.2000+12:39:17 Line+1
12/13/2000 12:39:17 Line+2
12/13/2000 12:39:17PM 12/13/2000 12:39:17PM 12/13/2000 12:00:00AM
Other links for LogFile - DateTimeFormat sample

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Encode Property, LogFile class

Encode

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Encoding of logged values. No encoding or URL encode.

Syntax

vEncode = LogFile.Encode
LogFile.Encode = vEncode

Returns

LogLineEncodes - Specifies encoding type for logged values of LogFile class

Remarks

Default is leURLEncode, because default field separator is a space.

Examples

LogFile - Encode values
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default encoding is URLEncode
  LogFile.LogLine "some line to the log file."

  'No encode
  LogFile.Encode = 0
  LogFile.LogLine "some line to the log file."

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:31:31
#Fields: datetime
2000-12-13+14:31:31 some+line+To+the+Log+file.
2000-12-13+14:31:31 some line To the Log file.
Other links for Encode

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Encode values

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.Encode

Examples

LogFile - Encode values
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default encoding is URLEncode
  LogFile.LogLine "some line to the log file."

  'No encode
  LogFile.Encode = 0
  LogFile.LogLine "some line to the log file."

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:31:31
#Fields: datetime
2000-12-13+14:31:31 some+line+To+the+Log+file.
2000-12-13+14:31:31 some line To the Log file.
Other links for LogFile - Encode values

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FieldSeparator Property, LogFile class

FieldSeparator

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Separator of logged values. This property is used to separate values on beggining of line and values from Log method.

Syntax

vFieldSeparator = LogFile.FieldSeparator
LogFile.FieldSeparator = vFieldSeparator

Returns

String

Remarks

Default value is space - chr(32)

Examples

LogFile - Separator of logged values
  Option Explicit

  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default separator is space.
  LogFile.Log "V1", "V2", "V3", "Default separator is a space"

  LogFile.FieldSeparator = vbTab
  LogFile.Log "V1", "V2", "V3", "vbTab"

  'Separate fields by asterisk
  LogFile.FieldSeparator = "*"
  LogFile.Log "V1", "V2", "V3"

  'Separate fields by comma
  LogFile.FieldSeparator = ", "
  LogFile.Log "V1", "V2", "V3"

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:42:20
#Fields: datetime
2000-12-13+14:42:20 V1 V2 V3 Default+separator+Is+a+Space
2000-12-13+14:42:20	V1	V2	V3	vbTab
2000-12-13+14:42:20*V1*V2*V3
2000-12-13+14:42:20, V1, V2, V3

See also

LogFile.ArraySeparator
Other links for FieldSeparator

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Separator of logged values

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.FieldSeparator

Examples

LogFile - Separator of logged values
  Option Explicit

  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default separator is space.
  LogFile.Log "V1", "V2", "V3", "Default separator is a space"

  LogFile.FieldSeparator = vbTab
  LogFile.Log "V1", "V2", "V3", "vbTab"

  'Separate fields by asterisk
  LogFile.FieldSeparator = "*"
  LogFile.Log "V1", "V2", "V3"

  'Separate fields by comma
  LogFile.FieldSeparator = ", "
  LogFile.Log "V1", "V2", "V3"

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:42:20
#Fields: datetime
2000-12-13+14:42:20 V1 V2 V3 Default+separator+Is+a+Space
2000-12-13+14:42:20	V1	V2	V3	vbTab
2000-12-13+14:42:20*V1*V2*V3
2000-12-13+14:42:20, V1, V2, V3
Other links for LogFile - Separator of logged values

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FieldsHeaders Property, LogFile class

FieldsHeaders

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Description of additional fields in the log file.

Syntax

vFieldsHeaders = LogFile.FieldsHeaders
LogFile.FieldsHeaders = vFieldsHeaders

Returns

String

Remarks

The description is written to the begin of the log file.

Examples

LogFile - Description of log file fields
  LogFile.FieldsHeaders = "cs-uri-stem date stockid"

  'Log values
  LogFile.Log "" & Request.ServerVariables("SCRIPT_NAME"), tdDate, StockID

Output :
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-11
#Fields: Date Time cs-uri-stem stockid Date
2000-12-11 22:38:30 /stock.asp 2000-12-11 7
2000-12-11 22:38:45 /stock.asp 2000-12-09 23

See also

LogFile.FileBegin
Other links for FieldsHeaders

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Description of log file fields

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.FieldsHeaders

Examples

LogFile - Description of log file fields
  LogFile.FieldsHeaders = "cs-uri-stem date stockid"

  'Log values
  LogFile.Log "" & Request.ServerVariables("SCRIPT_NAME"), tdDate, StockID

Output :
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-11
#Fields: Date Time cs-uri-stem stockid Date
2000-12-11 22:38:30 /stock.asp 2000-12-11 7
2000-12-11 22:38:45 /stock.asp 2000-12-09 23
Other links for LogFile - Description of log file fields

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FileBegin Property, LogFile class

FileBegin

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Comment on the beggining of the log file.

Syntax

vFileBegin = LogFile.FileBegin
LogFile.FileBegin = vFileBegin

Returns

String

Remarks

Default value is:
#Software: PSTRUH ScriptUtilities log file
#Version: 1.0
#Date: %s
#Fields:%s

Examples

LogFile - Define comment on the beggining of file
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default encoding is URLEncode
  LogFile.FileBegin = "#This is my log file" & vbCrLf & "#Date: %s" & vbCrLf & "#Fields:%s" & vbCrLf
  LogFile.FieldsHeaders = "req-date stockid rowcount"

  'Wite something to the log
  LogFile.Log Date-7, 87, 20

Output (contents of D:\LogFiles\LG001213.Log file)
#This Is my Log file
#Date: 2000-12-13+15:05:20
#Fields: datetime req-Date stockid rowcount
2000-12-13+15:05:20 2000-12-06+00:00:00 87 20

See also

LogFile.FieldsHeaders
Other links for FileBegin

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Define comment on the beggining of file

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.FileBegin

Examples

LogFile - Define comment on the beggining of file
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default encoding is URLEncode
  LogFile.FileBegin = "#This is my log file" & vbCrLf & "#Date: %s" & vbCrLf & "#Fields:%s" & vbCrLf
  LogFile.FieldsHeaders = "req-date stockid rowcount"

  'Wite something to the log
  LogFile.Log Date-7, 87, 20

Output (contents of D:\LogFiles\LG001213.Log file)
#This Is my Log file
#Date: 2000-12-13+15:05:20
#Fields: datetime req-Date stockid rowcount
2000-12-13+15:05:20 2000-12-06+00:00:00 87 20
Other links for LogFile - Define comment on the beggining of file

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LineBegin Property, LogFile class

LineBegin

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Defines fields on a begin of the log line.

Syntax

vLineBegin = LogFile.LineBegin
LogFile.LineBegin = vLineBegin

Returns

LogLineBeginTypes - Defines additional values on a beginning of the log line.

Examples

LogFile - Sample of values on begin of line.
  'This is only sample.
  'There is no good idea to change log structure inside of one file.
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default is datetime field
  LogFile.Log

  'Add some extra values to the log
  LogFile.LineBegin = blDateTime + blmilisecond + blProcessID + blThreadID
  LogFile.Log

  Dim I, X
  For I = 1 To 100000
    X = I * 5
  Next
  'Add microsecond and
  LogFile.LineBegin = blDateTime  + blmicrosecond + blProcessKernelTime + blProcessUserTime
  LogFile.Log

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:24:01
#Fields: datetime
2000-12-13+14:24:01
2000-12-13+14:24:01 0 1004 756
2000-12-13+14:24:01 184613 0 187
Other links for LineBegin

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Sample of values on begin of line.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.LineBegin

Examples

LogFile - Sample of values on begin of line.
  'This is only sample.
  'There is no good idea to change log structure inside of one file.
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default is datetime field
  LogFile.Log

  'Add some extra values to the log
  LogFile.LineBegin = blDateTime + blmilisecond + blProcessID + blThreadID
  LogFile.Log

  Dim I, X
  For I = 1 To 100000
    X = I * 5
  Next
  'Add microsecond and
  LogFile.LineBegin = blDateTime  + blmicrosecond + blProcessKernelTime + blProcessUserTime
  LogFile.Log

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+14:24:01
#Fields: datetime
2000-12-13+14:24:01
2000-12-13+14:24:01 0 1004 756
2000-12-13+14:24:01 184613 0 187
Other links for LogFile - Sample of values on begin of line.

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


TemplateFileName Property, LogFile class

TemplateFileName

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.LogFile

Description

Full template for log path and file name. The template can contains special tags to specify filename for each day/week/month.

Syntax

vTemplateFileName = LogFile.TemplateFileName
LogFile.TemplateFileName = vTemplateFileName

Returns

String

Remarks

You can use next tags to specify real file name:
%Y | Year with century, as decimal
%y | Year without century, as decimal number (00 – 99)
%m | Month as decimal number (01 – 12)
%d | Day of month as decimal number (01 – 31)
%W | Week of year as decimal number, with Monday as first day of week (00 – 53)
%x | Date representation for current locale

Examples

LogFile - Specify one log file per week.
'Create LogFile object
  Dim LogFile : Set LogFile = CreateObject("ScriptUtils.LogFile")

  LogFile.TemplateFileName = "D:\LogFiles\LG%y%W.Log"

'Open the log file
  LogFile.Open

'Get current file name
  Wscript.Echo "Current log file name:" & LogFile.FileName

'Write some values to the weekly log
  LogFile.Log "Some", "Log", "Values"

See also

LogFile.FileName
Other links for TemplateFileName

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Specify one log file per week.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.TemplateFileName

Examples

LogFile - Specify one log file per week.
'Create LogFile object
  Dim LogFile : Set LogFile = CreateObject("ScriptUtils.LogFile")

  LogFile.TemplateFileName = "D:\LogFiles\LG%y%W.Log"

'Open the log file
  LogFile.Open

'Get current file name
  Wscript.Echo "Current log file name:" & LogFile.FileName

'Write some values to the weekly log
  LogFile.Log "Some", "Log", "Values"
Other links for LogFile - Specify one log file per week.

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FileName Property, read only, LogFile class

FileName

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.LogFile

Description

Full path and name of the current log file.

Syntax

vFileName = LogFile.FileName

Returns

String

Examples

LogFile - Get current path to the log file.
  Dim LogFile
'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

'Open the log file
  LogFile.Open
'Get current file name (FileName is Empty if the file is closed)
  Wscript.Echo "Current log file name:" & LogFile.FileName

Output:
Current Log file name:D:\LogFiles\LG001211.Log

See also

LogFile.TemplateFileName
Other links for FileName

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Get current path to the log file.

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.FileName

Examples

LogFile - Get current path to the log file.
  Dim LogFile
'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

'Open the log file
  LogFile.Open
'Get current file name (FileName is Empty if the file is closed)
  Wscript.Echo "Current log file name:" & LogFile.FileName

Output:
Current Log file name:D:\LogFiles\LG001211.Log
Other links for LogFile - Get current path to the log file.

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


IsOpen Property, read only, LogFile class

IsOpen

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.LogFile

Description

Returns True if the log file is open.

Syntax

vIsOpen = LogFile.IsOpen

Returns

Boolean

See also

LogFile.Open, LogFile.Close
Other links for IsOpen

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LocalDateTime Property, read only, LogFile class

LocalDateTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.LogFile

Description

Specicifies if Logal or Global (GMT) date and time is logged.

Syntax

vLocalDateTime = LogFile.LocalDateTime

Returns

Boolean

Remarks

LocalDateTime has impact to real file name and date/time values on the beggining of line. It does not change format of variant date values in Log method.

Examples

LogFile - Local/GMT date/time values
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default of LocalDateTime is True
  LogFile.Log Now

  'Use GMT for logged date/time
  'Our timezone is GMT+01:00, Prague
  LogFile.LocalDateTime = False
  LogFile.Log Now

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+12:43:47
#Fields: datetime
2000-12-13+12:43:47 2000-12-13+12:43:47
2000-12-13+11:43:47 2000-12-13+12:43:47

See also

LogFile.DateTimeFormat
Other links for LocalDateTime

Methods of LogFile class

Close, Log, LogLine, Open

Properties of LogFile class

ArraySeparator, DateTimeFormat, Encode, FieldSeparator, FieldsHeaders, FileBegin, FileName, IsOpen, LineBegin, LocalDateTime, TemplateFileName

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Local/GMT date/time values

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile.LocalDateTime

Examples

LogFile - Local/GMT date/time values
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Default of LocalDateTime is True
  LogFile.Log Now

  'Use GMT for logged date/time
  'Our timezone is GMT+01:00, Prague
  LogFile.LocalDateTime = False
  LogFile.Log Now

Output (contents of D:\LogFiles\LG001213.Log file)
#Software: PSTRUH ScriptUtilities Log file
#Version: 1.0
#Date: 2000-12-13+12:43:47
#Fields: datetime
2000-12-13+12:43:47 2000-12-13+12:43:47
2000-12-13+11:43:47 2000-12-13+12:43:47
Other links for LogFile - Local/GMT date/time values

ScriptUtils.LogFile

Hi-performance text file logging for ASP and ASP.Net, VBScript, VBA, VB5/6, VB and C# applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.
LogFile is a COM class specially designed as a free-threaded, hi-performance logging object in Application scope of ASP/ASP.Net pages. It also works with other script engines in VB Script and JScript (ASP, ASP.Net, WSH, CHM, HTA), VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for LogFile is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogFile - Simple log file sample

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.LogFile

Examples

LogFile - Simple log file sample
  Dim LogFile

  'Create LogFile object
  Set LogFile = CreateObject("ScriptUtils.LogFile")
  LogFile.TemplateFileName = "D:\LogFiles\LG%y%m%d.Log"

  'Write one string to the log file
  LogFile.LogLine "some line to the log file."

  'Write more values to the log file
  LogFile.Log "Some", "String", "Or", "Numeric", 25, "Values"
Other links for LogFile - Simple log file sample

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Features of

Features of LogFile class

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogFile

Features of LogFile class

  • Hi-performance text file logging from ASP, VBScript or JScript, ASP.Net VB, C#, VBA5 or VBA6.
  • Free-threaded object, can be placed to Application scope
  • Lets you log exact script timing values (up to microsecond or nanosecond), process and thread info and performance values (see LogLineBeginTypes, LineBegin)
  • Writes one or more (any number) string, numeric, date, object (default property), array and other variables with one row of code to the log (Log)
  • Daily/weekly/monthly log filename scheme, lets you specify common log file header and log field names in each file.

Other features

  • Custom log field and array separator
  • Custom date-time format, local or global (GMT) time
  • Optional URL encode for logged data
  • Part of ScriptUtilities and Huge ASP file upload, you will get more functionality!
  • C++ source code is available with Distribution license, please see License page for ASP file upload and ScriptUtilities
Other links for Features of LogFile class

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ActiveLogFile performance Article

ActiveLogFile performance

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogFile

ActiveLogFile performance

Maybe, you need some logging for your asp application. You want to log current time and some other values to the log file and you need to have daily logs. This page contains some small info about performance and locking problems in ASP.
1. The first solution you can use is Scripting.FileSystemObject :
<%
....

DoLogFS1 "Some log value"

Function DoLogFS1(LogLine)
  Dim OutStream, FileName
  Const LogSeparator = " "
  FileName = "D:\LogFiles\fs1" & Right("0" & _
    Year(Now), 2) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & ".Log"

  Set OutStream = CreateObject("Scripting.FileSystemObject").OpenTextFile _
    (FileName, 8, True)
  OutStream.WriteLine Now() & LogSeparator & LogLine
End Function

%>
Simple function. But it takes most of the time to create filesystem object.
2. You can put the FileSystemObject to global.asa and modify your function:
<Object RunAt=Server ID=FS ProgID=Scripting.FileSystemObject Scope=Application></Object>
and use the FileSystemObject i your ASP page:
<%
....

DoLogFS2 "Some log value"

Function DoLogFS2(LogLine)
  Dim OutStream, FileName
  Const LogSeparator = " "
  FileName = "D:\LogFiles\fs2" & _
    Right("0" & Year(Now), 2) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & ".Log"

  Set OutStream = FS.OpenTextFile (FileName, 8, True)
  OutStream.WriteLine Now() & LogSeparator & LogLine
End Function
%>
This function takes 4 times less time than version 1. But this function takes most of the time to open log file for append.
3. We can do last optimalization - store the file stream in application :
<Object RunAt=Server ID=FS ProgID=Scripting.FileSystemObject Scope=Application></Object>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
  Dim OutStream, FileName
  FileName = "D:\LogFiles\fs2" & _
    Right("0" & Year(Now), 2) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & ".Log"
  Set OutStream = FS.OpenTextFile (FileName, 8, True)
  Set Application("OutStream") = OutStream
End Sub

</SCRIPT>
and use the stream i an ASP page:
<%
  ....

DoLogFS3 "Some log value"

Function DoLogFS3(LogLine)
  Const LogSeparator = " "
  Application("OutStream").WriteLine Now() & LogSeparator & LogLine
End Function

%>
The codes number 1. and 2. have also also another problem - simultaneous requests. When the page is used by many browsers, open of the log file for append may fail. For example, if you do 10 000 requests from 10 browsers to the page, you wil have 9542 records in your log file (or similar number). Some log records will be lost because first call of OpenTextFile for append locks the log file and second call from another request will fail.
The code number 3 solves the problem, but you have another problem - now you have no daily logs, but only one log with date of start of ASP application.

4. We can compare performance of a best solution for the problem, LogFile class. The class solves problems with daily file name, simultaneous requests and many other problems and tasks. Global.asa:
<Object RunAt=Server ID=LogFile ProgID=ScriptUtils.LogFile Scope=Application></Object>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
  LogFile.TemplateFileName = "D:\Log\LG%y%m%d.Log"
End Sub

</SCRIPT>
ASP page:
<%
  ....

  LogFile.Log "Some log value"
%>
Next table contains a short performance comparison of the four source codes. The times was from PII Celeron/500MHz.

Code number | Microsecond
1. Simple FileSystemObject | 3 800
2. FileSystemObject in Application | 950
3. TextStream in Application | 150
4. LogFile class | 60

5. But you want to log more values than only one.
  Dim vCurr, vDbl, vStr, vDate, vEmpty

  vCurr = CCur (256.235)
  vDbl  = CDbl (23215.132154)
  vStr  = "Some string value"
  vDate = Now

We can use FileSystemObject and code no. 3 or LogFile class:

  DoLogFS4 vStr & LogSeparator & vCurr & LogSeparator & _
    vDbl & LogSeparator & vDate & LogSeparator & vEmpty

  or

  LogFile.Log vStr, vCurr, vDbl, vDate, vEmpty

Code | Microsecond
FileSystemObject | 230
LogFile class | 115

You can see that LogFile class has at least 2 times better performance than text Stream from FileSystemObject. And the class solves many other problems and work with logging ...
Other links for ActiveLogFile performance

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Using LogFile class Article

Using LogFile class

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogFile

Using LogFile class

1. VBS (VBS/ASP)
You can create the LogFile object by CreateObject method or function

Dim LogFile
'Create LogFile object
Set LogFile = CreateObject("ScriptUtils.LogFile")
'Or
Set LogFile = Wscript.CreateObject("ScriptUtils.LogFile")
'Or
Set LogFile = Server.CreateObject("ScriptUtils.LogFile")
2. VBA (VB 5/6, Excel, Word, ...)
See menu, Project->References (Tools->References) and add reference to "Script Utilities library".
Then you can use
Dim Log As New ScriptUtilities.LogFile
'or
Dim Log As ScriptUtilities.LogFile
Set Log = CreateObject("ScriptUtils.LogFile")
3. Active Server Pages
LogFile class is both threaded (thread-safe) class. So you can have one common LogFile object for whole application. The object can be created by <Object> tag in global.asa:
<OBJECT id=LogFile Scope="Application" ProgID="ScriptUtils.LogFile" RunAt="Server"></OBJECT>
<SCRIPT language=VBScript RUNAT="Server">

Sub Application_OnStart
  LogFile.TemplateFileName = "D:\Log\Y2%y%m%d.Log"
  LogFile.LocalDateTime = False
End Sub

</SCRIPT>
Then you can use LogFile object in each of ASP from the ASP application:
<%
  ...

  LogFile.Log Request.ServerVariables("SCRIPT_NAME"), Session.SessionID, _
    Value1, ...

%>
Other links for Using LogFile class

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Process Class

Process

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use Process object

Description

Process object. Timing informations, priority settings and Ids.

Object model

Process - Process object. Timing informations, priority settings and Ids. (CurrentProcess property, Current process.)
Thread - Thread object. Timing informations, priority settings and Ids. (PrimaryThread property, Primary thread of the process.)
Process - Process object. Timing informations, priority settings and Ids. (Process property, The process of the thread.)

Methods

Terminate Terminates the process and all of its threads.

Properties

AffinityMask | The process affinity mask for the process.
Long, RW
MaximumWorkingSetSize | Specifies a maximum working set size for the process.
Long, RW
MinimumWorkingSetSize | Specifies a minimum working set size for the process.
Long, RW
PriorityBoost | Priority boost control state of the process.
Boolean, RW
PriorityClass | The priority class for the process.
PriorityClasses, RW
CreationTime | Creation time of the process.
Date, RO
ExitCode | The termination status of the specified process.
Long, RO
ExitTime | The exit time of the process.
Date, RO
Handle | Handle of the process.
Long, RO
ID | ID of the process.
Long, RO
KernelTime | The amount of time that the process has executed in kernel mode.
Date, RO
PrimaryThread | Primary thread of the process.
Thread, RO
UserTime | Amount of time that the process has executed in user mode.
Date, RO

Used in

Thread.Process, Kernel.CurrentProcess
Other links for Process class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Terminate Method, Process class

Terminate

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Process

Description

Terminates the process and all of its threads.

Syntax

Process.Terminate (ExitCode as Long)
Where | Type | Optional | Default | Description
ExitCode | Long |  |  | Specifies the exit code for the process and for all threads terminated as a result of this call.

Returns

The TerminateProcess function is used to unconditionally cause a process to exit. Use it only in extreme circumstances.

TerminateProcess causes all threads within a process to terminate, and causes a process to exit, but DLLs attached to the process are not notified that the process is terminating.

Terminating a process causes the following:

1. All of the object handles opened by the process are closed.

2. All of the threads in the process terminate their execution.

3. The state of the process object becomes signaled, satisfying any threads that had been waiting for the process to terminate.

4. The states of all threads of the process become signaled, satisfying any threads that had been waiting for the threads to terminate.

5. The termination status of the process changes from STILL_ACTIVE to the exit value of the process.

Terminating a process does not cause child processes to be terminated.

Terminating a process does not necessarily remove the process object from the system. A process object is deleted when the last handle to the process is closed.

See also

Process.ExitTime, Process.ExitCode
Other links for Terminate

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


AffinityMask Property, Process class

AffinityMask

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Process

Description

The process affinity mask for the process.

Syntax

vAffinityMask = Process.AffinityMask
Process.AffinityMask = vAffinityMask

Returns

Long
Other links for AffinityMask

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MaximumWorkingSetSize Property, Process class

MaximumWorkingSetSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Process

Description

Specifies a maximum working set size for the process.

Syntax

vMaximumWorkingSetSize = Process.MaximumWorkingSetSize
Process.MaximumWorkingSetSize = vMaximumWorkingSetSize

Returns

Long

Remarks

The virtual memory manager attempts to keep no more than this much memory resident in the process whenever the process is active and memory is in short supply.
If both MinimumWorkingSetSize and MaximumWorkingSetSize have the value &Hffffffff, the function temporarily trims the working set of the specified process to zero. This essentially swaps the process out of physical RAM memory.
This propery uses SetProcessWorkingSetSize and GetProcessWorkingSetSize API functions.
The handle must have PROCESS_SET_QUOTA access rights to change this value.

See also

Process.MinimumWorkingSetSize
Other links for MaximumWorkingSetSize

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


MinimumWorkingSetSize Property, Process class

MinimumWorkingSetSize

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Process

Description

Specifies a minimum working set size for the process.

Syntax

vMinimumWorkingSetSize = Process.MinimumWorkingSetSize
Process.MinimumWorkingSetSize = vMinimumWorkingSetSize

Returns

Long

Remarks

The virtual memory manager attempts to keep at least this much memory resident in the process whenever the process is active.
If both MinimumWorkingSetSize and MaximumWorkingSetSize have the value &Hffffffff, the function temporarily trims the working set of the specified process to zero. This essentially swaps the process out of physical RAM memory.
This propery uses SetProcessWorkingSetSize and GetProcessWorkingSetSize API functions.
The handle must have PROCESS_SET_QUOTA access rights to change this value.

See also

Process.MaximumWorkingSetSize
Other links for MinimumWorkingSetSize

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PriorityBoost Property, Process class

PriorityBoost

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Process

Description

Priority boost control state of the process.

Syntax

vPriorityBoost = Process.PriorityBoost
Process.PriorityBoost = vPriorityBoost

Returns

Boolean

See also

Thread.Priority, Thread.PriorityBoost, Process.PriorityClass
Other links for PriorityBoost

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PriorityClass Property, Process class

PriorityClass

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Process

Description

The priority class for the process.

Syntax

vPriorityClass = Process.PriorityClass
Process.PriorityClass = vPriorityClass

Returns

PriorityClasses - The process’s priority class is one of the following values.

Returns

This value, together with the priority value of each thread of the process, determines each thread’s base priority level.
The following table shows the base priority levels for combinations of priority class and priority value.
 | Process Priority Class | Thread Priority Level
1 | IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS | THREAD_PRIORITY_IDLE
2 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST
3 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL
4 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL
5 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST
 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL
6 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL
 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST
7 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST
 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL
8 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL
 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL
9 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL
 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST
10 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL
11 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST
 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST
12 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL
13 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL
14 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL
15 | IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL
 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST
16 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_IDLE
22 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST
23 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL
24 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL
25 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL
26 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST
31 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL

See also

Thread.Priority, Thread.PriorityBoost, Process.PriorityBoost
Other links for PriorityClass

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CreationTime Property, read only, Process class

CreationTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

Creation time of the process.

Syntax

vCreationTime = Process.CreationTime

Returns

Date

See also

Process.ExitTime, Process.KernelTime, Process.UserTime
Other links for CreationTime

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ExitCode Property, read only, Process class

ExitCode

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

The termination status of the specified process.

Syntax

vExitCode = Process.ExitCode

Returns

Long

Returns

If the specified process has not terminated, the termination status returned is STILL_ACTIVE. If the process has terminated, the termination status returned may be one of the following:
· The exit value specified in the ExitProcess or TerminateProcess function.
· The return value from the main or WinMain function of the process.
· The exception value for an unhandled exception that caused the process to terminate.

See also

Process.ExitTime, Process.Terminate
Other links for ExitCode

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ExitTime Property, read only, Process class

ExitTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

The exit time of the process.

Syntax

vExitTime = Process.ExitTime

Returns

Date

Returns

If the process has not exited, returns zero.

See also

Process.CreationTime, Process.KernelTime, Process.UserTime, Process.ExitCode, Process.Terminate
Other links for ExitTime

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Handle Property, read only, Process class

Handle

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

Handle of the process.

Syntax

vHandle = Process.Handle

Returns

Long

See also

Process.ID
Other links for Handle

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ID Property, read only, Process class

ID

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

ID of the process.

Syntax

vID = Process.ID

Returns

Long

See also

Process.Handle
Other links for ID

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


KernelTime Property, read only, Process class

KernelTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

The amount of time that the process has executed in kernel mode.

Syntax

vKernelTime = Process.KernelTime

Returns

Date

Remarks

The time that each of the threads of the process has executed in kernel mode is determined, and then all of those times are summed together to obtain this value.

See also

Process.CreationTime, Process.ExitTime, Process.UserTime
Other links for KernelTime

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PrimaryThread Property, read only, Process class

PrimaryThread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

Primary thread of the process.

Syntax

Set vPrimaryThread = Process.PrimaryThread

Returns

Thread - Thread object. Timing informations, priority settings and Ids.

See also

Thread.Process
Other links for PrimaryThread

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UserTime Property, read only, Process class

UserTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Process

Description

Amount of time that the process has executed in user mode.

Syntax

vUserTime = Process.UserTime

Returns

Date

Remarks

The time that each of the threads of the process has executed in user mode is determined, and then all of those times are summed together to obtain this value.

See also

Process.CreationTime, Process.ExitTime, Process.KernelTime
Other links for UserTime

Methods of Process class

Terminate

Properties of Process class

AffinityMask, CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, MaximumWorkingSetSize, MinimumWorkingSetSize, PrimaryThread, PriorityBoost, PriorityClass, UserTime

ScriptUtils.Process

Process object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Thread Class

Thread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use Thread object

Description

Thread object. Timing informations, priority settings and Ids.

Object model

Thread - Thread object. Timing informations, priority settings and Ids. (CurrentThread property, Current thread)
Process - Process object. Timing informations, priority settings and Ids. (Process property, The process of the thread.)
Thread - Thread object. Timing informations, priority settings and Ids. (PrimaryThread property, Primary thread of the process.)

Methods

ResumeThread | Decrements a thread’s suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.
SuspendThread | Suspends the specified thread.
Terminate | Terminates a thread.

Properties

Priority | The priority value for the specified thread. This value, together with the priority class of the thread’s process, determines the thread’s base-priority level.
ThreadPriorities, RW
PriorityBoost | The priority boost control state of the thread.
Boolean, RW
CreationTime | Creation time of the thread.
Date, RO
ExitCode | Retrieves the termination status of the thread.
Long, RO
ExitTime | The exit time of the thread. If the thread has not exited, returns zero.
Date, RO
Handle | Handle of the thread.
Long, RO
ID | ID of the thread.
Long, RO
KernelTime | Amount of time that the thread has executed in kernel mode.
Date, RO
Process | The process of the thread.
Process, RO
UserTime | Amount of time that the thread has executed in user mode.
Date, RO

Used in

Process.PrimaryThread, Kernel.CurrentThread
Other links for Thread class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ResumeThread Method, Thread class

ResumeThread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Thread

Description

Decrements a thread’s suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.

Syntax

vResumeThread = Thread.ResumeThread

Returns

Long

Returns

Thread’s previous suspend count.

See also

Thread.SuspendThread
Other links for ResumeThread

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


SuspendThread Method, Thread class

SuspendThread

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Thread

Description

Suspends the specified thread.

Syntax

vSuspendThread = Thread.SuspendThread

Returns

Long

Returns

Thread’s previous suspend count.

See also

Thread.ResumeThread
Other links for SuspendThread

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Terminate Method, Thread class

Terminate

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.Thread

Description

Terminates a thread.

Syntax

Thread.Terminate (ExitCode as Long)
Where | Type | Optional | Default | Description
ExitCode | Long |  |  | Exit code for the thread.

See also

Thread.ExitCode
Other links for Terminate

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Priority Property, Thread class

Priority

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Thread

Description

The priority value for the specified thread. This value, together with the priority class of the thread’s process, determines the thread’s base-priority level.

Syntax

vPriority = Thread.Priority
Thread.Priority = vPriority

Returns

ThreadPriorities - Priority values for the thread.

Examples

Set task priority in MS SQL
Next stored procedure let's you set thread priority in MSSQL. You can use the function to set some task in idle or another priority.
--set idle priority for the task
EXECUTE sp..xp_set_thread_priority -15, 0

--call some SP in idle priority
EXECUTE sp_longrunning

--set default priority
EXECUTE sp..xp_set_thread_priority
Be sure you set default thread priority at the end of your SP/SQL batch (execute xp_set_thread_priority without parameters).
--Let's you set thread priority in MSSQL
CREATE PROCEDURE xp_set_thread_priority(@Priority INT = 0, @PriorityBoost INT = 1) AS
  DECLARE @Thread INT, @OLEResult INT, @Out INT

  --Create ScriptUtils.Thread object
  EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Thread', @Thread OUT
  IF @OLEResult <> 0
    RAISERROR ('ScriptUtils.Thread cannot be created. Result : 0x%X', 1, 1, @OLEResult)
  ELSE
    BEGIN
      --Set priority boost of actual thread
      EXECUTE @OLEResult = sp_OASetProperty @Thread, 'PriorityBoost', @PriorityBoost
      IF @OLEResult <> 0 RAISERROR ('Cannot set PriorityBoost. Result: 0x%X', 1, 1, @OLEResult)

      --Set priority of actual thread
      EXECUTE @OLEResult = sp_OASetProperty @Thread, 'Priority', @Priority
      IF @OLEResult <> 0 RAISERROR ('Cannot set Priority. Result: 0x%X', 1, 1, @OLEResult)

      --Destroy Thread object
      EXECUTE @OLEResult = sp_OADestroy @Thread
    END
RETURN @OLEResult

See also

Thread.PriorityBoost, Process.PriorityBoost, Process.PriorityClass, ASPForm.ThreadPriority
Other links for Priority

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Set task priority in MS SQL

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.Thread.Priority

Examples

Set task priority in MS SQL
Next stored procedure let's you set thread priority in MSSQL. You can use the function to set some task in idle or another priority.
--set idle priority for the task
EXECUTE sp..xp_set_thread_priority -15, 0

--call some SP in idle priority
EXECUTE sp_longrunning

--set default priority
EXECUTE sp..xp_set_thread_priority
Be sure you set default thread priority at the end of your SP/SQL batch (execute xp_set_thread_priority without parameters).
--Let's you set thread priority in MSSQL
CREATE PROCEDURE xp_set_thread_priority(@Priority INT = 0, @PriorityBoost INT = 1) AS
  DECLARE @Thread INT, @OLEResult INT, @Out INT

  --Create ScriptUtils.Thread object
  EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Thread', @Thread OUT
  IF @OLEResult <> 0
    RAISERROR ('ScriptUtils.Thread cannot be created. Result : 0x%X', 1, 1, @OLEResult)
  ELSE
    BEGIN
      --Set priority boost of actual thread
      EXECUTE @OLEResult = sp_OASetProperty @Thread, 'PriorityBoost', @PriorityBoost
      IF @OLEResult <> 0 RAISERROR ('Cannot set PriorityBoost. Result: 0x%X', 1, 1, @OLEResult)

      --Set priority of actual thread
      EXECUTE @OLEResult = sp_OASetProperty @Thread, 'Priority', @Priority
      IF @OLEResult <> 0 RAISERROR ('Cannot set Priority. Result: 0x%X', 1, 1, @OLEResult)

      --Destroy Thread object
      EXECUTE @OLEResult = sp_OADestroy @Thread
    END
RETURN @OLEResult
Other links for Set task priority in MS SQL

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PriorityBoost Property, Thread class

PriorityBoost

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property
Member of ScriptUtils.Thread

Description

The priority boost control state of the thread.

Syntax

vPriorityBoost = Thread.PriorityBoost
Thread.PriorityBoost = vPriorityBoost

Returns

Boolean

Remarks

When a thread is running in one of the dynamic priority classes, Windows NT temporarily boosts the thread’s priority when it is taken out of a wait state. If PriorityBoost is False, the thread’s priority is not boosted. To restore normal behavior, set PriorityBoost to True.

See also

Thread.Priority, Process.PriorityBoost, Process.PriorityClass
Other links for PriorityBoost

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


CreationTime Property, read only, Thread class

CreationTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

Creation time of the thread.

Syntax

vCreationTime = Thread.CreationTime

Returns

Date

See also

Thread.ExitTime, Thread.KernelTime, Thread.UserTime
Other links for CreationTime

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ExitCode Property, read only, Thread class

ExitCode

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

Retrieves the termination status of the thread.

Syntax

vExitCode = Thread.ExitCode

Returns

Long

See also

Thread.Terminate
Other links for ExitCode

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ExitTime Property, read only, Thread class

ExitTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

The exit time of the thread. If the thread has not exited, returns zero.

Syntax

vExitTime = Thread.ExitTime

Returns

Date

See also

Thread.CreationTime, Thread.KernelTime, Thread.UserTime
Other links for ExitTime

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Handle Property, read only, Thread class

Handle

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

Handle of the thread.

Syntax

vHandle = Thread.Handle

Returns

Long

See also

Thread.ID
Other links for Handle

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ID Property, read only, Thread class

ID

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

ID of the thread.

Syntax

vID = Thread.ID

Returns

Long

See also

Thread.Handle
Other links for ID

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


KernelTime Property, read only, Thread class

KernelTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

Amount of time that the thread has executed in kernel mode.

Syntax

vKernelTime = Thread.KernelTime

Returns

Date

See also

Thread.CreationTime, Thread.ExitTime, Thread.UserTime
Other links for KernelTime

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Process Property, read only, Thread class

Process

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

The process of the thread.

Syntax

Set vProcess = Thread.Process

Returns

Process - Process object. Timing informations, priority settings and Ids.

See also

Process.PrimaryThread
Other links for Process

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UserTime Property, read only, Thread class

UserTime

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Property, read only
Member of ScriptUtils.Thread

Description

Amount of time that the thread has executed in user mode.

Syntax

vUserTime = Thread.UserTime

Returns

Date

See also

Thread.CreationTime, Thread.ExitTime, Thread.KernelTime
Other links for UserTime

Methods of Thread class

ResumeThread, SuspendThread, Terminate

Properties of Thread class

CreationTime, ExitCode, ExitTime, Handle, ID, KernelTime, Priority, PriorityBoost, Process, UserTime

ScriptUtils.Thread

Thread object. Timing informations, priority settings and Ids.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ZLib Class

ZLib

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Class
Member of ScriptUtils Use ZLib object

Description

Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

Methods

Compress | Returns compressed source as ByteArray or string.
UnCompress | Uncompress source data and returns the uncompressed data ByteArray or String.

Examples

Transfer compressed file from client to server using IE (special upload)
Other links for ZLib class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Compress Method, ZLib class

Compress

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ZLib

Description

Returns compressed source as ByteArray or string.

Syntax

vCompress = ZLib.Compress (Source as Variant, [CompressType as ZLibCompressLevels = ctDefaultCompression], [OutputType as OutputTypes = otByteArray])
Where | Type | Optional | Default | Description
Source | Variant |  |  | Source data to compress. ByteArray or String
CompressType | ZLibCompressLevels | yes | ctDefaultCompression | Compression level. Range from 1 to 9, or special values.
OutputType | OutputTypes | yes | otByteArray | Type for the return value. One of ByteArray, Variant ByteArray, String or MultiByte String

Returns

Variant

Returns

This function returns variant containing ByteArray, variant ByteArray, String or MultiByte string.

Examples

ZLib - Compress file
Sub CompressFile(SourceFile, DestFile)
  Dim ByteArray, ZLib
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  Set ZLib = CreateObject("ScriptUtils.ZLib")

  'Read the dsource file
  ByteArray.ReadFrom SourceFile

  'Compress source data
  Set ByteArray = ZLib.Compress(ByteArray.ByteArray)

  'Save data to the destination file
  ByteArray.SaveAs DestFile
End Sub

See also

ZLib.UnCompress
Other links for Compress

Methods of ZLib class

Compress, UnCompress

ScriptUtils.ZLib

Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ZLib - Compress file

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ZLib.Compress

Examples

ZLib - Compress file
Sub CompressFile(SourceFile, DestFile)
  Dim ByteArray, ZLib
  Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  Set ZLib = CreateObject("ScriptUtils.ZLib")

  'Read the dsource file
  ByteArray.ReadFrom SourceFile

  'Compress source data
  Set ByteArray = ZLib.Compress(ByteArray.ByteArray)

  'Save data to the destination file
  ByteArray.SaveAs DestFile
End Sub
Other links for ZLib - Compress file

ScriptUtils.ZLib

Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


UnCompress Method, ZLib class

UnCompress

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Method
Member of ScriptUtils.ZLib

Description

Uncompress source data and returns the uncompressed data ByteArray or String.

Syntax

vUnCompress = ZLib.UnCompress (Source as Variant, [OutputType as OutputTypes = otByteArray])
Where | Type | Optional | Default | Description
Source | Variant |  |  | Source data to compress. ByteArray or String
OutputType | OutputTypes | yes | otByteArray | Type for the return value. One of ByteArray, Variant ByteArray, String or MultiByte String

Returns

Variant

Returns

This function returns variant containing ByteArray, variant ByteArray, String or MultiByte string.

Examples

ZLib - Accept compressed data on server-side ASP
<%
ReceiveFile()

'Server-side function
'This function accepts and saves uploaded data compressed by the Compress method on the servers ASP
Sub ReceiveFile()
  Dim SourceData, FileName, FileContents, ByteArray

  'Test if this is request from our client
  FileName = Request.ServerVariables("HTTP_FILENAME")
  If FileName <> "" Then 'This is a request from our client
    'Read compressed file from the source stream
    SourceData = Request.BinaryRead(Request.TotalBytes)

    'Uncompress the source file
    Set ZLib = CreateObject("ScriptUtils.ZLib")
    Set FileContents = ZLib.UnCompress(SourceData)

    'Save source file to the destination directory (current directory)
    FileContents.SaveAs Server.MapPath(GetFileName(FileName))
  End If
End Sub

Function GetFileName(FullPath)
  'Returns file name from full path
  Dim Pos
  Pos = InstrRev(FullPath, "\")
  GetFileName = Mid(FullPath, Pos + 1)
End Function
%>

See also

ZLib.Compress
Other links for UnCompress

Methods of ZLib class

Compress, UnCompress

ScriptUtils.ZLib

Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ZLib - Accept compressed data on server-side ASP

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ZLib.UnCompress

Examples

ZLib - Accept compressed data on server-side ASP
<%
ReceiveFile()

'Server-side function
'This function accepts and saves uploaded data compressed by the Compress method on the servers ASP
Sub ReceiveFile()
  Dim SourceData, FileName, FileContents, ByteArray

  'Test if this is request from our client
  FileName = Request.ServerVariables("HTTP_FILENAME")
  If FileName <> "" Then 'This is a request from our client
    'Read compressed file from the source stream
    SourceData = Request.BinaryRead(Request.TotalBytes)

    'Uncompress the source file
    Set ZLib = CreateObject("ScriptUtils.ZLib")
    Set FileContents = ZLib.UnCompress(SourceData)

    'Save source file to the destination directory (current directory)
    FileContents.SaveAs Server.MapPath(GetFileName(FileName))
  End If
End Sub

Function GetFileName(FullPath)
  'Returns file name from full path
  Dim Pos
  Pos = InstrRev(FullPath, "\")
  GetFileName = Mid(FullPath, Pos + 1)
End Function
%>
Other links for ZLib - Accept compressed data on server-side ASP

ScriptUtils.ZLib

Implements zlib Compress and Uncompress functions. Lets you compress/uncompress files, or send compressed data over http/https connections.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Transfer compressed file from client to server using IE (special upload)

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Sample for ScriptUtils.ZLib

Examples

Transfer compressed file from client to server using IE (special upload)
'Client-side upload function
'You can use this function in VBS or VBA (VB5, VB6, Word, Excel, ...)
'UploadFile "F:\RM20001124.TXT", "http://www.testwebsite.com/accept.asp"
Sub UploadFile(FileName, URL)
  Dim IE 'As New shdocvw.WebBrowser
  Set IE = CreateObject("InternetExplorer.Application")
  IE.Visible = True

  Dim FileContents, ZLib

  Set FileContents = CreateObject("ScriptUtils.ByteArray")
  Set ZLib = CreateObject("ScriptUtils.ZLib")

  'Read the source file
  FileContents.ReadFrom FileName

  'Compress source data
  Set FileContents = ZLib.Compress(FileContents.ByteArray)

  'Initiate transfer the file to the destination URL
  IE.Navigate URL, , , FileContents.ByteArray, "FileName: " & FileName & vbCrLf

  'Wait until IE finishes transfer
  Do While IE.Busy
    'DoEvents
    'Sleep 100
  Loop

  'Quit Internet explorer
  IE.Quit
End Sub

<%
'Accept.asp
'Server-side function
'This function accepts and saves uploaded data compressed by the Compress method on the servers ASP
'Call ReceiveFile
Sub ReceiveFile()
  Dim FileName, FileContents, ByteArray

  'Test if this is request from our client
  FileName = Request.ServerVariables("HTTP_FILENAME")
  If FileName <> "" Then 'This is a request from our client
    Set FileContents = CreateObject("ScriptUtils.ByteArray")
    Set ZLib = CreateObject("ScriptUtils.ZLib")

    'Read compressed file from the source stream
    FileContents.ByteArray = Request.BinaryRead(Request.TotalBytes)

    'Uncompress the source file
    Set FileContents = ZLib.UnCompress(FileContents.ByteArray)

    'Save source file to the destination directory (current directory)
    FileContents.SaveAs Server.MapPath(GetFileName(FileName))
  End If
End Sub

Function GetFileName(FullPath)
  'Returns file name from full path
  Dim Pos
  Pos = InstrRev(FullPath, "\")
  GetFileName = Mid(FullPath, Pos + 1)
End Function
%>
Other links for Transfer compressed file from client to server using IE (special upload)

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ConvertCodePages Enum, List of convert code pages for ByteArray and HugeASP file upload

ConvertCodePages

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use ConvertCodePages object

Description

Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser

Values

cpANSI = &H0 | 0 | ANSI code page.
cpOEM = &H1 | 1 | OEM code page.
cpMAC = &H2 | 2 | Macintosh code page.
cpebcdiccpus = &H25 | 37 | IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us
cpIBM437 = &H1B5 | 437 | OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437
cpIBMEBCDICInternational = &H1F4 | 500 | IBM EBCDIC - International,
cpASMO708 = &H2C4 | 708 | Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708
cpArabicASMO449BCONV4 = &H2C5 | 709 | Arabic - ASMO 449+, BCON V4,
cpArabicTransparentArabic = &H2C6 | 710 | Arabic - Transparent Arabic,
cpDOS720 = &H2D0 | 720 | Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720
cpibm737 = &H2E1 | 737 | OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737
cpibm775 = &H307 | 775 | OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500
cpibm850 = &H352 | 850 | OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850
cpibm852 = &H354 | 852 | OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852
cpOEMCyrillicprimarilyRussian = &H357 | 855 | OEM - Cyrillic (primarily Russian),
cpibm857 = &H359 | 857 | OEM - Turkish, Turkish (DOS), Charset Label:ibm857
cpOEMMultlingualLatinIEurosymbol = &H35A | 858 | OEM - Multlingual Latin I + Euro symbol,
cpOEMPortuguese = &H35C | 860 | OEM - Portuguese,
cpibm861 = &H35D | 861 | OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861
cpDOS862 = &H35E | 862 | OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862
cpOEMCanadianFrench = &H35F | 863 | OEM - Canadian-French,
cpOEMArabic = &H360 | 864 | OEM - Arabic,
cpOEMNordic = &H361 | 865 | OEM - Nordic,
cpcp866 = &H362 | 866 | OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866
cpibm869 = &H365 | 869 | OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869
cpCP870 = &H366 | 870 | IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870
cpwindows874 = &H36A | 874 | ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620
cpxEBCDICGreekModern = &H36B | 875 | IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern
cpshiftjis = &H3A4 | 932 | ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis
cpgb2312 = &H3A8 | 936 | ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58
cpksc56011987 = &H3B5 | 949 | ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601
cpbig5 = &H3B6 | 950 | ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5
cpCP1026 = &H402 | 1 026 | IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026
cpIBMEBCDICLatin1OpenSystem = &H417 | 1 047 | IBM EBCDIC - Latin 1/Open System,
cpxebcdiccpuseuro = &H474 | 1 140 | IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro
cpxebcdicgermanyeuro = &H475 | 1 141 | IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro
cpxebcdicdenmarknorwayeuro = &H476 | 1 142 | IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro
cpxebcdicfinlandswedeneuro = &H477 | 1 143 | IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France
cpxebcdicitalyeuro = &H478 | 1 144 | IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro
cpxebcdicspaineuro = &H479 | 1 145 | IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro
cpxebcdicukeuro = &H47A | 1 146 | IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro
cpxebcdicfranceeuro = &H47B | 1 147 | IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro
cpxebcdicinternationaleuro = &H47C | 1 148 | IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro
cpxebcdicicelandiceuro = &H47D | 1 149 | IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro
cpunicodeLittle = &H4B0 | 1 200 | Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode
cpunicodeBig = &H4B1 | 1 201 | Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig
cpwindows1250 = &H4E2 | 1 250 | ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250
cpwindows1251 = &H4E3 | 1 251 | ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251
cpWindows1252 = &H4E4 | 1 252 | ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...
cpwindows1253 = &H4E5 | 1 253 | ANSI - Greek, Greek (Windows), Charset Label:windows-1253
cpwindows1254 = &H4E6 | 1 254 | ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5
cpwindows1255 = &H4E7 | 1 255 | ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual
cpwindows1256 = &H4E8 | 1 256 | ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256
cpwindows1257 = &H4E9 | 1 257 | ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257
cpwindows1258 = &H4EA | 1 258 | ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258
cpJohab = &H551 | 1 361 | Korean (Johab), Korean (Johab), Charset Label:Johab
cpmacintosh = &H2710 | 10 000 | MAC - Roman, Western European (Mac), Charset Label:macintosh
cpxmacjapanese = &H2711 | 10 001 | MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese
cpxmacchinesetrad = &H2712 | 10 002 | MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad
cpxmackorean = &H2713 | 10 003 | MAC - Korean, Korean (Mac), Charset Label:x-mac-korean
cpxmacarabic = &H2714 | 10 004 | MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic
cpxmachebrew = &H2715 | 10 005 | MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew
cpxmacgreek = &H2716 | 10 006 | MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek
cpxmaccyrillic = &H2717 | 10 007 | MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic
cpxmacchinesesimp = &H2718 | 10 008 | MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp
cpMACRomania = &H271A | 10 010 | MAC - Romania,
cpMACUkraine = &H2721 | 10 017 | MAC - Ukraine,
cpMACThai = &H2725 | 10 021 | MAC - Thai,
cpxmacce = &H272D | 10 029 | MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce
cpxmacicelandic = &H275F | 10 079 | MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic
cpxmacturkish = &H2761 | 10 081 | MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish
cpMACCroatia = &H2762 | 10 082 | MAC - Croatia,
cpUnicodeUCS4LittleEndian = &H2EE0 | 12 000 | Unicode UCS-4 Little-Endian,
cpUnicodeUCS4BigEndian = &H2EE1 | 12 001 | Unicode UCS-4 Big-Endian,
cpxChineseCNS = &H4E20 | 20 000 | CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS
cpTCATaiwan = &H4E21 | 20 001 | TCA - Taiwan,
cpxChineseEten = &H4E22 | 20 002 | Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten
cpIBM5550Taiwan = &H4E23 | 20 003 | IBM5550 - Taiwan,
cpTeleTextTaiwan = &H4E24 | 20 004 | TeleText - Taiwan,
cpWangTaiwan = &H4E25 | 20 005 | Wang - Taiwan,
cpxIA5 = &H4E89 | 20 105 | IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5
cpxIA5German = &H4E8A | 20 106 | IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German
cpxIA5Swedish = &H4E8B | 20 107 | IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish
cpxIA5Norwegian = &H4E8C | 20 108 | IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian
cpusascii = &H4E9F | 20 127 | US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us
cpT61 = &H4F25 | 20 261 | T.61,
cpISO6937NonSpacingAccent = &H4F2D | 20 269 | ISO 6937 Non-Spacing Accent,
cpxEBCDICGermany = &H4F31 | 20 273 | IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany
cpxEBCDICDenmarkNorway = &H4F35 | 20 277 | IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway
cpxEBCDICFinlandSweden = &H4F36 | 20 278 | IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden
cpxEBCDICItaly = &H4F38 | 20 280 | IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy
cpXEBCDICSpain = &H4F3C | 20 284 | IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain
cpxEBCDICUK = &H4F3D | 20 285 | IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK
cpxEBCDICJapaneseKatakana = &H4F42 | 20 290 | IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana
cpIBMEBCDICFrance = &H4F49 | 20 297 | IBM EBCDIC - France,
cpxEBCDICArabic = &H4FC4 | 20 420 | IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic
cpxEBCDICGreek = &H4FC7 | 20 423 | IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek
cpxEBCDICHebrew = &H4FC8 | 20 424 | IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew
cpxEBCDICKoreanExtended = &H5161 | 20 833 | IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended
cpxEBCDICThai = &H5166 | 20 838 | IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai
cpkoi8r = &H5182 | 20 866 | Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r
cpxEBCDICIcelandic = &H5187 | 20 871 | IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic
cpxEBCDICCyrillicRussian = &H5190 | 20 880 | IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian
cpxEBCDICTurkish = &H51A9 | 20 905 | IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish
cpIBMEBCDICLatin1OpenSystem1047Eurosymbol = &H51BC | 20 924 | IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol),
cpJISX0208199001211990 = &H51C4 | 20 932 | JIS X 0208-1990 & 0121-1990,
cpSimplifiedChineseGB2312 = &H51C8 | 20 936 | Simplified Chinese (GB2312),
cpxEBCDICCyrillicSerbianBulgarian = &H5221 | 21 025 | IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian
cpExtendedAlphaLowercase = &H5223 | 21 027 | Extended Alpha Lowercase,
cpkoi8u = &H556A | 21 866 | Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru
cpiso88591 = &H6FAF | 28 591 | ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1
cpiso88592 = &H6FB0 | 28 592 | ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2
cpiso88593 = &H6FB1 | 28 593 | ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3
cpiso88594 = &H6FB2 | 28 594 | ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4
cpiso88595 = &H6FB3 | 28 595 | ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5
cpiso88596 = &H6FB4 | 28 596 | ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127
cpiso88597 = &H6FB5 | 28 597 | ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126
cpiso88598 = &H6FB6 | 28 598 | ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual
cpiso88599 = &H6FB7 | 28 599 | ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5
cpiso885915 = &H6FBD | 28 605 | ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9
cpxEuropa = &H7149 | 29 001 | Europa 3, Europa, Charset Label:x-Europa
cpiso88598i = &H96C6 | 38 598 | ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical
cpiso2022jp = &HC42C | 50 220 | ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp
cpcsISO2022JP = &HC42D | 50 221 | ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp
cpiso2022jp1 = &HC42E | 50 222 | ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO
cpiso2022kr = &HC431 | 50 225 | ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR
cpISO2022SimplifiedChinese = &HC433 | 50 227 | ISO 2022 Simplified Chinese,
cpISO2022TraditionalChinese = &HC435 | 50 229 | ISO 2022 Traditional Chinese,
cpxEBCDICJapaneseAndKana = &HC6F2 | 50 930 | Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana
cpxEBCDICJapaneseAndUSCanada = &HC6F3 | 50 931 | US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada
cpxEBCDICKoreanAndKoreanExtended = &HC6F5 | 50 933 | Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended
cpxEBCDICSimplifiedChinese = &HC6F7 | 50 935 | Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese
cpSimplifiedChinese = &HC6F8 | 50 936 | Simplified Chinese,
cpxEBCDICTraditionalChinese = &HC6F9 | 50 937 | US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese
cpxEBCDICJapaneseAndJapaneseLatin = &HC6FB | 50 939 | Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin
cpeucjp = &HCADC | 51 932 | EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp
cpEUCCN = &HCAE0 | 51 936 | EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn
cpeuckr = &HCAED | 51 949 | EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR
cpEUCTraditionalChinese = &HCAEE | 51 950 | EUC - Traditional Chinese,
cphzgb2312 = &HCEC8 | 52 936 | HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312
cpWindowsXPGB18030SimplifiedChinese4Byte = &HD698 | 54 936 | Windows XP: GB18030 Simplified Chinese (4 Byte),
cpxisciide = &HDEAA | 57 002 | ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de
cpxisciibe = &HDEAB | 57 003 | ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be
cpxisciita = &HDEAC | 57 004 | ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta
cpxisciite = &HDEAD | 57 005 | ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te
cpxisciias = &HDEAE | 57 006 | ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as
cpxisciior = &HDEAF | 57 007 | ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or
cpxisciika = &HDEB0 | 57 008 | ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka
cpxisciima = &HDEB1 | 57 009 | ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma
cpxisciigu = &HDEB2 | 57 010 | ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu
cpxisciipa = &HDEB3 | 57 011 | ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa
cputf7 = &HFDE8 | 65 000 | Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7
cputf8 = &HFDE9 | 65 001 | Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8

Includes
'ConvertCodePages - begin
Public Const cpANSI = &H0 'ANSI code page.
Public Const cpOEM = &H1 'OEM code page.
Public Const cpMAC = &H2 'Macintosh code page.
Public Const cpebcdiccpus = &H25 'IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us
Public Const cpIBM437 = &H1B5 'OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437
Public Const cpIBMEBCDICInternational = &H1F4 'IBM EBCDIC - International,
Public Const cpASMO708 = &H2C4 'Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708
Public Const cpArabicASMO449BCONV4 = &H2C5 'Arabic - ASMO 449+, BCON V4,
Public Const cpArabicTransparentArabic = &H2C6 'Arabic - Transparent Arabic,
Public Const cpDOS720 = &H2D0 'Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720
Public Const cpibm737 = &H2E1 'OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737
Public Const cpibm775 = &H307 'OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500
Public Const cpibm850 = &H352 'OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850
Public Const cpibm852 = &H354 'OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852
Public Const cpOEMCyrillicprimarilyRussian = &H357 'OEM - Cyrillic (primarily Russian),
Public Const cpibm857 = &H359 'OEM - Turkish, Turkish (DOS), Charset Label:ibm857
Public Const cpOEMMultlingualLatinIEurosymbol = &H35A 'OEM - Multlingual Latin I + Euro symbol,
Public Const cpOEMPortuguese = &H35C 'OEM - Portuguese,
Public Const cpibm861 = &H35D 'OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861
Public Const cpDOS862 = &H35E 'OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862
Public Const cpOEMCanadianFrench = &H35F 'OEM - Canadian-French,
Public Const cpOEMArabic = &H360 'OEM - Arabic,
Public Const cpOEMNordic = &H361 'OEM - Nordic,
Public Const cpcp866 = &H362 'OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866
Public Const cpibm869 = &H365 'OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869
Public Const cpCP870 = &H366 'IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870
Public Const cpwindows874 = &H36A 'ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620
Public Const cpxEBCDICGreekModern = &H36B 'IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern
Public Const cpshiftjis = &H3A4 'ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis
Public Const cpgb2312 = &H3A8 'ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58
Public Const cpksc56011987 = &H3B5 'ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601
Public Const cpbig5 = &H3B6 'ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5
Public Const cpCP1026 = &H402 'IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026
Public Const cpIBMEBCDICLatin1OpenSystem = &H417 'IBM EBCDIC - Latin 1/Open System,
Public Const cpxebcdiccpuseuro = &H474 'IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro
Public Const cpxebcdicgermanyeuro = &H475 'IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro
Public Const cpxebcdicdenmarknorwayeuro = &H476 'IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro
Public Const cpxebcdicfinlandswedeneuro = &H477 'IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France
Public Const cpxebcdicitalyeuro = &H478 'IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro
Public Const cpxebcdicspaineuro = &H479 'IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro
Public Const cpxebcdicukeuro = &H47A 'IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro
Public Const cpxebcdicfranceeuro = &H47B 'IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro
Public Const cpxebcdicinternationaleuro = &H47C 'IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro
Public Const cpxebcdicicelandiceuro = &H47D 'IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro
Public Const cpunicodeLittle = &H4B0 'Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode
Public Const cpunicodeBig = &H4B1 'Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig
Public Const cpwindows1250 = &H4E2 'ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250
Public Const cpwindows1251 = &H4E3 'ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251
Public Const cpWindows1252 = &H4E4 'ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...
Public Const cpwindows1253 = &H4E5 'ANSI - Greek, Greek (Windows), Charset Label:windows-1253
Public Const cpwindows1254 = &H4E6 'ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5
Public Const cpwindows1255 = &H4E7 'ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual
Public Const cpwindows1256 = &H4E8 'ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256
Public Const cpwindows1257 = &H4E9 'ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257
Public Const cpwindows1258 = &H4EA 'ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258
Public Const cpJohab = &H551 'Korean (Johab), Korean (Johab), Charset Label:Johab
Public Const cpmacintosh = &H2710 'MAC - Roman, Western European (Mac), Charset Label:macintosh
Public Const cpxmacjapanese = &H2711 'MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese
Public Const cpxmacchinesetrad = &H2712 'MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad
Public Const cpxmackorean = &H2713 'MAC - Korean, Korean (Mac), Charset Label:x-mac-korean
Public Const cpxmacarabic = &H2714 'MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic
Public Const cpxmachebrew = &H2715 'MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew
Public Const cpxmacgreek = &H2716 'MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek
Public Const cpxmaccyrillic = &H2717 'MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic
Public Const cpxmacchinesesimp = &H2718 'MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp
Public Const cpMACRomania = &H271A 'MAC - Romania,
Public Const cpMACUkraine = &H2721 'MAC - Ukraine,
Public Const cpMACThai = &H2725 'MAC - Thai,
Public Const cpxmacce = &H272D 'MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce
Public Const cpxmacicelandic = &H275F 'MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic
Public Const cpxmacturkish = &H2761 'MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish
Public Const cpMACCroatia = &H2762 'MAC - Croatia,
Public Const cpUnicodeUCS4LittleEndian = &H2EE0 'Unicode UCS-4 Little-Endian,
Public Const cpUnicodeUCS4BigEndian = &H2EE1 'Unicode UCS-4 Big-Endian,
Public Const cpxChineseCNS = &H4E20 'CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS
Public Const cpTCATaiwan = &H4E21 'TCA - Taiwan,
Public Const cpxChineseEten = &H4E22 'Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten
Public Const cpIBM5550Taiwan = &H4E23 'IBM5550 - Taiwan,
Public Const cpTeleTextTaiwan = &H4E24 'TeleText - Taiwan,
Public Const cpWangTaiwan = &H4E25 'Wang - Taiwan,
Public Const cpxIA5 = &H4E89 'IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5
Public Const cpxIA5German = &H4E8A 'IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German
Public Const cpxIA5Swedish = &H4E8B 'IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish
Public Const cpxIA5Norwegian = &H4E8C 'IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian
Public Const cpusascii = &H4E9F 'US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us
Public Const cpT61 = &H4F25 'T.61,
Public Const cpISO6937NonSpacingAccent = &H4F2D 'ISO 6937 Non-Spacing Accent,
Public Const cpxEBCDICGermany = &H4F31 'IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany
Public Const cpxEBCDICDenmarkNorway = &H4F35 'IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway
Public Const cpxEBCDICFinlandSweden = &H4F36 'IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden
Public Const cpxEBCDICItaly = &H4F38 'IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy
Public Const cpXEBCDICSpain = &H4F3C 'IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain
Public Const cpxEBCDICUK = &H4F3D 'IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK
Public Const cpxEBCDICJapaneseKatakana = &H4F42 'IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana
Public Const cpIBMEBCDICFrance = &H4F49 'IBM EBCDIC - France,
Public Const cpxEBCDICArabic = &H4FC4 'IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic
Public Const cpxEBCDICGreek = &H4FC7 'IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek
Public Const cpxEBCDICHebrew = &H4FC8 'IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew
Public Const cpxEBCDICKoreanExtended = &H5161 'IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended
Public Const cpxEBCDICThai = &H5166 'IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai
Public Const cpkoi8r = &H5182 'Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r
Public Const cpxEBCDICIcelandic = &H5187 'IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic
Public Const cpxEBCDICCyrillicRussian = &H5190 'IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian
Public Const cpxEBCDICTurkish = &H51A9 'IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish
Public Const cpIBMEBCDICLatin1OpenSystem1047Eurosymbol = &H51BC 'IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol),
Public Const cpJISX0208199001211990 = &H51C4 'JIS X 0208-1990 & 0121-1990,
Public Const cpSimplifiedChineseGB2312 = &H51C8 'Simplified Chinese (GB2312),
Public Const cpxEBCDICCyrillicSerbianBulgarian = &H5221 'IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian
Public Const cpExtendedAlphaLowercase = &H5223 'Extended Alpha Lowercase,
Public Const cpkoi8u = &H556A 'Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru
Public Const cpiso88591 = &H6FAF 'ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1
Public Const cpiso88592 = &H6FB0 'ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2
Public Const cpiso88593 = &H6FB1 'ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3
Public Const cpiso88594 = &H6FB2 'ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4
Public Const cpiso88595 = &H6FB3 'ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5
Public Const cpiso88596 = &H6FB4 'ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127
Public Const cpiso88597 = &H6FB5 'ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126
Public Const cpiso88598 = &H6FB6 'ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual
Public Const cpiso88599 = &H6FB7 'ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5
Public Const cpiso885915 = &H6FBD 'ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9
Public Const cpxEuropa = &H7149 'Europa 3, Europa, Charset Label:x-Europa
Public Const cpiso88598i = &H96C6 'ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical
Public Const cpiso2022jp = &HC42C 'ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp
Public Const cpcsISO2022JP = &HC42D 'ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp
Public Const cpiso2022jp1 = &HC42E 'ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO
Public Const cpiso2022kr = &HC431 'ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR
Public Const cpISO2022SimplifiedChinese = &HC433 'ISO 2022 Simplified Chinese,
Public Const cpISO2022TraditionalChinese = &HC435 'ISO 2022 Traditional Chinese,
Public Const cpxEBCDICJapaneseAndKana = &HC6F2 'Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana
Public Const cpxEBCDICJapaneseAndUSCanada = &HC6F3 'US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada
Public Const cpxEBCDICKoreanAndKoreanExtended = &HC6F5 'Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended
Public Const cpxEBCDICSimplifiedChinese = &HC6F7 'Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese
Public Const cpSimplifiedChinese = &HC6F8 'Simplified Chinese,
Public Const cpxEBCDICTraditionalChinese = &HC6F9 'US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese
Public Const cpxEBCDICJapaneseAndJapaneseLatin = &HC6FB 'Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin
Public Const cpeucjp = &HCADC 'EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp
Public Const cpEUCCN = &HCAE0 'EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn
Public Const cpeuckr = &HCAED 'EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR
Public Const cpEUCTraditionalChinese = &HCAEE 'EUC - Traditional Chinese,
Public Const cphzgb2312 = &HCEC8 'HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312
Public Const cpWindowsXPGB18030SimplifiedChinese4Byte = &HD698 'Windows XP: GB18030 Simplified Chinese (4 Byte),
Public Const cpxisciide = &HDEAA 'ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de
Public Const cpxisciibe = &HDEAB 'ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be
Public Const cpxisciita = &HDEAC 'ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta
Public Const cpxisciite = &HDEAD 'ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te
Public Const cpxisciias = &HDEAE 'ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as
Public Const cpxisciior = &HDEAF 'ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or
Public Const cpxisciika = &HDEB0 'ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka
Public Const cpxisciima = &HDEB1 'ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma
Public Const cpxisciigu = &HDEB2 'ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu
Public Const cpxisciipa = &HDEB3 'ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa
Public Const cputf7 = &HFDE8 'Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7
Public Const cputf8 = &HFDE9 'Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8
'ConvertCodePages - end

'ConvertCodePages - begin
Public Const cpANSI As Long = &H0 'ANSI code page.
Public Const cpOEM As Long = &H1 'OEM code page.
Public Const cpMAC As Long = &H2 'Macintosh code page.
Public Const cpebcdiccpus As Long = &H25 'IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us
Public Const cpIBM437 As Long = &H1B5 'OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437
Public Const cpIBMEBCDICInternational As Long = &H1F4 'IBM EBCDIC - International,
Public Const cpASMO708 As Long = &H2C4 'Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708
Public Const cpArabicASMO449BCONV4 As Long = &H2C5 'Arabic - ASMO 449+, BCON V4,
Public Const cpArabicTransparentArabic As Long = &H2C6 'Arabic - Transparent Arabic,
Public Const cpDOS720 As Long = &H2D0 'Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720
Public Const cpibm737 As Long = &H2E1 'OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737
Public Const cpibm775 As Long = &H307 'OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500
Public Const cpibm850 As Long = &H352 'OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850
Public Const cpibm852 As Long = &H354 'OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852
Public Const cpOEMCyrillicprimarilyRussian As Long = &H357 'OEM - Cyrillic (primarily Russian),
Public Const cpibm857 As Long = &H359 'OEM - Turkish, Turkish (DOS), Charset Label:ibm857
Public Const cpOEMMultlingualLatinIEurosymbol As Long = &H35A 'OEM - Multlingual Latin I + Euro symbol,
Public Const cpOEMPortuguese As Long = &H35C 'OEM - Portuguese,
Public Const cpibm861 As Long = &H35D 'OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861
Public Const cpDOS862 As Long = &H35E 'OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862
Public Const cpOEMCanadianFrench As Long = &H35F 'OEM - Canadian-French,
Public Const cpOEMArabic As Long = &H360 'OEM - Arabic,
Public Const cpOEMNordic As Long = &H361 'OEM - Nordic,
Public Const cpcp866 As Long = &H362 'OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866
Public Const cpibm869 As Long = &H365 'OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869
Public Const cpCP870 As Long = &H366 'IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870
Public Const cpwindows874 As Long = &H36A 'ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620
Public Const cpxEBCDICGreekModern As Long = &H36B 'IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern
Public Const cpshiftjis As Long = &H3A4 'ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis
Public Const cpgb2312 As Long = &H3A8 'ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58
Public Const cpksc56011987 As Long = &H3B5 'ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601
Public Const cpbig5 As Long = &H3B6 'ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5
Public Const cpCP1026 As Long = &H402 'IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026
Public Const cpIBMEBCDICLatin1OpenSystem As Long = &H417 'IBM EBCDIC - Latin 1/Open System,
Public Const cpxebcdiccpuseuro As Long = &H474 'IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro
Public Const cpxebcdicgermanyeuro As Long = &H475 'IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro
Public Const cpxebcdicdenmarknorwayeuro As Long = &H476 'IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro
Public Const cpxebcdicfinlandswedeneuro As Long = &H477 'IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France
Public Const cpxebcdicitalyeuro As Long = &H478 'IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro
Public Const cpxebcdicspaineuro As Long = &H479 'IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro
Public Const cpxebcdicukeuro As Long = &H47A 'IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro
Public Const cpxebcdicfranceeuro As Long = &H47B 'IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro
Public Const cpxebcdicinternationaleuro As Long = &H47C 'IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro
Public Const cpxebcdicicelandiceuro As Long = &H47D 'IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro
Public Const cpunicodeLittle As Long = &H4B0 'Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode
Public Const cpunicodeBig As Long = &H4B1 'Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig
Public Const cpwindows1250 As Long = &H4E2 'ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250
Public Const cpwindows1251 As Long = &H4E3 'ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251
Public Const cpWindows1252 As Long = &H4E4 'ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...
Public Const cpwindows1253 As Long = &H4E5 'ANSI - Greek, Greek (Windows), Charset Label:windows-1253
Public Const cpwindows1254 As Long = &H4E6 'ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5
Public Const cpwindows1255 As Long = &H4E7 'ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual
Public Const cpwindows1256 As Long = &H4E8 'ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256
Public Const cpwindows1257 As Long = &H4E9 'ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257
Public Const cpwindows1258 As Long = &H4EA 'ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258
Public Const cpJohab As Long = &H551 'Korean (Johab), Korean (Johab), Charset Label:Johab
Public Const cpmacintosh As Long = &H2710 'MAC - Roman, Western European (Mac), Charset Label:macintosh
Public Const cpxmacjapanese As Long = &H2711 'MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese
Public Const cpxmacchinesetrad As Long = &H2712 'MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad
Public Const cpxmackorean As Long = &H2713 'MAC - Korean, Korean (Mac), Charset Label:x-mac-korean
Public Const cpxmacarabic As Long = &H2714 'MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic
Public Const cpxmachebrew As Long = &H2715 'MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew
Public Const cpxmacgreek As Long = &H2716 'MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek
Public Const cpxmaccyrillic As Long = &H2717 'MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic
Public Const cpxmacchinesesimp As Long = &H2718 'MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp
Public Const cpMACRomania As Long = &H271A 'MAC - Romania,
Public Const cpMACUkraine As Long = &H2721 'MAC - Ukraine,
Public Const cpMACThai As Long = &H2725 'MAC - Thai,
Public Const cpxmacce As Long = &H272D 'MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce
Public Const cpxmacicelandic As Long = &H275F 'MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic
Public Const cpxmacturkish As Long = &H2761 'MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish
Public Const cpMACCroatia As Long = &H2762 'MAC - Croatia,
Public Const cpUnicodeUCS4LittleEndian As Long = &H2EE0 'Unicode UCS-4 Little-Endian,
Public Const cpUnicodeUCS4BigEndian As Long = &H2EE1 'Unicode UCS-4 Big-Endian,
Public Const cpxChineseCNS As Long = &H4E20 'CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS
Public Const cpTCATaiwan As Long = &H4E21 'TCA - Taiwan,
Public Const cpxChineseEten As Long = &H4E22 'Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten
Public Const cpIBM5550Taiwan As Long = &H4E23 'IBM5550 - Taiwan,
Public Const cpTeleTextTaiwan As Long = &H4E24 'TeleText - Taiwan,
Public Const cpWangTaiwan As Long = &H4E25 'Wang - Taiwan,
Public Const cpxIA5 As Long = &H4E89 'IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5
Public Const cpxIA5German As Long = &H4E8A 'IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German
Public Const cpxIA5Swedish As Long = &H4E8B 'IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish
Public Const cpxIA5Norwegian As Long = &H4E8C 'IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian
Public Const cpusascii As Long = &H4E9F 'US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us
Public Const cpT61 As Long = &H4F25 'T.61,
Public Const cpISO6937NonSpacingAccent As Long = &H4F2D 'ISO 6937 Non-Spacing Accent,
Public Const cpxEBCDICGermany As Long = &H4F31 'IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany
Public Const cpxEBCDICDenmarkNorway As Long = &H4F35 'IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway
Public Const cpxEBCDICFinlandSweden As Long = &H4F36 'IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden
Public Const cpxEBCDICItaly As Long = &H4F38 'IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy
Public Const cpXEBCDICSpain As Long = &H4F3C 'IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain
Public Const cpxEBCDICUK As Long = &H4F3D 'IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK
Public Const cpxEBCDICJapaneseKatakana As Long = &H4F42 'IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana
Public Const cpIBMEBCDICFrance As Long = &H4F49 'IBM EBCDIC - France,
Public Const cpxEBCDICArabic As Long = &H4FC4 'IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic
Public Const cpxEBCDICGreek As Long = &H4FC7 'IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek
Public Const cpxEBCDICHebrew As Long = &H4FC8 'IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew
Public Const cpxEBCDICKoreanExtended As Long = &H5161 'IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended
Public Const cpxEBCDICThai As Long = &H5166 'IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai
Public Const cpkoi8r As Long = &H5182 'Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r
Public Const cpxEBCDICIcelandic As Long = &H5187 'IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic
Public Const cpxEBCDICCyrillicRussian As Long = &H5190 'IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian
Public Const cpxEBCDICTurkish As Long = &H51A9 'IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish
Public Const cpIBMEBCDICLatin1OpenSystem1047Eurosymbol As Long = &H51BC 'IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol),
Public Const cpJISX0208199001211990 As Long = &H51C4 'JIS X 0208-1990 & 0121-1990,
Public Const cpSimplifiedChineseGB2312 As Long = &H51C8 'Simplified Chinese (GB2312),
Public Const cpxEBCDICCyrillicSerbianBulgarian As Long = &H5221 'IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian
Public Const cpExtendedAlphaLowercase As Long = &H5223 'Extended Alpha Lowercase,
Public Const cpkoi8u As Long = &H556A 'Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru
Public Const cpiso88591 As Long = &H6FAF 'ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1
Public Const cpiso88592 As Long = &H6FB0 'ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2
Public Const cpiso88593 As Long = &H6FB1 'ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3
Public Const cpiso88594 As Long = &H6FB2 'ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4
Public Const cpiso88595 As Long = &H6FB3 'ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5
Public Const cpiso88596 As Long = &H6FB4 'ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127
Public Const cpiso88597 As Long = &H6FB5 'ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126
Public Const cpiso88598 As Long = &H6FB6 'ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual
Public Const cpiso88599 As Long = &H6FB7 'ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5
Public Const cpiso885915 As Long = &H6FBD 'ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9
Public Const cpxEuropa As Long = &H7149 'Europa 3, Europa, Charset Label:x-Europa
Public Const cpiso88598i As Long = &H96C6 'ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical
Public Const cpiso2022jp As Long = &HC42C 'ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp
Public Const cpcsISO2022JP As Long = &HC42D 'ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp
Public Const cpiso2022jp1 As Long = &HC42E 'ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO
Public Const cpiso2022kr As Long = &HC431 'ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR
Public Const cpISO2022SimplifiedChinese As Long = &HC433 'ISO 2022 Simplified Chinese,
Public Const cpISO2022TraditionalChinese As Long = &HC435 'ISO 2022 Traditional Chinese,
Public Const cpxEBCDICJapaneseAndKana As Long = &HC6F2 'Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana
Public Const cpxEBCDICJapaneseAndUSCanada As Long = &HC6F3 'US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada
Public Const cpxEBCDICKoreanAndKoreanExtended As Long = &HC6F5 'Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended
Public Const cpxEBCDICSimplifiedChinese As Long = &HC6F7 'Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese
Public Const cpSimplifiedChinese As Long = &HC6F8 'Simplified Chinese,
Public Const cpxEBCDICTraditionalChinese As Long = &HC6F9 'US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese
Public Const cpxEBCDICJapaneseAndJapaneseLatin As Long = &HC6FB 'Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin
Public Const cpeucjp As Long = &HCADC 'EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp
Public Const cpEUCCN As Long = &HCAE0 'EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn
Public Const cpeuckr As Long = &HCAED 'EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR
Public Const cpEUCTraditionalChinese As Long = &HCAEE 'EUC - Traditional Chinese,
Public Const cphzgb2312 As Long = &HCEC8 'HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312
Public Const cpWindowsXPGB18030SimplifiedChinese4Byte As Long = &HD698 'Windows XP: GB18030 Simplified Chinese (4 Byte),
Public Const cpxisciide As Long = &HDEAA 'ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de
Public Const cpxisciibe As Long = &HDEAB 'ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be
Public Const cpxisciita As Long = &HDEAC 'ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta
Public Const cpxisciite As Long = &HDEAD 'ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te
Public Const cpxisciias As Long = &HDEAE 'ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as
Public Const cpxisciior As Long = &HDEAF 'ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or
Public Const cpxisciika As Long = &HDEB0 'ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka
Public Const cpxisciima As Long = &HDEB1 'ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma
Public Const cpxisciigu As Long = &HDEB2 'ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu
Public Const cpxisciipa As Long = &HDEB3 'ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa
Public Const cputf7 As Long = &HFDE8 'Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7
Public Const cputf8 As Long = &HFDE9 'Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8
'ConvertCodePages - end

Public Enum ConvertCodePages
  cpANSI = &H0 'ANSI code page.
  cpOEM = &H1 'OEM code page.
  cpMAC = &H2 'Macintosh code page.
  cpebcdiccpus = &H25 'IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us
  cpIBM437 = &H1B5 'OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437
  cpIBMEBCDICInternational = &H1F4 'IBM EBCDIC - International,
  cpASMO708 = &H2C4 'Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708
  cpArabicASMO449BCONV4 = &H2C5 'Arabic - ASMO 449+, BCON V4,
  cpArabicTransparentArabic = &H2C6 'Arabic - Transparent Arabic,
  cpDOS720 = &H2D0 'Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720
  cpibm737 = &H2E1 'OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737
  cpibm775 = &H307 'OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500
  cpibm850 = &H352 'OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850
  cpibm852 = &H354 'OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852
  cpOEMCyrillicprimarilyRussian = &H357 'OEM - Cyrillic (primarily Russian),
  cpibm857 = &H359 'OEM - Turkish, Turkish (DOS), Charset Label:ibm857
  cpOEMMultlingualLatinIEurosymbol = &H35A 'OEM - Multlingual Latin I + Euro symbol,
  cpOEMPortuguese = &H35C 'OEM - Portuguese,
  cpibm861 = &H35D 'OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861
  cpDOS862 = &H35E 'OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862
  cpOEMCanadianFrench = &H35F 'OEM - Canadian-French,
  cpOEMArabic = &H360 'OEM - Arabic,
  cpOEMNordic = &H361 'OEM - Nordic,
  cpcp866 = &H362 'OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866
  cpibm869 = &H365 'OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869
  cpCP870 = &H366 'IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870
  cpwindows874 = &H36A 'ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620
  cpxEBCDICGreekModern = &H36B 'IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern
  cpshiftjis = &H3A4 'ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis
  cpgb2312 = &H3A8 'ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58
  cpksc56011987 = &H3B5 'ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601
  cpbig5 = &H3B6 'ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5
  cpCP1026 = &H402 'IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026
  cpIBMEBCDICLatin1OpenSystem = &H417 'IBM EBCDIC - Latin 1/Open System,
  cpxebcdiccpuseuro = &H474 'IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro
  cpxebcdicgermanyeuro = &H475 'IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro
  cpxebcdicdenmarknorwayeuro = &H476 'IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro
  cpxebcdicfinlandswedeneuro = &H477 'IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France
  cpxebcdicitalyeuro = &H478 'IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro
  cpxebcdicspaineuro = &H479 'IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro
  cpxebcdicukeuro = &H47A 'IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro
  cpxebcdicfranceeuro = &H47B 'IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro
  cpxebcdicinternationaleuro = &H47C 'IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro
  cpxebcdicicelandiceuro = &H47D 'IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro
  cpunicodeLittle = &H4B0 'Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode
  cpunicodeBig = &H4B1 'Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig
  cpwindows1250 = &H4E2 'ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250
  cpwindows1251 = &H4E3 'ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251
  cpWindows1252 = &H4E4 'ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...
  cpwindows1253 = &H4E5 'ANSI - Greek, Greek (Windows), Charset Label:windows-1253
  cpwindows1254 = &H4E6 'ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5
  cpwindows1255 = &H4E7 'ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual
  cpwindows1256 = &H4E8 'ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256
  cpwindows1257 = &H4E9 'ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257
  cpwindows1258 = &H4EA 'ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258
  cpJohab = &H551 'Korean (Johab), Korean (Johab), Charset Label:Johab
  cpmacintosh = &H2710 'MAC - Roman, Western European (Mac), Charset Label:macintosh
  cpxmacjapanese = &H2711 'MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese
  cpxmacchinesetrad = &H2712 'MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad
  cpxmackorean = &H2713 'MAC - Korean, Korean (Mac), Charset Label:x-mac-korean
  cpxmacarabic = &H2714 'MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic
  cpxmachebrew = &H2715 'MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew
  cpxmacgreek = &H2716 'MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek
  cpxmaccyrillic = &H2717 'MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic
  cpxmacchinesesimp = &H2718 'MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp
  cpMACRomania = &H271A 'MAC - Romania,
  cpMACUkraine = &H2721 'MAC - Ukraine,
  cpMACThai = &H2725 'MAC - Thai,
  cpxmacce = &H272D 'MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce
  cpxmacicelandic = &H275F 'MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic
  cpxmacturkish = &H2761 'MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish
  cpMACCroatia = &H2762 'MAC - Croatia,
  cpUnicodeUCS4LittleEndian = &H2EE0 'Unicode UCS-4 Little-Endian,
  cpUnicodeUCS4BigEndian = &H2EE1 'Unicode UCS-4 Big-Endian,
  cpxChineseCNS = &H4E20 'CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS
  cpTCATaiwan = &H4E21 'TCA - Taiwan,
  cpxChineseEten = &H4E22 'Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten
  cpIBM5550Taiwan = &H4E23 'IBM5550 - Taiwan,
  cpTeleTextTaiwan = &H4E24 'TeleText - Taiwan,
  cpWangTaiwan = &H4E25 'Wang - Taiwan,
  cpxIA5 = &H4E89 'IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5
  cpxIA5German = &H4E8A 'IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German
  cpxIA5Swedish = &H4E8B 'IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish
  cpxIA5Norwegian = &H4E8C 'IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian
  cpusascii = &H4E9F 'US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us
  cpT61 = &H4F25 'T.61,
  cpISO6937NonSpacingAccent = &H4F2D 'ISO 6937 Non-Spacing Accent,
  cpxEBCDICGermany = &H4F31 'IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany
  cpxEBCDICDenmarkNorway = &H4F35 'IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway
  cpxEBCDICFinlandSweden = &H4F36 'IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden
  cpxEBCDICItaly = &H4F38 'IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy
  cpXEBCDICSpain = &H4F3C 'IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain
  cpxEBCDICUK = &H4F3D 'IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK
  cpxEBCDICJapaneseKatakana = &H4F42 'IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana
  cpIBMEBCDICFrance = &H4F49 'IBM EBCDIC - France,
  cpxEBCDICArabic = &H4FC4 'IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic
  cpxEBCDICGreek = &H4FC7 'IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek
  cpxEBCDICHebrew = &H4FC8 'IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew
  cpxEBCDICKoreanExtended = &H5161 'IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended
  cpxEBCDICThai = &H5166 'IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai
  cpkoi8r = &H5182 'Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r
  cpxEBCDICIcelandic = &H5187 'IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic
  cpxEBCDICCyrillicRussian = &H5190 'IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian
  cpxEBCDICTurkish = &H51A9 'IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish
  cpIBMEBCDICLatin1OpenSystem1047Eurosymbol = &H51BC 'IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol),
  cpJISX0208199001211990 = &H51C4 'JIS X 0208-1990 & 0121-1990,
  cpSimplifiedChineseGB2312 = &H51C8 'Simplified Chinese (GB2312),
  cpxEBCDICCyrillicSerbianBulgarian = &H5221 'IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian
  cpExtendedAlphaLowercase = &H5223 'Extended Alpha Lowercase,
  cpkoi8u = &H556A 'Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru
  cpiso88591 = &H6FAF 'ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1
  cpiso88592 = &H6FB0 'ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2
  cpiso88593 = &H6FB1 'ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3
  cpiso88594 = &H6FB2 'ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4
  cpiso88595 = &H6FB3 'ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5
  cpiso88596 = &H6FB4 'ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127
  cpiso88597 = &H6FB5 'ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126
  cpiso88598 = &H6FB6 'ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual
  cpiso88599 = &H6FB7 'ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5
  cpiso885915 = &H6FBD 'ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9
  cpxEuropa = &H7149 'Europa 3, Europa, Charset Label:x-Europa
  cpiso88598i = &H96C6 'ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical
  cpiso2022jp = &HC42C 'ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp
  cpcsISO2022JP = &HC42D 'ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp
  cpiso2022jp1 = &HC42E 'ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO
  cpiso2022kr = &HC431 'ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR
  cpISO2022SimplifiedChinese = &HC433 'ISO 2022 Simplified Chinese,
  cpISO2022TraditionalChinese = &HC435 'ISO 2022 Traditional Chinese,
  cpxEBCDICJapaneseAndKana = &HC6F2 'Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana
  cpxEBCDICJapaneseAndUSCanada = &HC6F3 'US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada
  cpxEBCDICKoreanAndKoreanExtended = &HC6F5 'Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended
  cpxEBCDICSimplifiedChinese = &HC6F7 'Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese
  cpSimplifiedChinese = &HC6F8 'Simplified Chinese,
  cpxEBCDICTraditionalChinese = &HC6F9 'US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese
  cpxEBCDICJapaneseAndJapaneseLatin = &HC6FB 'Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin
  cpeucjp = &HCADC 'EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp
  cpEUCCN = &HCAE0 'EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn
  cpeuckr = &HCAED 'EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR
  cpEUCTraditionalChinese = &HCAEE 'EUC - Traditional Chinese,
  cphzgb2312 = &HCEC8 'HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312
  cpWindowsXPGB18030SimplifiedChinese4Byte = &HD698 'Windows XP: GB18030 Simplified Chinese (4 Byte),
  cpxisciide = &HDEAA 'ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de
  cpxisciibe = &HDEAB 'ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be
  cpxisciita = &HDEAC 'ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta
  cpxisciite = &HDEAD 'ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te
  cpxisciias = &HDEAE 'ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as
  cpxisciior = &HDEAF 'ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or
  cpxisciika = &HDEB0 'ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka
  cpxisciima = &HDEB1 'ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma
  cpxisciigu = &HDEB2 'ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu
  cpxisciipa = &HDEB3 'ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa
  cputf7 = &HFDE8 'Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7
  cputf8 = &HFDE9 'Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8
End Enum 'ConvertCodePages
//ConvertCodePages - begin
var cpANSI = 0x0; //ANSI code page.
var cpOEM = 0x1; //OEM code page.
var cpMAC = 0x2; //Macintosh code page.
var cpebcdiccpus = 0x25; //IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us
var cpIBM437 = 0x1B5; //OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437
var cpIBMEBCDICInternational = 0x1F4; //IBM EBCDIC - International,
var cpASMO708 = 0x2C4; //Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708
var cpArabicASMO449BCONV4 = 0x2C5; //Arabic - ASMO 449+, BCON V4,
var cpArabicTransparentArabic = 0x2C6; //Arabic - Transparent Arabic,
var cpDOS720 = 0x2D0; //Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720
var cpibm737 = 0x2E1; //OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737
var cpibm775 = 0x307; //OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500
var cpibm850 = 0x352; //OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850
var cpibm852 = 0x354; //OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852
var cpOEMCyrillicprimarilyRussian = 0x357; //OEM - Cyrillic (primarily Russian),
var cpibm857 = 0x359; //OEM - Turkish, Turkish (DOS), Charset Label:ibm857
var cpOEMMultlingualLatinIEurosymbol = 0x35A; //OEM - Multlingual Latin I + Euro symbol,
var cpOEMPortuguese = 0x35C; //OEM - Portuguese,
var cpibm861 = 0x35D; //OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861
var cpDOS862 = 0x35E; //OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862
var cpOEMCanadianFrench = 0x35F; //OEM - Canadian-French,
var cpOEMArabic = 0x360; //OEM - Arabic,
var cpOEMNordic = 0x361; //OEM - Nordic,
var cpcp866 = 0x362; //OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866
var cpibm869 = 0x365; //OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869
var cpCP870 = 0x366; //IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870
var cpwindows874 = 0x36A; //ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620
var cpxEBCDICGreekModern = 0x36B; //IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern
var cpshiftjis = 0x3A4; //ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis
var cpgb2312 = 0x3A8; //ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58
var cpksc56011987 = 0x3B5; //ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601
var cpbig5 = 0x3B6; //ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5
var cpCP1026 = 0x402; //IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026
var cpIBMEBCDICLatin1OpenSystem = 0x417; //IBM EBCDIC - Latin 1/Open System,
var cpxebcdiccpuseuro = 0x474; //IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro
var cpxebcdicgermanyeuro = 0x475; //IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro
var cpxebcdicdenmarknorwayeuro = 0x476; //IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro
var cpxebcdicfinlandswedeneuro = 0x477; //IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France
var cpxebcdicitalyeuro = 0x478; //IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro
var cpxebcdicspaineuro = 0x479; //IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro
var cpxebcdicukeuro = 0x47A; //IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro
var cpxebcdicfranceeuro = 0x47B; //IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro
var cpxebcdicinternationaleuro = 0x47C; //IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro
var cpxebcdicicelandiceuro = 0x47D; //IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro
var cpunicodeLittle = 0x4B0; //Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode
var cpunicodeBig = 0x4B1; //Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig
var cpwindows1250 = 0x4E2; //ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250
var cpwindows1251 = 0x4E3; //ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251
var cpWindows1252 = 0x4E4; //ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...
var cpwindows1253 = 0x4E5; //ANSI - Greek, Greek (Windows), Charset Label:windows-1253
var cpwindows1254 = 0x4E6; //ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5
var cpwindows1255 = 0x4E7; //ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual
var cpwindows1256 = 0x4E8; //ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256
var cpwindows1257 = 0x4E9; //ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257
var cpwindows1258 = 0x4EA; //ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258
var cpJohab = 0x551; //Korean (Johab), Korean (Johab), Charset Label:Johab
var cpmacintosh = 0x2710; //MAC - Roman, Western European (Mac), Charset Label:macintosh
var cpxmacjapanese = 0x2711; //MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese
var cpxmacchinesetrad = 0x2712; //MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad
var cpxmackorean = 0x2713; //MAC - Korean, Korean (Mac), Charset Label:x-mac-korean
var cpxmacarabic = 0x2714; //MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic
var cpxmachebrew = 0x2715; //MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew
var cpxmacgreek = 0x2716; //MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek
var cpxmaccyrillic = 0x2717; //MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic
var cpxmacchinesesimp = 0x2718; //MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp
var cpMACRomania = 0x271A; //MAC - Romania,
var cpMACUkraine = 0x2721; //MAC - Ukraine,
var cpMACThai = 0x2725; //MAC - Thai,
var cpxmacce = 0x272D; //MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce
var cpxmacicelandic = 0x275F; //MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic
var cpxmacturkish = 0x2761; //MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish
var cpMACCroatia = 0x2762; //MAC - Croatia,
var cpUnicodeUCS4LittleEndian = 0x2EE0; //Unicode UCS-4 Little-Endian,
var cpUnicodeUCS4BigEndian = 0x2EE1; //Unicode UCS-4 Big-Endian,
var cpxChineseCNS = 0x4E20; //CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS
var cpTCATaiwan = 0x4E21; //TCA - Taiwan,
var cpxChineseEten = 0x4E22; //Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten
var cpIBM5550Taiwan = 0x4E23; //IBM5550 - Taiwan,
var cpTeleTextTaiwan = 0x4E24; //TeleText - Taiwan,
var cpWangTaiwan = 0x4E25; //Wang - Taiwan,
var cpxIA5 = 0x4E89; //IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5
var cpxIA5German = 0x4E8A; //IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German
var cpxIA5Swedish = 0x4E8B; //IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish
var cpxIA5Norwegian = 0x4E8C; //IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian
var cpusascii = 0x4E9F; //US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us
var cpT61 = 0x4F25; //T.61,
var cpISO6937NonSpacingAccent = 0x4F2D; //ISO 6937 Non-Spacing Accent,
var cpxEBCDICGermany = 0x4F31; //IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany
var cpxEBCDICDenmarkNorway = 0x4F35; //IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway
var cpxEBCDICFinlandSweden = 0x4F36; //IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden
var cpxEBCDICItaly = 0x4F38; //IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy
var cpXEBCDICSpain = 0x4F3C; //IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain
var cpxEBCDICUK = 0x4F3D; //IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK
var cpxEBCDICJapaneseKatakana = 0x4F42; //IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana
var cpIBMEBCDICFrance = 0x4F49; //IBM EBCDIC - France,
var cpxEBCDICArabic = 0x4FC4; //IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic
var cpxEBCDICGreek = 0x4FC7; //IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek
var cpxEBCDICHebrew = 0x4FC8; //IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew
var cpxEBCDICKoreanExtended = 0x5161; //IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended
var cpxEBCDICThai = 0x5166; //IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai
var cpkoi8r = 0x5182; //Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r
var cpxEBCDICIcelandic = 0x5187; //IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic
var cpxEBCDICCyrillicRussian = 0x5190; //IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian
var cpxEBCDICTurkish = 0x51A9; //IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish
var cpIBMEBCDICLatin1OpenSystem1047Eurosymbol = 0x51BC; //IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol),
var cpJISX0208199001211990 = 0x51C4; //JIS X 0208-1990 & 0121-1990,
var cpSimplifiedChineseGB2312 = 0x51C8; //Simplified Chinese (GB2312),
var cpxEBCDICCyrillicSerbianBulgarian = 0x5221; //IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian
var cpExtendedAlphaLowercase = 0x5223; //Extended Alpha Lowercase,
var cpkoi8u = 0x556A; //Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru
var cpiso88591 = 0x6FAF; //ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1
var cpiso88592 = 0x6FB0; //ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2
var cpiso88593 = 0x6FB1; //ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3
var cpiso88594 = 0x6FB2; //ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4
var cpiso88595 = 0x6FB3; //ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5
var cpiso88596 = 0x6FB4; //ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127
var cpiso88597 = 0x6FB5; //ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126
var cpiso88598 = 0x6FB6; //ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual
var cpiso88599 = 0x6FB7; //ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5
var cpiso885915 = 0x6FBD; //ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9
var cpxEuropa = 0x7149; //Europa 3, Europa, Charset Label:x-Europa
var cpiso88598i = 0x96C6; //ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical
var cpiso2022jp = 0xC42C; //ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp
var cpcsISO2022JP = 0xC42D; //ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp
var cpiso2022jp1 = 0xC42E; //ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO
var cpiso2022kr = 0xC431; //ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR
var cpISO2022SimplifiedChinese = 0xC433; //ISO 2022 Simplified Chinese,
var cpISO2022TraditionalChinese = 0xC435; //ISO 2022 Traditional Chinese,
var cpxEBCDICJapaneseAndKana = 0xC6F2; //Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana
var cpxEBCDICJapaneseAndUSCanada = 0xC6F3; //US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada
var cpxEBCDICKoreanAndKoreanExtended = 0xC6F5; //Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended
var cpxEBCDICSimplifiedChinese = 0xC6F7; //Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese
var cpSimplifiedChinese = 0xC6F8; //Simplified Chinese,
var cpxEBCDICTraditionalChinese = 0xC6F9; //US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese
var cpxEBCDICJapaneseAndJapaneseLatin = 0xC6FB; //Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin
var cpeucjp = 0xCADC; //EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp
var cpEUCCN = 0xCAE0; //EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn
var cpeuckr = 0xCAED; //EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR
var cpEUCTraditionalChinese = 0xCAEE; //EUC - Traditional Chinese,
var cphzgb2312 = 0xCEC8; //HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312
var cpWindowsXPGB18030SimplifiedChinese4Byte = 0xD698; //Windows XP: GB18030 Simplified Chinese (4 Byte),
var cpxisciide = 0xDEAA; //ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de
var cpxisciibe = 0xDEAB; //ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be
var cpxisciita = 0xDEAC; //ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta
var cpxisciite = 0xDEAD; //ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te
var cpxisciias = 0xDEAE; //ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as
var cpxisciior = 0xDEAF; //ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or
var cpxisciika = 0xDEB0; //ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka
var cpxisciima = 0xDEB1; //ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma
var cpxisciigu = 0xDEB2; //ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu
var cpxisciipa = 0xDEB3; //ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa
var cputf7 = 0xFDE8; //Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7
var cputf8 = 0xFDE9; //Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8
//ConvertCodePages - end

// ConvertCodePages
typedef [helpcontext(0x20044), helpstring("Specifies the CodePage/Charset to
-convert between binary data and String data with ByteArray class
-accept source form data with ASPForm or FormParser")]
enum ConvertCodePages{
    [helpcontext(0x20044), helpstring("ANSI code page.")]
        cpANSI = 0x0,
    [helpcontext(0x20044), helpstring("OEM code page.")]
        cpOEM = 0x1,
    [helpcontext(0x20044), helpstring("Macintosh code page.")]
        cpMAC = 0x2,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - U.S./Canada, IBM EBCDIC (US-Canada), Charset Label:ebcdic-cp-us")]
        cpebcdiccpus = 0x25,
    [helpcontext(0x20044), helpstring("OEM - United States, OEM United States, Charset Label:IBM437, Aliases:437, cp437, csPC8, CodePage437")]
        cpIBM437 = 0x1B5,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - International, ")]
        cpIBMEBCDICInternational = 0x1F4,
    [helpcontext(0x20044), helpstring("Arabic - ASMO 708, Arabic (ASMO 708), Charset Label:ASMO-708")]
        cpASMO708 = 0x2C4,
    [helpcontext(0x20044), helpstring("Arabic - ASMO 449+, BCON V4, ")]
        cpArabicASMO449BCONV4 = 0x2C5,
    [helpcontext(0x20044), helpstring("Arabic - Transparent Arabic, ")]
        cpArabicTransparentArabic = 0x2C6,
    [helpcontext(0x20044), helpstring("Arabic - Transparent ASMO, Arabic (DOS), Charset Label:DOS-720")]
        cpDOS720 = 0x2D0,
    [helpcontext(0x20044), helpstring("OEM - Greek (formerly 437G), Greek (DOS), Charset Label:ibm737")]
        cpibm737 = 0x2E1,
    [helpcontext(0x20044), helpstring("OEM - Baltic, Baltic (DOS), Charset Label:ibm775, Aliases:CP500")]
        cpibm775 = 0x307,
    [helpcontext(0x20044), helpstring("OEM - Multilingual Latin I, Western European (DOS), Charset Label:ibm850")]
        cpibm850 = 0x352,
    [helpcontext(0x20044), helpstring("OEM - Latin II, Central European (DOS), Charset Label:ibm852, Aliases:cp852")]
        cpibm852 = 0x354,
    [helpcontext(0x20044), helpstring("OEM - Cyrillic (primarily Russian), ")]
        cpOEMCyrillicprimarilyRussian = 0x357,
    [helpcontext(0x20044), helpstring("OEM - Turkish, Turkish (DOS), Charset Label:ibm857")]
        cpibm857 = 0x359,
    [helpcontext(0x20044), helpstring("OEM - Multlingual Latin I + Euro symbol, ")]
        cpOEMMultlingualLatinIEurosymbol = 0x35A,
    [helpcontext(0x20044), helpstring("OEM - Portuguese, ")]
        cpOEMPortuguese = 0x35C,
    [helpcontext(0x20044), helpstring("OEM - Icelandic, Icelandic (DOS), Charset Label:ibm861")]
        cpibm861 = 0x35D,
    [helpcontext(0x20044), helpstring("OEM - Hebrew, Hebrew (DOS), Charset Label:DOS-862")]
        cpDOS862 = 0x35E,
    [helpcontext(0x20044), helpstring("OEM - Canadian-French, ")]
        cpOEMCanadianFrench = 0x35F,
    [helpcontext(0x20044), helpstring("OEM - Arabic, ")]
        cpOEMArabic = 0x360,
    [helpcontext(0x20044), helpstring("OEM - Nordic, ")]
        cpOEMNordic = 0x361,
    [helpcontext(0x20044), helpstring("OEM - Russian, Cyrillic (DOS), Charset Label:cp866, Aliases:ibm866")]
        cpcp866 = 0x362,
    [helpcontext(0x20044), helpstring("OEM - Modern Greek, Greek, Modern (DOS), Charset Label:ibm869")]
        cpibm869 = 0x365,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Multilingual/ROECE (Latin-2), IBM EBCDIC (Multilingual Latin-2), Charset Label:CP870")]
        cpCP870 = 0x366,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Thai (same as 28605, ISO 8859-15), Thai (Windows), Charset Label:windows-874, Aliases:DOS-874, iso-8859-11, TIS-620")]
        cpwindows874 = 0x36A,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Modern Greek, IBM EBCDIC (Greek Modern), Charset Label:x-EBCDIC-GreekModern")]
        cpxEBCDICGreekModern = 0x36B,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Japanese, Shift-JIS, Japanese (Shift-JIS), Charset Label:shift_jis, Aliases:csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis")]
        cpshiftjis = 0x3A4,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Simplified Chinese (PRC, Singapore), Chinese Simplified (GB2312), Charset Label:gb2312, Aliases:chinese, CN-GB, csGB2312, csGB231280, csISO58GB231280, GB_2312-80, GB231280, GB2312-80, GBK, iso-ir-58")]
        cpgb2312 = 0x3A8,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Korean (Unified Hangeul Code), Korean, Charset Label:ks_c_5601-1987, Aliases:csKSC56011987, euc-kr, iso-ir-149, korean, ks_c_5601, ks_c_5601_1987, ks_c_5601-1989, KSC_5601, KSC5601")]
        cpksc56011987 = 0x3B5,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC), Chinese Traditional (Big5), Charset Label:big5, Aliases:cn-big5, csbig5, x-x-big5")]
        cpbig5 = 0x3B6,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Turkish (Latin-5), IBM EBCDIC (Turkish Latin-5), Charset Label:CP1026")]
        cpCP1026 = 0x402,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Latin 1/Open System, ")]
        cpIBMEBCDICLatin1OpenSystem = 0x417,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - U.S./Canada (037 + Euro symbol), IBM EBCDIC (US-Canada-Euro), Charset Label:x-ebcdic-cp-us-euro")]
        cpxebcdiccpuseuro = 0x474,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Germany (20273 + Euro symbol), IBM EBCDIC (Germany-Euro), Charset Label:x-ebcdic-germany-euro")]
        cpxebcdicgermanyeuro = 0x475,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Denmark/Norway (20277 + Euro symbol), IBM EBCDIC (Denmark-Norway-Euro), Charset Label:x-ebcdic-denmarknorway-euro")]
        cpxebcdicdenmarknorwayeuro = 0x476,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Finland/Sweden (20278 + Euro symbol), IBM EBCDIC (Finland-Sweden-Euro), Charset Label:x-ebcdic-finlandsweden-euro, Aliases:X-EBCDIC-France")]
        cpxebcdicfinlandswedeneuro = 0x477,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Italy (20280 + Euro symbol), IBM EBCDIC (Italy-Euro), Charset Label:x-ebcdic-italy-euro")]
        cpxebcdicitalyeuro = 0x478,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Latin America/Spain (20284 + Euro symbol), IBM EBCDIC (Spain-Euro), Charset Label:x-ebcdic-spain-euro")]
        cpxebcdicspaineuro = 0x479,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - United Kingdom (20285 + Euro symbol), IBM EBCDIC (UK-Euro), Charset Label:x-ebcdic-uk-euro")]
        cpxebcdicukeuro = 0x47A,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - France (20297 + Euro symbol), IBM EBCDIC (France-Euro), Charset Label:x-ebcdic-france-euro")]
        cpxebcdicfranceeuro = 0x47B,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - International (500 + Euro symbol), IBM EBCDIC (International-Euro), Charset Label:x-ebcdic-international-euro")]
        cpxebcdicinternationaleuro = 0x47C,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Icelandic (20871 + Euro symbol), IBM EBCDIC (Icelandic-Euro), Charset Label:x-ebcdic-icelandic-euro")]
        cpxebcdicicelandiceuro = 0x47D,
    [helpcontext(0x20044), helpstring("Unicode UCS-2 Little-Endian (BMP of ISO 10646), Unicode, Charset Label:unicode, Aliases:utf-16, unicode")]
        cpunicodeLittle = 0x4B0,
    [helpcontext(0x20044), helpstring("Unicode UCS-2 Big-Endian, Unicode (Big-Endian), Charset Label:unicodeFFFE, unicodeBig")]
        cpunicodeBig = 0x4B1,
    [helpcontext(0x20044), helpstring("ANSI - Central European, Central European (Windows), Charset Label:windows-1250, Aliases:x-cp1250")]
        cpwindows1250 = 0x4E2,
    [helpcontext(0x20044), helpstring("ANSI - Cyrillic, Cyrillic (Windows), Charset Label:windows-1251, Aliases:x-cp1251")]
        cpwindows1251 = 0x4E3,
    [helpcontext(0x20044), helpstring("ANSI - Latin I, Western European (Windows), Charset Label:Windows-1252, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, cp819, csASCII, IBM367, ibm819, ISO_646.irv:1991, iso_8859-1, iso_8859-1:1987, ISO646-US, iso8859-1, iso-8859-1, iso-ir-100, i...")]
        cpWindows1252 = 0x4E4,
    [helpcontext(0x20044), helpstring("ANSI - Greek, Greek (Windows), Charset Label:windows-1253")]
        cpwindows1253 = 0x4E5,
    [helpcontext(0x20044), helpstring("ANSI - Turkish, Turkish (Windows), Charset Label:windows-1254, Aliases:ISO_8859-9, ISO_8859-9:1989, iso-8859-9, iso-ir-148, latin5")]
        cpwindows1254 = 0x4E6,
    [helpcontext(0x20044), helpstring("ANSI - Hebrew, Hebrew (Windows), Charset Label:windows-1255, Aliases:ISO_8859-8-I, ISO-8859-8, visual")]
        cpwindows1255 = 0x4E7,
    [helpcontext(0x20044), helpstring("ANSI - Arabic, Arabic (Windows), Charset Label:windows-1256, Aliases:cp1256")]
        cpwindows1256 = 0x4E8,
    [helpcontext(0x20044), helpstring("ANSI - Baltic, Baltic (Windows), Charset Label:windows-1257")]
        cpwindows1257 = 0x4E9,
    [helpcontext(0x20044), helpstring("ANSI/OEM - Vietnamese, Vietnamese (Windows), Charset Label:windows-1258")]
        cpwindows1258 = 0x4EA,
    [helpcontext(0x20044), helpstring("Korean (Johab), Korean (Johab), Charset Label:Johab")]
        cpJohab = 0x551,
    [helpcontext(0x20044), helpstring("MAC - Roman, Western European (Mac), Charset Label:macintosh")]
        cpmacintosh = 0x2710,
    [helpcontext(0x20044), helpstring("MAC - Japanese, Japanese (Mac), Charset Label:x-mac-japanese")]
        cpxmacjapanese = 0x2711,
    [helpcontext(0x20044), helpstring("MAC - Traditional Chinese (Big5), Chinese Traditional (Mac), Charset Label:x-mac-chinesetrad")]
        cpxmacchinesetrad = 0x2712,
    [helpcontext(0x20044), helpstring("MAC - Korean, Korean (Mac), Charset Label:x-mac-korean")]
        cpxmackorean = 0x2713,
    [helpcontext(0x20044), helpstring("MAC - Arabic, Arabic (Mac), Charset Label:x-mac-arabic")]
        cpxmacarabic = 0x2714,
    [helpcontext(0x20044), helpstring("MAC - Hebrew, Hebrew (Mac), Charset Label:x-mac-hebrew")]
        cpxmachebrew = 0x2715,
    [helpcontext(0x20044), helpstring("MAC - Greek I, Greek (Mac), Charset Label:x-mac-greek")]
        cpxmacgreek = 0x2716,
    [helpcontext(0x20044), helpstring("MAC - Cyrillic, Cyrillic (Mac), Charset Label:x-mac-cyrillic")]
        cpxmaccyrillic = 0x2717,
    [helpcontext(0x20044), helpstring("MAC - Simplified Chinese (GB 2312), Chinese Simplified (Mac), Charset Label:x-mac-chinesesimp")]
        cpxmacchinesesimp = 0x2718,
    [helpcontext(0x20044), helpstring("MAC - Romania, ")]
        cpMACRomania = 0x271A,
    [helpcontext(0x20044), helpstring("MAC - Ukraine, ")]
        cpMACUkraine = 0x2721,
    [helpcontext(0x20044), helpstring("MAC - Thai, ")]
        cpMACThai = 0x2725,
    [helpcontext(0x20044), helpstring("MAC - Latin II, Central European (Mac), Charset Label:x-mac-ce")]
        cpxmacce = 0x272D,
    [helpcontext(0x20044), helpstring("MAC - Icelandic, Icelandic (Mac), Charset Label:x-mac-icelandic")]
        cpxmacicelandic = 0x275F,
    [helpcontext(0x20044), helpstring("MAC - Turkish, Turkish (Mac), Charset Label:x-mac-turkish")]
        cpxmacturkish = 0x2761,
    [helpcontext(0x20044), helpstring("MAC - Croatia, ")]
        cpMACCroatia = 0x2762,
    [helpcontext(0x20044), helpstring("Unicode UCS-4 Little-Endian, ")]
        cpUnicodeUCS4LittleEndian = 0x2EE0,
    [helpcontext(0x20044), helpstring("Unicode UCS-4 Big-Endian, ")]
        cpUnicodeUCS4BigEndian = 0x2EE1,
    [helpcontext(0x20044), helpstring("CNS - Taiwan, Chinese Traditional (CNS), Charset Label:x-Chinese-CNS")]
        cpxChineseCNS = 0x4E20,
    [helpcontext(0x20044), helpstring("TCA - Taiwan, ")]
        cpTCATaiwan = 0x4E21,
    [helpcontext(0x20044), helpstring("Eten - Taiwan, Chinese Traditional (Eten), Charset Label:x-Chinese-Eten")]
        cpxChineseEten = 0x4E22,
    [helpcontext(0x20044), helpstring("IBM5550 - Taiwan, ")]
        cpIBM5550Taiwan = 0x4E23,
    [helpcontext(0x20044), helpstring("TeleText - Taiwan, ")]
        cpTeleTextTaiwan = 0x4E24,
    [helpcontext(0x20044), helpstring("Wang - Taiwan, ")]
        cpWangTaiwan = 0x4E25,
    [helpcontext(0x20044), helpstring("IA5 IRV International Alphabet No. 5 (7-bit), Western European (IA5), Charset Label:x-IA5")]
        cpxIA5 = 0x4E89,
    [helpcontext(0x20044), helpstring("IA5 German (7-bit), German (IA5), Charset Label:x-IA5-German")]
        cpxIA5German = 0x4E8A,
    [helpcontext(0x20044), helpstring("IA5 Swedish (7-bit), Swedish (IA5), Charset Label:x-IA5-Swedish")]
        cpxIA5Swedish = 0x4E8B,
    [helpcontext(0x20044), helpstring("IA5 Norwegian (7-bit), Norwegian (IA5), Charset Label:x-IA5-Norwegian")]
        cpxIA5Norwegian = 0x4E8C,
    [helpcontext(0x20044), helpstring("US-ASCII (7-bit), US-ASCII, Charset Label:us-ascii, Aliases:ANSI_X3.4-1968, ANSI_X3.4-1986, ascii, cp367, csASCII, IBM367, ISO_646.irv:1991, ISO646-US, iso-ir-6us")]
        cpusascii = 0x4E9F,
    [helpcontext(0x20044), helpstring("T.61, ")]
        cpT61 = 0x4F25,
    [helpcontext(0x20044), helpstring("ISO 6937 Non-Spacing Accent, ")]
        cpISO6937NonSpacingAccent = 0x4F2D,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Germany, IBM EBCDIC (Germany), Charset Label:x-EBCDIC-Germany")]
        cpxEBCDICGermany = 0x4F31,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Denmark/Norway, IBM EBCDIC (Denmark-Norway), Charset Label:x-EBCDIC-DenmarkNorway")]
        cpxEBCDICDenmarkNorway = 0x4F35,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Finland/Sweden, IBM EBCDIC (Finland-Sweden), Charset Label:x-EBCDIC-FinlandSweden")]
        cpxEBCDICFinlandSweden = 0x4F36,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Italy, IBM EBCDIC (Italy), Charset Label:x-EBCDIC-Italy")]
        cpxEBCDICItaly = 0x4F38,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Latin America/Spain, IBM EBCDIC (Spain), Charset Label:X-EBCDIC-Spain")]
        cpXEBCDICSpain = 0x4F3C,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - United Kingdom, IBM EBCDIC (UK), Charset Label:x-EBCDIC-UK")]
        cpxEBCDICUK = 0x4F3D,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Japanese Katakana Extended, IBM EBCDIC (Japanese katakana), Charset Label:x-EBCDIC-JapaneseKatakana")]
        cpxEBCDICJapaneseKatakana = 0x4F42,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - France, ")]
        cpIBMEBCDICFrance = 0x4F49,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Arabic, IBM EBCDIC (Arabic), Charset Label:x-EBCDIC-Arabic")]
        cpxEBCDICArabic = 0x4FC4,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Greek, IBM EBCDIC (Greek), Charset Label:x-EBCDIC-Greek")]
        cpxEBCDICGreek = 0x4FC7,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Hebrew, IBM EBCDIC (Hebrew), Charset Label:x-EBCDIC-Hebrew")]
        cpxEBCDICHebrew = 0x4FC8,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Korean Extended, IBM EBCDIC (Korean Extended), Charset Label:x-EBCDIC-KoreanExtended")]
        cpxEBCDICKoreanExtended = 0x5161,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Thai, IBM EBCDIC (Thai), Charset Label:x-EBCDIC-Thai")]
        cpxEBCDICThai = 0x5166,
    [helpcontext(0x20044), helpstring("Russian - KOI8-R, Cyrillic (KOI8-R), Charset Label:koi8-r, Aliases:csKOI8R, koi, koi8, koi8r")]
        cpkoi8r = 0x5182,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Icelandic, IBM EBCDIC (Icelandic), Charset Label:x-EBCDIC-Icelandic")]
        cpxEBCDICIcelandic = 0x5187,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Cyrillic (Russian), IBM EBCDIC (Cyrillic Russian), Charset Label:x-EBCDIC-CyrillicRussian")]
        cpxEBCDICCyrillicRussian = 0x5190,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Turkish, IBM EBCDIC (Turkish), Charset Label:x-EBCDIC-Turkish")]
        cpxEBCDICTurkish = 0x51A9,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol), ")]
        cpIBMEBCDICLatin1OpenSystem1047Eurosymbol = 0x51BC,
    [helpcontext(0x20044), helpstring("JIS X 0208-1990 & 0121-1990, ")]
        cpJISX0208199001211990 = 0x51C4,
    [helpcontext(0x20044), helpstring("Simplified Chinese (GB2312), ")]
        cpSimplifiedChineseGB2312 = 0x51C8,
    [helpcontext(0x20044), helpstring("IBM EBCDIC - Cyrillic (Serbian, Bulgarian), IBM EBCDIC (Cyrillic Serbian-Bulgarian), Charset Label:x-EBCDIC-CyrillicSerbianBulgarian")]
        cpxEBCDICCyrillicSerbianBulgarian = 0x5221,
    [helpcontext(0x20044), helpstring("Extended Alpha Lowercase, ")]
        cpExtendedAlphaLowercase = 0x5223,
    [helpcontext(0x20044), helpstring("Ukrainian (KOI8-U), Cyrillic (KOI8-U), Charset Label:koi8-u, Aliases:koi8-ru")]
        cpkoi8u = 0x556A,
    [helpcontext(0x20044), helpstring("ISO 8859-1 Latin I, Western European (ISO), Charset Label:iso-8859-1, Aliases:cp819, csISO, Latin1, ibm819, iso_8859-1, iso_8859-1:1987, iso8859-1, iso-ir-100, l1, latin1")]
        cpiso88591 = 0x6FAF,
    [helpcontext(0x20044), helpstring("ISO 8859-2 Central Europe, Central European (ISO), Charset Label:iso-8859-2, Aliases:csISOLatin2, iso_8859-2, iso_8859-2:1987, iso8859-2, iso-ir-101, l2, latin2")]
        cpiso88592 = 0x6FB0,
    [helpcontext(0x20044), helpstring("ISO 8859-3 Latin 3, Latin 3 (ISO), Charset Label:iso-8859-3, Aliases:csISO, Latin3, ISO_8859-3, ISO_8859-3:1988, iso-ir-109, l3, latin3")]
        cpiso88593 = 0x6FB1,
    [helpcontext(0x20044), helpstring("ISO 8859-4 Baltic, Baltic (ISO), Charset Label:iso-8859-4, Aliases:csISOLatin4, ISO_8859-4, ISO_8859-4:1988, iso-ir-110, l4, latin4")]
        cpiso88594 = 0x6FB2,
    [helpcontext(0x20044), helpstring("ISO 8859-5 Cyrillic, Cyrillic (ISO), Charset Label:iso-8859-5, Aliases:csISOLatin5, csISOLatinCyrillic, cyrillic, ISO_8859-5, ISO_8859-5:1988, iso-ir-144, l5")]
        cpiso88595 = 0x6FB3,
    [helpcontext(0x20044), helpstring("ISO 8859-6 Arabic, Arabic (ISO), Charset Label:iso-8859-6, Aliases:arabic, csISOLatinArabic, ECMA-114, ISO_8859-6, ISO_8859-6:1987, iso-ir-127")]
        cpiso88596 = 0x6FB4,
    [helpcontext(0x20044), helpstring("ISO 8859-7 Greek, Greek (ISO), Charset Label:iso-8859-7, Aliases:csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, ISO_8859-7, ISO_8859-7:1987, iso-ir-126")]
        cpiso88597 = 0x6FB5,
    [helpcontext(0x20044), helpstring("ISO 8859-8 Hebrew, Hebrew (ISO-Visual), Charset Label:iso-8859-8, Aliases:csISOLatinHebrew, hebrew, ISO_8859-8, ISO_8859-8:1988, ISO-8859-8, iso-ir-138, visual")]
        cpiso88598 = 0x6FB6,
    [helpcontext(0x20044), helpstring("ISO 8859-9 Latin 5, Turkish (ISO), Charset Label:iso-8859-9, Aliases:csISO, Latin5, ISO_8859-9, ISO_8859-9:1989, iso-ir-148, l5, latin5")]
        cpiso88599 = 0x6FB7,
    [helpcontext(0x20044), helpstring("ISO 8859-15 Latin 9, Latin 9 (ISO), Charset Label:iso-8859-15, Aliases:csISO, Latin9, ISO_8859-15, l9, latin9")]
        cpiso885915 = 0x6FBD,
    [helpcontext(0x20044), helpstring("Europa 3, Europa, Charset Label:x-Europa")]
        cpxEuropa = 0x7149,
    [helpcontext(0x20044), helpstring("ISO 8859-8 Hebrew, Hebrew (ISO-Logical), Charset Label:iso-8859-8-i, Aliases:logical")]
        cpiso88598i = 0x96C6,
    [helpcontext(0x20044), helpstring("ISO 2022 Japanese with no halfwidth Katakana, Japanese (JIS), Charset Label:iso-2022-jp")]
        cpiso2022jp = 0xC42C,
    [helpcontext(0x20044), helpstring("ISO 2022 Japanese with halfwidth Katakana, Japanese (JIS-Allow 1 byte Kana), Charset Label:csISO2022JP, Aliases:_iso-2022-jp")]
        cpcsISO2022JP = 0xC42D,
    [helpcontext(0x20044), helpstring("ISO 2022 Japanese JIS X 0201-1989, Japanese (JIS-Allow 1 byte Kana - SO/SI), Charset Label:iso-2022-jp-1, Aliases:_iso-2022-jp$SIO")]
        cpiso2022jp1 = 0xC42E,
    [helpcontext(0x20044), helpstring("ISO 2022 Korean, Korean (ISO), Charset Label:iso-2022-kr, Aliases:csISO2022KR")]
        cpiso2022kr = 0xC431,
    [helpcontext(0x20044), helpstring("ISO 2022 Simplified Chinese, ")]
        cpISO2022SimplifiedChinese = 0xC433,
    [helpcontext(0x20044), helpstring("ISO 2022 Traditional Chinese, ")]
        cpISO2022TraditionalChinese = 0xC435,
    [helpcontext(0x20044), helpstring("Japanese (Katakana) Extended, IBM EBCDIC (Japanese and Japanese Katakana), Charset Label:x-EBCDIC-JapaneseAndKana")]
        cpxEBCDICJapaneseAndKana = 0xC6F2,
    [helpcontext(0x20044), helpstring("US/Canada and Japanese, IBM EBCDIC (Japanese and US-Canada), Charset Label:x-EBCDIC-JapaneseAndUSCanada")]
        cpxEBCDICJapaneseAndUSCanada = 0xC6F3,
    [helpcontext(0x20044), helpstring("Korean Extended and Korean, IBM EBCDIC (Korean and Korean Extended), Charset Label:x-EBCDIC-KoreanAndKoreanExtended")]
        cpxEBCDICKoreanAndKoreanExtended = 0xC6F5,
    [helpcontext(0x20044), helpstring("Simplified Chinese Extended and Simplified Chinese, IBM EBCDIC (Simplified Chinese), Charset Label:x-EBCDIC-SimplifiedChinese")]
        cpxEBCDICSimplifiedChinese = 0xC6F7,
    [helpcontext(0x20044), helpstring("Simplified Chinese, ")]
        cpSimplifiedChinese = 0xC6F8,
    [helpcontext(0x20044), helpstring("US/Canada and Traditional Chinese, IBM EBCDIC (Traditional Chinese), Charset Label:x-EBCDIC-TraditionalChinese")]
        cpxEBCDICTraditionalChinese = 0xC6F9,
    [helpcontext(0x20044), helpstring("Japanese (Latin) Extended and Japanese, IBM EBCDIC (Japanese and Japanese-Latin), Charset Label:x-EBCDIC-JapaneseAndJapaneseLatin")]
        cpxEBCDICJapaneseAndJapaneseLatin = 0xC6FB,
    [helpcontext(0x20044), helpstring("EUC - Japanese, Japanese (EUC), Charset Label:euc-jp, Aliases:csEUCPkdFmtJapanese, Extended_UNIX_Code_Packed_Format_for_Japanese, x-euc, x-euc-jp")]
        cpeucjp = 0xCADC,
    [helpcontext(0x20044), helpstring("EUC - Simplified Chinese, Chinese Simplified (EUC), Charset Label:EUC-CN, Aliases:x-euc-cn")]
        cpEUCCN = 0xCAE0,
    [helpcontext(0x20044), helpstring("EUC - Korean, Korean (EUC), Charset Label:euc-kr, Aliases:csEUCKR")]
        cpeuckr = 0xCAED,
    [helpcontext(0x20044), helpstring("EUC - Traditional Chinese, ")]
        cpEUCTraditionalChinese = 0xCAEE,
    [helpcontext(0x20044), helpstring("HZ-GB2312 Simplified Chinese, Chinese Simplified (HZ), Charset Label:hz-gb-2312")]
        cphzgb2312 = 0xCEC8,
    [helpcontext(0x20044), helpstring("Windows XP: GB18030 Simplified Chinese (4 Byte), ")]
        cpWindowsXPGB18030SimplifiedChinese4Byte = 0xD698,
    [helpcontext(0x20044), helpstring("ISCII Devanagari, ISCII Devanagari, Charset Label:x-iscii-de")]
        cpxisciide = 0xDEAA,
    [helpcontext(0x20044), helpstring("ISCII Bengali, ISCII Bengali, Charset Label:x-iscii-be")]
        cpxisciibe = 0xDEAB,
    [helpcontext(0x20044), helpstring("ISCII Tamil, ISCII Tamil, Charset Label:x-iscii-ta")]
        cpxisciita = 0xDEAC,
    [helpcontext(0x20044), helpstring("ISCII Telugu, ISCII Telugu, Charset Label:x-iscii-te")]
        cpxisciite = 0xDEAD,
    [helpcontext(0x20044), helpstring("ISCII Assamese, ISCII Assamese, Charset Label:x-iscii-as")]
        cpxisciias = 0xDEAE,
    [helpcontext(0x20044), helpstring("ISCII Oriya, ISCII Oriya, Charset Label:x-iscii-or")]
        cpxisciior = 0xDEAF,
    [helpcontext(0x20044), helpstring("ISCII Kannada, ISCII Kannada, Charset Label:x-iscii-ka")]
        cpxisciika = 0xDEB0,
    [helpcontext(0x20044), helpstring("ISCII Malayalam, ISCII Malayalam, Charset Label:x-iscii-ma")]
        cpxisciima = 0xDEB1,
    [helpcontext(0x20044), helpstring("ISCII Gujarati, ISCII Gujarathi, Charset Label:x-iscii-gu")]
        cpxisciigu = 0xDEB2,
    [helpcontext(0x20044), helpstring("ISCII Punjabi, ISCII Panjabi, Charset Label:x-iscii-pa")]
        cpxisciipa = 0xDEB3,
    [helpcontext(0x20044), helpstring("Unicode UTF-7, Unicode (UTF-7), Charset Label:utf-7, Aliases:csUnicode11UTF7, unicode-1-1-utf-7, x-unicode-2-0-utf-7")]
        cputf7 = 0xFDE8,
    [helpcontext(0x20044), helpstring("Unicode UTF-8, Unicode (UTF-8), Charset Label:utf-8, Aliases:unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8")]
        cputf8 = 0xFDE9
} ConvertCodePages;

Used in

FormField.String, FormField.Name, FormField.FileName, FormField.FilePath, FormField.FileExt, FormField.Header, FormField.RAWHeader, ByteArray.CharSetConvert, ASPForm.StringToBinary, ByteArray.CodePage, ASPForm.CharSet, FormParser.CharSet, FormField.CharSet
Other links for ConvertCodePages class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ConvertTypes Enum

ConvertTypes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use ConvertTypes object

Description

Convert types for conversion functions.

Values

ctCompressZLib = &H10000 | 65 536 | Compress by zlib
ctUnCompressZLib = &H20000 | 131 072 | Uncompress by zlib

Includes
'ConvertTypes - begin
Public Const ctCompressZLib = &H10000 'Compress by zlib
Public Const ctUnCompressZLib = &H20000 'Uncompress by zlib
'ConvertTypes - end

'ConvertTypes - begin
Public Const ctCompressZLib As Long = &H10000 'Compress by zlib
Public Const ctUnCompressZLib As Long = &H20000 'Uncompress by zlib
'ConvertTypes - end

Public Enum ConvertTypes
  ctCompressZLib = &H10000 'Compress by zlib
  ctUnCompressZLib = &H20000 'Uncompress by zlib
End Enum 'ConvertTypes
//ConvertTypes - begin
var ctCompressZLib = 0x10000; //Compress by zlib
var ctUnCompressZLib = 0x20000; //Uncompress by zlib
//ConvertTypes - end

// ConvertTypes
typedef [helpcontext(0x20055), helpstring("Convert types for conversion functions.")]
enum ConvertTypes{
    [helpcontext(0x20055), helpstring("Compress by zlib")]
        ctCompressZLib = 0x10000,
    [helpcontext(0x20055), helpstring("Uncompress by zlib")]
        ctUnCompressZLib = 0x20000
} ConvertTypes;

Other links for ConvertTypes class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


eFormType Enum

eFormType

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use eFormType object

Description

Form type for ASPForm and FormParser objects.

Values

ftNone = &H0 | 0 | Unknown form type or GET method
ftMultipart = &H1 | 1 | multipart/form-data
ftURLEncoded = &H2 | 2 | application/x-www-form-urlencoded

Includes
'eFormType - begin
Public Const ftNone = &H0 'Unknown form type or GET method
Public Const ftMultipart = &H1 'multipart/form-data
Public Const ftURLEncoded = &H2 'application/x-www-form-urlencoded
'eFormType - end

'eFormType - begin
Public Const ftNone As Long = &H0 'Unknown form type or GET method
Public Const ftMultipart As Long = &H1 'multipart/form-data
Public Const ftURLEncoded As Long = &H2 'application/x-www-form-urlencoded
'eFormType - end

Public Enum eFormType
  ftNone = &H0 'Unknown form type or GET method
  ftMultipart = &H1 'multipart/form-data
  ftURLEncoded = &H2 'application/x-www-form-urlencoded
End Enum 'eFormType
//eFormType - begin
var ftNone = 0x0; //Unknown form type or GET method
var ftMultipart = 0x1; //multipart/form-data
var ftURLEncoded = 0x2; //application/x-www-form-urlencoded
//eFormType - end

// eFormType
typedef [helpcontext(0x2006F), helpstring("Form type for ASPForm and FormParser objects.")]
enum eFormType{
    [helpcontext(0x2006F), helpstring("Unknown form type or GET method")]
        ftNone = 0x0,
    [helpcontext(0x2006F), helpstring("multipart/form-data")]
        ftMultipart = 0x1,
    [helpcontext(0x2006F), helpstring("application/x-www-form-urlencoded")]
        ftURLEncoded = 0x2
} eFormType;

Used in

FormParser.FormType, ASPForm.FormType
Other links for eFormType class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FormStates Enum

FormStates

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use FormStates object

Description

More about state/result of a form process. See also ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result

Values

fsCompleted = &H0 | 0 | Form was successfully processed.
fsNotPost = &H1 | 1 | Request method is NOT post
fsZeroLength = &H2 | 2 | Zero length request (there are no data in a source form)
fsInProgress = &H3 | 3 | Form is in a middle of process.
fsNOFRead = &H4 | 4 | Required number of source fields/bytes was readed (form not completted, see ASPForm method).
fsNone = &H5 | 5 | Initial form state
fsError = &HA | 10 |
fsNoBoundary = &HB | 11 | Boundary of multipart/form-data is not specified.
fsUnknownType = &HC | 12 | Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)
fsSizeLimit = &HD | 13 | Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
fsTimeOut = &HE | 14 | Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
fsNoConnected = &HF | 15 | Client was disconnected before upload was completted.
fsErrorBinaryRead = &H10 | 16 | Unexpected error from Request.BinaryRead method (ASP error).

Includes
'FormStates - begin
Public Const fsCompleted = &H0 'Form was successfully processed.
Public Const fsNotPost = &H1 'Request method is NOT post
Public Const fsZeroLength = &H2 'Zero length request (there are no data in a source form)
Public Const fsInProgress = &H3 'Form is in a middle of process.
Public Const fsNOFRead = &H4 'Required number of source fields/bytes was readed (form not completted, see ASPForm method).
Public Const fsNone = &H5 'Initial form state
Public Const fsError = &HA
Public Const fsNoBoundary = &HB 'Boundary of multipart/form-data is not specified.
Public Const fsUnknownType = &HC 'Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)
Public Const fsSizeLimit = &HD 'Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
Public Const fsTimeOut = &HE 'Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
Public Const fsNoConnected = &HF 'Client was disconnected before upload was completted.
Public Const fsErrorBinaryRead = &H10 'Unexpected error from Request.BinaryRead method (ASP error).
'FormStates - end

'FormStates - begin
Public Const fsCompleted As Long = &H0 'Form was successfully processed.
Public Const fsNotPost As Long = &H1 'Request method is NOT post
Public Const fsZeroLength As Long = &H2 'Zero length request (there are no data in a source form)
Public Const fsInProgress As Long = &H3 'Form is in a middle of process.
Public Const fsNOFRead As Long = &H4 'Required number of source fields/bytes was readed (form not completted, see ASPForm method).
Public Const fsNone As Long = &H5 'Initial form state
Public Const fsError As Long = &HA
Public Const fsNoBoundary As Long = &HB 'Boundary of multipart/form-data is not specified.
Public Const fsUnknownType As Long = &HC 'Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)
Public Const fsSizeLimit As Long = &HD 'Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
Public Const fsTimeOut As Long = &HE 'Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
Public Const fsNoConnected As Long = &HF 'Client was disconnected before upload was completted.
Public Const fsErrorBinaryRead As Long = &H10 'Unexpected error from Request.BinaryRead method (ASP error).
'FormStates - end

Public Enum FormStates
  fsCompleted = &H0 'Form was successfully processed.
  fsNotPost = &H1 'Request method is NOT post
  fsZeroLength = &H2 'Zero length request (there are no data in a source form)
  fsInProgress = &H3 'Form is in a middle of process.
  fsNOFRead = &H4 'Required number of source fields/bytes was readed (form not completted, see ASPForm method).
  fsNone = &H5 'Initial form state
  fsError = &HA
  fsNoBoundary = &HB 'Boundary of multipart/form-data is not specified.
  fsUnknownType = &HC 'Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)
  fsSizeLimit = &HD 'Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
  fsTimeOut = &HE 'Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
  fsNoConnected = &HF 'Client was disconnected before upload was completted.
  fsErrorBinaryRead = &H10 'Unexpected error from Request.BinaryRead method (ASP error).
End Enum 'FormStates
//FormStates - begin
var fsCompleted = 0x0; //Form was successfully processed.
var fsNotPost = 0x1; //Request method is NOT post
var fsZeroLength = 0x2; //Zero length request (there are no data in a source form)
var fsInProgress = 0x3; //Form is in a middle of process.
var fsNOFRead = 0x4; //Required number of source fields/bytes was readed (form not completted, see ASPForm method).
var fsNone = 0x5; //Initial form state
var fsError = 0xA;
var fsNoBoundary = 0xB; //Boundary of multipart/form-data is not specified.
var fsUnknownType = 0xC; //Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)
var fsSizeLimit = 0xD; //Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
var fsTimeOut = 0xE; //Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
var fsNoConnected = 0xF; //Client was disconnected before upload was completted.
var fsErrorBinaryRead = 0x10; //Unexpected error from Request.BinaryRead method (ASP error).
//FormStates - end

// FormStates
typedef [helpcontext(0x2006D), helpstring("More about state/result of a form process. See also ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result")]
enum FormStates{
    [helpcontext(0x2006D), helpstring("Form was successfully processed.")]
        fsCompleted = 0x0,
    [helpcontext(0x2006D), helpstring("Request method is NOT post")]
        fsNotPost = 0x1,
    [helpcontext(0x2006D), helpstring("Zero length request (there are no data in a source form)")]
        fsZeroLength = 0x2,
    [helpcontext(0x2006D), helpstring("Form is in a middle of process.")]
        fsInProgress = 0x3,
    [helpcontext(0x2006D), helpstring("Required number of source fields/bytes was readed (form not completted, see ASPForm method).")]
        fsNOFRead = 0x4,
    [helpcontext(0x2006D), helpstring("Initial form state")]
        fsNone = 0x5,
    [helpcontext(0x2006D)]
        fsError = 0xA,
    [helpcontext(0x2006D), helpstring("Boundary of multipart/form-data is not specified.")]
        fsNoBoundary = 0xB,
    [helpcontext(0x2006D), helpstring("Unknown source form (Content-type must be application/x-www-form-urlencoded or multipart/form-data)")]
        fsUnknownType = 0xC,
    [helpcontext(0x2006D), helpstring("Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)")]
        fsSizeLimit = 0xD,
    [helpcontext(0x2006D), helpstring("Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)")]
        fsTimeOut = 0xE,
    [helpcontext(0x2006D), helpstring("Client was disconnected before upload was completted.")]
        fsNoConnected = 0xF,
    [helpcontext(0x2006D), helpstring("Unexpected error from Request.BinaryRead method (ASP error).")]
        fsErrorBinaryRead = 0x10
} FormStates;

Used in

ASPForm.State
Other links for FormStates class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogLineBeginTypes Enum

LogLineBeginTypes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use LogLineBeginTypes object

Description

Defines additional values on a beginning of the log line.

Values

blDefault = &HFFFFFFFF | -1 | Default value. Same as blDateTime.
blNone = &H0 | 0 | No additional values.
blDate = &H1 | 1 | Date field (without time)
blTime = &H2 | 2 | Time field in hh:mm:ss format
blDateTime = &H4 | 4 | Date and time field
blCounter = &H8 | 8 | Line counter.
blTickCount = &H10 | 16 | Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.
blmilisecond = &H20 | 32 | Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
blmicrosecond = &H40 | 64 | Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
blhrCounter = &H80 | 128 | High-resolution performance counter (See hrCounter property).
blProcessID = &H100 | 256 | ID of process, which writes line to the log file
blProcessKernelTime = &H200 | 512 | The amount of time that the process has executed in kernel mode.
blProcessUserTime = &H400 | 1 024 | The amount of time that the process has executed in user mode.
blThreadID = &H1000 | 4 096 | ID of thread, which writes line to the log file
blThreadKernelTime = &H2000 | 8 192 | The amount of time that the thread has executed in kernel mode.
blThreadUserTime = &H4000 | 16 384 | The amount of time that the thread has executed in user mode.

Includes
'LogLineBeginTypes - begin
Public Const blDefault = &HFFFFFFFF 'Default value. Same as blDateTime.
Public Const blNone = &H0 'No additional values.
Public Const blDate = &H1 'Date field (without time)
Public Const blTime = &H2 'Time field in hh:mm:ss format
Public Const blDateTime = &H4 'Date and time field
Public Const blCounter = &H8 'Line counter.
Public Const blTickCount = &H10 'Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.
Public Const blmilisecond = &H20 'Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
Public Const blmicrosecond = &H40 'Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
Public Const blhrCounter = &H80 'High-resolution performance counter (See hrCounter property).
Public Const blProcessID = &H100 'ID of process, which writes line to the log file
Public Const blProcessKernelTime = &H200 'The amount of time that the process has executed in kernel mode.
Public Const blProcessUserTime = &H400 'The amount of time that the process has executed in user mode.
Public Const blThreadID = &H1000 'ID of thread, which writes line to the log file
Public Const blThreadKernelTime = &H2000 'The amount of time that the thread has executed in kernel mode.
Public Const blThreadUserTime = &H4000 'The amount of time that the thread has executed in user mode.
'LogLineBeginTypes - end

'LogLineBeginTypes - begin
Public Const blDefault As Long = &HFFFFFFFF 'Default value. Same as blDateTime.
Public Const blNone As Long = &H0 'No additional values.
Public Const blDate As Long = &H1 'Date field (without time)
Public Const blTime As Long = &H2 'Time field in hh:mm:ss format
Public Const blDateTime As Long = &H4 'Date and time field
Public Const blCounter As Long = &H8 'Line counter.
Public Const blTickCount As Long = &H10 'Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.
Public Const blmilisecond As Long = &H20 'Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
Public Const blmicrosecond As Long = &H40 'Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
Public Const blhrCounter As Long = &H80 'High-resolution performance counter (See hrCounter property).
Public Const blProcessID As Long = &H100 'ID of process, which writes line to the log file
Public Const blProcessKernelTime As Long = &H200 'The amount of time that the process has executed in kernel mode.
Public Const blProcessUserTime As Long = &H400 'The amount of time that the process has executed in user mode.
Public Const blThreadID As Long = &H1000 'ID of thread, which writes line to the log file
Public Const blThreadKernelTime As Long = &H2000 'The amount of time that the thread has executed in kernel mode.
Public Const blThreadUserTime As Long = &H4000 'The amount of time that the thread has executed in user mode.
'LogLineBeginTypes - end

Public Enum LogLineBeginTypes
  blDefault = &HFFFFFFFF 'Default value. Same as blDateTime.
  blNone = &H0 'No additional values.
  blDate = &H1 'Date field (without time)
  blTime = &H2 'Time field in hh:mm:ss format
  blDateTime = &H4 'Date and time field
  blCounter = &H8 'Line counter.
  blTickCount = &H10 'Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.
  blmilisecond = &H20 'Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
  blmicrosecond = &H40 'Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
  blhrCounter = &H80 'High-resolution performance counter (See hrCounter property).
  blProcessID = &H100 'ID of process, which writes line to the log file
  blProcessKernelTime = &H200 'The amount of time that the process has executed in kernel mode.
  blProcessUserTime = &H400 'The amount of time that the process has executed in user mode.
  blThreadID = &H1000 'ID of thread, which writes line to the log file
  blThreadKernelTime = &H2000 'The amount of time that the thread has executed in kernel mode.
  blThreadUserTime = &H4000 'The amount of time that the thread has executed in user mode.
End Enum 'LogLineBeginTypes
//LogLineBeginTypes - begin
var blDefault = 0xFFFFFFFF; //Default value. Same as blDateTime.
var blNone = 0x0; //No additional values.
var blDate = 0x1; //Date field (without time)
var blTime = 0x2; //Time field in hh:mm:ss format
var blDateTime = 0x4; //Date and time field
var blCounter = 0x8; //Line counter.
var blTickCount = 0x10; //Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.
var blmilisecond = 0x20; //Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
var blmicrosecond = 0x40; //Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.
var blhrCounter = 0x80; //High-resolution performance counter (See hrCounter property).
var blProcessID = 0x100; //ID of process, which writes line to the log file
var blProcessKernelTime = 0x200; //The amount of time that the process has executed in kernel mode.
var blProcessUserTime = 0x400; //The amount of time that the process has executed in user mode.
var blThreadID = 0x1000; //ID of thread, which writes line to the log file
var blThreadKernelTime = 0x2000; //The amount of time that the thread has executed in kernel mode.
var blThreadUserTime = 0x4000; //The amount of time that the thread has executed in user mode.
//LogLineBeginTypes - end

// LogLineBeginTypes
typedef [helpcontext(0x2005B), helpstring("Defines additional values on a beginning of the log line.")]
enum LogLineBeginTypes{
    [helpcontext(0x2005B), helpstring("Default value. Same as blDateTime.")]
        blDefault = 0xFFFFFFFF,
    [helpcontext(0x2005B), helpstring("No additional values.")]
        blNone = 0x0,
    [helpcontext(0x2005B), helpstring("Date field (without time)")]
        blDate = 0x1,
    [helpcontext(0x2005B), helpstring("Time field in hh:mm:ss format")]
        blTime = 0x2,
    [helpcontext(0x2005B), helpstring("Date and time field")]
        blDateTime = 0x4,
    [helpcontext(0x2005B), helpstring("Line counter.")]
        blCounter = 0x8,
    [helpcontext(0x2005B), helpstring("Number of miliseconds that have elapsed since the LogFile object was created. Low resolution counter.")]
        blTickCount = 0x10,
    [helpcontext(0x2005B), helpstring("Number of miliseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.")]
        blmilisecond = 0x20,
    [helpcontext(0x2005B), helpstring("Number of microseconds that have elapsed since the LogFile object was created. The number came from the high-resolution counter.")]
        blmicrosecond = 0x40,
    [helpcontext(0x2005B), helpstring("High-resolution performance counter (See hrCounter property).")]
        blhrCounter = 0x80,
    [helpcontext(0x2005B), helpstring("ID of process, which writes line to the log file")]
        blProcessID = 0x100,
    [helpcontext(0x2005B), helpstring("The amount of time that the process has executed in kernel mode.")]
        blProcessKernelTime = 0x200,
    [helpcontext(0x2005B), helpstring("The amount of time that the process has executed in user mode.")]
        blProcessUserTime = 0x400,
    [helpcontext(0x2005B), helpstring("ID of thread, which writes line to the log file")]
        blThreadID = 0x1000,
    [helpcontext(0x2005B), helpstring("The amount of time that the thread has executed in kernel mode.")]
        blThreadKernelTime = 0x2000,
    [helpcontext(0x2005B), helpstring("The amount of time that the thread has executed in user mode.")]
        blThreadUserTime = 0x4000
} LogLineBeginTypes;

Used in

LogFile.LineBegin
Other links for LogLineBeginTypes class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogLineEncodes Enum

LogLineEncodes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use LogLineEncodes object

Description

Specifies encoding type for logged values of LogFile class

Values

leNone = &H0 | 0 | No conversion is provided.
leURLEncode = &H1 | 1 | Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)

Includes
'LogLineEncodes - begin
Public Const leNone = &H0 'No conversion is provided.
Public Const leURLEncode = &H1 'Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)
'LogLineEncodes - end

'LogLineEncodes - begin
Public Const leNone As Long = &H0 'No conversion is provided.
Public Const leURLEncode As Long = &H1 'Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)
'LogLineEncodes - end

Public Enum LogLineEncodes
  leNone = &H0 'No conversion is provided.
  leURLEncode = &H1 'Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)
End Enum 'LogLineEncodes
//LogLineEncodes - begin
var leNone = 0x0; //No conversion is provided.
var leURLEncode = 0x1; //Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)
//LogLineEncodes - end

// LogLineEncodes
typedef [helpcontext(0x2005A), helpstring("Specifies encoding type for logged values of LogFile class")]
enum LogLineEncodes{
    [helpcontext(0x2005A), helpstring("No conversion is provided.")]
        leNone = 0x0,
    [helpcontext(0x2005A), helpstring("Values are encoded by a simple URL encode. (space -> + and '+','%' and char<32 to %hex)")]
        leURLEncode = 0x1
} LogLineEncodes;

Used in

LogFile.Encode
Other links for LogLineEncodes class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


LogonTypes Enum

LogonTypes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use LogonTypes object

Description

Specifies the type of logon operation to perform.

Values

ltInteractive = &H2 | 2 | For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is therefore inappropriate for some client/server applications, such as a mail server.
ltNetwork = &H3 | 3 | For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.
ltBatch = &H4 | 4 | For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not cache credentials for this logon type.
ltService = &H5 | 5 | Indicates a service-type logon. The account provided must have the service privilege enabled.

Includes
'LogonTypes - begin
Public Const ltInteractive = &H2 'For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is therefore inappropriate for some client/server applications, such as a mail server.
Public Const ltNetwork = &H3 'For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.
Public Const ltBatch = &H4 'For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not cache credentials for this logon type.
Public Const ltService = &H5 'Indicates a service-type logon. The account provided must have the service privilege enabled.
'LogonTypes - end

'LogonTypes - begin
Public Const ltInteractive As Long = &H2 'For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is therefore inappropriate for some client/server applications, such as a mail server.
Public Const ltNetwork As Long = &H3 'For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.
Public Const ltBatch As Long = &H4 'For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not cache credentials for this logon type.
Public Const ltService As Long = &H5 'Indicates a service-type logon. The account provided must have the service privilege enabled.
'LogonTypes - end

Public Enum LogonTypes
  ltInteractive = &H2 'For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is therefore inappropriate for some client/server applications, such as a mail server.
  ltNetwork = &H3 'For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.
  ltBatch = &H4 'For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not cache credentials for this logon type.
  ltService = &H5 'Indicates a service-type logon. The account provided must have the service privilege enabled.
End Enum 'LogonTypes
//LogonTypes - begin
var ltInteractive = 0x2; //For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is therefore inappropriate for some client/server applications, such as a mail server.
var ltNetwork = 0x3; //For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.
var ltBatch = 0x4; //For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not cache credentials for this logon type.
var ltService = 0x5; //Indicates a service-type logon. The account provided must have the service privilege enabled.
//LogonTypes - end

// LogonTypes
typedef [helpcontext(0x20035), helpstring("Specifies the type of logon operation to perform.")]
enum LogonTypes{
    [helpcontext(0x20035), helpstring("For users who will be interactively using the machine, such as a user being logged on by a terminal server, remote shell, or similar process. This logon type has the additional expense of caching logon information for disconnected operation, and is theref")]
        ltInteractive = 0x2,
    [helpcontext(0x20035), helpstring("For high performance servers to authenticate clear text passwords. LogonUser does not cache credentials for this logon type. This is the fastest logon path.")]
        ltNetwork = 0x3,
    [helpcontext(0x20035), helpstring("For batch servers, where processes may be executing on behalf of a user without their direct intervention; or for higher performance servers that process many clear-text authentication attempts at a time, such as mail or web servers. LogonUser does not ca")]
        ltBatch = 0x4,
    [helpcontext(0x20035), helpstring("Indicates a service-type logon. The account provided must have the service privilege enabled.")]
        ltService = 0x5
} LogonTypes;

Used in

Advapi.LogonUser
Other links for LogonTypes class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


OutputTypes Enum

OutputTypes

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use OutputTypes object

Description

Define output types for conversion and compress/decompress functions

Values

otVariantByteArray = &H0 | 0 | Variant byte array, VT_ARRAY | VT_UI1
otByteArray = &H1 | 1 | ByteArray object
otString = &H2 | 2 | String , VT_BSTR
otMultiByteString = &H3 | 3 | MultiByte string, VT_BSTR

Includes
'OutputTypes - begin
Public Const otVariantByteArray = &H0 'Variant byte array, VT_ARRAY | VT_UI1
Public Const otByteArray = &H1 'ByteArray object
Public Const otString = &H2 'String , VT_BSTR
Public Const otMultiByteString = &H3 'MultiByte string, VT_BSTR
'OutputTypes - end

'OutputTypes - begin
Public Const otVariantByteArray As Long = &H0 'Variant byte array, VT_ARRAY | VT_UI1
Public Const otByteArray As Long = &H1 'ByteArray object
Public Const otString As Long = &H2 'String , VT_BSTR
Public Const otMultiByteString As Long = &H3 'MultiByte string, VT_BSTR
'OutputTypes - end

Public Enum OutputTypes
  otVariantByteArray = &H0 'Variant byte array, VT_ARRAY | VT_UI1
  otByteArray = &H1 'ByteArray object
  otString = &H2 'String , VT_BSTR
  otMultiByteString = &H3 'MultiByte string, VT_BSTR
End Enum 'OutputTypes
//OutputTypes - begin
var otVariantByteArray = 0x0; //Variant byte array, VT_ARRAY | VT_UI1
var otByteArray = 0x1; //ByteArray object
var otString = 0x2; //String , VT_BSTR
var otMultiByteString = 0x3; //MultiByte string, VT_BSTR
//OutputTypes - end

// OutputTypes
typedef [helpcontext(0x20053), helpstring("Define output types for conversion and compress/decompress functions")]
enum OutputTypes{
    [helpcontext(0x20053), helpstring("Variant byte array, VT_ARRAY | VT_UI1")]
        otVariantByteArray = 0x0,
    [helpcontext(0x20053), helpstring("ByteArray object")]
        otByteArray = 0x1,
    [helpcontext(0x20053), helpstring("String , VT_BSTR")]
        otString = 0x2,
    [helpcontext(0x20053), helpstring("MultiByte string, VT_BSTR")]
        otMultiByteString = 0x3
} OutputTypes;

Used in

ZLib.Compress, ZLib.UnCompress
Other links for OutputTypes class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


PriorityClasses Enum

PriorityClasses

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use PriorityClasses object

Description

The process’s priority class is one of the following values.

Values

pcNormal = &H20 | 32 | Indicates a normal process with no special scheduling needs.
pcIdle = &H40 | 64 | Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
pcHigh = &H80 | 128 | Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
pcRealTime = &H100 | 256 | Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

Includes
'PriorityClasses - begin
Public Const pcNormal = &H20 'Indicates a normal process with no special scheduling needs.
Public Const pcIdle = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
Public Const pcHigh = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
Public Const pcRealTime = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
'PriorityClasses - end

'PriorityClasses - begin
Public Const pcNormal As Long = &H20 'Indicates a normal process with no special scheduling needs.
Public Const pcIdle As Long = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
Public Const pcHigh As Long = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
Public Const pcRealTime As Long = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
'PriorityClasses - end

Public Enum PriorityClasses
  pcNormal = &H20 'Indicates a normal process with no special scheduling needs.
  pcIdle = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
  pcHigh = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
  pcRealTime = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
End Enum 'PriorityClasses
//PriorityClasses - begin
var pcNormal = 0x20; //Indicates a normal process with no special scheduling needs.
var pcIdle = 0x40; //Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
var pcHigh = 0x80; //Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
var pcRealTime = 0x100; //Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
//PriorityClasses - end

// PriorityClasses
typedef [helpcontext(0x20031), helpstring("The process’s priority class is one of the following values.")]
enum PriorityClasses{
    [helpcontext(0x20031), helpstring("Indicates a normal process with no special scheduling needs.")]
        pcNormal = 0x20,
    [helpcontext(0x20031), helpstring("Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.")]
        pcIdle = 0x40,
    [helpcontext(0x20031), helpstring("Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, ")]
        pcHigh = 0x80,
    [helpcontext(0x20031), helpstring("Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process tha")]
        pcRealTime = 0x100
} PriorityClasses;

Used in

Process.PriorityClass
Other links for PriorityClasses class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ProcessCreationFlags Enum

ProcessCreationFlags

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use ProcessCreationFlags object

Description

Specifies additional flags that control the priority class and the creation of the process. The following creation flags can be specified in any combination, except as noted

Values

pcfNone = &H0 | 0 | Default
pcfDEBUG_PROCESS = &H1 | 1 | If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.
pcfDEBUG_ONLY_THIS_PROCESS = &H2 | 2 | If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.
pcfCREATE_SUSPENDED = &H4 | 4 | The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
pcfDETACHED_PROCESS = &H8 | 8 | For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
pcfCREATE_NEW_CONSOLE = &H10 | 16 | The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.
pcfNORMAL_PRIORITY_CLASS = &H20 | 32 | Indicates a normal process with no special scheduling needs.
pcfIDLE_PRIORITY_CLASS = &H40 | 64 | Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
pcfHIGH_PRIORITY_CLASS = &H80 | 128 | Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
pcfREALTIME_PRIORITY_CLASS = &H100 | 256 | Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
pcfCREATE_NEW_PROCESS_GROUP = &H200 | 512 | The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the ProcessInformation parameter.
pcfCREATE_UNICODE_ENVIRONMENT = &H400 | 1 024 | If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.
pcfCREATE_SEPARATE_WOW_VDM = &H800 | 2 048 | This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of running separately is that a crash only kills the single VDM; any other programs running in distinct VDMs continue to function normally. Also, 16-bit Windows-based applications that are run in separate VDMs have separate input queues. That means that if one application hangs momentarily, applications in separate VDMs continue to receive input.
pcfCREATE_SHARED_WOW_VDM = &H1000 | 4 096 | The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared Virtual DOS Machine.
pcfCREATE_FORCEDOS = &H2000 | 8 192 |
pcfCREATE_DEFAULT_ERROR_MODE = &H4000000 | 67 108 864 | The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.
pcfCREATE_NO_WINDOW = &H8000000 | 134 217 728 |

Includes
'ProcessCreationFlags - begin
Public Const pcfNone = &H0 'Default
Public Const pcfDEBUG_PROCESS = &H1 'If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.
Public Const pcfDEBUG_ONLY_THIS_PROCESS = &H2 'If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.
Public Const pcfCREATE_SUSPENDED = &H4 'The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
Public Const pcfDETACHED_PROCESS = &H8 ' For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
Public Const pcfCREATE_NEW_CONSOLE = &H10 'The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.
Public Const pcfNORMAL_PRIORITY_CLASS = &H20 'Indicates a normal process with no special scheduling needs.
Public Const pcfIDLE_PRIORITY_CLASS = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
Public Const pcfHIGH_PRIORITY_CLASS = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
Public Const pcfREALTIME_PRIORITY_CLASS = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Public Const pcfCREATE_NEW_PROCESS_GROUP = &H200 'The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the ProcessInformation parameter.
Public Const pcfCREATE_UNICODE_ENVIRONMENT = &H400 'If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.
Public Const pcfCREATE_SEPARATE_WOW_VDM = &H800 'This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of running separately is that a crash only kills the single VDM; any other programs running in distinct VDMs continue to function normally. Also, 16-bit Windows-based applications that are run in separate VDMs have separate input queues. That means that if one application hangs momentarily, applications in separate VDMs continue to receive input.
Public Const pcfCREATE_SHARED_WOW_VDM = &H1000 'The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared Virtual DOS Machine.
Public Const pcfCREATE_FORCEDOS = &H2000
Public Const pcfCREATE_DEFAULT_ERROR_MODE = &H4000000 'The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.
Public Const pcfCREATE_NO_WINDOW = &H8000000
'ProcessCreationFlags - end

'ProcessCreationFlags - begin
Public Const pcfNone As Long = &H0 'Default
Public Const pcfDEBUG_PROCESS As Long = &H1 'If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.
Public Const pcfDEBUG_ONLY_THIS_PROCESS As Long = &H2 'If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.
Public Const pcfCREATE_SUSPENDED As Long = &H4 'The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
Public Const pcfDETACHED_PROCESS As Long = &H8 ' For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
Public Const pcfCREATE_NEW_CONSOLE As Long = &H10 'The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.
Public Const pcfNORMAL_PRIORITY_CLASS As Long = &H20 'Indicates a normal process with no special scheduling needs.
Public Const pcfIDLE_PRIORITY_CLASS As Long = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
Public Const pcfHIGH_PRIORITY_CLASS As Long = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
Public Const pcfREALTIME_PRIORITY_CLASS As Long = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Public Const pcfCREATE_NEW_PROCESS_GROUP As Long = &H200 'The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the ProcessInformation parameter.
Public Const pcfCREATE_UNICODE_ENVIRONMENT As Long = &H400 'If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.
Public Const pcfCREATE_SEPARATE_WOW_VDM As Long = &H800 'This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of running separately is that a crash only kills the single VDM; any other programs running in distinct VDMs continue to function normally. Also, 16-bit Windows-based applications that are run in separate VDMs have separate input queues. That means that if one application hangs momentarily, applications in separate VDMs continue to receive input.
Public Const pcfCREATE_SHARED_WOW_VDM As Long = &H1000 'The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared Virtual DOS Machine.
Public Const pcfCREATE_FORCEDOS As Long = &H2000
Public Const pcfCREATE_DEFAULT_ERROR_MODE As Long = &H4000000 'The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.
Public Const pcfCREATE_NO_WINDOW As Long = &H8000000
'ProcessCreationFlags - end

Public Enum ProcessCreationFlags
  pcfNone = &H0 'Default
  pcfDEBUG_PROCESS = &H1 'If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.
  pcfDEBUG_ONLY_THIS_PROCESS = &H2 'If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.
  pcfCREATE_SUSPENDED = &H4 'The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
  pcfDETACHED_PROCESS = &H8 ' For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
  pcfCREATE_NEW_CONSOLE = &H10 'The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.
  pcfNORMAL_PRIORITY_CLASS = &H20 'Indicates a normal process with no special scheduling needs.
  pcfIDLE_PRIORITY_CLASS = &H40 'Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
  pcfHIGH_PRIORITY_CLASS = &H80 'Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
  pcfREALTIME_PRIORITY_CLASS = &H100 'Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
  pcfCREATE_NEW_PROCESS_GROUP = &H200 'The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the ProcessInformation parameter.
  pcfCREATE_UNICODE_ENVIRONMENT = &H400 'If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.
  pcfCREATE_SEPARATE_WOW_VDM = &H800 'This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of running separately is that a crash only kills the single VDM; any other programs running in distinct VDMs continue to function normally. Also, 16-bit Windows-based applications that are run in separate VDMs have separate input queues. That means that if one application hangs momentarily, applications in separate VDMs continue to receive input.
  pcfCREATE_SHARED_WOW_VDM = &H1000 'The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared Virtual DOS Machine.
  pcfCREATE_FORCEDOS = &H2000
  pcfCREATE_DEFAULT_ERROR_MODE = &H4000000 'The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.
  pcfCREATE_NO_WINDOW = &H8000000
End Enum 'ProcessCreationFlags
//ProcessCreationFlags - begin
var pcfNone = 0x0; //Default
var pcfDEBUG_PROCESS = 0x1; //If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.
var pcfDEBUG_ONLY_THIS_PROCESS = 0x2; //If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.
var pcfCREATE_SUSPENDED = 0x4; //The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
var pcfDETACHED_PROCESS = 0x8; // For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
var pcfCREATE_NEW_CONSOLE = 0x10; //The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.
var pcfNORMAL_PRIORITY_CLASS = 0x20; //Indicates a normal process with no special scheduling needs.
var pcfIDLE_PRIORITY_CLASS = 0x40; //Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
var pcfHIGH_PRIORITY_CLASS = 0x80; //Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
var pcfREALTIME_PRIORITY_CLASS = 0x100; //Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
var pcfCREATE_NEW_PROCESS_GROUP = 0x200; //The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the ProcessInformation parameter.
var pcfCREATE_UNICODE_ENVIRONMENT = 0x400; //If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.
var pcfCREATE_SEPARATE_WOW_VDM = 0x800; //This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of running separately is that a crash only kills the single VDM; any other programs running in distinct VDMs continue to function normally. Also, 16-bit Windows-based applications that are run in separate VDMs have separate input queues. That means that if one application hangs momentarily, applications in separate VDMs continue to receive input.
var pcfCREATE_SHARED_WOW_VDM = 0x1000; //The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared Virtual DOS Machine.
var pcfCREATE_FORCEDOS = 0x2000;
var pcfCREATE_DEFAULT_ERROR_MODE = 0x4000000; //The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.
var pcfCREATE_NO_WINDOW = 0x8000000;
//ProcessCreationFlags - end

// ProcessCreationFlags
typedef [helpcontext(0x20025), helpstring("Specifies additional flags that control the priority class and the creation of the process. The following creation flags can be specified in any combination, except as noted")]
enum ProcessCreationFlags{
    [helpcontext(0x20025), helpstring("Default")]
        pcfNone = 0x0,
    [helpcontext(0x20025), helpstring("If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. The system notifies the debugger of all debug events that occur in the process being debugged.")]
        pcfDEBUG_PROCESS = 0x1,
    [helpcontext(0x20025), helpstring("If not set and the calling process is being debugged, the new process becomes another process being debugged by the calling process’s debugger. If the calling process is not a process being debugged, no debugging-related actions occur.")]
        pcfDEBUG_ONLY_THIS_PROCESS = 0x2,
    [helpcontext(0x20025), helpstring("The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.")]
        pcfCREATE_SUSPENDED = 0x4,
    [helpcontext(0x20025), helpstring(" For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.")]
        pcfDETACHED_PROCESS = 0x8,
    [helpcontext(0x20025), helpstring("The new process has a new console, instead of inheriting the parent’s console. This flag cannot be used with the DETACHED_PROCESS flag.")]
        pcfCREATE_NEW_CONSOLE = 0x10,
    [helpcontext(0x20025), helpstring("Indicates a normal process with no special scheduling needs.")]
        pcfNORMAL_PRIORITY_CLASS = 0x20,
    [helpcontext(0x20025), helpstring("Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.")]
        pcfIDLE_PRIORITY_CLASS = 0x40,
    [helpcontext(0x20025), helpstring("Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Ta")]
        pcfHIGH_PRIORITY_CLASS = 0x80,
    [helpcontext(0x20025), helpstring("Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process tha")]
        pcfREALTIME_PRIORITY_CLASS = 0x100,
    [helpcontext(0x20025), helpstring("The new process is the root process of a new process group. The process group includes all processes that are descendants of this root process. The process identifier of the new process group is the same as the process identifier, which is returned in the")]
        pcfCREATE_NEW_PROCESS_GROUP = 0x200,
    [helpcontext(0x20025), helpstring("If set, the environment block pointed to by lpEnvironment uses Unicode characters. If clear, the environment block uses ANSI characters. This flag is set by default.")]
        pcfCREATE_UNICODE_ENVIRONMENT = 0x400,
    [helpcontext(0x20025), helpstring("This flag is valid only when starting a 16-bit Windows-based application. If set, the new process is run in a private Virtual DOS Machine (VDM). By default, all 16-bit Windows-based applications are run as threads in a single, shared VDM. The advantage of")]
        pcfCREATE_SEPARATE_WOW_VDM = 0x800,
    [helpcontext(0x20025), helpstring("The flag is valid only when starting a 16-bit Windows-based application. If the DefaultSeparateVDM switch in the Windows section of WIN.INI is TRUE, this flag causes the CreateProcess function to override the switch and run the new process in the shared V")]
        pcfCREATE_SHARED_WOW_VDM = 0x1000,
    [helpcontext(0x20025)]
        pcfCREATE_FORCEDOS = 0x2000,
    [helpcontext(0x20025), helpstring("The new process does not inherit the error mode of the calling process. Instead, CreateProcess gives the new process the current default error mode.")]
        pcfCREATE_DEFAULT_ERROR_MODE = 0x4000000,
    [helpcontext(0x20025)]
        pcfCREATE_NO_WINDOW = 0x8000000
} ProcessCreationFlags;

Other links for ProcessCreationFlags class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ThreadPriorities Enum

ThreadPriorities

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use ThreadPriorities object

Description

Priority values for the thread.

Values

tpIdle = &HFFFFFFF1 | -15 | Lowest thread priority
tpLowest = &HFFFFFFFE | -2 | Indicates 2 points below normal priority for the priority class.
tpBellowNormal = &HFFFFFFFF | -1 | Indicates 1 point below normal priority for the priority class.
tpNormal = &H0 | 0 | Indicates normal priority for the priority class.
tpAboveNormal = &H1 | 1 | Indicates 1 point above normal priority for the priority class.
tpHighest = &H2 | 2 | Indicates 2 points above normal priority for the priority class.
tpTimeCritical = &HF | 15 | Indicates a base-priority level of 15.

Includes
'ThreadPriorities - begin
Public Const tpIdle = &HFFFFFFF1 'Lowest thread priority
Public Const tpLowest = &HFFFFFFFE 'Indicates 2 points below normal priority for the priority class.
Public Const tpBellowNormal = &HFFFFFFFF 'Indicates 1 point below normal priority for the priority class.
Public Const tpNormal = &H0 'Indicates normal priority for the priority class.
Public Const tpAboveNormal = &H1 ' Indicates 1 point above normal priority for the priority class.
Public Const tpHighest = &H2 'Indicates 2 points above normal priority for the priority class.
Public Const tpTimeCritical = &HF 'Indicates a base-priority level of 15.
'ThreadPriorities - end

'ThreadPriorities - begin
Public Const tpIdle As Long = &HFFFFFFF1 'Lowest thread priority
Public Const tpLowest As Long = &HFFFFFFFE 'Indicates 2 points below normal priority for the priority class.
Public Const tpBellowNormal As Long = &HFFFFFFFF 'Indicates 1 point below normal priority for the priority class.
Public Const tpNormal As Long = &H0 'Indicates normal priority for the priority class.
Public Const tpAboveNormal As Long = &H1 ' Indicates 1 point above normal priority for the priority class.
Public Const tpHighest As Long = &H2 'Indicates 2 points above normal priority for the priority class.
Public Const tpTimeCritical As Long = &HF 'Indicates a base-priority level of 15.
'ThreadPriorities - end

Public Enum ThreadPriorities
  tpIdle = &HFFFFFFF1 'Lowest thread priority
  tpLowest = &HFFFFFFFE 'Indicates 2 points below normal priority for the priority class.
  tpBellowNormal = &HFFFFFFFF 'Indicates 1 point below normal priority for the priority class.
  tpNormal = &H0 'Indicates normal priority for the priority class.
  tpAboveNormal = &H1 ' Indicates 1 point above normal priority for the priority class.
  tpHighest = &H2 'Indicates 2 points above normal priority for the priority class.
  tpTimeCritical = &HF 'Indicates a base-priority level of 15.
End Enum 'ThreadPriorities
//ThreadPriorities - begin
var tpIdle = 0xFFFFFFF1; //Lowest thread priority
var tpLowest = 0xFFFFFFFE; //Indicates 2 points below normal priority for the priority class.
var tpBellowNormal = 0xFFFFFFFF; //Indicates 1 point below normal priority for the priority class.
var tpNormal = 0x0; //Indicates normal priority for the priority class.
var tpAboveNormal = 0x1; // Indicates 1 point above normal priority for the priority class.
var tpHighest = 0x2; //Indicates 2 points above normal priority for the priority class.
var tpTimeCritical = 0xF; //Indicates a base-priority level of 15.
//ThreadPriorities - end

// ThreadPriorities
typedef [helpcontext(0x2002F), helpstring("Priority values for the thread.")]
enum ThreadPriorities{
    [helpcontext(0x2002F), helpstring("Lowest thread priority")]
        tpIdle = 0xFFFFFFF1,
    [helpcontext(0x2002F), helpstring("Indicates 2 points below normal priority for the priority class.")]
        tpLowest = 0xFFFFFFFE,
    [helpcontext(0x2002F), helpstring("Indicates 1 point below normal priority for the priority class.")]
        tpBellowNormal = 0xFFFFFFFF,
    [helpcontext(0x2002F), helpstring("Indicates normal priority for the priority class.")]
        tpNormal = 0x0,
    [helpcontext(0x2002F), helpstring(" Indicates 1 point above normal priority for the priority class.")]
        tpAboveNormal = 0x1,
    [helpcontext(0x2002F), helpstring("Indicates 2 points above normal priority for the priority class.")]
        tpHighest = 0x2,
    [helpcontext(0x2002F), helpstring("Indicates a base-priority level of 15.")]
        tpTimeCritical = 0xF
} ThreadPriorities;

Used in

Thread.Priority, ASPForm.ThreadPriority
Other links for ThreadPriorities class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ZLibCompressLevels Enum

ZLibCompressLevels

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Enum
Member of ScriptUtils Use ZLibCompressLevels object

Description

Compression levels for the zlib class. Accepts values between 1 and 9.

Values

clDefaultCompression = &HFFFFFFFF | -1 | Default compression
clNoCompression = &H0 | 0 | No compression, only store
clBestSpeed = &H1 | 1 | Best speed
clBestCompression = &H9 | 9 | Best compression

Includes
'ZLibCompressLevels - begin
Public Const clDefaultCompression = &HFFFFFFFF 'Default compression
Public Const clNoCompression = &H0 'No compression, only store
Public Const clBestSpeed = &H1 'Best speed
Public Const clBestCompression = &H9 'Best compression
'ZLibCompressLevels - end

'ZLibCompressLevels - begin
Public Const clDefaultCompression As Long = &HFFFFFFFF 'Default compression
Public Const clNoCompression As Long = &H0 'No compression, only store
Public Const clBestSpeed As Long = &H1 'Best speed
Public Const clBestCompression As Long = &H9 'Best compression
'ZLibCompressLevels - end

Public Enum ZLibCompressLevels
  clDefaultCompression = &HFFFFFFFF 'Default compression
  clNoCompression = &H0 'No compression, only store
  clBestSpeed = &H1 'Best speed
  clBestCompression = &H9 'Best compression
End Enum 'ZLibCompressLevels
//ZLibCompressLevels - begin
var clDefaultCompression = 0xFFFFFFFF; //Default compression
var clNoCompression = 0x0; //No compression, only store
var clBestSpeed = 0x1; //Best speed
var clBestCompression = 0x9; //Best compression
//ZLibCompressLevels - end

// ZLibCompressLevels
typedef [helpcontext(0x20054), helpstring("Compression levels for the zlib class.
Accepts values between 1 and 9.")]
enum ZLibCompressLevels{
    [helpcontext(0x20054), helpstring("Default compression")]
        clDefaultCompression = 0xFFFFFFFF,
    [helpcontext(0x20054), helpstring("No compression, only store")]
        clNoCompression = 0x0,
    [helpcontext(0x20054), helpstring("Best speed")]
        clBestSpeed = 0x1,
    [helpcontext(0x20054), helpstring("Best compression")]
        clBestCompression = 0x9
} ZLibCompressLevels;

Used in

ZLib.Compress
Other links for ZLibCompressLevels class

ASP file upload and ScriptUtilities classes

Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib, LogFile, ASPForm, FormFields, FormField, FormParser

ASP file upload and ScriptUtilities enums

ProcessCreationFlags, ThreadPriorities, PriorityClasses, LogonTypes, ConvertCodePages, OutputTypes, ZLibCompressLevels, ConvertTypes, LogLineEncodes, LogLineBeginTypes, FormStates, eFormType

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


ScriptUtilities and HugeASP file upload installation Article

ScriptUtilities and HugeASP file upload installation

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

ScriptUtilities and HugeASP file upload installation

First installation of ScriptUtilities and HugeASP file upload
1. Download evaluation or full version from your download location.
2. Run scptutl.exe on the computer you want to install the software
3. Go to Start -> Programs -> PSTRUH Software -> samples
copy the .asp samples to web folder with execute rights and try to run the samples.
Installation of full version over evaluation or Installation of newer versions
1. Download evaluation or full version from your download location.
2. Stop W3SVC rervice on computer you want to install ScriptUtilities
Note: W3SVC processes (dllhost.exe) usually locks aspform.dll and scptutl.dll libraries
3. Run scptutl.exe on the computer you want to install the software
The installation is completted in seconds
4. Start W3SVC service
Advanced: Custom installation without setup or without w3svc restart, redistribution.
Redistribution, installation without setup
ScriptUtilities and Huge-ASP upload package (scptutl.exe) contains samples, help and two main DLLs - ASPForm.DLL containing Huge-ASP file upload ( ASPForm , FormFields , FormField and FormParser classes) and ScptUtl.DLL containing ScriptUtilities ( Kernel , ByteArray , Process , Thread , Advapi , INIFile , ZLib and LogFile classes).
You will only need ASPForm.DLL to work with upload classes and ScptUtl.DLL for other classes.
You can copy the DLLs to server-side to a folder with read and execute right for IUSR_... and other web user accounts and then register them by regsvr32.

You can get these files from setup package by 'ScptUtl.exe /T:c:\temp /C' command.
Problem with locked ASPForm.DLL / ScptUtl.DLL
W3SVC processes (dllhost.exe) usually locks aspform.dll and scptutl.dll libraries. Sometimes you need to install newer versions of this DLL without restarting of your web or with minimal server stop-time.
I such case you can
- rename old aspform.dll and scptutl.dll dlls (for example to *.bak)
- copy new version of the DLL and register the new versions using regsvr32:
regsvr32 ASPForm.DLL
regsvr32 ScptUtl.DLL
- quick restart websites using the DLLs or better restart required dllhosts.exe (which uses the DLLs) in COM+ management console.
Other links for ScriptUtilities and HugeASP file upload installation

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Huge ASP file upload and Script Utilities features Article

Huge ASP file upload and Script Utilities features

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Huge ASP file upload and Script Utilities features

HTML upload/download and form processing features

  • Hi-performance multiple file upload to ASP from bytes to gigabytes.
  • Easy to use, equivalent to ASP Request.Form object.
  • Fully customizable html progress bar, progress gallery.
    ASP upload - progress bar screenshot.
  • Secure (https/ssl) asp file upload
  • Custom upload size limit for upload (up to 2GB, SizeLimit).
  • Custom upload limit for each file.
  • Image (or Text/HTML) preview before upload to ASP.
  • POST large html forms (text areas), without ~80kB ASP request.Form(..) limit
  • Upload-to-email attachment, administrator email notification after upload
  • Save files with original, unique or custom file names
  • Convert original field headers from several code pages (including utf-8 and more than 100 other character set)
  • Upload to SQL/MDB database, samples for files with size up to 2GB
  • Works with multiselect fields / non-unique field names.
  • ASPForm (ASP upload and POST data handling) and FormParser classes (multipart parser).
  • multipart/form-data and application/x-www-form-urlencoded forms, accepts any code page of form fields, including utf-8, Japanese and Chinese, with size limited to 2GB
  • Hi performance, low resources algorithm (processor, memory - see MaxMemoryStorage).
  • Header conversions from any code page (also unicode/utf-8 - see ConvertCodePages)
  • Access to source data along to form fields (Request.BinaryRead, see SourceData)
  • Version without component and installation, only plain VBScript include, see Pure ASP file upload.

Binary data manipulation

  • Custom file browser (list of files/folders with download and authentication)
  • Multiple files/folders download with on-the-fly zip/arj, unlimitted download size
  • Conversion to HexString, Base64 and Punycode (IDN)
  • Search location of substrings (or binary) within binary data
  • Block data manipulation (Save/restore block of data to a file)
  • Work with very large files in ASP, VB Script/JScript (terabyte files - limit only by disk size, Charset conversion of very large files - 2GB and more)
  • Conversion from/to any code page (see ScriptUtils.ConvertCodePages), conversion between two code pages / character sets (CharSetConvert), batch file conversion.

Other features

  • New! LogFile class. The class provides hi-performance logging for ASP/VBS/VBA applications.
  • New! ZLib class, Compress and UnCompress methods
  • INI file functions
  • Get Environment variables, TempPath
  • Process and thread manipulation
  • Get process and thread kernel and user time. Lets you measure process/thread time consumption and do performance optimalizations
To monitor (or stop) current uploads and downloads see IISTracer, real-time monitoring tool. IISTracer is an independent IIS monitoring tool which shows current upload state (request info, upload progress) in all scripting environment (ASP, ASP.Net, php, cgi, cfm ...).
Other links for Huge ASP file upload and Script Utilities features

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Resources/references Article

Resources/references

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Resources/references

Live sample of http upload (PSTRUH Software)
ScriptUtils.ASPForm.Upload - performance tests.
ScriptUtils.FAQ for Huge ASP file upload and scriptUtilities.Upload - to database, or not to database?
ScriptUtils.ASPForm.Upload - Files and forms with large/huge size.
ScriptUtils.ASPForm.Upload - Progress bar indicator
ScriptUtils.FAQ for Huge ASP file upload and scriptUtilities
ScriptUtils.ASPForm.Using Huge-ASP upload - ASPForm class
ScriptUtils.ASPForm.Upload - Monitor and handle upload state/result
RFC 1867 - protocol definition for html upload.
Other links for Resources/references

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


FAQ for Huge ASP file upload and scriptUtilities Article

FAQ for Huge ASP file upload and scriptUtilities

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

FAQ for Huge ASP file upload and scriptUtilities

Still expire after full installation?
Install/deploy/distribute software without exe setup?

Problem with upload of big files, cannot upload more than xxxkB/MB?
Upload without user interaction?
Expire of evaluation version?

Upload progress bar does not work.

Solution for several problems with upload progress bar.

Huge-ASP or Pure-ASP file upload?

What version of the upload object should I use? What are differences between Huge ASP upload and Pure ASP upload?

maxRequestLength - Maximum request length exceeded - IIS6

Describes some problems with IIS6 and upload of large files.

application/x-www-form-urlencoded and multipart/form-data forms?

How to handle several types of source form encoding using HugeASP upload and ASPForm object.

Upload - Problem with upload speed?

Some clients have problem with upload speed. This FAQ has a short info and performance test comparisons to reveal the problem.

2GB upload limit for http uploads and very large forms - 100MB, 2GB (4GB)

Q: Hi, is it possible to set the upload limit on Huge ASP to a file size greater than 2gb? 2gb is too small, we are needing to upload hi-res video files of 3.5gb at times.

HugeASP upload is designed to work with up to 2GB files. The reason for the limit is simple - current browsers does not support upload of bigger files than 2GB over internet and IIS6 also accepts only 2GB files, no more.

Software | Versions | Upload limit
Internet explorer | All versions | 2GB-1
Mozilla Firefox | All versions | 2GB-1
IIS | 1-5 | 2GB-1
IIS | 6 | 4GB-1
ASP | All versions | 2GB-1

I tried several browsers to upload files over 2gb and the results are on this page.

Mozilla firefox

Upload file over 2GB - you cannot post such file, Mozilla does not send request with bigger file to server

Upload two or more files with size summary size >2GB - Mozilla send such files, but http headers are funny:

POST /content-length-test.htm HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) Gecko/20060909 Firefox/1.5.0.7
Content-Type: multipart/form-data;
            boundary=---------------------------28146504217367
Content-Length: -1618952669

But IIS doesn't know what means "Content-Length: -1618952669" and it answers "Bad request"

Internet Explorer

The results with IE are similar - IE allows to post file over 2GB, but the http headers looks like in Mozilla:

POST /content-length-test.htm HTTP/1.1
Content-Type: multipart/form-data; boundary=---------------------------7d630d6400da
UA-CPU: x86
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; )
Content-Length: -107389343

Both major internet browsers simply count content-length of uploads in 32bit signed integer, so their results are unusable for very large uploads.

IIS, ASP, V6.0

I prepared a simple test for IIS6 - POST with 30GB Content-Length:

POST /content-length-test.asp HTTP/1.1
Content-Type: multipart/form-data; boundary=--------------------------------08235985
Content-Length: 30000000000
User-Agent: Hammoun/1.0 (WinNT 5.2.3790;Service Pack 1)

And the IIS answer is next

HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET

You can post up to 4294967295 bytes to IIS, but ASP request.totalbytes returns -1 for post size over 2GB. So the maximum useful limit in ASP is also 2GB.

Expire of evaluation version?

Q: Actually I download your 60 days free evaluation version ( Huge-ASP upload, ScriptUtilities library …..) from your site. I downloaded this software some where in the month of June’02. I worked few days to check the need of our software. When I have written very small program to check it is working, then it says:

ScriptUtils.ASPForm(0x80040112)
Evalution version of Huge-ASP upload was expired.

Actually we did’nt even check all features of your software for our product. And now it is not working. Please help me so that we can check more features of your software with our requirements.

ScriptUtilities and Huge-ASP upload evaluation version contains simple 60-day expiration mechanism. Please go to registry, HKEY_LOCAL_MACHINE\SOFTWARE\Pstruh key and delete License key.
Remember that the software is NOT a freeware (please see License page for ASP file upload and ScriptUtilities), you can use this feature to get more evaluation time.

Still expire after full installation?

Q: We've downloaded & installed the full version as instructed (first removing the old version), but we are still getting a message saying
'ScriptUtils.ASPForm (0x80040112)
Evaluation version of Huge-ASP upload was expired.' can you advise please?

This problem cohere with DLL locking and caching. ASPFORM.DLL and SCPTUTL.DLL are locked by dllhost.exe, ASP process. You can avoid this problem:
1. Stop w3svc service
2. Install full version of ScriptUtilities and Huge-ASP upload
3. Start w3svc service

Upload without user interaction?

Q: The program looks very nice. I am only wondering if the following is possible. Is it possible to upload a file without user interaction? So that the user doesn't need to select the file to upload.
I want this to be an automatic process. I know the files that need to be uploaded, so when I open the upload.asp page, I want the upload progress be executed automatically. If this is possible, where can I find it in your help?

This functionality has some of very old versions of internet browsers. There is a big security problem with such function - imagine what you can to do on a client computer with such security leak ...
So this is not possible in standard HTML and JavaScript/VBScript now - because of security reasons. You cannot access files on client computer in safe-scriptable code, of course.

We can use some work-around for such work, of course - using unsafe code - Scripting and ADODB objects. I wrote a short article with full VBS source code at http://www.motobit.com/tips/detpg_uploadvbsie.htm.

Upload - to database, or not to database?

Performance tests of several methods to store files on server-side. Save file to disk, store to database.

Problem with upload of big files?

Q: We want to purchase your product for uploading files to server. But we want to test it for larger files up to 10 -15 MB but your 60 day trial version allows us to upload only below 1MB from our web browses to our web server. I believe your ASP upload is a very good tool and we are keenly interested in buying it. SO please let me know how we can test it for more than 1 Mb.

Trial (evaluation) version of Huge-ASP upload has no functionality limit - except 60 day evaluation period. Please see ScriptUtils.ASPForm.Upload - Files and forms with large/huge size. article. The article contains info about important settings if you want to upload large files (or if you want to accept uploads on slow internet connections). The problem is probably with short ScriptTimeout or small free space on a temporary drive.
There is also a second kind of problems - proxy server between client and server. Such proxy can limit the size of post data - and the limit is usually set to 1MB.

Install Huge ASP upload without exe setup.

Question: Can I install Huge-ASP file upload without scptutl.exe file? How can I redistribute upload and scriptutilities?

ScriptUtilities and Huge-ASP upload package (scptutl.exe) contains samples, help and two main DLLs - ASPForm.DLL and ScptUtl.DLL. ASPForm.DLL contains Huge ASP file upload component (ASPForm, FormFields, FormField and FormParser classes), ScptUtl.DLL contains ScriptUtilities classes (Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib and LogFile).
You will only need these two .DLL files. You can copy the DLLs to your server and register them by regsvr32.

You can get these files by 'ScptUtl.exe /T:c:\temp /C' command.

Cannot find server or DNS Error, page cannot be displayed when uploading files?

Some common answers to handle upload data with size over allowed limit. Possible solutions, problematic situations, communication between client browser (IE and similar) and IIS server.
Other links for FAQ for Huge ASP file upload and scriptUtilities

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Use ProcessCreationFlags in programming environments - VB Script, VBA, ASP and others

ProcessCreationFlags usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ProcessCreationFlags

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ProcessCreationFlags
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ProcessCreationFlags
Set ProcessCreationFlags = CreateObject("ScriptUtils.ProcessCreationFlags")
ProcessCreationFlags.SomeMethod SomeParameters
ProcessCreationFlags.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ProcessCreationFlags object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ProcessCreationFlags"
 progid="ScriptUtils.ProcessCreationFlags">
</object>

Please use ActivexObject object in JScript/JavaScript to create ProcessCreationFlags object:

var ProcessCreationFlags;
ProcessCreationFlags = new ActiveXObject("ScriptUtils.ProcessCreationFlags");
ProcessCreationFlags.SomeMethod(SomeParameters)
ProcessCreationFlags.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ProcessCreationFlags As New ScriptUtilities.ProcessCreationFlags
ProcessCreationFlags.SomeMethod SomeParameters
ProcessCreationFlags.SomeProperty = SomeValue
    ...
or
Dim ProcessCreationFlags As ScriptUtilities.ProcessCreationFlags
...
Set ProcessCreationFlags = New ScriptUtilities.ProcessCreationFlags
ProcessCreationFlags.SomeMethod SomeParameters
ProcessCreationFlags.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ProcessCreationFlags As ScriptUtilities.ProcessCreationFlags
...
Set ProcessCreationFlags = CreateObject("ScriptUtils.ProcessCreationFlags")
ProcessCreationFlags.SomeMethod SomeParameters
ProcessCreationFlags.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ProcessCreationFlags object
 ScriptUtilities.ProcessCreationFlags ProcessCreationFlags = new ScriptUtilities.ProcessCreationFlagsClass();
 ProcessCreationFlags.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ProcessCreationFlags.get_HexString() + ")"; ...
or (VBA)
Dim ProcessCreationFlags As New ScriptUtilities.ProcessCreationFlags
ProcessCreationFlags.SomeMethod(SomeParameters)
ProcessCreationFlags.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ProcessCreationFlags INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ProcessCreationFlags', @ProcessCreationFlags OUT
IF @OLEResult <> 0 PRINT 'Error create component ProcessCreationFlags'

--Set a property of ProcessCreationFlags.
EXECUTE @OLEResult = sp_OASetProperty @ProcessCreationFlags, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ProcessCreationFlags.
EXECUTE @OLEResult = sp_OAGetProperty @ProcessCreationFlags, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ProcessCreationFlags.
EXEC @OLEResult = sp_OAMethod @ProcessCreationFlags, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ProcessCreationFlags is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use Kernel in programming environments - VB Script, VBA, ASP and others

Kernel usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.Kernel

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.Kernel
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim Kernel
Set Kernel = CreateObject("ScriptUtils.Kernel")
Kernel.SomeMethod SomeParameters
Kernel.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the Kernel object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="Kernel"
 progid="ScriptUtils.Kernel">
</object>

Please use ActivexObject object in JScript/JavaScript to create Kernel object:

var Kernel;
Kernel = new ActiveXObject("ScriptUtils.Kernel");
Kernel.SomeMethod(SomeParameters)
Kernel.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim Kernel As New ScriptUtilities.Kernel
Kernel.SomeMethod SomeParameters
Kernel.SomeProperty = SomeValue
    ...
or
Dim Kernel As ScriptUtilities.Kernel
...
Set Kernel = New ScriptUtilities.Kernel
Kernel.SomeMethod SomeParameters
Kernel.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim Kernel As ScriptUtilities.Kernel
...
Set Kernel = CreateObject("ScriptUtils.Kernel")
Kernel.SomeMethod SomeParameters
Kernel.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new Kernel object
 ScriptUtilities.Kernel Kernel = new ScriptUtilities.KernelClass();
 Kernel.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + Kernel.get_HexString() + ")"; ...
or (VBA)
Dim Kernel As New ScriptUtilities.Kernel
Kernel.SomeMethod(SomeParameters)
Kernel.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @Kernel INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Kernel', @Kernel OUT
IF @OLEResult <> 0 PRINT 'Error create component Kernel'

--Set a property of Kernel.
EXECUTE @OLEResult = sp_OASetProperty @Kernel, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of Kernel.
EXECUTE @OLEResult = sp_OAGetProperty @Kernel, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of Kernel.
EXEC @OLEResult = sp_OAMethod @Kernel, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). Kernel is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ByteArray in programming environments - VB Script, VBA, ASP and others

ByteArray usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ByteArray

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ByteArray
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")
ByteArray.SomeMethod SomeParameters
ByteArray.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ByteArray object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ByteArray"
 progid="ScriptUtils.ByteArray">
</object>

Please use ActivexObject object in JScript/JavaScript to create ByteArray object:

var ByteArray;
ByteArray = new ActiveXObject("ScriptUtils.ByteArray");
ByteArray.SomeMethod(SomeParameters)
ByteArray.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ByteArray As New ScriptUtilities.ByteArray
ByteArray.SomeMethod SomeParameters
ByteArray.SomeProperty = SomeValue
    ...
or
Dim ByteArray As ScriptUtilities.ByteArray
...
Set ByteArray = New ScriptUtilities.ByteArray
ByteArray.SomeMethod SomeParameters
ByteArray.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ByteArray As ScriptUtilities.ByteArray
...
Set ByteArray = CreateObject("ScriptUtils.ByteArray")
ByteArray.SomeMethod SomeParameters
ByteArray.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ByteArray object
 ScriptUtilities.ByteArray ByteArray = new ScriptUtilities.ByteArrayClass();
 ByteArray.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ByteArray.get_HexString() + ")"; ...
or (VBA)
Dim ByteArray As New ScriptUtilities.ByteArray
ByteArray.SomeMethod(SomeParameters)
ByteArray.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ByteArray INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ByteArray', @ByteArray OUT
IF @OLEResult <> 0 PRINT 'Error create component ByteArray'

--Set a property of ByteArray.
EXECUTE @OLEResult = sp_OASetProperty @ByteArray, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ByteArray.
EXECUTE @OLEResult = sp_OAGetProperty @ByteArray, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ByteArray.
EXEC @OLEResult = sp_OAMethod @ByteArray, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ByteArray is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ThreadPriorities in programming environments - VB Script, VBA, ASP and others

ThreadPriorities usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ThreadPriorities

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ThreadPriorities
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ThreadPriorities
Set ThreadPriorities = CreateObject("ScriptUtils.ThreadPriorities")
ThreadPriorities.SomeMethod SomeParameters
ThreadPriorities.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ThreadPriorities object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ThreadPriorities"
 progid="ScriptUtils.ThreadPriorities">
</object>

Please use ActivexObject object in JScript/JavaScript to create ThreadPriorities object:

var ThreadPriorities;
ThreadPriorities = new ActiveXObject("ScriptUtils.ThreadPriorities");
ThreadPriorities.SomeMethod(SomeParameters)
ThreadPriorities.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ThreadPriorities As New ScriptUtilities.ThreadPriorities
ThreadPriorities.SomeMethod SomeParameters
ThreadPriorities.SomeProperty = SomeValue
    ...
or
Dim ThreadPriorities As ScriptUtilities.ThreadPriorities
...
Set ThreadPriorities = New ScriptUtilities.ThreadPriorities
ThreadPriorities.SomeMethod SomeParameters
ThreadPriorities.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ThreadPriorities As ScriptUtilities.ThreadPriorities
...
Set ThreadPriorities = CreateObject("ScriptUtils.ThreadPriorities")
ThreadPriorities.SomeMethod SomeParameters
ThreadPriorities.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ThreadPriorities object
 ScriptUtilities.ThreadPriorities ThreadPriorities = new ScriptUtilities.ThreadPrioritiesClass();
 ThreadPriorities.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ThreadPriorities.get_HexString() + ")"; ...
or (VBA)
Dim ThreadPriorities As New ScriptUtilities.ThreadPriorities
ThreadPriorities.SomeMethod(SomeParameters)
ThreadPriorities.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ThreadPriorities INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ThreadPriorities', @ThreadPriorities OUT
IF @OLEResult <> 0 PRINT 'Error create component ThreadPriorities'

--Set a property of ThreadPriorities.
EXECUTE @OLEResult = sp_OASetProperty @ThreadPriorities, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ThreadPriorities.
EXECUTE @OLEResult = sp_OAGetProperty @ThreadPriorities, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ThreadPriorities.
EXEC @OLEResult = sp_OAMethod @ThreadPriorities, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ThreadPriorities is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use Process in programming environments - VB Script, VBA, ASP and others

Process usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.Process

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.Process
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim Process
Set Process = CreateObject("ScriptUtils.Process")
Process.SomeMethod SomeParameters
Process.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the Process object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="Process"
 progid="ScriptUtils.Process">
</object>

Please use ActivexObject object in JScript/JavaScript to create Process object:

var Process;
Process = new ActiveXObject("ScriptUtils.Process");
Process.SomeMethod(SomeParameters)
Process.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim Process As New ScriptUtilities.Process
Process.SomeMethod SomeParameters
Process.SomeProperty = SomeValue
    ...
or
Dim Process As ScriptUtilities.Process
...
Set Process = New ScriptUtilities.Process
Process.SomeMethod SomeParameters
Process.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim Process As ScriptUtilities.Process
...
Set Process = CreateObject("ScriptUtils.Process")
Process.SomeMethod SomeParameters
Process.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new Process object
 ScriptUtilities.Process Process = new ScriptUtilities.ProcessClass();
 Process.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + Process.get_HexString() + ")"; ...
or (VBA)
Dim Process As New ScriptUtilities.Process
Process.SomeMethod(SomeParameters)
Process.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @Process INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Process', @Process OUT
IF @OLEResult <> 0 PRINT 'Error create component Process'

--Set a property of Process.
EXECUTE @OLEResult = sp_OASetProperty @Process, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of Process.
EXECUTE @OLEResult = sp_OAGetProperty @Process, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of Process.
EXEC @OLEResult = sp_OAMethod @Process, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). Process is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use PriorityClasses in programming environments - VB Script, VBA, ASP and others

PriorityClasses usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.PriorityClasses

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.PriorityClasses
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim PriorityClasses
Set PriorityClasses = CreateObject("ScriptUtils.PriorityClasses")
PriorityClasses.SomeMethod SomeParameters
PriorityClasses.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the PriorityClasses object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="PriorityClasses"
 progid="ScriptUtils.PriorityClasses">
</object>

Please use ActivexObject object in JScript/JavaScript to create PriorityClasses object:

var PriorityClasses;
PriorityClasses = new ActiveXObject("ScriptUtils.PriorityClasses");
PriorityClasses.SomeMethod(SomeParameters)
PriorityClasses.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim PriorityClasses As New ScriptUtilities.PriorityClasses
PriorityClasses.SomeMethod SomeParameters
PriorityClasses.SomeProperty = SomeValue
    ...
or
Dim PriorityClasses As ScriptUtilities.PriorityClasses
...
Set PriorityClasses = New ScriptUtilities.PriorityClasses
PriorityClasses.SomeMethod SomeParameters
PriorityClasses.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim PriorityClasses As ScriptUtilities.PriorityClasses
...
Set PriorityClasses = CreateObject("ScriptUtils.PriorityClasses")
PriorityClasses.SomeMethod SomeParameters
PriorityClasses.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new PriorityClasses object
 ScriptUtilities.PriorityClasses PriorityClasses = new ScriptUtilities.PriorityClassesClass();
 PriorityClasses.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + PriorityClasses.get_HexString() + ")"; ...
or (VBA)
Dim PriorityClasses As New ScriptUtilities.PriorityClasses
PriorityClasses.SomeMethod(SomeParameters)
PriorityClasses.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @PriorityClasses INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.PriorityClasses', @PriorityClasses OUT
IF @OLEResult <> 0 PRINT 'Error create component PriorityClasses'

--Set a property of PriorityClasses.
EXECUTE @OLEResult = sp_OASetProperty @PriorityClasses, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of PriorityClasses.
EXECUTE @OLEResult = sp_OAGetProperty @PriorityClasses, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of PriorityClasses.
EXEC @OLEResult = sp_OAMethod @PriorityClasses, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). PriorityClasses is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use Thread in programming environments - VB Script, VBA, ASP and others

Thread usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.Thread

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.Thread
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim Thread
Set Thread = CreateObject("ScriptUtils.Thread")
Thread.SomeMethod SomeParameters
Thread.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the Thread object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="Thread"
 progid="ScriptUtils.Thread">
</object>

Please use ActivexObject object in JScript/JavaScript to create Thread object:

var Thread;
Thread = new ActiveXObject("ScriptUtils.Thread");
Thread.SomeMethod(SomeParameters)
Thread.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim Thread As New ScriptUtilities.Thread
Thread.SomeMethod SomeParameters
Thread.SomeProperty = SomeValue
    ...
or
Dim Thread As ScriptUtilities.Thread
...
Set Thread = New ScriptUtilities.Thread
Thread.SomeMethod SomeParameters
Thread.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim Thread As ScriptUtilities.Thread
...
Set Thread = CreateObject("ScriptUtils.Thread")
Thread.SomeMethod SomeParameters
Thread.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new Thread object
 ScriptUtilities.Thread Thread = new ScriptUtilities.ThreadClass();
 Thread.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + Thread.get_HexString() + ")"; ...
or (VBA)
Dim Thread As New ScriptUtilities.Thread
Thread.SomeMethod(SomeParameters)
Thread.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @Thread INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Thread', @Thread OUT
IF @OLEResult <> 0 PRINT 'Error create component Thread'

--Set a property of Thread.
EXECUTE @OLEResult = sp_OASetProperty @Thread, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of Thread.
EXECUTE @OLEResult = sp_OAGetProperty @Thread, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of Thread.
EXEC @OLEResult = sp_OAMethod @Thread, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). Thread is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use Advapi in programming environments - VB Script, VBA, ASP and others

Advapi usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.Advapi

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.Advapi
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim Advapi
Set Advapi = CreateObject("ScriptUtils.Advapi")
Advapi.SomeMethod SomeParameters
Advapi.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the Advapi object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="Advapi"
 progid="ScriptUtils.Advapi">
</object>

Please use ActivexObject object in JScript/JavaScript to create Advapi object:

var Advapi;
Advapi = new ActiveXObject("ScriptUtils.Advapi");
Advapi.SomeMethod(SomeParameters)
Advapi.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim Advapi As New ScriptUtilities.Advapi
Advapi.SomeMethod SomeParameters
Advapi.SomeProperty = SomeValue
    ...
or
Dim Advapi As ScriptUtilities.Advapi
...
Set Advapi = New ScriptUtilities.Advapi
Advapi.SomeMethod SomeParameters
Advapi.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim Advapi As ScriptUtilities.Advapi
...
Set Advapi = CreateObject("ScriptUtils.Advapi")
Advapi.SomeMethod SomeParameters
Advapi.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new Advapi object
 ScriptUtilities.Advapi Advapi = new ScriptUtilities.AdvapiClass();
 Advapi.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + Advapi.get_HexString() + ")"; ...
or (VBA)
Dim Advapi As New ScriptUtilities.Advapi
Advapi.SomeMethod(SomeParameters)
Advapi.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @Advapi INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.Advapi', @Advapi OUT
IF @OLEResult <> 0 PRINT 'Error create component Advapi'

--Set a property of Advapi.
EXECUTE @OLEResult = sp_OASetProperty @Advapi, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of Advapi.
EXECUTE @OLEResult = sp_OAGetProperty @Advapi, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of Advapi.
EXEC @OLEResult = sp_OAMethod @Advapi, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). Advapi is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use LogonTypes in programming environments - VB Script, VBA, ASP and others

LogonTypes usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogonTypes

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.LogonTypes
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim LogonTypes
Set LogonTypes = CreateObject("ScriptUtils.LogonTypes")
LogonTypes.SomeMethod SomeParameters
LogonTypes.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the LogonTypes object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="LogonTypes"
 progid="ScriptUtils.LogonTypes">
</object>

Please use ActivexObject object in JScript/JavaScript to create LogonTypes object:

var LogonTypes;
LogonTypes = new ActiveXObject("ScriptUtils.LogonTypes");
LogonTypes.SomeMethod(SomeParameters)
LogonTypes.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim LogonTypes As New ScriptUtilities.LogonTypes
LogonTypes.SomeMethod SomeParameters
LogonTypes.SomeProperty = SomeValue
    ...
or
Dim LogonTypes As ScriptUtilities.LogonTypes
...
Set LogonTypes = New ScriptUtilities.LogonTypes
LogonTypes.SomeMethod SomeParameters
LogonTypes.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim LogonTypes As ScriptUtilities.LogonTypes
...
Set LogonTypes = CreateObject("ScriptUtils.LogonTypes")
LogonTypes.SomeMethod SomeParameters
LogonTypes.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new LogonTypes object
 ScriptUtilities.LogonTypes LogonTypes = new ScriptUtilities.LogonTypesClass();
 LogonTypes.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + LogonTypes.get_HexString() + ")"; ...
or (VBA)
Dim LogonTypes As New ScriptUtilities.LogonTypes
LogonTypes.SomeMethod(SomeParameters)
LogonTypes.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @LogonTypes INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.LogonTypes', @LogonTypes OUT
IF @OLEResult <> 0 PRINT 'Error create component LogonTypes'

--Set a property of LogonTypes.
EXECUTE @OLEResult = sp_OASetProperty @LogonTypes, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of LogonTypes.
EXECUTE @OLEResult = sp_OAGetProperty @LogonTypes, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of LogonTypes.
EXEC @OLEResult = sp_OAMethod @LogonTypes, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). LogonTypes is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ConvertCodePages in programming environments - VB Script, VBA, ASP and others

ConvertCodePages usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ConvertCodePages

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ConvertCodePages
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ConvertCodePages
Set ConvertCodePages = CreateObject("ScriptUtils.ConvertCodePages")
ConvertCodePages.SomeMethod SomeParameters
ConvertCodePages.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ConvertCodePages object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ConvertCodePages"
 progid="ScriptUtils.ConvertCodePages">
</object>

Please use ActivexObject object in JScript/JavaScript to create ConvertCodePages object:

var ConvertCodePages;
ConvertCodePages = new ActiveXObject("ScriptUtils.ConvertCodePages");
ConvertCodePages.SomeMethod(SomeParameters)
ConvertCodePages.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ConvertCodePages As New ScriptUtilities.ConvertCodePages
ConvertCodePages.SomeMethod SomeParameters
ConvertCodePages.SomeProperty = SomeValue
    ...
or
Dim ConvertCodePages As ScriptUtilities.ConvertCodePages
...
Set ConvertCodePages = New ScriptUtilities.ConvertCodePages
ConvertCodePages.SomeMethod SomeParameters
ConvertCodePages.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ConvertCodePages As ScriptUtilities.ConvertCodePages
...
Set ConvertCodePages = CreateObject("ScriptUtils.ConvertCodePages")
ConvertCodePages.SomeMethod SomeParameters
ConvertCodePages.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ConvertCodePages object
 ScriptUtilities.ConvertCodePages ConvertCodePages = new ScriptUtilities.ConvertCodePagesClass();
 ConvertCodePages.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ConvertCodePages.get_HexString() + ")"; ...
or (VBA)
Dim ConvertCodePages As New ScriptUtilities.ConvertCodePages
ConvertCodePages.SomeMethod(SomeParameters)
ConvertCodePages.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ConvertCodePages INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ConvertCodePages', @ConvertCodePages OUT
IF @OLEResult <> 0 PRINT 'Error create component ConvertCodePages'

--Set a property of ConvertCodePages.
EXECUTE @OLEResult = sp_OASetProperty @ConvertCodePages, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ConvertCodePages.
EXECUTE @OLEResult = sp_OAGetProperty @ConvertCodePages, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ConvertCodePages.
EXEC @OLEResult = sp_OAMethod @ConvertCodePages, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ConvertCodePages is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use INIFile in programming environments - VB Script, VBA, ASP and others

INIFile usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.INIFile

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.INIFile
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim INIFile
Set INIFile = CreateObject("ScriptUtils.INIFile")
INIFile.SomeMethod SomeParameters
INIFile.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the INIFile object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="INIFile"
 progid="ScriptUtils.INIFile">
</object>

Please use ActivexObject object in JScript/JavaScript to create INIFile object:

var INIFile;
INIFile = new ActiveXObject("ScriptUtils.INIFile");
INIFile.SomeMethod(SomeParameters)
INIFile.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim INIFile As New ScriptUtilities.INIFile
INIFile.SomeMethod SomeParameters
INIFile.SomeProperty = SomeValue
    ...
or
Dim INIFile As ScriptUtilities.INIFile
...
Set INIFile = New ScriptUtilities.INIFile
INIFile.SomeMethod SomeParameters
INIFile.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim INIFile As ScriptUtilities.INIFile
...
Set INIFile = CreateObject("ScriptUtils.INIFile")
INIFile.SomeMethod SomeParameters
INIFile.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new INIFile object
 ScriptUtilities.INIFile INIFile = new ScriptUtilities.INIFileClass();
 INIFile.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + INIFile.get_HexString() + ")"; ...
or (VBA)
Dim INIFile As New ScriptUtilities.INIFile
INIFile.SomeMethod(SomeParameters)
INIFile.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @INIFile INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.INIFile', @INIFile OUT
IF @OLEResult <> 0 PRINT 'Error create component INIFile'

--Set a property of INIFile.
EXECUTE @OLEResult = sp_OASetProperty @INIFile, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of INIFile.
EXECUTE @OLEResult = sp_OAGetProperty @INIFile, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of INIFile.
EXEC @OLEResult = sp_OAMethod @INIFile, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). INIFile is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use OutputTypes in programming environments - VB Script, VBA, ASP and others

OutputTypes usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.OutputTypes

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.OutputTypes
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim OutputTypes
Set OutputTypes = CreateObject("ScriptUtils.OutputTypes")
OutputTypes.SomeMethod SomeParameters
OutputTypes.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the OutputTypes object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="OutputTypes"
 progid="ScriptUtils.OutputTypes">
</object>

Please use ActivexObject object in JScript/JavaScript to create OutputTypes object:

var OutputTypes;
OutputTypes = new ActiveXObject("ScriptUtils.OutputTypes");
OutputTypes.SomeMethod(SomeParameters)
OutputTypes.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim OutputTypes As New ScriptUtilities.OutputTypes
OutputTypes.SomeMethod SomeParameters
OutputTypes.SomeProperty = SomeValue
    ...
or
Dim OutputTypes As ScriptUtilities.OutputTypes
...
Set OutputTypes = New ScriptUtilities.OutputTypes
OutputTypes.SomeMethod SomeParameters
OutputTypes.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim OutputTypes As ScriptUtilities.OutputTypes
...
Set OutputTypes = CreateObject("ScriptUtils.OutputTypes")
OutputTypes.SomeMethod SomeParameters
OutputTypes.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new OutputTypes object
 ScriptUtilities.OutputTypes OutputTypes = new ScriptUtilities.OutputTypesClass();
 OutputTypes.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + OutputTypes.get_HexString() + ")"; ...
or (VBA)
Dim OutputTypes As New ScriptUtilities.OutputTypes
OutputTypes.SomeMethod(SomeParameters)
OutputTypes.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @OutputTypes INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.OutputTypes', @OutputTypes OUT
IF @OLEResult <> 0 PRINT 'Error create component OutputTypes'

--Set a property of OutputTypes.
EXECUTE @OLEResult = sp_OASetProperty @OutputTypes, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of OutputTypes.
EXECUTE @OLEResult = sp_OAGetProperty @OutputTypes, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of OutputTypes.
EXEC @OLEResult = sp_OAMethod @OutputTypes, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). OutputTypes is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ZLibCompressLevels in programming environments - VB Script, VBA, ASP and others

ZLibCompressLevels usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ZLibCompressLevels

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ZLibCompressLevels
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ZLibCompressLevels
Set ZLibCompressLevels = CreateObject("ScriptUtils.ZLibCompressLevels")
ZLibCompressLevels.SomeMethod SomeParameters
ZLibCompressLevels.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ZLibCompressLevels object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ZLibCompressLevels"
 progid="ScriptUtils.ZLibCompressLevels">
</object>

Please use ActivexObject object in JScript/JavaScript to create ZLibCompressLevels object:

var ZLibCompressLevels;
ZLibCompressLevels = new ActiveXObject("ScriptUtils.ZLibCompressLevels");
ZLibCompressLevels.SomeMethod(SomeParameters)
ZLibCompressLevels.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ZLibCompressLevels As New ScriptUtilities.ZLibCompressLevels
ZLibCompressLevels.SomeMethod SomeParameters
ZLibCompressLevels.SomeProperty = SomeValue
    ...
or
Dim ZLibCompressLevels As ScriptUtilities.ZLibCompressLevels
...
Set ZLibCompressLevels = New ScriptUtilities.ZLibCompressLevels
ZLibCompressLevels.SomeMethod SomeParameters
ZLibCompressLevels.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ZLibCompressLevels As ScriptUtilities.ZLibCompressLevels
...
Set ZLibCompressLevels = CreateObject("ScriptUtils.ZLibCompressLevels")
ZLibCompressLevels.SomeMethod SomeParameters
ZLibCompressLevels.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ZLibCompressLevels object
 ScriptUtilities.ZLibCompressLevels ZLibCompressLevels = new ScriptUtilities.ZLibCompressLevelsClass();
 ZLibCompressLevels.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ZLibCompressLevels.get_HexString() + ")"; ...
or (VBA)
Dim ZLibCompressLevels As New ScriptUtilities.ZLibCompressLevels
ZLibCompressLevels.SomeMethod(SomeParameters)
ZLibCompressLevels.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ZLibCompressLevels INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ZLibCompressLevels', @ZLibCompressLevels OUT
IF @OLEResult <> 0 PRINT 'Error create component ZLibCompressLevels'

--Set a property of ZLibCompressLevels.
EXECUTE @OLEResult = sp_OASetProperty @ZLibCompressLevels, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ZLibCompressLevels.
EXECUTE @OLEResult = sp_OAGetProperty @ZLibCompressLevels, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ZLibCompressLevels.
EXEC @OLEResult = sp_OAMethod @ZLibCompressLevels, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ZLibCompressLevels is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ConvertTypes in programming environments - VB Script, VBA, ASP and others

ConvertTypes usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ConvertTypes

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ConvertTypes
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ConvertTypes
Set ConvertTypes = CreateObject("ScriptUtils.ConvertTypes")
ConvertTypes.SomeMethod SomeParameters
ConvertTypes.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ConvertTypes object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ConvertTypes"
 progid="ScriptUtils.ConvertTypes">
</object>

Please use ActivexObject object in JScript/JavaScript to create ConvertTypes object:

var ConvertTypes;
ConvertTypes = new ActiveXObject("ScriptUtils.ConvertTypes");
ConvertTypes.SomeMethod(SomeParameters)
ConvertTypes.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ConvertTypes As New ScriptUtilities.ConvertTypes
ConvertTypes.SomeMethod SomeParameters
ConvertTypes.SomeProperty = SomeValue
    ...
or
Dim ConvertTypes As ScriptUtilities.ConvertTypes
...
Set ConvertTypes = New ScriptUtilities.ConvertTypes
ConvertTypes.SomeMethod SomeParameters
ConvertTypes.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ConvertTypes As ScriptUtilities.ConvertTypes
...
Set ConvertTypes = CreateObject("ScriptUtils.ConvertTypes")
ConvertTypes.SomeMethod SomeParameters
ConvertTypes.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ConvertTypes object
 ScriptUtilities.ConvertTypes ConvertTypes = new ScriptUtilities.ConvertTypesClass();
 ConvertTypes.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ConvertTypes.get_HexString() + ")"; ...
or (VBA)
Dim ConvertTypes As New ScriptUtilities.ConvertTypes
ConvertTypes.SomeMethod(SomeParameters)
ConvertTypes.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ConvertTypes INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ConvertTypes', @ConvertTypes OUT
IF @OLEResult <> 0 PRINT 'Error create component ConvertTypes'

--Set a property of ConvertTypes.
EXECUTE @OLEResult = sp_OASetProperty @ConvertTypes, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ConvertTypes.
EXECUTE @OLEResult = sp_OAGetProperty @ConvertTypes, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ConvertTypes.
EXEC @OLEResult = sp_OAMethod @ConvertTypes, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ConvertTypes is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ZLib in programming environments - VB Script, VBA, ASP and others

ZLib usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ZLib

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.ZLib
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ZLib
Set ZLib = CreateObject("ScriptUtils.ZLib")
ZLib.SomeMethod SomeParameters
ZLib.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ZLib object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ZLib"
 progid="ScriptUtils.ZLib">
</object>

Please use ActivexObject object in JScript/JavaScript to create ZLib object:

var ZLib;
ZLib = new ActiveXObject("ScriptUtils.ZLib");
ZLib.SomeMethod(SomeParameters)
ZLib.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ZLib As New ScriptUtilities.ZLib
ZLib.SomeMethod SomeParameters
ZLib.SomeProperty = SomeValue
    ...
or
Dim ZLib As ScriptUtilities.ZLib
...
Set ZLib = New ScriptUtilities.ZLib
ZLib.SomeMethod SomeParameters
ZLib.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ZLib As ScriptUtilities.ZLib
...
Set ZLib = CreateObject("ScriptUtils.ZLib")
ZLib.SomeMethod SomeParameters
ZLib.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ZLib object
 ScriptUtilities.ZLib ZLib = new ScriptUtilities.ZLibClass();
 ZLib.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ZLib.get_HexString() + ")"; ...
or (VBA)
Dim ZLib As New ScriptUtilities.ZLib
ZLib.SomeMethod(SomeParameters)
ZLib.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ZLib INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ZLib', @ZLib OUT
IF @OLEResult <> 0 PRINT 'Error create component ZLib'

--Set a property of ZLib.
EXECUTE @OLEResult = sp_OASetProperty @ZLib, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ZLib.
EXECUTE @OLEResult = sp_OAGetProperty @ZLib, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ZLib.
EXEC @OLEResult = sp_OAMethod @ZLib, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ZLib is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use LogFile in programming environments - VB Script, VBA, ASP and others

LogFile usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogFile

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.LogFile
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim LogFile
Set LogFile = CreateObject("ScriptUtils.LogFile")
LogFile.SomeMethod SomeParameters
LogFile.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the LogFile object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="LogFile"
 progid="ScriptUtils.LogFile">
</object>

Please use ActivexObject object in JScript/JavaScript to create LogFile object:

var LogFile;
LogFile = new ActiveXObject("ScriptUtils.LogFile");
LogFile.SomeMethod(SomeParameters)
LogFile.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim LogFile As New ScriptUtilities.LogFile
LogFile.SomeMethod SomeParameters
LogFile.SomeProperty = SomeValue
    ...
or
Dim LogFile As ScriptUtilities.LogFile
...
Set LogFile = New ScriptUtilities.LogFile
LogFile.SomeMethod SomeParameters
LogFile.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim LogFile As ScriptUtilities.LogFile
...
Set LogFile = CreateObject("ScriptUtils.LogFile")
LogFile.SomeMethod SomeParameters
LogFile.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new LogFile object
 ScriptUtilities.LogFile LogFile = new ScriptUtilities.LogFileClass();
 LogFile.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + LogFile.get_HexString() + ")"; ...
or (VBA)
Dim LogFile As New ScriptUtilities.LogFile
LogFile.SomeMethod(SomeParameters)
LogFile.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @LogFile INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.LogFile', @LogFile OUT
IF @OLEResult <> 0 PRINT 'Error create component LogFile'

--Set a property of LogFile.
EXECUTE @OLEResult = sp_OASetProperty @LogFile, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of LogFile.
EXECUTE @OLEResult = sp_OAGetProperty @LogFile, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of LogFile.
EXEC @OLEResult = sp_OAMethod @LogFile, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). LogFile is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use LogLineEncodes in programming environments - VB Script, VBA, ASP and others

LogLineEncodes usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogLineEncodes

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.LogLineEncodes
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim LogLineEncodes
Set LogLineEncodes = CreateObject("ScriptUtils.LogLineEncodes")
LogLineEncodes.SomeMethod SomeParameters
LogLineEncodes.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the LogLineEncodes object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="LogLineEncodes"
 progid="ScriptUtils.LogLineEncodes">
</object>

Please use ActivexObject object in JScript/JavaScript to create LogLineEncodes object:

var LogLineEncodes;
LogLineEncodes = new ActiveXObject("ScriptUtils.LogLineEncodes");
LogLineEncodes.SomeMethod(SomeParameters)
LogLineEncodes.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim LogLineEncodes As New ScriptUtilities.LogLineEncodes
LogLineEncodes.SomeMethod SomeParameters
LogLineEncodes.SomeProperty = SomeValue
    ...
or
Dim LogLineEncodes As ScriptUtilities.LogLineEncodes
...
Set LogLineEncodes = New ScriptUtilities.LogLineEncodes
LogLineEncodes.SomeMethod SomeParameters
LogLineEncodes.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim LogLineEncodes As ScriptUtilities.LogLineEncodes
...
Set LogLineEncodes = CreateObject("ScriptUtils.LogLineEncodes")
LogLineEncodes.SomeMethod SomeParameters
LogLineEncodes.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new LogLineEncodes object
 ScriptUtilities.LogLineEncodes LogLineEncodes = new ScriptUtilities.LogLineEncodesClass();
 LogLineEncodes.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + LogLineEncodes.get_HexString() + ")"; ...
or (VBA)
Dim LogLineEncodes As New ScriptUtilities.LogLineEncodes
LogLineEncodes.SomeMethod(SomeParameters)
LogLineEncodes.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @LogLineEncodes INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.LogLineEncodes', @LogLineEncodes OUT
IF @OLEResult <> 0 PRINT 'Error create component LogLineEncodes'

--Set a property of LogLineEncodes.
EXECUTE @OLEResult = sp_OASetProperty @LogLineEncodes, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of LogLineEncodes.
EXECUTE @OLEResult = sp_OAGetProperty @LogLineEncodes, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of LogLineEncodes.
EXEC @OLEResult = sp_OAMethod @LogLineEncodes, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). LogLineEncodes is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use LogLineBeginTypes in programming environments - VB Script, VBA, ASP and others

LogLineBeginTypes usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.LogLineBeginTypes

1. Identities

Library name: Script Utilities library
Library code: ScriptUtilities
Library CLSID: 41ABB943-5D82-11D3-9DD5-204C4F4F5020
ProgID: ScriptUtils.LogLineBeginTypes
Library file name: ScptUtl.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim LogLineBeginTypes
Set LogLineBeginTypes = CreateObject("ScriptUtils.LogLineBeginTypes")
LogLineBeginTypes.SomeMethod SomeParameters
LogLineBeginTypes.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the LogLineBeginTypes object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="LogLineBeginTypes"
 progid="ScriptUtils.LogLineBeginTypes">
</object>

Please use ActivexObject object in JScript/JavaScript to create LogLineBeginTypes object:

var LogLineBeginTypes;
LogLineBeginTypes = new ActiveXObject("ScriptUtils.LogLineBeginTypes");
LogLineBeginTypes.SomeMethod(SomeParameters)
LogLineBeginTypes.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'Script Utilities library' in the listbox (or Project -> References -> Browse -> select ScptUtl.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim LogLineBeginTypes As New ScriptUtilities.LogLineBeginTypes
LogLineBeginTypes.SomeMethod SomeParameters
LogLineBeginTypes.SomeProperty = SomeValue
    ...
or
Dim LogLineBeginTypes As ScriptUtilities.LogLineBeginTypes
...
Set LogLineBeginTypes = New ScriptUtilities.LogLineBeginTypes
LogLineBeginTypes.SomeMethod SomeParameters
LogLineBeginTypes.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim LogLineBeginTypes As ScriptUtilities.LogLineBeginTypes
...
Set LogLineBeginTypes = CreateObject("ScriptUtils.LogLineBeginTypes")
LogLineBeginTypes.SomeMethod SomeParameters
LogLineBeginTypes.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'Script Utilities library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new LogLineBeginTypes object
 ScriptUtilities.LogLineBeginTypes LogLineBeginTypes = new ScriptUtilities.LogLineBeginTypesClass();
 LogLineBeginTypes.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + LogLineBeginTypes.get_HexString() + ")"; ...
or (VBA)
Dim LogLineBeginTypes As New ScriptUtilities.LogLineBeginTypes
LogLineBeginTypes.SomeMethod(SomeParameters)
LogLineBeginTypes.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @LogLineBeginTypes INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.LogLineBeginTypes', @LogLineBeginTypes OUT
IF @OLEResult <> 0 PRINT 'Error create component LogLineBeginTypes'

--Set a property of LogLineBeginTypes.
EXECUTE @OLEResult = sp_OASetProperty @LogLineBeginTypes, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of LogLineBeginTypes.
EXECUTE @OLEResult = sp_OAGetProperty @LogLineBeginTypes, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of LogLineBeginTypes.
EXEC @OLEResult = sp_OAMethod @LogLineBeginTypes, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). LogLineBeginTypes is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use ASPForm in programming environments - VB Script, VBA, ASP and others

ASPForm usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.ASPForm

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.ASPForm
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim ASPForm
Set ASPForm = CreateObject("ScriptUtils.ASPForm")
ASPForm.SomeMethod SomeParameters
ASPForm.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the ASPForm object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="ASPForm"
 progid="ScriptUtils.ASPForm">
</object>

Please use ActivexObject object in JScript/JavaScript to create ASPForm object:

var ASPForm;
ASPForm = new ActiveXObject("ScriptUtils.ASPForm");
ASPForm.SomeMethod(SomeParameters)
ASPForm.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim ASPForm As New ASPHugeUpload.ASPForm
ASPForm.SomeMethod SomeParameters
ASPForm.SomeProperty = SomeValue
    ...
or
Dim ASPForm As ASPHugeUpload.ASPForm
...
Set ASPForm = New ASPHugeUpload.ASPForm
ASPForm.SomeMethod SomeParameters
ASPForm.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim ASPForm As ASPHugeUpload.ASPForm
...
Set ASPForm = CreateObject("ScriptUtils.ASPForm")
ASPForm.SomeMethod SomeParameters
ASPForm.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new ASPForm object
 ASPHugeUpload.ASPForm ASPForm = new ASPHugeUpload.ASPFormClass();
 ASPForm.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + ASPForm.get_HexString() + ")"; ...
or (VBA)
Dim ASPForm As New ASPHugeUpload.ASPForm
ASPForm.SomeMethod(SomeParameters)
ASPForm.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @ASPForm INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ASPForm', @ASPForm OUT
IF @OLEResult <> 0 PRINT 'Error create component ASPForm'

--Set a property of ASPForm.
EXECUTE @OLEResult = sp_OASetProperty @ASPForm, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of ASPForm.
EXECUTE @OLEResult = sp_OAGetProperty @ASPForm, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of ASPForm.
EXEC @OLEResult = sp_OAMethod @ASPForm, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). ASPForm is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use FormFields in programming environments - VB Script, VBA, ASP and others

FormFields usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.FormFields

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.FormFields
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim FormFields
Set FormFields = CreateObject("ScriptUtils.FormFields")
FormFields.SomeMethod SomeParameters
FormFields.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the FormFields object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="FormFields"
 progid="ScriptUtils.FormFields">
</object>

Please use ActivexObject object in JScript/JavaScript to create FormFields object:

var FormFields;
FormFields = new ActiveXObject("ScriptUtils.FormFields");
FormFields.SomeMethod(SomeParameters)
FormFields.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim FormFields As New ASPHugeUpload.FormFields
FormFields.SomeMethod SomeParameters
FormFields.SomeProperty = SomeValue
    ...
or
Dim FormFields As ASPHugeUpload.FormFields
...
Set FormFields = New ASPHugeUpload.FormFields
FormFields.SomeMethod SomeParameters
FormFields.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim FormFields As ASPHugeUpload.FormFields
...
Set FormFields = CreateObject("ScriptUtils.FormFields")
FormFields.SomeMethod SomeParameters
FormFields.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new FormFields object
 ASPHugeUpload.FormFields FormFields = new ASPHugeUpload.FormFieldsClass();
 FormFields.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + FormFields.get_HexString() + ")"; ...
or (VBA)
Dim FormFields As New ASPHugeUpload.FormFields
FormFields.SomeMethod(SomeParameters)
FormFields.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @FormFields INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.FormFields', @FormFields OUT
IF @OLEResult <> 0 PRINT 'Error create component FormFields'

--Set a property of FormFields.
EXECUTE @OLEResult = sp_OASetProperty @FormFields, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of FormFields.
EXECUTE @OLEResult = sp_OAGetProperty @FormFields, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of FormFields.
EXEC @OLEResult = sp_OAMethod @FormFields, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). FormFields is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use FormField in programming environments - VB Script, VBA, ASP and others

FormField usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.FormField

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.FormField
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim FormField
Set FormField = CreateObject("ScriptUtils.FormField")
FormField.SomeMethod SomeParameters
FormField.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the FormField object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="FormField"
 progid="ScriptUtils.FormField">
</object>

Please use ActivexObject object in JScript/JavaScript to create FormField object:

var FormField;
FormField = new ActiveXObject("ScriptUtils.FormField");
FormField.SomeMethod(SomeParameters)
FormField.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim FormField As New ASPHugeUpload.FormField
FormField.SomeMethod SomeParameters
FormField.SomeProperty = SomeValue
    ...
or
Dim FormField As ASPHugeUpload.FormField
...
Set FormField = New ASPHugeUpload.FormField
FormField.SomeMethod SomeParameters
FormField.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim FormField As ASPHugeUpload.FormField
...
Set FormField = CreateObject("ScriptUtils.FormField")
FormField.SomeMethod SomeParameters
FormField.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new FormField object
 ASPHugeUpload.FormField FormField = new ASPHugeUpload.FormFieldClass();
 FormField.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + FormField.get_HexString() + ")"; ...
or (VBA)
Dim FormField As New ASPHugeUpload.FormField
FormField.SomeMethod(SomeParameters)
FormField.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @FormField INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.FormField', @FormField OUT
IF @OLEResult <> 0 PRINT 'Error create component FormField'

--Set a property of FormField.
EXECUTE @OLEResult = sp_OASetProperty @FormField, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of FormField.
EXECUTE @OLEResult = sp_OAGetProperty @FormField, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of FormField.
EXEC @OLEResult = sp_OAMethod @FormField, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). FormField is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use FormStates in programming environments - VB Script, VBA, ASP and others

FormStates usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.FormStates

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.FormStates
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim FormStates
Set FormStates = CreateObject("ScriptUtils.FormStates")
FormStates.SomeMethod SomeParameters
FormStates.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the FormStates object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="FormStates"
 progid="ScriptUtils.FormStates">
</object>

Please use ActivexObject object in JScript/JavaScript to create FormStates object:

var FormStates;
FormStates = new ActiveXObject("ScriptUtils.FormStates");
FormStates.SomeMethod(SomeParameters)
FormStates.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim FormStates As New ASPHugeUpload.FormStates
FormStates.SomeMethod SomeParameters
FormStates.SomeProperty = SomeValue
    ...
or
Dim FormStates As ASPHugeUpload.FormStates
...
Set FormStates = New ASPHugeUpload.FormStates
FormStates.SomeMethod SomeParameters
FormStates.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim FormStates As ASPHugeUpload.FormStates
...
Set FormStates = CreateObject("ScriptUtils.FormStates")
FormStates.SomeMethod SomeParameters
FormStates.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new FormStates object
 ASPHugeUpload.FormStates FormStates = new ASPHugeUpload.FormStatesClass();
 FormStates.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + FormStates.get_HexString() + ")"; ...
or (VBA)
Dim FormStates As New ASPHugeUpload.FormStates
FormStates.SomeMethod(SomeParameters)
FormStates.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @FormStates INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.FormStates', @FormStates OUT
IF @OLEResult <> 0 PRINT 'Error create component FormStates'

--Set a property of FormStates.
EXECUTE @OLEResult = sp_OASetProperty @FormStates, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of FormStates.
EXECUTE @OLEResult = sp_OAGetProperty @FormStates, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of FormStates.
EXEC @OLEResult = sp_OAMethod @FormStates, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). FormStates is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use FormParser in programming environments - VB Script, VBA, ASP and others

FormParser usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.FormParser

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.FormParser
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim FormParser
Set FormParser = CreateObject("ScriptUtils.FormParser")
FormParser.SomeMethod SomeParameters
FormParser.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the FormParser object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="FormParser"
 progid="ScriptUtils.FormParser">
</object>

Please use ActivexObject object in JScript/JavaScript to create FormParser object:

var FormParser;
FormParser = new ActiveXObject("ScriptUtils.FormParser");
FormParser.SomeMethod(SomeParameters)
FormParser.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim FormParser As New ASPHugeUpload.FormParser
FormParser.SomeMethod SomeParameters
FormParser.SomeProperty = SomeValue
    ...
or
Dim FormParser As ASPHugeUpload.FormParser
...
Set FormParser = New ASPHugeUpload.FormParser
FormParser.SomeMethod SomeParameters
FormParser.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim FormParser As ASPHugeUpload.FormParser
...
Set FormParser = CreateObject("ScriptUtils.FormParser")
FormParser.SomeMethod SomeParameters
FormParser.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new FormParser object
 ASPHugeUpload.FormParser FormParser = new ASPHugeUpload.FormParserClass();
 FormParser.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + FormParser.get_HexString() + ")"; ...
or (VBA)
Dim FormParser As New ASPHugeUpload.FormParser
FormParser.SomeMethod(SomeParameters)
FormParser.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @FormParser INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.FormParser', @FormParser OUT
IF @OLEResult <> 0 PRINT 'Error create component FormParser'

--Set a property of FormParser.
EXECUTE @OLEResult = sp_OASetProperty @FormParser, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of FormParser.
EXECUTE @OLEResult = sp_OAGetProperty @FormParser, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of FormParser.
EXEC @OLEResult = sp_OAMethod @FormParser, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). FormParser is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


Use eFormType in programming environments - VB Script, VBA, ASP and others

eFormType usage

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils.eFormType

1. Identities

Library name: ASP Huge File Upload Library
Library code: ASPHugeUpload
Library CLSID: A979688A-0EAD-48E4-9A3E-CD2A9B3E26C1
ProgID: ScriptUtils.eFormType
Library file name: ASPForm.DLL

2. Scripting engines without types (VB Script, JavaScript, JScript, WSH, ASP)

You can create the object using CreateObject function:
Dim eFormType
Set eFormType = CreateObject("ScriptUtils.eFormType")
eFormType.SomeMethod SomeParameters
eFormType.SomeProperty = SomeValue

You can also use CreateObject method method of Server object (ASP) to put the eFormType object to page scope or CreateObject method of WScript object in WSH.

You can also put the object to Application or Session scope using <object ...> tag in global.asa

<object runat="server" scope="application" id="eFormType"
 progid="ScriptUtils.eFormType">
</object>

Please use ActivexObject object in JScript/JavaScript to create eFormType object:

var eFormType;
eFormType = new ActiveXObject("ScriptUtils.eFormType");
eFormType.SomeMethod(SomeParameters)
eFormType.SomeProperty = SomeValue
...

3. VBA (VBA 5, VBA 6, Visual Studio, Word, Excel, MS Access, ...)

VBA 5/6: You can reference the library using menu Project -> References -> select 'ASP Huge File Upload Library' in the listbox (or Project -> References -> Browse -> select ASPForm.DLL file).
MSAccess, Word, Excel: Tools -> Macro -> Visual Basic Editor, then Tools -> References
Then you can write:

Dim eFormType As New ASPHugeUpload.eFormType
eFormType.SomeMethod SomeParameters
eFormType.SomeProperty = SomeValue
    ...
or
Dim eFormType As ASPHugeUpload.eFormType
...
Set eFormType = New ASPHugeUpload.eFormType
eFormType.SomeMethod SomeParameters
eFormType.SomeProperty = SomeValue
...
You can use CreateObject function also, of course:
Dim eFormType As ASPHugeUpload.eFormType
...
Set eFormType = CreateObject("ScriptUtils.eFormType")
eFormType.SomeMethod SomeParameters
eFormType.SomeProperty = SomeValue
...

4. Visual Studio .NET (ASP.Net, VB.Net, C#, J#)

You can reference the library using menu Project -> Add reference -> COM tab -> select 'ASP Huge File Upload Library' in the listbox -> click Select. Then you can write (C#, J#):

 //create  a new eFormType object
 ASPHugeUpload.eFormType eFormType = new ASPHugeUpload.eFormTypeClass();
 eFormType.set_String("Some text value");

 String SQL;
 SQL = "Insert Into Table (BinaryColumn) values (0x" + eFormType.get_HexString() + ")"; ...
or (VBA)
Dim eFormType As New ASPHugeUpload.eFormType
eFormType.SomeMethod(SomeParameters)
eFormType.SomeProperty = SomeValue

5. T-SQL, MS SQL stored procedures and functions

DECLARE @eFormType INT, @OLEResult INT
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.eFormType', @eFormType OUT
IF @OLEResult <> 0 PRINT 'Error create component eFormType'

--Set a property of eFormType.
EXECUTE @OLEResult = sp_OASetProperty @eFormType, 'PropertyName', @SomeSQLValue
IF @OLEResult <> 0 PRINT 'PropertyName set problem'

--Get a value of a property of eFormType.
EXECUTE @OLEResult = sp_OAGetProperty @eFormType, 'PropertyName', @SomeSQLValue OUTPUT
IF @OLEResult <> 0 PRINT 'PropertyName get problem'

--Call some method of eFormType.
EXEC @OLEResult = sp_OAMethod @eFormType, 'MethodName',
 @ReturnValue OUTPUT, @parameter1, @parameter2

5. Other programming environments

Please see documentation of your programing environment, work with COM objects (OLE objects, ActiveX objects). eFormType is a standard COM object, it can work with other environments, such are Delphi or PowerBuilder.


ASP file upload and ScriptUtilities Library, samples

ASP file upload and ScriptUtilities

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Program home Other Software, samples

Description

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

Examples for ASP file upload and ScriptUtilities

VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)
Batch charset conversion - convert all .txt files in a folder from ibm-850 unicode utf-8 This sample contains short algorithm to convert more files (all files in one folder) from one character set to another. The sample works for any code page (unicode utf-8 -> shift-jis, windows-1250 -> utf-8, ..) and shorter files, the files are converted in memory and there is no good idea to use it for files over 100MB. (See Charset conversion of very large files - 2GB and more).
Batch file conversion - character set and BOM detection of html files This sample can do batch conversion of text files with different code pages - Unicode, utf-8, windows-1250 and others to one selected code page. The algorithm contains simple detection of source file code page using BOM.
You can choose any destination charset. See also ByteArray - save unicode data (string) as utf-8 with BOM to save files with BOM (unicode Little/Big, utf-8)
ASP gigabyte download - download of very large/huge files. ASP/VBScript source code to download of very large files using ASP. The download size is not limited by 2GB or 4GB limit, you can download files with any size, 10th of gigabytes or more.
The sample uses Response.BinaryWrite. Remember that IIS6 has a strong memory leak, so this code does not work with Windows 2003 SP1, you need Windows 2003 SP2 at least. The code works also with other versions of IIS (IIS1-5, IIS7) See also
Experience high memory usage in the W3wp.exe process
Memory leaks may occur when the BinaryWrite method is called
ByteArray - Convert data from BinaryRead to string
ByteArray - Save the posted data.
ByteArray - Fill byte array by a random data
ByteArray - ASP download
Advapi - Logon and impersonate user
Advapi - RevertToSelf sample
ASP timing
Simple download
Multiple files download with on-the-fly compression zip/arj
ByteArray - HexString sample
INI and integer value
Timing informations.
Kernel - Sleep for 2second
Kernel - Get command line
Kernel - Get name of the local computer
Kernel - Get current directory
Kernel - Kernel and user time taken by process.
Kernel - Kernel and user time taken by current thread.
Kernel - Get all envinronment strings.
Kernel - One of the environment variable
Kernel - Write temporary directory path
Kernel - TickCount
Write system variables.
Same ASP sample with PureASP upload
ZLib - Compress file
Transfer compressed file from client to server using IE (special upload)
ZLib - Accept compressed data on server-side ASP
Kernel - Get exact consumed time of VBS function
Kernel - Get exact duration of a VBS function using msPerformanceCounter
LogFile - Get current path to the log file.
LogFile - Specify one log file per week.
LogFile - Sample ASP log of variant arguments.
LogFile - Delete log file
LogFile - String to log as one line
LogFile - DateTimeFormat sample
LogFile - Local/GMT date/time values
LogFile - Sample of values on begin of line.
LogFile - Encode values
LogFile - Separator of logged values
LogFile - Log some array value
LogFile - Description of log file fields
LogFile - Define comment on the beggining of file
LogFile - Samples of Log method
LogFile - Simple log file sample
Set task priority in MS SQL
Upload - Count and enumarate form fields, text fields and files.
Upload - Enumerate source files and write file names
Upload - Save extra upload info to a database
Upload - Read short source data in one block
Upload - Store up to 1MB data in memory
Upload - Do not upload data greater than 1MB.
Upload - Custom temporary folder
Upload - Enumerate text fields in a form.
Upload - Write source form data along with form fields
Upload - Switch page using form state
Upload - Enumerate source fields using index
Upload - Save all source files to the specified path
Upload - Count number of source fields with a specified name
Upload - Write contents of all text form fields
Upload - Use x-mac-ce code page for form data.
Upload - Write names of all form fields
Upload - Save source fields to different loactions
Upload - Save form files with special name.
Upload - Simple upload to database
Upload - Upload of large files to database using AppendChunk method of RecordSet
Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement
Upload - Simple asp upload Very short asp upload code with two source file fields and a description field.
Upload - use unicode (utf-8) character set for request/response data
Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP
Multiselect fields (non-unique field names)
Upload - Using a HexString property and Insert statement
POST, ASPForm - Work with original posted data.
Upload - Progress bar concept. Web browrser (IE/NN) does not accept response data when uploading. So there is one another way to show progress bar during upload - open a new client browser window with another server script on begginning of upload and access current uploading form from the second server script (task).
These two server upload tasks are join using ScriptUtils.ASPForm.UploadID property (in the uploading task) and ScriptUtils.ASPForm.getForm property (progress bar task). You can use ScriptUtils.ASPForm.NewUploadID property to get unique upload ID, or you can get this ID by any other way (for example, using rnd() function).
Upload - upload with ie-style progress bar.
Upload - Send an email with attachment
Upload - Use ASPForm object in VB6 class
Upload - Form parser and VBA 6
Upload - progress bar, number and percent of completted
Upload - get new upload ID for upload and progress script
Field CharSets - handle form fields in different code pages
Multipart - enumerate field headers
Upload - Save only images
Kernel - copy file
ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data
ByteArray - decode and encode from Base64
ByteArray - encode a file to a base64 string (Base64 file) You can simply encode a binary or text file to a Base64 string using this sample code. The base64 string can be stored to a file using SaveAs method.
ByteArray - Decode a Base64 string to a binary data.
Upload - cause read when source data exceeds a limit
Convert files from one code page / character set to another (ANSI to utf-8)
ASP Form - process standard x-www-form-urlencoded data with unicode code page and unlimitted size.
Accept application/x-www-form-urlencoded in unicode utf-8

This sample demontrates accepting of a plain form (Form without ENCTYPE="multipart/form-data") by Huge-ASP file upload, ASPForm Object. Full source is in form-url-encode-utf-8.asp sample file.
ASPForm object has some great functionality against of Request.Form: size limit for ASPForm object is 2GB. Request.Form(...) can accept maximum of 100kB.
ASPForm acepts ANY code page. This page is written in utf-8. It lets you write and mix some special character sets and characters such are hebrew (ď»ż×§×‘×•×¦×•×Ş ×“×™×•×ź), arabic (ď»żŮ…Ř¬Ů…ŮŘąŘ§ŘŞ), east-european (ď»żĹľluĹĄouÄŤkĂ˝ kĹŻĹ), russian (ď»żĐšĐ°Ń€Ń‚Đ¸Đ˝ĐşĐ¸), japanese (ď»żă‚¤ăˇăĽă‚¸) or chinese (ď»żĺś–ç‰‡).
You can have the characters NOT only in HTML page, you can use them in input fields, of course. ASPForm accepts application/x-www-form-urlencoded and multipart/related data and contains automatic detection of type of a source form.

Upload - Check file contents to ensure the field is really an image This function checks the uploaded file contents to ensure that the file is an image. You can check extension of the file or content-type. If the content-type begins with 'image/' or extension is in imageExts, the file is probably an image.
But - someone can rename an .exe file and send the file as 'image'. So a second part of the check function tests file contents for usual characteristics of image files. You can use String or HexString property to get a part of contents of the file and compare it with image file characteristics.
You can use this function to check other file types (compressed, executable, …) also.
These tables are from Richard Ogley's pages.

Jump to: Image files | Compressed files | Archive files | Executable files | Miscellaneous files

Image files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
Bitmap format | .bmp | 42 4d | BM
FITS format | .fits | 53 49 4d 50 4c 45 | SIMPLE
GIF format | .gif | 47 49 46 38 | GIF8
Graphics Kernel System | .gks | 47 4b 53 4d | GKSM
IRIS rgb format | .rgb | 01 da | ..
ITC (CMU WM) format | .itc | f1 00 40 bb | ....
JPEG File Interchange Format | .jpg | ff d8 ff e0 | ....
NIFF (Navy TIFF) | .nif | 49 49 4e 31 | IIN1
PM format | .pm | 56 49 45 57 | VIEW
PNG format | .png | 89 50 4e 47 | .PNG
Postscript format | .[e]ps | 25 21 | %!
Sun Rasterfile | .ras | 59 a6 6a 95 | Y.j.
Targa format | .tga | xx xx xx | ...
TIFF format (Motorola - big endian) | .tif | 4d 4d 00 2a | MM.*
TIFF format (Intel - little endian) | .tif | 49 49 2a 00 | II*.
X11 Bitmap format | .xbm | xx xx |
XCF Gimp file structure | .xcf | 67 69 6d 70 20 78 63 66 20 76 | gimp xcf
Xfig format | .fig | 23 46 49 47 | #FIG
XPM format | .xpm | 2f 2a 20 58 50 4d 20 2a 2f | /* XPM */

Compressed files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
Bzip | .bz | 42 5a | BZ
Compress | .Z | 1f 9d | ..
gzip format | .gz | 1f 8b | ..
pkzip format | .zip | 50 4b 03 04 | PK..

Archive files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
TAR (pre-POSIX) | .tar | xx xx | (a filename)
TAR (POSIX) | .tar | 75 73 74 61 72 | ustar (offset by 257 bytes)

Excecutable files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
MS-DOS, OS/2 or MS Windows |  | 4d 5a | MZ
Unix elf |  | 7f 45 4c 46 | .ELF

Miscellaneous files

File type | Typical extension | Hex digits xx = variable | Ascii digits . = not an ascii char
pgp public ring |  | 99 00 | ..
pgp security ring |  | 95 01 | ..
pgp security ring |  | 95 00 | ..
pgp encrypted data |  | a6 00 | ¦.

ByteArray - accept very large data in POST/PUT request, ASP, VBScript
You can use Post binary data to URL from WSH/ASP/VBA/VBS and Work with binary files in VBS - read and write local and remote files articles to read and send a binary file from a client-side.

Upload - handle other requests with higher priority
ByteArray - Punycode - unicode conversions Short functions to encode/decode string<->punycode data. You can use these functions as an Internationalized Domain Names VBScript converter.
  • punycode to unicode conversion
  • unicode string to punycode conversion
  • IDN string to unicode conversion
  • unicode string to IDN string conversion
    See Live punycode idn decoder/encoder.
    ByteArray - save unicode data (string) as utf-8 with BOM See also Batch file conversion - character set and BOM detection of html files to detect files with BOM (unicode Little/Big, utf-8)
    ByteArray, T-SQL - base64 encoder for Microsoft SQL This short sample lets you convert any string data to Base64 directly in SQL stored procedure (SP written in MS T-SQL). The data are passed as a string, you can do String-to-binary conversion with specified charset (the default charset is specified by system locale). The binary data are converted by get_Base64 property.
    See also ByteArray, T-SQL - base64 decoder for Microsoft SQL
    ByteArray, T-SQL - base64 decoder for Microsoft SQL This short sample lets you convert a Base64 string data to a decoded String or Binary data directly in SQL stored procedure (SP written in MS T-SQL). The data are passed as a Base64 string, then you can get the original data as a binary/image data type or converted to unicode string using specified charset/code page. The data are converted by put_Base64 property.
    See also ByteArray, T-SQL - base64 encoder for Microsoft SQL
    Charset conversion of very large files - 2GB and more This sample contains a block-by-block character set conversion algorithm for a very large files, you can use it for files with any size, this code work also with files over 2GB or 4GB. It takes maximum of 5*BlockSize of memory to convert the data (5MB of memory for the 1MB block).
    The SourceCharSet may be only a charset with a constant char size, one, two or four bytes (and the BlockSize must be an integral multiple of the character size). You can use single byte charsets as Windows-1250, windows-1251, Latin II, ibm850... for the source file, but not utf-8 (it has a variable size of char). You can use any destination charset, including utf-8
    ASP - upload and store files to a network drive You can store uploaded files also to a network disk or network resource. The main problem within this task are user rights. The default user account running ASP script (usually IUSR_COMPUTERNAME) has no access to network resources. One of the way is to connect to a network resource with another Username and Password (using AddConnection), store uploaded files and Disconnect from the resource (CancelConnection). This is a sample VBScript concept of the task. See upload-network.asp sample for full code.
    Bytearray - test of Simplified Chinese, iso-ir-58
    • © 1996 – 2007 Antonin Foller, Motobit Software, help{at}pstruh.cz, help v. 2.20.20


Upload - to database, or not to database? Article

Upload - to database, or not to database?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Upload - to database, or not to database?

To database or not to database? What to do with uploaded files on server-side? This article contains performance tests of several store-file methods in server-side ASP.
We test store files to disk, to MDB file using ADO recordset, to MS SQL 2000 using ADO recordset and to MS SQL 2000 using SQL UPDATETEXT command.

1. Store files to the disk.
This is the first method we can use. File is stored to the destination directory:

'Code 1
Server.ScriptTimeout = 120

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
If Form.State = 0 Then
 Form.Files("MyFile").Save "f:\Uploads\UpFile"
End If

Field.Save
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
5 | 9.2 | 94
10 | 10.3 | 172
15 | 10.3 | 281
20 | 10.3 | 328
25 | 10.3 | 531
30 | 10.3 | 547
35 | 10.3 | 781
40 | 10.3 | 734
45 | 10.3 | 859
50 | 10.3 | 1 031

Save method consumes constant amount of memory (block size is set to 1MB). Processor time (save time) depends linearly on file length.

2a. Store files to MDB database using recordset, without chunks

Connection to MDB database was created using JetOLEDB provider (not ODBC):
'Code 2
Function GetConnection()
 Dim Conn: Set Conn = CreateObject("ADODB.Connection")
 Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
 Conn.Open "Data Source=e:\upload2000.mdb"
 Conn.CommandTimeout = 1800
 Set GetConnection = Conn
End Function
Then we use simple code to store uploaded file in database:
'Code 3
 'Open dynamic recordset, table Upload
 RS.Open "Upload", Conn, 2, 2

 'Add a new record
 RS.AddNew
 'update info fields in "Upload" table
 '....
 'Add file from source field 'DBFile' to table field 'Data'
 RS("Data") = Form("DBFile").ByteArray
 RS.Update

MDB, RS("Data") = ...
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
1 | 10.9 | 187
5 | 23.5 | 265
10 | 39.2 | 312
15 | 67.9 | 468
20 | 83.3 | 578
25 | 98.7 | 671
30 | 114.1 | 703
35 | 129.5 | 937
40 | 129.8 | 921
45 | 140.2 | 875
50 | 138.0 | 625

Memory consumption grows linearly, up to 140 MB, as consumed processor time. Then JetOLEDB provider stores data using blocks and some consumed time was moved to System process.

2b. Store files to MDB database using recordset + AppendChunk
We have the same connection and recordset, but we change 'RS("Data") = Form("DBFile").ByteArray' by the next code:
'Code 4
'Set block size to 64kB
Const BlockSize = &H10000

'Process source data using blocks
Dim BlockCounter, DataBlock
For BlockCounter = 0 To Form("DBFile").Length Step BlockSize
 'Get a part of source data
 DataBlock = Form("DBFile").ByteArray(BlockCounter, BlockSize)

 'Add a part of source data to the field
 RS("Data").AppendChunk DataBlock
Next 'BlockCounter

RS.AppendChunk - JetOLEDB
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
5 | 13.8 | 296
6 | 14.9 | 312
7 | 16.0 | 375
8 | 17.0 | 390
9 | 18.1 | 406
10 | 19.2 | 468
15 | 22.6 | 687
20 | 23.9 | 1 000
25 | 23.9 | 1 250
30 | 23.9 | 1 609
35 | 23.9 | 1 859
40 | 23.9 | 2 125
45 | 23.9 | 2 312
50 | 23.9 | 2 546

Memory consumption grows linearly, up to 20MB and then stops at 23.9MB. Consumed processor time grows also linearly.

It looks like Microsoft.Jet.OLEDB.4.0 provider works very well with chunks. But remember, that physical limit of MDB database is 2GB (Jet 4.0, Access 2000) or 1GB (Jet 3.51, Access 97). So there is no good idea to store big files in MDB database.

3a. Store files to MS SQL 2000 database using recordset
I have done the same tests with MS SQL 2000 , OLEDB and ODBC providers.
'Code 5
'open connection for SQLOLEDB
Function GetConnection()
 Dim Conn: Set Conn = CreateObject("ADODB.Connection")
 Conn.Provider = "SQLOLEDB"
 Conn.Open "Data Source=Muj;Database=Upload", "sa", ""
 Set GetConnection = Conn
End Function

'open connection for MSDASQL
Function GetConnection()
 Dim Conn: Set Conn = CreateObject("ADODB.Connection")
 Conn.Open "DSN=Upload", "sa", ""
 Set GetConnection = Conn
End Function

SQL 2000, RS("Data") = ...
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
1 | 8.1 | 234
5 | 26.6 | 343
10 | 47.1 | 234
15 | 67.6 | 315
20 | 88.1 | 406
25 | 108.7 | 515
30 | 129.2 | 616
35 | 149.7 | 722
40 | 170.3 | 856
45 | 190.6 | 984
50 | 211.4 | 1 111

I tested these two connections and get the same performance results. The results are in the table. The memory consumption grows linearly, but SQL provider takes 4Bytes to send one Byte to SQL! And MS SQL takes also some bytes.

How it probably works? For example, if you have 10MB file. Recordset takes source byte array (10MB), allocates a new array (second 10MB), then converts this data to HexString (2*10MB), sends this HexString as ODBC command to MS SQL (+2*10MB in MS SQL), SQL converts this data to binary (+10MB in MS SQL) and then are the data stored in a database file ... Terrible.

3b. Store files to MS SQL 2000 database using recordset + AppendChunk
I test next idea - use AppendChunk to store data. This method works well for MDB, it will works also with MS SQL, may be. MS says in its documentation (AppendChunk method):
"Use the AppendChunk method on a Field or Parameter object to fill it with long binary or character data. In situations where system memory is limited, you can use the AppendChunk method to manipulate long values in portions rather than in their entirety."
RS.AppendChunk - SQLOLEDB
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
5 | 16.9 | 484
10 | 27.3 | 1 328
15 | 37.7 | 2 312
20 | 48.0 | 3 921
25 | 58.2 | 5 578
30 | 68.5 | 7 750
35 | 78.8 | 10 093
40 | 88.2 | 12 546
45 | 97.9 | 15 671
50 | 107.3 | 19 568

So let's go on it. I take the same code as with MDB (Code no. 4) and tested it with MS SQL 2000. And I must say - great idea, very bad implementation. As you can see, this code takes a little bit les memory than the code without chunks - only two bytes per one source file. But it has another big problem - consumed processor time depends by square on data length!

And once again - how this code probably works? For 1MB blocks/50MB file: First AppendChunk allocates 1MB memory. Second allocates 2MB, copies 1MB data from first chunk, copies 1MB data from second chunk and deallocates first chunk. Third AppendChunk allocates 3MB, copies 2MB from previous chunks, copies 1MB data from third chunk and deallocates 2MB from previous chunks ...
And at the last? 50MB of memory is converted to HexString (100MB) this HexString is sent as SQL command to MS SQL (+100MB in SQL), SQL converts this data to binary and stores this data to data file.

4. So what to do with MS SQL 2000?
Recordset With/Without AppendChunk is unusable to store large binary data to MS SQL (>10th of MB). We have to use native MS SQL methods - UPDATETEXT command.
I used the same code with Recordset to store extra upload field - client IP, description, ... As a result of it I have UploadID - primary key of row, which has zero length of binary field named 'Data'
'Code 6
'Set block size to 1MB
Const BlockSize = &H100000

'Process source data using blocks
Dim BlockCounter, HexDataBlock
For BlockCounter = 0 To Form("DBFile").Length Step BlockSize
 'Get a part of source data as a Hex string
 HexDataBlock = Form("DBFile").HexString(BlockCounter, BlockSize)

 'Add a part of source data to the field using SQL UPDATETEXT command
 SQL = "DECLARE @dataptr binary(16)" & vbCrLf
 SQL = SQL & "SELECT @dataptr = TEXTPTR(Data)"
 SQL = SQL & " FROM Upload WHERE UploadID=" & UploadID & vbCrLf
 SQL = SQL & "UPDATETEXT Upload.Data @dataptr " & BlockCounter & " NULL 0x" & HexDataBlock
 'Execute prepared SQL command
 Conn.Execute SQL, 0, adCmdText + adExecuteNoRecords
Next 'BlockCounter

HexString - SQLOLEDB
 | Consumed
FileSize [MB] | Memory [MB] | Processor [ms]
5 | 27.4 | 5 078
10 | 27.4 | 9 953
15 | 27.4 | 14 734
20 | 27.4 | 20 093
25 | 27.4 | 24 312
30 | 27.4 | 29 125
35 | 27.4 | 33 609
40 | 27.4 | 38 484
45 | 27.4 | 43 437
50 | 27.4 | 48 390

And how this code works? For example 100MB file. Uploaded data are stored on the disk. We add another fields of upload record to the database (some bytes/kB).
Then we process source binary data using blocks. HexString reads 1MB of source data from the disk, converts this data to HexString (+4MB - Unicode HexString), creates UPDATETEXT SQL (+4MB) and sends this SQL command to MS SQL. MS SQL gets this string (+10MB ADO +2MB in SQL) converts it to binary data (+1MB) and the data are stored to the database file.

This code takes constant amount of memory - the amount of memory depends on source block size. For 1MB block - VBS code takes 8MB of memory; ADO Execute method takes 10MB (I do not know why such big amount).

Although this code takes a big amount of processor time, I test it to store files with up to 512MB of size.
Other links for Upload - to database, or not to database?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload - Problem with upload speed? Article

Upload - Problem with upload speed?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Upload - Problem with upload speed?

Question

I just have a quick question about the ASP Upload. In the progress window, when you upload a file, under the "Time" area, we haven't seen any speeds higher than 1.5-1.6mbs, even know our internal lan connection is 100mbs. I this something that is set in the code or a limit on the script itself?

Resolution

The problem is mainly with clients. I do not know why, but I cannot cause IE to upload with meaning speed in some cases/client configurations. Next are results of my performance tests for two computers - Duron 700 with W2003 and Athlon 1.4 With W2000 connected by 100Mb/s line.
The theoretical speed limit (accept upload on server-side in ASP, HugeASP upload) for Athlon 1.4/W2000/IIS5 is around 20MB/s, Duron 700/W2003/IIS6 9MB/s (because of processor resources).
You can see that Mozilla/W2000 can upload up to 7.5MB/s to IIS6 on Duron which is almost on theoretical limit of the server. But IE has only 1.5MB/s upload speed! I need four IE 6 clients on the same configuration to have 5.5MB/s upload speed! (the red lines in the table)
The worse in reverse direction ... One IE 6 from W2003 has upload speed 50kb/s! Two 100kB/s, three 150kB/s ... I do not know why, I cannot cause IE to have greater speed ... Mozilla has 6.8MB/s on the same configuration! (blue lines)
The best performance has Mozilla locally on athlon 1.4 - last line, 8MB/s.
I also tested HugeASP upload with my special http client uploading huge amount of data over http. HugeASP upload accepts 100Mb/s stream (~10-12MB/s) on PIII/900 or equivalent processor, 8-9MB/s on Duron 700 ... But I have no real client browser which can generate such strong data stream (only the special debugging client written in VBA6 or I can generate such stream from more computers/clients).
I spent a lot of time to debug server-side performance for maximum speed (mainly on block size, IIS configuration and Binaryread calls). I mean my product is best on the market in this area :-)
Client |  | Server |  | Speed [MB/s] | Client CPU | Server CPU | Idle CPU
W2003, Duron 700 | IE 6 | W2000, Athlon 1.4G | IIS 5 | 0.05 | 1% | 0% | -
W2000, Athlon 1.4G | IE 6 | W2003, Duron 700 | IIS6 | 1.50 | 10% | 15% | -
W2003, Duron 700 | IE 6 | W2003, Duron 700 | IIS6 | 2.30 | 40% | 25% | 5%
W2003, Duron 700 | Mozilla 1.5 | W2003, Duron 700 | IIS6 | 2.30 | 33% | 25% | 5%
W2000, Athlon 1.4G | 2 x IE 6 | W2003, Duron 700 | IIS6 | 3.00 | 20% | 28% | -
W2000, Athlon 1.4G | 4 x IE 6 | W2003, Duron 700 | IIS6 | 5.50 | 40% | 58% | -
W2000, Athlon 1.4G | IE 6 | W2000, Athlon 1.4G | IIS 5 | 6.00 | 20% | 25% | 52%
W2003, Duron 700 | Mozilla 1.5 | W2000, Athlon 1.4G | IIS 5 | 6.80 | 60% | 23% | -
W2003, Duron 700 | 2 x Mozilla 1.5 | W2000, Athlon 1.4G | IIS 5 | 6.80 | 60% | 23% | -
W2000, Athlon 1.4G | Mozilla 1.5 | W2003, Duron 700 | IIS6 | 7.00 | 15% | 74% | -
W2000, Athlon 1.4G | 2 x Mozilla 1.5 | W2003, Duron 700 | IIS6 | 7.50 | 20% | 75% | -
W2000, Athlon 1.4G | Mozilla 1.5 | W2000, Athlon 1.4G | IIS 5 | 8.00 | 20% | 28% | 48%
Main server-side tips for HugeASP upload to improove performance:
1. Please see Upload - Files and forms with large/huge size., 'Upload - Files and forms with large/huge size'. Use ASPForm.TempPath with adequate speed. Although 5-10MB/s data stream is not problem for todays disks (they usually have 30-45MB/s write speed limit), the problem may be with fragmentation. HugeASP file upload uses standard temp and the temp folder may be fragmented, so the temp disk cannot accept upload 10MB/s data stream. There are two simple solutions - defragment the temp folder/disk or create a special partition for upload temp
2. See also Upload - performance tests.. Use inprocess ASP environment in IIS4/5 or use IIS6 to maximize server-side performance (inprocess takes only a half of processor resources against out of process).
Other links for Upload - Problem with upload speed?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


application/x-www-form-urlencoded and multipart/form-data forms? Article

application/x-www-form-urlencoded and multipart/form-data forms?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

application/x-www-form-urlencoded and multipart/form-data forms?

Q: I am writing in reference to your Huge-ASP upload software product. I have seen in several places in the help file that this software can handle multipart/form-data encoded forms AND application/x-www-form-urlencoded forms. I don't see any example in the help files of an application/x-www-form-urlencoded form being processed. Please advise as to whether this is possible, and please provide an example. Thanks for your time and attention.

Huge-ASP upload can accept both application/x-www-form-urlencoded and multipart/form-data forms. You do not need to do some special settings to accept these two kinds of form. ScriptUtils.ASPForm component contains next simple code in ScriptUtils.ASPForm.Read method (in C++, of course):

Dim ContentType
ContentType = LCase(Request.ServerVariables("HTTP_CONTENT_TYPE"))
If Left(ContentType,19) = "multipart/form-data" Then
  'Multipart source form
  ProcessMultipartData
ElseIf ContentType = "application/x-www-form-urlencoded" Then
  'URLEncoded source form
  ProcessURLEncodedData
Else
  'Unknown content-type
  m_FormType = ftNone
End If
There is a special property ScriptUtils.FormParser.FormType which gives you info what type of form is currently processed. You can use both
<Form Action=hugeupload.asp method="POST">
 <Input Name=Description>
 <Input Type=Submit>
</Form>
or
<Form Action=hugeupload.asp method="POST" ENCTYPE="multipart/form-data">
 <Input Name=Description>
 <Input Type=Submit>
</Form>

And then you can accept source field in server-side ASP by the same ASP code:
'Create form object
Dim Form
Set Form = Server.CreateObject("ScriptUtils.ASPForm")

Dim Description
Description = Form("Description")
Other links for application/x-www-form-urlencoded and multipart/form-data forms?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Cannot find server or DNS Error, page cannot be displayed when uploading files? Article

Cannot find server or DNS Error, page cannot be displayed when uploading files?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Cannot find server or DNS Error, page cannot be displayed when uploading files?

Q1: I have not altered the sample code, but when upload a file larger than limit, I do not get error message -just page not found.
Q2: I have been evaluating your software for use at my company. I have not had luck limiting file size. As I am evaluating several products I have not had time to really trouble shoot problems. Maybe you can help me out. Everytime I limit the file size I get: Cannot find server or DNS Error Any ideas why this is happening? I am using your form-Sizelimit.asp sample from your web page. The simpleupload works flawlessly.

Introduction

The problem is mainly a problem with client browsers - there is no standard for http clients to handle situation when server does not accept the POST request. HTTP/1.1 specifies '413 Request Entity Too Large' status code as a server response for such situation. This message means: The server is refusing to process a request because the request entity is larger than the server is willing or able to process. The server MAY close the connection to prevent the client from continuing the request.

Each client has a special 'method' to handle such situation. And IE uses several random messages: 'The page cannot be displayed' the 'Cannot find server or DNS Error' and similar, latest versions of Mozilla shows dialog with 'document contains no data' message, or you can be also redirected to http://localhost.be/ :-).

You can see more about this problem on internet (google) at
http://groups.google.com/groups?q=upload%20error%20404&hl=cs&lr=&ie=UTF-8&sa=N&tab=wg
http://www.google.com/search?hl=cs&ie=UTF-8&q=Request+Entity+Too+Large+page+not+found&lr=
etc.

Some solutions to handle upload data limit.

There is no ideal way to solve such situation (source data over allowed limit) and there are two half-ideal:

1. Ignore the POST data when the data size is over the limit.
This solution is ideal for server-side security, performance and time of a response. The base idea for the code (ASP) looks like:
If Request.TotalBytes>0 Then
Response.Status = "413 Request Entity Too Large"
Response.Write "Some good message explaining that the client sends too large file"
Else
'process form data
End If
or similar for ASPForm:

If Form.State = 0 Then 'Completted
'something to do with data
Form.Files.Save "c:\upload"
ElseIf Form.State = fsSizeLimit Then
Response.Status = "413 Request Entity Too Large"
Response.Write "Some good message explaining that the client sends too large file"
End If'Form.State = 0 then

(Remember that UploadReadAheadSize property of IIS metabase must be set to zero to get work this code properly, see Upload - Monitor and handle upload state/result)

This code has some great features:

  • Server is not loaded by the request data, because the server does not read the data, it only reads http headers (100-500 bytes)
  • Client cannot create a DOS attack by a mistake (your server will not be excited when a client on 100Mb/s line selects it's nice 2GB weekend video file instead of another file... solution no 1. solves such situation)
  • The client response is very quick - shorter than milisecond on current computers.

The problem is (as I wrote) that most of the clients (IE, NN, opera ...) does not accept such behavior correctly. Client will receive the answer quickly, but the a client browser shows the server answer funny.

2. Read all the source data.
Client browsers accepts only one response: 100 continue. Or, as IE - the browser ignores initial server response - sends the form data regardless of the response. So if you read all source data, you can tell the client, that the data are over allowed limit ...
This is great for users, because there are no problems with 'bad' error messages. But the server can be down with one or more 'dirty' clients which simply sends gigabytes of POST data to the script over equally strong internet line. The base programming idea is:
If Request.TotalBytes>0 Then
Request.BinaryRead(Request.TotalBytes)
Response.Status = "413 Request Entity Too Large"
Response.Write "Some good message explaining that the client sends too large file"
Else
'process form data
End If
(The command 'Request.BinaryRead(Request.TotalBytes)' is not good idea, of course, it will place all request data in the memory. You must read the data block-by-block)

The default method in all sample scripts of Huge (Pure) ASP file upload is the first method - the POST data are ignored and '413 Request Entity Too Large' is send by the scripts. You can use second method, if you want to exactly show an error message for clients with form data over limit.
You can also use some combination of this methods - for example:
- set SizeLimit to 10MB and handle files with up to 10MB size
- if source data size is over the limit, but <20MB, you can read all the source data, do nothing with them and show error message to clients (something small over the limit)
- if source data size is over 20MB, ignore the request to save server resources.

See also: UploadReadAheadSize
Other links for Cannot find server or DNS Error, page cannot be displayed when uploading files?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


maxRequestLength - Maximum request length exceeded - IIS6 Article

maxRequestLength - Maximum request length exceeded - IIS6

IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

maxRequestLength - Maximum request length exceeded - IIS6

Symptoms

When you try to use the ASPForm object to upload a large file with ASP and IIS6, the file may not be uploaded. This problem occurs because the default value for the maxRequestLength parameter in the <httpRuntime> section of the Machine.config file is 4096 (4 megabytes). As a result, files that are larger than this value are not uploaded by default.

Resolution

To resolve this problem, use one of the following methods:
  • In the Machine.config file, change the maxRequestLength attribute of the <httpRuntime> configuration section to a larger value. This change affects the whole computer.
  • In the Web.config file, override the value of maxRequestLength for the application. For example, the following entry in Web.config allows files that are less than or equal to 8 megabytes (MB) to be uploaded:
    <httpRuntime maxRequestLength="8192" />

    • Web resources

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626
    http://www.google.com/search?q=maxRequestLength
    Other links for maxRequestLength - Maximum request length exceeded - IIS6

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Huge-ASP or Pure-ASP file upload? Article

Huge-ASP or Pure-ASP file upload?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Huge-ASP or Pure-ASP file upload?

Question

Hi, I'm looking at your site and I'm thinking about buying a distribution copy of Huge-ASP upload. I need to transfer 20-100 meg files, y'see, so I really want to use HugeASP, and I don't understand the difference with Pure-ASP upload. Except that your site says hugeASP is better for that kind of thing.

Resolution

  • Pure-ASP upload is is a plain VBS script file (_upload.asp) using objects installed by default in IIS - Scripting and ADODB library. So you do not need to install any additional software. Pure-ASP upload implements most of Huge-ASP upload functionality - methods and properties. You can use the same source code for Pure-ASP and Huge-ASP upload.
    But the Pure-VBS code has also Pure-Performance and it is very hungry for system resources - memory and processor resources. The code has one more great characteristic - it is free to use. You can use Pure-ASP upload when
    - you need upload only small files (up to megabytes, exceptionally 10th of MB)
    - your provider does not enable to install external components
    - you have small number of concurrent uploads

    Pure-ASP upload is a VBS class. You have to include VBS code and then you can create ASPForm object using New:

    <!--#INCLUDE FILE="_upload.asp"-->
<%
Dim Form
Set Form = New ASPForm
%>

  • Huge-ASP upload is a high-performance, low resources consumption C++ component with unique algorithm. The component is designed to accept forms of any size (from bytes to gigabytes) with maximum eficiency. Please use Huge-ASP upload in any other case.
    Huge-ASP upload is COM object (created from C++ ATL library). You can create the ASPForm object using CreateObject method of Server object:
    Dim Form
Set Form = Server.CreateObject("ScriptUtils.ASPForm")

    Source code of ASP scripts usin Huge-ASP and Pure-ASP upload is almost same - the only difference is initialization of a Form object. So you can use Pure-ASP upload first for some time and then simply switch to Huge-ASP with changes on one row of source code.

    See also

    PureASP upload - using, features, functionality, notes.
    • Other links for Huge-ASP or Pure-ASP file upload?

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

    The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

    This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload progress bar does not work. Article

Upload progress bar does not work.

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Upload progress bar does not work.

Question

I'm attempting to try your huge asp upload code on a Windows 2003 server in IIS5 mode and while my file uploads work, the progress bar never shows any information. It clicks w/ the refresh of the page but all all progress bars show 0 for size of files and total. Any help on this issue would be appreciated.

Resolution

I tried to test HugeASP upload with IIS5 and IIS6 and I found some properties, which have impact to progress bar:

  • UploadReadAheadSize (UploadReadAheadSize on Google)
    The value is 48kB by default. Upload progress does not work if the first UploadReadAheadSize bytes is not red (But it should work after the 48kB). You should set this value to zero to get progress work from zero. Please run next command from command line (You can find adsutil.vbs script in IIS admin scripts). Use the command o web site with upload.
    'cscript adsutil.vbs SET W3SVC/1/Root/UploadReadAheadSize 0' You can also use Metaedit metadata editor to set this property.
  • Session
    Session serializes communication between client and server, so second window with upload progress is not updated, since the upload is stopped.
    Please remove code which uses session from your global.asa, or move upload to another application (create own global.asa for upload)
    <SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Session.Timeout=25
End Sub
</SCRIPT>
    The progress.asp has @EnableSessionState=False, so such code can raise problem (error) which cause progress not to work.
  • Server-side debugging
    Server side ASP debugging serializes connections in some conditions, so progress also do not work. Please switch off server-side debugging. (home directory tab, configuration butto, debugging tab for the site)
  • Frames
    HTTP 1.1 specifies only two active connection to one host. So there is no free connection for progress if you use frames for upload window.
  • HugeASP upload and IIS6 - Number of worker processes.
    See app pool properties, performance tab, maximum number of worker processes. The number must be 1. progress.asp and primary upload window (Upload-Progress.ASP) must run in the same process. You can create own application pool for the upload with only one worker process.

  • PureASP upload specific - temp folder
    PureASP upload script uses temp folder to pass data from a primary upload window to secondary progress window. User account running ASP must have read/write rights to the server temporary folder for progress. You can set appropriate rights for the temp folder or change next line in _upload.asp include to any temp folder:
            TempFolder = fs.GetSpecialFolder(2)

Resolution for session problems

HTTP 1.1 specifies only two active connection per one host. So there is no free connection for progress if you use frames for upload window, or several browser windows communicating with server. You can specify another host for upload script (for example http://www.yoursite.com/upload/Upload-Progress.ASP) and http://upload.yoursite.com/upload/progress.asp for the progress window. The www.yoursite.com and upload.yoursite.com hosts should lead to the same IIS server, to the same application/virtual server.

See also

Upload - Progress bar indicator
Other links for Upload progress bar does not work.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Install Huge ASP upload without exe setup. Article

Install Huge ASP upload without exe setup.

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Install Huge ASP upload without exe setup.

Question: Can I install Huge-ASP file upload without scptutl.exe file? How can I redistribute upload and scriptutilities?

ScriptUtilities and Huge-ASP upload package (scptutl.exe) contains samples, help and two main DLLs - ASPForm.DLL and ScptUtl.DLL. ASPForm.DLL contains Huge ASP file upload component (ASPForm, FormFields, FormField and FormParser classes), ScptUtl.DLL contains ScriptUtilities classes (Kernel, ByteArray, Process, Thread, Advapi, INIFile, ZLib and LogFile).
You will only need these two .DLL files. You can copy the DLLs to your server and register them by regsvr32.

You can get these files by 'ScptUtl.exe /T:c:\temp /C' command.

Other links for Install Huge ASP upload without exe setup.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Problem with upload of big files? Article

Problem with upload of big files?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Problem with upload of big files?

Q: We want to purchase your product for uploading files to server. But we want to test it for larger files up to 10 -15 MB but your 60 day trial version allows us to upload only below 1MB from our web browses to our web server. I believe your ASP upload is a very good tool and we are keenly interested in buying it. SO please let me know how we can test it for more than 1 Mb.

Trial (evaluation) version of Huge-ASP upload has no functionality limit - except 60 day evaluation period. Please see ScriptUtils.ASPForm.Upload - Files and forms with large/huge size. article. The article contains info about important settings if you want to upload large files (or if you want to accept uploads on slow internet connections). The problem is probably with short ScriptTimeout or small free space on a temporary drive.
There is also a second kind of problems - proxy server between client and server. Such proxy can limit the size of post data - and the limit is usually set to 1MB.

Other links for Problem with upload of big files?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Upload without user interaction? Article

Upload without user interaction?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Upload without user interaction?

Q: The program looks very nice. I am only wondering if the following is possible. Is it possible to upload a file without user interaction? So that the user doesn't need to select the file to upload.
I want this to be an automatic process. I know the files that need to be uploaded, so when I open the upload.asp page, I want the upload progress be executed automatically. If this is possible, where can I find it in your help?

This functionality has some of very old versions of internet browsers. There is a big security problem with such function - imagine what you can to do on a client computer with such security leak ...
So this is not possible in standard HTML and JavaScript/VBScript now - because of security reasons. You cannot access files on client computer in safe-scriptable code, of course.

We can use some work-around for such work, of course - using unsafe code - Scripting and ADODB objects. I wrote a short article with full VBS source code at http://www.motobit.com/tips/detpg_uploadvbsie.htm.

Other links for Upload without user interaction?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Still expire after full installation? Article

Still expire after full installation?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Still expire after full installation?

Q: We've downloaded & installed the full version as instructed (first removing the old version), but we are still getting a message saying
'ScriptUtils.ASPForm (0x80040112)
Evaluation version of Huge-ASP upload was expired.' can you advise please?

This problem cohere with DLL locking and caching. ASPFORM.DLL and SCPTUTL.DLL are locked by dllhost.exe, ASP process. You can avoid this problem:
1. Stop w3svc service
2. Install full version of ScriptUtilities and Huge-ASP upload
3. Start w3svc service

Other links for Still expire after full installation?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


Expire of evaluation version? Article

Expire of evaluation version?

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

Expire of evaluation version?

Q: Actually I download your 60 days free evaluation version ( Huge-ASP upload, ScriptUtilities library …..) from your site. I downloaded this software some where in the month of June’02. I worked few days to check the need of our software. When I have written very small program to check it is working, then it says:

ScriptUtils.ASPForm(0x80040112)
Evalution version of Huge-ASP upload was expired.

Actually we did’nt even check all features of your software for our product. And now it is not working. Please help me so that we can check more features of your software with our requirements.

ScriptUtilities and Huge-ASP upload evaluation version contains simple 60-day expiration mechanism. Please go to registry, HKEY_LOCAL_MACHINE\SOFTWARE\Pstruh key and delete License key.
Remember that the software is NOT a freeware (please see License page for ASP file upload and ScriptUtilities), you can use this feature to get more evaluation time.

Other links for Expire of evaluation version?

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


2GB upload limit for http uploads and very large forms - 100MB, 2GB (4GB) Article

2GB upload limit for http uploads and very large forms - 100MB, 2GB (4GB)

ActiveX/VBSScript registry editor ActiveX NT User account manager Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile Email export ActiveX/ASP Scripting Dictionary object
IISTracer, real-time IIS monitor
Huge ASP upload - upload files with progress.
Article
Member of ScriptUtils

2GB upload limit for http uploads and very large forms - 100MB, 2GB (4GB)

Q: Hi, is it possible to set the upload limit on Huge ASP to a file size greater than 2gb? 2gb is too small, we are needing to upload hi-res video files of 3.5gb at times.

HugeASP upload is designed to work with up to 2GB files. The reason for the limit is simple - current browsers does not support upload of bigger files than 2GB over internet and IIS6 also accepts only 2GB files, no more.

Software | Versions | Upload limit
Internet explorer | All versions | 2GB-1
Mozilla Firefox | All versions | 2GB-1
IIS | 1-5 | 2GB-1
IIS | 6 | 4GB-1
ASP | All versions | 2GB-1

I tried several browsers to upload files over 2gb and the results are on this page.

Mozilla firefox

Upload file over 2GB - you cannot post such file, Mozilla does not send request with bigger file to server

Upload two or more files with size summary size >2GB - Mozilla send such files, but http headers are funny:

POST /content-length-test.htm HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) Gecko/20060909 Firefox/1.5.0.7
Content-Type: multipart/form-data;
            boundary=---------------------------28146504217367
Content-Length: -1618952669

But IIS doesn't know what means "Content-Length: -1618952669" and it answers "Bad request"

Internet Explorer

The results with IE are similar - IE allows to post file over 2GB, but the http headers looks like in Mozilla:

POST /content-length-test.htm HTTP/1.1
Content-Type: multipart/form-data; boundary=---------------------------7d630d6400da
UA-CPU: x86
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; )
Content-Length: -107389343

Both major internet browsers simply count content-length of uploads in 32bit signed integer, so their results are unusable for very large uploads.

IIS, ASP, V6.0

I prepared a simple test for IIS6 - POST with 30GB Content-Length:

POST /content-length-test.asp HTTP/1.1
Content-Type: multipart/form-data; boundary=--------------------------------08235985
Content-Length: 30000000000
User-Agent: Hammoun/1.0 (WinNT 5.2.3790;Service Pack 1)

And the IIS answer is next

HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET

You can post up to 4294967295 bytes to IIS, but ASP request.totalbytes returns -1 for post size over 2GB. So the maximum useful limit in ASP is also 2GB.

Other links for 2GB upload limit for http uploads and very large forms - 100MB, 2GB (4GB)

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.