|
METODOS
CalcUserID CalcUserID(Uname:string):dword;
Calcula un número (equivalente al InstallCode) en base al nombre del usuario pasado como parámetro. Este número es utilizado en la estrategia de bloqueo basado en el nombre de usuario.
Check procedure Check;
Lee la información de registración. Si el estado es expirado entonces invoca la forma de registración y después termina la ejecución del programa.
Checkkey function Checkkey(m,v, rkey:string):boolean;
Este método retorna true si la clave de registración (RegKey) pasada como parámetro "rkey" es correcta y el módulo dentro de la clave corresponde con el parámetro "m" pasado y la version dentro de la clave coincide con el parámetro "v" pasado. Si no desea chequear estos valores asigne 9999 a "m" y 0 a "v".
Decode function decode(m,v,a:word;ic,rkey:string;var dat,day,users,modul,ver,kind:word;var icode:string):integer;
Este método desencripta la clave de registración (RegKey) pasada en el parámetro "rkey" y retorna sus valores internos dentro de varios parámetros de salida, luego compara estos valores con los pasados como parámetros y retorna un código de error si estos no coinciden.
parámetros de entrada:
rkey es la clave de registración y m,v,a y ic se proveen para ser comparados con los existentes dentro de la clave de registración (RegKey).
rkey : es la clave de registración.
m : el módulo Ingrese 9999 si no desea chequear el módulo.
v : la versión . Ingrese 0 si no desea chequear la versión.
a : el AppID Ingrese 0 si no desea chequear el AppID.
ic : install code Ingrese un string vacío '' si no desea chequear el InstallCode.
parámetros de salida:
Estos valores son extraidos de la clave de registración RegKey. pasada en el parámetro "rkey".
dat : Fecha de inicio del periodo de registración
day : días del periodo autorizado
users : número máximo de usuarios simultaneos permitidos
modul : número del módulo (0..255)
ver : Versión de la aplicación
kind : Clase de estrategia de bloqueo 1=InstallCode based, 2=UserName based
icode : InstallCode
returned value:
Esta función chequea los valores pasados en los parámetros y retorna un valor entero que pueden ser los siguientes:
0 : No hay error. todos los valores chequeados coinciden.
1: Longitud de clave erronea
2: Instal code no coincide
3: Error de validación
4: AppID no coincide
5: Version no coincide
6: Módulo no coincide
DecodeIcode function decodeicode(icode:string; var cpu, bios, hd:byte):string;
Este método decodifica el InstallCode pasado en el parametro icode en formato extendido (13 dígitos) y retorna valores de la máquina de la que proviene, dentro de los parámetros cpu, bios and hd.
DecodeMods procedure DecodeMods(var ModsMemo:Tmemo);
Este procedimiento lee valores para todos los módulos desde el fichero avconfig.ini y la información de registración del registro local o el RegFile y vuelca esta información dentro del parámetro TMemo "ModsMemo". Este procedimiento es utilizado para rellenar el area "Modules" en la forma de registración. Para más detalles vea el ejemplo Demo3.
DoExecute function DoExecute: boolean;
Este método muestra la forma de registración estándar. Puede llamarla para invocar la forma de registración en cualquier lugar delprograma. El método Execute lo llama para mostrar la forma de registración. Esta función retorna True si el usuario presiona el botón [Continue] o registra con exito una clave de registracion. Para más información vea las aplicaciones Demo1 y Demo2.
DoMasterReg function DoMasterReg(keylist:Tstrings;AName,ACompany:string):boolean;
Realiza la registración para el ordenador maestro con los valores pasados en sus parámetros:
KeyList: TStrings con la lista de claves de registración a registrar.
AName: String con el nombre de usuario.
ACompany: String con la compañía.
Para más detalles sobre cómo usar esta función vea el ejemplo Demo3.
DoRegularReg function DoRegularReg(AName,AKey:string):boolean;
Realiza la registración para un ordenador regular con los valores pasados en sus parámetros:
AName: String conel nombre4 de usuario.
AKey: Clave de registración RegKey a ser registrada..
Para más detalles sobre cómo usar esta función vea el ejemplo Demo3.
EraseReg function EraseReg(modul:byte):boolean;
Este método borra los datos de registración del registro local o el RegFile para el módulo pasado en el parámetro "modul", si modul=0 (modulo principal) todos los datos de registración son borrados, por lo tanto, la siguiente vez que se ejecute el programa este se reiniciará como trial o expirado dependiendo de la configuración.
Execute procedure Execute;
Este método realiza todas las funciones necesarias para convertir su programa en una aplicación trial limitada en tiempo. Cuando este se ejecuta por primera vez en un ordenador inicializa el RegFile o el registro local de acuerdo con los valores de las propiedades TrialBeginDate y TrialDays. Este procedimiento chequea el estado de registración y si la aplicación no está registrada todavía muestra la forma de registración dando al usuario la posibilidad de registrarse. Si el estado es expirado el botón [Continue>>] queda desactivado forzando al usuario a registrarse o abandonar el programa. Para más detalles vea las aplicaciones Demo1 y Demo2.
Exticode function Exticode(icode:string):string;
Este método convierte un Installcode normal de 6 dígitos al formato extendido de 13 dígitos. Los dígitos extra contienen valores provenientes de la máquina (CPU ID, BIOS SN and HD SN), así cuando el usuario reclama un nuevo juego de claves de registración afirmando que su máquina se ha dañado, Ud. puede determinar si el nuevo InstallCode recibido pertenece al mismo ordenador o no y que parte de la máquina fue cambiada.
GenRegularKey function GenRegularKey(AKind:word;AAppID:dword;AiCode:string; Adays:word;
Ausers:byte; Abegindate:tdate; Amodule:byte):string;
Existen dos clases de claves; Regulares y Genéricas. Esta función retorna una clave de registración regular RegKey calculada con los valores pasados en los parámetros.
Parámetros de entrada:
AKind: La estrategia de bloqueo: 1 = InstallCode Based, 2 = UserName Based.
AAppID: El número AppID.
AiCode: Para AKind=1, coloque aquí el valor de InstallCode.
Para AKind=2, calcule este valor como sigue:
usrid := CalcUserID(uppercase(EdName.Text));
AiCode := inttohex((usrid mod 16000000),6);
Adays: días del periodo autorizado o maxword para claves permanentes.
Ausers: Numero de usuarios autorizados o 0 para claves "unregister".
ABeginDate: La fecha inicial del periodo autorizado (maxword para una clave permanente)
AModule: El número del módulo. 0 para el módulo principal o 1 a 244 para módulos extra.
Este es un ejemplo para una clave permanente:
MyKey := GenRegularKey(1,25021,'027FDC',maxword,1,maxword,0);
GenGenericKey GenGenericKey(AAppID:dword; AAppVersionID:word; Adays:word;
Ausers:byte; Abegindate:tdate; Amodule:byte):string;
Este método retorna una clave genérica calculada con los valores pasados en los parámetros.
Parámetros de entrada:
AAppID: El número AppID.
AAppVersionID: El número de versión AppVersionID.
Adays: días del periodo autorizado o maxword para claves permanentes.
Ausers: Numero de usuarios autorizados o 0 para claves "unregister". .
ABeginDate: La fecha inicial del periodo autorizado (maxword para una clave permanente)
AModule: El número del módulo. 0 para el módulo principal o 1 a 244 para módulos extra.
Este es un ejemplo para una clave permanente:
MyKey := GenRegularKey(25021,1,maxword,0);
GetICode function GetICode:string;
Esta función obtiene el valor de InstallCode, desde la máquina para el ordenador maestro y desde el RegFile para ordenadores regulares.
GetText1 function GetText1:string;
Este método obtiene el mensaje de texto apropiado para ser mostrado como texto de expiración en la forma de registración. El texto obtenido depende del estado de registración y los valores preestablecidos son:
Antes de expirar "Days left to expire : nn".
Después de expirar: "Trial period expired".
Para más detalles vea el programa Demo3.
GetText2 function GetText2:string;
Este método obtiene el texto apropiado para el area de mensajes en la parte superior de la forma de registración. Los valores preestablecidos son:
Antes de registrar, para TrialMode = tmNone: "ThankYou for trying + APPNAME +. To start with your free trial period please request your Registration Key.".
Antes de registrar, para TrialMode <> tmNone y no expirado: "ThankYou for trying + APPNAME +. If you find this program useful please register.".
Antes de registrar, trial expirado: "Trial period expired! If you want to continue using this program please register it.".
Después de una registración temporal: APPNAME +. ". This copy is authorized until the day + EndDay
Después de una registración temporal y el periodo autorizado terminará en breve: "Warning! You have modules that will be expiring shortly. If you want to continue using these modules please renew your registration."
Después de una registración permanente: APPNAME +. This copy is registered to + UserName
Para más detalles vea el programa Demo 3.
GetName function GetName(var AName,ACompany:string):boolean;
Obtiene los valores de UserName y Company. Solicitandolos al usuario o recuperandolos de Windows.
Para más detalles vea el programa Demo 3.
LoadLangList procedure LoadLangList(langfile:string);
Este método agregado en v5.1 agrega una manera muy fácil de cambiar todos los mensajes de texto del componente.
Vea la sección "How to translate AVLock Gold to any language".
MakeTrial procedure MakeTrial;
Este método automáticamente genera y registra una clave que establece un periodo trial. Maketrial debe ser invocado solo cuando la propiedad FirstTime es True . Para más detalles vea el programa Demo 3.
ModuleOk ModuleOk(n:byte):boolean;
Este método lee la información de registración de un módulo n dado del registro local o del RegFile y retorna True si el módulo está registrado permanentemente o está dentro del periodo autorizado, en caso contrario retorna False (módulo expirado). Para más detalles vea los programas Demo2 y Demo 3.
NotShow function TAVLockGold.NotShow:boolean;
Retorna True si la forma de registración no necesita ser exhibida.
Para más detalles vea los programas Demo3 y Demo 4.
NormIcode function normicode(icode:string):string;
Este método convierte un Installcode de formato extendido de 13 dígitos al formato normal de6 dígitos.
Read procedure Read;
Este método lee la información de registración del registro local o del RegFile y pone estos valores dentro de las propiedades del componente.
Si el valor de AccessMode es 2 (MasterComputer) o 1 (Registered RegularComputer) entonces Read obtiene la información del RegFile dentro del directorio de la aplicación, en caso contrario el valor de AccessMode es 0 (Trial period in RegularComputer) entonces Read obtiene la información del registro local.
Estas son las propiedades cuyos valores son asignados por el procedimiento Read:
RegUserName
Company
LocalUserName
LocalCompany
LastDate
InstallCode
MaxUsers
Days
Registered
Authorized
Expired
BeginDate
EndDate
RegisterKey procedure RegisterKey((key,usrname,org:string):boolean;
Este método puede ser utilizado para registrar una aplicación proveyendo los valores de la clave de registración "key", el nombre del usuario "usrname" y la compañía "org".
WriteLastDate procedure WriteLastDate;
Este método escribe la última fecha del sistema dentro del RegFile o dentro del registro local. Este procedimiento es llamado por el método execute para obtener la {ultima fecha alcanzada por la aplicación, así, si el usuario atrasa la fecha del sistema y la propiedad AllowBackDate es false, entonces la aplicación queda expirada. Para más detalles vea el programas Demo3.
Si hay algo que no quedó claro o tiene preguntas no respondidas por esta ayuda, por favor no dude en contactarnos en nuestro sitio http://valega.com/contacto.php.
|