P. 1
Convenciones de Nomenclatura Para Visual Basic

Convenciones de Nomenclatura Para Visual Basic

|Views: 601|Likes:
Publicado porjrsera

More info:

Published by: jrsera on Apr 11, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/30/2014

pdf

text

original

CONVENCIONES DE NOMENCLATURA PARA VISUAL BASIC

Resumen
Es una buena idea establecer convenciones de nomenclatura para el código de Visual Basic. Este artículo proporciona las convenciones de nomenclatura utilizadas por Microsoft Consulting Services (MCS). Este documento es un superconjunto de las convenciones de codificación de Visual Basic que se encuentra en Visual Basic "Guía del programador". Nota: Los controles de terceros mencionados en este artículo están fabricados por proveedores independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, respecto al rendimiento de estos controles o confiabilidad.

Desarrollo
Convenciones de nomenclatura ayudan a los programadores de Visual Basic:

    

estandarizar la estructura, codificación de estilo y la lógica de una aplicación. crear código precisa, legible y inequívoca el origen. ser coherente con otras convenciones de lenguaje (lo que es más importante, la Guía de programadores de Visual Basic y notación húngara de Windows de C estándar). ser eficiente de un tamaño de cadena y punto de vista mano de obra, permitiendo así una mayor oportunidad de más y más completo nombres de objeto. Defina los requisitos mínimos necesarios para realizar la anterior.

Establecer las opciones de entorno
Utilice Option Explicit. Declarar las variables todo para guardar el tiempo de programación reduciendo el número de errores causados por errores tipográficos (por ejemplo, aUserNameTmp frente a sUserNameTmp frente a sUserNameTemp). En el cuadro de diálogo Opciones de entorno, establezca la declaración de variable requerida en Sí. La instrucción Option Explicit requiere declarar todas las variables en el programa de Visual Basic. Guardar archivos como texto ASCII. Guardar formulario (.frm) y módulo (.BAS) archivos como texto ASCII para facilitar el uso de sistemas de control de versiones y minimizar los daños que pueden deberse a daños en el disco. Además, puede:

realizar análisis externo de su código de Visual Basic Para que guarde siempre los archivos como texto ASCII, desde el cuadro de diálogo Opciones de entorno de Visual Basic, establezca la opción Guardar como formato predeterminado a texto.

   

utilizar su propio editor utilizar herramientas automatizadas, tales como grep crear herramientas CASE o generación de código para Visual Basic

Objeto convenciones de nomenclatura para objetos estándar
Las siguientes tablas definen los prefijos de nombre de objeto estándar de MCS. Estos prefijos son coherentes con los documentados en la Guía de programadores de Visual Basic.

Prefix Object Type Example ------------------------------------------------------ani Animation button aniMailBox bed Pen Bedit bedFirstName cbo Combo box and drop down list box cboEnglish chk Checkbox chkReadOnly clp Picture clip clpToolbar cmd (3d) Command button (3D) cmdOk (cmd3dOk) com Communications comFax ctr Control (when specific type unknown) ctrCurrent dat Data control datBiblio dir Directory list box dirSource dlg Common dialog control dlgFileOpen

Convenciones de nomenclatura de menú .drv fil frm fra (3d) gau gpb gra grd hed hsb img ink key lbl lin lst mdi mpm mps mci mnu opt (3d) ole out pic pnl3d rpt shp spn txt tmr vsb Drive list box File list box Form Frame (3d) Gauge Group push button Graph Grid Pen Hedit Horizontal scroll bar Image Pen Ink Keyboard key status Label Line List box MDI child form MAPI message MAPI session MCI Menu Option Button (3d) OLE control Outline control Picture 3d Panel Report control Shape controls Spin control Text Box Timer Vertical scroll bar drvTarget filSource frmEntry fraStyle (fra3dStyle) gauStatus gpbChannel graRevenue grdPrices hedSignature hsbVolume imgIcon inkMap keyCaps lblHelpMessage linVertical lstPolicyCodes mdiNote mpmSentMessage mpsSession mciVideo mnuFileOpen optRed (opt3dRed) oleWorksheet outOrgChart picVGA pnl3d rptQtr1Earnings shpCircle spnPages txtLastName tmrAlarm vsbRate Objeto convención de nomenclatura para objetos de base de datos Prefix Object Type Example -----------------------------------------db ODBC Database dbAccounts ds ODBC Dynaset object dsSalesByRegion fdc Field collection fdcCustomer fd Field object fdAddress ix Index object ixAge ixc Index collection ixcNewAge qd QueryDef object qdSalesByRegion qry (suffix) Query (see NOTE) SalesByRegionQry ss Snapshot object ssForecast tb Table object tbCustomer td TableDef object tdCustomers Nota: Utilizar un sufijo para consultas permite que cada consulta para ordenarse con su tabla asociada en diálogos de Microsoft Access (Agregar tabla. lista de tablas instantáneas).

como un cuadro de lista mejorada. iGetRecordNext <body> Describes the variable. intente idear un prefijo de tres caracteres único. Además. etc. Por ejemplo: Menu Caption Sequence Help. Uso de sufijos básicos antiguos (como % & #. Los prefijos de control de menú deben extenderse más allá de la etiqueta inicial mnu agregando un prefijo adicional para cada nivel de anidamiento.64 bit Double # signed quantity dt dat Date and Time Variant e err Error .Character File. una instancia del control creada desde el marco 3D podría Visual Basic Professional utiliza un prefijo de fra3d para evitar confusiones sobre qué control realmente se utiliza. que proporciona el prefijo utilizado para el control. Un botón de comando desde MicroHelp podría utilizar cmdm para diferenciarlo en el botón de comando estándar (cmd).Send. Sin embargo. Para los controles derivados. Por ejemplo. Convenciones de nomenclatura para otros controles Para controles nuevos no enumerados anteriormente. amplían los prefijos anteriores por lo que no hay confusión sobre el control que realmente se utiliza. Como resultado.Fax File.Contents File. con el título de menú final al final de la cadena de nombre. iGetNameLast <suffix> The optional Visual Basic type character. Variable y prefijos de nombre de función: Prefix Converged Variable Use Data Type Suffix -------------------------------------------------------------------------b bln Boolean Integer % c cur Currency .) son desaconsejado. Normalmente también se añadirán al prefijo de una abreviatura de minúscula para el fabricante. todos los miembros de un grupo menú determinado se muestran junto a entre sí en el objeto desplegable cuadros de lista (de la ventana de código y la ventana de propiedades). Controles de terceros Cada control de terceros utilizado en una aplicación debe enumerarse en sección de comentario de información general de la aplicación.Las aplicaciones utilizan con frecuencia una abundancia de controles de menú.Open Format. es más importante que desactive que al ceñirse a tres caracteres. necesita un conjunto de convenciones de nomenclatura diferente para estos controles.64 bits Currency @ d dbl Double . iGetRecordNext% prefijos: Las siguientes tablas definen prefijos de nombre de variable y función que se basan en notación húngara C para Windows. iGetNameFirst <qualifier> Denotes a derivative of the variable.Send. los nombres de control de menú Documente claramente los elementos de menú al que están conectados.Email Menu Handler Name mnuHelpContents mnuFileOpen mnuFormatCharacter mnuFileSendFax mnuFileSendEmail cuando se utiliza esta convención. el nombre completo del control y el nombre del proveedor de software: Prefix cmdm Control Type Command Button Vendor MicroHelp Variable y el nombre de rutina Los nombres de variable y función tienen la siguiente estructura: <prefix><body><qualifier><suffix> Part Description Example -------------------------------------------------------------------------<prefix> Describes the use and scope of the variable. Estos prefijos se deben utilizar con todas las variables y nombres de función.

Esta transición dará como resultado muchos programadores de Visual Basic mover a C para la primera vez y muchos programadores con frecuencia mover hacia delante y hacia atrás entre ambos entornos. El cuerpo de variable y nombres de rutina El cuerpo de una variable o el nombre de rutina debe utilizar mayúsculas y minúsculas mezcladas y debe ser tan largo como sea necesario para describir su finalidad. utilice calificadores estándar para etiquetar las variables derivadas y rutinas.representa un recuento del número de mensajes enviados bSend . Ámbito y prefijos de uso: Prefix g m st (no prefix) v r Description Global Local to module or form Static variable Non-static variable.un identificador para la interfaz de comunicaciones Indique cada uno de estos nombres de variables a un programador algo muy diferente. no explican lo que se utiliza una variable o función para o cómo se puede obtener acceso a él. Además. Para términos utilizados con frecuencia o largos. los nombres de variables mayor de 32 caracteres pueden difíciles de leer en pantallas VGA. prefix local to procedure Variable passed by value (local to a routine) Variable passed by reference (local to a routine) notación húngara es tan valioso en Visual Basic como en C. Al utilizar abreviaturas. Esta información se pierde cuando el nombre de la variable se reduce a enviar %.32 bit signed quantity Number/Counter String Unsigned .A flag definir el éxito de la última operación de envío hSend . Aunque poner el calificador después de que el cuerpo del nombre puede parecer un poco complicado (como en sGetNameFirst. Notación húngara es también muy utilizado por los programadores de C de Windows y hace referencia continuamente en la documentación del producto de Microsoft y en libros de programación del sector.16 bit unsigned quantity User-defined type Variant Array Single ! Integer Integer Long Integer String Long % % & % $ & Variant Nota: los valores de la columna Converged representan los esfuerzos para reunir los estándares de nomenclatura para Visual Basic.32 bit signed floating point Handle Index Long . Prefijos del ámbito como g y m también reducen el problema de contención de nombre especialmente en proyectos de varios programadores. sGetLastName) este ejercicio . como InitNameArray o CloseDialog. sGetNameLast en lugar de sGetFirstName. asegúrese de que sean coherentes en toda la aplicación. Éstos son algunos ejemplos: iSend . Cambiar aleatoriamente entre número y número dentro de un proyecto se conducir a confusión innecesario. los nombres de función deben comenzar con un verbo. se recomiendan mantener las longitudes de nombre razonable abreviaturas estándar. Aunque los sufijos de tipo Visual Basic lo indican el tipo de datos de una variable. Calificadores de variable y nombres de rutina Variables relacionadas y rutinas suelen utilizarse para administrar y manipular un objeto común. Es probable que estos prefijos se convertirá en el futuro en los estándares de Microsoft en algún momento.f sng h i l n s u lng int str vnt a udt vnt Float/Single . Además. En general. En estos casos. Visual Basic para aplicaciones y Access Basic. el bono entre los programadores C y programadores que utilizan Visual Basic será mucho más fuerte como el impulso de ganancias C++ del sistema de desarrollo.

mensajes. y "" (cadena vacía). Cur Current element in a set. Prev Previous element in a set. Aunque constantes estándar de Visual Basic no incluyen información húngaro. Save Used to preserve another variable that must be reset later. 0 (cero). lo que el lógica y la estructura de la aplicación sea más fácil de entender el orden. Next Next element in a set. Min Minimum value in a set. Por ejemplo: Sub ConvertNulls(rvntOrg As Variant. Por ejemplo: Dim custNew as CUSTOMER_TYPE Constantes de nomenclatura El cuerpo de los nombres de constantes debe ser UPPER_CASE con caracteres de subrayado (_) entre palabras. Por ejemplo: Type CUSTOMER_TYPE sName As String sState As String * 2 lID as Long End Type cuando declara una variable de instancia de un usuario define el tipo. g y m puede ser muy útil para comprender el valor y el ámbito de una constante. Tipos definidos por el usuario Declarar tipos de definido por el usuario en mayúsculas con _TYPE anexado al final del nombre del símbolo. DDE u OLE. Por ejemplo: <mnUSER_LIST_MAX gsNEW_LINE ' Max entry limit for User list (integer value. rvntSub As Variant) ' If rvntOrg = Null. The value of a Tmp variable is usually only valid across a set of contiguous statements within a single procedure. Src Source. Max Maximum value in a set. prefijos como i. ' local to module) ' New Line character string (global to entire ' application) Tipo de datos Variant Si sabe que una variable siempre almacenar datos de un tipo determinado. Dst Destination. siguen las mismas reglas como variables. Para los nombres de constantes. agregar un prefijo al nombre de variable para el tipo de referencia. Often used in conjunction with Source. Muchas veces. El código necesita distinguir entre NULL. Muchas bases de datos permiten NULL como un valor válido para un campo. estos tipos de operaciones pueden utilizar una rutina de servicio genérico no es necesario conocer el tipo de datos que recibe para procesar o pasar en los datos.ayudará a listas de estos nombres juntos en la rutina de editor de Visual Basic. Last Last element of a set. En la tabla siguiente se definen los calificadores comunes y su significado estándar: Qualifier Description (follows Body) -------------------------------------------------------------------------First First element of a set. s. el tipo de datos variant puede ser muy útil al trabajar con bases de datos. Frequently used in comparison and transfer routines. Tmp A "scratch" variable whose scope is highly localized within the code. Visual Basic puede controlar los datos más eficazmente si declara una variable de ese tipo. Sin embargo. replace the Null with rvntSub If IsNull(rvntOrg) Then rvntOrg = rvntSub End Sub .

Effects List of each effected external variable.0111? + vnt1 ' Does vntResult = 21.01 or 1110. Bloque estándar. inmobiliaria de pantalla debe se ahorra tanto como sea posible pero permitiendo formato para reflejar la estructura lógica y el anidamiento de código.01 or 10. and so on.0111? + vnt1 ' Does vntResult = 21. las sangrías de anidamiento debe ser dos a cuatro espacios. depurar y mantener si las rutinas de conversión de tipo de Visual Basic se utilizaron en su lugar. Función devolver valores y variables globales que han cambiado por la rutina (especialmente a través de los parámetros de referencia) también deben describirse al principio de cada rutina. enumerar objetos de datos principal.BAS que contiene declaraciones de constante genéricas del proyecto Visual Basic.el sin embargo. Nota: La ventana de proyecto intrínsecamente describe la lista de archivos en un proyecto. Menos de dos espacios no muestra suficientemente . El propio código y los comentarios en línea o locales necesarios se describen la implementación. cuadros de diálogo. Más de cuatro espacios innecesarios y puede hacer que las instrucciones que se oculta o trunca accidentalmente. Por ejemplo: vnt1 = "10. control. base de datos y archivo de dependencias del sistema y así sucesivamente deben ser incluida al principio del módulo .01" : vntResult = vnt1 vntResult = vnt2 vntResult = vnt1 vntResult = vnt3 vntResult = vnt2 vntResult = vnt3 vnt2 = 11 : vnt3 = "11" : vnt4 = "x4" + vnt2 ' Does vntResult = 21. and so on and the affect it has (only if this is not obvious) cada declaración de variable no trivial debe incluir un comentario de en línea que describe el uso de la variable está declarada. como archivos de base de datos o de inicialización (ini).01 or 10. file. Comentario del encabezado rutina deben buscar bloques como este (consulte la sección siguiente "Formato el código" para obtener un ejemplo): Section Comment Description -------------------------------------------------------------------------Purpose What the routine does (not how). son algunos inconvenientes al uso de variantes. controles y rutinas deben tener un nombre lo suficientemente claro para que comentarios en línea sólo es necesario para detalles de implementación complejas o no intuitivo.01? + vnt3 ' Does vntResult = 21. basada en ficha. open file. por lo que esta sección de información general sólo se necesita proporcionar información sobre los módulos y los archivos más importantes o los archivos que no mostrar la ventana proyecto. Returns Explanation of value returned for functions. El código de formato Dado que muchos programadores utilizan todavía muestra VGA. Las variables. Instrucciones de código que utilizan variantes a veces pueden ser ambiguas para el programador. Por ejemplo: iVar1 = 5 + val(sVar2) vntVar1 = 5 + vntVar2 Comentarios del código ' use this (explicit conversion) ' not this (implicit conversion) Todos los procedimientos y funciones deben comenzar con un breve comentario que describe las características funcionales de la rutina (lo que hace). Una descripción de información general de la aplicación. Esta descripción debería describir no los detalles de implementación (cómo lo hace) porque estos suelen cambian a lo largo del tiempo. Inputs Each non-obvious parameter on a separate line with in-line comments Assumes List of each non-obvious external variable. rutinas y algoritmos.01? + vnt4 ' Does vntResult = 11x4 or ERROR? + vnt4 ' Does vntResult = 11x4 or ERROR? los ejemplos anteriores sería mucho menos ambiguo y fáciles de leer. lo trabajo de mantenimiento de comentario innecesarios o peor aún. comentarios erróneos. Parámetros pasados a una rutina deben ser descritos cuando sus funciones no son obvias y cuando la rutina espera los parámetros en un intervalo específico.01 or 1110. control.

rsTargetUser as String) _ As Integer Dim i As Integer ' loop counter Dim bFound As Integer ' target found flag iFindUser = -1 i = 0 While i <= Ubound(rasUserList) and Not bFound If rasUserList(i) = rsTargetUser Then bFound = True iFindUser = i End If Wend End Function variables y constantes no genéricas deben estar agrupadas por función en lugar de por va a dividir desactivar áreas aisladas o archivos especiales.anidamiento lógica. Variables globales pueden cree máquinas de estado enormemente complejos y realice la lógica de una aplicación extremadamente difíciles de entender. Las instrucciones de nivel más altos que siga el comentario de introducción deben ser una ficha con sangría. Con un signo más (+) con valores no numéricos. sub. puede causar problemas cuando funciona en las dos variantes. If target user not found. El comentario de introducción funcional de una rutina debe ser un espacio de sangría. Constantes genéricos de Visual Basic como el reloj de ARENA deben agruparse en un solo módulo (VB_STD. Variables en Visual Basic pueden tener el siguiente ámbito: Scope Variable Declared In: Visibility -------------------------------------------------------------------------Procedure-level Event procedure. En Microsoft Knowledge Base. 'Inputs: rasUserList(): the list of users to be searched ' rsTargetUser: the name of the user to search for 'Returns: the index of the first occurrence of the rsTargetUser ' in the rasUserList array. .01" 11 = vntVar1 + vntVar2 = vntVar1 & vntVar2 ' vntResult = 21. or Visible in the function procedure in which it is declared Form-level. con cada bloque anidado aplica sangría a una ficha adicional.FRM. return -1. Por ejemplo: ************************************************************************** 'Purpose: Locate first occurrence of a specified user in UserList array. Operadores Siempre utilice una y comercial (&) al concatenar cadenas y el signo más (+) cuando se trabaja con valores numéricos.0111 Siempre se deben definir las variables con el ámbito más pequeño posible. Declarations section of a form Visible in every Module-level or code module (. Por ejemplo: vntVar1 = vntVar2 = vntResult vntResult Ámbito "10.BAS) procedure in the form or code module Global Declarations section of a code Always visible . Utilice el cuadro de diálogo Opciones de entorno para establecer el ancho de la ficha predeterminado.01 ' vntResult = 10. utilizamos una sangría de espacio de tres. '************************************************************************** 'VB3Line: Enter the following lines as one line Function iFindUser (rasUserList() As String. Variables globales también que la reutilización y mantenimiento de su código mucho más difícil.BAS) para mantenerlos independiente de las declaraciones de específicos de la aplicación.

lo que puede tener acceso global mediante la sintaxis form.BAS.VBX Button (multiple) Button Command cmim MicroHelp cmimCommandButton MHEN200. Microsoft no otorga ninguna garantía.VBX Clock Clock clkm MicroHelp clkmClock MHTI200.VBX Callback Callback calm MicroHelp calmCallback MHAD200. sólo utilizar variables globales cuando no hay ninguna manera otro conveniente compartir datos entre formularios.VBX Combo Box SSCombo cbos Sheridan cbosComboBox SS3D2.VBX Button Button DB_Command cmdp Pioneer cmdpCommandButton QEVBDBF.VBX Animate Animate anim MicroHelp animAnimate MHTI200. Controles de terceros Nota: Los productos que se describen a continuación están fabricados por proveedores independientes de Microsoft. Esto ayuda a mantener el código de la aplicación organizado en componentes útiles y reduce su sobrecarga de tiempo de ejecución. como GLOBAL.VBX Button (Group) Command cmgm MicroHelp cmgmBtton MHGR200.VBX Check Box DB_Check chkp Pioneer chkpCheckBox QEVBDBF. Puede que desee almacenar información en propiedad de etiqueta del control. pasar argumentos a subrutinas y funciones mediante ByVal. a menos que explícitamente desee cambiar el valor del argumento pasado. si la aplicación muestra un cuadro de diálogo. Además. colocar todos los controles y código necesario para realizar tareas del cuadro de diálogo en un solo formulario.VBX Button Command cmdm MicroHelp cmdmCommandButton MHEN200. con respecto al rendimiento o confiabilidad de estos productos. Por ejemplo.VBX Button (icon) CardDeck CardDeck crdm MicroHelp crdmCard MHGR200.VBX Combo Box DB_Combo cbop Pioneer cbopComboBox QEVBDBF.VBX Chart Chart chtm MicroHelp chtmChart MHGR200.VBX List Box (Dir) SSDir dirs Sheridan dirsDirList SS3D2. es conveniente declarar todas ellas en un solo módulo y agruparlos por función. La tabla siguiente muestra caracteres de prefijo nombre de proveedor estándar de terceros para utilizarse con los prefijos de control: Vendor Abbv ------------------------MicroHelp (VBTools) Pioneer Software Crescent Software Sheridan Software Other (Misc) m p c s o la tabla siguiente muestra los prefijos de control de terceros estándar: Control Control Abbr Vendor Example VBX File Type Name Name -------------------------------------------------------------------------Alarm Alarm almm MicroHelp almmAlarm MHTI200. implícita o de otro tipo. Asignar el módulo de un nombre significativo que indique su propósito. using Global keyword) en una aplicación de Visual Basic. procedimientos y funciones globales sólo deben trabajar con objetos que se pasan a ellos. Escribir código modular siempre que sea posible.VBX . Variables globales que se utilizan en las rutinas deben identificarse en el área comentario general en el principio de la rutina.object. Si debe utilizar variables globales.BAS.VBX Dice Dice dicm MicroHelp dicmDice MHGR200.module (.property. Con la excepción de variables (que no deben pasarse).

VBX QEVBDBF.VBX MHAD200.VBX MHGR200.VBX MHEN200.VBX MHGR200.VBX QEVBDBF.VBX Fuente: http://support.VBX QEVBDBF.VBX QEVBDBF.com/kb/110264/es .VBX MHEN200.VBX QEVBDBF.VBX QEVBDBF.VBX MHAD200.VBX MHGR200.VBX MHTI200.VBX MHTI200.VBX QEVBDBF.VBX MHEN200.VBX MHEN200.VBX MHGR200.VBX MHTI200.VBX SS3D2.VBX XYGRAPH.VBX MHEN200.VBX MHEN200.VBX ??? MHEN200.VBX SS3D2.VBX MHGR200.VBX MHPR200.VBX MHAD200.VBX MHEN200.VBX MHTI200.VBX ??? MHGR200.VBX MHEN200.List Box (Drv) List Box (File) List Box (File) Flip Scroll Bar Gauge Graph Grid Scroll Bar Scroll Bar Graph Invisible List Box Key State Label Line List Box List Box MDI Child Menu Marque Picture Picture Picture Property Vwr Option (Group) Slider Button (Spin) Spreadsheet Picture Screen Saver Switcher List Box Timer ToolBar List Box Input Box Input Box Scroll Bar Scroll Bar SSDrive drvs Sheridan File List film MicroHelp SSFile fils Sheridan Flip flpm MicroHelp Form Scroll fsrm MicroHelp Gauge gagm MicroHelp Graph gpho Other Q_Grid grdp Pioneer Horizontal hsbm MicroHelp Scroll Bar DB_HScroll hsbp Pioneer Histo hstm MicroHelp Invisible invm MicroHelp Icon Tag itgm MicroHelp Key State kstm MicroHelp Label (3d) lblm MicroHelp Line linm MicroHelp DB_List lstp Pioneer SSList lsts Sheridan MDI Control mdcm MicroHelp SSMenu mnus Sheridan Marque mrqm MicroHelp OddPic odpm MicroHelp Picture picm MicroHelp DB_Picture picp Pioneer Property pvrm MicroHelp Viewer DB_RadioGroup radp Pioneer Slider sldm MicroHelp Spinner spnm MicroHelp Spreadsheet sprm MicroHelp Stretcher strm MicroHelp Screen Saver svrm MicroHelp Switcher swtm MicroHelp Tag tagm MicroHelp Timer tmrm MicroHelp ToolBar tolm MicroHelp Tree trem MicroHelp Input (Text) txtm MicroHelp DB_Text txtp Pioneer Vertical vsbm MicroHelp Scroll Bar DB_VScroll vsbp Pioneer drvsDriveList filmFileList filsFileList flpmButton fsrmFormScroll gagmGauge gphoGraph grdpGrid hsbmScroll hsbpScroll hstmHistograph invmInvisible itgmListBox kstmKeyState lblmLabel linmLine lstpListBox lstsListBox mdcmMDIChild mnusMenu mrqmMarque odpmPicture picmPicture picpPicture pvrmPropertyViewer radqRadioGroup sldmSlider spnmSpinner sprmSpreadsheet strmStretcher svrmSaver swtmSwitcher tagmListBox tmrmTimer tolmToolBar tremTree inpmText txtpText vsbmScroll vsbpScroll SS3D2.VBX MHAD200.VB MHGR200.VBX ??? SS3D3.microsoft.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->