Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 756

Traducido del inglés al español -

www.onlinedoctranslator.com

Proficy * HMI / SCADA -


iFIX

I FIXA UTOMACIÓN R
EFERENCIA (E Ventilaciones , S
UBROUTINAS , F UNCIONES , Y
mi XAMPLES )

V ERSION5. 1
Mayo 2 0 1 0
Reservados todos los derechos. Ninguna parte de esta
publicación puede reproducirse de ninguna forma ni por
ningún medio electrónico o mecánico, incluidas fotocopias
y grabaciones, sin el permiso por escrito de GE Intelligent
Platforms, Inc.

Renuncia de garantías y responsabilidad

Se cree que la información contenida en este manual es


precisa y confiable. Sin embargo, GE Intelligent Platforms,
Inc. no asume ninguna responsabilidad por errores,
omisiones o inexactitudes de ningún tipo. Sin limitar lo
anterior, GE Intelligent Platforms, Inc. renuncia a todas y
cada una de las garantías, expresas o implícitas, incluida la
garantía de comerciabilidad e idoneidad para un propósito
particular, con respecto a la información contenida en este
manual y el equipo o software aquí descrito. Todo el riesgo
en cuanto a la calidad y el rendimiento de dicha
información, equipo y software, recae sobre el comprador o
usuario. GE Intelligent Platforms, Inc. no será responsable
de ningún daño, incluidos los daños especiales o
consecuentes, que surjan del usuario de dicha información,
equipo y software, incluso si GE Intelligent Platforms, Inc.
ha sido advertido con anticipación de la posibilidad de tales
daños. El usuario de la información contenida en el manual
y el software aquí descrito está sujeto al acuerdo de licencia
estándar de GE Intelligent Platforms, Inc., que debe ser
ejecutado por el comprador o usuario antes de utilizar dicha
información, equipo o software.
Aviso

© 2010 GE Intelligent Platforms, Inc. Todos los derechos


reservados.
* Marca registrada de GE Intelligent Platforms, Inc.
Microsoft® es una marca comercial registrada de Microsoft
Corporation, en los Estados Unidos y / o en otros países.
Todas las demás marcas o nombres son propiedad de sus
respectivos propietarios.

Queremos escuchar de ti. Si tiene comentarios, preguntas o


sugerencias sobre nuestra documentación, envíelos a la
siguiente dirección de correo electrónico:
[email protected]
Tabla de contenido
Acerca de esta guía..................................... 57

Eventos........................................................ 58

ANUNCIO..................................................... 58

Evento activado.......................................... 58

Sintaxis................................................. 58

Propiedades.......................................... 58

Evento AfterKillFocus.................................. 59

Sintaxis................................................. 59

Propiedades.......................................... 59

Evento AlarmAck........................................ 60

Sintaxis................................................. 60

Propiedades.......................................... 60

Alarma de evento reconocido..................... 61


Sintaxis................................................. 61

Propiedades.......................................... 62

Observaciones...................................... 63

Evento AlarmListChanged.......................... 63

Sintaxis................................................. 63

Propiedades.......................................... 63

Observaciones...................................... 64

Haga clic en Evento


....................................................................
sesenta y cinco

Sintaxis
..............................................................
sesenta y cinco

Propiedades
..............................................................
sesenta y cinco

Observaciones...................................... 66

Cerrar evento.............................................. 66

Sintaxis................................................. 67
Propiedades.......................................... 67

Evento ColorChanged................................. 67
Sintaxis................................................. 67

Propiedades.......................................... 68

Evento DataChange.................................... 68

Sintaxis................................................. 69

Propiedades.......................................... 69

Definición de activación de eventos......71

Usando el evento DataChange en un


Enlace de datos.................................... 72

Para crear su propio objeto:..................72

Evento DblClick........................................... 73

Sintaxis................................................. 73

Propiedades.......................................... 73

Observaciones...................................... 74

Sintaxis de resumen de alarmas...........74

Propiedades.......................................... 74
Evento desactivado..................................... 75

Sintaxis................................................. 75

Propiedades.......................................... 76

Observaciones...................................... 76

ES................................................................ 77

Editar evento............................................... 77

Sintaxis................................................. 77

Propiedades.......................................... 77

Observaciones...................................... 78

EditarCambiar evento................................. 79

Sintaxis................................................. 79

Propiedades.......................................... 79

Inicializar evento......................................... 80

Sintaxis................................................. 80

Propiedades.......................................... 80
Evento InitializeConfigure...........................81

Sintaxis................................................. 81

Propiedades.......................................... 81

Evento KeyDown........................................ 82

Sintaxis................................................. 82

Propiedades.......................................... 82

Ajustes.................................................. 84

Observaciones...................................... 84

Evento KeyUp............................................. 85

Sintaxis................................................. 85

Propiedades.......................................... 86

Ajustes.................................................. 86

Observaciones...................................... 87

Evento LMouseClick................................... 88

Sintaxis................................................. 88
Propiedades.......................................... 88

Evento LoadedTagGroup............................89

Sintaxis................................................. 89

Propiedades.......................................... 90

Evento MouseDown.................................... 90

Sintaxis................................................. 90

Propiedades.......................................... 91

Ajustes.................................................. 92

Observaciones...................................... 94

Evento MouseMove.................................... 95

Sintaxis................................................. 95

Propiedades.......................................... 95

Ajustes.................................................. 97

Observaciones...................................... 99

Evento MouseUp........................................ 99
Sintaxis................................................. 99

Propiedades.......................................... 99

Ajustes.................................................. 101

Observaciones...................................... 102

Evento MouseUpOffObject.........................104

Sintaxis................................................. 104

Propiedades.......................................... 104

Observaciones...................................... 105

Evento NewAlarm....................................... 106

Sintaxis................................................. 106

Propiedades.......................................... 107

Observaciones...................................... 107

ONZ............................................................. 108

Evento OnChange...................................... 108

Sintaxis................................................. 108
Propiedades.......................................... 108

Evento OnChartFull.................................... 109

Sintaxis................................................. 109

Propiedades.......................................... 109

Observaciones...................................... 110

Evento OnChartRefresh.............................. 110

Sintaxis................................................. 110

Propiedades.......................................... 111

Evento OnFalse.......................................... 111

Sintaxis................................................. 111

Propiedades.......................................... 111

Observaciones...................................... 112

Evento OnPenSelect................................... 112

Sintaxis................................................. 113

Propiedades.......................................... 113
Evento OnTimeOut..................................... 113

Sintaxis................................................. 114

Propiedades.......................................... 114

OnTrue Event............................................. 115

Sintaxis................................................. 115

Propiedades.......................................... 115

Observaciones...................................... 116

Evento RMouseClick................................... 117

Sintaxis................................................. 117

Propiedades.......................................... 117

Evento SelectionChanged........................... 118

SeverityIncreased Event.............................119

Sintaxis................................................. 119

Propiedades.......................................... 119

Evento de UIDeactivate.............................. 120


Mientras que evento falso...........................120

Sintaxis................................................. 120

Propiedades.......................................... 121

Observaciones...................................... 121

Mientras que el verdadero evento...............121

Sintaxis................................................. 122

Propiedades.......................................... 122

Observaciones...................................... 122

Subrutinas.................................................... 123

AF................................................................ 123

Reconocer todas las alarmas Subrutina.....123

Sintaxis................................................. 124

Propiedades.......................................... 124

Observaciones...................................... 126

Reconocer una subrutina de alarma...........127


Sintaxis................................................. 127

Propiedades.......................................... 127

Subrutina AlarmHornEnabled.....................129

Sintaxis................................................. 129

Propiedades.......................................... 129

Valor devuelto....................................... 131

AlarmHornEnabledToggle Subrutina...........131

Sintaxis................................................. 131

Propiedades.......................................... 131

Valor devuelto....................................... 132

AlarmHornSilence Subrutina....................... 133

Sintaxis................................................. 133

Propiedades.......................................... 133

Observaciones...................................... 134

Cerrar Subrutina DigitalPoint...................... 135


Sintaxis................................................. 135

Propiedades.......................................... 135

Observaciones...................................... 137

Cerrar Subrutina de imagen........................137

Sintaxis................................................. 137

Propiedades.......................................... 137

Observaciones...................................... 139

Desactivar subrutina de alarma..................140

Sintaxis................................................. 140

Propiedades.......................................... 140

Habilitar subrutina de alarma......................143

Sintaxis................................................. 143

Propiedades.......................................... 143

Subrutina FetchLimits................................. 145

Sintaxis................................................. 145
Propiedades.......................................... 145

Subrutina FindDataSource.......................... 148

Sintaxis................................................. 148

Propiedades.......................................... 148

Valor devuelto....................................... 149

Observaciones...................................... 150

Subrutina FindLocalObject.......................... 150

Sintaxis................................................. 150

Propiedades.......................................... 150

Valor devuelto....................................... 151

Observaciones...................................... 152

soldado americano....................................... 153

Subrutina GeneratePicture..........................153

Sintaxis................................................. 153

Propiedades.......................................... 153
Subrutina GetAllConnections......................157

Sintaxis................................................. 157

Propiedades.......................................... 157

Valor devuelto....................................... 158

Subrutina GetDecimalSeparator.................158

Sintaxis................................................. 158

Propiedades.......................................... 159

Subrutina GetFormDynamoColor................160

Sintaxis................................................. 160

Subrutina GetFormNumeric........................ 160

Sintaxis................................................. 160

Subrutina GetFormPushbutton................... 160

Sintaxis................................................. 160

Subrutina GetFormRamp............................ 161

Sintaxis................................................. 161
Subrutina GetFormSlider............................161

Sintaxis................................................. 161

GetLocaleInfoA subrutina............................161

Sintaxis................................................. 162

Propiedades.......................................... 162

Valor devuelto....................................... 163

Observaciones...................................... 163

Subrutina GetUserDefaultLCID...................164

Sintaxis................................................. 164

Valor devuelto....................................... 164

Observaciones...................................... 164

Subrutina HandleError................................ 164

Sintaxis................................................. 165

Propiedades.......................................... 165

Subrutina IsUserFxg................................... 167


Sintaxis................................................. 167

Valor devuelto....................................... 167

Observaciones...................................... 167

LR................................................................ 168

Subrutina LocateObject.............................. 168

Sintaxis................................................. 168

Propiedades.......................................... 168

Subrutina de inicio de sesión......................171

Sintaxis................................................. 171

Propiedades.......................................... 171

Subrutina OffScan....................................... 173

Sintaxis................................................. 173

Propiedades.......................................... 173

Subrutina OnScan....................................... 175

Sintaxis................................................. 175
Propiedades.......................................... 175

Subrutina OpenDigitalPoint......................... 177

Sintaxis................................................. 177

Propiedades.......................................... 177

Observaciones...................................... 179

Subrutina OpenPicture................................ 179

Sintaxis................................................. 179

Propiedades.......................................... 179

Observaciones...................................... 183

Subrutina OpenTGDPicture........................ 184

Sintaxis................................................. 185

Propiedades.......................................... 185

Observaciones...................................... 188

Subrutina PictureAlias................................. 189

Sintaxis................................................. 189
Propiedades.......................................... 189

Subrutina PrintReport................................. 191

Sintaxis................................................. 191

Propiedades.......................................... 191

Subrutina QuickAdd.................................... 194

Sintaxis................................................. 195

Propiedades.......................................... 195

Valor devuelto....................................... 197

Subrutina RampValue................................. 197

Sintaxis................................................. 198

Propiedades.......................................... 198

Subrutina ReadValue.................................. 200

Sintaxis................................................. 200

Propiedades.......................................... 200

Valor devuelto....................................... 201


Subrutina RegCloseKey.............................. 202

Sintaxis................................................. 202

Propiedades.......................................... 202

Valor devuelto....................................... 203

Observaciones...................................... 203

Subrutina RegOpenKeyEx.......................... 203

Sintaxis................................................. 204

Propiedades.......................................... 204

Valor devuelto....................................... 206

Observaciones...................................... 206

Subrutina Reemplazar imagen....................206

Sintaxis................................................. 207

Propiedades.......................................... 207

Observaciones...................................... 210

Reemplazar subrutina de imagen TGD.......212


Sintaxis................................................. 213

Propiedades.......................................... 213

Observaciones...................................... 215

SZ................................................................ 216

SetAuto Subrutina....................................... 216

Sintaxis................................................. 216

Propiedades.......................................... 216

Establecer subrutina manual....................... 218

Sintaxis................................................. 218

Propiedades.......................................... 218

Subrutina ShellExecute...............................220

Sintaxis................................................. 220

Propiedades.......................................... 220

Valor devuelto....................................... 222

Observaciones...................................... 222
Subrutina ToggleDigitalPoint....................... 222

Sintaxis................................................. 222

Propiedades.......................................... 222

ToggleManual Subrutina.............................224

Sintaxis................................................. 224

Propiedades.......................................... 224

ToggleScan subrutina................................. 226

Sintaxis................................................. 226

Propiedades.......................................... 226

Subrutina WriteValue.................................. 228

Sintaxis................................................. 228

Propiedades.......................................... 228

Funciones de base de datos........................ 230

Resumen de funciones de base de datos....230

Función eda_add_block.............................. 231


Sintaxis................................................. 231

Propiedades.......................................... 231

Valor devuelto....................................... 232

Observaciones...................................... 233

Función eda_delete_block.......................... 233

Sintaxis................................................. 233

Propiedades.......................................... 233

Valor devuelto....................................... 234

Observaciones...................................... 234

Función eda_get_pdb_name......................235

Sintaxis................................................. 235

Propiedades.......................................... 235

Valor devuelto....................................... 236

Observaciones...................................... 237

Función eda_reload_database....................238
Sintaxis................................................. 238

Propiedades.......................................... 238

Valor devuelto....................................... 239

Observaciones...................................... 239

Función eda_save_database......................240

Sintaxis................................................. 240

Propiedades.......................................... 240

Valor devuelto....................................... 241

Observaciones...................................... 241

Función eda_type_to_index........................242

Sintaxis................................................. 242

Propiedades.......................................... 242

Valor devuelto....................................... 243

Observaciones...................................... 243

Función FixGetMyname..............................244
Sintaxis................................................. 244

Propiedades.......................................... 244

Valor devuelto....................................... 245

Observaciones...................................... 246

Función NlsGetText.................................... 248

Sintaxis................................................. 248

Propiedades.......................................... 248

Valor devuelto....................................... 249

Observaciones...................................... 250

Ejemplos de................................................. 253

A.................................................................. 253

Ejemplo del método AboutBox....................253

Ejemplo del método AckAlarm....................253

Ejemplo del método AckAlarmPage............254

Ejemplo del método AckAlarmPageEx........254


Ejemplo del método AckAllAlarms..............254

Reconocer todas las alarmas Subrutina


Ejemplo....................................................... 255

Reconocer una subrutina de alarma


Ejemplo....................................................... 255

Ejemplo de método ActivateWorkspaceUI. .256

Ejemplo de método de adición.................... 256

Ejemplo del método AddDataSet................257

Ejemplo del método AddEventHandler.......258

Ejemplo del método AddImage................... 259

Ejemplo del método AddLegendItem..........259

Ejemplo del método AddLevel....................260

Ejemplo de método AddObject................... 260

Ejemplo del método AddPen....................... 261

Ejemplo de AddPictureToStartupList..........261

Ejemplo del método AddPoint..................... 262


Ejemplo del método AddProcedure.............263

Ejemplo de AlarmHornEnabled...................264

Ejemplo 1.............................................. 264

Ejemplo 2.............................................. 264

Ejemplo de AlarmHornEnabledToggle........265

Ejemplo de AlarmHornSilence.................... 266

Ejemplo de método de alineación...............266

Ejemplo del método ApplyProperty.............266

Ejemplo del método AutoScaleDisplayLimits


.................................................................... 267

B.................................................................. 267

Ejemplo del método BringToFront...............267

Ejemplo del método BuildObject.................268

C.................................................................. 269

Ejemplo del método CanConstruct..............269

Método CheckAccountExpiration
Ejemplo....................................................................269

Ejemplo del método CheckSecurityEnabled


.................................................................... 272

Ejemplo del método CheckSyntax..............274

Método CheckUserApplicationAccess
Ejemplo....................................................... 274

Ejemplo del método CheckUserAreaAccess


.................................................................... 277

Ejemplo de método claro............................ 280

Ejemplo del método ClearUndo..................280

Ejemplo de método de cierre......................280

Ejemplo de subrutina CloseDigitalPoint......281

Ejemplo de subrutina ClosePicture.............281

Ejemplo de método de confirmación...........282

Ejemplo de método de conexión.................283

Ejemplo del método ConnectDataSet.........285

Método ConnectedPropertyCount
Ejemplo....................................................... 285
Ejemplo de método de construcción...........285

Convert_A_Group_To_A_Dynamo_By_N
Ejemplo de método ame.............................286

Convert_A_Group_To_A_Dynamo_By_R
Ejemplo de método ef................................. 286

Ejemplo del método ConvertPipe................293

ConvertSecurityAreaNameToNumber
Ejemplo de método..................................... 294

ConvertSecurityAreaNumberToName
Ejemplo de método..................................... 294

Ejemplo de método de copia....................... 295

Método Coupled_Activate_Workspace_UI
Ejemplo....................................................... 295

Coupled_DeActivate_Workspace_UI
Ejemplo de método..................................... 295

Ejemplo del método CopyAsBitmap............296

Método CreateDynamoByGrouping
Ejemplo....................................................... 297
Ejemplo del método CreateFromDialog......298

Ejemplo del método CreateFromProgID.....299

Ejemplo del método CreateWithMouse.......300

Ejemplo de método de corte....................... 300

D.................................................................. 301

Ejemplo del método DeActivateWorkspaceUI.


301

Ejemplo del método DefaultView................302

Ejemplo del método DelAlarm..................... 302

Ejemplo del método DeleteAllAlarms..........303

Ejemplo del método DeleteAllDataSets......303

Ejemplo del método DeleteDataSet............303

Ejemplo del método DeleteImage...............304

Ejemplo del método DeletePen...................304

Ejemplo del método DeletePoint.................309

Ejemplo del método DeleteSelectedObjects


.................................................................... 310
Ejemplo del método DemandFire................310

Ejemplo del método DeselectObject...........311

Ejemplo del método DestroyObject.............311

Ejemplo de subrutina DisableAlarm............312

Método DisableNonSelectionEvents
Ejemplo....................................................... 312

Ejemplo de método de desconexión...........312

Ejemplo del método DisplaysControlPoints.313

Método DoesPropertyHaveTargets
Ejemplo....................................................... 313

Ejemplo del método DoExtendLines...........314

Ejemplo de método DoLinestoPolyline........315

Ejemplo del método DoMenuCommand.....315

Ejemplo del método DoTrimLines...............316

Ejemplo del método DumpProperties..........317

Ejemplo de método duplicado..................... 317


mi................................................................. 318

Ejemplo del método EditPicture..................318

Ejemplo de método de habilitación.............318

Ejemplo de subrutina EnableAlarm.............318

Método Enumerate_All_Dynamos
Ejemplo....................................................... 319

Ejemplo del método Enumerate_All_Groups


.................................................................... 321

Método Enumerate_Top_Level_Dynamos
Ejemplo....................................................... 324

Método Enumerate_Top_Level_Groups
Ejemplo....................................................... 326

Ejemplo de objeto de firma.........................329

Ejemplo del método ExchangePenPositions


.................................................................... 331

Ejemplo del método ExportData.................331

Ejemplo del método ExportImage...............332

Ejemplo del método ExportLanguageFile. . .332


F................................................................... 333

Ejemplo de subrutina FetchLimits...............333

Ejemplo del método FindAndReplaceDialog


.................................................................... 334

Ejemplo de subrutina FindDataSource........334

Ejemplo del método FindInString................335

Ejemplo de subrutina FindLocalObject........336

Ejemplo del método FindObject..................336

Ejemplo del método FindReplaceInObject. .337

Ejemplo del método FindReplaceInString...338

Ejemplo del método FitDocumentToWindow


.................................................................... 339

Ejemplo del método FitWindowToDocument


.................................................................... 339

Método FixCheckApplicationAccess
Ejemplo....................................................... 340

Método FixCheckApplicationAccessQuiet
Ejemplo....................................................... 341
Ejemplo del método FixCheckAreaAccess..341
Método FixCheckAreaAccessQuiet
Ejemplo....................................................... 342

Método FixCheckSecurityEnabled
Ejemplo....................................................... 342

Método FixGetManualAlmDeleteEnabled
Ejemplo....................................................... 343

Ejemplo del método FixGetUserInfo...........344

Ejemplo del método FixLogin......................344

Ejemplo del método FixLogout....................345

Ejemplo del método FontProperties............345

Ejemplo de método FullView....................... 345

GRAMO....................................................... 346

Ejemplo de subrutina GeneratePicture.......346

Método Get_Last_Prompt_Value
Ejemplo....................................................... 347

Para ver este código en contexto:.........352

Ejemplo del método Get_Last_Result_String ...


353
Para ver este código en contexto:.........359

Ejemplo de subrutina GetAllConnections....360

Ejemplo del método GetBoundRect............361

Ejemplo del método GetColHeadings.........362

Ejemplo del método GetColumnInfo...........362

Método GetConnectionInformation
Ejemplo....................................................... 363

Método GetConnectionParameters
Ejemplo....................................................... 364

Ejemplo del método GetContinuousUser....365

Ejemplo del método GetCurrentDataSet.....367

Método GetCurrentValueWithQuality
Ejemplo....................................................... 368

Ejemplo del método GetCurrentValue.........369

Ejemplo del método GetDataSetByPosition 370

Subrutina GetDecimalSeparator
Ejemplo....................................................... 371
Ejemplo del método GetDeviceRect...........371

Ejemplo del método GetDuration................372

Ejemplo del método GetErrorString............373

Ejemplo del método GetEventHandlerIndex


.................................................................... 374

Subrutina GetFormDynamoColor
Ejemplo....................................................... 374

Ejemplo de subrutina GetFormNumeric......375

Ejemplo de subrutina GetFormPushbutton ... 375

Ejemplo de subrutina GetFormRamp..........375

Ejemplo de subrutina GetFormSlider..........375

Ejemplo del método GetFullname...............376

Ejemplo del método GetIndirectionInfo.......379

Ejemplo del método GetInterval..................380

Ejemplo del método GetNumberOfDataSets


.................................................................... 380

Ejemplo del método GetLevel..................... 381


Ejemplo de subrutina GetLocaleInfoA.........381

Ejemplo del método GetObjectInfo.............383

Ejemplo del método GetPenDataArray.......384

Ejemplo del método GetPenDataArrayEx...387

Ejemplo del método GetPointAt..................388

Ejemplo del método GetPriorityColor..........389

Ejemplo de GetProcedureIndex..................390

Ejemplo del método GetProperty................391

Ejemplo del método GetPropertyAttributes. 392

Ejemplo del método GetPropertyTargets....393

Ejemplo del método GetSelectedAlmExt....393

Ejemplo del método GetSelectedNodeTag. 394

Ejemplo del método GetSelectedRow.........394

Método GetSelectedUserDefFields
Ejemplo....................................................... 396
Ejemplo del método GetSignature..............396

Método GetSignatureAndWriteValue
Ejemplo....................................................... 400

Ejemplo del método GetStatusColor...........402

Ejemplo del método GetStatusFont............403

Ejemplo del método GetTimeBeforeNow....404

Ejemplo del método GetTimeCursorInfo.....404

Ejemplo de subrutina GetUserDefaultLCID .. 405

Ejemplo del método GetUserID..................406

Ejemplo del método GetWindowLocation. . .409

Ejemplo del método GlobalScrollBackFast. 410

Ejemplo del método GlobalScrollBackSlow.411

Método GlobalScrollForwardFast
Ejemplo....................................................... 412

Método GlobalScrollForwardSlow
Ejemplo....................................................... 413
Ejemplo del método GlobalTimerApply.......414

Ejemplo de método de grupo......................414

H.................................................................. 415

Ejemplo de subrutina HandleError..............415

Ejemplo del método HiLoDisplay................416

IK.................................................................. 417

Ejemplo del método ImportToolbar.............417

Ejemplo de método de inicialización...........417

Ejemplo del método InitializeList.................420

Ejemplo del método InsertPoint..................423

Ejemplo de método InteractiveExport.........423

Ejemplo de método IsColorSelectionVisible 424

Ejemplo de método IsConnected................424

Ejemplo del método IsEmpty...................... 425

Ejemplo de método IsNodeSignEnabled.....425


Ejemplo de método IsSignatureRequired....428

Método IsSignatureRequiredForList
Ejemplo....................................................... 431

Ejemplo de subrutina IsUserFxg.................433

Ejemplo de método de artículo................... 434

L................................................................... 435

Ejemplo del método ListEvents...................435

Ejemplo del método ListMethods................436

Ejemplo del método ListProperties..............437

Método ListWindowsGroupNames
Ejemplo....................................................... 438

Ejemplo del método Load_TS_List.............439

Ejemplo del método LoadImage.................439

Ejemplo de LoadTagGroupFile................... 440

Ejemplo de subrutina LocateObject............440

Ejemplo del método LogicalToPercentage..441


Método LogicalToUserFormPoint
Ejemplo....................................................... 442

Ejemplo de subrutina de inicio de sesión....442

Minnesota.................................................... 443

Ejemplo de método MakeLinesHorizontal...443

Ejemplo de método MakeLinesVertical.......443

Ejemplo del método MakeSameSize..........444

Ejemplo de método de modificación...........444

Ejemplo del método ModifyColumnLength..445

Ejemplo de método de movimiento.............445

Ejemplo de evento NewAlarm..................... 445

O.................................................................. 447

Ejemplo de subrutina OffScan....................447

Ejemplo de subrutina OnScan....................447

Ejemplo de método abierto.........................448


Ejemplo del método Open_QT_Pic.............448

Ejemplo del método Open_QT_Pic_Ex.......449

Ejemplo del método Open_TCP_Pic...........450

Ejemplo de método Open_TCP_Pic_Ex.....451

Ejemplo de método Open_TS_Pic..............452

Ejemplo de método Open_TS_Pic_Ex........453

Ejemplo de método Open_TS_Pic_Type....454

Ejemplo de método Open_TS_Pic_Type_Ex ...


457

Ejemplo de subrutina OpenDigitalPoint.......460

Ejemplo de subrutina de OpenPicture.........460

Ejemplo de subrutina OpenTGDPicture......463

PQ................................................................ 465

Ejemplo del método ParseConnectionSource.


465

Ejemplo de método de pegado...................466

Ejemplo de método PasteSpecial...............466


Ejemplo de método de pausa..................... 466

Ejemplo del método PauseAlarmRead.......467

Ejemplo de método PercentageToLogical. .468

Ejemplo del método PercentageToPixel.....469

Ejemplo de subrutina PictureAlias...............470

Ejemplo del método PixelToPercentage.....470

Ejemplo del método PrintChart................... 471

Ejemplo del método PrintOut......................471

Ejemplo de subrutina PrintReport...............472

Método PromptToChangePassword
Ejemplo....................................................... 472

Ejemplo de subrutina QuickAdd..................475

Ejemplo de método de salida......................475

R.................................................................. 476

Ejemplo de subrutina RampValue...............476


Ejemplo de método de lectura....................476

Ejemplo de subrutina ReadValue................478

Ejemplo de método de actualización...........478

Ejemplo del método RefreshChartData.......478

Ejemplo de subrutina RegCloseKey............481

Ejemplo de subrutina RegOpenKeyEx........483

Ejemplo de método de eliminación.............486

Ejemplo del método RemoveAll..................487

Ejemplo del método RemoveAllLevels........488

Ejemplo del método RemoveItem...............488

Ejemplo del método RemoveLegendItem. . .488

Ejemplo del método RemoveLevel..............489

Ejemplo del método RemoveObject............489

Ejemplo de subrutina ReplacePicture.........490

Ejemplo de RemovePictureFromStartupList
.................................................................... 491
Ejemplo del método Replace_QT_Pic........492

Ejemplo del método Replace_TCP_Pic......493

Ejemplo de método Replace_TS_Pic_Type 493

Ejemplo del método Replace_TS_Pic.........494

Ejemplo del método ReplaceDocument......495

Ejemplo del método ReplaceInString..........495

Ejemplo de subrutina ReplaceTGDPicture..496

Ejemplo del método ResetChartData..........497

Ejemplo del método ResetObjectStats........497

Ejemplo del método ResetStats..................498

Ejemplo del método ResetZoom.................498

Ejemplo de ResolveTagGroupFile..............499

Ejemplo de método de currículum...............499

Ejemplo del método ResumeAlarmRead....499

Ejemplo del método RetrieveDefinition.......501


Método RetrieveTagGroupVariables
Ejemplo....................................................... 502

Ejemplo de método de rotación..................502

Ejemplo del método RunObject..................503

S.................................................................. 504

Ejemplo de método de guardado................504

Ejemplo del método Save_TS_List.............505

Ejemplo del método SaveAsSVG................505

Ejemplo del método SaveToHistoryList......506

Ejemplo del método ScrollBack..................506

Ejemplo del método ScrollForward.............507

Ejemplo del método ScrollTimeBack...........507

Ejemplo del método ScrollTimeForward.....507

Ejemplo de método de selección................508

Ejemplo del método SelectAlarmRow.........508


Ejemplo del método SelectAll.....................509

Ejemplo del método SelectObject...............510

Ejemplo del método SendOperatorMessage


.................................................................... 510

Método SendSignedOperatorMessage
Ejemplo....................................................... 511

Ejemplo del método SendToBack...............515

Ejemplo de subrutina SetAuto.....................515

Ejemplo del método SetContinuousUser....515

Ejemplo del método SetCurrentValue.........517

Ejemplo del método SetDispatch................517

Ejemplo del método SetDispid....................518

Ejemplo de método SetDuration.................518

Ejemplo del método SetFocusToComboBox


.................................................................... 518

SetGlobalMovingEndTimeToCurrent
Ejemplo de método..................................... 519

Ejemplo del método SetIndirectionInfo........519


Ejemplo del método SetInterval..................519

Ejemplo de subrutina SetManual................520

Ejemplo del método SetLegendMask..........520

Ejemplo del método SetNumericFormat.....521

Ejemplo del método SetPenDataArray........521

Ejemplo del método SetPointAt..................524

Ejemplo del método SetPriorityColor..........525

Ejemplo de método SetProperty.................526

Ejemplo del método SetScriptWindow........526

Ejemplo del método SetSource...................527

Ejemplo del método SetStatusColor...........527

Ejemplo del método SetStatusFont.............528

Ejemplo del método SetStringFormat.........528

Ejemplo del método SetTabSelection.........529

Ejemplo del método SetTimeBeforeNow....529


Ejemplo del método SetTimeCursorTime. . .530

Ejemplo del método SetWindowLocation....530

Ejemplo de subrutina ShellExecute.............531

Ejemplo del método ShowAnimations.........531

Ejemplo del método ShowBrowseDialog....531

Ejemplo del método ShowColorBox............532

Ejemplo del método ShowColorSelection. . .532

Ejemplo del método ShowCustomPages....532

Método ShowPipePreviewDialog
Ejemplo....................................................... 533

Ejemplo del método ShowTaskWizard........533

Ejemplo del método ShowVBAProcedure...534

Ejemplo del método ShowVisualBasicEditor


.................................................................... 534

Ejemplo de AlarmHornSilence.................... 535

Ejemplo del método SnapObjectsToGrid....535


Ejemplo del método SpaceEvenly...............536

Ejemplo del método StartEvent...................536

Ejemplo del método StartTimer...................537

Ejemplo del método StickToCursor.............538

Ejemplo del método StopEvent...................539

Ejemplo del método StopTimer...................539

Ejemplo de método de estiramiento............540

Ejemplos del método SwitchLanguage.......540

Ejemplo de método SwitchMode.................541

Ejemplo del método SynchronizeSecurity...541

Para agregar una referencia de VBA a


SecuritySynchronizerDLL.DLL:.............542

T................................................................... 544

Ejemplo del método TagGroupSubstitution. 544

Ejemplo del método TagGroupValue..........545


Ejemplo de subrutina ToggleDigitalPoint....546

Ejemplo de subrutina manual de Toggle.....546

Ejemplo de subrutina ToggleScan..............546

U.................................................................. 547

Ejemplo de método UIActivate....................547

Ejemplo del método UIDeActivate...............547

Ejemplo de método de deshacer................547

Ejemplo del método UndoTransaction........548

Ejemplo del método UndoZoom..................548

Ejemplo de método de desagrupar.............548

Ejemplo de método UnloadTagGroupFile...549

Método Update_A_Dynamo_By_Name
Ejemplo....................................................... 549

Método Update_A_Dynamo_By_Name2
Ejemplo....................................................... 555

Método Update_A_Dynamo_By_Ref
Ejemplo....................................................................555

Para ver este código en contexto:.........562

Método Update_A_Dynamo_By_Ref2
Ejemplo....................................................... 563

Para ver este código en contexto:.........568

Método UpdateBackgroundObject
Ejemplo....................................................... 568

Método UpdateConnectionParameters
Ejemplo....................................................... 569

Ejemplo del método UpdateDefinition.........570

Método UserFormPointToLogical
Ejemplo....................................................... 572

VZ................................................................ 573

Ejemplo del método ValidateSignature.......573

Método ValidateSignatureAndWriteValue
Ejemplo....................................................... 575

Ejemplo del método ValidateSource...........578


Ejemplo del método ValueTimeFromXY.....579

Método WritePictureToImageFile
Ejemplo....................................................... 579

Ejemplo de subrutina WriteValue................580

Ejemplo de método de escritura.................580

Ejemplo del método XYFromValueTime.....582

Ejemplo del método XYHitTest................... 583

Ejemplo de método de zoom......................584


Acerca de esta guía
La referencia de automatización iFIX está
destinada a integradores y programadores que
desean desarrollar aplicaciones que accedan y
manipulen información dentro del entorno
Proficy iFIX a través de un conjunto de
interfaces de automatización. Este archivo de
ayuda asume que el lector es competente en
el lenguaje de programación Microsoft®
Visual Basic®.

Las siguientes secciones proporcionan más


detalles sobre cómo utilizar los objetos,
propiedades, métodos, eventos, subrutinas y
funciones de base de datos asociadas con iFIX:

• Resumen de eventos
• Resumen de subrutinas
• Resumen de funciones de base de
datos
• Ejemplos de
Eventos

ANUNCIO

Evento activado

Ocurre cuando una ventana obtiene el foco del


usuario. Esto se define como el momento en
que el foco del teclado y el mouse del usuario
se dirigen a esa ventana. El usuario puede
saber que esto está sucediendo mirando la
barra de título (si el documento tiene una).

Sintaxis

objeto_Activado ()

Propiedades

La sintaxis del evento activado tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento AfterKillFocus

Se produce cuando se quita el foco del


control ExpressionEditor especificado.

Sintaxis

objeto_AfterKillFocus ()

Propiedades

La sintaxis del evento AfterKillFocus tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento AlarmAck

Ocurre cuando se reconoce una alarma.

Sintaxis

objeto_AlarmAck ()

Propiedades

La sintaxis del evento AlarmAck tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Alarma de evento reconocido

Ocurre cuando se reconoce una alarma al hacer


doble clic en una alarma o al llamar a los
métodos AckAlarm, AckAlarmPage o
AckAllAlarms. A diferencia del evento
AlarmAck, el evento AlarmAcknowledged
devuelve el nombre del nodo, la etiqueta y el
campo que se reconoció.

Sintaxis

objeto_Alarma reconocida (strNode Como


Cuerda, strTag Como cuerda, strField
Como cuerda)
Propiedades

La sintaxis del evento AlarmAcknowledged


tiene estas partes:

Parte Descripción

Objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

strNode Cuerda. El nombre del nodo en


cual fue la alarma
admitido.

StrTag Cuerda. El nombre de la etiqueta


cuya alarma fue
admitido.

StrField Cuerda. El nombre del campo


cuya alarma fue
admitido.
Observaciones

Si reconoce una página de alarmas, recibe


un evento por cada alarma. Si reconoce
todas las alarmas, el evento no ocurre.

Evento AlarmListChanged

Ocurre cuando cambia el contenido o el


orden de la información en el objeto
Resumen de alarmas. De forma
predeterminada, este evento no se activa.
Para activar el evento cuando cambia la
información del objeto Resumen de
alarmas, establezca la propiedad
CheckForAlarmListChanged en TRUE.

Sintaxis

objeto_AlarmListChanged ()

Propiedades

La sintaxis del evento AlarmListChanged


tiene esta parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Este evento ocurre en la recepción inicial de


alarmas por parte del objeto Resumen de
alarmas. El evento se produce posteriormente
cuando cambia el contenido o el orden de las
alarmas mostradas por el objeto Resumen de
alarmas. Por ejemplo, el evento también
puede ocurrir cuando cambia el filtro de
alarma si el filtro modificado cambia el
contenido de la hoja de cálculo del objeto (por
ejemplo, si filtra alarmas o agrega alarmas de
otra área de alarma). El evento ocurre incluso
si el cambio en el contenido ocurre fuera de la
pantalla.
Las siguientes acciones también pueden
hacer que se active el evento
AlarmListChanged, pero solo si la acción
cambia el contenido de la hoja de cálculo del
objeto:

• Cambiar el orden de clasificación.


• Detectar / recibir una nueva alarma.

Puede deshabilitar el evento


AlarmListChanged estableciendo la propiedad
CheckForAlarmListChanged en FALSE.

Haga clic en Evento

Ocurre cuando el usuario suelta la tecla


izquierda del mouse en el entorno de tiempo
de ejecución.

Sintaxis

objeto_Haga clic en ()

Propiedades

La sintaxis del evento Click tiene esta parte:


Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Este evento es el evento común que se utiliza


para iniciar una acción del operador. También
es el evento predeterminado utilizado por los
asistentes de creación de scripts.

La secuencia de eventos relacionados con el


ratón es:

• Ratón hacia abajo


• MouseUp
• Hacer clic
• DblClick

Cerrar evento
Ocurre cuando un contenedor de página se
apaga o se cierra en el entorno de tiempo de
ejecución.
Sintaxis

objeto_Cerrar( )

Propiedades

La sintaxis del evento Close tiene esta parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento ColorChanged

Ocurre cuando se selecciona un nuevo


color en el entorno de tiempo de
ejecución.

Sintaxis
objeto_ColorChanged (ByVal Color Tanto
tiempo)
Propiedades

La sintaxis del evento ColorChanged tiene


estas partes:

Parte Descripción

Objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Color El color recién seleccionado.

Evento DataChange

Ocurre cuando el valor de una fuente de datos


cambia más que el límite de la banda muerta o
si cambia la calidad o la información de error
asociada con la fuente de datos.

El evento DataChange ocurre al final del


procesamiento del cambio de datos, por lo
tanto, el estado interno (propiedades) del
objeto de evento o animación reflejará este
cambio. El valor anterior no se almacena en
el objeto.
Si ocurren los mismos eventos mientras se
ejecuta el script, el sistema pone en cola uno y
solo un evento para esta situación. Es decir, si
se producen varios cambios en los datos, el
siguiente evento que se activa refleja la
información más reciente.

Sintaxis

objeto_DataChange (ByVal Valor de los


datos Como Variante, ByVal TimeStamp
como Date, ByVal Transición Siempre
que, ByVal Reservado Como
Variante)

Propiedades

La sintaxis del evento DataChange tiene estas


partes:
Parte Descripción

Objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Valor de los
datos El nuevo valor de los datos.

TimeStamp El tiempo que estos datos


llegó al sistema.

Transición Especifica si el valor


cambiado de distinto de cero
a
cero o viceversa.

Reservado Reservado.
Definición de activación de eventos

Transición de valor Secuencia de eventos de incendio

Sin inicializar a
verdadero DataChange, WhileTrue

Verdadero a falso DataChange, OnFalse, WhileFalse

Falso a verdadero DataChange, OnTrue, WhileTrue

Falso al error DataChange

Fiel al error DataChange

Error a verdadero DataChange, WhileTrue

Error a falso DataChange, WhileFalse

Sin inicializar a error DataChange

Sin inicializar a falso DataChange, WhileFalse


Cuando los datos cambian de un estado
desconocido a un estado conocido, se activa el
evento DataChange. Por lo tanto, acciones
como cambiar del entorno de configuración al
entorno de tiempo de ejecución mientras un
programa iFIX está abierto provocarán que el
evento DataChange se active en consecuencia.

Uso del evento DataChange en


un enlace de datos
Si está intentando utilizar el evento
DataChange en un enlace de datos, no puede
crear el objeto VBA seleccionando Editar
secuencia de comandos en el menú
contextual.

Para crear su propio objeto:


1. Crea un enlace de datos.
2. Abra el editor de VBA.
3. Ingrese al Sub privado
objeto_DataChange (ByVal DataValue
como variante, ByVal TimeStamp
como fecha, ByVal Transition As
Long, ByVal reservado como variante)
y presione Entrar.
4. Ingrese cualquier código deseado.
5. Ingrese End Sub al final de la
subrutina.

Evento DblClick

Ocurre cuando el usuario hace doble clic con


el mouse.

Sintaxis

objeto_DblClick ()

Propiedades

La sintaxis del evento DblClick tiene estas


partes:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.
Observaciones

El evento DblClick se produce cuando se


reciben varios clics con el botón izquierdo del
ratón en el objeto.

La secuencia de eventos relacionados con el


ratón es:

• Ratón hacia abajo


• MouseUp
• Hacer clic
• DblClick

Sintaxis de resumen de alarmas

objeto_DblClick (ByVal Columna Siempre


que, ByVal Hilera Tanto tiempo)

Propiedades

La sintaxis del evento DblClick tiene estas


partes:
Parte Descripción

Objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Columna La columna en la que el


usuario hizo doble clic.

Hilera La fila en la que el usuario hizo


doble clic.

Evento desactivado

Ocurre cuando una ventana pierde el foco.


Esto se activa cuando otro documento recibe
el foco.

Sintaxis

objeto_Desactivado ()
Propiedades

La sintaxis del evento desactivado tiene esta


parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Cuando se cierra una imagen, el evento


desactivado no se dispara.
ES

Editar evento

Ocurre cuando:

• El usuario hace doble clic en un


objeto en el entorno de configuración.
• El usuario pega un objeto en una
página desde un DynamoSet.

Sintaxis

objeto_Editar ()

Propiedades

La sintaxis de edición del evento tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Este método es el mecanismo principal para


crear una página de propiedades
personalizada para un objeto que tiene la
forma de un formulario personalizado de
VBA, que es útil para crear objetos Dynamo.
Cuando se modifica un objeto, el orden de
ejecución es:

1. Si el objeto tiene un evento de


edición, se dispara.
2. Si el objeto tiene una página de
propiedades personalizada (ocxes, objetos de
gráfico, objetos de resumen de alarma), se
activa.
3. De lo contrario, se muestra el cuadro
de diálogo de animación.
PROPINA : Coloque toda la lógica de
sustitución en el evento Editar y pase todo el
contexto del objeto a un formulario compartido
o global. Los nombres de los objetos se
modifican automáticamente en un duplicado si
la referencia está en el controlador de eventos.
Las referencias a objetos codificadas de forma
rígida en los formularios de usuario no se
modifican cuando se duplica un objeto.

EditarCambiar evento

Se produce cuando se cambia el texto de la


parte del cuadro de edición del
ExpressionEditor.

Sintaxis

objeto_EditChange (ByVal bSourceEmpty


Como Booleano)

Propiedades
La sintaxis del evento EditChange tiene estas
partes:
Parte Descripción

Una expresión de objeto


Objeto que
evalúa a un objeto en
la lista Se aplica a.

bSourceEmpty Si el cuadro de edición es


vacío o no. Si es cierto, el
El cuadro de edición está
vacío. Si
Falso, el cuadro de edición
no es
vacío.

Inicializar evento

Ocurre cuando se abre un documento en el


entorno de tiempo de ejecución.

Sintaxis

objeto_Inicializar ()

Propiedades
La sintaxis del evento Initialize tiene esta parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento InitializeConfigure

Ocurre cuando se abre un documento en el


entorno de configuración o cuando el
usuario cambia al entorno de configuración.

Sintaxis

objeto_InitializeConfigure ()

Propiedades

La sintaxis del evento InitializeConfigure


tiene esta parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento KeyDown

Ocurre cuando el usuario presiona una


tecla en el teclado.

Sintaxis

objeto_KeyDown (ByVal Clave Mientras


tanto, ByVal Cambio Mientras, continúe
procesando como
Booleano)

Propiedades
La sintaxis del evento KeyDown tiene estas
partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Un número entero que


Clave representa el
código de la llave que fue
presionado o liberado.

Cambio El estado de SHIFT, CTRL,


y teclas ALT.
Ajustes

Los ajustes de Shift son:

Valor Descripción

1 Se presionó SHIFT.

2 Se presionó CTRL.

4 Se presionó ALT.

Observaciones

Los eventos clave se envían primero al objeto


seleccionado. Si no hay un script vinculado al
evento, el evento clave se envía al objeto
contenido (grupo o página). Si tiene eventos
clave comunes en un conjunto de imágenes, se
recomienda que utilice subrutinas compartidas
en la página global del usuario a las que se
llama desde los eventos clave de la imagen.
El parámetro ContinueProcessing As Boolean
está relacionado con el esquema Key Macro.
Dado que las macros de teclas se pueden
vincular a objetos, existe una cierta jerarquía.
Por ejemplo, puede hacer que la misma macro
clave ejecute diferentes scripts en un objeto y
en la imagen. El procesamiento comienza en el
objeto y el parámetro ContinueProcessing evita
que el procesamiento pase al siguiente nivel.
Por ejemplo, si
F10 ejecuta MacroA en un rectángulo, y F10
también ejecuta MacroB en la imagen, un
valor falso evitaría que la macro de la imagen
se dispare.

Evento KeyUp

Ocurre cuando el usuario presiona una


tecla en el teclado.

El marcador de posición del objeto


representa una expresión de objeto que se
evalúa como un objeto de la lista Se aplica
a.

Sintaxis
objeto_KeyUp (ByVal Clave Mientras tanto,
ByVal Cambio Mientras, continúe
procesando como
Booleano)
Propiedades

La sintaxis del evento KeyUp tiene estas partes:

Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Un número entero que


Clave representa el
código de la llave que fue
presionado o liberado.

Cambio El estado de SHIFT, CTRL,


y teclas ALT.

Ajustes

Los ajustes de Shift son:


Valor Descripción

1 Se presionó SHIFT.

2 Se presionó CTRL.

4 Se presionó ALT.

Observaciones

Los eventos clave se envían primero al objeto


seleccionado. Si no hay un script vinculado al
evento, el evento clave se envía al objeto
contenido (grupo o página). Si tiene eventos
clave comunes en un conjunto de imágenes, se
recomienda que utilice subrutinas compartidas
en la página global del usuario a las que se
llama desde los eventos clave de la imagen.

El parámetro ContinueProcessing As Boolean


está relacionado con el esquema Key Macro.
Dado que las macros de teclas se pueden
vincular a objetos, existe una cierta jerarquía.
Por ejemplo, puede hacer que la misma macro
clave ejecute diferentes scripts en un objeto y en
la imagen.
El procesamiento comienza en el objeto y el
parámetro ContinueProcessing evita que el
procesamiento pase al siguiente nivel. Por
ejemplo, si F10 ejecuta MacroA en un
rectángulo y F10 también ejecuta MacroB en
la imagen, un valor falso evitaría que la
macro de la imagen se disparara.

Evento LMouseClick

Ocurre cuando el usuario hace clic con el


botón izquierdo del mouse en el objeto
Resumen de alarma en el entorno
Configuración o Tiempo de ejecución.

Sintaxis

objeto_LMouseClick (ByVal Columna


Mientras tanto, ByVal Hilera Tanto
tiempo)

Propiedades

La sintaxis del evento LMouseClick tiene


estas partes:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Columna La columna en la que el usuario


hizo clic.

Hilera La fila en la que el usuario hizo


clic.

Evento LoadedTagGroup

Ocurre cuando el usuario carga un grupo de


etiquetas en el entorno de ejecución.

Sintaxis
objeto_LoadedTagGroup (TagGroupName
Como Cuerda)
Propiedades

La sintaxis del evento LoadedTagGroup tiene


estas partes:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto en el Se aplica a
lista.

TagGroupName Cuerda. El nombre de


grupo de etiquetas.

Evento MouseDown

Ocurre cuando el usuario presiona un botón del


mouse.

Sintaxis

objeto_MouseDown (ByVal Botón Como


Entero, ByVal Cambio Como entero,
ByVal X Como Double, byVal Y Como
doble)
Propiedades

La sintaxis del evento MouseDown tiene estas partes:

Parte Descripción

Una expresión de objeto que se evalúa


objeto como
un objeto de la lista Se aplica a.

Botón Un valor entero que identifica cuál


se presionó el botón del mouse.

Cambio El estado de MAYÚS, CTRL y


Teclas ALT.

X La posición horizontal, en lógica


coordenadas, desde el borde izquierdo o
superior de
la página donde se presionó el mouse.

Y La posición vertical, en lógica


coordenadas, desde el borde izquierdo o
superior de
la página donde se presionó el mouse.
Ajustes

Los ajustes de Button son:

Valor Descripción

1 Se presionó el botón izquierdo.

2 Se presionó el botón derecho.

4 Se presionó el botón central.

Los ajustes de Shift son:


Valor Descripción

1 Se presionó SHIFT.

2 Se presionó CTRL.

3 Se presionaron MAYÚS y CTRL.

4 Se presionó ALT.

5 Se presionaron ALT y SHIFT.

6 Se presionaron ALT y CTRL.

7 ALT, SHIFT y CTRL fueron


presionado.
Observaciones

La secuencia de eventos relacionados con el


ratón es:

• Ratón hacia abajo


• MouseUp
• Hacer clic
• DblClick

Ratón hacia abajo o los procedimientos de


evento MouseUp especifican acciones que
ocurren cuando se presiona o suelta un botón
del mouse. Le permiten distinguir entre los
botones izquierdo, derecho y central del
mouse. También puede escribir código para
combinaciones de mouse y teclado que usen
los modificadores de teclado SHIFT, CTRL y
ALT.

Use el argumento Shift para identificar el


estado de las teclas SHIFT, CTRL y ALT
cuando ocurrió el evento MouseDown o
MouseUp. Por ejemplo, si se presionan CTRL
y ALT, el valor de Shift es 6.

Los eventos del mouse se envían primero al


objeto seleccionado. Si no hay un script de
evento vinculado al objeto seleccionado, el
evento se envía al contenedor del objeto
(grupo o página).
Evento MouseMove

Ocurre cuando el usuario mueve el mouse


sobre un objeto.

Sintaxis

objeto_MouseMove (ByVal Botón Como


Entero, ByVal Cambio Siempre que,
ByVal X Como doble, ByVal Y Como
doble)

Propiedades
La sintaxis del evento MouseMove tiene estas
partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Botón Un valor entero que identifica


qué botón del mouse se presionó.

Cambio El estado de SHIFT, CTRL,


y teclas ALT.

X La posición horizontal, en lógica


coordenadas, desde la izquierda o
arriba
borde de la página donde el mouse
fue presionado.

Y La posición vertical, en lógica


coordenadas, desde la izquierda o
arriba
borde de la página donde el mouse
fue presionado.
Ajustes

Los ajustes de Button son:

Valor Descripción

1 Se presionó el botón izquierdo.

2 Se presionó el botón derecho.

4 Se presionó el botón central.

Los ajustes de Shift son:


Valor Descripción

1 Se presionó SHIFT.

2 Se presionó CTRL.

3 Se presionaron MAYÚS y CTRL.

4 Se presionó ALT.

5 Se presionaron ALT y SHIFT.

6 Se presionaron ALT y CTRL.

7 ALT, SHIFT y CTRL fueron


presionado.
Observaciones

Los eventos del mouse se envían primero al


objeto seleccionado. Si no hay un script de
evento vinculado al objeto seleccionado, el
evento se envía al contenedor del objeto
(grupo o página).

Evento MouseUp

Ocurre cuando el usuario suelta


cualquiera de las teclas del mouse.

Sintaxis

objeto_MouseUp (ByVal Botón Como


entero, ByVal Cambio Como entero, ByVal
X Como doble, ByVal Y Como doble)

Propiedades

La sintaxis del evento MouseUp tiene estas


partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Botón Un valor entero que identifica


qué botón del mouse se presionó.

Cambio El estado de SHIFT, CTRL,


y teclas ALT.

X La posición horizontal, en lógica


coordenadas, desde la izquierda o
arriba
borde de la página donde el mouse
fue presionado.

Y La posición vertical, en lógica


coordenadas, desde la izquierda o
arriba
borde de la página donde el mouse
fue presionado.
Ajustes

Los ajustes de Button son:

Valor Descripción

1 Se presionó el botón izquierdo.

2 Se presionó el botón derecho.

4 Se presionó el botón central.

Los ajustes de Shift son:


Valor Descripción

1 Se presionó SHIFT.

2 Se presionó CTRL.

3 Se presionaron MAYÚS y CTRL.

4 Se presionó ALT.

5 Se presionaron ALT y SHIFT.

6 Se presionaron ALT y CTRL.

7 ALT, SHIFT y CTRL fueron


presionado.

Observaciones

La secuencia de eventos relacionados con el


ratón es:
• Ratón hacia abajo
• MouseUp
• Hacer clic
• DblClick

Ratón hacia abajo o los procedimientos de


evento MouseUp especifican acciones que
ocurren cuando se presiona o suelta un botón
del mouse. Le permiten distinguir entre los
botones izquierdo, derecho y central del
mouse. También puede escribir código para
combinaciones de mouse y teclado que usen
los modificadores de teclado SHIFT, CTRL y
ALT.

Use el argumento Shift para identificar el


estado de las teclas SHIFT, CTRL y ALT
cuando ocurrió el evento MouseDown o
MouseUp. Por ejemplo, si se presionan CTRL
y ALT, el valor de Shift es 6.

Los eventos del mouse se envían primero al


objeto seleccionado. Si no hay un script de
evento vinculado al objeto seleccionado, el
evento se envía al contenedor del objeto
(grupo o página).
Evento MouseUpOffObject

Ocurre cuando se presiona el botón izquierdo


del mouse en un objeto, el cursor del mouse se
mueve fuera del objeto y luego se suelta a la
posición ARRIBA.

Sintaxis

objeto_MouseUpOffObject ()

Propiedades

La sintaxis del evento MouseUpOffObject


tiene una parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.
Observaciones

El evento MouseUpOffObject solo se usa con


el botón izquierdo del mouse. Este evento no
se aplicará al botón derecho del mouse.

El evento MouseUpOffObject se puede


habilitar o deshabilitar mediante la
configuración de la entrada
AllowMouseUpOffObjectEvent en la sección
[AppRunPreferences] del archivo
FixUserPreferences.ini. Los valores del ajuste
pueden ser 1 para VERDADERO y 0 para
FALSO. El valor predeterminado es 1
(VERDADERO).

Si el evento MouseUpOffObject está


habilitado y hay una secuencia de comandos
de evento MouseUpOffObject creada para el
objeto, entonces se procesa el evento
MouseUpOffObject y se ejecuta la secuencia
de comandos en el evento. Si el evento
MouseUpOffObject NO está habilitado,
entonces el evento MouseUp se envía al
contenedor del objeto (grupo o página).
Evento NewAlarm

Ocurre cuando se detecta una nueva alarma


después de la recepción inicial de alarmas por
parte del objeto Resumen de alarmas. De
forma predeterminada, este evento no se
activa. Para activar el evento cuando cambia
la información del objeto Resumen de
alarmas, establezca la propiedad
CheckForNewAlarms en TRUE. El evento
ocurre incluso si el cambio en el contenido
ocurre fuera de la pantalla.

Por ejemplo, en el modo de ejecución, si una


etiqueta entra en una alarma HI y luego
cambia a HIHI, el evento NewAlarm se
dispara una vez, a menos que se reconozca la
alarma HI anterior. El evento NewAlarm
detecta si una alarma es nueva, no una nueva
gravedad. Si desea detectar un cambio en la
gravedad, use la propiedad
CheckForSeverityIncrease y el evento
SeverityIncreased.

Sintaxis
objeto_NewAlarm (strNode Como cuerda,
strTag Como cuerda)
Propiedades

La sintaxis del evento NewAlarm tiene estas


partes:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

strNode Cuerda. Una lista de nodos con


nuevas alarmas. Ejemplo de
análisis de la lista

StrTag Cuerda. Una lista de etiquetas


con nuevas alarmas. Ejemplo
de análisis de la lista

Observaciones

Siempre que cambie la configuración de


clasificación o filtro, el objeto Resumen de
alarmas actualiza su lista de alarmas. Sin
embargo, este cambio no provoca que se
produzca el evento NewAlarm.
Si una etiqueta está en alarma y se produce
otra alarma para esta etiqueta, el evento
NewAlarm no se activa de nuevo. Por
ejemplo, si una etiqueta está en alarma HI y
pasa a alarma HIHI, el evento NewAlarm se
dispara solo una vez. Para que el evento se
dispare dos veces, la alarma HI debería ser
reconocida y regresar a un estado de alarma
OK antes de que la etiqueta entre en una
alarma HIHI.

ONZ

Evento OnChange

Se produce cuando se cambia


CurrentValue del objeto Variable
especificado.

Sintaxis

objeto_OnChange ()

Propiedades
La sintaxis del evento OnChange tiene esta
parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento OnChartFull

Se produce cuando los datos de un objeto


Gráfico se desplazan completamente hacia la
derecha y llegan al borde. Este evento solo
puede ocurrir si la propiedad ScrollDirection
del gráfico está establecida en LeftToRight.

Sintaxis

objeto_OnChartFull ()

Propiedades

La sintaxis del evento OnChartFull tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Este evento es útil para manejar la acción


apropiada de la interfaz de usuario cuando los
datos llenan el gráfico. Las posibles opciones
son borrar los datos y cambiar la hora de inicio
a ahora, borrando efectivamente el Gráfico, o
desplazar el Gráfico por encima del 50%.

Evento OnChartRefresh

Se produce cuando los datos del objeto


Gráfico se desplazan automáticamente. El
evento ocurre en un intervalo definido por la
propiedad RefreshRate.

Sintaxis

objeto_OnChartRefresh ()
Propiedades

La sintaxis del evento OnChartRefresh


tiene esta parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento OnFalse

Se produce cuando una expresión en un objeto


de evento cambia de Verdadero a Falso
(distinto de cero a cero).

Sintaxis

objeto_OnFalse ()

Propiedades

La sintaxis del evento OnFalse tiene esta


parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Cuando se usa una expresión como AI1>


55.0, el valor de esta expresión es 0 cuando
AI1 es menor o igual a 55.0. Cuando AI1
excede 55.0, el valor de la expresión es 1. El
evento OnFalse se activa cuando el valor de la
expresión cambia de 1 a 0. Si la expresión es
una sola etiqueta, entonces el valor de la
etiqueta se evalúa como 0.0 o no. -cero para
determinar si se dispara el evento.

Vea la transición completa del evento de


activación del evento descrita en el evento
DataChange.

Evento OnPenSelect
Ocurre cuando el usuario cambia el lápiz
activo actualmente seleccionando otro
lápiz.
Sintaxis

objeto_OnPenSelect (ByVal IPenNum


Como Largo)

Propiedades

La sintaxis del evento OnPenSelect tiene estas


partes:

Parte Descripción

Objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

IPenNum El índice de la colección


Plumas que define la
Pluma seleccionada.

Evento OnTimeOut

Ocurre dependiendo del TriggerType del


Temporizador:
Un trago - El evento se dispara en StartTime.

Continuo - El evento se dispara en


StartTime y luego en el intervalo
especificado para la propiedad
Interval.

Diario - El evento se dispara en StartTime


para aquellos días que se han
configurado (ver DaysOfWeek).

Mensual - El evento se dispara a la hora de


inicio de cada día que se haya configurado
(consulte DaysOfMonth).

Sintaxis

objeto_OnTimeOut (ByVal lTimerId


Como Largo)

Propiedades

La sintaxis del evento OnTimeOut tiene estas


partes:
Parte Descripción

Objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

lTimerId Reservado.

OnTrue Event

Se produce cuando una expresión en un objeto


de evento cambia de Falso a Verdadero (de
cero a distinto de cero).

Sintaxis

objeto_OnTrue ()

Propiedades

La sintaxis del evento OnTrue tiene esta parte:


Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Cuando se usa una expresión como AI1>


55.0, el valor de esta expresión es 0 cuando
AI1 es menor o igual a 55.0. Cuando AI1
excede 55.0, el valor de la expresión es 1. El
evento OnTrue se activa cuando el valor de la
expresión cambia de 0 a 1. Si la expresión es
una sola etiqueta, entonces el valor de la
etiqueta se evalúa como 0.0 o no. -cero para
determinar si se dispara el evento.

Vea la transición completa del evento de


activación del evento descrita en el evento
DataChange.
Evento RMouseClick

Ocurre cuando el usuario hace clic con el


botón derecho del mouse en el objeto
Resumen de alarma en el entorno
Configuración o Tiempo de ejecución.

Sintaxis

objeto_RMouseClick (ByVal Columna


Mientras tanto, ByVal Hilera Siempre
que, ByVal X Siempre que, ByVal y
Tanto tiempo)

Propiedades

La sintaxis del evento RMouseClick tiene


estas partes:
Parte Descripción

Objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Columna La columna en la que el usuario


hizo clic.

Hilera La fila en la que el usuario hizo


clic.

X La ubicación horizontal del clic


en las coordenadas del dispositivo.

Y La ubicación vertical del clic en


las coordenadas del dispositivo.

Evento SelectionChanged
Reservado para fines internos.
SeverityIncreased Event

Ocurre cuando el estado de una alarma


aumenta en
gravedad. El CheckForSeverityIncrease
la propiedad debe establecerse en TRUE para
permitir este evento
para ser activado. los
CheckForSeverityIncrease la propiedad
debe ser
establecido en modo de ejecución. El valor
que ingresa aquí es
no persistió. En otras palabras, cuando
cambias
del modo de ejecución al modo de
configuración, el valor
vuelve a cambiar a FALSO (0), que es el
defecto. Si ingresa TRUE (1) en configure
modo, vuelve a FALSE (0) cuando
ingresa al modo de ejecución. Debe establecer
este valor en
modo correr.

Sintaxis

objeto_SeverityIncreased ()
Propiedades

La sintaxis del evento SeverityIncreased


tiene esta parte:
Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Evento de UIDeactivate

Reservado para fines internos.

Mientras que evento falso

Ocurre en el objeto Event, mientras que el


valor es cero. Este evento se vuelve a llamar
continuamente en un intervalo especificado
por la propiedad Intervalo del objeto Evento.

Sintaxis

objeto_MientrasFalso ()
Propiedades

La sintaxis del evento WhileFalse tiene esta


parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Vea la transición completa del evento de


activación del evento descrita en el evento
DataChange.

Mientras que el verdadero evento

Ocurre en el objeto Event, mientras que el


valor es distinto de cero. Este evento se vuelve
a llamar continuamente en un intervalo
especificado por la propiedad Intervalo del
objeto Evento.
Sintaxis

objeto_WhileTrue ()

Propiedades

La sintaxis del evento WhileTrue tiene esta


parte:

Parte Descripción

objeto Una expresión de objeto


que se evalúa como un
objeto de la lista Se aplica
a.

Observaciones

Vea la transición completa del evento de


activación del evento descrita en el evento
DataChange.
Subrutinas

AF

Reconocer todas las alarmas


Subrutina

Reconoce las alarmas para todas las


etiquetas en la imagen especificada. Si
alguna de las alarmas en la imagen requiere
una firma electrónica, el reconocimiento
depende de la configuración de las opciones
de Escrituras sin firmar en el bloque de cada
alarma:

Aceptar habilitado - La subrutina también


reconocerá la alarma asociada con este
bloque.

Rechazo habilitado - La subrutina


reconocerá otras alarmas, pero no la
alarma asociada con este bloque.
Sintaxis

Reconocer todas las alarmas


[Fotografía], [intErrorMode]

Propiedades

La sintaxis de la subrutina
AcknowledgeAllAlarms tiene estas
partes:

Parte Descripción

Fotografí Cuerda. (Opcional) El


a nombre de archivo de la
imagen para la que desea
reconocer todas las
alarmas. Si no se
especifica ninguna
imagen, se utiliza la
imagen actual.
intErrorMode Entero. (Opcional). El
modo de error.
0 (predeterminado):
permite que las
subrutinas proporcionen
los mensajes de error.
Los errores se muestran
en forma de cuadro de
mensaje. Si no se realiza
ninguna entrada para el
parámetro intErrorMode,
se utiliza el valor
predeterminado.
1: permite al usuario
manejar los mensajes de
error. Los errores en las
subrutinas se devuelven a
la rutina de llamada para
su manejo.
2 - Escribe errores en
todos los destinos. No se
muestran mensajes de
error. En su lugar, los
errores se escriben en
todos los destinos iFIX,
incluidos los destinos de
la ventana del historial de
alarmas mediante
SendOperatorMessage.
Observaciones

Si el único objeto en una imagen es un objeto


de resumen de alarmas que tiene la opción
Permitir reconocer todas las alarmas
deshabilitada, esta subrutina no reconocerá
ninguna alarma. El orden de la lógica en la
subrutina es el siguiente:

1. Busque un objeto de resumen de


alarma en la imagen.

2. Compruebe si la opción Permitir


reconocer todas las alarmas está habilitada.

• Si está habilitado, ejecute el


método AckAllAlarms.

• Si está desactivado, vaya al


paso siguiente.

3. Verifique los otros objetos en la


imagen.

Si está utilizando la subrutina Reconocer


todas las alarmas en un OCX de resumen de
alarmas, esta subrutina verifica para
asegurarse de que la propiedad Permitir
reconocer todas las alarmas esté habilitada.
Si la propiedad está deshabilitada, no se
reconocen las alarmas asociadas con ese OCX
de resumen de alarmas.

Reconocer una subrutina de alarma

Reconoce nuevas alarmas para el bloque


especificado.

Sintaxis

Reconocer una alarma [Punto de


datos], [intErrorMode]

Propiedades

La sintaxis de la subrutina
AcknowledgeAnAlarm tiene estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional) El nombre del bloque


de la base de datos para el que desea
reconocer las alarmas. Si no se especifica
ningún bloque, se reconocen las alarmas
para el bloque de la base de datos asociado
con el objeto seleccionado.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas proporcionen los mensajes de
error. Los errores se muestran en forma
de cuadro de mensaje. Si no se realiza
ninguna entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los destinos.
No se muestran mensajes de error. En su
lugar, los errores se escriben en todos los
destinos iFIX, incluidos los destinos de la
ventana del historial de alarmas mediante
SendOperatorMessage.
Subrutina AlarmHornEnabled

Obtiene o establece el estado de activación


de la bocina de alarma.

Sintaxis

AlarmHornEnabled
([blnNewValue], [intErrorMode])

Propiedades

La sintaxis de la subrutina
AlarmHornEnabled tiene estas partes:
Parte Descripción

blnNewValue Booleano. (Opcional). los


valor al que quieres
para poner la bocina de
alarma
habilitar propiedad.

intErrorMode Entero. (Opcional). los


modo de error.
0 (predeterminado): los
errores son
mostrado en forma de un
buzon de mensaje.
1 - Los errores no se
manejan
para que puedan ser
manejado en la llamada
rutina.
2 - Los errores se envían
a los destinos de alarma
utilizando
SendOperatorMessage.
Valor devuelto

Booleano. El estado de AlarmHornEnable


después de que se complete la llamada.

Verdadero = La bocina sonará en cualquier


alarma nueva.

Falso = La bocina no sonará para nuevas


alarmas.

AlarmHornEnabledToggle Subrutina

Alterna el estado AlarmHornEnabled del


sistema.

Sintaxis

AlarmHornEnabledToggle ([intErrorMode])

Propiedades

La sintaxis de la subrutina
AlarmHornEnabledToggle tiene esta parte:
Parte Descripción

intErrorMode Entero. (Opcional). los


modo de error.
0 (predeterminado): los
errores son
mostrado en forma de un
buzon de mensaje.
1 - Los errores no se
manejan
para que puedan ser
manejado en la llamada
rutina.
2 - Los errores se envían
a los destinos de alarma
utilizando
SendOperatorMessage.

Valor devuelto

Booleano. El estado de AlarmHornEnable


después de que se complete la llamada.
Verdadero = El estado se cambió a
Verdadero. La bocina sonará en cualquier
alarma nueva.
Falso = El estado se cambió a Falso. La
bocina no sonará para nuevas alarmas.

AlarmHornSilence Subrutina

Silencia la bocina de alarma.

Sintaxis

AlarmaCuernoSilencio ([intErrorMode])

Propiedades

La sintaxis de la subrutina AlarmHornSilence


tiene esta parte:
Parte Descripción

intErrorMode Entero. (Opcional). los


modo de error.
0 (predeterminado): los
errores son
mostrado en forma de un
buzon de mensaje.
1 - Los errores no se
manejan
para que puedan ser
manejado en la llamada
rutina.
2 - Los errores se envían
a los destinos de alarma
utilizando
SendOperatorMessage.

Observaciones

La bocina de alarma debe estar habilitada


para que esto funcione. Si llama a esta
rutina y la bocina de alarma está
desactivada, no se informará ningún error.
Si entra una nueva alarma después de que se
llama a esta rutina, la bocina de alarma sonará
nuevamente. Cuando las alarmas entran a un
ritmo rápido, puede parecer que la subrutina
AlarmHornSilence no está funcionando porque
las nuevas alarmas siguen activando la bocina.

Cerrar Subrutina DigitalPoint

Cierra o envía un valor de 1 al bloque digital


especificado.

Sintaxis

CerrarDigitalPoint
[DigitalPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina CloseDigitalPoint


tiene estas partes:
Parte Descripción

DigitalPoint Cuerda. (Opcional). El nombre del bloque


digital que desea cerrar. Si no se
especifica ningún bloque, cierra el punto
digital asociado al objeto seleccionado.

intErrorMode Entero. (Opcional). El modo de error. 0


(predeterminado): permite que las
subrutinas proporcionen los mensajes de
error. Los errores se muestran en forma
de cuadro de mensaje. Si no se realiza
ninguna entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los destinos.
No se muestran mensajes de error. En su
lugar, los errores se escriben en todos los
destinos iFIX, incluidos los destinos de la
ventana del historial de alarmas mediante
SendOperatorMessage.
Observaciones

Si no se especifica ningún bloque y el objeto


seleccionado no tiene un punto digital
asociado, aparece un mensaje de error que
informa al usuario que la escritura no fue
exitosa.

Cerrar Subrutina de imagen

Cierra la imagen especificada. Si hay varias


instancias de una imagen abierta, todas las
instancias de esa imagen se cierran. Si se
asigna un alias diferente a cada instancia,
puede cerrar una instancia con un alias.

Sintaxis

CerrarImagen [Imagen], [intErrorMode]

Propiedades

La sintaxis de la subrutina ClosePicture tiene


estas partes:
Parte Descripción

Fotografía Cuerda. (Opcional). los


nombre de archivo o alias
del
imagen que desea cerrar.
Si no hay ningún nombre
de archivo
especificado, el actual
La imagen activa está
cerrada.

intErrorMode Entero. (Opcional). los


modo de error.
0 (predeterminado):
permite
subrutinas para
proporcionar el
error de mensajes. Los
errores son
mostrado en forma de un
buzon de mensaje. Si no
hay entrada
está hecho para el
parámetro intErrorMode,
se utiliza el
predeterminado.
Observaciones

Si es posible, haga siempre esta llamada en la


última línea de su secuencia de comandos.
Tenga en cuenta que cuando se utiliza la
subrutina ClosePicture y el documento que se
cierra es el documento que contiene el script,
la llamada debe ser la última línea del script.
De lo contrario, puede experimentar un
comportamiento inesperado al ejecutar el
script.

Si no se llama a la subrutina ClosePicture


desde la imagen que se está cerrando y no es la
última línea de su script, asegúrese de que la
operación esté completa antes de que el resto
del script continúe ejecutándose.
Inmediatamente después de realizar la llamada,
debe ceder la CPU llamando a DoEvents. Por
ejemplo, los siguientes scripts de muestra
cierran una imagen llamada TANK1 y abren
una imagen llamada TANK2:
Sub privado Rect1_Click ()

CerrarImagen "Tanque1"

DoEvents

OpenPicture "Tank2"

End Sub
NOTA: No puede llamar a métodos en imágenes
que ha cerrado.

Desactivar subrutina de alarma

Desactiva la comprobación del límite de


alarma para el bloque especificado.

Sintaxis

DisableAlarm [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina DisableAlarm tiene


estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional) El


nombre de la base de datos
bloque para el que quieras
para deshabilitar alarmante.
Si no
se especifica el bloque,
la alarma está deshabilitada
para
el bloque asociado con
el objeto seleccionado.
intErrorMode Entero. (Opcional). El
modo de error.
0 (predeterminado):
permite que las
subrutinas proporcionen
los mensajes de error.
Los errores se muestran
en forma de cuadro de
mensaje. Si no se realiza
ninguna entrada para el
parámetro intErrorMode,
se utiliza el valor
predeterminado.
1: permite al usuario
manejar los mensajes de
error. Los errores en las
subrutinas se devuelven a
la rutina de llamada para
su manejo.
2 - Escribe errores en
todos los destinos. No se
muestran mensajes de
error. En su lugar, los
errores se escriben en
todos los destinos iFIX,
incluidos los destinos de
la ventana del historial de
alarmas mediante
SendOperatorMessage.
Habilitar subrutina de alarma

Habilita la verificación del límite de alarma


para el bloque especificado.

Sintaxis

Activar la alarma [DataPoint],


[intErrorMode]

Propiedades

La sintaxis de la subrutina EnableAlarm tiene


estas partes:

Parte Descripción

Punto de datos Cuerda. (Opcional). los


nombre de la base de datos
bloque para el que quieras
para habilitar alarmante. Si
no
se especifica el bloque,
la alarma está habilitada
para
el bloque de la base de
datos
asociado con el
objeto seleccionado.
intErrorMode Entero. (Opcional). El
modo de error.
0 - (predeterminado):
permite que las
subrutinas proporcionen
los mensajes de error.
Los errores se muestran
en forma de cuadro de
mensaje. Si no se realiza
ninguna entrada para el
parámetro intErrorMode,
se utiliza el valor
predeterminado.
1: permite al usuario
manejar los mensajes de
error. Los errores en las
subrutinas se devuelven a
la rutina de llamada para
su manejo.
2 - Escribe errores en
todos los destinos. No se
muestran mensajes de
error. En su lugar, los
errores se escriben en
todos los destinos iFIX,
incluidos los destinos de
la ventana del historial de
alarmas mediante
SendOperatorMessage.
Subrutina FetchLimits

Devuelve las EGU alta y baja de la


fuente de datos especificada.

Sintaxis

FetchLimits Fuente de datos, HiLimit,


LoLimit, ret, [intErrorMode]

Propiedades

La sintaxis de la subrutina FetchLimits tiene


estas partes:
Parte Descripción

Cuerda. El nombre de la cadena


Fuente de datos de
fuente de datos. Por ejemplo,
FIX32.MYNODE.AI1.F_CV

HiLimit Soltero. Devuelve el EGU alto


límite para la fuente de datos.

LoLimit Soltero. Devuelve la EGU baja


límite para la fuente de datos.

retirado Entero. Devuelve el estado de


la llamada:
0 = Exitoso
1 = Error de sintaxis
2 = La fuente de datos no existe
= Discrepancia en el tipo de
3 datos
intErrorMode Entero. (Opcional). El modo
de error.
0 (predeterminado): permite
que las subrutinas
proporcionen los mensajes de
error. Los errores se muestran
en forma de cuadro de mensaje.
Si no se realiza ninguna
entrada para el parámetro
intErrorMode, se utiliza el
valor predeterminado.
1: permite al usuario manejar
los mensajes de error. Los
errores en las subrutinas se
devuelven a la rutina de
llamada para su manejo.
3 - Escribe errores en todos los
destinos. No se muestran
mensajes de error. En su lugar,
los errores se escriben en todos
los destinos iFIX, incluidos los
destinos de la ventana del
historial de alarmas mediante
SendOperatorMessage.
Subrutina FindDataSource

Devuelve el nombre de cadena de la fuente de


datos que está conectada a una propiedad del
objeto especificado si la fuente de datos es una
etiqueta de base de datos iFIX o un objeto de
animación.

Sintaxis

FindDataSource (Objeto, [strProperty])

Propiedades

La sintaxis de la función FindDataSource


tiene estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

strProperty Cuerda. (Opcional). los


propiedad conectada a la
fuente de datos. Si no hay
propiedad
especificado, la función
devuelve la conexión al
primera propiedad si
encuentra que es
conectado a una fuente de
datos.

Valor devuelto

Cuerda. El nombre de cadena del objeto


de origen de datos.
Observaciones

Esta función no devuelve un valor para los


elementos dentro de los grupos. Por ejemplo, si
tiene un grupo de enlaces de datos, todos
conectados a diferentes fuentes de datos, pero el
grupo en sí no está conectado a una fuente de
datos, esta función devolverá una cadena vacía.
Solo devuelve el nombre de la fuente de datos
que está conectada al objeto que pasa para el
parámetro Objeto.

Subrutina FindLocalObject

Busca un objeto dentro de un grupo según el


nombre parcial del objeto. El grupo puede ser
una imagen, un DynamoSet o un grupo de
formas.

Sintaxis

FindLocalObject (StartObject, PartialName)

Propiedades

La sintaxis de la subrutina FindLocalObject


tiene estas partes:
Parte Descripción

StartObject Objeto. El nombre de


Fotografía o Grupo donde
el objeto que estas mirando
porque está contenido.

Cuerda. Un nombre parcial


PartialName para
el objeto que se va a
encontrar. Para
ejemplo, si el objeto está
lleno
el nombre es
PipeColorAnim1,
puedes pasar
"PipeColorA" o "PipeC".

Valor devuelto

Objeto. El primer objeto del grupo cuyo


nombre contiene lo que se ingresa para
PartialName.
Observaciones

Por ejemplo, si, a través de secuencias de


comandos, desea obtener un objeto dentro de
un Grupo para animar el relleno vertical de ese
objeto en particular, use FindLocalObject con
el nombre del grupo y solo un nombre parcial
del objeto para completar.

FindLocalObject se utiliza normalmente para


conjuntos de Dynamo en los que los objetos de
Dynamo comparten nombres comunes para
todos sus objetos contenidos; la única
diferencia es la terminación numérica. Los
formularios y subrutinas que llaman a esta
subrutina utilizan el nombre parcial para
operar en todos los objetos Dynamo similares
de modo que todos los objetos Dynamo
similares en una imagen puedan usar las
mismas subrutinas y formularios. Esto supone
que el usuario que crea los objetos Dynamo
usa una convención de nomenclatura para los
objetos dentro del objeto Dynamo.
soldado americano

Subrutina GeneratePicture

Crea una nueva imagen.

Sintaxis

Generar imagen (aPicInfo)

Propiedades

La sintaxis de la subrutina GeneratePicture


tiene esta parte:

Parte Descripción

aPicInfo La estructura PictureInfo


especifica las propiedades de
la imagen que se generará.

Los miembros de la estructura PictureInfo


son los siguientes:
Miembro Descripción

lfTopPct La tapa preferida


ubicación del borde de
la ventana
de la imagen siendo
generado. La locación
Unidad, píxel o
porcentaje,
Esta determinado por
bPíxeles. El tipo es
Doble.

lfLeftPct La izquierda preferida


ubicación del borde de
la ventana
de la imagen siendo
generado. La locación
Unidad, píxel o
porcentaje,
Esta determinado por
bPíxeles. El tipo es
Doble.
lfHeightPct La altura de ventana
preferida de la imagen
que se está generando. La
dimensión Unidad, píxel
o porcentaje, está
determinada por bPixels.
El tipo es doble.

lfWidthPct El ancho de ventana


preferido de la imagen
que se está generando. La
dimensión Unidad, píxel
o porcentaje, está
determinada por bPixels.
El tipo es doble.

lBkColor Color para el color de


fondo de la imagen. El
tipo es largo.

szName El nombre de la imagen.


El tipo es String.
bPíxeles Determina si las
unidades de ubicación
de la ventana son
píxeles o porcentajes.
El tipo es booleano.

bTitlebar Define si la ventana de


imagen tiene o no una
barra de título. El tipo es
booleano.

bSystemMenu Define si la ventana de


imagen tiene o no un
menú de sistema. El tipo
es booleano.

b Define si se puede
Redimensionab cambiar el tamaño de la
le ventana de imagen. El
tipo es booleano.
bAlwaysOnTop
bRuntimeVisible Define si la ventana de
imagen está siempre
encima de otras
ventanas de imagen. El
tipo es booleano.

Define si la imagen es
visible o no en tiempo
de ejecución. El tipo es
booleano.

Subrutina GetAllConnections

Recupera todos los bloques de datos


conectados a objetos en una imagen o en un
grupo.

Sintaxis

GetAllConnections (Obj)
Propiedades

La sintaxis de la subrutina GetAllConnections


tiene esta parte:
Part Descripción
e
Objeto. Por lo general, el objeto de
Obj página que representa la imagen
cuyas conexiones desea recuperar.
También puede ser un objeto de
grupo.

Valor devuelto

Colección. La colección de todos los nombres


completos de los elementos de la base de datos
en la imagen. Estos elementos pueden ser
enlaces de datos o elementos de datos que
animan objetos.

Subrutina GetDecimalSeparator
Método reservado utilizado internamente para
expertos.

Sintaxis

GetDecimalSeparator ([intErrorMode])
Propiedades

La sintaxis de la subrutina
GetDecimalSeparator tiene esta parte:

Parte Descripción

intErrorMode Entero. (Opcional). El modo de


error. 0 (predeterminado): permite
que las subrutinas proporcionen los
mensajes de error. Los errores se
muestran en forma de cuadro de
mensaje. Si no se realiza ninguna
entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en
las subrutinas se devuelven a la
rutina de llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes
de error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana
del historial de alarmas mediante
SendOperatorMessage.
Subrutina GetFormDynamoColor

Método reservado utilizado internamente


para iFIX Dynamos.

Sintaxis

GetFormDynamoColor DynColor

Subrutina GetFormNumeric

Método reservado utilizado internamente para


expertos.

Sintaxis

GetFormNumeric ()

Subrutina GetFormPushbutton

Método reservado utilizado internamente para


expertos.

Sintaxis

GetFormPushbutton ()
Subrutina GetFormRamp

Método reservado utilizado internamente para


expertos.

Sintaxis

GetFormRamp ()

Subrutina GetFormSlider

Método reservado utilizado internamente para


expertos.

Sintaxis

GetFormSlider ()

GetLocaleInfoA subrutina

Recupera información relacionada con una


localidad específica.
Sintaxis

GetLocaleInfoA (Configuración regional,


LCType, lpLCData, cchData)

Propiedades

La sintaxis de la subrutina GetLocaleInfoA


tiene estas partes:
Parte Descripción

Largo. El ID de configuración regional


Lugar desde donde
desea obtener información.

LCType Largo. El tipo de información a


recuperar. Consulte el archivo
API32.TXT para
constantes con el prefijo LOCALE_.

lpLCData Cuerda. Búfer para cargar con el


información. Asegúrate de que esta
cadena sea
inicializado a la longitud adecuada.

cchData Largo. La longitud de lpLCData


búfer, o cero para obtener la longitud del
búfer.

Valor devuelto

Largo. El número de caracteres cargados en


el búfer. Cero en caso de error.

Observaciones
GetLocaleInfoA es una llamada a la API de
Windows.
Subrutina GetUserDefaultLCID

Recupera la configuración regional


predeterminada del usuario actual.

Sintaxis

GetUserDefaultLCID ()

Valor devuelto

Largo. El ID de configuración regional


predeterminado para el usuario actual.

Observaciones

GetUserDefaultLCID es una llamada a la


API de Windows.

Subrutina HandleError

La rutina del controlador de errores global.


Muestra el número de error y su descripción
cuando ocurre un error.
Sintaxis

HandleError([intErrorMode])

Propiedades

La sintaxis de la subrutina HandleError tiene


esta parte:
Parte Descripción

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas proporcionen los mensajes
de error.
Los errores se muestran en forma
de cuadro de mensaje. Si no se
realiza ninguna entrada para el
parámetro intErrorMode, se utiliza
el valor predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en
las subrutinas se devuelven a la
rutina de llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes de error. En su
lugar, los errores se escriben en todos los destinos
iFIX, incluidos los destinos de la ventana del historial
de alarmas mediante SendOperatorMessage.
Subrutina IsUserFxg

Determina si el documento activo es User.fxg.

Sintaxis

IsUserFxg ()

Valor devuelto

Booleano. Verdadero si la imagen activa


es User.fxg. Falso si no lo es.

Observaciones

Esta subrutina es útil cuando se recorre la


colección de documentos abiertos. Por lo
general, un usuario no querría realizar las
mismas acciones que usted hace en User.fxg
que haría en una imagen o programa. Por lo
tanto, si IsUserFxg devuelve True, el usuario
puede escribir su código para omitir User.fxg.
LR

Subrutina LocateObject

Busca una imagen para el objeto especificado


y selecciona el objeto.

Sintaxis

LocateObject LinkName,
bRelative, [intErrorMode]

Propiedades

La sintaxis de la subrutina LocateObject tiene


estas partes:
Parte Descripción

LinkName Cuerda. El nombre de


objeto para el que quieres
buscar.

b Relativo Booleano. Si es cierto, el


la imagen actual es
buscado; si es falso, todo
las fotos abiertas son
buscado.
intErrorMode Entero. (Opcional). El
modo de error.
0 (predeterminado):
permite que las
subrutinas proporcionen
los mensajes de error.
Los errores se muestran
en forma de cuadro de
mensaje. Si no se realiza
ninguna entrada para el
parámetro intErrorMode,
se utiliza el valor
predeterminado.
2 - Permite al usuario
manejar los mensajes de
error. Los errores en las
subrutinas se devuelven a
la rutina de llamada para
su manejo.
3 - Escribe errores en
todos los destinos. No se
muestran mensajes de
error. En su lugar, los
errores se escriben en
todos los destinos iFIX,
incluidos los destinos de
la ventana del historial de
alarmas mediante
SendOperatorMessage.
Subrutina de inicio de sesión

La subrutina LogIn:

• Ejecuta el programa de inicio de sesión


estándar.
• Cierra la sesión del usuario actual al
aceptar un nuevo inicio de sesión y guarda la
información del usuario actual que se restaura
después de la ejecución de una subrutina de
inicio de sesión posterior.
• Actualiza la información de ID de
usuario para que todos los mensajes del
operador y la verificación de seguridad del
nodo SCADA reflejen al usuario correcto.

Sintaxis
Acceso([intErrorMode]) ([bPushCurrentUser
como booleano])

Propiedades

La sintaxis de la subrutina LogIn tiene estas


partes:
Parte Descripción

intErrorMo Entero. (Opcional). El modo de error.


Delaware 0 (predeterminado): permite que las
subrutinas proporcionen los mensajes de
error. Los errores se muestran en forma
de cuadro de mensaje. Si no se realiza
ninguna entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes de
error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana del
historial de alarmas mediante
SendOperatorMessage.
bPushCurr Booleano. (Opcional).
Falso (predeterminado): de forma
entUser predeterminada, esta función
está desactivado.
Verdadero: empuja al usuario actual
(UserA)
a la pila al iniciar sesión como un nuevo
usuario
(UsuarioB). Este parámetro le permite
cerrar sesión UserA después de aceptar el
UserB
iniciar sesión pero guarda la información
de UserA.
La información guardada se restaura
después
la ejecución de un cierre de sesión
posterior
subrutina.

Subrutina OffScan

Coloca el bloque especificado fuera de la


exploración.

Sintaxis

OffScan [DataPoint], [intErrorMode]


Propiedades

La sintaxis de la subrutina OffScan tiene


estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional). El nombre de


bloque de base de datos que desea
convertir
fuera de escaneo. Si no se especifica
ningún bloque,
el bloque de la base de datos para el
seleccionado
el objeto está apagado el escaneo.

Entero. (Opcional). El modo de


intErrorMode error.
0 (predeterminado): permite las
subrutinas
para proporcionar los mensajes de
error.
Los errores se muestran en forma de
buzon de mensaje. Si no se hace
ninguna entrada
para el parámetro intErrorMode, el
se utiliza por defecto.
1 - Permite al usuario manejar el
error de mensajes. Errores en el
las subrutinas se devuelven al
rutina de llamada para su
manipulación.
2 - Escribe errores en todos los
destinos.
No se muestran mensajes de error.
En lugar de,
los errores se escriben en todos los
iFIX
destinos, incluida la alarma
Destinos de la ventana del historial
usando
SendOperatorMessage.
Subrutina OnScan

Coloca el bloque especificado en la


exploración.

Sintaxis

OnScan [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina OnScan tiene estas


partes:
Parte Descripción

Punto de datos Cuerda. (Opcional). El nombre del


bloque de la base de datos que desea
escanear. Si no especifica un nombre,
el bloque de base de datos para el
objeto seleccionado se pone en
exploración.

intErrorM Entero. (Opcional). El modo de error.


oda 0 (predeterminado): permite que las
subrutinas proporcionen los mensajes
de error. Los errores se muestran en
forma de cuadro de mensaje. Si no se
realiza ninguna entrada para el
parámetro intErrorMode, se utiliza el
valor predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes
de error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana
del historial de alarmas mediante
SendOperatorMessage.
Subrutina OpenDigitalPoint

Abre o envía un valor de 0 al bloque digital


especificado.

Sintaxis

OpenDigitalPoint
[DigitalPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina OpenDigitalPoint


tiene estas partes:
Parte Descripción

DigitalPoint Cuerda. (Opcional). El nombre del bloque


digital que desea abrir. Si no se especifica
ningún bloque, abre el punto digital
asociado al objeto seleccionado.

bstrEventName Entero. (Opcional). El modo de error. 0


(predeterminado): permite que las
subrutinas proporcionen los mensajes
de error. Los errores se muestran en
forma de cuadro de mensaje. Si no se
realiza ninguna entrada para el
parámetro intErrorMode, se utiliza el
valor predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes de
error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana del
historial de alarmas mediante
SendOperatorMessage.
Observaciones

Si no se especifica ningún bloque y el objeto


seleccionado no tiene un punto digital
asociado, aparecerá un mensaje de error
informando al usuario que la escritura no fue
exitosa.

Subrutina OpenPicture

Abre la imagen especificada.

Sintaxis

OpenPicture [Imagen], [PictureAlias],


[TopPosition], [LeftPosition],
[intErrorMode], [CallingPicture],
[TSPicType], [TagList], [bNewInstance]

Propiedades

La sintaxis de la subrutina OpenPicture tiene


estas partes:
Parte Descripción

Cuerda. (Opcional) El
Fotografía archivo
nombre de la imagen que
quiero abrir. Si no hay
archivo
se especifica el nombre, el
Se inicia el cuadro de
diálogo Abrir
permitiendo al usuario
seleccionar
una imagen para abrir.

PictureAlias Cuerda. (Opcional) El


alias que quieres
asignar a la imagen.

TopPosition Variante. (Opcional) El


posición en la que tu
quiero colocar la parte
superior de
la imagen. Predeterminado
= 0.

Posición
Izquierda Variante. (Opcional) El
posición en la que tu
quiero colocar el lado
izquierdo
de la imagen.
Predeterminado =
0.
intErrorMode Entero. (Opcional) El
modo de error.
0 (predeterminado):
permite que las
subrutinas proporcionen
los mensajes de error.
Los errores se muestran
en forma de cuadro de
mensaje. Si no se realiza
ninguna entrada para el
parámetro intErrorMode,
se utiliza el valor
predeterminado.
1: permite al usuario
manejar los mensajes de
error. Los errores en las
subrutinas se devuelven a
la rutina de llamada para
su manejo.
2 - Escribe errores en
todos los destinos. No se
muestran mensajes de
error. En su lugar, los
errores se escriben en
todos los destinos iFIX,
incluidos los destinos de
la ventana del historial de
alarmas mediante
SendOperatorMessage.
Vocación Objeto. (Opcional) El
imagen cuyo estado de
Fotografía etiqueta
la funcionalidad será
accedido.

TSPicType TS_PIC_TYPE
(Opcional) El tipo de
Etiquetar imagen de estado
para
abierto:
- Imagen TS de etiqueta
0 única
1 - Tendencia rápida
- Panel de control de
2 etiquetas

TagList Variante. (Opcional) Una


matriz de cadenas que se
utilizarán
en la imagen de estado de
la etiqueta.
bNewInstance Booleano. (Opcional)
Describe si el
La imagen es una nueva
instancia.
Este campo es útil cuando
abriendo varias imágenes.
Verdadero: abre una
nueva
instancia del mismo
fotografía.
Falso: no abre una nueva
instancia de la imagen.
Ésta es la configuración
predeterminada.

Observaciones

El alias es un nombre de imagen genérico


definido por el usuario. Mediante el uso de
alias, puede controlar la apertura y el cierre
de varias imágenes sin preocuparse por la
imagen que se muestra actualmente.

La funcionalidad de estado de etiqueta está


disponible solo cuando no se ha
proporcionado una cadena de imagen y si se
proporcionan los parámetros CallingPicture y
TSPicType.
Si no se proporciona el parámetro
CallingPicture, la llamada a OpenPicture se
trata como una solicitud de OpenPicture
normal. Si se proporciona el parámetro
CallingPicture, pero no el parámetro
TSPicType, la llamada a OpenPicture genera
un mensaje de error.

Si se ha proporcionado una cadena a través


del parámetro Imagen, se invoca la
funcionalidad estándar de OpenPicture. En
este caso, se ignoran los parámetros
CallingPicture, TSPicType y TagList.

En el modo de ejecución, puede modificar las


secuencias de comandos de VBA en una
nueva instancia de una imagen. Sin embargo,
las modificaciones de los scripts en una
instancia de una imagen no se guardarán. No
se permite guardar cambios en los scripts en
el modo de ejecución. Para realizar cambios
en un script en la imagen principal, cambie al
modo de configuración y edite el script en la
imagen principal (no en la instancia).

Subrutina OpenTGDPicture
Abre la imagen especificada con el archivo de
grupo de etiquetas especificado.
Sintaxis

OpenTGDPicture [Imagen],
[PictureAlias], [TopPosition],
[LeftPosition], [TagGroupName],
[intErrorMode], [bNewInstance]

Propiedades

La sintaxis de la subrutina OpenTGDPicture


tiene estas partes:

Parte Descripción

Cuerda. (Opcional) El nombre de


Fotografía archivo de
la imagen que desea abrir. Si no
se especifica el nombre del archivo,
el
Se inicia el cuadro de diálogo que
permite al usuario
para seleccionar una imagen para
abrir.

PictureAlias Cuerda. (Opcional) El alias que


desea asignar a la imagen.
Parte Descripción

TopPosition Variante. (Opcional) La posición


en la que desea colocar la parte
superior de la imagen.
Predeterminado = 0.

Posición IzquierdaVariante. (Opcional) La posición


en la que desea colocar el lado
izquierdo de la imagen.
Predeterminado = 0.

TagGroupNa Cadena (opcional) El archivo de


grupo de etiquetas
me nombre. No especifique una ruta
para este parámetro.
Parte Descripción

intErrorMode Entero. (Opcional) El modo de error.


0 (predeterminado): permite que las
subrutinas proporcionen los mensajes
de error.
Los errores se muestran en forma
de cuadro de mensaje. Si no se
realiza ninguna entrada para el
parámetro intErrorMode, se utiliza
el valor predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en
las subrutinas se devuelven a la
rutina de llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes
de error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana
del historial de alarmas mediante
SendOperatorMessage.
Parte Descripción

bNewInstance Booleano. (Opcional) Describe si


la imagen es una nueva instancia.
Este campo es útil al abrir varias
imágenes.
Verdadero: abre una nueva
instancia de la misma imagen.
Falso: no abre una nueva
instancia de la imagen. Ésta es la
configuración predeterminada.

Observaciones

El alias es un nombre de imagen genérico


definido por el usuario. Mediante el uso de
alias, puede controlar la apertura y el cierre
de varias imágenes sin preocuparse por la
imagen que se muestra actualmente.
En el modo de ejecución, puede modificar las
secuencias de comandos de VBA en una
nueva instancia de una imagen. Sin embargo,
las modificaciones de los scripts en una
instancia de una imagen no se guardarán. No
se permite guardar cambios en los scripts en
el modo de ejecución. Para realizar cambios
en un script en la imagen principal, cambie al
modo de configuración y edite el script en la
imagen principal (no en la instancia).

Subrutina PictureAlias

Asigna un alias o apodo a la imagen actual.

Sintaxis

PictureAlias PictureAlias, [intErrorMode]

Propiedades

La sintaxis de la subrutina PictureAlias tiene


estas partes:
Parte Descripción

PictureAlias Cuerda. El alias que desea


asignar a la imagen actual.

intErrorMode Entero. (Opcional). El modo


de error.
0 (predeterminado): permite que
las subrutinas proporcionen los
mensajes de error. Los errores se
muestran en forma de cuadro de
mensaje. Si no se realiza ninguna
entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores
en las subrutinas se devuelven a
la rutina de llamada para su
manejo.
2 - Escribe errores en todos los
destinos. No se muestran
mensajes de error. En su lugar,
los errores se escriben en todos
los destinos iFIX, incluidos los
destinos de la ventana del
historial de alarmas mediante
SendOperatorMessage.
Subrutina PrintReport

Imprime el informe de Crystal especificado.

Sintaxis

Imprimir reporte Reporte,


[Solicitud], [Copias], [Coll], [StartNo],
[EndNo],
[intErrorMode]

Propiedades

La sintaxis de la subrutina PrintReport tiene


estas partes:
Parte Descripción

Cuerda. El nombre del informe que se va a


Reporte imprimir.
incluida la ruta completa del archivo.

Inmediat Booleano. (Opcional) Si es Verdadero, el


o usuario es
se le solicita con el cuadro de diálogo de
informe abierto,
permitiendo al usuario seleccionar el
informe para
impresión. Si es falso, el informe
especificado es
impreso. Esta opción se ignora en Crystal
XI.

Copias Largo. (Opcional) El número de copias a


impresión. Predeterminado = 1. Esta
opción se ignora
en Crystal XI.
Booleano. (Opcional) Si es verdadero, los
Coll informes
se cotejan. Si es falso, no lo son. Esta
La opción se ignora en Crystal XI.
Parte Descripción

Inicio No Largo. (Opcional) La primera página


del informe para imprimir. Esta opción
se ignora en Crystal XI.

Fin No Largo. (Opcional) La última página del


informe para imprimir. Esta opción se
ignora en Crystal XI.
Parte Descripción

intErro Entero. (Opcional). El modo de error.


Esta
rMode La opción se ignora en Crystal XI.
0 (predeterminado): permite que las
subrutinas proporcionen los mensajes de
error. Los errores se muestran en forma
de cuadro de mensaje. Si no se realiza
ninguna entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los destinos.
No se muestran mensajes de error. En su
lugar, los errores se escriben en todos los
destinos iFIX, incluidos los destinos de la
ventana del historial de alarmas mediante
SendOperatorMessage.

Subrutina QuickAdd
Inicia el cuadro de diálogo Agregar rápido
para agregar un bloque de datos.
Sintaxis

QuickAdd (Fuente de datos,


[intErrorMode])

Propiedades

La sintaxis de la subrutina QuickAdd tiene


estas partes:
Parte Descripción

Fuente de datos Cuerda. El nombre del bloque de


base de datos que desea agregar.

intErrorMode Entero. (Opcional). El modo


de error.
0 (predeterminado): permite que
las subrutinas proporcionen los
mensajes de error. Los errores se
muestran en forma de cuadro de
mensaje. Si no se realiza ninguna
entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores
en las subrutinas se devuelven a
la rutina de llamada para su
manejo.
2 - Escribe errores en todos los
destinos. No se muestran
mensajes de error. En su lugar,
los errores se escriben en todos
los destinos iFIX, incluidos los
destinos de la ventana del
historial de alarmas mediante
SendOperatorMessage.
Valor devuelto

Entero. El estado del bloque de la base de


datos.

0 = OK (el bloque de datos ya existe)

1 = sintaxis no válida

2 = Indefinido (se inicia el cuadro de diálogo


Agregar rápido)

3 = No coincide el tipo de datos

4 = El usuario eligió Usar de todos modos

5 = El usuario eligió no agregar el bloque

Subrutina RampValue

Incrementa manualmente el bloque de base de


datos especificado aumentando o
disminuyendo su valor actual en un porcentaje
específico del rango de unidades de ingeniería
(EGU).
Sintaxis

RampValue RampValue,
ByPercent, [DataPoint],
[intErrorMode]

Propiedades

La sintaxis de la subrutina RampValue tiene


estas partes:

Parte Descripción

Cuerda. El valor que desea utilizar


RampValue para
rampa el bloque de la base de datos.

Booleano. Si es Verdadero, el bloque


Por porcentaje es
incrementado por el porcentaje de la
Gama EGU. Si es falso, el punto de
datos
es incrementado por RampValue.

Punto de datos Cuerda. (Opcional). El nombre de


bloque de base de datos que desea
rampa. Si no se especifica ningún
bloque,
valor de la fuente de datos asociada
con el objeto seleccionado se rampa.
intErrorMode Entero. (Opcional). El modo de
error. 0 (predeterminado): permite
que las subrutinas proporcionen los
mensajes de error. Los errores se
muestran en forma de cuadro de
mensaje. Si no se realiza ninguna
entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en
las subrutinas se devuelven a la
rutina de llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes
de error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana
del historial de alarmas mediante
SendOperatorMessage.
Subrutina ReadValue

Lee el valor del bloque especificado.

Sintaxis

ReadValue [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina ReadValue tiene


estas partes:

Parte Descripción

Punto de datos Cuerda. (Opcional). El bloque de


la base de datos que desea leer. Si
no se especifica ningún bloque, se
lee la fuente de datos asociada
con el objeto seleccionado.
intErrorMode Entero. (Opcional). El modo de error.
0 (predeterminado): permite que las
subrutinas proporcionen los mensajes
de error.
Los errores se muestran en forma
de cuadro de mensaje. Si no se
realiza ninguna entrada para el
parámetro intErrorMode, se utiliza
el valor predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en
las subrutinas se devuelven a la
rutina de llamada para su manejo.
2 - Escribe errores en todos los
destinos. No se muestran mensajes
de error. En su lugar, los errores se
escriben en todos los destinos iFIX,
incluidos los destinos de la ventana
del historial de alarmas mediante
SendOperatorMessage.

Valor devuelto
ReadValue devuelve el valor del bloque
especificado.
Subrutina RegCloseKey

Cierra una clave en el registro del sistema.


FactoryGlobals proporciona la instrucción
Declare en GlobalSubroutines para que pueda
usar esta llamada a la API de Windows sin
declararla en sus procedimientos.

NOTA: Para los usuarios de Crystal XI, use


elSubrutina PrintReport en lugar de usar el
Subrutinas RegOpenKeyEx y RegCloseKeyEx.
La subrutina PrintReport hará todas las
entradas del registro por usted.

Sintaxis

RegCloseKey (hKey)

Propiedades

La sintaxis de la subrutina RegCloseKey


tiene esta parte:
Parte Descripción

hKey Largo. La clave para cerrar.

Valor devuelto

Largo. Cero éxito. Todos los demás


valores indican un error.

Observaciones

RegCloseKey es una llamada a la API de


Windows.

Subrutina RegOpenKeyEx

Abre una clave de registro existente.


FactoryGlobals proporciona la instrucción
Declare en GlobalSubroutines para que pueda
usar esta llamada a la API de Windows sin
declararla en sus procedimientos.
NOTA: Para los usuarios de Crystal XI, use
elSubrutina PrintReport en lugar de usar el
Subrutinas RegOpenKeyEx y RegCloseKeyEx.
La subrutina PrintReport hará todas las
entradas del registro por usted.

Sintaxis

RegOpenKeyEx (hKey, lpSubKey,


ulOptions, samDesired, phkResult)

Propiedades

La sintaxis de la subrutina RegOpenKeyEx


tiene estas partes:
Parte Descripción

Largo. Mango de una llave abierta o


hKey una
de los nombres de clave estándar.
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
Utilice el visor de API VB5.0 para
obtener el
número hexadecimal correcto para la
llave.

lpSubKey Cuerda. Nombre de la llave a abrir.

ulOptions Largo. No usado. Poner a cero.

samDesired Largo. Una o más constantes con el


prefijo KEY_ que describe qué
se permiten operaciones para esta
clave.

phkResult
Largo. Variable para cargar con asa
a la llave abierta.
Valor devuelto

Largo. Cero éxito. Todos los demás


valores indican un error.

Observaciones

RegOpenKeyEx es una llamada a la API de


Windows.

Subrutina Reemplazar imagen

Cierra una imagen y la reemplaza por otra


imagen. Si una imagen con un archivo de
grupo de etiquetas especificado ya está abierta
en el WorkSpace, se abre otra instancia de esa
imagen con el mismo archivo de grupo de
etiquetas en el WorkSpace. La imagen que se
abre se estirará o sesgará para ajustarse a la
altura del documento y el ancho de la imagen
que se reemplaza. La configuración
DisableAutoScale no afecta este
comportamiento.
Sintaxis

Reemplazar imagen NewPicture,


[OldPicture], [TagGroupFileName],
[intErrorMode],
[bShowPictureNotOpenErrors];
[CallingPicture]; [TSPicType]; [TagList];
[bNewInstance]

Propiedades

La sintaxis de la subrutina ReplacePicture


tiene estas partes:

Parte Descripción

Cuerda. El nombre de archivo de la


Nueva imagen imagen
quieres abrir.

Cuerda. (Opcional) El nombre de


Viejo cuadro archivo del
Fotografía desea reemplazar. Si no
se especifica la imagen, la activa
actualmente
se reemplaza la imagen.
Parte Descripción

Cuerda. (Opcional) El nombre de


archivo del
Archivo de grupo de etiquetas con el que
TagGroupFileN desea cargar
ame la nueva imagen.

Entero. (Opcional) El modo de error.


0 (predeterminado): permite que las
intErrorMode subrutinas
proporcionar los mensajes de error. Los
errores son
se muestra en forma de mensaje
caja. Si no se realiza ninguna entrada
para el
intErrorMode, el valor predeterminado
es
usó.
1: permite al usuario manejar el error
mensajes. Los errores en las subrutinas
son
pasado de nuevo a la rutina de llamada
para
manejo.
2 - Escribe errores en todos los destinos.
No
Aparecen mensajes de error. En cambio,
el
los errores se escriben en todos los iFIX
destinos, incluida la alarma
Destinos de la ventana del historial
usando
SendOperatorMessage.
Parte Descripción

Booleano. (Opcional). Si se establece


este valor
a VERDADERO, aparece un error
bMostrarimagenN cuando el
La imagen que se va a reemplazar no
otOpenErrors está abierta y
no se produce ningún reemplazo. El
valor predeterminado es
FALSO.

Objeto. (Opcional) La imagen cuya


la funcionalidad del estado de la etiqueta
LlamandoImagen será
accedido.

TS_PIC_TYPE (Opcional) El tipo de


TSPicType Etiqueta de imagen de estado para abrir:
0 - Imagen de estado de etiqueta única
1 - Imagen de tendencia rápida
2 - Imagen del panel de control de
etiquetas
Variante. (Opcional) Una matriz de
cadenas
que se utilizará en la imagen de estado
TagList de la etiqueta.
Parte Descripción

Booleano. (Opcional). Describe


bNewInstance si la imagen es una nueva instancia.
Este campo es útil al abrir varias
imágenes. Si el valor se establece en
TRUE, se abre una nueva instancia
de la misma imagen. Si el valor se
establece en FALSE, no se abre una
nueva instancia de la imagen. El
valor predeterminado es
FALSO.

Observaciones

La funcionalidad de estado de etiqueta está


disponible solo cuando no se ha proporcionado
una cadena NewPicture y si se proporcionan
los parámetros CallingPicture y TSPicType. Si
no se proporciona el parámetro CallingPicture,
la llamada a ReplacePicture se trata como una
solicitud de ReplacePicture no válida. Si se
proporciona el parámetro CallingPicture, pero
no el parámetro TSPicType, la llamada a
ReplacePicture se trata como una solicitud de
ReplacePicture no válida.
Si se ha proporcionado una cadena a través del
parámetro NewPicture, se invoca la
funcionalidad estándar ReplacePicture. En este
caso, se ignoran los parámetros CallingPicture,
TSPicType y TagList.

Si es posible, haga siempre esta llamada en la


última línea de su secuencia de comandos.
Tenga en cuenta que cuando se utiliza la
subrutina ReplacePicture y el documento que
se reemplaza es el documento que contiene el
script, la llamada debe ser la última línea del
script. De lo contrario, puede experimentar un
comportamiento inesperado al ejecutar el
script.

Si la subrutina ReplacePicture no está en la


imagen que se reemplaza y no es la última
línea de su script, asegúrese de que la
operación esté completa antes de que el resto
del script continúe ejecutándose.
Inmediatamente después de realizar la
llamada, debe ceder la CPU llamando a
DoEvents.
Por ejemplo, la siguiente secuencia de
comandos de muestra reemplaza una imagen
llamada TANK1 con una imagen llamada
TANK2, luego abre otra imagen llamada
TANK3:
Sub privado Rect1_Click ()

Reemplazar imagen "Tanque2",


"Tanque1"

DoEvents

OpenPicture "Tank3"

End Sub

Reemplazar subrutina de imagen


TGD

Cierra una imagen y la reemplaza por otra


imagen con el archivo de grupo de etiquetas
especificado. Si una imagen con ese archivo
de grupo de etiquetas especificado ya está
abierta en el WorkSpace, se abre otra
instancia de esa imagen con el mismo
archivo de grupo de etiquetas en el
WorkSpace.
Sintaxis

ReemplazarTGDPicture Nueva
imagen, TagGroupName,
[OldPicture], [bNewInstance]

Propiedades

La sintaxis de la subrutina
ReplaceTGDPicture tiene estas partes:
Parte Descripción

Cuerda. El nombre de archivo de la


Nueva imagen imagen
quieres abrir.

Cuerda. Nombre de archivo del grupo


TagGroupName de etiquetas. No
especificar una ruta.

Cuerda. (Opcional) El nombre de


Viejo cuadro archivo del
Fotografía desea reemplazar. Si no
se especifica la imagen, el actual
se reemplaza la imagen activa.

bNewInstance Booleano. (Opcional). Describe


si la imagen es una nueva instancia.
Este campo es útil al abrir
múltiples imágenes. Si el valor se
establece en
VERDADERO, una nueva instancia del
mismo
se abre la imagen. Si el valor se
establece en
FALSO, luego una nueva instancia del
la imagen no se abre. El valor
predeterminado es
FALSO.
Observaciones

Si es posible, haga siempre esta llamada en la


última línea de su secuencia de comandos.
Tenga en cuenta que cuando se utiliza la
subrutina ReplaceTGDPicture y el documento
que se reemplaza es el documento que
contiene el script, la llamada debe ser la última
línea del script. De lo contrario, puede
experimentar un comportamiento inesperado al
ejecutar el script.

Si la subrutina ReplaceTGDPicture no está en


la imagen que se está reemplazando y no es la
última línea de su script, asegúrese de que la
operación esté completa antes de que el resto
del script continúe ejecutándose.
Inmediatamente después de realizar la
llamada, debe ceder la CPU llamando a
DoEvents.
SZ

SetAuto Subrutina

Establece el bloque especificado en modo


automático.

Sintaxis

SetAuto [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina SetAuto tiene estas


partes:
Parte Descripción

Punto de datos Cuerda. (Opcional) El nombre del


bloque de base de datos que desea
establecer
modo automatico. Si no se especifica
ningún bloque,
el bloque de base de datos asociado con el
el objeto seleccionado se establece en modo
automático.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas
proporcionar los mensajes de error. Los
errores son
se muestra en forma de cuadro de mensaje.
Si
no se realiza ninguna entrada para
intErrorMode
parámetro, se utiliza el predeterminado.
1: permite al usuario manejar el error
mensajes. Los errores en las subrutinas son
pasado de nuevo a la rutina de llamada para
manejo.
2 - Escribe errores en todos los destinos.
No
Aparecen mensajes de error. En cambio, los
errores
se escriben en todos los destinos iFIX,
incluida la ventana Historial de alarmas
destinos que utilizan
SendOperatorMessage.
Establecer subrutina manual

Establece el bloque especificado en modo


manual.

Sintaxis

SetManual [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina SetManual tiene


estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional) El nombre del


bloque de base de datos que desea
establecer
modo manual. Si no se especifica ningún
bloque,
el bloque de base de datos asociado con
el
el objeto seleccionado se establece en
modo manual.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas
proporcionar los mensajes de error. Los
errores son
se muestra en forma de cuadro de
mensaje.
Si no se realiza ninguna entrada para el
intErrorMode, el valor predeterminado
es
usó.
1: permite al usuario manejar el error
mensajes. Los errores en las subrutinas
son
pasado de nuevo a la rutina de llamada
para
manejo.
2 - Escribe errores en todos los destinos.
No
Aparecen mensajes de error. En cambio,
el
los errores se escriben en todos los iFIX
destinos, incluida la alarma
Destinos de la ventana del historial
usando
SendOperatorMessage.
Subrutina ShellExecute

Busca el nombre de archivo del programa


asociado con un archivo especificado y ejecuta
el programa para el archivo o imprime el
archivo. FactoryGlobals proporciona la
instrucción Declare en GlobalSubroutines para
que pueda usar esta llamada a la API de
Windows sin declararla en sus
procedimientos.

Sintaxis

ShellExecute (hwnd, lpOperation, lpFile,


lpParameters, lpDirectory, nShowCmd)

Propiedades

La sintaxis de la subrutina ShellExecute tiene


estas partes:
Parte Descripción

hwnd Largo. Un tirador para una ventana.

lpOperación Cuerda. La cadena "Abrir" para abrir


el documento lpFile o "Imprimir"
para
Imprímelo. Puede usar vbNullString
por defecto a "Abrir".

lpFile Cuerda. Un nombre de programa o el


nombre de un archivo para imprimir
o abrir usando
el programa asociado.

Cuerda. Una cadena con parámetros


lpParameters para
pasar al archivo exe si lpszFile es un
Archivo ejecutable. VbNullString si
lpszFile se refiere a un archivo de
documento o
si se utilizan parámetros on.

Cuerda. La ruta completa de la


lpDirectory predeterminada
directorio a utilizar.

nShowCmd Largo. Un valor constante que


especifica
cómo mostrar el programa lanzado.
Valor devuelto

Largo. El éxito de la llamada ShellExecute.


Un valor superior a 32 significa éxito.

Observaciones

ShellExecute es una llamada a la API de


Windows.

Subrutina ToggleDigitalPoint

Alterna el estado actual del bloque digital


entre abierto y cerrado.

Sintaxis

ToggleDigitalPoint
[DigitalPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina ToggleDigitalPoint


tiene estas partes:
Parte Descripción

DigitalPoint Cuerda. (Opcional). El nombre de


bloque digital que desea alternar. Si
no se especifica ningún bloque, abre el
digital
punto asociado con el objeto seleccionado.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas
proporcionar los mensajes de error. Los
errores son
se muestra en forma de cuadro de
mensaje.
Si no se realiza ninguna entrada para
intErrorMode
parámetro, se utiliza el predeterminado.
1: permite al usuario manejar el error
mensajes. Los errores en las subrutinas
son
pasado de nuevo a la rutina de llamada
para
manejo.
2 - Escribe errores en todos los destinos.
No
Aparecen mensajes de error. En cambio,
el
los errores se escriben en todos los iFIX
destinos, incluida la alarma
Destinos de la ventana del historial usando
SendOperatorMessage.
ToggleManual Subrutina

Alterna el estado del modo del bloque


especificado entre los modos manual y
automático.

Sintaxis

ToggleManual [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina ToggleManual


tiene estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional). El nombre del bloque


de la base de datos cuyo estado desea
cambiar. Si no se especifica ningún
nombre, el bloque de la base de datos
asociado con el objeto seleccionado se
alterna.

intErrorM Entero. (Opcional). El modo de error.


oda 0 (predeterminado): permite que las
subrutinas proporcionen los mensajes de
error. Los errores se muestran en forma
de cuadro de mensaje. Si no se realiza
ninguna entrada para el parámetro
intErrorMode, se utiliza el valor
predeterminado.
1: permite al usuario manejar los
mensajes de error. Los errores en las
subrutinas se devuelven a la rutina de
llamada para su manejo.
2 - Escribe errores en todos los destinos.
No se muestran mensajes de error. En su
lugar, los errores se escriben en todos los
destinos iFIX, incluidos los destinos de la
ventana del historial de alarmas mediante
SendOperatorMessage.
ToggleScan subrutina

Alterna el estado de escaneo del bloque


especificado.

Sintaxis

ToggleScan [DataPoint], [intErrorMode]

Propiedades

La sintaxis de la subrutina ToggleScan tiene


estas partes:
Parte Descripción

Punto de datos Cuerda. (Opcional). El nombre de


bloque de base de datos cuyo estado de
escaneo
quiere alternar. Si no especifica un
nombre, el estado de escaneo de la base
de datos
bloque asociado con el seleccionado
el objeto está activado.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las
subrutinas
proporcionar los mensajes de error. Los
errores son
se muestra en forma de cuadro de
mensaje.
Si no se realiza ninguna entrada para el
intErrorMode, el valor predeterminado
es
usó.
1: permite al usuario manejar el error
mensajes. Los errores en las subrutinas
son
pasado de nuevo a la rutina de llamada
para
manejo.
2 - Escribe errores en todos los destinos.
No
Aparecen mensajes de error. En cambio,
el
los errores se escriben en todos los iFIX
destinos, incluida la alarma
Destinos de la ventana del historial
usando
SendOperatorMessage.
Subrutina WriteValue

Establece el valor del valor actual del


bloque de base de datos especificado.

Sintaxis

WriteValue Valor, [DataPoint],


[intErrorMode]

Propiedades

La sintaxis de la subrutina WriteValue tiene


estas partes:
Parte Descripción

Valor Cuerda. El valor que desea escribir en el


bloque de base de datos especificado.

Cuerda. (Opcional). El bloque de la base de


Punto de datos datos para
en el que desea escribir el valor especificado.
Si no se especifica ningún bloque, la fuente de
datos
asociado con el objeto seleccionado es
escritura.

intErrorMode Entero. (Opcional). El modo de error.


0 (predeterminado): permite que las subrutinas
proporcionar los mensajes de error. Los errores
son
se muestra en forma de cuadro de mensaje. Si
no
se realiza una entrada para el parámetro
intErrorMode,
se utiliza el predeterminado.

1: permite al usuario manejar el error


mensajes. Se pasan errores en las subrutinas
de vuelta a la rutina de llamada para su manejo.
2 - Escribe errores en todos los destinos. No
hay error
pantalla de mensajes. En cambio, los errores
son
escrito en todos los destinos iFIX, incluido el
Destinos de la ventana del historial de alarmas
usando
SendOperatorMessage.
Funciones de base de
datos

Resumen de
funciones de base
de datos
La siguiente lista contiene las funciones de la
base de datos iFIX que están disponibles para
la interfaz de automatización. Para obtener
información sobre objetos que no son iFIX,
consulte el sistema de ayuda correspondiente.

• eda_add_block
• eda_delete_block
• eda_get_pdb_name
• eda_reload_databse
• eda_save_database
• eda_type_to_index
• FixGetMyName
• NlsGetText
Función eda_add_block

Agregue un nuevo bloque del tipo


especificado en el nodo especificado.

Sintaxis

Función eda_add_block (NodeName,


TagName, BlkType)

Propiedades

La sintaxis de la función eda_add_block tiene


estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Nombre del Cuerda. El nombre del nodo


nodo en
cuál agregar el bloque.

Cuerda. El nombre para


TagName identificar
la etiqueta (máximo de 30
caracteres).

BlkType Entero. El tipo de bloque


índice.

Valor devuelto

Entero. FE_OK si los datos son válidos


Observaciones

Tenga en cuenta que el tipo se pasa como un


número entero. Una cadena de tipo como "AI"
se puede convertir en un índice de tipo
llamando a la función eda_type_to_index
como se indica a continuación. La nueva
etiqueta se inicializará con los mismos valores
predeterminados que aparecen cuando se crea
una nueva etiqueta con DatabaseManager.
Estos valores se pueden escribir utilizando las
otras funciones mencionadas aquí.

Función eda_delete_block

Elimina el bloque de base de datos


especificado de la base de datos.

Sintaxis

Función eda_delete_block (NodeName,


TagName)

Propiedades

La sintaxis de la función eda_delete_block


tiene estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Nombre del Cuerda. El nombre del nodo


nodo en
cuál eliminar el bloque.

TagName Cuerda. El nombre de


bloque para ser eliminado.

Valor devuelto

FE_OK si tiene éxito; FE_XXX si hay error.

Observaciones

Elimina el bloque especificado de la base de


datos. Si este bloque es parte de una cadena,
se volverán a conectar los bloques anterior y
siguiente de la cadena. Es una buena práctica
colocar el bloque OFFSCAN antes de
eliminarlo.
Función eda_get_pdb_name

Recupera el nombre del archivo PDB


de la base de datos.

Sintaxis

Función eda_get_pdb_name como entero


(NodeName, DatabaseName, BufSize)

Propiedades

La sintaxis de la función eda_get_pdb_name


tiene estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Nombre del
nodo Cuerda. El nombre de
nodo en el que la base de
datos
reside.

Nombre de la Cuerda. Devuelve el nombre


base de datos de
la base de datos para
Nombre del nodo.

BufSize Entero. El maximo


tamaño, en bytes, para
devolver en
Nombre de la base de datos.

Valor devuelto
Entero. FE_OK si no hay error.
Observaciones

Este es el nombre del archivo PDB actual


cargado
por el sistema (por ejemplo, por el DBB
RELOAD función o por la
función eda_reload_database). El nombre es
devuelto sin la ruta o la extensión.

El parámetro DatabaseName debe declararse


como cadenas de longitud fija de 260
caracteres o como cadenas de longitud
variable que se inicializan como 260
caracteres antes de llamar a
eda_get_pdb_name. El parámetro NodeName
debe declararse como cadenas de longitud fija
de 9 caracteres o como cadenas de longitud
variable que se inicializan como 9 caracteres
antes de llamar a eda_get _pdb_name. Por
ejemplo, puede inicializar el parámetro
NodeName de cualquiera de las siguientes
formas:
Dim NodeName como cadena * 9

Dim NodeName como cadena

NodeName = ""
Función eda_reload_database

Carga la PDB especificada en un archivo


en el nodo especificado.

Sintaxis

Función eda_reload_database (NodeName,


DatabaseName)

Propiedades

La sintaxis de la función eda_reload_database


tiene estas partes:
Parte Descripción

Una expresión de objeto que se evalúa


objeto como una
objeto en la lista Se aplica a.

Nombre del
nodo Cuerda. El nombre del nodo en el que
para volver a cargar la base de datos.

Nombre de la Cuerda. El nombre del archivo de la base


base de datos de datos
que se cargará en la memoria.

Valor devuelto

Entero. FE_OK si no hay error

Observaciones

Esto es equivalente a la función DBB


Reload ... El nombre pasado se convierte en
el nuevo nombre de la base de datos. El
nombre debe pasarse sin ruta ni extensión.

NOTA: Se reemplaza la base de datos anterior


en la memoria. No se realiza ninguna
comprobación para ver si se ha modificado la
base de datos.
Función eda_save_database

Guarda la base de datos activa actual en un archivo.

Sintaxis

Función eda_save_database (NodeName,


DatabaseName)

Propiedades

La sintaxis de la función eda_save_database


tiene estas partes:

Parte Descripción

Una expresión de objeto que se evalúa


objeto como una
objeto en la lista Se aplica a.

Nombre del
nodo Cuerda. El nombre del nodo cuyo
la base de datos se guardará.

Nombre de la
base de datos Cuerda. El nombre del archivo al que
se guardará la base de datos actual.
Valor devuelto

Largo. Algunos errores típicos serían:

Valor Descripción

FE_OK Exitoso.

FE_SEC_ACCESSS No autorizado
acceso
intentó.

Nombre de la
FE_BAD_FILENAME base de datos
especificado es
malo.

Se lee la base de
FE_READ_ONLY datos
solamente.

Observaciones

Esto es equivalente a la función Guardar


como ... de DBB. El nombre pasado se
convierte en el nuevo nombre de la base de
datos. El nombre debe pasarse sin ruta ni
extensión.
NOTA: Este archivo solo existirá en el
nodo cuya base de datos se está
guardando. Este puede ser diferente al
nodo que está realizando la llamada
eda_save_database.

Función eda_type_to_index

Recupera el índice de tipo de la cadena


especificada que contiene un tipo de bloque.

Sintaxis

Función eda_type_to_index (NodeName,


BlockType)

Propiedades

La sintaxis de la función eda_type_to_index


tiene estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Nombre del
nodo Cuerda. Nombre del nodo en
en el que se encuentra el
bloque.

Cuerda. El tipo de bloque


BlockType cuyo
Se requiere índice de bloque.

Valor devuelto

Entero. El tipo de bloque de la base de datos


(un valor entre 1 y 150). Devuelve 0 si no se
reconoce el nombre del tipo.

Observaciones

El índice de bloque devuelto por esta


función debe usarse al agregar bloques a la
base de datos a través de la función
eda_add_block.
Función FixGetMyname

Obtenga el nombre de nodo de este nodo.


Esta función funciona tanto si el FIX se está
ejecutando como si no.

Sintaxis

Función FixGetMyname (Myname, MaxSize)

Propiedades

La sintaxis de la función FixGetMyname tiene


estas partes:

Parte Descripción

objeto Una expresión de objeto que


se evalúa como un objeto de la lista Se
aplica a.

Mi nombre Cuerda. Devuelve el nombre del nodo


actual.

Tamaño máximo Largo. El tamaño máximo,


en bytes, para devolver en Myname.
Valor devuelto

Largo.

Valor Descripción

FTK_OK Exitoso.

La longitud de la
FTK_BAD_LENGTH cuerda también
pequeña.

FTK_NODENAME_NOT Sin nombre de nodo


_DEFINIDO definido para este nodo.

FTK_BAD_MHANDLE Puntero a no
memoria grabable
aprobada en.

No existe ningún
FTK_NO_MESSAGE mensaje para
error.

La longitud de la
FTK_BAD_LENGTH cuerda también
pequeña.
Observaciones

El tamaño máximo de MyName (MaxSize) es


NODE_NAME_SIZE.

El parámetro MyName debe declararse como


una cadena de longitud fija de 9 caracteres
antes de llamar a FixGetMyName. Por
ejemplo, inicialice el parámetro MyName de
la siguiente manera:
Dim Myname As String * 9
'variable de inicio
Myname = "" 'borra la
variable antes de su uso

Cuando la longitud de la cadena Myname (el


nombre del nodo) no llena el tamaño máximo
(9 caracteres), la cadena devuelta contiene
NULL. Para eliminar el NULL de la cadena de
VBA, puede utilizar el siguiente fragmento de
código:
rtn = FixGetMyname (Mi nombre,
9)

StrMyNode = ""

Para i = 1 a Len (mi nombre)

rtn = Mid (Mi nombre, i, 1) / p>

Si Asc (rtn)> = 65 Y (Asc (rtn)


<= 95) Entonces 'compruebe si
soy Alfa
StrMyNode = StrMyNode & rtn

Else

Si Asc (rtn)> = 48 Y (Asc (rtn)


<= 57) Entonces 'Verifique si soy
numérico
StrMyNode = StrMyNode & rtn

Terminara si

Siguiente yo

Además, es posible que desee verificar


caracteres como el guión bajo (_) y otros
caracteres válidos utilizados en un nombre de
nodo. El ejemplo anterior supone que el
nombre de su nodo solo contiene los
caracteres de la A a la Z, o los números del 1
al 9.
Función NlsGetText

Traduce un número de error devuelto como una


cadena.

Sintaxis

Función NlsGetText (ErrCode, MsgString,


MaxLength)

Propiedades

La sintaxis de la función NlsGetText tiene


estas partes:
Parte Descripción

objeto Una expresión de objeto que


evalúa a un objeto en el
Se aplica a la lista.

Entero. El código de error


ErrCode devuelto
de una función de eda anterior
llama.

MsgString Cuerda. El mensaje de error que


corresponde a ErrCode.

MsgString Entero. El tamaño máximo, en


bytes, para devolver en
MsgString.

Valor devuelto

Largo.
Parte Descripción

FTK_OK Exitoso.

FTK_BAD_MHANDLE Se ha pasado un
puntero a la
memoria que no
se puede
escribir.
FTK_NO_MESSAGE
No existe ningún
mensaje de
FTK_BAD_LENGTH error.

La longitud de
la cuerda es
demasiado
pequeña.
Observaciones

El error se origina en iFIX. Si el mensaje es más


largo de lo especificado en MaxLength, la cadena
se truncará. Si no existe ningún mensaje de error,
se devolverá FTK_NO_MESSAGE.
El parámetro MsgString debe declararse
como una cadena de longitud fija de 255
caracteres antes de llamar a NlsGetText. Por
ejemplo tu

podría inicializar el parámetro MsgString


así:

Dim MsgString como cadena * 255


Ejemplos de

Ejemplo del método AboutBox

El siguiente ejemplo abre el cuadro de ayuda


Acerca de para el objeto de resumen de
alarmas AlarmSummaryOCX1.
AlarmSummaryOCX1.AboutBox

Ejemplo del método AckAlarm

El siguiente ejemplo reconoce una alarma


generada para el bloque titulado AI1 en un
nodo titulado NODE1 en el objeto de resumen
de alarmas AlarmSummaryOCX1.
Dim iRVal como entero

iRVal = AlarmSummaryOCX1.AckAlarm
("NODE1", "AI1")
Ejemplo del método AckAlarmPage

El siguiente ejemplo reconoce la página


de alarmas que se muestra actualmente
en el objeto Resumen de alarmas
AlarmSummaryOCX1.
Dim iRVal como entero

iRVal =
AlarmSummaryOCX1.AckAlarmPage

Ejemplo del método


AckAlarmPageEx

El siguiente ejemplo reconoce la página


de alarmas que se muestra actualmente
en el objeto Resumen de alarmas
AlarmSummaryOCX1.
AlarmSummaryOCX1.AckAlarmPageEx

Ejemplo del método AckAllAlarms

El siguiente ejemplo reconoce todas las


alarmas en el objeto de resumen de
alarmas AlarmSummaryOCX1.
Dim iRVal como entero

iRVal =
AlarmSummaryOCX1.AckAllAlarms

Ejemplo de subrutina
AcknowledgeAllAlarms
El siguiente ejemplo reconoce las alarmas
para todos los bloques de Picture
TestPicture.
AcknowledgeAllAlarms
"TestPicture"

Ejemplo de subrutina
AcknowledgeAnAlarm
El siguiente ejemplo reconoce la alarma
para el bloque AI1.
Reconocer una alarma "AI1"
Ejemplo de método
ActivateWorkspaceUI
El siguiente ejemplo activa la
interfaz de usuario de WorkSpace.
Application.ActivateWorkspaceUI

Ejemplo de método de adición

El siguiente ejemplo agrega una imagen al


WorkSpace de forma predeterminada.
Aplicación.Documentos.Añadir

El siguiente ejemplo agrega un documento de


Microsoft Word al WorkSpace.
Application.Documents.Add
"Word.Document"

El siguiente ejemplo agrega la subrutina


MySub a la colección de Procedimientos
de Rect1.
Rect1.Procedures.Add 1, "Private
Sub MySub (x como entero, y como
entero)"
El siguiente ejemplo agrega una línea de
código a la quinta línea en el controlador de
eventos del primer evento de Rect1 usando
la colección Lines.
Rect1.Procedures.Item (1)
.Lines.Ad d "Msgbox 2", 5

El siguiente ejemplo agrega un grupo de


datos a los grupos de FixDataSystem FDS.
FDS.Groups.Add ("Grupo de
datos1")

Ejemplo del método AddDataSet

El siguiente ejemplo agrega un conjunto de


datos llamado MySource a un objeto llamado
EnhancedChart1. Se puede aceptar un objeto
indefinido como fuente de datos. (Verdadero
indica una condición UseAnyway).
Dim objDS como objeto

Establecer objDS =
LineChart1.AddDataSet ("Fix32.Fix.
AI1.F_CV ")
Ejemplo del método
AddEventHandler

El siguiente ejemplo agrega el controlador de


eventos "OpenPicture" al Click para el objeto
CurrentObject.
Dim lIndex tan largo

CurrentObject.Procedures.AddEvent
Handler "Click", "OpenPicture",
lIndex

El procedimiento resultante es el siguiente:


sub privado CurrentObject_Click ()
OpenPicture
end sub
Ejemplo del método AddImage

El siguiente ejemplo agrega la imagen


CustomButton10 al objeto Bitmap Bitmap1 y
luego la muestra configurándola para que sea
la imagen actual.
Bitmap1.AddImage "C: \
Archivos de programa \ Proficy
\ Proficy iFIX \ Local \
CustomButton10.bmp"
Bitmap1.CurrentImage =
Bitmap1.ImageCount

Ejemplo del método AddLegendItem

El siguiente ejemplo agrega el elemento de


leyenda High Over Range en la columna 5 de
la leyenda del objeto Chart TestChart, que
muestra 10 caracteres.
TestChart.AddLegendItem "High
Over", 5, 10
Ejemplo del método AddLevel

El siguiente ejemplo agrega un nivel al


objeto Lookup Lookup1, usando una
comparación de rango. Este nivel tendrá una
salida de 100 para cualquier valor de entrada
entre 10 y 20.
Lookup1.AddLevel 10, 100, 20

El siguiente ejemplo agrega un nivel al objeto


Lookup Lookup1, utilizando una comparación
de coincidencia exacta. Para cada entrada de
40, este nivel mostrará una salida de 75.
Lookup1.AddLevel 40, 75

Ejemplo de método AddObject

El siguiente ejemplo agrega el objeto Oval


TestOval al Grupo TestGroup.
TestGroup.AddObject TestOval
Ejemplo del método AddPen

El siguiente ejemplo agrega un lápiz al


Chart Chart1 usando una fuente de datos
de AI1.
Atenuar iPen como objeto

Establecer iPen = Chart1.AddPen


("AI1")

Ejemplo de AddPictureToStartupList

El siguiente ejemplo agrega una imagen


denominada pic1.grf (en el directorio D: \
Archivos de programa \ Proficy \ Proficy
iFIX \ PIC) a la lista de inicio del entorno de
ejecución de Proficy iFIX WorkSpace.
Dim lErr tan largo

lErr =
Application.UserPreferences.AddPi
ctureToStartupList_
("D: \ Programa
Archivos \ Proficy \ Proficy
iFIX \ pic \ pic1.grf ",
verdadero)
Tenga en cuenta que se requiere la ruta
completa para la imagen. También tenga en
cuenta que el segundo parámetro, cuando se
establece en TRUE, agrega la imagen a la
lista de inicio de Runtime. Cuando se
establece en FALSE, agrega la imagen a la
lista de inicio del entorno de configuración.

Ejemplo del método AddPoint

El siguiente ejemplo agrega un punto al


objeto Polygon Polygon1.
Oscu
ro Señalo como FixFloatPoint
Colo
car Señalo = Nuevo FixFloatPoint

iPoint.x = 50,5

iPoint.y = 60,1
Polygon1.AddPoint iPoint
Ejemplo del método AddProcedure

Este ejemplo genera el siguiente código en el


proyecto de ActiveDocument:
Sub público
Rect2_DisplayMessage (strMessage
Como cuerda)

MsgBox strMessage

End Sub

Dim o como objeto

Dim lIndex tan largo

Establecer o =
Application.ActiveDocument.Page.F
indObject ("Rect2")

o.Procedures.AddProcedure
"DisplayMessage", "strMessage
como cadena", _
"MsgBox strMessage", lIndex
Ejemplo de AlarmHornEnabled

En el ejemplo 1, blnReturn contiene el estado


de la propiedad AlarmHornEnabled del
sistema

Ejemplo 1
Dim blnReturn como booleano

blnReturn = AlarmHornEnabled

En el Ejemplo 2, Verdadero
pasó para habilitar la bocina
de alarma, luego verifica si
estaba configurada.

Ejemplo 2
Dim bln Devolver como booleano

blnReturn =
AlarmHornEnabled (verdadero)

Si no es blnReturn Entonces

MsgBox ("No se pudo


habilitar la bocina")
Terminara si
Ejemplo de
AlarmHornEnabledToggle

Este ejemplo muestra cómo alternar la


bocina de alarma y leer el valor de retorno
que indica cómo se cambió el estado.
Dim bln Devolver como booleano

blnReturn =
AlarmHornEnabledToggle

Si blnReturn Entonces

MsgBox ("La bocina ahora


Activado")

Demás

MsgBox ("La bocina ahora


Discapacitado"

Terminara si
Ejemplo de AlarmHornSilence

Este ejemplo silencia la bocina de alarma.

Botón secundario privado

1_Click () AlarmHornSilence

End Sub

Ejemplo de método de alineación

El siguiente ejemplo alinea las partes


superiores de los objetos Oval y Polygon,
Oval1 y Polygon1.
Oval1.SelectObject False

Polygon1.SelectObject False

sin título1.Align 3

Ejemplo del método


ApplyProperty
Reservado para fines internos.
Ejemplo del método
AutoScaleDisplayLimits
El siguiente ejemplo cambia los límites de
visualización para todos los bolígrafos en el
Gráfico, Gráfico1 según el rango de los datos
actualmente en la matriz de datos de los
bolígrafos
Chart1.AutoScaleDisplayLimits

Ejemplo del método BringToFront

El siguiente ejemplo selecciona el objeto Oval


Oval1 contenido en Picture TestPicture y lo
coloca al frente del orden de apilamiento.
Oval1.Seleccione

TestPicture.BringToFront
Ejemplo del método BuildObject

El siguiente ejemplo agrega un rectángulo a


la imagen de prueba de imagen.
Dim iRect como objeto

Establecer iRect =
TestPicture.BuildObject ("Rect")

iRect.HorizontalPosition = 10.0

iRect.VerticalPosition = 30.0

iRect.EdgeWidth = 5

iRect.FillStyle = 1 iRect.Commit
C

Ejemplo del método CanConstruct

El siguiente ejemplo determina si la fuente de


datos AI1 para NODE1 tiene una sintaxis
válida para Picture TestPicture.
Dim bCanConstruct como booleano

TestPicture.CanConstruct
"FIX32.NODE1.AI1", bCanConstruct

Ejemplo del método


CheckAccountExpiration
El siguiente ejemplo verifica el estado de
vencimiento de la cuenta de Windows del
usuario. Si la cuenta expiró, este ejemplo
solicita al usuario que cambie su contraseña (si
tiene derechos para hacerlo). Si la cuenta no ha
caducado, aparece un mensaje que indica
cuántos días quedan hasta que caduque la
contraseña.
Atenuar ESig como objeto

Dim bNodeSignEnabled como

Boolean Dim UserName como

cadena

Dim PassWord como cadena

Dim UsrId como cadena

Dim bExpired as boolean

Dim daysLeft As Long

Dim bCanChangePassword como


booleano

'nombre de usuario de un usuario


de iFix que usa la seguridad de
Windows
UserName = "expirar"

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces
'Verifique el estado de la
cuenta y el derecho del usuario
a cambiar la contraseña
ESig.CheckAccountExpiration
UserName, bExpired,
bCanChangePassword, daysLeft
Si bExpired <> False, entonces

Si bCanChangePassword <>
False, entonces
ESig.PromptToChangePassword
Nombre de usuario
Terminara si

Demás

'la contraseña no ha caducado

MsgBox "La contraseña vencerá en"


& daysLeft & "days".
Terminara si
Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si

Ejemplo del método


CheckSecurityEnabled
El siguiente ejemplo crea el objeto
ESignature y comprueba si la seguridad está
habilitada en el nodo actual.
Atenuar ESig como objeto

Dim bEnabled como booleano

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si la seguridad está


habilitada

ESig.CheckSecurityEnabled
bEnabled
MsgBox "Seguridad
habilitada:" & bEnabled
Ejemplo del método CheckSyntax

El siguiente ejemplo devuelve la


comprobación de sintaxis para el objeto
ExpressionEditor ExpressionEditor1.
Dim bSuccess como booleano

Dim strExpression como cadena

strExpression = "AI1.F_CV +
AI2.F_CV"
bSuccess =
ExpressionEditor1.CheckSyntax (str
Expresión)

Ejemplo del método


CheckUserApplicationAccess
El siguiente ejemplo crea el objeto
ESignature, verifica si el nodo tiene la firma
electrónica habilitada, obtiene la ID de
usuario, verifica si el usuario tiene acceso a la
función de aplicación de omisión de firma
electrónica y verifica si el usuario tiene
acceso a un area de seguridad.
Atenuar ESig como objeto

Dim bNodeSignEnabled como

Boolean Dim UserName como

cadena

Dim PassWord como

cadena Dim resultado

como booleano Dim

UsrId como cadena

'nombre de usuario y
contraseña válidos de
iFix
UserName = "nombre de usuario"

PassWord = "contraseña"

resultado = Falso

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces
'Obtener la identificación de
usuario

ESig.GetUserid UserName,
Contraseña, UsrId

'Compruebe si el usuario
tiene acceso a la función
de aplicación de omisión de
firma electrónica
ESig.CheckUserApplicationAccess
UsrId, 74, resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derecho a omitir la
firma?" & Resultado
'Compruebe si el usuario
tiene acceso al área de
seguridad B
ESig.CheckUserAreaAccess
UsrId, "B", resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derechos sobre el Área
de seguridad B?" & Resultado
Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si

Ejemplo del método


CheckUserAreaAccess
El siguiente ejemplo crea el objeto
ESignature, verifica si el nodo tiene la firma
electrónica habilitada, obtiene la ID de
usuario, verifica si el usuario tiene acceso a la
función de aplicación de omisión de firma
electrónica y verifica si el usuario tiene
acceso a un área de seguridad (en este
ejemplo, B).
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Atenuar el nombre de usuario


como cadena
Dim PassWord como cadena
Resultado de

atenuación como

Boolean Dim UsrId como

cadena

'nombre de usuario y
contraseña válidos de
iFix
UserName = "nombre de usuario"

PassWord = "contraseña"

resultado = Falso

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Obtener la identificación de
usuario
ESig.GetUserid UserName,
Contraseña, UsrId

'Compruebe si el usuario
tiene acceso a la función
de aplicación de omisión de
firma electrónica
ESig.CheckUserApplicationAccess
UsrId, 74, resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derecho a omitir la
firma?" & Resultado
'Compruebe si el usuario
tiene acceso al área de
seguridad B
ESig.CheckUserAreaAccess
UsrId, "B", resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derechos sobre el Área
de seguridad B?" & Resultado
Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si
Ejemplo de método claro

El siguiente ejemplo elimina todos los


miembros de la colección Grupos de
FixDataSystem FDS.
FDS.Groups.Clear

Ejemplo del método ClearUndo

El siguiente ejemplo elimina todas las


transacciones de deshacer registradas
actualmente de la pila de deshacer para
TestPicture.
TestPicture.ClearUndo

Ejemplo de método de cierre

El siguiente ejemplo cierra todos los


documentos abiertos no ocultos y guarda
los cambios sin preguntar al usuario.
Aplicación.Documentos.Cerrar 1,
2

El siguiente ejemplo abre


Document TestPicture y luego
lo cierra sin guardar
ningún cambio.
Dim iDoc como objeto

Establecer iDoc =
Application.Documents.open ("C: \
Pr
Archivos de programa \ Proficy \
Proficy
iFIX \ pic \ testpicture.grf ")

iDoc.Close 2, 1

Ejemplo de subrutina
CloseDigitalPoint
El siguiente ejemplo cierra el bloque DO1.

CloseDigitalPoint "DO1"

Ejemplo de subrutina ClosePicture

El siguiente ejemplo cierra la imagen de


prueba de imagen.
ClosePicture "TestPicture"
Ejemplo de método de
confirmación

El siguiente ejemplo crea un rectángulo


iRect, lo personaliza y luego confirma estos
cambios.
Dim iRect como objeto

Establecer iRect =
TestPicture.BuildObject ("Rect")

iRect.HorizontalPosition = 10.0

iRect.VerticalPosition = 30.0

iRect.EdgeWidth = 5

iRect.FillStyle = 1 iRect.Commit
Ejemplo de método de conexión

El siguiente ejemplo vincula el valor de la


cadena de salida TEMP1 a la propiedad
Caption del objeto Text Text1.

Una conexión es un mecanismo


unidireccional. Por lo tanto, los cambios en la
propiedad de título directamente (a través de
la automatización OLE) no se escribirán en la
fuente conectada. Además, puede ser
necesario transformar los datos de un tipo o
rango a otro para crear la interfaz de usuario
adecuada (es decir, numérico a cadena,
numérico a color, numérico a coordenadas de
pantalla). Para lograr esto, se debe usar un
objeto de animación (Lineal, Lookup,
Format).
Dim objAnim como objeto

Dim lngStatus tan largo

'Crea el objeto de animación

Establecer objAnim =
Rect1.BuildObject ("Lineal")
'Inicializar las propiedades
del objeto lineal
objAnim.Source =
"Fix32.Scada1.AI1.F_CV"
'Configurar la transformación
dentro y fuera de los parámetros
de rango
objAnim.AutoFetch = True
'Establecerlo para obtener
límites
objAnim.UseDelta = True
'Configúrelo para movimiento
relativo
objAnim.LoOutValue = 0
'Establecer valor de salida
bajo
objAnim.HiOutValue = 15
'Establecer valor de salida alto
'Conecte la salida del objeto
de animación a la posición del
rectángulo
Rect1.Connect
"Posicion horizontal",
objAnim.FullyQualifiedName &
".OutputValue", lngStatus
Ejemplo del método
ConnectDataSet

Este método no está disponible actualmente


para su uso en iFIX. Está reservado para uso
futuro.

Ejemplo de método
ConnectedPropertyCount
El siguiente ejemplo determina el número de
propiedades que tienen conexiones
configuradas para el objeto Oval Oval1.
Dim lCount tan largo

Oval1.ConnectedPropertyCount
lCount

Ejemplo de método de
construcción

El siguiente ejemplo muestra la interfaz de


usuario de QuickAdd que solicita al usuario la
información necesaria para crear la etiqueta
NewAI1 para el objeto Oval Oval1 en el nodo
NODE1.
Dim lStatus tan largo

Oval1.Construya
"FIX32.NODE1.NEWAI", lStatus

Ejemplo de método
Convert_A_Group_To_A_Dynamo_B
y_Name
Actualmente no hay ningún ejemplo
disponible en este momento.

Ejemplo de método
Convert_A_Group_To_A_Dynamo_B
y_Ref
El siguiente ejemplo muestra el
Convertir el ejemplo del método
_A_Group_To_A_Dynamo_By_Ref usando
los métodos en PlugandSolve -
modDynamoConverter.
Función pública ConvertADynamo
(objGroup como
Fix2DGroup.Fix2DGroup,
objMasterDynamo como
Fix2DDynamo.Fix2DDynamo, ByRef
strReturnMsg) como
UpdateDynamoResult
Dim strDIName como cadena

Dim strDMName como cadena

Atenuar
iDataSourceOption como
DynamoDataSourceOption
Dim iResult As Long
'UpdateDynamoResult
Atenuar iPrompt tanto tiempo

Opciones de actualización de
Dim iUpdateOptions As Long '
Dim bProceedConvert
como booleano

iDataSourceOption =
g_WizardConfig.iDataSourceOption

Si
g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE
Entonces

Si
g_ReturnFromPromptForChoiceOnConv
ert =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_ALL Entonces
iDataSourceOption =
DYNAMO_UPDATE_BUT_NOT_APPLY

De lo contrario
g_ReturnFromPromptForChoiceOnConv
ert =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_AND_APPLY
De lo contrario
g_ReturnFromPromptForChoiceOnConv
ert =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL Entonces
iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si

Terminara si

' Convertir parámetros de

opción iUpdateOptions = & H0

Si iDataSourceOption =
DYNAMO_PROMPT_FOR_CHOICE
Entonces
iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_PROMT_F
OR_CHOICE
De lo contrario, si
iDataSourceOption =
DYNAMO_UPDATE_AND_APPLY
Entonces
iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_UPDATE_
DINAMO +
UPDATE_OPTION_ON_MISMATCH_APPLY_D
ATA_SOURCES

De lo contrario, si
iDataSourceOption =
DYNAMO_UPDATE_BUT_NOT_APPLY
Entonces
iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_UPDATE_
DYNAMO
Terminara si

' establecer opciones (incluye


opción de actualización en caso)
Si g_WizardConfig.bKeepSize
= True Entonces
iUpdateOptions =
iUpdateOptions +
UPDATE_OPTION_RESIZE_INSTANCE

Terminara si
Si
g_WizardConfig.bKeepCaption =
Verdadero entonces

iUpdateOptions =
iUpdateOptions +
UPDATE_OPTION_SAVE_CAPTIONS

Terminara si

' si es FDS Converter,


configure la opción Make Master
Si g_iDynamoToolType
= DYN_FDS_CONVERTER
Entonces
iUpdateOptions =
iUpdateOptions +
CONVERT_OPTION_MAKE_MASTER

Terminara si

'llamar Update A Dynamo

PlugandSolve.GeometryHelperOb
j.Convert_A_Group_To_A_Dynamo_By_
Ref objGroup, iUpdateOptions,
mobjStrMgr.GetNLSStr (4143),
iResult
'obtener una cadena de
resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Result_String

' no tome el último aviso


para elegir
' obtenga la última opción
de usuario del indicador
'Si
(g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE) Y _

'
(g_ReturnFromPromptForChoiceOn
Convert = PROMPT_DLG_SEL_NONE)
Entonces
' iPrompt =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Prompt_Value
' Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_ALL) O _
' (iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL) O _
' (iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL) Entonces
'
g_ReturnFromPromptForChoic
eOnConvert = iPrompt
' Terminara si

'Terminara si

' convertir código de


resultado

Si (iResult And
UPDATER_RESULT_SUCCESS_BIT)> 0
Luego

ConvertADynamo =
DYNAMO_UPDATED
Terminara si

Si (iResult And
UPDATER_RESULT_DYNAMO_NOT_UPDATED
_BIT)> 0 Entonces
ConvertADynamo =
DYNAMO_NOTUPDATED
Terminara si
Si (iResult And
UPDATER_RESULT_USER_CANCELLED_BIT)> 0
_

O (iResult y
UPDATER_RESULT_SUCCESS_BIT) = 0
Luego

ConvertADynamo =
DYNAMO_UPDATE_ABORTED
Terminara si

Función final

Ejemplo del método ConvertPipe

El siguiente ejemplo convierte las líneas y


polilíneas seleccionadas en un objeto de
tubería en una imagen activa.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
Llame a ObjHelper.ConvertPipe
Ejemplo de método
ConvertSecurityAreaNameToNumber
El siguiente ejemplo convierte el área de
seguridad D en su número de área
correspondiente.
Dim iAreaID como entero

iAreaID =
System.ConvertSecurityAreaNameToN
ámbar ("D")

Ejemplo de método
ConvertSecurityAreaNumberToName
El siguiente ejemplo convierte el área de
seguridad 11 en su nombre de área
correspondiente.
Dim sAreaName como cadena

sAreaName =
System.ConvertSecurityAreaNumberT
oNombre (11)
Ejemplo de método de copia

El siguiente ejemplo selecciona el objeto Oval


Oval1 y lo copia en el portapapeles.
Oval1.Seleccionar

TestPicture. Copiar

Ejemplo de método
Coupled_Activate_Workspace_UI
El siguiente ejemplo activa la
interfaz de usuario de WorkSpace.
Application.Coupled_Activate_Work
space_UI

Ejemplo de método
Coupled_DeActivate_Workspace_UI
El siguiente ejemplo desactiva la
interfaz de usuario de WorkSpace, lo
que permite que un formulario actúe de
forma modal. Esta llamada se realizaría
en la inicialización del formulario.
Application.Coupled_DeActivate_Wo
rkspace_UI False

El siguiente ejemplo desactiva la interfaz


de usuario de WorkSpace, lo que permite
que un formulario actúe sin modalidad.
Esta llamada se realizaría en la
inicialización del formulario.
Application.Coupled_DeActivate_Wo
rkspace_UI True

Ejemplo del método CopyAsBitmap

El siguiente ejemplo selecciona el objeto Oval


Oval1 y lo copia en el portapapeles como
mapa de bits.
Oval1.Seleccione

TestPicture.CopyAsBitmap
Ejemplo del método
CreateDynamoByGrouping
El siguiente código proporciona un ejemplo de
Método CreateDynamoByGrouping:

Sub privado
btnCreateADynamoByGrouping_Click (
)

' Siempre que haya objetos


seleccionados, se creará un Dynamo
utilizando esos objetos seleccionados.
Me.Create_Dynamo_By_Grouping

End Sub
Ejemplo del método
CreateFromDialog

El siguiente ejemplo crea el objeto


FixControlContainer y luego muestra el cuadro
de diálogo Insertar objeto para permitir al
usuario seleccionar qué control ActiveX crear.
Dim iActiveX como objeto

Establecer iActiveX =
Application.ActiveDocument.Page.B
uildObject ("oleobject")

iActiveX.CreateFromDialog
Ejemplo del método
CreateFromProgID

El siguiente ejemplo crea el


FixControlContainer y luego el control
AlarmSummary especificando su ProgID.
Dim iActiveX como objeto

Establecer iActiveX =
Application.ActiveDocument.Page.B
uildObject ("oleobject")

iActiveX.CreateFromProgId
"ALARMSUMMARYOCX.AlarmSummaryOCXC
trl.2"
Ejemplo del método
CreateWithMouse

El siguiente ejemplo crea un óvalo


permitiendo al usuario especificar su
tamaño y posición al crearlo con el
mouse.
Dim iOval como objeto

Establecer iOval =
Application.ActiveDocument.Page.B
uildObject ("óvalo")

iOval.CreateWithMouse

Ejemplo de método de corte

El siguiente ejemplo selecciona el objeto


Pie1, lo elimina de su Picture TestPicture y
lo copia en el portapapeles.
Pie1.Seleccionar

TestPicture.Cut
D

Ejemplo del método


DeActivateWorkspaceUI
El siguiente ejemplo desactiva la
interfaz de usuario de WorkSpace, lo
que permite que un formulario actúe de
forma modal. Esta llamada se realizaría
en la inicialización del formulario.
Application.DeActivateWorkspaceUI
Falso

El siguiente ejemplo desactiva la interfaz


de usuario de WorkSpace, lo que permite
que un formulario actúe sin modalidad.
Esta llamada se realizaría en la
inicialización del formulario.
Application.DeActivateWorkspaceUI
True
Ejemplo del método DefaultView

El siguiente ejemplo establece la imagen


de prueba de imagen en su ubicación de
ventana predeterminada.
TestPicture.DefaultView

El siguiente ejemplo establece la imagen


de prueba de imagen en su ubicación de
ventana predeterminada, lo que evita que
se vuelva a pintar la imagen.
TestPicture.DefaultView Falso

Ejemplo del método DelAlarm

El siguiente ejemplo elimina una alarma


generada para el bloque titulado AI1 en un
nodo titulado NODE1 en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim iRval como entero

iRval =
AlarmSummaryOCX1.DelAlarm ("NODE1"
, "AI1")
Ejemplo del método
DeleteAllAlarms

El siguiente ejemplo borra todas las


alarmas del objeto AlarmSummary
AlarmSummaryOCX1.
Dim iRval como entero

iRval =
AlarmSummaryOCX1.DeleteAllAlarms

Ejemplo del método


DeleteAllDataSets

El siguiente ejemplo muestra un ejemplo del


método DeleteAllDataSets con el objeto
LineChart.
LineChart1.DeleteAllDataSets

Ejemplo del método DeleteDataSet

El siguiente ejemplo muestra un ejemplo del


método DeleteDataSet con el objeto
LineChart.
LineChart1.DeleteDataSet 0
Ejemplo del método DeleteImage

El siguiente ejemplo elimina las imágenes


primarias y secundarias en el índice de 1 para
el objeto Mapa de bits Bitmap1.

Bitmap1.DeleteImage 1

Ejemplo del método DeletePen

En el ejemplo siguiente se usa la propiedad


Count de la colección de lápices para el
gráfico, Chart1, como índice para eliminar el
último lápiz agregado al gráfico.
Dim x como entero

x = Chart1.Pens.Count

Chart1.DeletePen x
El siguiente ejemplo elimina un lápiz en un
gráfico llamado Chart1 y luego lo reemplaza
con otro usando el método AddPen, si aún no
existe.
Private Sub Chart1_Click ()

'Seleccione un lápiz en el

usuario Haga clic en' Compruebe

si el usuario quiere eliminarlo.

Dim Strtn como cadena Dim Inti

como entero Strtn =

Chart1.CurrentPen Msgprompt =

"Ha seleccionado

Lápiz : " &


Chart1.Pens.Item (Strtn) .Fuente
&
vbCrLf & "¿Desea eliminar
eso ?"

user_reponse = MsgBox
(Msgprompt, vbYesNo, "Quitar
lápiz")
Si user_reponse = 6 Entonces

Chart1.DeletePen (Strtn)

Terminara si
End Sub
Sub privado DELPEN_Click ()

'eliminar todos los bolígrafos de


la colección de bolígrafos en un
gráfico específico
Dim Inti como entero

Si Chart1.Pens.Count <> 0
Entonces

Para Inti = Chart1.Pens.Count


To 1 Step -1
Chart1.DeletePen (Inti)

Siguiente Inti

Terminara si

End Sub
Sub privado PBADDREALPEN_Click
()

'Agregar bolígrafo a la
colección de bolígrafos para
un gráfico determinado
'después de comprobar que los
bolígrafos no están ya dentro de
la colección de bolígrafos
Si Chart1.Pens.Count <> 0
Entonces

' La primera vez que se usa el


gráfico, la colección contiene
un lápiz predeterminado.
Chart1.DeletePen (1)

Terminara si

checkifalreadyexist
("Fix32.Alice.MyTag1")
checkifalreadyexist
("Fix32.Alice.MyTag2")
checkifalreadyexist
("Fix32.Alice.MyTag3")
End Sub
Función
checkifalreadyexist (nombre de
etiqueta como
Cuerda)
'compruebe si el bolígrafo si
aún no está dentro de la
colección
Dim loc_tagname como cadena

loc_tagname = Nombre de etiqueta


& ".F_CV"

Egu_tagname = Nombre de etiqueta

Si Chart1.Pens.Count = 0,
entonces

Chart1.AddPen (loc_tagname)

hiEGU = Readvalue (Egu_tagname


& ".A_Ehi")
loEGU = Readvalue (Egu_tagname
& ".A_Elo")

Demás

Tag_found = Falso

Para i = 1 a Chart1.Pens.Count

Si UCase (loc_tagname) =
UCase (Chart1.Pens.Item (i)
.Source) Luego
Tag_found = Verdadero
Demás

Terminara si

Siguiente yo

Si Tag_found = False, entonces

Chart1.AddPen (loc_tagname)

Tag_found = Falso

Terminara si

Terminara si

Función final

Ejemplo del método DeletePoint

El siguiente ejemplo elimina el punto en el


índice 3 para el objeto Polilínea PolyLine1.
PolyLine1.DeletePoint 3
Ejemplo del método
DeleteSelectedObjects
El siguiente ejemplo selecciona los objetos
Chord y Polygon Chord1 y Polygon1 y luego
los elimina de Picture TestPicture.
Chord1.SelectObject False

Polygon1.SelectObject False

TestPicture.DeleteSelectedObjects

Ejemplo del método DemandFire

El siguiente ejemplo dispara el OnTimeOut


configurado para el objeto Timer MyTimer en
Schedule TestSchedule.
TestSchedule.DemandFire "MyTimer"
El siguiente ejemplo dispara el evento
OnTimeOut para Timer MyTimer.
MyTimer.DemandFire

El siguiente ejemplo dispara cualquier evento


configurado para el objeto de evento
MyEvent.
MyEvent.DemandFire

Ejemplo del método DeselectObject

El siguiente ejemplo anula la selección de


todos los objetos seleccionados actualmente
en la imagen de prueba de imagen.
TestPicture.DeselectObject True

Ejemplo del método DestroyObject

El siguiente ejemplo elimina el objeto


Chord1 de su contenedor.
Chord1.DestroyObject
Ejemplo de subrutina DisableAlarm

El siguiente ejemplo deshabilita la


verificación del límite de alarma para el
bloque AI1.
Desactivar alarma "AI1"

Ejemplo del método


DisableNonSelectionEvents
Reservado para fines internos.

Ejemplo de método de desconexión

El siguiente ejemplo desconecta la propiedad


VerticalFillPercentage del objeto Oval
Oval1 de su origen.
Oval1.Disconnect
"VerticalFillPercentage"
Ejemplo del método
DisplaysControlPoints
El siguiente ejemplo prohíbe que el objeto
Oval Oval1 muestre sus puntos de control.
Oval1.DisplaysControlPoints Falso

Ejemplo de método
DoesPropertyHaveTargets
El siguiente ejemplo determina si la
propiedad VerticalFillPercentage del objeto
Oval Oval1 tiene una conexión de objeto de
destino y, de ser así, retiene información
sobre el (los) destino (s).
Dim bHasTargets As Boolean

Dim lNumOfTargets As Long Dim

lStatus As Long Dim lIndex As

Long

Oval1.DoesPropertyHaveTargets

"VerticalFillPercentage",
bHasTargets, lNumOfTargets,
lStatus, lIndex

Ejemplo del método DoExtendLines

El siguiente ejemplo muestra que los objetos


de línea seleccionados se extenderán hasta la
intersección cuando la propiedad ExtendType
se establezca en menos de 30 píxeles.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
ObjHelper.ExtendType = 3
'establecer el tipo de
extensión máx.
ObjHelperExtendMaxSpace = 30
'establece el máximo de
píxeles para extender
Llamar a
ObjHelper.DoExtendLines
Ejemplo de método
DoLinestoPolyline

El siguiente ejemplo muestra que los objetos


de línea seleccionados se convertirán en
objetos de polilínea.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
Llamar a ObjHelper.DoLinesToPolyline

Ejemplo del método


DoMenuCommand

El siguiente ejemplo crea una instancia del


cuadro de diálogo Nuevo temporizador para
Schedule TestSchedule como si el usuario
hubiera seleccionado Agregar nueva entrada
de temporizador en el menú Insertar.
TestSchedule.DoMenuCommand
schNewTimer
El siguiente ejemplo actualiza la programación
después de que el objeto de evento MyEvent se
haya eliminado de Schedule TestSchedule.
TestSchedule.RemoveObject
"MyEvent"
TestSchedule.DoMenuCommand
scHREFreshView

Ejemplo del método DoTrimLines

El siguiente ejemplo muestra que los objetos


de línea seleccionados se recortarán hasta el
punto de extensión cuando la propiedad
TrimType se establezca en menos de 30
píxeles.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
ObjHelper.TrimType = 3
'establecer tipo de recorte máx.
ObjHelper.TrimMaxLength = 30
'establecer píxeles de recorte
máximos
Llame a ObjHelper.DoTrimLines
Ejemplo del método
DumpProperties

El siguiente ejemplo escribe todas las


propiedades y sus valores correspondientes
para Picture TestPicture y sus objetos
contenidos en el archivo CSV
TestPicture.txt.
Dim sRes1 como cadena

Dim sRes2 como cadena

TestPicture.DumpProperties "C: \
Temp \ TestPicture.txt", True,
sRes1, sRes2

Ejemplo de método duplicado

El siguiente ejemplo selecciona el objeto Oval


Oval1 y luego lo duplica.
Oval1.Seleccione

TestPicture.Duplicate
mi

Ejemplo del método EditPicture

El siguiente ejemplo abre el cuadro de


diálogo de configuración para la imagen
de prueba de imagen.
TestPicture.EditPicture

Ejemplo de método de
habilitación

El siguiente ejemplo deshabilita el objeto


Color Button ColorButton1.
ColorButton1.Enable False

Ejemplo de subrutina
EnableAlarm

El siguiente ejemplo habilita la


verificación del límite de alarma para el
bloque AI1.
Activar alarma "AI1"
Ejemplo del método
Enumerate_All_Dynamos
El siguiente código proporciona un ejemplo de
Método Enumerate_All_Dynamos:

Sub privado
btnEnumAllDynamos_Click ()

' Útil para agregar una


referencia a iFix Geometry Helper &
iFIX Collection
Atenuar GH como
FixGeometryHelper.FixGeometryHelp
er 'Objeto auxiliar de geometría

Dim DynamoCollection As
Object 'Colección devuelta de
objetos Dynamo

Establecer GH =
Me.BuildObject
("GeometryHelper")
GH.Enumerate_All_Dynamos
Me.ContainedObjects,
DynamoCollection

' Ahora haz algo útil con


los Dynamos devueltos.
Dim aDynamo como
Fix2DDynamo.Fix2DDynamo

Dim aStr como cadena

Para cada aDynamo


en DynamoCollection
aStr =
aDynamo.FullyQualifiedName 'Do
algo útil aquí.

Siguiente aDynamo

GH.DestroyObject

End Sub
Ejemplo del método
Enumerate_All_Groups
El siguiente código proporciona un ejemplo de
Método Enumerate_All_Groups:

Función pública
GetAllGroupList (objPic como
CFixPicture, ByRef colDIList
como
Colección) como booleano

Dim colPIC como


CFixObjectCollection

Dim colList As
CFixObjectCollection

Dim objDI como objeto

Si TypeName (objPic) =
"Nothing" u objPic.Category <>
"Pictures" Entonces
GetAllGroupList = Falso

Ir a CLEAN_UP

Terminara si
'If objHelper.ClassName <>
"GeometryHelper" Entonces
' GetMasterDynamoList =
Falso

' Ir a CLEAN_UP

'Terminara si

'borrar lista de instancias de dynamo

Hacer mientras colDIList.Count> 0

colDIList.Remove (1)

Círculo

' obtener todos los Master


Dynamos en un DynamoSets
específico
Establecer colPIC =
objPic.ContainedObjects
Llama
PlugandSolve.GeometryHelperObj.En
umerate_All_Groups (colPIC,
colList)

Si colList.Count <= 0
Entonces
GetAllGroupList = True

Ir a CLEAN_UP

Terminara si

Para cada objDI en

colList colDIList.Add

objDI

Siguiente objDI

GetAllGroupList =

True CLEAN_UP:

En caso de error

Reanudar Siguiente

Establecer colList =

Nada Establecer colPIC


= Nada Establecer

objDI = Nada

Función final
Ejemplo del método
Enumerate_Top_Level_Dynamos
El siguiente código proporciona un ejemplo de
Método Enumerate_Top_Level_Dynamos:

Sub privado
btnEnumTopLevelDynamos_Click ()

' Útil para agregar una


referencia a iFix Geometry Helper &
iFIX Collection
Atenuar GH como
FixGeometryHelper.FixGeometryHelp
er 'Objeto auxiliar de geometría

Dim DynamoCollection As
Object 'Colección devuelta de
objetos Dynamo

Establecer GH =
Me.BuildObject
("GeometryHelper")

GH.Enumerate_Top_Level_Dynamo
s Me.ContainedObjects,
DynamoCollection
' Ahora haz algo útil con
los Dynamos devueltos.
Dim aDynamo como
Fix2DDynamo.Fix2DDynamo

Dim aStr como cadena

Para cada aDynamo


en DynamoCollection
aStr =
aDynamo.FullyQualifiedName 'Do
algo útil aquí.

Siguiente aDynamo

GH.DestroyObject

End Sub
Ejemplo del método
Enumerate_Top_Level_Groups
El siguiente código proporciona un ejemplo de
Método Enumerate_Top_Level_Groups:

Función pública
GetOldDynamoList (objFDS como
CFixDynamoSet, ByRef colDMList
como
Colección) como booleano

Dim colFDS como


CFixObjectCollection

Dim colList As
CFixObjectCollection

Dim objDM como objeto

Si TypeName (objFDS) =
"Nothing" O objFDS.Category <>
"Dynamo Sets" Entonces
GetOldDynamoList = Falso

Ir a CLEAN_UP

Terminara si
'If objHelper.ClassName <>
"GeometryHelper" Entonces
' GetMasterDynamoList =
Falso

' Ir a CLEAN_UP

'Terminara si

'borrar lista de instancias de dynamo

Hacer mientras colDMList.Count> 0

colDMList.Remove (1)

Círculo

' obtener todos los Master


Dynamos en un DynamoSets
específico
Establecer colFDS =
objFDS.ContainedObjects
Llama
PlugandSolve.GeometryHelperObj.En
umerate_Top_Level_Groups
(colFDS,
colList)
Si colList.Count <= 0
Entonces
GetOldDynamoList =

Verdadero Ir a

CLEAN_UP

Terminara si

Para cada objDM en

colList colDMList.Add

objDM

Siguiente objDM

GetOldDynamoList = True

CLEAN_UP:

En caso de error

Reanudar Siguiente

Establecer colList =

Nada Establecer colFDS


= Nada Establecer

objDM = Nada

Función final
Ejemplo de objeto de firma

Para usar el objeto ESignature de VBA,


declare una variable de objeto y cree el objeto
llamando a CreateObject (). Luego puede
acceder a los métodos del objeto ESignature a
través de la variable de objeto.

El siguiente código de muestra ilustra cómo


utilizar el objeto ESignature en aplicaciones
VBA.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Valor de atenuación como


variante

'Cree el objeto ESignature

Establecer ESig = CreateObject


("ElectronicSignature.ESignature"
)

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la fuente de
datos requiere firma
electrónica
ESig.Initialize ("Fix32.
THISNODE.DO1.F_CV ")

ESig.IsSignatureRequired 0,
bSigRequired
Si bSigRequired = True Entonces

'Capture la firma y escriba el


nuevo valor
Valor = 1

ESig.GetSignatureAndWriteValue
0, Valor
Demás

'No se requiere firma para esta


fuente de datos, simplemente
escriba el valor
Terminara si

Demás
'Firma no habilitada en este
nodo, simplemente escriba el
valor
Terminara si
Ejemplo del método
ExchangePenPositions
El siguiente ejemplo establece la ubicación
del lápiz en la posición 1 a la posición 3 en la
colección de lápices.
Chart1.ExchangePenPositions 3, 1

Ejemplo del método ExportData

El siguiente ejemplo exporta el archivo a la


ubicación C: \ TEMP \ DATA.TXT, en
formato de tabla.
Sub privado
CommandButton6_Click ()

LineChart1.ExportData
"C: \ TEMP \ DATA.TXT",
DataExportStyle_VerticalTable
End Sub
Ejemplo del método ExportImage

El siguiente ejemplo exporta la imagen al


portapapeles, en formato de archivo PNG,
con un tamaño de 800 X 600 píxeles.
Sub privado
CommandButton8_Click ()

LineChart1.ExportImage "",
ImageFormat_PNG,
SizeUnits_Pixels, 800, 600
End Sub

Ejemplo del método


ExportLanguageFile

El siguiente ejemplo exporta un archivo


de idioma español.
pic.LanguageDesired = ES_Español

pic.ExportLanguageFile

-O-

pic.ExportLanguageFile
(ES_Spanish)
F

Ejemplo de subrutina FetchLimits

El siguiente ejemplo obtiene las EGU altas y


bajas para el elemento de datos
FIX32.NODE1.AI1.F_CV y las ingresa en
dos campos de texto.
Dim sngHi como único

dim sngLo como único

dim intRet como entero

Llamar a FetchLimits
("FIX32.NODE1.AI1.F_CV",
sngHi, sngLo, intRet)
Si intRet = 0 Entonces

txtHighEGU.Caption =

sngHi txtLowEGU.Caption =

sngLo End If
Ejemplo del método
FindAndReplaceDialog
El siguiente ejemplo abre el cuadro de
diálogo Buscar y reemplazar para la
imagen de prueba de imagen.
TestPicture.FindAndReplaceDialog

Ejemplo de subrutina FindDataSource

El siguiente ejemplo busca el origen de datos


de la propiedad VerticalFillPercentage del
objeto Tank1, que se encuentra en Picture
TestPicture.
Atenuar iTank como objeto

Dim sDataSource como cadena

Establecer iTank =
untitled1.Tank1

sDataSource =
FindDataSource (iTank,
"VerticalFillPercentage")
Ejemplo del método FindInString

El siguiente ejemplo encuentra cada


aparición de la cadena AI1 con la cadena
FIX32.NODE1.AI1.F_CV. La operación está
especificada para incluir scripts en la
búsqueda.
Dim l Primero tanto tiempo

Dim lCount tan largo

Dim sMatchString como cadena

Dim b encontrado como booleano

FindReplace.FindInString
"FIX32.NODE1.AI1.F_CV", 1,
"AI1", 8, sMatchString, lFirst,
lCount, bFound
Ejemplo de subrutina
FindLocalObject

El siguiente ejemplo encuentra el objeto


PipeColorA dentro del Group Pipe.
Dim PipeSectObj como objeto

Establecer PipeSectObj
= FindLocalObject
(Pipe, "PipeColorA")

Ejemplo del método FindObject

El siguiente ejemplo devuelve el objeto


Picture TestPicture.
Dim iPic como objeto

Establecer iPic =
System.FindObject ("Imagen de
prueba")

El siguiente ejemplo devuelve


una referencia de elemento de
datos para el bloque AI1 en el
nodo NODE1.
Atenuar iDataItem como objeto

Establecer iDataItem =
System.FindObject ("FIX32.NODE1.AI
1.F_CV")
El siguiente ejemplo devuelve un
objeto de animación para el objeto
Rectangle Rect4 in Picture
Imagen de prueba.

Dim iLinear como objeto

Establecer iLinear =
System.FindObject ("TestPicture.Re
ct4.AnimatedHorizontalFill ")

Ejemplo del método


FindReplaceInObject
El siguiente ejemplo reemplaza cada instancia
de la cadena NODE1 con la cadena NODE2
dentro del objeto de grupo Group1. Se
especifica que la operación distingue entre
mayúsculas y minúsculas.
Dim b encontrado como booleano

FindReplace.FindReplaceInObject
Group1, 1, "NODE1", "NODE2",
bFound
Ejemplo del método
FindReplaceInString

El siguiente ejemplo encuentra la primera


aparición de la cadena AI1 dentro de la
cadena FIX32.NODE1.AI1.F_CV y la
reemplaza con AI2, devolviendo la nueva
cadena en sReplacement. La operación está
especificada para incluir scripts en la
búsqueda.
Dim l Primero tanto tiempo

Dim lCount tan largo

Dim bsuccess como booleano

Dim sTarget As String

Dim s Reemplazo como cadena

sTarget = "FIX32.NODE1.AI1.F_CV"

FindReplace.FindReplaceInString
sTarget, 1, "AI1", "AI2", 8,
lFirst, lCount, sReplacement,
bsuccess
Ejemplo del método
FitDocumentToWindow
El siguiente ejemplo cambia el tamaño del
documento de imagen de prueba para que
quepa dentro de la ventana.
TestPicture.FitDocumentToWindow

El siguiente ejemplo cambia el tamaño del


documento de imagen de prueba para que
quepa dentro de la ventana, lo que evita que
se vuelva a pintar la imagen.
TestPicture. FitDocumentToWindow
Falso

Ejemplo del método


FitWindowToDocument
El siguiente ejemplo cambia el tamaño de la
ventana para que se ajuste al tamaño del
documento de imagen de prueba.
TestPicture.FitWindowToDocument
El siguiente ejemplo cambia el tamaño de la
ventana para que se ajuste al tamaño del
documento de imagen de prueba, lo que evita
que se vuelva a pintar la imagen.
TestPicture. FitWindowToDocument
Falso

Ejemplo del método


FixCheckApplicationAccess
El siguiente ejemplo comprueba si el
usuario tiene acceso a la aplicación
especificada.
Atenuar lAccess mientras

lAccess =
System.FixCheckApplicationAccess (
DatabaseManager)
Ejemplo del método
FixCheckApplicationAccessQuiet
El siguiente ejemplo comprueba si el
usuario tiene acceso a la aplicación
especificada.
Atenuar lAccess mientras

lAccess =
System.FixCheckApplicationAccessQ
uiet (Administrador de bases de
datos)

Ejemplo del método


FixCheckAreaAccess
El siguiente ejemplo comprueba si el
usuario tiene acceso al área de seguridad
11.
Atenuar lAccess mientras

lAccess =
System.FixCheckAreaAccess (11)
Ejemplo del método
FixCheckAreaAccessQuiet
El siguiente ejemplo comprueba si el
usuario tiene acceso al área de seguridad
11.
Atenuar lAccess mientras

lAccess =
System.FixCheckAreaAccessQuiet (11
)

Ejemplo de método
FixCheckSecurityEnabled
El siguiente ejemplo comprueba si la
seguridad está habilitada.
Dim lEnabled mientras

lEnabled =
System.FixCheckSecurityEnabled
()
Ejemplo de método
FixGetManualAlmDeleteEnabled
Este ejemplo muestra cómo habilitar la
eliminación manual de alarmas.
Dim bManlAlmDel como booleano

System.FixGetManualAlmDeleteEnabl
ed bManlAlmDel
Si bManlAlmDel = True, entonces

MsgBox "La eliminación manual de


alarmas está habilitada"
Terminara si
Ejemplo del método
FixGetUserInfo

El siguiente ejemplo recupera información


de inicio de sesión sobre el usuario actual,
incluido el ID de usuario, el nombre de
usuario y el nombre del grupo.
Dim sUserID como cadena

Dim sUserName como cadena

Dim sGroupName como cadena

System.FixGetUserInfo sUserID,
sUserName, sGroupName

Ejemplo del método FixLogin

El siguiente ejemplo inicia sesión en el


usuario TestUser con una contraseña de
MyPassword.
System.FixLogin "TestUser",
"MyPassword"
Ejemplo del método FixLogout

El siguiente ejemplo cierra la sesión del


primer usuario.

System.FixLogout

Ejemplo del método FontProperties

El siguiente ejemplo abre el cuadro de


diálogo de fuentes para el objeto de texto
Text1.
Text1.FontProperties

Ejemplo de método FullView

El siguiente ejemplo cambia el tamaño del


documento de imagen de prueba para ocupar
toda la pantalla.
TestPicture.FullView
GRAMO

Ejemplo de subrutina GeneratePicture


Dim aPicInfo como PictureInfo

aPicInfo.lfTopPct = TopPct

aPicInfo.lfLeftPct = LeftPct

aPicInfo.lfHeightPct = 100

aPicInfo.lfWidthPct = 100

aPicInfo.lBkColor = RGB

(255,0,0) aPicInfo.szName.

bTitlebar = Verdadero

aPicInfo.bSystemMenu = Verdadero

aPicInfo.bResizable = Verdadero

aPicInfo.bAlwaysOnTop = Falso

aPicInfo.bRuntimeVisible = True

Dim retVal
retVal =
GeneratePicture (aPicInfo)

Ejemplo del método


Get_Last_Prompt_Value
El siguiente código proporciona un ejemplo
del método Get_Last_Prompt_Value que
aparece en el módulo modDynamoUpdater del
proyecto Project_PlugandSolve VBA.
Función pública
UpdateADynamo
(objDynamoInstance
Como Fix2DDynamo.Fix2DDynamo,
objMasterDynamo como
Fix2DDynamo.Fix2DDynamo, ByRef
strReturnMsg) Como
UpdateDynamoResult

Dim strDIName como cadena

Dim strDMName como cadena

Atenuar iDataSourceOption
como
DynamoDataSourceOption

Dim iResult As Long


'UpdateDynamoResult
Atenuar iPrompt tanto
tiempo
iDataSourceOption =
g_WizardConfig.iDataSourceOption

Si
g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE
Entonces

Si
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_BUT_NOT_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_AND_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL Entonces
iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si
Terminara si

'////// llamada de

actualización real' llamada

Update A Dynamo

PlugandSolve.GeometryHelperOb
j.Update_A_Dynamo_By_Ref
objMasterDynamo,
objDynamoInstance,
iDataSourceOption,
mobjStrMgr.GetNLSStr (4069),
iResult

'obtener una cadena de


resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Result_String

' obtenga la última opción


de usuario del indicador
Si
(g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE) Y _

(g_ReturnFromPromptForCho
ice = PROMPT_DLG_SEL_NONE)
Entonces
iPrompt =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Prompt_Value

Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_TODOS) O _

(iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL) O _
(iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL) Entonces
g_ReturnFromPromptFor
Choice = iPrompt
Terminara si

Terminara si

'////// fin de la llamada de


actualización real

'////// maniquí para prueba

' g_testcount = g_testcount +


1

' strDIName =
objDynamoInstance.Name
' strDMName =
objMasterDynamo.Name
' Si g_testcount = 3 Entonces

' strReturnMsg = ">>>" &


strDIName & "no se actualizó
con "& strDMName

' iResult =
DYNAMO_NOTUPDATED

' De lo contrario, si
g_testcount = 150
Luego

' strReturnMsg = ">>>


Usuario
cancelado"

' iResult =
DYNAMO_UPDATE_ABORTED

' Demás

' strReturnMsg =
strDIName & "se actualizó
correctamente con" & strDMName
' iResult = DYNAMO_UPDATED

' Terminara si

'////// fin del maniquí para


prueba

Si iResult <= DYNAMO_UPDATED


Luego
UpdateADynamo
= DYNAMO_UPDATED
De lo contrario, si
iResult <=
DYNAMO_NOTUPDATED Entonces

UpdateADynamo
= DYNAMO_NOTUPDATED
Demás

UpdateADynamo =
DYNAMO_UPDATE_ABORTED
Terminara si

Función final

Para ver este código en contexto:


1. En la vista clásica, en el menú
WorkSpace, seleccione Editor de Visual
Basic. -O-
En la vista de cinta, en la pestaña
Inicio, en el grupo Espacio de
trabajo, haga clic en Editor de
Visual Basic.
2. En la vista de árbol, haga doble clic en
la carpeta Project_PlugandSolve, luego en la
carpeta Módulos y finalmente en
modDynamoUpdater.
3. Busque UpdateADynamo para
localizar este código.

Ejemplo del método


Get_Last_Result_String
El siguiente código proporciona un ejemplo
del método Get_Last_Result_String que
aparece en el módulo modDynamoUpdater del
proyecto Project_PlugandSolve VBA.
Función pública
UpdateADynamo
(objDynamoInstance
Como Fix2DDynamo.Fix2DDynamo,
objMasterDynamo como
Fix2DDynamo.Fix2DDynamo, ByRef
strReturnMsg) Como
UpdateDynamoResult

Dim strDIName como cadena

Dim strDMName como cadena

Atenuar iDataSourceOption
como
DynamoDataSourceOption
Dim iResult As Long
'UpdateDynamoResult
Atenuar iPrompt tanto tiempo

iDataSourceOption =
g_WizardConfig.iDataSourceOption

Si
g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE
Entonces

Si
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_BUT_NOT_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_AND_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL Entonces
iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si

Terminara si

'////// llamada de

actualización real' llamada

Update A Dynamo

PlugandSolve.GeometryHelperOb
j.Update_A_Dynamo_By_Ref
objMasterDynamo,
objDynamoInstance,
iDataSourceOption,
mobjStrMgr.GetNLSStr (4069),
iResult

'obtener una cadena de


resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Result_String

' obtenga la última opción


de usuario del indicador
Si
(g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE) Y _
(g_ReturnFromPromptForCho
ice = PROMPT_DLG_SEL_NONE)
Entonces
iPrompt =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Prompt_Value

Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_TODOS) O _

(iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL) O _
(iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL) Entonces
g_ReturnFromPromptFor
Choice = iPrompt
Terminara si

Terminara si

'////// fin de la llamada de


actualización real

'////// maniquí para prueba

' g_testcount = g_testcount +


1

' strDIName =
objDynamoInstance.Name

' strDMName =
objMasterDynamo.Name
' Si g_testcount = 3 Entonces

' strReturnMsg = ">>>" &


strDIName & "no se actualizó
con "& strDMName

' iResult =
DYNAMO_NOTUPDATED

' De lo contrario, si
g_testcount = 150
Luego

' strReturnMsg = ">>>


Usuario
cancelado"

' iResult =
DYNAMO_UPDATE_ABORTED

' Demás

' strReturnMsg =
strDIName & "se actualizó
correctamente con" & strDMName
' iResult = DYNAMO_UPDATED

' Terminara si
'////// fin del maniquí para
prueba
Si iResult <= DYNAMO_UPDATED
Luego

UpdateADynamo
= DYNAMO_UPDATED
De lo contrario, si iResult
<=
DYNAMO_NOTUPDATED Entonces

UpdateADynamo
= DYNAMO_NOTUPDATED
Demás

UpdateADynamo =
DYNAMO_UPDATE_ABORTED
Terminara si

Función final
Para ver este código en contexto:
1. En la vista clásica, en el menú
WorkSpace, seleccione Editor de Visual
Basic. -O-
En la vista de cinta, en la pestaña
Inicio, en el grupo Espacio de
trabajo, haga clic en Editor de
Visual Basic.
2. En la vista de árbol, haga doble clic
en la carpeta Project_PlugandSolve, luego en
la carpeta Módulos y finalmente en
modDynamoUpdater.
3. Busque UpdateADynamo para
localizar este código.
Ejemplo de subrutina
GetAllConnections
El siguiente ejemplo muestra cómo usar un
evento de clic en un objeto rectangular para
recuperar todos los elementos de datos
dentro de una imagen y luego mostrarlos en
un cuadro de mensaje.
Sub privado Rect2_Click ()

Dim obj

Dim str como cadena

GetAllConnections Me

Para cada objeto en


AllConnectionsCollection
str = str & CStr (obj) &

vbCr Siguiente

MsgBox str`` Me.Name

End Sub
Ejemplo del método GetBoundRect

El siguiente ejemplo recupera los puntos del


rectángulo delimitador del objeto Oval
Oval1.
Dim dTop como doble

dim d Izquierda como

doble dim dBfondo como

doble dim d Derecha

como doble

Oval1.GetBoundRect dTop,
dLeft, dBottom, dRight
Ejemplo del método GetColHeadings

El siguiente ejemplo recupera los encabezados


de columna del objeto de resumen de alarma.
En este ejemplo, los encabezados de columna
se devolverán en la variable bstrColHeadings.
Dim lErr tan largo

Dim bstrColHeadings como cadena

lErr =
AlarmSummaryOCX1.GetColHeadings (b
strColHeadings)

Ejemplo del método GetColumnInfo

El siguiente ejemplo recupera el nombre del


elemento y el número de caracteres que se
muestran en la columna 3 para Chart Chart1.
Dim sItemName como cadena

Dim iNumChar como entero

Chart1.GetColumnInfo
3, sItemName, iNumChar
Ejemplo del método
GetConnectionInformation
El siguiente ejemplo recupera la información
de conexión para la primera conexión para el
objeto Oval Oval1.
Dim sPropName como cadena

Dim sSource como cadena

Dim sFullQualSource como cadena

Dim vSourceObjs como variante

Dim vTolerance como variante

Dim vDeadBand como variante

Dim vUpdateRate como variante

Oval1.GetConnectionInformation
1, sPropName, sSource,
sFullQualSource, vSourceObjs,
vTolerance, vDeadBand,
vUpdateRate
Ejemplo del método
GetConnectionParameters
El siguiente ejemplo devuelve UpdateRate,
Deadband y Tolerance para la conexión de
propiedad ForegroundColor para el objeto
Oval Oval1.
Dim vTolerance como

variante Dim vDeadBand como

variante Dim vUpdateRate

como variante Dim vFlags

como variante

Oval1.GetConnectionParameters
"ForegroundColor", vUpdateRate,
vDeadBand, vTolerance, vFlags
Ejemplo del método
GetContinuousUser

El siguiente ejemplo asegura que el Nombre


de usuario ingresado es válido, crea el objeto
ESignature, verifica que el nodo esté
habilitado para firma electrónica y establece
y obtiene el nombre del usuario continuo.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim UserName As String

Dim SetName As String

'nombre de usuario

válido SetName =

"TestUser"

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")
'Compruebe si el nodo está
habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled

Si bNodeSignEnabled = True
Entonces

'Establezca el nombre del


usuario continuo en "TestUser"
ESig.SetContinuousUser SetName

'Obtener el nombre del usuario


continuo
ESig.GetContinuousUser UserName

MsgBox "Usuario continuo:"


& UserName
Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si
Ejemplo del método
GetCurrentDataSet

El siguiente ejemplo recupera la referencia


de objeto al conjunto de datos actual para
el gráfico de líneas / líneas múltiples.
Sub privado
CommandButton2_Click ()

Dim objDataSet como objeto

Establecer objDataSet =
LineChart1.GetCurrentDataSet
()
' Establezca el color del
conjunto de datos en su complemento.
objDataSet.DataSetColor =
objDataSet.DataSetColor Xor (-1)
End Sub
Ejemplo del método
GetCurrentValueWithQuality
El siguiente ejemplo muestra el actual
valor de x, y, y la calidad de los datos del
Gráfico mejorado en un cuadro de mensaje, que
son
regresó usando el
Método GetCurrentValueWithQuality.

Sub privado
CommandButton11_Click ()

Dim objDataSet como objeto


'FixRealTimeDataSet.FixRealTimeDat
aSet
Dim varXValue como variante,
dblYValue como doble,
lngQuality tan largo
Establecer objDataSet =
LineChart1.GetCurrentDataSet
()
objDataSet.GetCurrentValueWithQua
lity varXValue, dblYValue,
lngQuality
MsgBox "AssignedID is" & CStr
(objDataSet.AssignedID) &
vbCrLf & _
"ResolvedSourceName es" & CStr
(objDataSet.ResolvedSourceNam e) &
vbCrLf & _
"El valor X actual es" & CStr
(varXValue) & vbCrLf & _
"El valor X actual es" & CStr
(dblYValue) & vbCrLf & _
"La calidad actual es"
& CStr (lngQuality)
End Sub

Ejemplo del método GetCurrentValue

El siguiente ejemplo recupera el valor, la


marca de tiempo y la información de
calidad para Pen Pen1.
Dim dCurVal Como Doble

Dim dt Como Fecha Dim

lQual Tan Largo

Pen1.GetCurrentValue dCurVal,
dt, lQual
Ejemplo del método
GetDataSetByPosition
El siguiente ejemplo muestra un ejemplo del
método GetDataSetByPosition con el objeto
LineChart.
Dim objDS como objeto

Establecer objDS =
LineChart1.GetDataSetByPosition (2
)

Valor devuelto

Objeto. El puntero de envío


del objeto Dataset recuperado
por posición.
Ejemplo de subrutina
GetDecimalSeparator
El siguiente ejemplo recupera el conjunto de
separadores decimales para la máquina
local.
Dim sDecimal como cadena

sDecimal = GetDecimalSeparator

Ejemplo del método GetDeviceRect

El siguiente ejemplo recupera los puntos del


rectángulo delimitador del objeto Oval Oval1
en coordenadas de dispositivo.
Dim dTop tan largo

Dim dLeft tan largo

Dim dBottom tan largo

Dim dRight tan largo

Oval1.GetDeviceRect dTop, dLeft,


dBottom, dRight
Ejemplo del método GetDuration

El siguiente ejemplo recupera la duración de


Chart Chart1.
Dim lDías tan largos

Dim lHoras tan largos

Dim lMinutos tan

largos Dim lSeconds

tan largos

Chart1.GetDuration lDays,
lHours, lMinutes, lSeconds
Ejemplo del método GetErrorString

El siguiente es un ejemplo de cómo un


usuario puede usar GetErrorString para
manejar los errores que ocurren. En este
ejemplo, establecer Bitmap1.CurrentImage =
4 provoca un error, lo que obliga a que el
controlador de errores entre en vigor.
Dim sErrString como cadena

En caso de error, ir a mano de


error

Bitmap1.CurrentImage = 4

errhand:

sErrString =
System.GetErrorString (Err.Number)
Ejemplo del método
GetEventHandlerIndex
El siguiente ejemplo obtiene el número de
índice para el clic del objeto CurrentObject y,
si existe un procedimiento, lo elimina.
CurrentObject.Procedures.GetEvent
HandlerIndex "Click", lIndex,
lFound
Si lFound = 1 entonces

CurrentObject.Procedures.Remove
lIndex
Terminara si

Ejemplo de subrutina
GetFormDynamoColor
El siguiente ejemplo recupera una instancia
del formulario denominada DynamoColorBy.
Dim frmDynamoColor como objeto

GetFormDynamoColor frmDynamoColor
Ejemplo de subrutina
GetFormNumeric
Reservado para fines internos.

Ejemplo de subrutina
GetFormPushbutton
Reservado para fines internos.

Ejemplo de subrutina
GetFormRamp

Reservado para fines internos.

Ejemplo de subrutina
GetFormSlider

Reservado para fines internos.


Ejemplo del método GetFullname

El siguiente ejemplo crea el objeto


ESignature, comprueba si el nodo está
habilitado para firma electrónica, muestra el
cuadro de diálogo Firma electrónica, valida la
firma y envía un mensaje a la pista de
auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como

booleano Dim bVerify como

booleano

Dim bContinuousUse como

booleano Dim bValidSig como

booleano

Dim PerformUserName como

cadena Dim PerformUserID como

cadena Dim PerformComment

como cadena Dim

PerformFullName como cadena

Dim VerifyUserName como

cadena Dim VerifyUserID como


cadena Dim VerifyComment como

cadena Dim VerifyFullName

como cadena
'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

bVerify = True 'no se requiere


verificación
bContinuousUse = True 'permite
que el usuario continuo, si lo
hay, se muestre en el cuadro de
diálogo
bValidSig = False 'se
establecerá en TRUE por
GetSignature si la firma se
captura con éxito
'Mostrar el cuadro de diálogo
Firma electrónica
ESig.GetSignature
"Descripción de la acción",
bVerify, bContinuousUse,
bValidSig, Ucase
(PerformUserName), Ucase
(PerformUserID),
PerformComment, Ucase
(VerifyUserName),
Ucase (VerifyUserID),
VerifyComment
Si bValidSig = True Entonces

'Envíe un mensaje a la
pista de auditoría
ESig.SendSignedOperatorMessage
"Descripción de la acción",
"", "", Ucase (PerformUserID),
PerformComment, Ucase
(VerifyUserID), VerifyComment
Obtenga los nombres
completos de los
firmantes
ESig.GetFullname Ucase
(PerformUserID), Ucase
(PerformFullName)
ESig.GetFullname Ucase
(VerifyUserID), Ucase
(VerifyFullName)
'Mostrar resultados

MsgBox "Acción realizada por" +


PerformUserName + "(" +
PerformFullName + ")" +
PerformComment + "y verificada
por "+ VerifyUserName +" ("+
VerifyFullName +") "+
VerifyComment
Demás

MsgBox "No se capturó la


firma".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si

Ejemplo del método


GetIndirectionInfo

Reservado para fines internos.


Ejemplo del método GetInterval

El siguiente ejemplo recupera el intervalo


para Pen Pen1.
Dim lDías tan largos

Dim lHoras tan largos

Dim lMinutos tan

largos Dim lSeconds

tan largos

Pen1.GetInterval lDays,
lHours, lMinutes, lSeconds

Ejemplo del método


GetNumberOfDataSets
El siguiente ejemplo muestra un ejemplo del
método GetNumberOfDataSets con el objeto
LineChart.
Dim nNumOfDS tan largo

nNumOfDS =
LineChart1.GetNumberOfDataSets
Ejemplo del método GetLevel

El siguiente ejemplo recupera las propiedades


de nivel para el objeto Lookup iLookup en el
índice de nivel 1 para el objeto Oval Oval1.
Atenuar iLookup como

objeto Dim vIn1 como

variante Dim vOut1

como variante

Dim vIn2 como

variante dim vOut2


como variante

Establecer iLookup =

System.FindObject ("TestPicture.Ov
al1.AnimatedForegroundColor ")

iLookup.GetLevel 1, vIn1, vOut1,


vIn2, vOut2

Ejemplo de subrutina
GetLocaleInfoA

El siguiente ejemplo usa la llamada


GetLocaleInfoA para obtener el separador
decimal especificado para la máquina local.
También usaremos la llamada API.
GetUserDefaultLCID para obtener la
configuración regional predeterminada del
usuario local. Esto nos da el primer
parámetro para GetLocaleInfoA.
Función pública
GetDecimalSeparator ()
Dim intCountChar como

entero Dim lngHolder como

largo Dim strDecChar como

cadena en caso de error Ir

a ErrorHandler

'Establecer el búfer para el


valor de retorno
strDecChar = Espacio $ (255)

Separador 'Obtenga el
separador decimal y el
recuento de caracteres para el
millar'
lngHolder =
GetLocaleInfoA (GetUserDefaultLCID
(), LOCALE_SDECIMAL, strDecChar,
Len (strDecChar) + 1)
'Ahora establezca el valor de
retorno solo en el separador
decimal.
GetDecimalSeparator =
Izquierda $ (strDecChar,
lngHolder - 1)
Función de salida

ErrorHandler:

HandleError

Función final

Ejemplo del método GetObjectInfo

El siguiente ejemplo recupera una matriz


bidimensional que consta de los valores de
StartTime e Interval para los objetos Timer
MyTimer y MyTimer1.
Atenuar iSched como objeto

Atenuar objetos (1) como


cadena

Propiedades de atenuación (1)


como cadena

Dim Objinfo como variante

Objetos (0) = "MyTimer"

Objetos (1) = "MyTimer1"

Propiedades (0) = "Hora de


inicio"

Propiedades (1) = "Intervalo"


Establecer iSched =
System.FindObject ("Programa de
prueba")

objinfo =
iSched.GetObjectInfo (objetos,
propiedades)

Ejemplo del método


GetPenDataArray

El siguiente ejemplo genera un informe que


contiene todos los datos contenidos dentro de
un gráfico estándar, Chart1, en un archivo.
Dim lNumPts tan largo

Dim vVal como

variante Dim vPsa

como variante Dim

vQual como variante

Dim vMill como

variante Dim toto

como objeto Dim

Mypath como cadena


Dim myfile como

cadena Dim RTN como

cadena
RTN = ""

Si Chart1.Pens.Count <> 0,

entonces Mypath =

System.BasePath

myfile = Mypath & "\


app \ ChartReport.txt"
RTN = Dir

(miarchivo) Si RTN

<> "" Entonces 'El

archivo existe'

Eliminar archivo de

salida Elimina

miarchivo Finalizar

si

Abra myfile para la salida como

# 1 para i = 1 a

Chart1.Pens.Count
Chart1.Pens.Item (i)
.GetPenDataArr ayEx lNumPts, vVal,
vPsa, vQual, vMill
Para j = 0 a (lNumPts - 1)

Valor = vVal (j)


Tiempo = vPsa (j)

Calidad = vQual (j)

Molino = vMolino (j)

Escribe # 1,
Chart1.Pens.Item (i) .Source;
""; Tiempo; ""; Valor; ""
Siguiente j

Siguiente yo

Cerrar # 1

Terminara si
Ejemplo del método
GetPenDataArrayEx

El siguiente ejemplo obtiene la matriz de


datos del Pen Pen1.
Dim lNumPts Tan largo

Dim vVal como

variante Dim vPsa

como variante Dim

vQual como variante

Dim vMill como

variante

Pen1.GetPenDataArrayEx lNumPts,
vVal, vPsa, vQual, vMill
Ejemplo del método GetPointAt

El siguiente ejemplo recupera el objeto de


punto en el índice de punto 2 para el
objeto Polígono Polygon1.
Atenuar iPoint como objeto

Dim dX como doble

Dim dY como doble

Establecer iPoint =
Polygon1.GetPointAt (2)

dX = iPoint.x

dY = iPoint.y
Ejemplo del método GetPriorityColor

El siguiente ejemplo recupera el color para


cada prioridad de alarma en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim lLow como OLE_COLOR
Dim lMedium como
OLE_COLOR Dim lHigh como
OLE_COLOR lLow =
AlarmSummaryOCX1.GetPriorityColor
(7)

lMedium =
AlarmSummaryOCX1.GetPriorityColor
(6)

lHigh =
AlarmSummaryOCX1.GetPriorityColor
(5)
Ejemplo de GetProcedureIndex

El siguiente ejemplo busca el índice del


procedimiento Rect2_DisplayMessage en el
proyecto de ActiveDocument.
Dim o como objeto

Dim oProc como objeto

Dim lIndex tan largo

Dim lFound As Long

Establecer o =
Application.ActiveDocument.Page.F
indObject ("Rect2")

o.Procedures.GetProcedureIndex
"DisplayMessage", lIndex, lFound
Si (lEncontré) Entonces

Establecer oProc =
o.Procedures.Item (lIndex)

Terminara si
Ejemplo del método GetProperty

El siguiente ejemplo recupera el valor de la


propiedad Caption del objeto Text Text1.
Dim vValue como variante

Text1.GetProperty
"Caption", vValue
El siguiente ejemplo recupera el
valor de la propiedad FillStyle
del objeto Rectangle
Rect1.

Dim vValue como variante

Rect1.GetProperty "FillStyle",
vValue
Ejemplo del método
GetPropertyAttributes
El siguiente ejemplo obtiene la información
de atributo para el atributo HighEGU del
bloque AI1 en el nodo NODE1.
Dim vtResults Dim

vtAttributes Dim

lStatus As Long Dim

strLoEGU como String

Dim LoEGUval

Oval1.GetPropertyAttributes
"FIX32.NODE1.AI1.F_CV", 3,
vtResults, vtAttributes, lStatus
strLoEGU = vtAttributes (0)

LoEGUval = vtResults (0)

En el ejemplo anterior, la variable strLoEGU


ahora contendrá la cadena
"FIX32.NODE1.AI1.A_ELO" y la variable
LoEGUval contendrá el valor bajo de EGU de
la etiqueta AI1.
Ejemplo del método
GetPropertyTargets

El siguiente ejemplo determina qué


objetos están conectados a una referencia
de etiqueta específica.
Dim sPropName como

cadena Dim vtTargets

como variante

Oval1.GetPropertyTargets 1,
sPropName, vtTargets

Ejemplo del método


GetSelectedAlmExt

El siguiente ejemplo recupera las


extensiones de alarma configuradas para la
alarma actualmente seleccionada en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim sExt1 como cadena

Dim sExt2 como cadena


AlarmSummaryOCX1.GetSelectedAlmEx
t sExt1, sExt2
Ejemplo del método
GetSelectedNodeTag
El siguiente ejemplo recupera el nombre de
nodo y etiqueta correspondiente a la alarma
actualmente seleccionada en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim sNode como cadena

Dim sTag como cadena

AlarmSummaryOCX1.GetSelectedNodeT
ag sNode, sTag

Ejemplo del método GetSelectedRow

El siguiente ejemplo recupera la información


de la alarma seleccionada en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim bAck como booleano

Dim sHandle como

cadena Dim sArea como

cadena Dim sDateIn

como cadena
Dim sDateLast como cadena

Dim sTimeIn como cadena

Dim sTimeLast como cadena

Dim sNode como cadena

Dim sTag como cadena

Dim sPriority como cadena

Dim sStatus como cadena

Dim sDesc como cadena

Dim sValue como cadena

Dim sExt1 como cadena

Dim sExt2 como cadena

Dim sUser1 como cadena

Dim sUser2 como cadena

AlarmSummaryOCX1.GetSelectedRow
bAck, sHandle, sArea, sDateIn,
sDateLast, sTimeIn, sTimeLast,
sNode, sTag, sPriority, sStatus,
sDesc, sValue, sExt1, sExt2,
sUser1, sUser2
Ejemplo del método
GetSelectedUserDefFields
El siguiente ejemplo recupera el valor de los
campos "A_" configurados para la alarma
actualmente seleccionada en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim sUserDef1 como cadena

Dim sUserDef2 como cadena

AlarmSummaryOCX1.GetSelectedUserD
efFields sUserDef1, sUserDef2

Ejemplo del método GetSignature

El siguiente ejemplo crea el objeto


ESignature, comprueba si el nodo está
habilitado para firma electrónica, muestra el
cuadro de diálogo Firma electrónica, valida la
firma y envía un mensaje a la pista de
auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bVerificar como booleano


Dim bContinuousUse como

booleano Dim bValidSig como

booleano

Dim PerformUserName como

cadena Dim PerformUserID como

cadena Dim PerformComment

como cadena Dim

PerformFullName como cadena

Dim VerifyUserName como

cadena Dim VerifyUserID como

cadena Dim VerifyComment como

cadena Dim VerifyFullName

como cadena 'Crear el objeto

ESignature Establecer ESig =

CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True,

entonces la verificación bVerify

= True 'es
no requerido

bContinuousUse = True 'permite


que el usuario continuo, si lo
hay, se muestre en el cuadro de
diálogo
bValidSig = False 'se
establecerá en TRUE por
GetSignature si la firma se
captura con éxito
'Mostrar el cuadro de diálogo
Firma electrónica
ESig.GetSignature
"Descripción de la acción",
bVerify, bContinuousUse,
bValidSig, Ucase
(PerformUserName), Ucase
(PerformUserID),
PerformComment, Ucase
(VerifyUserName), Ucase
(VerifyUserID),
VerifyComment
Si bValidSig = True Entonces

'Envíe un mensaje a la
pista de auditoría
ESig.SendSignedOperatorMessage
"Descripción de la acción",
"", "", Ucase (PerformUserID),
PerformComment, Ucase
(VerifyUserID),
VerifyComment 'Obtenga los
nombres completos de los
firmantes
ESig.GetFullname Ucase
(PerformUserID), Ucase
(PerformFullName)
ESig.GetFullname Ucase
(VerifyUserID), Ucase
(VerifyFullName)
'Mostrar resultados

MsgBox "Acción realizada por"


+ PerformUserName + "(" +
PerformFullName + ")" +
PerformComment + "y verificada
por" + VerifyUserName + "(" +
VerifyFullName + ")" +
VerifyComment
Demás

MsgBox "No se capturó la


firma".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si
Ejemplo del método
GetSignatureAndWriteValue
El siguiente ejemplo crea el objeto
ESignature, verifica si el nodo está habilitado
para firma electrónica, determina si la
etiqueta FIX32.thisnode.D01.F_CV requiere
firma electrónica, captura la firma, escribe el
nuevo valor y envía un mensaje al pista de
auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim NewValue como variante

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la etiqueta
requiere firma electrónica
ESig.Initialize
"Fix32.thisnode.DO1.F_CV"
ESig.IsSignatureRequired 0,
bSigRequired
Si bSigRequired = True Entonces

'Capture la firma, escriba el


nuevo valor y envíe un mensaje a
la pista de auditoría
NewValue = 1

ESig.GetSignatureAndWriteValue
0, NewValue
Demás

MsgBox "No se requiere firma


para esta etiqueta".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si
Ejemplo del método GetStatusColor

El siguiente ejemplo recupera el color de las


alarmas con un estado HIHI en el objeto
AlarmSummary AlarmSummaryOCX1.
Dim lHiHi como OLE_COLOR

lHiHi =
AlarmSummaryOCX1.GetStatusColor (2
)
Ejemplo del método GetStatusFont

El siguiente ejemplo recupera las propiedades


de fuente para alarmas con un estado LO en el
objeto AlarmSummary AlarmSummaryOCX1.
Dim sFontName como cadena

Dim bStrike como booleano

Dim b Subrayado como

booleano Dim bNegrita

como booleano Dim bItalic

como booleano Dim iSize

como entero sFontName =

AlarmSummaryOCX1.GetStatusFont (3,
b Golpe, b Subrayado, b Negrita,
bItalic, iSize)
Ejemplo del método
GetTimeBeforeNow

El siguiente ejemplo recupera la hora de inicio


relativa inicial para el objeto Gráfico Chart1.
Dim lHours Tan largo

Dim lMinutes Tan

largo Dim lSeconds

Tan largo

Chart1.GetTimeBeforeNow
lHours, lMinutes, lSeconds

Ejemplo del método


GetTimeCursorInfo

El siguiente ejemplo obtiene el tiempo, el


valor y la calidad de la tendencia en el
momento en que el lápiz en el índice 1 del
gráfico Chart1 cruza el cursor de tiempo.
Dim Dt como fecha

Dim dVal como doble

Dim lQual siempre que


Chart1.GetTimeCursorInfo 1,
Dt, dVal, lQual
Ejemplo de subrutina
GetUserDefaultLCID
El siguiente ejemplo usa la llamada
GetLocaleInfoA para obtener el separador
decimal especificado para la máquina local.
También usaremos la llamada API
GetUserDefaultLCID para obtener la
configuración regional predeterminada del
usuario local. Esto nos da el primer
parámetro para GetLocaleInfoA.
Función pública
GetDecimalSeparator ()
Dim intCountChar como

entero Dim lngHolder como

largo Dim strDecChar como

cadena en caso de error Ir

a ErrorHandler

'Establecer el búfer para el


valor de retorno
strDecChar = Espacio $ (255)

Separador 'Obtenga el
separador decimal y el
recuento de caracteres para el
millar'
lngHolder =
GetLocaleInfoA (GetUserDefaultLCID
(), LOCALE_SDECIMAL, strDecChar,
Len (strDecChar) + 1)

'Ahora establezca el valor de


retorno solo en el separador
decimal.
GetDecimalSeparator =
Izquierda $ (strDecChar,
lngHolder - 1)

Función de salida

ErrorHandler:

HandleError

Función final

Ejemplo del método GetUserID

El siguiente ejemplo crea el objeto


ESignature, verifica si el nodo tiene la firma
electrónica habilitada, obtiene la ID de
usuario, verifica si el usuario tiene acceso a la
función de aplicación de omisión de firma
electrónica y verifica si el usuario tiene
acceso a un area de seguridad.
Atenuar ESig como objeto

Dim bNodeSignEnabled como

Boolean Dim UserName como

cadena

Dim PassWord como

cadena Dim resultado

como booleano Dim

UsrId como cadena

'nombre de usuario y
contraseña válidos de
iFix
UserName = "nombre de usuario"

PassWord = "contraseña"

resultado = Falso

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces
'Obtener la identificación de
usuario

ESig.GetUserid UserName,
Contraseña, UsrId

MsgBox "UserID:" & UsrId

'Compruebe si el usuario
tiene acceso a la función
de aplicación de omisión de
firma electrónica
ESig.CheckUserApplicationAccess
UsrId, 74, resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derecho a omitir la
firma?" & Resultado
'Compruebe si el usuario
tiene acceso al área de
seguridad B
ESig.CheckUserAreaAccess
UsrId, "B", resultado
MsgBox "Usuario:" & UserName &
vbCr
& "¿Tiene derechos sobre el Área
de seguridad B?" & Resultado
Demás
'la clave de hardware no está
habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si

Ejemplo del método


GetWindowLocation

El siguiente ejemplo recupera el tamaño de la


ventana y la ubicación de la imagen de prueba
de imagen en términos de porcentaje de la
pantalla.
Dim dTopPct como doble

dim dLeftPct como doble

dim dHeightPct como

doble dim dWidthPct como

doble

TestPicture.GetWindowLocation
dTopPct, dLeftPct, dHeightPct,
dWidthPct
Ejemplo del método
GlobalScrollBackFast
El siguiente ejemplo establece las
propiedades System.GlobalStartTime y
System.GlobalEndTime y se desplaza hacia
atrás por la cantidad especificada en la
propiedad GlobalFastScrollRate.
Sub privado
FastLeftButton_Click ()

System.GlobalScrollBackFast

End Sub
Ejemplo del método
GlobalScrollBackSlow
El siguiente ejemplo establece las
propiedades System.GlobalStartTime y
System.GlobalEndTime y se desplaza hacia
atrás por la cantidad especificada en la
propiedad GlobalSlowScrollRate.
Sub privado LeftButton_Click ()

System.GlobalScrollBackSlow End

Sub
Ejemplo del método
GlobalScrollForwardFast
El siguiente ejemplo establece las
propiedades System.GlobalStartTime y
System.GlobalEndTime y avanza la cantidad
especificada en la propiedad
GlobalFastScrollRate.
Sub privado
FastRightButton_Click ()

System.GlobalScrollForwardFast

End Sub
Ejemplo del método
GlobalScrollForwardSlow
El siguiente ejemplo establece las
propiedades System.GlobalStartTime y
System.GlobalEndTime y avanza la cantidad
especificada en la propiedad
GlobalSlowScrollRate.
RightButton_Click ()

System.GlobalScrollForwardSlow

End Sub
Ejemplo del método
GlobalTimerApply

El siguiente ejemplo cambia la propiedad


GlobalStartTime del sistema y la aplica al
WorkSpace.
Subdivisión privada
DTPicker7_Change ()

System.GlobalStartTime =
DTPicker7.Value

System.GlobalTimerApply

End Sub

Ejemplo de método de grupo

El siguiente ejemplo forma un grupo que


consta de los objetos Oval y Polygon
Oval1 y Polygon1.
Oval1.SelectObject False

Polygon1.SelectObject False

TestPicture.Group
H

Ejemplo de subrutina HandleError

El siguiente ejemplo demuestra cómo se


usaría la subrutina HandleError para detectar
errores.
Función pública
GetDecimalSeparator ()
Dim intCountChar como

entero Dim lngHolder como

largo Dim strDecChar como

cadena en caso de error Ir

a ErrorHandler

'Establecer el búfer para el


valor de retorno
strDecChar = Espacio $ (255)

Separador 'Obtenga el
separador decimal y el
recuento de caracteres para el
millar'
lngHolder =
GetLocaleInfoA (GetUserDefaultLCID
(), LOCALE_SDECIMAL, strDecChar,
Len (strDecChar) + 1)
'Ahora establezca el valor de
retorno solo en el separador
decimal.
GetDecimalSeparator =
Izquierda $ (strDecChar,
lngHolder - 1)

Función de salida

ErrorHandler:

HandleError

Función final

Ejemplo del método HiLoDisplay

El siguiente ejemplo establece las propiedades


HiDisplay y LoDisplay del objeto TimeAxis
para el Pen Pen1 en 15/11/98 y 17/10/98
respectivamente.
Atenuar iTimeAxis como objeto

establecer iTimeAxis =
Pen1.TimeAxis

iTimeAxis.HiLoDisplay # 11/15/98
12:00:00 AM#, # 10/17/98
12:00:00 AM#
IK

Ejemplo del método ImportToolbar

El siguiente ejemplo importa una barra de


herramientas denominada Toolbar1 que es
propiedad de Proficy iFIX WorkSpace.
Dim lErr tan largo

lErr =
Application.ToolbarManager.Import
Barra de herramientas ("Barra de
herramientas1", "Espacio de
trabajo")

Ejemplo de método de inicialización

El siguiente ejemplo crea el objeto ESignature,


verifica si el nodo está habilitado para firma
electrónica y determina si una etiqueta específica
(FIX32.thisnode.D01.F_CV) requiere firma
electrónica. Si es necesario, el ejemplo valida la
firma, escribe el nuevo valor y envía un mensaje
a la pista de auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim bVerificar como booleano

Dim bContinuousUse como booleano

Dim nInfo como entero

Dim NewValue como variante

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la etiqueta
requiere firma electrónica
ESig.Initialize
"Fix32.thisnode.DO1.F_CV"
ESig.IsSignatureRequired 0,
bSigRequired, nInfo, bVerify,
bContinuousUse
Si bSigRequired = True Entonces

'Validar la firma, escribir el


nuevo valor y enviar un mensaje
a la pista de auditoría
NewValue = 1

Si bVerify = False entonces

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario"
Demás

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario",
"supervisor1", "GEF", "Verificar
ejemplo de comentario"
Terminara si

Demás

MsgBox "No se requiere firma


para esta etiqueta".
Terminara si
Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si

Ejemplo del método InitializeList

El siguiente ejemplo crea el objeto


ESignature, comprueba si el nodo está
habilitado para firma electrónica y determina
si un conjunto de etiquetas requiere firma
electrónica.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim bValidSig como booleano

Atenuar información como entero

'Cree la lista de fuentes de

datos Dim DataSources As Variant

ReDim DataSources (2) As String

DataSources (0) =
"Fix32.THISNODE.TAG1.F_CV"
Fuentes de datos (1) =
"Fix32.THISNODE.TAG2.F_CV"
'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'inicializar el objeto y
establecer fuentes de datos
ESig.InitializeList DataSources

'¿Se requiere firma para las


fuentes de datos?
ESig.IsSignatureRequiredForList
4, bSigRequired, información
Si bSigRequired Entonces

'Se requiere firma para esta


lista
MsgBox "Se requiere firma".
Demás

'No se requiere firma para


esta lista, verifique el
parámetro de información para
conocer el motivo
MsgBox "No se requiere
firma".
Terminara si

Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si
Ejemplo del método InsertPoint

El siguiente ejemplo inserta el punto 55,75 en


un índice de 3 para el objeto Polilínea
Polyline1.
Oscu
ro Señalo Como FixFloatPoint
Colo
car Señalo = Nuevo FixFloatPoint

iPoint.x = 55

iPoint.y = 75
PolyLine1.InsertPoint 3, iPoint

Ejemplo de método
InteractiveExport

El siguiente ejemplo abre el cuadro de


diálogo Exportar para el gráfico de líneas /
líneas múltiples.
Sub privado
CommandButton4_Click ()

LineChart1.InteractiveExport

End Sub
Ejemplo de método
IsColorSelectionVisible
El siguiente ejemplo determina si el cuadro de
diálogo Selección de color del WorkSpace está
abierto.
Dim bIsVisible como booleano

bIsVisible =
TestPicture.IsColorSelectionVisib
le

Ejemplo de método IsConnected

El siguiente ejemplo determina si la propiedad


VerticalFillPercentage del objeto Oval Oval1
tiene una conexión asignada.
Dim bIsConnected As Boolean
Dim lIndex As Long Dim
lStatus As Long
Oval1.IsConnected
"VerticalFillPercentage",
bIsConnected, lIndex, lStatus
Ejemplo del método IsEmpty

El siguiente ejemplo determina si el


objeto Lookup iLookup está vacío.
Dim bIsEmpty como

iLookup booleano.

Ejemplo de método
IsNodeSignEnabled

El siguiente ejemplo crea el objeto ESignature,


verifica si el nodo está habilitado para firma
electrónica y determina si una etiqueta específica
(FIX32.thisnode.D01.F_CV) requiere firma
electrónica. Si es necesario, el ejemplo valida la
firma, escribe el nuevo valor y envía un mensaje
a la pista de auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim bVerificar como booleano

Dim bContinuousUse como booleano


Dim nInfo As Integer Dim
NewValue As Variant 'Crear el
objeto ESignature Establecer
ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la etiqueta
requiere firma electrónica
ESig.Initialize
"Fix32.thisnode.DO1.F_CV"
ESig.IsSignatureRequired 0,
bSigRequired, nInfo, bVerify,
bContinuousUse
Si bSigRequired = True Entonces

'Validar la firma, escribir el


nuevo valor y enviar un mensaje
a la pista de auditoría
NewValue = 1

Si bVerify = False entonces

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario"
Demás

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario",
"supervisor1", "GEF", "Verificar
ejemplo de comentario"
Terminara si

Demás

MsgBox "No se requiere firma


para esta etiqueta".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si
Ejemplo de método
IsSignatureRequired
El siguiente ejemplo crea el objeto ESignature,
verifica si el nodo está habilitado para firma
electrónica y determina si una etiqueta específica
(FIX32.thisnode.D01.F_CV) requiere firma
electrónica. Si es necesario, el ejemplo valida la
firma, escribe el nuevo valor y envía un mensaje
a la pista de auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim bVerificar como booleano

Dim bContinuousUse como

booleano Dim nInfo como

entero

Dim NewValue As Variant


'Crear el objeto ESignature
Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")
'Compruebe si el nodo está
habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la etiqueta
requiere firma electrónica
ESig.Initialize
"Fix32.thisnode.DO1.F_CV"
ESig.IsSignatureRequired 0,
bSigRequired, nInfo, bVerify,
bContinuousUse
Si bSigRequired = True Entonces

'Validar la firma, escribir el


nuevo valor y enviar un mensaje
a la pista de auditoría
NewValue = 1

Si bVerify = False entonces

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "",
"Realizar un ejemplo de
comentario"
Demás
ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "",
"Realizar ejemplo de comentario",
"supervisor1", "GEF", "Verificar
ejemplo de comentario"
Terminara si

Demás

MsgBox "No se requiere firma


para esta etiqueta".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si
Ejemplo del método
IsSignatureRequiredForList
El siguiente ejemplo crea el objeto
ESignature, comprueba si el nodo está
habilitado para firma electrónica y determina
si un conjunto de etiquetas requiere firma
electrónica.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Dim bValidSig como booleano

Atenuar información como entero

'Cree la lista de fuentes de

datos Dim DataSources As Variant

ReDim DataSources (2) As String

DataSources (0) =
"Fix32.THISNODE.TAG1.F_CV"
Fuentes de datos (1) =
"Fix32.THISNODE.TAG2.F_CV"
'Cree el objeto ESignature
Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'inicializar el objeto y
establecer fuentes de datos
ESig.InitializeList DataSources

'¿Se requiere firma para las


fuentes de datos?
ESig.IsSignatureRequiredForList
4, bSigRequired, información
Si bSigRequired Entonces

'Se requiere firma para esta


lista
MsgBox "Se requiere firma".

Demás
'no se requiere firma para esta
lista, verifique el parámetro de
información
con razón

MsgBox "No se requiere


firma".
Terminara si

Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si

Ejemplo de subrutina IsUserFxg

El siguiente ejemplo determina si el


documento activo es la página UserGlobals.
Dim bUserFxg como

booleano bUserFxg =

IsUserFxg
Ejemplo de método de artículo

El siguiente ejemplo recupera el objeto


Item asociado con el índice 2 en la
colección de Procedimientos para el
objeto CurrentObject.
Dim iItem como objeto

Establecer iItem =
CurrentObject.Procedures.Item
(2)

El siguiente ejemplo recupera el objeto


Item asociado con el índice 3 en la
colección Lines para el segundo elemento
en la colección Procedimientos para el
objeto CurrentObject.
Dim iItem como objeto

Establecer iItem =
CurrentObject.Procedures.Item (2).
Líneas Artículo (3)
L

Ejemplo del método ListEvents


El siguiente ejemplo recupera el número y la lista
correspondiente de eventos para el objeto Oval Oval1.

Private Sub Oval1_Click ()

Dim strMsg As String Dim

pvEvents As Variant Dim

iNumEvents As Integer

strMsg = "Este objeto tiene


los siguientes eventos:"
Oval1.ListEvents
pvEvents, iNumEvents
Para cada i en pvEvents

strMsg = strMsg + i + ","

próximo

MsgBox strMsg, vbOKOnly,


"Mensaje"
End Sub
Ejemplo del método ListMethods

El siguiente ejemplo recupera el número y la


lista correspondiente de métodos para el
objeto Oval Oval1.
Dim strMsg como cadena

Dim pvMethods como variante

Dim iNumMethods como entero

Oval1.ListMethods
pvMethods, iNumMethods
strMsg = "Este objeto tiene
los siguientes métodos:"
Para cada i en pvMethods

strMsg = strMsg + i + ","

próximo

MsgBox strMsg, vbOKOnly,


"Mensaje"
Ejemplo del método
ListProperties

El siguiente ejemplo recupera el número y


la lista correspondiente de propiedades y
sus tipos de datos para el objeto Oval
Oval1.
Dim strMsg como cadena

Dim pvProperties como


variante

Dim pvDataTypes como variante

Dim iNumProps como entero

Oval1.ListProperties
pvProperties,
pvDataTypes, iNumProps
strMsg = "Este objeto tiene
las siguientes propiedades:"
Para cada i en pvProperties

strMsg = strMsg + i + ","

próximo
MsgBox strMsg, vbOKOnly,
"Mensaje"
Ejemplo del método
ListWindowsGroupNames
El siguiente ejemplo recupera una serie de
cadenas de nombres de grupos de Windows
para el objeto SecuritySynchronizer
objSecSynch.
Dim objSecSynch como
SecuritySynchronizer
Establecer objSecSynch
= New
SecuritySynchronizer
Dim bNT4NamesOnly As Boolean

bNT4NamesOnly = Verdadero

objSecSynch.ListWindowsGroupNames
bNT4NamesOnly

Establecer la variable bNT4NamesOnly en


True solo devuelve nombres de grupos de
Windows que no superen los veinte caracteres.
Ejemplo del método Load_TS_List

Este ejemplo carga la lista de estado de


etiquetas TAGSTATUS en la imagen actual
cuando se presiona un botón.
Sub privado
Button_LoadTSList_Click ()

Yo.Load_TS_List TAGSTATUS

End Sub

Ejemplo del método LoadImage

El siguiente ejemplo carga la imagen


CustomButton10 como imagen principal en el
índice 1 para el objeto Bimtap Bitmap1.
Bitmap1.LoadImage True, 1, "C: \
Archivos de programa \ Proficy \
Proficy iFIX \ Local \
CustomButton10.bmp"
Ejemplo de LoadTagGroupFile

El siguiente ejemplo carga el archivo de grupo


de etiquetas mytaggroup.tgd en la imagen de
iFIX pic1.
Sub privado
CommandButton1_Click ()

pic1.LoadTagGroupFile
"mytaggroup.tgd"
End Sub

Ejemplo de subrutina LocateObject

El siguiente ejemplo encuentra el objeto


Tank1 en todos los documentos abiertos.
LocateObject "Tank1", Falso
Ejemplo del método
LogicalToPercentage
El siguiente ejemplo convierte las
coordenadas Superior, Izquierda, Alto y
Ancho de 30, 30, 100, 150 en unidades lógicas
al porcentaje de espacio de pantalla disponible
para la imagen de prueba de imagen.
Dim dTop como doble

dim dLeft como doble

dim dAltura como doble

Dim dWidth como doble

dTop = 30

dIzquierda = 30

dAltura = 100

dAncho = 150

TestPicture.LogicalToPercentage
dTop, dLeft, dHeight, dWidth
Ejemplo del método
LogicalToUserFormPoint
El siguiente ejemplo convierte las
coordenadas superior izquierda de 30, 50 en
unidades lógicas a coordenadas de
"UserForm Point" para la imagen de prueba
de imagen.
Dim dTop como doble

Dim dLeft As Double

dTop = 30

dIzquierda = 50

TestPicture.LogicalToUserFormPoin
t dTop, dLeft

Ejemplo de subrutina de inicio de


sesión

El siguiente ejemplo abre el cuadro de diálogo


de inicio de sesión, lo que permite al usuario
realizar procedimientos de inicio de sesión /
cierre de sesión.
LogIn (0), (False) (por defecto)
Minnesota

Ejemplo de método
MakeLinesHorizontal
El siguiente ejemplo muestra cómo convertir
el objeto de línea seleccionado en líneas
horizontales.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
Llama
ObjHelper.MakeLinesHorizontal

Ejemplo de método
MakeLinesVertical

El siguiente ejemplo muestra cómo convertir


los objetos de línea seleccionados en líneas
verticales.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
Llamar a ObjHelper.MakeLinesVertical
Ejemplo del método MakeSameSize

El siguiente ejemplo selecciona los objetos


Polygon y Oval, Polygon1 y Oval1, y los
establece para que tengan el mismo ancho.
Polygon1.SelectObject False

Oval1.SelectObject False

TestPicture.MakeSameSize 1

Ejemplo de método de modificación

El siguiente ejemplo muestra el cuadro de


diálogo Modificar bloque para AI1 del objeto
Mapa de bits Bitmap1.
Dim bReadOnly As Boolean

Dim iStatus As Long

Bitmap1.Modify "Fix32.NODE1.AI1",
bReadOnly, iStatus
Ejemplo del método
ModifyColumnLength
El siguiente ejemplo establece el número de
caracteres que se mostrarán en la columna 1
del Chart Chart1 en 7.
Chart1.ModifyColumnLength 1, 7

Ejemplo de método de movimiento

El siguiente ejemplo mueve el objeto Tank1


en la dirección horizontal con un
desplazamiento de 10 y en la dirección
vertical con un desplazamiento de 25.
Tank1.Move 10, 25

Ejemplo de evento NewAlarm

El siguiente ejemplo analiza una lista de


nodos y etiquetas para el evento NewAlarm:
' analiza la lista de nuevas
alarmas (podría haber más de una)
Sub privado
AlarmSummaryOCX1_NewAlarm (strNode
como cadena, strTag como cadena)
Dim lngNumAlarms &, lngLoop
&, strThisTag $, strThisNode
$
' calcular el número de nuevas
alarmas que se nos envían
lngNumAlarms = Len (strTag) / 30

For lngLoop = 1 To lngNumAlarms

& 'obtener el siguiente nodo y

etiqueta

strThisNode = Mid (strNode,


((lngLoop - 1) * 8) + 1, 8)
strThisNode = Recortar
(strThisNode)

strThisTag = Mid (strTag,


((lngLoop - 1) * 30) + 1, 30)
strThisTag = Recortar
(strThisTag)
Siguiente lngLoop

End Sub
O

Ejemplo de subrutina OffScan

El siguiente ejemplo coloca el bloque AI1


fuera de exploración.
OffScan "AI1"

Ejemplo de subrutina OnScan

El siguiente ejemplo coloca el bloque AI1 en


exploración.
OnScan "AI1"
Ejemplo de método abierto

El siguiente ejemplo abre la imagen de


prueba de imagen, mostrándola
normalmente.
Dim iDoc como objeto

Colocar
iDoc = Application.Documents.Open
("
C: \ Archivos de programa \
Proficy \ Proficy
iFIX \ Pic \ TestPicture.grf ",
3)

Ejemplo del método Open_QT_Pic

El siguiente ejemplo abre una imagen de


tendencia rápida cuando se presiona un botón.
Las etiquetas que se muestran se recuperan de
los objetos seleccionados actualmente.
Sub privado
Button_OpenQTPic_Click ()

Me.Open_QT_Pic
End Sub
Ejemplo del método
Open_QT_Pic_Ex

El siguiente ejemplo abre una imagen de


tendencia rápida cuando se presiona un botón.
Las etiquetas que se muestran se recuperan de
los objetos seleccionados actualmente.
Sub privado
Button_OpenQTPic_Click ()

Yo.Open_QT_Pic_Ex (1)

End Sub
Ejemplo del método Open_TCP_Pic

El siguiente ejemplo abre la imagen del panel


de control de etiquetas cuando se presiona un
botón. Las etiquetas que se muestran se
recuperan de los objetos seleccionados
actualmente.
Sub privado
Button_OpenTCPPic_Click ()

Yo.Open_TCP_Pic

End Sub
Ejemplo de método
Open_TCP_Pic_Ex

El siguiente ejemplo abre la imagen del panel


de control de etiquetas cuando se presiona un
botón. Las etiquetas que se muestran se
recuperan de los objetos seleccionados
actualmente.
Sub privado
Button_OpenTCPPic_Click ()

Yo.Open_TCP_Pic_Ex (1)

End Sub
Ejemplo de método Open_TS_Pic

El siguiente ejemplo abre la imagen de estado


de etiqueta para la primera etiqueta encontrada
para el objeto Object1 cuando se presiona un
botón. Las etiquetas que se muestran se
recuperan de los objetos seleccionados
actualmente.
Sub privado
Button_OpenTSPic_Click ()

Object1.Open_TS_Pic

End Sub
Ejemplo de método
Open_TS_Pic_Ex

El siguiente ejemplo abre la imagen de estado


de etiqueta para la primera etiqueta encontrada
para el objeto Object1 cuando se presiona un
botón. Las etiquetas que se muestran se
recuperan de los objetos seleccionados
actualmente.
Sub privado
Button_OpenTSPic_Click ()

Object1.Open_TS_Pic_Ex (1)

End Sub
Ejemplo de método
Open_TS_Pic_Type

El siguiente ejemplo abre la imagen de


estado de etiqueta TAGSTATUS y muestra
la lista de etiquetas AI, AO y DI cuando se
presiona un botón.
Sub privado
Button_OpenTSPicType_TagStatus_Cl
ick ()
Dim SomeStrings (2) As String

Dim OpenedPic como objeto

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Establecer OpenedPic =
Yo.Open_TS_Pic_Type (TAGSTATUS,
SomeStrings)

End Sub
El siguiente ejemplo abre Quick Trend Picture
QUICKTREND en la imagen actual y muestra
la lista de etiquetas AI, AO y DI cuando se
presiona un botón.
Sub privado
Button_OpenTSPicType_QT_Click ()

Dim SomeStrings (2) como cadena

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type
QUICKTENDENCIA, SomeStrings

End Sub
El siguiente ejemplo abre la imagen del panel
de control de etiquetas
TAGCONTROLPANEL en la imagen actual
y muestra la lista de etiquetas AI, AO y DI
cuando se presiona un botón.
Sub privado
Button_OpenTSPicType_TCP_Click
()

Dim SomeStrings (2) como cadena

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type
TAGCONTROLPANEL, SomeStrings
End Sub
Ejemplo de método
Open_TS_Pic_Type_Ex
El siguiente ejemplo abre la imagen de
estado de etiqueta TAGSTATUS y muestra
la lista de etiquetas AI, AO y DI cuando se
presiona un botón. Si una instancia de esta
imagen ya está abierta, se muestra otra
instancia.
Sub privado
Button_OpenTSPicType_TagStatus_Cl
ick ()
Dim SomeStrings (2) As String

Dim OpenedPic como objeto

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Establecer OpenedPic =
Yo.Open_TS_Pic_Type_Ex (TAGSTATUS,
SomeStrings, 1)

End Sub

El siguiente ejemplo abre Quick Trend Picture


QUICKTREND en la imagen actual y muestra
la lista de etiquetas AI, AO y DI cuando se
presiona un botón. Si una instancia de esta
imagen ya está abierta, se muestra otra
instancia.
Sub privado
Button_OpenTSPicType_QT_Click ()

Dim SomeStrings (2) como


cadena

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type_Ex
QUICKTENDENCIA, SomeStrings, 1

End Sub

El siguiente ejemplo abre la imagen del panel


de control de etiquetas
TAGCONTROLPANEL en la imagen actual y
muestra la lista de etiquetas AI, AO y DI
cuando se presiona un botón. Si una instancia
de esta imagen ya está abierta, se muestra otra
instancia.
Sub privado
Button_OpenTSPicType_TCP_Click
()

Dim SomeStrings (2) como cadena

SomeStrings (0) =
"FIX32.THISNODE.AI.A_NAME"

SomeStrings (1) =
"FIX32.THISNODE.AO.A_NAME"

SomeStrings (2) =
"FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type_Ex
TAGCONTROLPANEL, SomeStrings, 1

End Sub
Ejemplo de subrutina
OpenDigitalPoint
El siguiente ejemplo abre el bloque DO1.

OpenDigitalPoint "DO1"

Ejemplo de subrutina de
OpenPicture
El siguiente ejemplo abre Picture
TestPicture, dándole un alias de Test y
colocando su esquina superior izquierda en
(75,75).
OpenPicture "TestPicture"
, "Prueba", 75, 75

El siguiente ejemplo abre otra instancia de una


imagen si ya está abierta en iFIX WorkSpace:
OpenPicture "TestPicture",,,,,,,,
Verdadero
El siguiente ejemplo abre otra instancia de una
imagen si ya está abierta en iFIX WorkSpace,
pero con un archivo de grupo de etiquetas
diferente (llamado taglist3):
OpenPicture "TestPicture",,,,,,,

taglist3, True

El siguiente ejemplo muestra la subrutina


OpenPicture usando el parámetro opcional
intErrormode, con un valor de 0:
OpenPicture "BadPic",,,, 0

Cuando usa 0 para intErrorMode, si intenta


abrir una imagen que no existe, aparece un
cuadro de mensaje cuyo título es el nombre de
la imagen que realizó la llamada errónea y
cuyo contenido es el número de error y la
descripción del error. Este es el
predeterminado. Si no se realiza ninguna
entrada para el parámetro intErrorMode, se
utiliza el valor predeterminado.

Si ingresa un 1 para intErrorMode, se


genera el error para que lo maneje:
OpenPicture "BadPic",,,, 1

Tu código de manejo de errores debería verse


algo como esto:

On Error Goto Errorhandler

OpenPicture "BadPic",,,, 1

End Sub

Manejador de errores:

Msgbox "mi mensaje de error"


+ Chr (13) + Cstr
(Err.Number) + Chr (13) +
Err.Description`` Err.Source

Si ingresa un 2 para intErrorMode, el error se


envía a todos los que escriben, incluida la
ventana Historial de alarmas mediante el
método SendOperatorMessage:
OpenPicture "BadPic",,,, 2

Cuando usa 2 para intErrorMode,


proporciona un seguimiento silencioso de
errores.

El siguiente ejemplo permite que la prueba


de imagen que llama abra una imagen de
tendencia rápida y muestre la lista de
etiquetas Strings1.
OpenPicture,,,,, Prueba,
QuickTrend, Strings1
El siguiente ejemplo permite que la prueba
de imagen de llamada abra una imagen de
estado de etiqueta y muestre la lista de
etiquetas Strings2.
OpenPicture,,,,, Prueba,
TagStatus, Strings2

El siguiente ejemplo permite que la prueba


de imagen de llamada abra una imagen del
panel de control de etiqueta y muestre la
lista de etiquetas Strings3.
OpenPicture,,,,, Prueba,
TagControlPanel, Strings3

Ejemplo de subrutina
OpenTGDPicture
Este ejemplo abre la imagen TestPicture, le
da un alias de Test y luego abre el archivo de
grupo de etiquetas TestTGD. Las
coordenadas del lado superior izquierdo de la
imagen son 75, 75.
OpenTGDPicture "TestPicture",
"Test", 75, 75, "TestTGD"
El siguiente ejemplo abre la imagen
TestPicture, lo que permite múltiples
instancias. Las coordenadas del lado
superior izquierdo de la imagen son 75, 75.
OpenTGDPicture "TestPicture",,
75, 75,,, verdadero

El siguiente ejemplo abre la imagen


TestPicture, lo que permite múltiples
instancias. Abre la instancia con el archivo
taggroup TestTGD. Las coordenadas del lado
superior izquierdo de la imagen son 75, 75.
OpenTGDPicture "TestPicture",,
75, 75, "TestTGD",, verdadero
PQ

Ejemplo del método


ParseConnectionSource
El siguiente ejemplo analiza la fuente
AI1.F_CV a la propiedad
VerticalFillPercentage de Oval Oval1 para
determinar la validez de la fuente de datos.
Dim iStatus tan largo

Dim validObjs como variante

Atenuar UndObjs como variante

Dim FQSource como cadena

Oval1.ParseConnectionSource
"VerticalFillPercentage",
"AI1.F_CV", iStatus,
validObjs, UndObjs, FQSource
Ejemplo de método de pegado

El siguiente ejemplo pega el objeto Oval


Oval1 en Picture TestPicture después de
copiarlo en el portapapeles.
Oval1.Seleccionar

TestPicture. Copiar

TestPicture.Paste

Ejemplo de método PasteSpecial

El siguiente ejemplo abre el cuadro de diálogo


Pegado especial para la imagen de prueba de
imagen.
TestPicture.PasteSpecial

Ejemplo de método de pausa

El siguiente ejemplo pone en pausa el


Chart Chart1.
Chart1.Pause
Ejemplo del método
PauseAlarmRead

El siguiente ejemplo detiene el objeto


Resumen de alarmas antes de copiar las
alarmas a la lista.
' pausar la lectura de la alarma
para que no se agregue, elimine o mueva
nada
AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered =
AlarmSummaryOCX1.TotalFilteredAla
rms
ListBox1.Clear

Para lngLoop = 1 para


lngTotalFiltered

AlarmSummaryOCX1.SelectAlarmRow
lngLoop, True
AlarmSummaryOCX1.GetSelectedNodeT
ag strNode, strTag
ListBox1.AddItem strNode & "." &
strTag
AlarmSummaryOCX1.SelectAlarmRow
lngLoop, False
Siguiente lngLoop

' reanudar lectura de alarma

AlarmSummaryOCX1.ResumeAlarmRead

Ejemplo de método
PercentageToLogical
El siguiente ejemplo convierte las
coordenadas Superior, Izquierda, Alto y
Ancho de 30, 30, 100, 150 en porcentaje del
espacio de pantalla disponible a unidades
lógicas para la Imagen de prueba de imagen.
Dim dTop como doble

Dim dLeft As Double

Dim dHeight como doble

Dim dWidth como doble

dTop = 30

dIzquierda = 30

dAltura = 100

dAncho = 150
TestPicture.PercentageToLogical
dTop, dLeft, dHeight, dWidth

Ejemplo del método


PercentageToPixel

El siguiente ejemplo convierte las


coordenadas Superior, Izquierda, Alto y
Ancho de 30, 30, 100, 150 en porcentaje del
espacio de pantalla disponible a píxeles para
la Imagen de prueba de imagen.
Dim dTop como doble

dim dLeft como doble

dim dAltura como doble

Dim dWidth como doble

dTop = 30

dIzquierda = 30

dAltura = 100

dAncho = 150

TestPicture.PercentageToPixel
dTop, dLeft, dHeight, dWidth
Ejemplo de subrutina PictureAlias

El siguiente ejemplo asigna el alias


TestPicAlias a la imagen actual.
PictureAlias "TestPicAlias"

ClosePicture "TestPicAlias"

Ejemplo del método


PixelToPercentage

El siguiente ejemplo convierte las


coordenadas Superior, Izquierda, Alto y
Ancho de 30, 30, 100, 150 en píxeles al
porcentaje de espacio de pantalla disponible
para la Imagen de prueba de imagen.
Dim dTop como doble

Dim dLeft As Double

Dim dHeight como doble

Dim dWidth como doble

dTop = 30

dIzquierda = 30

dAltura = 100
dAncho = 150

TestPicture.PixelToPercentage
dTop, dLeft, dHeight, dWidth

Ejemplo del método PrintChart

El siguiente ejemplo imprime el gráfico de


líneas / líneas múltiples al tamaño de una
página completa de papel.
Sub privado
CommandButton4_Click ()

LineChart1.PrintChart
SizeUnits_FullPage
End Sub

Ejemplo del método PrintOut

El siguiente ejemplo abre el cuadro de


diálogo de impresión del documento activo.
Dim b Impreso como booleano

bPrinted =
Application.ActiveDocument.PrintO
Utah
Ejemplo de subrutina PrintReport

El siguiente ejemplo imprime 3 copias de


las páginas 1 a 5 del informe TestReport,
agrupando cada copia.
PrintReport "TestReport", Falso,
3, Verdadero, 1, 5

Ejemplo del método


PromptToChangePassword
El siguiente ejemplo verifica el estado de
vencimiento de la cuenta de Windows del
usuario. Si la cuenta expiró, este ejemplo
solicita al usuario que cambie su contraseña (si
tiene derechos para hacerlo). Si la cuenta no ha
caducado, aparece un mensaje que indica
cuántos días quedan hasta que caduque la
contraseña.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Atenuar el nombre de usuario


como cadena
Dim PassWord como cadena
Dim UsrId como cadena

Dim b Expirado como booleano

Días oscuros, izquierda tan


larga

Dim bCanChangePassword como


booleano

'nombre de usuario de un usuario


de iFix que usa la seguridad de
Windows
UserName = "expirar"

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Verifique el estado de la
cuenta y el derecho del usuario
a cambiar la contraseña
ESig.CheckAccountExpiration
UserName, bExpired,
bCanChangePassword, daysLeft
Si bExpired <> False, entonces
Si bCanChangePassword <>
False, entonces
ESig.PromptToChangePassword
Nombre de usuario
Terminara si

Demás

'la contraseña no ha caducado

MsgBox "La contraseña vencerá en"


& daysLeft & "days".
Terminara si

Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si
Ejemplo de subrutina QuickAdd

El siguiente ejemplo obtiene el estado del


bloque NewBlock en la base de datos. Si
NewBlock no existe, se abrirá el cuadro de
diálogo QuickAdd, lo que permitirá al
usuario configurar el bloque sobre la marcha.
Dim iStatus como entero

iStatus = QuickAdd ("NewBlock1")

Ejemplo de método de salida

El siguiente ejemplo cierra el


WorkSpace y solicita al usuario que
guarde los cambios realizados en los
documentos abiertos.
Solicitud.Quit 3
R

Ejemplo de subrutina RampValue

El siguiente ejemplo aumenta el bloque AO1


en un 25 por ciento de su rango de EGU.
RampValue "25", verdadero,
"AO1"

El siguiente ejemplo aumenta el bloque AO1


en un valor de 15.
RampValue "15", falso, "AO1"

Ejemplo de método de lectura

El siguiente ejemplo:

• Crea un sistema de datos ocx FDS;

• Agrega un grupo de datos DataGroup1


a la colección de grupos;

• Agrega un DataItem a la colección


DataItems;
• Lee el grupo DataGroup1;

• Lee el DataItem

'Crear el sistema de datos

OCX Dim FDS como conjunto

de objetos FDS =

CreateObject ("FixDataSystems.Inte
llution FD Data System Control
")

'Agregar un grupo a la
colección Grupos
FDS.Groups.Add ("Grupo de
datos1")

FDS.Groups.Item ("DataGroup1").
Dat aItems.Add
("Fix32.THISNODE.AI1.F_ CV")
'Leer grupo de datos1

FDS.Groups.Item ("DataGroup1").
Rea d
'Leer el DataItem
FDS.Groups.Item ("DataGroup1").
Dat aItems.Item (1) .Read
Ejemplo de subrutina ReadValue

El siguiente ejemplo lee el valor del bloque


AI1.
Dim lValue como variante

lValue = ReadValue ("AI1")

Ejemplo de método de
actualización

El siguiente ejemplo vuelve a pintar el objeto


Rectangle Rect1.
Rect1.Refresh

Ejemplo del método


RefreshChartData

El siguiente ejemplo sencillo actualiza los


datos que se muestran en Chart1, que es un
objeto HistogramChart, LineChart o
SPCBarChart.
Chart1.RefreshChartData
El siguiente ejemplo muestra una
actualización de un gráfico mejorado,
LineChart1, después de que se realiza un
desplazamiento hacia adelante del 50% en el
gráfico mejorado.
Dim dtTime como variante

Dim dtDate como variante

Dim dInterval tan largo

'establecer porcentaje de
desplazamiento

dInterval =
LineChart1.Duration
dInterval = dInterval * 0.5 '
50%

'tiempo de desplazamiento

dtTime =
HistoricalDataset1.FixedTime

dtTime = DateAdd ("s",


dInterval, dtTime)
HistoricalDataset1.FixedTime
= dtTime
'fecha de desplazamiento

dtDate =
HistoricalDataset1.FixedDate

dtDate = DateAdd ("s",


dInterval, dtDate)
HistoricalDataset1.FixedDate
= dtDate

'actualizar gráfico

LineChart1.RefreshChartData

El segundo ejemplo anterior requiere una


referencia al conjunto de datos históricos
denominado "iFIX HistoricalDataSet Object v
1.0 Type Library" en su proyecto de VBA.
Ejemplo de subrutina RegCloseKey

El siguiente ejemplo es la subrutina


PrintReport real de las subrutinas globales
FactoryGlobals. Aquí, implementamos el
enlace tardío para ejecutar Crystal Reports.
Primero, averigüe si Crystal Reports está
instalado en la máquina del usuario con
RegOpenKeyEx. Si es así, creamos una
instancia de él. Luego, cerramos la clave de
registro con RegCloseKey.

NOTA: Este ejemplo no se aplica a Crystal


XI; se aplica a una versión anterior, como
Crystal 7. Para Crystal XI, utilice la subrutina
PrintReport en su lugar. La subrutina
PrintReport hará todas las entradas del
registro por usted.

Public Sub PrintReport (Informe


ByVal como cadena, Mensaje
opcional como booleano, Copias
ByVal opcionales tan largas,
Opcional ByVal Coll como
booleano, Opcional ByVal StartNo
Tan largo, Opcional ByVal EndNo
Tan largo)
Dim CrystalApplication como

objeto Dim CrystalReport como

objeto Dim lngResult As Long


Dim lngRes tan largo

En caso de error Ir a
ErrorHandler

'Compruebe si Crystal
Reports está instalado.
lngResult =
RegOpenKeyEx (y H80000000,
"CrystalReports", & O0 y H20000,
lngRes)

'Si es así, cree una instancia


de él.
Si lngResult = 0 Entonces

Establecer CrystalApplication =
CreateObject ("Crystal.CRPE.Applic
ation")
Si no, envíe un mensaje al

usuario. Demás

MsgBox "No tiene Crystal


Reports instalado".
Fin

Terminara si

'Cierre la clave de registro.

lngResult =
RegCloseKey (y H80000000)

Establecer CrystalReport =
CrystalApplication.OpenReport (Rep
ort)
CrystalReport.PrintOut Prompt,
Copias, Coll, StartNo, EndNo
Salir de Sub

ErrorHandler:

HandleError

End Sub

Ejemplo de subrutina
RegOpenKeyEx

El siguiente ejemplo es la subrutina


PrintReport real de las subrutinas globales
FactoryGlobals. Aquí, implementamos el
enlace tardío para ejecutar Crystal Reports.
Primero, averigüe si Crystal Reports está
instalado en la máquina del usuario con
RegOpenKeyEx. Si es así, creamos una
instancia de él. Luego, cerramos la clave de
registro con RegCloseKey.
NOTA: Este ejemplo no se aplica a Crystal
XI; se aplica a una versión anterior, como
Crystal 7. Para Crystal XI, utilice la subrutina
PrintReport en su lugar. La subrutina
PrintReport hará todas las entradas del
registro por usted.

Public Sub PrintReport (Informe


ByVal como cadena, Mensaje
opcional como booleano, Copias
ByVal opcionales tan largas,
Opcional ByVal Coll como
booleano, Opcional ByVal StartNo
Tan largo, Opcional ByVal EndNo
Tan largo)
Dim CrystalApplication como
objeto

Dim CrystalReport como objeto

Dim lngResult tan largo

Dim lngRes tan largo

En caso de error Ir a
ErrorHandler

'Compruebe si Crystal
Reports está instalado.
lngResult =
RegOpenKeyEx (y H80000000,
"CrystalReports", & O0 y H20000,
lngRes)
'Si es así, cree una instancia
de
eso.

Si lngResult = 0 Entonces

Establecer CrystalApplication =
CreateObject ("Crystal.CRPE.Applic
ation")
Si no, envíe un mensaje al

usuario. Demás

MsgBox "No tiene Crystal


Reports instalado".
Fin

Terminara si

'Cierre la clave de registro.

lngResult =
RegCloseKey (y H80000000)

Establecer CrystalReport =
CrystalApplication.OpenReport (Rep
ort)
CrystalReport.PrintOut Prompt,
Copias, Coll, StartNo, EndNo
Salir de Sub

ErrorHandler:
HandleError

End Sub

Ejemplo de método de eliminación

El siguiente ejemplo obtiene el número de


índice para el clic del objeto CurrentObject y,
si existe un procedimiento, lo elimina.
Dim lIndex tan largo

Dim lFound As Long

CurrentObject.Procedures.GetEvent
HandlerIndex "Click", lIndex,
lFound
Si lFound = 1 Entonces

CurrentObject.Remove lIndex

End If

El siguiente ejemplo elimina Group


DataGroup1 de la colección Groups
del FixDataSystem
FDS.

FDS.Groups.Remove ("Grupo de
datos1")
El siguiente ejemplo elimina el
primer grupo de la colección
Grupos del FixDataSystem
FDS.

FDS.Groups.Eliminar (1)

Ejemplo del método RemoveAll

El siguiente ejemplo elimina todas las líneas


de código del evento Click del objeto Rect2 en
el documento activo.
Dim o como objeto

Dim oProc como objeto

Dim lIndex tan largo

Dim lFound As Long

Establecer o =
Application.ActiveDocument.Page.F
indObject ("Rect2")

o.Procedures.GetEventHandlerIndex
"Click", lIndex, lFound
Si (lEncontré) Entonces

Establecer oProc =
o.Procedures.Item (lIndex)
oProc.Lines.RemoveAll

End If

Ejemplo del método


RemoveAllLevels

El siguiente ejemplo elimina todos los


niveles del iLookup del objeto de búsqueda.
iLookup.RemoveAllLevels

Ejemplo del método RemoveItem

El siguiente ejemplo quita la primera


columna del gráfico Chart1.
Chart1.RemoveItem 1

Ejemplo del método


RemoveLegendItem

El siguiente ejemplo quita la columna de


valor del gráfico Chart1.
Chart1.RemoveLegendItem "Valor"
Ejemplo del método RemoveLevel

El siguiente ejemplo quita el nivel 4 del


objeto de búsqueda Lookup1.
Lookup1.RemoveLevel 4

Ejemplo del método RemoveObject

El siguiente ejemplo quita el objeto Timer


MyTimer de Schedule TestSchedule y luego
actualiza el Schedule para que el objeto
Timer ya no se muestre.
TestSchedule.RemoveObject
"MyTimer"
TestSchedule.DoMenuCommand
scHREFreshView
Ejemplo de subrutina ReplacePicture

El siguiente ejemplo reemplaza Picture


TestPicture por TestPicture1.
Reemplazar imagen "Imagen de
prueba1", "Imagen de prueba"

El siguiente ejemplo permite que la imagen de


llamada TestPicture reemplace la imagen de
tendencia rápida activa con QuickTrend1 y
muestre la lista de etiquetas Strings1.
Reemplazar imagen,,,,,
TestPicture, QuickTrend1,
Strings1

El siguiente ejemplo permite que la imagen de


llamada TestPicture reemplace la imagen de
estado de etiqueta activa con TagStatus1 y
muestre la lista de etiquetas Strings2.
Reemplazar imagen,,,,,
TestPicture, TagStatus1, Strings2
El siguiente ejemplo permite que la imagen de
llamada TestPicture reemplace la imagen activa
del panel de control de etiquetas con
TagControlPanel1 y muestre la lista de
etiquetas Strings3.
Reemplazar imagen,,,,,
TestPicture, TagControlPanel1,
Strings3

Ejemplo de
RemovePictureFromStartupList
El siguiente ejemplo elimina la imagen
denominada pic1.grf (en el directorio D: \
Archivos de programa \ Proficy \ Proficy
iFIX \ PIC) de la lista de inicio del entorno de
configuración del Proficy iFIX WorkSpace.
Dim lErr tan largo

lErr =
Application.UserPreferences.Remov
ePictureFromStartupList_
("D: \ Programa
Archivos \ Proficy \ Proficy
iFIX \ pic \ pic1.grf ", falso)
Tenga en cuenta que se requiere la ruta
completa para la imagen. También tenga en
cuenta que el segundo parámetro, cuando se
establece en FALSE, elimina la imagen de la
lista de inicio del entorno de configuración.
Cuando se establece en TRUE, elimina la
imagen de la lista de inicio del entorno de
ejecución.

Ejemplo del método


Replace_QT_Pic

El siguiente ejemplo reemplaza la imagen


actual con una imagen de tendencia rápida
cuando se presiona un botón. Las etiquetas
que se muestran se recuperan de los objetos
seleccionados actualmente.
Sub privado
Button_ReplaceQTPic_Click ()

Yo.Replace_QT_Pic
End Sub
Ejemplo del método
Replace_TCP_Pic

El siguiente ejemplo reemplaza la imagen


actual con una imagen del Panel de control de
etiquetas cuando se presiona un botón. Las
etiquetas que se muestran se recuperan de los
objetos seleccionados actualmente.
Sub privado
Button_ReplaceTCPPic_Click ()

Yo.Replace_TCP_Pic

End Sub

Ejemplo de método
Replace_TS_Pic_Type
El siguiente ejemplo reemplaza la imagen
actual Pic1 con la imagen de tendencia
rápida QTPic1 y la lista de etiquetas
Strings1.
Pic1.Replace_TS_Pic_Type QTPic1,
Strings1
El siguiente ejemplo reemplaza la imagen
actual Pic1 con la imagen de estado de
etiqueta TSPic1 y la lista de etiquetas
Strings2.
Pic1.Replace_TS_Pic_Type TSPic1,
Strings2

El siguiente ejemplo reemplaza la imagen


actual Pic1 con la imagen del Panel de control
de etiquetas TCPPic1 y la lista de etiquetas
Strings3.
Pic1.Replace_TS_Pic_Type
TCPPic1, Strings3

Ejemplo del método Replace_TS_Pic

El siguiente ejemplo reemplaza la imagen


actual con una imagen de estado de etiqueta
cuando se presiona un botón. Las etiquetas que
se muestran se recuperan de los objetos
seleccionados actualmente.
Sub privado
Button_ReplaceTSPic_Click ()

Yo.Replace_TS_Pic

End Sub
Ejemplo del método
ReplaceDocument

El siguiente ejemplo reemplaza el


documento activo con TestPicture.
Application.ActiveWindow.ReplaceD
ocument "C: \ Archivos de programa
\ Proficy \ Proficy iFIX \ Pic \
TestPicture.grf"

Ejemplo del método ReplaceInString

El siguiente ejemplo encuentra cada


aparición de la cadena AI1 con la cadena
FIX32.NODE1.AI1.F_CV llamando a
FindInString y luego usa los valores de
retorno del parámetro lFirst, lCount para
reemplazar AI1 con AI2, devolviendo la
nueva cadena en el parámetro sReplacement.
La operación está especificada para incluir
scripts en la búsqueda.
Dim l Primero tanto tiempo

Dim lCount tan largo

Dim sMatchString como cadena

Dim b encontrado como booleano


Dim bsuccess como booleano

Dim sTarget As String

Dim s Reemplazo como cadena

sTarget = "FIX32.NODE1.AI1.F_CV"

FindReplace.FindInString
"FIX32.NODE1.AI1.F_CV", 1,
"AI1", 8, sMatchString, lFirst,
lCount, bFound
FindReplace.ReplaceInString
sTarget, "AI2", sMatchString,
lFirst, lCount, 8, sReplacement,
bsuccess

Ejemplo de subrutina
ReplaceTGDPicture
Este ejemplo reemplaza la imagen abierta
TestPicture con TestPicture1 y luego abre el
archivo de grupo de etiquetas TestTGD.
ReemplazarTGDPicture
"TestPicture1", "TestTGD",
"TestPicture"
Ejemplo del método
ResetChartData

El siguiente ejemplo restablece los datos


que se muestran para Chart Chart1.
Chart1.ResetChartData

Ejemplo del método


ResetObjectStats

El siguiente ejemplo restablece las


estadísticas de todos los objetos de evento en
Schedule TestSchedule.
TestSchedule.ResetObjectStats 2

El siguiente ejemplo restablece las


estadísticas de Timer MyTimer en Schedule
TestSchedule.
TestSchedule.ResetObjectStats
"MyTimer"

El siguiente ejemplo restablece las


estadísticas de los objetos Timer TestTimer,
TestTimer1, TestTimer2 en Schedule
TestSchedule.
Atenuar objetos (2) como
variante
objetos (0) = "TestTimer"

objetos (1) = "TestTimer1"

objetos (2) = "TestTimer2"

Objetos
TestSchedule.ResetObjectStats

Ejemplo del método ResetStats

El siguiente ejemplo restablece las


estadísticas del objeto Timer iTimer a cero.
iTimer.ResetStats

Ejemplo del método ResetZoom

El siguiente ejemplo restablece Chart


Chart1 para mostrar su área de
visualización predeterminada.
Chart1.ResetZoom
Ejemplo de ResolveTagGroupFile

El siguiente ejemplo resuelve el archivo de


grupo de etiquetas mytaggroup.tgd en la
imagen de iFIX pic1.
pic1.ResolveTagGroupFile
"mytaggroup.tgd"

El método ResolveTagGroupFile es un
método de entorno de configuración que
recorre los grupos de etiquetas a los que se
hace referencia en la imagen, realiza las
sustituciones y conserva la información. El
uso de este método le proporciona un tiempo
de carga más rápido.

Ejemplo de método de currículum

El siguiente ejemplo reanuda el gráfico


Chart1.
Chart1.Resume

Ejemplo del método


ResumeAlarmRead
El siguiente ejemplo reanuda la actualización del
objeto Resumen de alarmas después de copiar las
alarmas a la lista.
' pausar la lectura de la alarma
para que no se agregue, elimine
o mueva nada
AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered =
AlarmSummaryOCX1.TotalFilteredAla
rms
ListBox1.Clear

Para lngLoop = 1 a
lngTotalFiltered
AlarmSummaryOCX1.SelectAlarmRow
lngLoop, True
AlarmSummaryOCX1.GetSelectedNodeT
ag strNode, strTag
ListBox1.AddItem strNode & "." &
strTag
AlarmSummaryOCX1.SelectAlarmRow
lngLoop, False
Siguiente lngLoop

' reanudar lectura de alarma

AlarmSummaryOCX1.ResumeAlarmRead
Ejemplo del método
RetrieveDefinition

El siguiente ejemplo recupera las


definiciones contenidas en un archivo de
grupo de etiquetas.
Dim sTokenList () como
cadena, TokenList como
variante
Dim sReplacementList () como
cadena, ReplacementList como
variante
Dim sDescriptionList () como
cadena, DescriptionList como
variante
' Crear el objeto de archivo de
grupo de etiquetas
Atenuar TGD como objeto

Establecer TGD =
CreateObject ("TagGroupDefinitionI
nterfaceDll.TagGroupDefinitionInt
erface ")

TGD.RetrieveDefinition "Prueba",
2, TokenList, ReplacementList,
DescriptionList
Ejemplo del método
RetrieveTagGroupVariables
Se utiliza para recuperar todos los símbolos de
grupos de etiquetas a los que se hace
referencia en la imagen. Esto incluye scripts
pero no formularios. Se devuelve una matriz
de cadenas.
Dim iCount como entero

Dim vaSymbols como

variante

pic1.RetrieveTagGroupVariables
iCount, vaSymbols

Ejemplo de método de rotación

El siguiente ejemplo rota el objeto Polygon


Polygon1 en 45 grados.
Polygon1.Rotate 45, False
Ejemplo del método RunObject

El siguiente ejemplo ejecuta todos los objetos


Timer en Schedule TestSchedule.
TestSchedule.RunObject 1

El siguiente ejemplo ejecuta Timer


MyTimer en Schedule TestSchedule.
Calendario de pruebas. RunObject
"MyTimer"

El siguiente ejemplo ejecuta los objetos Timer


TestTimer, TestTimer1, TestTimer2 en
Schedule TestSchedule.
Atenuar objetos (2) Como

objetos Variant (0) =

Objetos "TestTimer" (1) =

Objetos "TestTimer1" (2) =

"TestTimer2"
Calendario de pruebas. Objetos
RunObject
S

Ejemplo de método de guardado

El siguiente ejemplo guarda todos los


documentos abiertos en el WorkSpace y
solicita al usuario cada documento.
Dim iStatus tan largo

iStatus =
Application.Documents.Save
(verdadero)

El siguiente ejemplo abre la


imagen de prueba del documento y
la guarda
como TestPicture1 sin preguntar
al usuario.
Dim iDoc como objeto

Establecer iDoc =
Application.Documents.open ("C: \
Pr
Archivos de programa \ Proficy \
Proficy
iFIX \ pic \ testpicture.grf ")
iDoc.Save "TestPicture1.grf",
False
Ejemplo del método Save_TS_List

El siguiente ejemplo guarda la lista de estado


de etiqueta que se muestra en la imagen actual
cuando se presiona un botón.
Sub privado
Button_SaveTSList_Click ()

Me.Save_TS_List

End Sub

Ejemplo del método SaveAsSVG

El siguiente ejemplo abre el documento


TestPicture y lo guarda como
TestPicture.svg.
Sub privado
CommandButton1_Click ()

Dim iDoc como CFixFileLink

Establecer iDoc =
Application.Documents.open ("C: \
Pr
Archivos de programa \ Proficy \
Proficy
iFix \ pic \ TestPicture.grf ")

Application.Documents.SaveAsSVG
"C: \ Archivos de programa \
Proficy \ Proficy iFix \ pic \
TestPicture.svg", iDoc
End Sub

Ejemplo del método


SaveToHistoryList

El siguiente ejemplo guarda el elemento


"AI1.F_CV" en la lista del historial del objeto
ExpressionEditor ExpressionEditor1.
Dim iIndex como entero

iIndex =
ExpressionEditor1.SaveToHistoryLi
st ("AI1.F_CV")

Ejemplo del método ScrollBack

El siguiente ejemplo se desplaza hacia


atrás en Chart Chart1 por el valor actual
de su propiedad ScrollPercentage.
Chart1.ScrollBack
Ejemplo del método ScrollForward

El siguiente ejemplo se desplaza hacia


adelante en Chart Chart1 por el valor actual
de su propiedad ScrollPercentage.
Gráfico 1. Desplazarse hacia
adelante

Ejemplo del método


ScrollTimeBack

El siguiente ejemplo desplaza el Pen Pen1


hacia atrás por el valor actual de su
propiedad ScrollPercentage.
Pen1.ScrollTimeBack

Ejemplo del método


ScrollTimeForward

El siguiente ejemplo desplaza el Pen Pen1


hacia adelante por el valor actual de su
propiedad ScrollPercentage.
Pen1.ScrollTimeForward
Ejemplo de método de selección

El siguiente ejemplo selecciona el Oval


Oval1.
Oval1.Seleccionar

Ejemplo del método SelectAlarmRow

El siguiente ejemplo muestra cómo


seleccionar y anular la selección de una fila
del objeto Resumen de alarmas.
' pausar la lectura de la alarma
para que no se agregue, elimine o mueva
nada
AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered =
AlarmSummaryOCX1.TotalFilteredAla
rms
ListBox1.Clear

Para lngLoop = 1 para


lngTotalFiltered

AlarmSummaryOCX1.SelectAlarmRow
lngLoop, True
AlarmSummaryOCX1.GetSelectedNodeT
ag strNode, strTag
ListBox1.AddItem strNode & "." &
strTag
AlarmSummaryOCX1.SelectAlarmRow
lngLoop, False
Siguiente lngLoop

' reanudar lectura de alarma

AlarmSummaryOCX1.ResumeAlarmRead

Ejemplo del método SelectAll

El siguiente ejemplo selecciona todos


los objetos de la imagen de prueba de
imagen.
TestPicture.SelectAll
Ejemplo del método SelectObject

El siguiente ejemplo selecciona tanto el


objeto Polilínea, Polilínea1, como el
objeto Oval, Oval1.
PolyLine1.SelectObject False

Oval1.SelectObject False

El siguiente ejemplo
selecciona solo Oval1.
PolyLine1.SelectObject True

Oval1.SelectObject True

Ejemplo del método


SendOperatorMessage
El siguiente ejemplo envía un mensaje al
nodo NODE1.
System.SendOperatorMessage "Ha
ocurrido algo", "NODE1"
Ejemplo del método
SendSignedOperatorMessage
El siguiente ejemplo crea el objeto
ESignature, comprueba si el nodo está
habilitado para firma electrónica, muestra el
cuadro de diálogo Firma electrónica, valida la
firma y envía un mensaje a la pista de
auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como

booleano Dim bVerify como

booleano

Dim bContinuousUse como

booleano Dim bValidSig como

booleano

Dim PerformUserName como

cadena Dim PerformUserID como

cadena Dim PerformComment

como cadena Dim

PerformFullName como cadena

Dim VerifyUserName como


cadena Dim VerifyUserID como

cadena Dim VerifyComment como

cadena
Dim VerifyFullName As String
'Crear el objeto ESignature
Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

bVerify = True 'no se requiere


verificación
bContinuousUse = True 'permite
que el usuario continuo, si lo
hay, se muestre en el cuadro de
diálogo
bValidSig = False 'se
establecerá en TRUE por
GetSignature si la firma se
captura con éxito
'Mostrar el cuadro de diálogo
Firma electrónica
ESig.GetSignature
"Descripción de la acción",
bVerify, bContinuousUse,
bValidSig, Ucase
(PerformUserName), Ucase
(PerformUserID),
PerformComment, Ucase
(VerifyUserName), Ucase
(VerifyUserID),
VerifyComment
Si bValidSig = True Entonces

'Envíe un mensaje a la
pista de auditoría
ESig.SendSignedOperatorMessage
"Descripción de la acción",
"", "", Ucase (PerformUserID),
PerformComment, Ucase
(VerifyUserID), VerifyComment
Obtenga los nombres
completos de los
firmantes
ESig.GetFullname Ucase
(PerformUserID), Ucase
(PerformFullName)
ESig.GetFullname Ucase
(VerifyUserID), Ucase
(VerifyFullName)
'Mostrar resultados
MsgBox "Acción realizada por"
+ PerformUserName + "(" +
PerformFullName + ")" +
PerformComment + "y verificada
por" + VerifyUserName + "(" +
VerifyFullName + ")" +
VerifyComment
Demás

MsgBox "No se capturó la


firma".
Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si
Ejemplo del método SendToBack

El siguiente ejemplo selecciona el objeto Oval


Oval1 contenido en Picture TestPicture y lo
envía al final de la orden de apilamiento.
Oval1.Seleccione

TestPicture.SendToBack

Ejemplo de subrutina SetAuto

El siguiente ejemplo pone el bloque AI1 en


modo automático.
SetAuto "AI1"

Ejemplo del método


SetContinuousUser

El siguiente ejemplo asegura que el Nombre


de usuario ingresado es válido, crea el objeto
ESignature, verifica que el nodo esté
habilitado para firma electrónica y establece
y obtiene el nombre del usuario continuo.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano

Atenuar el nombre de usuario


como cadena

Dim SetName como cadena

'Nombre de usuario válido

SetName = "TestUser"

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESfirma ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Establezca el nombre del


usuario continuo en "TestUser"
ESig.SetContinuousUser SetName
'Obtener el nombre del usuario
continuo
ESig.GetContinuousUser UserName

MsgBox "Usuario continuo:" &


Nombre de usuario

Demás

'la clave de hardware no está


habilitada para la firma, la
seguridad está deshabilitada o
la firma de omisión está en
efecto
MsgBox "La firma no está
habilitada en este nodo".
Terminara si

Ejemplo del método SetCurrentValue

El siguiente ejemplo establece el valor actual


del Pen Pen1.
Pen1.SetCurrentValue 25, #
4/13/98 1:15:00 PM #, 192

Ejemplo del método SetDispatch

Reservado para fines internos.


Ejemplo del método SetDispid

Reservado para fines internos.

Ejemplo de método SetDuration

El siguiente ejemplo establece la Duración del


gráfico Chart1 en 1 hora y 35 minutos.
Chart1.SetDuration 0, 1, 35, 0

Ejemplo del método


SetFocusToComboBox
El siguiente ejemplo establece el foco en la
parte del cuadro combinado del objeto
ExpressionEditor, ExpressionEditor1.
ExpressionEditor1.SetFocusToCombo
Box
Ejemplo de método
SetGlobalMovingEndTimeToCurrent
El siguiente ejemplo establece la propiedad
System.GlobalEndTime en la hora actual del
sistema.
Subgrupo privado4_Click ()

System.SetGlobalMovingEndTimeToCu
rrent
End Sub

Ejemplo del método


SetIndirectionInfo

Reservado para fines internos.

Ejemplo del método SetInterval

El siguiente ejemplo establece el intervalo del


Chart Chart1 en 5 minutos y 30 segundos.
Chart1.SetInterval 0, 0, 5, 30
Ejemplo de subrutina SetManual

El siguiente ejemplo establece el bloque


AI1 en modo manual.
SetManual "AI1"

Ejemplo del método SetLegendMask


El siguiente ejemplo hace que se muestren todos
los elementos de leyenda potenciales para el
gráfico mejorado.

Sub privado
CommandButton12_Click ()

Dim objDataSet como objeto


'FixRealTimeDataSet.FixRealTimeDat
aSet
Establecer objDataSet =
LineChart1.GetCurrentDataSet
()
Con objDataSet

.SetLegendMask IIf (0 =
.DSLegendMask, LegendMask_All, 0)

Terminar con
End Sub
Ejemplo del método
SetNumericFormat

El siguiente ejemplo formatea la


visualización del objeto Formato Format1,
mostrando 3 dígitos enteros, 3 dígitos
decimales y configurando la justificación a
Derecha.
Formato1.SetNumericFormat 3, 3, 2

Ejemplo del método


SetPenDataArray

El siguiente es un ejemplo sobre cómo pasar


matrices de datos definidos por el usuario para
crear un lápiz estático en un gráfico.
Dim iWrkSpace As Workspace

Dim db_var_name As Database

Dim record_var As Recordset

Dim iCount As Integer Dim

dVal As Variant Dim dtDate

As Variant Dim lQual As


Variant Dim iResult As

Integer
Establecer iWrkSpace =
CreateWorkspace ("", "admin",
"",
dbUseJet)

Establecer db_var_name =
iWrkSpace.OpenDatabase
("Chart.mdb")
Establecer record_var =
db_var_name.OpenRecordSet
("Consulta de datos",
dbOpenDynaset)
record_var.MoveLast

iCount = record_var.RecordCount

record_var.MoveFirst

Dim iRow como entero

Dim iCol como entero

Valor de atenuación (500) como


doble

Dim Times (500) como fecha

Calidad tenue (500) siempre que

Dim i como entero

Para i = 0 a iCount - 1

Valor (i) =
record_var.Fields ("Valor").
Valor
Tiempos (i) =
record_var.Fields ("Tiempo").
Valor

Calidad (i) =
record_var.Fields ("Calidad").
Valu e
'La calidad (i) debe
establecerse en 192 (buena
calidad de datos) para mostrar
datos
record_var.MoveNext

Siguiente yo

db_var_name.Close

dVal = Valor

dtDate = Horas

lQual = Calidad

Llame a Pen1.SetPenDataArray
(iCount, dVal, dtDate, lQual)
Ejemplo del método SetPointAt

El siguiente ejemplo modifica la ubicación


del punto en el índice 2 al punto 75,10 para
el objeto Polygon Polygon1.
Oscu
ro Señalo Como FixFloatPoint
Colo
car Señalo = Nuevo FixFloatPoint

iPoint.x = 75

iPoint.y = 10
Polygon1.SetPointAt 2, iPoint
Ejemplo del método SetPriorityColor

El siguiente ejemplo establece el color que se


mostrará para cada prioridad de alarma en el
objeto AlarmSummary AlarmSummaryOCX1.
Dim lGreen como

OLE_COLOR Dim lBlue como

OLE_COLOR

Dim lRojo como

OLE_COLOR lVerde =

57344 lAzul = 16722988

lRojo = 725759

AlarmSummaryOCX1.SetPriorityColor
7, lVerde
AlarmSummaryOCX1.SetPriorityColor
6, lAzul
AlarmSummaryOCX1.SetPriorityColor
5, lRed
Ejemplo de método SetProperty

El siguiente ejemplo establece la


propiedad FillStyle del objeto Oval
Oval1 en 3.
Oval1.SetProperty "FillStyle", 3

Ejemplo del método


SetScriptWindow

El siguiente ejemplo crea una instancia del


editor de Visual Basic para el objeto Oval
Oval1 contenido en Picture TestPicture,
mostrando el prototipo de su evento
MouseDown.
Oval1.Seleccionar

TestPicture.SetScriptWindow
True, "MouseDown"
Ejemplo del método SetSource

El siguiente ejemplo establece la fuente de


datos para el objeto lineal Linear1 en AI1,
especificando usar la fuente de datos si no
existe en la base de datos, configurando
UpdateRate en 1 y Deadband en 5.
Linear1.SetSource "ai1.f_cv",
True, 1, 5

Ejemplo del método SetStatusColor

El siguiente ejemplo establece el color que se


mostrará para las alarmas con un estado LOLO
en el objeto AlarmSummary
AlarmSummaryOCX1.
Atenuar lVerde como

OLE_COLOR lVerde = 57344

AlarmSummaryOCX1.SetStatusColor
1, lVerde
Ejemplo del método SetStatusFont

El siguiente ejemplo establece la fuente que se


mostrará para las alarmas con un estado HIHI
en el objeto AlarmSummary
AlarmSummaryOCX1. Establece la fuente que
se mostrará como Negrita Garamond con la
opción Tachado establecida en Verdadero.
AlarmSummaryOCX1.SetStatusFont
2, "Garamond", Verdadero, Falso,
Verdadero, Falso

Ejemplo del método SetStringFormat

El siguiente ejemplo establece el formato sin


formato del objeto Format para Datalink
Datalink1 contenido en Picture TestPicture.
Dim iFormat como objeto

Establecer iFormat =
TestPicture.FindObject ("Enlace de
datos1
.Formato1 ")

iFormat.SetStringFormat "Valor =
% s"
Ejemplo del método SetTabSelection

El siguiente ejemplo muestra


Fix32Database, Pictures y Globals para
ExpressionEditor ExpressionEditor1.
Dim bResult como booleano

bResult =
ExpressionEditor1.SetTabSelection
(11)

Ejemplo del método


SetTimeBeforeNow

El siguiente ejemplo establece la hora del


Chart Chart1 en 2 horas y 30 minutos antes
de la hora actual.
Chart1.SetTimeBeforeNow 2, 30, 0
Ejemplo del método
SetTimeCursorTime

El siguiente ejemplo establece el tiempo del


cursor de tiempo para el primer lápiz de la
colección de lápices del Chart Chart1 para
que sea el 15/11/98 a la 1:30 p. M.
Chart1.SetTimeCursorTime
# 15/11/98 1:30:00 PM #,
1

Ejemplo del método


SetWindowLocation

El siguiente ejemplo establece la ubicación de


la imagen de prueba de imagen estableciendo
el porcentaje superior en 10, el porcentaje
izquierdo en 10 y estableciendo los
porcentajes de alto y ancho en 200, sin volver
a dibujar el documento después de establecer
la ubicación de la ventana.
TestPicture.SetWindowLocation
10, 10, 200, 200, Falso
Ejemplo de subrutina ShellExecute

El siguiente ejemplo abre el Bloc de


notas.

Dim lResult tan largo

lResult = ShellExecute (hWnd,


"Abrir", "Notepad.exe",
vbNullString, "c: \ temp", 4)

Ejemplo del método


ShowAnimations

El siguiente ejemplo abre el cuadro de


diálogo Animación para el objeto Oval
Oval1.
Oval1.Seleccionar

TestPicture.ShowAnimations

Ejemplo del método


ShowBrowseDialog
El siguiente ejemplo abre el cuadro de
diálogo Editor de expresiones para el objeto
ExpressionEditor ExpressionEditor1.
ExpressionEditor1.ShowBrowseDialog
Ejemplo del método ShowColorBox

El siguiente ejemplo abre el cuadro de diálogo


de color para el objeto ColorButton
ColorButton1.
ColorButton1.ShowColorBox

Ejemplo del método


ShowColorSelection

El siguiente ejemplo abre el cuadro de


diálogo de selección de color para la
imagen de prueba de imagen.
TestPicture1.ShowColorSelection
True

Ejemplo del método


ShowCustomPages
El siguiente ejemplo abre el cuadro de
diálogo de configuración personalizada
para Chart Chart1.
Chart1.ShowCustomPages
Ejemplo del método
ShowPipePreviewDialog
Este ejemplo abre el cuadro de diálogo
Modificar características de tubería para los
objetos de tubería seleccionados.
Establecer ObjHelper =
BuildObject
("GeometryHelper")
Llama
ObjHelper.ShowPipePreviewDialog

Ejemplo del método


ShowTaskWizard

El siguiente ejemplo abre el cuadro de diálogo


Asistente para tareas del área de trabajo.
Application.ShowTaskWizard
Ejemplo del método
ShowVBAProcedure

Este ejemplo establece el foco de la ventana


de secuencia de comandos de VBA en el
evento Click de Rect2 cuando Rect2 está
contenido en el documento activo.
Dim oPic como objeto

Dim oRect como objeto

Establecer oPic =
Application.ActiveDocument.Page

Establecer oRect =
oPic.FindObject ("Rect2")

oPic.ShowVBAProcedimiento
"Click", oRect

Ejemplo del método


ShowVisualBasicEditor
El siguiente ejemplo abre el Editor de Visual
Basic del espacio de trabajo.
Application.ShowVisualBasicEditor
Ejemplo de AlarmHornSilence

Este ejemplo silencia la bocina de alarma.

Botón secundario privado

1_Click () AlarmHornSilence

End Sub

Ejemplo del método


SnapObjectsToGrid

El siguiente ejemplo ajusta los objetos


Oval y Datalink, Oval1 y Datalink1, a la
cuadrícula.
Oval1.SelectObject False

DataLink1.SelectObject False

TestPicture.SnapObjectsToGrid
Ejemplo del método SpaceEvenly

El siguiente ejemplo espacia los objetos Oval,


Polygon y RoundRectangle Oval1, Polygon1
y RoundRect1 con el mismo espaciado
horizontal entre ellos.
Oval1.SelectObject False

Polygon1.SelectObject False

RoundRect1.SelectObject False

TestPicture.SpaceEvenly 0

Ejemplo del método StartEvent

El siguiente ejemplo inicia la activación


del objeto de evento FixEvent1 de
Schedule TestSchedule.
Dim iEvent como objeto

Establecer iEvent =
System.FindObject ("TestSchedule.F
ixEvent1 ")

iEvent.StartEvent
Ejemplo del método StartTimer

El siguiente ejemplo inicia la activación


del objeto Timer FixTimer1 de Schedule
TestSchedule.
Atenuar iTimer como objeto

Establecer iTimer =
System.FindObject ("TestSchedule.F
ixTimer1 ")

iTimer.StartTimer
Ejemplo del método StickToCursor

El siguiente ejemplo crea un objeto Rectangle


y especifica que el objeto se adhiere al cursor
al crearlo.
Dim iRect como objeto

Establecer iRect =
Application.ActiveDocument.Page.B
uildObject ("rect")

iRect.HorizontalPosition = 3

# iRect.VerticalPosition = 3

# iRect.StickToCursor
Ejemplo del método StopEvent

El siguiente ejemplo detiene la


activación del objeto de evento
FixEvent1 de Schedule TestSchedule.
Dim iEvent como objeto

Establecer iEvent =
System.FindObject ("TestSchedule.F
ixEvent1 ")

iEvent.StopEvent

Ejemplo del método StopTimer

El siguiente ejemplo detiene la


activación del objeto de evento
FixTimer1 de Schedule TestSchedule.
Atenuar iTimer como objeto

Establecer iTimer =
System.FindObject ("TestSchedule.F
ixTimer3 ")

iTimer.StopTimer
Ejemplo de método de estiramiento

El siguiente ejemplo escala el Oval Oval1 en


un porcentaje de escala horizontal de 10 y un
porcentaje de escala vertical de 20.
Ovalado 1. Estirar 10, 20

Ejemplos del método


SwitchLanguage

El siguiente ejemplo establece el idioma del


texto mostrado en español para la imagen
activa.
pic.LanguageDesired =

1034 pic.SwitchLanguage

-O-

pic.SwitchLanguge (ES_Español)

NOTA: Para obtener una lista de los números de


identificación
que representa cada idioma, consulte el
Siglas de letras de idioma mesa en el
Exportación e importación de archivos
de idioma
tema.
El siguiente ejemplo muestra cómo cambiar el
idioma solo en el objeto AlarmSummary,
haciendo clic en un rectángulo en el modo de
ejecución.
Sub privado Rect1_Click ()

AlarmSummaryOCX1.SwitchLangua
ge RU_Russian

End Sub

Ejemplo de método SwitchMode

El siguiente ejemplo establece el modo del


WorkSpace en modo de ejecución.
Aplicación.SwitchMode 4

Ejemplo del método


SynchronizeSecurity
Antes de poder usar el siguiente ejemplo,
primero debe agregar una referencia de VBA a
SecuritySynchronizerDLL.DLL.
Para agregar una referencia de VBA
a
SecuritySynchronizerDLL.DLL:
1. En el Editor de Visual Basic, en el
menú Herramientas, seleccione Referencias.
Aparece el cuadro de diálogo Referencias de
VBA.
2. Haga clic en el botón Examinar y
seleccione el directorio de instalación de iFIX
(normalmente C: \ Archivos de programa \
Proficy \ Proficy iFIX).
3. Seleccione el archivo
SecuritySynchronizerDLL.dll y haga clic en
Abrir. Se agrega una referencia
SecuritySynchronizerDLL marcada en el
cuadro de diálogo Referencias de VBA.
4. Haga clic en Aceptar, luego salga del
Editor de Visual Basic.
Este ejemplo crea el objeto
SecuritySynchronizer y llama al método
SynchronizeSecurity.
Dim objSecSynch como
SecuritySynchronizer
Establecer objSecSynch
= New
SecuritySynchronizer
objSecSynch.UseLocalSecurity =
True
objSecSynch.SynchronizeSecurity

Este método ejecuta el proceso de


sincronización de seguridad.

Antes de llamar al método


SynchronizeSecurity, debe establecer una o
ambas de las siguientes propiedades en True:

• UseLocalSecurity

• UseDomainSecurity

Si establece la propiedad
UseDomainSecurity en True, también debe
establecer la propiedad Domain en un
nombre de dominio de Windows válido.
T

Ejemplo del método


TagGroupSubstitution
Este ejemplo recupera el valor de
sustitución del símbolo de grupo de
etiquetas @ tag1 @.
Dim szSustitución como cadena

pic1.TagGroupSubstitution
"@ tag1 @ ",
szSubstitution

Este método busca la etiqueta en el archivo de


grupo de etiquetas actualmente cargado y
recupera la sustitución. El método
TagGroupSubstitution solo está disponible en
el entorno de ejecución. Si le pasa una cadena
que no es un símbolo de grupo de etiquetas,
devolverá la misma cadena.
Ejemplo del método TagGroupValue

Este ejemplo recupera el valor de la


sustitución del grupo de etiquetas del
símbolo del grupo de etiquetas @ tag1 @.
Dim vaValue como variante

pic1.TagGroupValue "@ tag1


@ ", vaValue

Este método de solo tiempo de ejecución


busca en el archivo de grupo de etiquetas
cargado actualmente para encontrar la
sustitución de la etiqueta pasada y lee el valor
actual. Llamar a este método es similar a
llamar al método TagGroupSubstitution,
buscar el objeto en función de la cadena
devuelta y luego leer el valor. Si le pasa una
cadena que no es un símbolo de grupo de
etiquetas, devolverá la misma cadena.
Ejemplo de subrutina
ToggleDigitalPoint
El siguiente ejemplo alterna el bloque DO1
entre abierto y cerrado.
ToggleDigitalPoint "DO1"

Ejemplo de subrutina manual de


Toggle

El siguiente ejemplo alterna el bloque AI1


entre los modos manual y automático.
ToggleManual "AI1"

Ejemplo de subrutina ToggleScan

El siguiente ejemplo alterna el estado de


exploración del bloque AI1.
ToggleScan "AI1"
U

Ejemplo de método UIActivate

El siguiente ejemplo establece


CommandButton1 en su modo activo
personalizado.
CommandButton1.UIActivate

Ejemplo del método UIDeActivate

El siguiente ejemplo establece


CommandButton1 en su modo inactivo
personalizado.
CommandButton1.UIDeActivate

Ejemplo de método de deshacer

El siguiente ejemplo deshace la última


acción realizada en Picture TestPicture.
TestPicture.Undo
Ejemplo del método
UndoTransaction

El siguiente ejemplo inicia una


transacción de deshacer para Picture
TestPicture.
TestPicture.UndoTransaction
pUndoTransactionStart

Ejemplo del método UndoZoom

El siguiente ejemplo restaura el gráfico


de líneas / líneas múltiples a su tamaño
predeterminado.
Sub privado
CommandButton9_Click ()

LineChart1.UndoZoom

End Sub

Ejemplo de método de desagrupar


El siguiente ejemplo desagrupa el grupo
seleccionado en la imagen de prueba de
imagen.
TestPicture.UnGroup
Ejemplo de método
UnloadTagGroupFile
El siguiente ejemplo descarga el archivo de
grupo de etiquetas cargado actualmente de la
imagen de iFIX pic1.
Sub privado
CommandButton1_Click ()

pic1.UnloadTagGroupFile

End Sub

Ejemplo de método
Update_A_Dynamo_By_Name
El siguiente código proporciona un ejemplo
del método Update_A_Dynamo_By_Name.
Este ejemplo es similar al que aparece en el
ejemplo del método
Update_A_Dynamo_By_Ref.
Función pública
UpdateADynamo (DynamoInstanceFully
QualifiedName como cadena,
MasterDynamoFullyQualifiedName As
String, ByRef strReturnMsg) Como
UpdateDynamoResult

Atenuar
iDataSourceOption como
DynamoDataSourceOption
Dim iResult As Long
'UpdateDynamoResult
Atenuar iPrompt tanto tiempo

iDataSourceOption =
g_WizardConfig.iDataSourceOption

Si
g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE
Entonces

Si
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_BUT_NOT_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_AND_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL Entonces
iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si

Terminara si

'////// llamada de

actualización real' llamada

Update A Dynamo

PlugandSolve.GeometryHelperOb
j.Update_A_Dynamo_By_Name
MasterDynamoFullyQualifiedName,
DynamoInstanceFullyQualifiedName,
iDataSourceOption,
mobjStrMgr.GetNLSStr (4069),
iResult
'obtener una cadena de
resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Result_String

' obtenga la última opción


de usuario del indicador
Si
(g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE) Y _

(g_ReturnFromPromptForCho
ice = PROMPT_DLG_SEL_NONE)
Entonces
iPrompt =
PlugandSolve.GeometryHelperObj.Ge
t_Last_Prompt_Value

Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY
_TO_TODOS) O _

(iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MAT
CH_APPLY_TO_ALL) O _
(iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPL
Y_TO_ALL) Entonces
g_ReturnFromPromptFor
Choice = iPrompt
Terminara si

Terminara si

'////// fin de la llamada de


actualización real

'////// maniquí para prueba


' g_testcount = g_testcount +
1

' Si g_testcount = 3 Entonces

' strReturnMsg = ">>>" &


DynamoInstanceFullyQualifiedName
& "no se actualizó con" &
MasterDynamoFullyQualifiedName
' iResult =
DYNAMO_NOTUPDATED

' De lo contrario, si
g_testcount = 150
Luego

' strReturnMsg = ">>>


Usuario
cancelado"

' iResult =
DYNAMO_UPDATE_ABORTED

' Demás

' strReturnMsg =
DynamoInstanceFullyQualifiedName
& "se actualizó correctamente
con" &
MasterDynamoFullyQualifiedName
' iResult = DYNAMO_UPDATED

' Terminara si
'////// fin del maniquí para
prueba

Si iResult <= DYNAMO_UPDATED


Luego

UpdateADynamo
= DYNAMO_UPDATED
De lo contrario, si iResult
<=
DYNAMO_NOTUPDATED Entonces

UpdateADynamo
= DYNAMO_NOTUPDATED
Demás

UpdateADynamo =
DYNAMO_UPDATE_ABORTED
Terminara si

Función final
Ejemplo de método
Update_A_Dynamo_By_Name2
Consulte Update_A_Dynamo_By_Ref2
Ejemplo de método.
Update_A_Dynamo_By_Ref2 le permite
especificar un nombre de Dynamo, mientras
Update_A_Dynamo_By_Name2 le permite
especificar el puntero de envío del objeto
Dynamo.

Ejemplo del método


Update_A_Dynamo_By_Ref
El siguiente código proporciona un ejemplo
del método Update_A_Dynamo_By_Ref que
aparece en el módulo modDynamoUpdater del
proyecto Project_PlugandSolve VBA.
Función pública
UpdateADynamo2 (objDynamoInstance como
Fix2DDynamo.Fix2DDynamo,
objMasterDynamo como
Fix2DDynamo.Fix2DDynamo, ByRef
strReturnMsg) como UpdateDynamoResult
Dim strDIName como cadena

Dim strDMName como cadena

Atenuar iDataSourceOption como


DynamoDataSourceOption

Dim iResult As Long


'UpdateDynamoResult
Atenuar iPrompt tanto tiempo

Opciones de actualización de Dim


iUpdateOptions As Long '

iDataSourceOption =
g_WizardConfig.iDataSourceOption

Si g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE Entonces
Si g_ReturnFromPromptForChoice
=
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_AL
L Entonces
iDataSourceOption
= DYNAMO_UPDATE_BUT_NOT_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APP
LY_TO_ALL Entonces

iDataSourceOption =
DYNAMO_UPDATE_AND_APPLY

De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_A
LL Entonces

iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si

Terminara si

' Convertir parámetros de opción

iUpdateOptions = & H0

Si iDataSourceOption =
DYNAMO_PROMPT_FOR_CHOICE Entonces

iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHO
ICE
De lo contrario, si
iDataSourceOption =
DYNAMO_UPDATE_AND_APPLY
Entonces
iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO
+
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SO
URCES
De lo contrario, si
iDataSourceOption =
DYNAMO_UPDATE_BUT_NOT_APPLY
Entonces
iUpdateOptions =
UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO

Terminara si

Si g_WizardConfig.bKeepSize = True
Luego

iUpdateOptions = iUpdateOptions
+ UPDATE_OPTION_RESIZE_INSTANCE
Terminara si

Si g_WizardConfig.bKeepCaption
= True Entonces
iUpdateOptions = iUpdateOptions
+ UPDATE_OPTION_SAVE_CAPTIONS Finalizar

si

' Agregue una nueva opción si la


conversión de la instancia de Dynamo
Si g_iDynamoToolType =
DYN_QUICK_CONVERTER O _
g_iDynamoToolType =
DYN_CONVERTER_WIZARD
Entonces
iUpdateOptions = iUpdateOptions
+ UPDATE_OPTION_UPDATE_ON_CONVERSION

Finalizar si

'llamar Update A Dynamo

PlugandSolve.GeometryHelperObj.Upda
te_A_Dynamo_By_Ref2 objMasterDynamo,
objDynamoInstance, iUpdateOptions,
mobjStrMgr.GetNLSStr (4069), iResult
'obtener una cadena de resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Get_Last
_Result_String

' obtener la última opción de


usuario de la
inmediato

Si
(g_WizardConfig.iDataSourceOption =
DYNAMO_PROMPT_FOR_CHOICE) y _

(g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_NONE)
Entonces

iPrompt =
PlugandSolve.GeometryHelperObj.Get_Last
_Prompt_Value

Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_AL
L) O _

(iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APP
LY_TO_ALL) O _
(iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_A
LL) Entonces

g_ReturnFromPromptForChoice
= iPrompt

Terminara si

Terminara si

'////// fin de la llamada de


actualización real

' Si iResult <= DYNAMO_UPDATED


Entonces

' UpdateADynamo = DYNAMO_UPDATED


' De lo contrario, si iResult <=
DYNAMO_NOTUPDATED Entonces

' UpdateADynamo =
DYNAMO_NOTUPDATED

' Demás

' UpdateADynamo =
DYNAMO_UPDATE_ABORTED

' Terminara si

Si (iResult And
UPDATER_RESULT_SUCCESS_BIT)> 0 Entonces

UpdateADynamo2 = DYNAMO_UPDATED

Terminara si

Si (iResult And
UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT)>
0 Entonces
UpdateADynamo2 =
DYNAMO_NOTUPDATED
Terminara si

Si (iResult And
UPDATER_RESULT_USER_CANCELLED_BIT)> 0
_

O (iResult y
UPDATER_RESULT_SUCCESS_BIT) = 0
Entonces

UpdateADynamo2 =
DYNAMO_UPDATE_ABORTED

Terminara si

Función final

Para ver este código en contexto:


1. En la vista clásica, en el menú
WorkSpace, seleccione Editor de Visual
Basic. -O-
En la vista de cinta, en la pestaña
Inicio, en el grupo Espacio de
trabajo, haga clic en Editor de
Visual Basic.
2. En la vista de árbol, haga doble clic
en la carpeta Project_PlugandSolve, luego en
la carpeta Módulos y finalmente en
modDynamoUpdater.
3. Busque UpdateADynamo para
localizar este código.
Ejemplo de método
Update_A_Dynamo_By_Ref2
El siguiente código proporciona un ejemplo
del método Update_A_Dynamo_By_Ref2 que
aparece en el módulo modDynamoUpdater del
proyecto Project_PlugandSolve VBA.
Función pública
UpdateADynamo (objDynamoInstance como
Fix2DDynamo.Fix2DDynamo,
objMasterDynamo como
Fix2DDynamo.Fix2DDynamo, ByRef
strReturnMsg) como UpdateDynamoResult

Dim strDIName como cadena

Dim strDMName como cadena

Atenuar iDataSourceOption como


DynamoDataSourceOption

Dim iResult As Long


'UpdateDynamoResult
Atenuar iPrompt tanto tiempo

iDataSourceOption =
g_WizardConfig.iDataSourceOption
Si g_WizardConfig.iDataSourceOption
= DYNAMO_PROMPT_FOR_CHOICE Entonces
Si g_ReturnFromPromptForChoice
=
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_AL
L Entonces
iDataSourceOption
= DYNAMO_UPDATE_BUT_NOT_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APP
LY_TO_ALL Entonces
iDataSourceOption
= DYNAMO_UPDATE_AND_APPLY
De lo contrario
g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_A
LL Entonces

iDataSourceOption
= DYNAMO_NOT_UPDATE
Terminara si

Terminara si

'////// llamada de actualización real


'llamar Update A Dynamo

PlugandSolve.GeometryHelperObj.Actu
alizaciones te_A_Dynamo_By_Ref2
objMasterDynamo, objDynamoInstance,
iDataSourceOption, mobjStrMgr.GetNLSStr
(4069), iResult
'obtener una cadena de resultado

strReturnMsg =
PlugandSolve.GeometryHelperObj.Get_Last
_Result_String

' obtener la última opción de


usuario de la
inmediato

Si
(g_WizardConfig.iDataSourceOption =
DYNAMO_PROMPT_FOR_CHOICE) y _

(g_ReturnFromPromptForChoice
= PROMPT_DLG_SEL_NONE) Entonces
iPrompt =
PlugandSolve.GeometryHelperObj.Get_Last
_Prompt_Value

Si (iPrompt =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_AL
L) O _

(iPrompt =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APP
LY_TO_ALL) O _
(iPrompt =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_A
LL) Entonces

g_ReturnFromPromptForChoice
= iPrompt

Terminara si

Terminara si

'////// fin de la llamada de

actualización real' //////

ficticia para la prueba

' g_testcount = g_testcount + 1

' strDIName = objDynamoInstance.Name

' strDMName = objMasterDynamo.Name

' Si g_testcount = 3 Entonces

' strReturnMsg = ">>>" &


strDIName & "no se actualizó con" &
strDMName
' iResult = DYNAMO_NOTUPDATED

' ElseIf g_testcount = 150 Entonces

' strReturnMsg = ">>> Usuario


cancelado"

' iResult =
DYNAMO_UPDATE_ABORTED

' Demás

' strReturnMsg = strDIName & "se


actualizó correctamente con" &
strDMName
' iResult = DYNAMO_UPDATED

' Terminara si

'////// fin del maniquí para prueba

Si iResult <= DYNAMO_UPDATED


Entonces

UpdateADynamo = DYNAMO_UPDATED

De lo contrario, si iResult <=


DYNAMO_NOTUPDATED
Luego

UpdateADynamo
= DYNAMO_NOTUPDATED
Demás

UpdateADynamo =
DYNAMO_UPDATE_ABORTED
Terminara si

Función final
Para ver este código en contexto:
1. En la vista clásica, en el menú
WorkSpace, seleccione Editor de Visual
Basic. -O-
En la vista de cinta, en la pestaña
Inicio, en el grupo Espacio de
trabajo, haga clic en Editor de
Visual Basic.
2. En la vista de árbol, haga doble clic
en la carpeta Project_PlugandSolve, luego en
la carpeta Módulos y finalmente en
modDynamoUpdater.
3. Busque UpdateADynamo para
localizar este código.

Ejemplo del método


UpdateBackgroundObject
El siguiente ejemplo crea el objeto
TimerTest en Schedule TestSchedule y lo
transfiere a la programación correspondiente
que se ejecuta en la aplicación
FixBackgroundServer en segundo plano.
Dim TestSchedule como

objeto Atenuar iTimer como

objeto

Establecer TestSchedule =
System.FindObject ("TestSchedule")
Establecer iTimer =
TestSchedule.BuildObject ("FixTime
r ")

iTimer.Name = "TimerTest"

iTimer.TriggerType = 1

iTimer.Interval = 2000

TestSchedule.UpdateBackgroundObje
ct "TimerTest", bkAdd, bkRun

Ejemplo del método


UpdateConnectionParameters
El siguiente ejemplo actualiza UpdateRate a
30.0, Deadband a 5.0 y Tolerance 15.0 para
el objeto Oval Oval2.
Oval2.UpdateConnectionParameters
"VerticalFillPercentage", 30.0,
5.0, 15.0
Ejemplo del método UpdateDefinition

El siguiente ejemplo actualiza las definiciones


contenidas en un archivo de grupo de
etiquetas.
Dim sTokenList (4) como
cadena, TokenList como
variante
Dim sReplacementList (4) como
Cadena, lista de reemplazo como
Variante

Dim sDescriptionList (4) como


String, DescriptionList como
Variante

Atenuar TGD como objeto

Establecer TGD =
CreateObject ("TagGroupDefinitionI
nterfaceDll.TagGroupDefinitionInt
erface ")

TGD.RetrieveDefinition "Prueba",
4, TokenList, ReplacementList,
DescriptionList
TokenList (2) = "Etiqueta3"

TokenList (3) = "Etiqueta4"


ReemplazoLista (2) =
"FIX32.NODE2.AI1.F_CV"

ReplacementList (3) =
"FIX32.NODE2.AI2.F_CV"
DescriptionList (2) =
"Temperatura para el
nodo 2"
DescriptionList (3) = "Presión
para el nodo 2"
' Crear el objeto de archivo de
grupo de etiquetas
Establecer TGD =
CreateObject ("TagGroupDefinitionI
nterfaceDll.TagGroupDefinitionInt
erface ")

TGD.UpdateDefinition "Prueba",
4, TokenList, ReplacementList,
DescriptionList
Establecer TGD = Nada
Ejemplo de método
UserFormPointToLogical
El siguiente ejemplo convierte las
coordenadas superior izquierda de 30, 50 en
coordenadas "UserForm Point" en unidades
lógicas para la imagen de prueba de imagen.
Dim dTop como doble

Dim dLeft As Double

dTop = 30

dIzquierda = 50

TestPicture.UserFormPointToLogica
l dTop, dLeft
VZ

Ejemplo del método


ValidateSignature

El siguiente ejemplo crea el objeto ESignature,


verifica si el nodo está habilitado para firma
electrónica, valida la firma, envía un mensaje
a la pista de auditoría y recupera el nombre
completo del firmante.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bValidSig como booleano

Atenuar UserID como cadena

Dim FullName como cadena

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled

Si bNodeSignEnabled = True
Entonces

bValidSig = False 'se


establecerá en TRUE por
ValidateSignature si la firma es
válida
'Validar la firma

ESig.ValidateSignature
"admin", "admin", 1,
bValidSig, Ucase (UserID)
Si bValidSig = True Entonces

'Envíe un mensaje a la
pista de auditoría
ESig.SendSignedOperatorMessage
"Descripción de la acción",
"", "", Ucase (UserID),
"Comentario"

Obtenga el nombre
completo del

firmante

ESig.GetFullname Ucase
(UserID), Ucase (FullName)
'Mostrar resultados
MsgBox "Acción realizada por el
administrador (" + FullName + ")"
+ "Comentario"
Demás

MsgBox "Firma no válida".

Terminara si

Demás

MsgBox "La firma no está


habilitada en este nodo".
Terminara si

Ejemplo de método
ValidateSignatureAndWriteValue
El siguiente ejemplo crea el objeto ESignature,
verifica si el nodo está habilitado para firma
electrónica y determina si una etiqueta específica
(FIX32.thisnode.D01.F_CV) requiere firma
electrónica. Si es necesario, el ejemplo valida la
firma, escribe el nuevo valor y envía un mensaje
a la pista de auditoría.
Atenuar ESig como objeto

Dim bNodeSignEnabled como


booleano

Dim bSig Requerido como booleano


Dim bVerificar como booleano

Dim bContinuousUse como booleano

Dim nInfo como entero

Dim NewValue como variante

'Cree el objeto ESignature

Establecer ESig =
CreateObject ("ElectronicSignature
.ESignatureFactory ")

'Compruebe si el nodo está


habilitado para firma
electrónica
ESig.IsNodeSignEnabled
bNodeSignEnabled
Si bNodeSignEnabled = True
Entonces

'Compruebe si la etiqueta
requiere firma electrónica
ESig.Initialize
"Fix32.thisnode.DO1.F_CV"
ESig.IsSignatureRequired 0,
bSigRequired, nInfo, bVerify,
bContinuousUse
Si bSigRequired = True Entonces

'Validar la firma, escribir el


nuevo valor y enviar un mensaje
a la pista de auditoría
NewValue = 1

Si bVerify = False entonces

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario"
Demás

ESig.ValidateSignatureAndWriteVal
ue 0, NewValue, "admin", "admin",
"Ejecutar ejemplo de comentario",
"supervisor1", "GEF", "Verificar
ejemplo de comentario"
Terminara si

Demás

MsgBox "No se requiere firma


para esta etiqueta".
Terminara si

Demás

MsgBox "La firma no está


habilitada
en este nodo ".

Terminara si

Ejemplo del método


ValidateSource

El siguiente ejemplo valida la fuente


AI1 para Oval Oval1.
Dim iStatus tan largo

Dim iObj como objeto

Dim sPropName como cadena

Oval2.ValidateSource "AI1",
iStatus, iObj, sPropName
Ejemplo del método
ValueTimeFromXY

El siguiente ejemplo recupera el valor, la


fecha y el tipo que corresponde a las
coordenadas 10,25 para el Pen Pen1.
Dim dValue As Double

Dim dDate As Date Dim

bReal As Boolean

Pen1.ValueTimeFromXY 10,
25, dValue, dDate, bReal

Ejemplo del método


WritePictureToImageFile
El siguiente ejemplo crea un archivo de
imagen llamado MyPictureImage para una
imagen iFIX llamada MyPicture. La imagen
no está escalada.
La imagen iFIX se cierra después de que se
escribe el archivo de imagen.
Application.WritePictureToImageFi
le "MyTestPic.grf",
"MyTestPicImage", True
Ejemplo de subrutina WriteValue

El siguiente ejemplo escribe el valor 1 en el


bloque DO1.
WriteValue 1, "DO1"

Ejemplo de método de escritura

El siguiente ejemplo:

• Crea un sistema de datos ocx FDS;

• Agrega un grupo de datos DataGroup1


a la colección de grupos;

• Agrega un DataItem a la colección


DataItems;

• Escribe el valor del Grupo


DataGroup1;

• Escribe un valor de 45 en DataItem

'Crear el sistema de datos

OCX Dim FDS como objeto


Establecer FDS =
CreateObject ("FixDataSystems.Inte
llution FD Data System Control
")

'Agregar un grupo a la
colección Grupos
FDS.Groups.Add ("Grupo de
datos1")

FDS.Groups.Item ("DataGroup1").
Dat aItems.Add
("Fix32.THISNODE.AI1.F_ CV")
'Escribir DataGroup1

FDS.Groups.Item ("DataGroup1").
Wri te
'Escriba el DataItem

FDS.Groups.Item ("DataGroup1").
Dat aItems.Item (1) .Write (45)
Ejemplo del método
XYFromValueTime

El siguiente ejemplo recupera las


coordenadas xey para el valor de 10 a las
11:05 p.m. para el Pen Pen1.
Dim dX como doble

Dim dY como doble

Pen1.XYFromValueTime 10,
# 11: 05: 00 PM #, dX,
dY
Ejemplo del método XYHitTest

El siguiente ejemplo recupera la información


del lápiz en las coordenadas x, y para el
gráfico Chart Chart1. Tenga en cuenta que los
parámetros xey provienen de los prototipos de
eventos MouseUp y / o MouseDown.
Dim dFecha como fecha

Dim dValue como doble

dim sPenName como

cadena Dim iPen como

objeto Dim lPenNum Tan

largo Dim bReal como

booleano

Chart1.XYHitTest x, y, dDate,
dValue, sPenName, iPen, lPenNum,
bReal
Ejemplo de método de zoom

El siguiente ejemplo amplía el gráfico con un


valor vertical alto y bajo de 50 y 10 y un valor
horizontal alto y bajo de 75 y 35 para Chart1.
Gráfico 1.Zoom 50, 10, 75, 35
Índice
haga clic en 65, 73, 88, 90,
reconocer 99, 117
alarmas .
.. 123, 127
cerrar .... 66, 135, 137
activar ............... 58
alarma ............... color ............ 67, 160
. 106 configurar ............
. 81
AlarmHornEnable
D ...................
. 129 conexiones ....... 157
datos ...................
AlarmaCuernoSilencio .. 68
e .................... 266 fuente de
datos ........ 148
AlarmaCuernoSilencio
e subrutina .. 133 base de datos235, 238, 240

AlarmHornToggle131 desactivar .... 75, 120


punto digital 135, 177, 222
alarmas 60, 61, 63, 123, 127, 129, 131, 140, 143, 266
alias .................. 189 desactivar alarmas ... 140
haga doble
modo automático 216, 224 clic ......... 73
cuadra .......
.. 231, 233 dínamo ............. 160
editar .............
cambio ................ 68 ... 77, 79
habilitar alarmas ... 143 iniciar sesión ................. 171

event58, 59, 60, 61, 63, 65, 66, manual67,68, mode218,73,75, 77,22479, 80,

falso .......... 111, 120 método .............. 293


encont
rar ... 148, 150, 168 MouseUpOffObje
evento
ct .......... 104
FixGetMyname 244 moverse ...............
atención ............... .... 95
.... 59 nombr
formul es 189
ario .. 160, 161, 164
NlsGetText 248
función 231, 233, 235, 238, 240, 242
fuera de
escaneo ............. 173
HDA ................. 248
funciones auxiliares 244, en escaneo 175
248 abierto
inicializar...... .. 177, 179, 184
.. 80, 81 imagen 137, 153, 179, 184,
2
keydown ............. 82 impresión ..........
tecla ........ 191
Arriba .................. 85 rampa .........
límites ............... . 194, 197
. 145
carga .................... leer valores 200, 203
. 89
actualizar .............. 110 tge ............. 184, 212
reemplazar ...
... 206, 212 alternar ........ 222, 226

reporte ................ 191 alternar estado ........ 224

escanear ... 173, 175, 226 cierto ............ 115, 121

selección ... 112, 118 descargar ................. 89

separador ........... 158 usuario ................... 167

Severidad aumentada 119 variable ............. 108


cascarón ................
.. 220 escribir punto ........ 228
subrutina123, 127, 129, 131, WriteValue135,137, 140, 143, 145, 1
Subrutina ..... 228
grupos de etiquetas 89, 184, 212

También podría gustarte