1) Calcular y Presentar estadísticas de ejecución al final de cada

Anuncio
INTRODUCCIÓN AL E-PRIME
Ángel Correa Torres
Universidad de Granada
Manual actualizado en enero de 2010
http://www.ugr.es/~act/blog/neurocog/neurocog.html
Índice
1. Introducción.
2. Construyendo la estructura básica de un experimento: E-Studio
3. Depurando el experimento
4. Consejos
5. Corriendo el experimento: E-Run
6. Recopilando ficheros de datos: E-Merge
7. Analizando los datos: E-DataAid
8. Programando con código: E-Basic
1. Introducción.
Este manual es un resumen en castellano de la guía de inicio rápido que viene
con e-prime. Como experimento se ha utilizado el mismo ejemplo de dicha
guía. Antes de empezar a leer este manual lo ideal es echar un vistazo a la
Getting Started Guide que viene con este producto y puedes encontrar en:
http://personal.bgsu.edu/~randers/e-prime.htm
En dicha guía se describen algunas operaciones muy básicas que aquí pueden
haberse obviado.
- Recursos para usuarios de e-prime:
**http://step.psy.cmu.edu/materials/manuals/eprime.ppt
http://step.psy.cmu.edu/
http://support.pstnet.com/forum/Forum3-1.aspx
http://groups.google.com/group/e-prime/
- Qué programas incluye e-prime: E-Studio (diseño de experimentos), E-Run
(corre experimentos. Nota: se recomienda no usar E-estudio para correr
experimentos!!), E-Merge (combina datos de varios sujetos o sesiones), EDataAid (analiza datos), E-Recovery (recupera datos al formato de E-DataAid
cuando no se grabaron correctamente).
- Qué novedades aporta e-prime 2: presentación de vídeos (formatos MPEG,
AVI, WMV), copiar y pegar objetos de un experimento a otro, registro vocal con
micrófono, presentación de imágenes en formatos alternativos al BMP (JPEG,
PNG, etc.).
- Desventajas de e-prime 2: INCOMPATIBILIDAD. E-prime 2 no permite
guardar un experimento en formato e-prime 1. Por tanto, si programas un
2
experimento con e-prime 2 no lo podrás abrir con e-prime 1. Un experimento
que ha sido programado con e-prime 1 sí se puede abrir con e-prime 2, pero si
le haces alguna modificación entonces lo tienes que grabar forzosamente en
formato e-prime 2. Otro problema que tenemos en el departamento es que el
programa de instalación que nos han dado los de e-prime no es tan 'seguro'
para e-prime 2, y es frecuente que al cabo de un tiempo de repente el
programa nos pida la llave USB para que validemos la instalación (esto es muy
fastidioso si te ocurre cuando estás de estancia en el extranjero!).
Consejo: instala ambas versiones. Si tu experimento no requiere el uso de eprime 2 (que presentes vídeos), usa e-prime 1 para no tener problemas de
comunicación con otros colegas.
1.1. Exploramos el entorno de E-Studio: Abre el programa e-studio y localiza
las siguientes ventanas o áreas de trabajo: Toolbox, Structure y Espacio de
Trabajo (normalmente podremos prescindir del resto de ventanas, que pueden
activarse en cualquier momento, en “view”).
- Vocabulario básico:
* Variable: magnitud que puede tener un valor cualquiera de los comprendidos
en un conjunto.
* Objeto: elemento básico de un experimento. Sirven para controlar aspectos
como la presentación de estímulos (TextDisplay, SoundOut, Slide,
MovieDisplay), distribución de condiciones experimentales (List), o la
secuenciación de los eventos (Procedure, Inline). Aparecen en la Toolbox y se
insertan en la estructura arrastrándose con el ratón: se pueden mover o hacer
copias idénticas dependientes (ratón izquierdo; la modificación del objeto afecta
a todas las copias idénticas dependientes), o copias independientes (ratón
izquierdo+Control; es decir, que las versiones de un objeto se pueden modificar
de forma independiente).
* Propiedades: parámetros que definen a los objetos (duración, tamaño,
localización espacial en la pantalla, etc.)
* Atributos: variables principales del experimento. Son las columnas que
aparecen en el objeto List, suelen referirse a variables que se manipulan o se
controlan (condición experimental, tipo de estímulo, CorrectAnswer). En las
propiedades de un objeto se puede llamar a uno de estos atributos,
3
escribiéndolo entre corchetes. Ejemplo: el estímulo que se presenta como
Target será diferente según la condición experimental, el cual se define en un
atributo de la TrialList (“TargetStim”). En la propiedad “Text” del objeto
TextDisplay llamado “Target”, habría que escribir: [TargetStim]. El valor de este
atributo, en algunos ensayos será el nombre “pepe”, y en otros “maría”.
1.2. Especificando nuestro experimento.
Abre el archivo “tutorial.ebs”. En la ventana “Structure” observamos la
estructura del experimento. Concretamente, está compuesto del procedimiento
general (SessionProc), pantalla de instrucciones, lista de bloques (BlockList),
lista de ensayos (TrialList), procedimiento dentro de un ensayo (TrialProc) en el
que se suceden la serie de eventos que conforman un ensayo (Prime, Fixation,
target, feedback).
El primer objeto que aparece en dicha ventana “Structure” es “Experiment”.
Haciendo doble click sobre el mismo accedemos a la ventana de propiedades.
Destacamos las pestañas “General”, “Startup info” y “Devices”.
En la pestaña “General” podemos incluir un resumen del experimento.
Lógicamente, antes de empezar a programar hemos de tener claros una serie
de aspectos, que podemos incluir en este apartado llamado “abstract” (que
además nos podría servir para comunicarnos con otros investigadores).
Resumiremos de forma clara:
- Pregunta de investigación e hipótesis
- Concretamos los parámetros del procedimiento (eventos de un ensayo,
número de ensayos, bloques)
- Operacionalizamos el diseño y estrategia de análisis de datos.
En nuestro ejemplo:
PREGUNTA DE INVESTIGACIÓN: Estudio de los prejuicios de género medido
con una tarea de priming semántico.
HIPÓTESIS: Si existe prejuicio de género, observaremos un efecto de
facilitación o priming sobre la ejecución (menor TR o más aciertos) en la
condición de pares congruentes (puros-pepe, fútbol-pepe; flores-maría,
plancha-maría) en relación con la condición de pares incongruentes (e.g.,
flores-pepe).
4
PROCEDIMIENTO: prime durante 500 ms, punto de fijación durante 1000 ms,
target de 1000 ms (50% de ensayos la palabra 'pepe' y 50% “maría” que
recoge la respuesta, feedback durante 1500 ms. 1 Bloque de práctica + 6
experimentales, de 8 ensayos por bloque, dando lugar a un mínimo de 10
observaciones en la condición más infrecuente (nogo).
DISEÑO: Sexo del Prime (masculino, femenino) x Sexo del target (masculino,
femenino). Esperamos menor TR y/o errores cuando hay congruencia de sexo
de acuerdo a las creencias o prejuicios (es decir, que para el sujeto, el fútbol
claramente denote sexo masculino). También se manipuló la valencia del prime
(positivo: e.g., flores, negativo: e.g., plancha o puros) para ver si tenía un efecto
(¿los primes que aluden a emociones positivas tienen mayor efecto de
facilitación que los de negativas?)
En la pestaña “Startup info” especificamos la información que queremos
obtener de nuestros participantes. Nada más comenzar el experimento
podemos incluir información sobre edad, sexo, etc.
En la pestaña “Devices” podemos ver y modificar las propiedades de los
dispositivos de presentación de estímulos (monitor, “altavoces”) y de recogida
de respuesta (teclado, ratón, micrófono, caja de respuestas – dado que el
teclado y sobre todo el ratón son relativamente imprecisos en el registro del TR,
pues se puede producir un retraso y cierta variabilidad; esto en condiciones
generales no supone un gran problema, pero sí lo es en estudios de activación
cerebral o muscular asociada a la ejecución de una respuesta, como por
ejemplo el potencial evocado “negatividad asociada al error” – “ERN” en inglés;
o el uso de joystick – esto es una novedad del e-prime 2).
**NOTA IMP: es bastante frecuente que al correr el experimento en un
ordenador por primera vez no funcione porque haya que ajustar los parámetros
de los “devices” al hardware del ordenador que se esté usando. Es decir, según
la tarjeta gráfica y de sonido, habrá que adaptar la resolución de la pantalla o
los parámetros de presentación de sonidos (canales, muestras, bits por
muestra).
2. Construyendo la estructura básica de un experimento: E-Studio
5
- Rellenamos el objeto Procedure llamado “SessionProc” con los objetos List
“CounterbalanceList”, TextDisplay “Instructions” (repasar propiedades, poner
Duration: -1 (dura hasta que se pulse una tecla) y añadir “InputMask”, BlockList,
TrialList (incluir sólo 1 ensayo), TrialProc (incluir toda la secuencia de eventos –
prime, fixation, target, feedback), “Break” y “Bye”.
- Grabamos el experimento. Es muy recomendable hacerlo frecuentemente
durante la programación.
- “Generamos” el experimento (icono “Generate”) y comprueba que la
compilación fue correcta (‘view’ -> ‘Output’).
- “Corremos” el experimento para ver qué aspecto tiene. Dado que se trata de
una prueba, puedes correrlo directamente desde E-Studio pinchando el icono
que ilustra un hombrecillo corriendo. ¡Recuerda usar el programa E-Run para
correr el experimento real con una buena precisión temporal!
3. Depurando el experimento
3.1. TrialList. Definimos las condiciones experimentales en la TrialList de
acuerdo a nuestro diseño:
a) Add Multiple Atribbutes (6): “PrimeGender, PrimeType, TargetGender,
PrimeStim, TargetStim, CorrectAnswer”. A veces, atributos con información
redundante (ej.: PrimeGender) nos facilitan el análisis de datos, ya que a los
nombres de las condiciones les damos un significado más claro (ej.: ‘masculino’
puede ser más inteligible que el valor ‘puros’).
b) Add Multiple Levels. Necesitamos 8, para la combinación factorial de
Prime Gender (2) x PrimeType (2) x Target Gender (2). Introducimos
cuidadosamente los diferentes niveles con sus valores para cada una de las 8
condiciones. Aquí es fácil equivocarse: se recomienda comprobar
concienzudamente el resultado final de esta lista (también se puede usar la
utilidad que trae e-prime “FactorTableWizard”).
- Exploramos las propiedades: Selection (Order: Random), Reset (Sampling),
Exit List (lo cambiamos a “After 3 samples”, mientras estamos programando y
comprobando).
- Corremos el experimento para comprobar los nuevos cambios: cómo son las
nuevas condiciones (para una comprobación más estricta, se puede cambiar la
6
propiedad Selection, Order a “Sequential”, y anticipar así qué debe ocurrir en
cada ensayo).
3.2. BlockList. Definimos los bloques de práctica y experimentales en la
BlockList.
a) Add Multiple Atribbutes (3): “Practice, EndPracDur, FeedbackCol”
b) Add Level: (la 1ª fila será para el bloque de práctica y la 2ª para el
experimental). En el experimental tenemos 6 bloques: poner 6 en el “weight”
- Exploramos las propiedades de este objeto nuevamente (observa que en la
BlockList, el orden de presentación de los bloques suele ser secuencial:
Selection, Order: Sequential).
3.3. CounterbalanceList. Añadimos los atributos y contrabalanceamos por
grupos si procede (en este caso, contrabalancearemos la tecla de respuesta)
a) Add Multiple Atribbutes (3): “MaleKey, FemaleKey, PrimeDur”
b) Add Level: A MaleKey le damos valor “1”, y en la fila de abajo el valor
“2”. En propiedades ponemos: Counterbalance Selection by Subject. Así el
sujeto 1 (y todos los impares) usarán la tecla “1” para responder cuando el
target sea masculino (los sujetos pares en este caso usarán el “2”)
3.4. Repaso y comprobaciones finales
- Repasamos las pantallas de instrucciones, break y despedida.
- ‘Correr mentalmente’ el experimento: es una buena práctica hacer un
recorrido por todos los objetos que aparecen en la ventana de Structure e
intentar predecir qué es lo que hará nuestro programa. Esto ayuda a
comprender cómo funciona e-prime, a conocer dónde y cómo hay que colocar
los objetos, y a comprobar y detectar errores en el programa.
- Corremos el experimento hasta el final, usando una versión acortada (con
sólo 3 ensayos por bloque).
3.5. Algunas funciones útiles:
- Formas alternativas de introducir respuestas: {ANY}, {SPACE} , flechas
({UPARROW}, {DOWNARROW}), en blanco, varias respuestas, textos
- Usar Slides, y manipular su ActiveState (y usar la propiedad “transparent”)
- Recoger respuestas de anticipaciones usando el objeto Label y la función
Jump.
- Manipulación entre bloques en lugar de ensayo a ensayo.
7
4. Consejos
- ¡Cuida a tus sujetos! cuidando los aspectos formales del experimento (tamaño
de estímulos adecuado, usa colores oscuros en lugar de muy brillantes para
prevenir la fatiga visual, incluye descansos frecuentes, procura que la duración
del experimento no sea mayor de 40-45 minutos si la tarea es compleja o
monótona o requiere gran esfuerzo mental, evita las transiciones bruscas o
‘raras’ entre eventos de un ensayo (ej.: aparece un punto de fijación, luego el
estímulo, que el ejecutar la respuesta tenga una consecuencia palpable para el
sujeto como la desaparición del target, usa una pantalla en blanco de unos 500
ms para delimitar el final de un ensayo con el comienzo del siguiente, etc.)
- Sé tú mismo el primer sujeto experimental, y realiza el experimento
COMPLETO HASTA EL FINAL. Todos los que nos hemos precipitado con
prisas por empezar a pasar sujetos, hemos pasado por la experiencia
desagradable de tener que empezar de nuevo y tirar a la basura datos de un
montón de sujetos, por culpa de un fallo tonto por no repasar bien. La moraleja
es clara: invertir tiempo en las comprobaciones antes de empezar a correr los
sujetos reales, ahorra mucho tiempo. Además, el realizar uno mismo la tarea
siempre te ayuda a pensar sobre tu propia investigación y refinar la tarea: se
ocurren nuevas manipulaciones, se tiene la “impresión” de qué parámetros son
los que mejor funcionarían...todo esto es experiencia que también se va
adquiriendo y acumulando.
- Analiza tus propios datos antes de empezar el experimento real,
comprobando que has nombrado correctamente tus variables, que el número
de ensayos por condición es el que tenías planeado, que no sale un patrón de
datos muy extraño (ej., TR excesivamente altos o bajos - <100ms).
- A lo largo de tu carrera investigadora, no dejes de plantearte la pregunta
siguiente: ¿Hay algún diseño más sencillo que sirva para contestar mi pregunta
científica? Muchas veces tendremos la tentación de querer manipularlo todo y
obtener mucha información en tan sólo un experimento, o nos dejaremos llevar
por la inercia de un procedimiento experimental que es tradición en una línea o
grupo de investigación a pesar de que el diseño es muy complejo, los
resultados dan lugar a interacciones difíciles de interpretar o muchas
explicaciones alternativas, etc. La necesidad de usar diseños muy simples es
obvia en la investigación de Neurociencia, donde la riqueza del dato hace
8
mucho más compleja la labor de análisis. ¿Cuál es el diseño ideal? En términos
muy generales, debería de ser un diseño 2 x 2. Esto es fácil de comprobar
echando un vistazo al diseño de las investigaciones más importantes en el
campo y a los artículos que suelen aparecer en las revistas más punteras y de
interés general.
5. Corriendo el experimento: E-Run
Cuando generamos el experimento, en la carpeta de nuestro experimento se
genera un archivo tipo E-Run Script File (con el icono del muñequito corriendo).
Abre este archivo y pulsa el icono “Run” o la tecla “F7”.
- Para pausar o abortar el experimento, pulsa: Shift+Control+Alt
- Asegúrate de que no hay ningún otro programa abierto más que el E-Run, de
que no hay virus, y de que el ordenador no esté conectado a internet.
6. Recopilando ficheros de datos: E-Merge
- Abre E-Merge y navega por la ventana de Folder Tree hasta encontrar la
carpeta del experimento. Pulsa primer icono de la izquierda “Select Unmerged”,
comprueban que se han seleccionado todos los sujetos que quieres analizar y
luego pulsa “Merge”, Standard Merge, y nombra el fichero (ej. el mismo nombre
de tu experimento)
7. Analizando los datos: E-DataAid
Abre el fichero tipo Merge que has creado en el paso anterior. Verás una hoja
de datos parecida al Excel, con los atributos ordenados por columnas, y los
ensayos y sujetos en las filas (recórrelas comprobando que están todos los
sujetos).
Nota: Aunque es posible analizar los datos directamente con E-DataAid hasta
llegar a la tabla de promedios que usaremos en el ANOVA (ver 7.2), se
recomienda que además se exporten a Excel todos los datos brutos del
experimento. Así, los datos pueden ser analizados en cualquier momento o por
cualquier persona que no tenga e-prime instalado.
7.1. Exportando los datos brutos a Excel:
- Pincha el icono “Export” y selecciona Excel. Se genera un fichero de texto que
se abre con Excel.
9
7.2. Analizando:
- Pincha en el icono de la calculadora “Analyze”. Arrastra la variable
"PrimeGender" a la ventana de Rows, y "TargetGender" a Columns. En Data
ponemos Target.RT:Mean. Pinchamos en Filter, seleccionamos Target.ACC, y
en CheckList hacemos click en “1”, close. Pinchamos Run y nos sale la tabla de
datos promediados a través de los sujetos. Esto lo podemos exportar a Excel,
incluso añadiéndole rápidamente una gráfica. Pinchamos en Display mode
“Plot” y luego “Excel Plot”. Si estamos contentos con el modo de presentación
de los datos, volvemos a la Table y pinchamos “Close”: arriba a la izquierda
damos un nombre a este análisis “RT_PrimeGender x TargetGender” y
pinchamos “Save Analysis”. Se crea un fichero “.anl” con estos parámetros de
análisis, que se puede usar para enseñarle al sujeto de forma instantánea sus
propios datos en cuanto acabe el experimento.
- Para comprobar el número de ensayos por condición experimental se hace
doble click en Target.RT:Mean y se cambia a “Count”.
- Para obtener la tabla de medias por condición experimental para cada sujeto,
es decir, la que usaremos para el ANOVA, sólo hay que meter la variable
“Subject” en la ventanita de Rows, y moverla para que quede en primer lugar.
Arrastramos "PrimeGender" a las columnas, para que queden en filas las
variables manipuladas entre grupos, y en las columnas las manipuladas
intrasujeto.
8. Programando con código: E-Basic
Veamos algunos ejemplos que ilustran funciones y comandos de Visual
Basic que usa e-prime, que nos permiten una mayor flexibilidad para
hacer tareas bastante frecuentes. En la pestaña de help hay una sección
de ayuda dedicada a E-Basic.
8.1. Presentar un estímulo con una duración aleatoria (ej. el punto
de fijación)
a) En CounterbalanceList, añadir el atributo “FixationDur” y darle un
valor (750)
b) Al principio de cada ensayo, meter un objeto inline (lo llamaremos
“FixDur”) que le dice a e-prime: Asigna al atributo la suma del valor que
1
tenía mas un valor aleatorio entre 0 y 1000 (milisegundos). Copia el
siguiente texto que aparece en cursiva y pégalo en el inline:
Randomize
c.SetAttrib "FixationDur", (c.GetAttrib("FixationDur") + Random(0, 1000))
'Para comprobar que la orden funciona correctamente:
MsgBox c.GetAttrib("FixationDur")
8.2. Coger la duración de la tasa de refresco del monitor:
Este valor se puede usar para presentar con buena precisión temporal
estímulos visuales con la duración mínima que el monitor permite (si
este valor son 16 ms una buena regla es restar unos 10 ms...ver capítulo
de timing)
a) Al principio del experimento, en user’s script window, declarar la
variable:
Dim RefreshDur as Double
b) En un inline (ej. Al principio del experimento) meter lo siguiente, que
asigna el valor de la duración de una tasa de refresco del monitor a la
variable que has creado en el user script (RefreshDur):
RefreshDur = Display.RefreshDurationStats.Mean
8.3. Calcular y presentar estadísticas de ejecución al final de cada
bloque.
* Utilidades:
- motivar al sujeto
- podemos ir ajustando la dificultad de la tarea en función de la ejecución
de cada sujeto (procedimiento psicofísico llamado ‘staircase’).
- repetir el bloque de práctica hasta que el sujeto no alcance un criterio
de ejecución mínimo establecido.
**NOTA IMP: Para que esto funcione, el objeto que recoge la respuesta
(target) ha de durar todo el intervalo de respuesta (con la duración actual
de sólo 100 ms este procedimiento no recoge nada más que las
estadísticas para respuestas menores que 100 ms, por lo que
generalmente no funcionaría).
* Pasos generales:
a) Al principio del experimento, se declaran las variables que acumularán
los datos a lo largo del bloque
11
b) Al empezar cada bloque, se pone a cero el contador de dichas
variables
c) Al final de cada ensayo, se añaden los datos de ejecución de dicho
ensayo
d) Al final del bloque, se presentan las estadísticas.
* Pasos concretos:
a) user’s script window:
Dim TargetACC as Summation
Dim TargetRT as Summation
b) Inline (called “Reset”) in BlockProc (before “TrialList” object)
Set TargetACC = New Summation
Set TargetRT = New Summation
c) Inline (“Counter”) after feedback (at the end of trial)
TargetACC.AddObservation c.GetAttrib("Target.ACC")
'Para que en el TR sólo computen los ensayos con respuesta correcta
If If Target.RT > 0 and Target.ACC = 1 then
TargetRT.AddObservation c.GetAttrib("Target.RT")
End If
d) Inline (“Stats”) at the end of the block procedure:
MsgBox "TIEMPO DE REACCIÓN MEDIO DE ESTE BLOQUE: " &
Int(TargetRT.Mean) & " milisegundos. (Pulsa Barra espaciadora)"
MsgBox "PORCENTAJE DE RESPUESTAS CORRECTAS: " &
Int(TargetACC.Mean*100) & "%"
8.4. Mandar un código (trigger) justo cuando e-prime carga un
objeto.
* Utilidades:
- Marcar con gran precisión temporal el inicio de un evento para el
análisis de potenciales evocados: presentación de un estímulo (target en
nuestro ejemplo) o ejecución de una respuesta.
- Comunicarse mediante el puerto con otros dispositivos, por ejemplo:
que controlan la presentación de estímulos (vibrador táctil, sintetizador
de imagen, sonido, etc.), eye-tracker, polígrafos, etc.
1
a) Al principio del experimento (en el primer Proc), meter el siguiente
“inline” (que llamamos “TriggerON” para asignar el(/los) objeto que
enviará por el puerto (dirección 888) una señal de encendido y otra de
apagado al principio y final del objeto.
Target.OnsetSignalEnabled = True
Target.OnsetSignalPort = 888
Target.OnsetSignalData = 1
Target.OffsetSignalEnabled = True
Target.OffsetSignalPort = 888
Target.OffsetSignalData = 0
b) En la TrialList, añadir el atributo “TargetCode”, y asignar códigos diferentes
para cada condición experimental.
c) Antes de nuestro evento de interés - el target (ej. Al principio del TrialProc),
metemos el inline (“CodeAssignment”) siguiente:
Target.OnsetSignalData = c.GetAttrib("TargetCode")
8.5 Aleatorizar presentación de letras (Mayo 08)
Dim Digit(20) as String
Digit(0)="B"
Digit(1)="C"
Digit(2)="D"
Digit(3)="F"
Digit(4)="G"
Digit(5)="H"
Digit(6)="J"
Digit(7)="K"
Digit(8)="L"
Digit(9)="M"
Digit(10)="N"
Digit(11)="P"
Digit(12)="Q"
Digit(13)="R"
Digit(14)="S"
Digit(15)="T"
Digit(16)="V"
Digit(17)="W"
Digit(18)="X"
1
Digit(19)="Y"
Digit(20)="Z"
RandomizeArray Digit
If c.GetAttrib("Load")="High" then
c.SetAttrib "Digit1", Digit(0)
c.SetAttrib "Digit2", Digit(1)
c.SetAttrib "Digit3", Digit(2)
c.SetAttrib "Digit4", Digit(3)
c.SetAttrib "Digit5", Digit(4)
c.SetAttrib "Digit6", Digit(5)
If c.GetAttrib("Match")="Yes" then
c.SetAttrib "Probe", Digit(Random (0,5))
'
MsgBox c.GetAttrib("Probe")
End if
If c.GetAttrib("Match")="No" then
c.SetAttrib "Probe", Digit(Random(6,20))
'
MsgBox c.GetAttrib("Probe")
End If
End if
If c.GetAttrib("Load") = "Low" then
c.SetAttrib "Digit1", Digit(0)
c.SetAttrib "Digit2", Digit(1)
c.SetAttrib "Digit3", Digit(2)
c.SetAttrib "Digit4", Digit(3)
c.SetAttrib "Digit5", Digit(4)
c.SetAttrib "Digit6", Digit(5)
c.SetAttrib "Digit1", c.GetAttrib("Digit1")
c.SetAttrib "Digit2", c.GetAttrib("Digit1")
c.SetAttrib "Digit3", c.GetAttrib("Digit1")
c.SetAttrib "Digit4", c.GetAttrib("Digit1")
c.SetAttrib "Digit5", c.GetAttrib("Digit1")
c.SetAttrib "Digit6", c.GetAttrib("Digit1")
If c.GetAttrib("Match")="Yes" then
c.SetAttrib "Probe", Digit(0)
'
MsgBox c.GetAttrib("Probe")
End if
If c.GetAttrib("Match")="No" then
c.SetAttrib "Probe", Digit(Random(6,20))
'
MsgBox c.GetAttrib("Probe")
1
End If
End if
1
Descargar