# Programmation ASP

Il a été suggéré de fractionner ce livre en plusieurs sous-pages afin d'améliorer sa lisibilité.
Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
ASP (Active Server Page) est une technique associée aux langages de script (VBScript/Jscript) sur serveur supportant le WSH (windows script host) pour l'élaboration de pages web dynamiques développé par Microsoft.

# Présentation des objets ASP

ASP, dans sa version 3.0, est architecturé autour de 6 objets internes comprenant des méthodes permettant d'effectuer les principaux traitements sur les données. Ces objets constituent ce que l'on appelle le modèle objet. Ces objets sont :
* Application représente le site. Il permet de manipuler les variables, les constantes, etc. nécessaires au fonctionnement du site, et d'en « mémoriser » les valeurs.
* Session représente l'utilisateur. Il permet de conserver les données (préférences généralement) relatives à l'utilisateur d'une page du site à une autre.
* Response représente le résultat à afficher sur le navigateur. Il permet de manipuler les variables, les constantes, etc. nécessaires au fonctionnement du site, et d'en « mémoriser » les valeurs.
* Request permet de traiter les informations en provenance du client par l'intermédiaire de formulaires. Il permet de récupérer les valeurs des champs de requête issues du formulaire du navigateur.
* Server représente le serveur. Il permet d'en gérer les paramètres, ainsi que d'instancier les objets utilisateurs.
* ObjectContext désigne la transaction courante. Il sert à gérer les traitements de la transaction.

# La structure d'un objet ASP

Les objets ASP constituent l'essentiel du moteur de scripts ASP, c'est-à-dire qu'il s'agit des principaux éléments regroupant des propriétés (valeurs) et des méthodes (traitements) utilisables dans les scripts.
En réalité un objet est composé de trois types d'entités :
* Les collections : une structure de données (une sorte de tableau) contenant un ensemble de valeurs repérées par une clé. Chaque objet peut contenir plusieurs collections de variables. Une valeur d'une collection d'un objet est accessible par la syntaxe suivante : objet.collection("clé")
* Les propriétés : une valeur spécifique directement accessible. On accède à une propriété d'un objet ASP par la syntaxe : objet.propriete
* Les méthodes : des fonctions standard associées à un objet, permettant de manipuler des valeurs passées en argument. La syntaxe d'une méthode ressemble donc à ceci : objet.methode(arguments)

# Les objets ASP

Les termes anglais étant suffisamment explicites, il convient seulement de les traduire pour comprendre en quoi ils sont utiles.

## Application

permet le partage de données entre les utilisateurs de l'application
* PROPRIETES
** Contents
** Contents.Item(clé) As Variant
** Contents.Counts As Long
** StaticObjects
** StaticObjects.Item(clé) As Variant
** StaticObjects.Count As Long
* METHODES
** Lock
** Unlock
** Contents.Remove(clé)
** Contents.RemoveAll

## Request

Donne acces aux datas provenant du cln
* PROPRIETES
** ClientsCertificate
** ClientCertificateItem(clé) As Variant
** ClientCertificate.Count As Long
** Cookies
** Cookies.Item(clé) As Variant
** Cookies.Count As Long
** Form
** Form.Item(clé) As Variant
** Form.Count As Long
** QueryString
** QueryString.Item(clé) As Variant
** QueryString.Count As Long
** ServerVariables
** ServerVariables.Item(clé) As Variant
** ServerVariables.Count As Long
** TotalBytes As Long
* METHODES
** BinaryRead(CountToRead As Variant) As Variant

## Response

Envoi de datas au cln
* PROPRIETES
** Buffer As Boolean
** CacheControl As String
** CharSet As String
** ContentType As String
** Cookies
** Cookies.Item(clé) As Variant
** Cookies.Count As Long
** Expires As Variant
** ExpiresAbsolute As Variant
** Status As String
* METHODES
** AddHeader(bstrHeaderName As String, bstrHeaderValue As String)
** AppendToLog(LogEntry As String)
** BinaryWrite(Input As Variant)
** Clear
** End
** Flush
** IsClientConnected As Boolean
** Pics(Value As String)
** Redirect(URL As String)
** Write(Text As Variant)

## Server

Donne acces aux fct utiles
* PROPRIETES
** ScriptTimeout As Long
* METHODES
** CreateObject(ProgID As String) As Object
** Execute(LogicalPath As String)
** GetLastError As IASPError
** HTMLEncode(In As String) As String
** MapPath(LogicalPath As String) As String
** Transfer(LogicalPat As String)
** URLEncode(In As String) As String

## Session

Comprend nfo de session cln
* PROPRIETES
** CodePage As Long
** Contents
** Contents.Item(clé) As Variant
** Contents.Count As Long
** LCID As Long
** SessionID As String
** StaticObjects
** StaticObjects.Item(clé) As Variant
** StaticObjects.Count As Long
** Timeout As Long
* METHODES
** Abandon
** Contents.Remove(clé)
** Contents.RemoveAll

## ASPError

Nfo liées au Err
* PROPRIETES
** ASPCode As String
** Number As Long
** Source As String
** Category As String
** File As String
** Line As Long
** Column As Long
** Description As String
** ASPDescription As String

## ObjectContext

Gère msg.init par ASP.scr
* METHODES
** SetAbort
** SetComplete
* EVENEMENTS
** OnTransactionAbort
** OnTransactionCommit

# Les composants ASP

Classes permettant la création d'objets qui offrent des fonctions complétant les objets internes.

## AdRotator

ad pub var on.load
* PROPRIETES
** Border As Integer
** Clickable As Long
** TargetFrame As String
* METHODES
** GetAdvertisement(FileName As String) As String
* FICHIER
** [REDIRECT URL]
** [WIDTH largeur]
** [HEIGHT hauteur]
** [BORDER bordure]

## BrowserType

fonctionnalites du nav
    Set BrowserType=Server.CreateObject("MSWC.BrowserType")
* PROPRIETES
** Value(Function As String) As Variant
* FICHIER
** format de Browscap.ini
** ; cmt
** [HTTPUserAgentHeader]
** parent=def nav
** proprieteN=ValeurN
** proprieteParDefautN=valeurParDefautN

## NextLink

Gère lst d'URL de txt
    Set NextLink=Server.CreateObject("MSWC.NextLink")
* PROPRIETES
** About As String
** GetListCount(LinkFile As String) As Long
** GetListIndex(LinkFile As String) As Long
** GetNextDescription(LinkFile As String) As String
** GetNextUrl(LinkFile As String) As String
** GetNthDescription(LinkFile As String, Index As Long) As String
** GetNthURL(LinkFile As String, Index As Long) As String
** GetPreviousDescription(LinkFile As String) As String
** GetPreviousURL(LinkFile As String) As String
* FICHIER
** txt.format
** URL Desc Cmt

## ContentRotator

affiche txt var on.load
    Set ContentRotator=Server.CreateObject("MSWC.ContentRotator")
* METHODES
** ChooseContent(DataFile As String) As String
** GetAllContent(DataFile As String)
* FICHIER
** format du f de contenu
** %%#poids//cmt
** txt HTML

## Counters

Gère des cpt permanents à ajouter dans GLOBAL.ASA:
    <OBJECT :RUNAT=Server :SCOPE=Applicatio :ID=Counter :PRODIG="MSWC.Counters">
    </OBJECTS>
* METHODES
** Get(counterName As String) As Long
** Increment(counterName As String) As Long
** Remove(counterName As String
** Set(counterName As String, newValue As Long) As Long

## IISLog

exploration du journal par adm
    Set IISLog=Server.CreateObject("MSWC.IISLog")
* PROPRIETES
** BytesReceived As Long
** BytesSent As Long
** ClientIP As String
** Cookie As String
** Cookie As String
** Custon As String
** CustomFields As Variant
** DateTime As Date
** Method As String
** ProtocolStatus As Long
** ProtocolVersion As String
** Referer As String
** ServerIP As String
** ServerName As String
** ServerPort As Long
** ServiceName As String
** TimeTaken As Long
** URIQuery As String
** URIStem As String
** UserAgent As String
** UserName As String
** Win32Status As Long
* METHODES
** AtEndOfLog As Boolean
** CloseLogFiles(Modes As IOMode)
** OpenLogFile(LogFileName As String, Mode As IOMode, ServiceName As String, ServiceInstance As Long, OutputLogFileFormat As String)
** ReadFilter(startDateTime As Date, endDateTime As Date)
** ReadLogRecord
** WriteLogRecord(ILogScripting As IlogScripting)

## MyInfo

Stock valeurs de propriétés dynamiques qu'il suffit de renommer pour qu'elles existent.

## PageCounter

Compte le nombre de fois que page est ouverte
    Set PageCounter=Server.CreateObject("MSWC.PageCounter")
* METHODES
** Hits([URL As Variant]) As Long
** PageHit As Long
** Reset([URL as Variant])

## PersmissionChecker

Vérifie les privilèges pour le fichier donné
    Set PermissionChecker=Server.CreateObject("MSWC.PermissionChecker")
* METHODES
** HasAccess(LocalUrl As String) As Boolean

## Tools

Méthodes utiles
    Set Tools=Server.CreateObject("MSWC.Tools")
* METHODES
** FileExists(URL As String) As Boolean
** Owner As Boolean
** PluginExists(pluginName As String) As Boolean
** ProcessForm(outputFile As String, templateFile As String, [insertionPoint As Variant])
** Random As Long

# Scripting RUNTIME

Composant de classes pour gestion dico et accéder au système de fichiers.

## Dictionary

Stocke paires cle/element de datas
    Set dic=Server.CreateObject("Scripting.Dictionary")
* PROPRIETES
** CompareMode As CompareMethod
** Count As Long
** Item(Key As Variant) As Variant
** Key(Key As Variant) As Variant
* METHODES
** Add(Key As Variant, Item As Variant)
** Exists(Key As Variant) As Boolean
** Items As Variant
** Keys As Variant
** Keys As Variant
** Remove(Key As Variant)
** RemoveAll

## Drive

Acces à path
    Set fso=Create.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** AvailableSpace As Variant
** DriveLetter As String
** DriveType As Drive TypeConst
** FileSystem As String
** FreeSpace As Variant
** IsReady As Boolean
** Path As String
** RootFolder As Folder
** SerialNumber As Long
** ShareName
** TotalSize As Variant
** VolumeName As String

## Drives

    Set fso=Server.CreateObject("SCripting.FileSystemObjects")
* PROPRIETES
** Count As Long
* Item(Key As Variant) As Drive

## Encoder

Obj Script Encoder
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* METHODES
** EcoderScriptFile(Ext As String, Streamln As String, Flags As Long, DefaultLang As String) As String

## File

Acces au proprio d'un fichier
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** Attributes As FileAttribute
** DateCreated As Date
** DateLastAccessed As Date
** DateLastModified As Date
** Drive As Drive
** Name As String
** ParentFolder As Folder
** Path As String
** ShortName As String
** ShortPath As String
** Size As Variant
** Type As String
* METHODES
** Copy(Destination As String, OverWrite As Boolean)
** Delete(Force As Boolean)
** Move(Destination As String)
** OpenAsTextStream(IOMode As IOMode, Format As Tristate) As TextStream

## Files

Collection des obj files d'un dossier
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** Count As Long
** Item(Key As Variant) As File

## FileSystemObject

Acces au sys fichier
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** Drives As DriveCollection
* METHODES
** BuildPath(Path As String, Name As String) As String
** CopyFile(Source As String, Destination AS String, OverWritesFiles As Boolean)
** CopyFolder(Path As String) As Folder
** CreateTextFile(FileName AS String, Overwrite As Boolean, Unicode As Boolean) As TextStream
** DeleteFile(FileSpec As String, Force As Boolean)
** DeleteFolder(FolderSpec As String, Force As Boolean)¨
** DriveExists(DriveSpec As String) As Boolean
** FileExists(FileSpec As String) As Boolean
** FolderExists(FolderSpec As String) As Boolean
** GetAbsolutePathName(Path As String) As String
** GetBaseName(Path As String) As String
** GetDrive(DriveSpec As String) As String
** GetDriveName(Path As String) As String
** GetExtensionName(Path As String) As String
** GetFile(FilePath As String) As File
** GetFileName(Path As String) As File
** GetFolder(FolderPath As String) As Folder
** GetParentFolderName(Path As String) As String
** GetSpecialFolder(SpecialFolder As SpecialFolderConst) As Folder
** GetTempName As String
** MoveFile(Source As String, Destination As String)
** MoveFolder(Source As String, Destination As String)
** OpenTextFile(FileName As String, IOMode As IOMode, Create As Boolean, Format As Tristate) As TextStream

## Folder

Acces proprio dossier
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** Attributes As FileAttribute
** DateCreated As Date
** DateLastAccessed As Date
** DateLastModified As Date
** Drive As Drive
** Files As FileCollection
** IsRootFolder As Boolean
** Name As String
** ParentFolder As Folder
** Pat As String
** ShortName As String
** ShortPath As String
** Size As Variant
** SubFolder As FolderCollection
** Type As String
* METHODES
** Copy(Destination As String, OverWriteFiles As Boolean)
** CreateTextFile(FileName As String, Overwrite As Boolean, Unicode As Boolean) As TextStream
** Delete(Force As Boolean)
** Move(Destination As String)

## Folders

Collection des obj folder
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** Count As Long
** Item(Key As Variant) As Folder
* METHODES
** Add(Name As String) As Folder

## TextStream

Acces sequentiel a fichier
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
* PROPRIETES
** AtEndOfLine As Boolean
** AtEndOfStream As Boolean
** Column As Long
** Line As Long
* METHODES
** Close
** Read(Characters As Log) As String
** ReadAll As String
** ReadLine As String
** Skip(Character As Long)
** SkipLine
** Write(Text As String)
** WriteBlankLines(Lines As Long)
** WriteLine(Text As String)

## Constantes

...utilisees par methodes et proprio
* DRIVETYPE
| Constante | Valeur | Description |
| Unknown | 0 | lecteur indéterminé |
| Removable | 1 | lecteur amovible |
| Fixed | 2 | lecteur permanent |
| Remote | 3 | lecteur réseau |
| CDROM | 4 | lecteur cd |
| RAMDisk | 5 | lecteur RAM |
* Attributs de fichiers
| Constante | Valeur | Description |
| Normal | 0 | fichier normal |
| ReadOnly | 1 | en lecture seule |
| Hidden | 2 | caché |
| System | 4 | système |
| Directory | 16 | répertoire |
| Archive | 32 | modifié |
| Alias | 1024 | lien |
| Compressed | 2048 | compressé |
* E/S .F
| Constante | Valeur | Description |
| ForReading | 1 | ouvrir .f en lecture seule |
| ForWriting | 2 | ouvrir new .f en écriture |
| ForAppending | 8 | ouvrir et écrire en fin de fichier |
* SPECIALDIR
| Constante | Valeur | Description |
| WindowsFolder | 0 | %windir% |
| SystemFolder | 1 | %system% |
| TemporaryFolder | 2 | %tmp% |

# ADO

[ActiveX Data Object] pour DataBase OLE DB //Acces .f en acces direct via DSN (OLEDB) ou DSN-less

## Command

cmd.def sur scr.db
* PROPRIETES
** ActiveConnection As Connection
** CommandText As String
** CommandTimeout As Long
** CommandType As CommandTypeEnum
** Name As String
** Parameters As Parameters
** Prepared As Boolean
** Properties As Properties
** State As Long
* METHODES
** Cancel
** CreateParameters(Name As String, Type As DataTypeEnum, Direction As ParametersDirectionEnum, Size As Long, [Value As Variant]) As Parameter
** Execute(RecordsAffected As Variant, Parameters As Variant, Options As Long) As Recordset

## Connection

CNX ouverte à src.db
* PROPRIETES
** Attributes As Long
** CommandTimeout As Long
** ConnectionString As String
** ConnectionTimeout As Long
** CursorLocation As CursorLocationEnum
** DefaultDatabase As String
** Errors As Errors
** IsolationLevel As IsolationLevelEnum
** Mode As ConnectModeEnum
** Properties As Properties
** Provider As String
** State As Long
** Version As String
* METHODES
** BeginTrans As Long
** Cancel
** Close
** CommitTrans
** Execute(CommandText As String,RecordsAffected As Variant, Options As Long) As Recordset
** Open(ConnectionString As String, UserID As String, Password As String, Options As Long)
** OpenScema(Schema As SchemaEnum,[Restrictions As Variant],[SchemaID As Variant]) As Recordset
** RollbackTrans
* EVENEMENTS
** BeginTransComplete(TransactionLevel As Long, pError As Error, adStatus As EventStatusEnum, pConnection As Connection)
** CommitTransComplete(pError As Error, adStatus As EventStatusEnum pConection As Connection)
** ConnectComplete(pError As Error, adStatus As EventStatusEnum, pConnection As Connection)
** Disconect(adStatus As EventStatusEnum, pConnection As Connection)
** ExecuteComplete(RecordsAffected As Long, pError As Error, adStatus As EventStatusEnum, pCommand As Command, pRecordset As Recordset, pConnection As Connection)
** InfoMessage(pError As Error, adStatus As EventStatusEnum, pConnection As Connection)
** WillConnect(ConnectionString As String, UserID As String, Password As String, Options As Long, adStatus As EventStatusEnum, pConnection As Connection)
** WillExecute(Source As String, CursorType As CursorTypeEnum, LockType As LockTypeEnum, Options As Long, adStatus As EventStatusEnum, pCommand As Command, pRecordset As Recordset, pConnection As Connection)

## Error

err d'acces chez fournisseur
* PROPRIETES
** Desciption As String
** HelpContext As Long
** HelpFile As String
** NativeError As Long
** Number As Long
** Source As String
** SQLQtate As String

## Errors

obj error
* PROPRIETES
** Count As Long
** Item(Index As Variant) As Error
* METHODES
** Clear
** Refresh

## Field

colonne de donnée avec même type
* PROPRIETES
** ActualSize As Long
** Attributes As Long
** DataFormat As DataObject
** DefinedSize As Long
** Name As String
** NumericScale As Byte
** OriginalValue As Variant
** Precision As Byte
** Properties As Properties
** Status As Long
** Type As DataTypeEnum
** UnderlyingValue As Variant
** Value As Variant
* METHODES
** AppendChunk(Data As Variant)
** GetChunk(Length As Long) As Variant

## Fields

fields.obj
* PROPRIETES
** Count As Long
** Item(Index As Variant) As Field
* METHODES
** Append(Name As String, Type As DataTypeEnum, DefinedSize As Long, Attrib As Field(AttributeEnum,[FieldValue As Variant])
** CancelUpdate
** Delete(Index As Variant)
** Refresh
** Resync(ResyncValues As ResyncEnum)
** Update

## Parameter

param ou arg sur CMD.obj basé sur requête paramétrée ou procédure stockée
* PROPRIETES
** Attributes As Long
** Direction As ParameterDirectionEnum
** Name As String
** NumericScale As Byte
** Precision As Byte
** Properties As Properties
** Size As Long
** Type As DataTypeEnum
** Value As Variant
* METHODES
** AppendChunk(Val As Variant)

## Parameters

Collection param.obj
* PROPRIETES
** Count As Long
** Item(Index As Variant) As Parameter
* METHODES
** Append(Object As Object)
** Delete(Index As Variant)
** Refresh

## Property

Cara. dyn. d'ADO.obj par fournisseur.def
* PROPRIETES
** Attributes As Long
** Name As String
** Type As DataTypeEnum
** Value As Variant

## Properties

Collection proprio.obj
* PROPRIETES
** Count As Long
** Item(Index As Variant) As Property
* METHODES
** Refresh

## Record

Ligne d'un Recordset ou .f ou .F d'un %system%
* PROPRIETES
** ActiveConnection As Variant
** Fields As Fields
** Mode As COnnectModeEnum
** ParentURL As String
** Properties As Properties
** RecordType As RecordTypeEnum
** Source As Variant
** State As ObjectStateEnum
* METHODES
** Cancel
** Close
** CopyRecord(Source As String, Destination As String, UserName As String, Password As String, Options As CopyRecordOptionsEnum, Async As Boolean) As String
** DeleteRecord(Source As String, Async As Boolean)
** GetChildren As Recordset
** MoveRecord(Source As String, Destination As String, UserName As String, Password As String, Options As MoveRecordOptionsEnum, Async AS Boolean) As String
** Open(Source As Variant, ActiveConnection As Variant, Mode As ConectModeEnum, CreateOptions As RecordCreateOptionsEnum, Options As RecordOpenOptionsEnum, UserName As String, Password As String)

## Recordset

Recordset d'une table ou requete
* PROPRIETES
** AbsolutePage As PositionEnum
** AbsolutePosition As PositionEnum
** ActiveCommand As Object
** ActiveConnection As Variant
** BOF As Boolean
** Bookmark As Variant
** CacheSize As Long
** CursorLocation As CursorLocationEnum
** CursorType As CursorTypeEnum
** DataMenber AsString
** DataSource AS DataObject
** EditMode As EditModeEnum
** EOF As Boolean
** Fields As Fields
** Filter As Variant
** Index As String
** LockType As LockTypeEnum
** MarshalOptions As MarshalOptionsEnum
** MaxRecords As Long
** PageCount As Long
** PageSize As Long
** Properties As Properties
** RecordCount As Long
** Sort As String
** Source As Variant
** State As Long
** Status As Long
** StayInSync As Boolean
* METHODS
** AddNew([FieldList As Variant],[Values As Variant])
** Cancel
** CancelBatch(AffectRecords As AffectEnum)
** CancelUpdate
** Clone(Lock Type As LockTypeEnum) As Recordset
** Close
** CompareBookmarks(Bookmark1 As Variant, Bookmark2 As Variant) As CompareEnum
** Delete(AffectRecords As AffectEnum)
** Find(Criteria As String, SkipRecords As Long, SearchDirection As SearchDirectionEnum,[Start As Variant])
** GetRows(Rows As Long,[Start As Variant],[Fields As Variant]) AS Variant
** GetString(StringFormat As StringFormatEnum, NumRows As Long, ColumnDelimiter As String, RowDelimiter As String, NullExpr As String) As String
** Move(NumRecords As Long,[Start As Variant])
** MoveFirst
** MoveLast
** MoveNext
** MovePrevious
** NextRecordset([RecordsAffected As Variant]) As Recordset
** Open(Source As Variant, ActiveConnection As Variant, CursorType As CursorTypeEnum, LockType As LockTypeEnum, Options As Long)
** Requery(Options As Long)
** Resync(options As Long)
** Save(Destination As Variant, PersistFormat As PersistFormatEnum)
** Seek(KeyValues As Variant, SeekOption As SeekEnum)
** Supports(CursorOptions As CursorOptionEnum) As Boolean
** Update([Fileds As Variant],[Values As Variant])
** UpdateBatch(AffectRecords As AffectEnum)
* EVENEMENTS
** EndOfRecordset(fMoreData As Boolean, adStatus As EventStatusEnum, pRecordset As Recordset)
** FetchComplete(pError As Error, adStatus As EventStatusEnum, pRecorset As Recordset)
** FetchProgress(Progress As Long, MaxProgress As Long, adStatus As EventStatusEnum, pRecordset As Recordset)
** FieldChangeComplete(cFields As Long, Fields As Variant, pError As Error, adStatus As EventStatusEnum, pRecordset As Recodset)
** MoveComplete(adReason As EventReasonEnum, pError As Error, adStatus As EventStatusEnum, pRecordset As Recordset)
** RecordsetChangeComplete(adReason As EventReasonEnum, pError As Error, adStatus As EventStatusEnum, pRecordset As Recordset)
** WillChangeField(cFields As Long, Fields As Variant, adStatus As EventStatusEnum, pRecodset As Recordset)
** WillChangeRecord(adReason As EventReasonEnum, cRecords As Long, adStatus As EventStatusEnum, pRecordset As Recordset)
** WillChangeRecordset(adReason As EventReasonEnum, adStatus As EventStatusEnum, pRecordset As Recordset)
** WillMove(adReason As EventReasonEnum, adStatus As EventStatusEnum, pRecordset As Recordset)

## Stream

Données non mises en forme
* PROPRIETES
** Charset As String
** EOS As Boolean
** LineSeparator As LineSeparatorEnum
** Mode As ConnectModeEnum
** Position As Long
** Size As Long
** State As ObjectStateEnum
** Type As StreamTypeEnum
* METHODES
** Cancel
** Close
** CopyTo(DestStream As Stream, CharNumber As Long)
** Flush
** LoadFromFile(FileName As String)
** Open(Source As Variant, Mode As ConnectModeEnum, Options As StreamOpenOptionsEnum, UserName As String, Password As String)
** Read(NumBytes As Long) As Variant
** ReadText(NumBytes As Long) As Variant
** SaveToFile(FileName As String, Options As SaveOptionsEnum)
** SetEOS
** SkipLine
** Write(Buffer As Variant)
** WriteText(Data As String, Options As StreamWriteEnum)

## Liens externes

    http://www.commentcamarche.net/asp/aspintro.php3
    http://asp-php.net
Cette page fait partie du livre Programmation