Sie sind auf Seite 1von 100

SINUMERIK 840D/840Di

SINUMERIK 810D/FM--NC

HMI--Programmierpaket
ASCII--Editor Control

Referenz Ausgabe 02.2004


SINUMERIK - Dokumentation
3ls

Auflagenschlüssel

Da die vorliegende Dokumentation zum Lieferumfang der Software des


HMI--Progammierpaketes gehört, gibt es keine Bestell--Nummer.
Marken
SIMATICr, SIMATIC HMIr, SIMATIC NETr, SIROTECr, SINUMERIKr und SIMODRIVEr sind
eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Druckschrift können Marken
sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen können.

Weitere Informationen finden Sie im Internet unter:


http://www.ad.siemens.de/sinumerik Es können weitere, in dieser Dokumentation nicht beschriebene
Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein
Anspruch auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Die Erstellung dieser Unterlage erfolgte mit Interleaf V 7
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der
Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertung und beschriebenen Hard-- und Software geprüft. Dennoch können Abwei-
Mitteilung ihres Inhalts nicht gestattet, soweit nicht ausdrücklich chungen nicht ausgeschlossen werden. Die Angaben in dieser
zugestanden. Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Druckschrift werden regelmäßig überprüft, und notwendige
Rechte vorbehalten, insbesondere für den Fall der Patenterteilung Korrekturen sind in den nachfolgenden Auflagen enthalten. Für
oder GM--Eintragung. Verbesserungsvorschläge sind wir dankbar.
 Siemens AG 2004. All rights reserved. Technische Änderungen vorbehalten.

Printed in the Federal Republic of Germany Siemens--Aktiengesellschaft


Inhaltsverzeichnis
1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
2 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.1 Editorsitzung initialisieren/freigeben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.1.1 Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.1.2 Terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
2.2 Attribute setzen/lesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
2.2.1 IsBlockReadOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
2.2.2 Status schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
2.2.3 Resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
2.2.4 RecalculateView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
2.2.5 GetSelectInf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
2.2.6 GetMarkInf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
2.2.7 GetViewInf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
2.2.8 GetMaxBlockNr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
2.2.9 GetSEEKW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
2.2.10 SetActualNcBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
2.2.11 IsBusy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
2.2.12 IsDpFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
2.3 Editiersitzung beginnen/beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
2.3.1 OpenFile/OpenNCFile/OpenWinNCFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
2.3.2 GetNCFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22
2.3.3 OpenNCFileAndDelCont/OpenWinNCFileAndDelCont . . . . . . . . . . . . . . . . 2-23
2.3.4 SaveFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
2.3.5 Cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
2.3.6 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
2.4 Suchen/Suchen und Ersetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
2.4.1 Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
2.4.2 FindNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
2.4.3 MultipleFind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
2.4.4 MultipleFindNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29
2.4.5 ReplaceOrFind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30
2.4.6 ReplaceOrFindNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30
2.4.7 ReplaceAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31
2.4.8 FindBlockNr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32
2.5 Satzanwahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33
2.5.1 Satz anwählen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33
2.6 Pufferverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35
2.6.1 Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35
2.6.2 Cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35
2.6.3 Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36
2.7 Automatisches Nummerieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37
2.7.1 SetNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37
2.8 Ansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39
2.8.1 Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39
2.8.2 StoreBusyBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 iii
Inhaltsverzeichnis 02.04

2.9 Programmierunterstützung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40


2.9.1 RecompileCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40
2.10 Text implizit editieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43
2.10.1 GetBlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43
2.10.2 AppendBlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43
2.10.3 DeleteBlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44
2.10.4 DeleteEmptyBlocksAtEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44
2.10.5 ChangeBlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45
2.10.6 Teach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46
2.10.7 KeyPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46
2.10.8 KeyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47
3 Tastenbearbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
4 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
4.1 Extended Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
4.2 Stock Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53
4.3 Custom Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
4.3.1 Information und Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
4.3.2 Scrollbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57
4.3.3 Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58
4.3.4 Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60
4.3.5 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.3.6 Methodenzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.3.7 Internationalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
4.4 Properties als Ersatz für Eventparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
4.5 Property Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73
5 Event--Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-75
5.1 Extended Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76
5.1.1 DragDrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76
5.1.2 DragOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76
5.1.3 GotFocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76
5.1.4 LostFocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-77
5.1.5 Validate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-77
5.2 Stockevents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78
5.2.1 Click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78
5.2.2 DblClick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78
5.2.3 KeyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78
5.2.4 KeyPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-79
5.2.5 KeyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-80
5.2.6 MouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-80
5.2.7 MouseMove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-81
5.2.8 MouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-81
5.3 Custom Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-83
5.3.1 AsynMethDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-83
5.3.2 CaretBlockNr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-83
5.3.3 HeaderInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-84
5.3.4 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-84
5.3.5 Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-86

 Siemens AG 2004 All Rights Reserved


iv HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Inhaltsverzeichnis

5.3.6 ScrollValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-88


5.3.7 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-89
6 Relevante INI--Einträge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-91
6.1 Einträge in MMC.INI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-93
6.2 Einträge in AEDITOR.INI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-94
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-97

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 v
Inhaltsverzeichnis 02.04

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


vi HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Einführung 1
ASCII--Editor Control
Mit Hilfe des ASCII--Editor Controls ist es möglich, ASCII--Textdateien sowohl auf
einem PC oder direkt auf einer NCU zu bearbeiten. Es bietet darüber hinaus Hilfs-
funktionen zur Programmierunterstützung an.

ASCII--Editor Control

Container mit Client--Software


(z.B. VB, MFC, PROTOOL)

Bild 1-1 Container--Einbettung des ASCII--Editor Control

Das ASCII--Editor Control zeigt sich zur Laufzeit als Rechteck--Fenster (eventuell
horizontaler und/oder vertikaler Scrollbar), das den ASCII--Text enthält und bei Fo-
kusbesitz die Eingaben von der Tastatur entgegennimmt.
Für weitere Anzeigedaten (z.B. Satznummer, Kopfzeile, Meldungen) stehen die
Werte als Eventparameter zur Verfügung.
Das ASCII--Edit Control bietet seine Funktionalität als COM--Schnittstelle (dual In-
terface) an.
Dem Visual Basic Entwickler steht dabei eine Automation Schnittstelle zur Verfü-
gung (IDispatch) und dem Visual C++ Entwickler zusätzlich die Custom Schnitt-
stelle (Iasc).
Das Control sendet Events über die Schnittstelle _IascEvents, um z.B. Zustand-
sänderungen oder das Beenden asynchroner Methoden dem Container des Con-
trols mitzuteilen.
Folgendes Bild stellt die Schnittstellen für das ASCII--Editor Control dar:

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 1-7
Einführung 02.04

IDispatch Iasc (IErrorInfo)

Sinumerik HMI
ASCII--Editor 1.0
_IascEvents
(ASCEDI.DLL)

Bild 1-2 Schnittstellen des ASCII--Editor Control

Jede Methode der Schnittstelle meldet eine erfolgreiche oder fehlerhafte Bearbei-
tung im Standard--return--Wert HRESULT (S_OK bzw. E_FAIL) und optional in ei-
nem Rückgabeparameter “ErrorVal”, einem genaueren Rückgabewert.
Der HRESULT--Wert wird je nach Container unterschiedlich gehandhabt.
In VisualBasic z.B. ist er nicht direkt sichtbar, sondern verursacht eventuell eine
Fehlerbehandlung, die abgefangen werden kann.
Unabhängig davon, übergibt der optionale Parameter “ErrorVal” genauere Fehlerin-
formation.
Für die verwendeten Konstanten stehen in der TypeLib Bezeichner zur Verfügung.
Mögliche Bezeichner und Konstanten sind:

Tabelle 1-1 Bezeichner und dazugehörige Konstanten im Parameter ”ErrorVal”

Bezeichner Konstante Bedeutung


ascretOK 0 method succeeded
ascretOKREADY 1 method succeeded and ready
ascretREADONLY 1 method recognized readonly area
ascretCANCEL 2 method canceled
ascretNC_NO_KORWIN 3 no cor--window on NC
ascretOK_NC_NOT_OK 4 method succeeded, but error on NC
ascretNOT_OK --1 method failed
ascretSYS_ERROR --2 system error
ascretOPENFILE_ERROR --3 failed by opening the file
ascretNOTMPFILE_ERROR --4 temporary file error
ascretARG_ERROR --5 wrong argument
ascretNOMEM_ERROR --6 not enough nenory
ascretDONT_ACCEPT --7 method not accepted at this time or
with this status
ascretFIRE_ERROR --8 error by firing an event
ascretLINETOOLONG_ERROR --9 block too long
ascretNC_COM_ERROR --10 data transfer error to/from NC

 Siemens AG 2004 All Rights Reserved


1-8 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Einführung

Tabelle 1-1 Bezeichner und dazugehörige Konstanten im Parameter ”ErrorVal”

Bezeichner Konstante Bedeutung


ascretNC_COM_TIMEOUT_ERROR --11 timeout error through data transfer to
/ from NC
ascretNC_WSEEK_ERROR --12 readonly error referring to $SEEKW--
variable
ascretNOSELECTION_ERROR --14 no text marked
ascretNONUM_ERROR --15 block number doesn’t exist

Zum direkten Editieren von NC--Dateien benutzt das ASCII--Edit Control das
COM--Objekt NCEDI (Datei NCEDI.DLL). Dieses COM--Objekt muß in diesem Fall
registriert sein.
Beim Programmieren des ASCII--Edit Controls wird zur Anzeige von bestimmten
Eigenschaften (Properties) durch eigene Property Pages, die Datei
ASCEDIPPG.DLL benötigt.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 1-9
Einführung 02.04

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


1-10 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Methoden 2
Hinweis
Der in den folgenden Tabellen verwendete Datentyp
”BSTR” entspricht im VB 6.0 ”Dim X as STRING” sowie
”VARIANT” entspricht im VB 6.0 ”Dim X ” bzw. ”Dim X as VARIANT”

2.1 Editorsitzung initialisieren/freigeben

2.1.1 Init

Der Editor wird initialisiert. Vor dem Initialisieren sollten keine anderen Methoden
aufgerufen werden.
DllPath gibt das Verzeichnis an, aus dem benötigte DLLs geladen werden sollen.
Für DllPath gleich “.” wird das aktuelle Verzeichnis genommen.
Es wird versucht die Datei “PPROF32.DLL” aus dem angegebenen Verzeichnis zu
laden und Zugriff auf die darin angebotenen Funktionen “AlGetPrivateProfile--
String”, “AlGetPrivateProfileInt”, “ALGetResolution” und “PProfUnicode”zu bekom-
men.
Die Funktionen berücksichtigen die für HMI--Advanced spezifischen Suchreihen-
folge beim Auswerten von INI--Dateien.
Werden keine INI--Dateien bereitgestellt, müssen die Property--Werte als persi-
stente Werte projektiert werden oder zur Laufzeit gesetzt werden.
Kann die Datei “PPROF32.DLL” nicht geladen werden, erfolgt ein zweiter Versuch
in dem Verzeichnis, in dem das Control gestartet wurde. Wird der Zugriff weiterhin
abgelehnt, werden die Systemfunktionen “GetPrivateProfileString” und “GetPriva-
teProfileInt” verwendet.
DllPath gleich “nil” veranlaßt, daß die Datei “PPROF32.DLL” nicht geladen wird
und stattdessen die Systemfunktionen verwendet werden.

Hinweis
Ist die Datei “PPROF32.DLL” bereits geladen, wird sie unabhängig vom Pfad ge-
funden (Ausnahme: DllPath = “nil”).

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-11
Methoden 02.04
2.1 Editorsitzung initialisieren/freigeben

Tabelle 2-1 Init

Init (BSTR DllPath, VARIANT* ErrorVal)


Parameter Typ Bedeutung
DllPath BSTR Verzeichnis, in dem die PPROF32.DLL zu fin-
den ist.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.1.2 Terminate

Die Initialisierung wird aufgehoben. Danach ist nur eine erneute Initialisierung er-
laubt.

Tabelle 2-2 Terminate

Terminate (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-12 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.2 Attribute setzen/lesen

2.2 Attribute setzen/lesen


Die meisten Attribute sind als Property verfügbar (Siehe Kapitel 4).
Attribute, die nur bei Bedarf ermittelt werden oder beim Lesen/Schreiben eine Ak-
tion auslösen, werden über Methoden angesprochen.

2.2.1 IsBlockReadOnly

Die Methode informiert, ob ein bestimmter Satz änderbar ist oder nicht.
BlockNr gibt dabei die Satznummer an.
Bei BlockNr gleich 0 (ascCARETBLOCK) wird der Satz, auf dem die Schreibmarke
steht untersucht.

Tabelle 2-3 IsBlockReadOnly

VARIANT_BOOL IsBlockReadOnly (Long BlockNr, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNr long Satznummer des Satzes, der überprüft werden
soll.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.2 Status schreiben

Hinweis
Der aktuelle Editierstatus kann über das Property ”Status” (siehe Kapitel 4.3.1)
abgefragt werden.
Von den im Kapitel 4.3.1 aufgeführten Statusbits des Controls können Sie fol-
gende Statusbits setzen oder zurücksetzen:
ascstatMODIFIED (=0x10)
ascstatINSERTMODE (=0x20)
ascstatREADONLY (=0x200)
ascstatDISPLAYONLY (=0x400)
ascstatMODIFIEDOVERALL (0=0x2000) ab SW 6.3
ascstatNOCOMTONC (=0x800) wird vom COM--Object NCEDI gesetzt

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-13
Methoden 02.04
2.2 Attribute setzen/lesen

SetStatusBits
Ein Bit oder mehrere Bits des Statuswertes werden gesetzt. Als Bitmuster sind die
oben genannten schreibbaren Bitpositionen erlaubt, evtl. mit bitweisem ODER ver-
knüpft.

Tabelle 2-4 SetStatusBits

SetStatusBits (short StatusBitPattern, VARIANT* ErrorVal


Parameter Typ Bedeutung
StatusBitPattern short Bitmuster des zu setzenden Status
ErrorVal VARIANT* siehe Kapitel “Einführung”

ReSetStatusBits
Ein Bit oder mehrere Bits des Statuswertes werden zurückgesetzt. Als Bitmuster
sind die oben genannten schreibbaren Bitpositionen erlaubt, evtl. mit bitweisem
ODER verknüpft.

Tabelle 2-5 ReSetStatusBits

ReSetStatusBits (short StatusBitPattern, VARIANT* ErrorVal)


Parameter Typ Bedeutung
StatusBitPattern short Bitmuster des zurückzusetzenden Status
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.3 Resize

Mit Hilfe der folgenden Methoden ist es möglich, die Fenstergröße und/oder --posi-
tion zu ändern.

Hinweis
”float” entspricht ”Single” in VB 6.0

Werden für ”Top” und ”Left” Werte kleiner als 0 bzw. für ”Width” und ”Height” Werte
kleiner oder gleich 0 angegeben, so werden die entsprechenden alten Werte bei-
behalten (ascRESIZEUNDEF).
Wird die Fenstergröße kleiner als zwei Zeilen und zwei Spalten eingestellt, wird die
Größe intern trotzdem auf zwei Zeilen und Spalten gesetzt, auch wenn das Fen-
ster kleiner ausgegeben wird. Ein Aufruf von “GetViewInf” gibt somit als Zeilen-
und Spaltenanzahl 2 zurück.

 Siemens AG 2004 All Rights Reserved


2-14 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.2 Attribute setzen/lesen

Tabelle 2-6 Resize

Resize (float Top, float Left, float Width, float Height, VARIANT* ErrorVal)
Parameter Typ Bedeutung
Top float Oberkante des Controlfensters in Pixeln
Left float Linke Kante des Controlfensters in Pixeln
Width float Breite des Controlfensters in Pixeln
Height float Höhe des Controlfensters in Pixeln
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.4 RecalculateView

Die Darstellung der Ansicht wird neu ermittelt, um evtl. Property--Änderungen (z.B.
neuer Font) zu berücksichtigen.

Tabelle 2-7 RecalculateView

RecalculateView (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.5 GetSelectInf

Es ist möglich, Informationen über die aktuelle Schreibmarken(Caret)--Position zu


ermitteln
Die übergebenen Parameter werden mit Schreibmarken--Information gefüllt.

Hinweis
”caret” entspricht Schreibmarke
”cursor” entspricht Mauszeiger

Tabelle 2-8 GetSelectInf

GetSelectInf (long* BlockNr, short* CaretOff, short* LineIdx, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNr long* Satznummer des Satzes, der den Caret enthält
CaretOff short* Caret--Offset im Satz

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-15
Methoden 02.04
2.2 Attribute setzen/lesen

Tabelle 2-8 GetSelectInf, Fortsetzung

Parameter Typ Bedeutung


LineIdx short* Zeilenindex der Zeile, die den Caret enthält
Der Zeilenindex bestimmt dabei eine Zeile inn-
nerhalb des Editierfensters, d.h. der Wertebe-
reich des Zeilenindex umfasst 0 für die erste
Fensterzeile bis Zeilenanzahl im Fenster minus
1 für die letzte Fensterzeile.
Die Zeilenanzahl des Editierfensters für die ak-
tuelle Fenstergröße kann mit der Methode “Get-
ViewInf” (siehe 2.2.7) ermittelt werden.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.6 GetMarkInf

Die übergebenem Parameter werden mit Markierungs--Information gefüllt.

Tabelle 2-9 GetMarkInf

GetMarkInf (long* FromBlockNr, short* FromBlockOffset, long* ToBlockNr, short*


ToBlockOffset, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FromBlockNr long* Satznummer des Markierungsanfangs
FromBlockOff- short* Satz--Offset des Markierungsanfangs
set
ToBlockNr long* Satznummer des Markierungsendes
ToBlockOffset short* Satz--Offset des Markierungsendes
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.7 GetViewInf

Die Anzahl der Zeilen und Spalten der aktuellen Fensteransicht werden zurückge-
geben.

Tabelle 2-10 GetViewInf

GetViewInf (short* NrOfLines, short* NrOfColumns, VARIANT* ErrorVal)


Parameter Typ Bedeutung
NrOfLines short* Zeilenanzahl
NrOfColumns short* Spaltenanzahl
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-16 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.2 Attribute setzen/lesen

2.2.8 GetMaxBlockNr

Die maximale Satznummer wird zurückgegeben.

Tabelle 2-11 GetMaxBlockNr

Long GetMaxBlockNr (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.9 GetSEEKW

Die Satznummer des ersten Satzes mit Schreibrecht wird zurückgegeben.


Zu dem Zeitpunkt, wenn eine NC--Datei von der Steuerung bearbeitet wird, sind
alle Sätze, die der Steuerungsinterpreter bereits bearbeitet hat (Vorlauf), nicht
mehr änderbar. Eine Änderung ist erst nach Beenden der Bearbeitung nach einem
Programmreset möglich.
Die Methode GetSEEKW fragt den schreibgeschützten Bereich ab und übermittelt
die kleinste Satznummer des Satzes, der änderbar ist. Diese Satznummer wird als
SEEKW--Wert bezeichnet.
Die NC--Datei sollte nur im STOP--Zustand geändert werden.
Falls die Datei/NC--Datei im Modus readonly bearbeitet wird, liefert die Methode
einen Wert größer 1 000 000 000 (z.Z. 2 000 000 001 entspricht ascVIRTUALLAR-
GENR) zurück.
Beim Bearbeiten dieser Methode wird die Information von der NC--Steuerung neu
ermittelt. Auf Grund dessen sollte sie auch aufgerufen werden, um nach Änderung
des Bearbeitungsmodus den Editor zum neuen Einlesen der readonly--Grenzen zu
veranlassen.
Wird eine nicht schreibgeschützte Datei (keine NC-Datei) editiert, liefert
GetSEEKW immer den Wert 1.

Tabelle 2-12 GetSEEKW

Long GetSEEKW (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-17
Methoden 02.04
2.2 Attribute setzen/lesen

2.2.10 SetActualNcBlock

Die Nummer des aktuellen NC--Satzes, d.h. des gerade in Bearbeitung befindli-
chen Satzes, wird für die Anzeige neu gesetzt.
BlockNr = 0 bedeutet, daß kein aktueller NC--Satz vorhanden ist.
Wird ein Zeilenindex angegeben (ungleich 0xFFFF und 0xFFFE), so wird der NC
Satz in dieser Editorzeile angezeigt.
Bei ViewLinePos gleich 0xFFFF (ascNOVIEWLINEPOS) wird nicht auf den aktuel-
len NC--Satz positioniert.
Bei ViewLinePos gleich 0xFFFE (ascNOVIEWLINEPOS) wird unterschieden, ob
der angegebene aktuelle NC--Satz bereits angezeigt wird oder nicht. Wird er be-
reits angezeigt, wird auf die gleiche Zeile positioniert, in der sich der Satz bereits
befindet, sonst auf die erste Zeile.
Die Anzeige wird aktuallisiert.
Die Methode wird für die aktuelle Satzanzeige während der Programmabarbeitung
benutzt.

Tabelle 2-13 SetActualNcBlock

SetActualNcBlock (long BlockNr, short ViewLinePos, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNr long Satznummer (Satzoffset) des aktuellen NC--
Satzes
ViewLinePos short Zeilenindex der Ansicht oder Kennung 0xfffe
(Konstante ascAUTOVIEWLINEPOS) bzw.
0xffff ((Konstante ascNOVIEWLINEPOS) (in
Visual Basic: &Hfffe bzw. &Hffff)
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.2.11 IsBusy

Die Funktion liefert VARIANT_TRUE (--1), falls zur Zeit keine Methoden bearbeitet
werden können, z.B. weil Tastatureingaben bearbeitet werden oder Daten geholt
bzw. gesichert werden, sonst VARIANT_FALSE (0).

Tabelle 2-14 IsBusy

VARIANT_BOOL IsBusy (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-18 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.3 Editiersitzung beginnen/beenden

2.2.12 IsDpFormat

Falls eine NC--Datei editiert wird, wird VARIANT_TRUE (--1) zurückgegeben, wenn
die NC--Datei schrittformatiert ist im Sinne der Dialogprogrammierung und VA-
RIANT_FALSE(0), wenn nicht.
Dazu wird überprüft, ob der erste Satz der NC--Datei mit einer Kennung der Form
“;ZXXXXXX” oder “;’&XXXXXX beginnt, mit Z als Ziffer “0” bis “9” und X als Ziffer
oder Buchstabe “a” bis “z” bzw. “A” bis “Z” oder Unterstrich “_”.

Tabelle 2-15 IsDpFormat

VARIANT_BOOL IsDpFormat (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.3 Editiersitzung beginnen/beenden

2.3.1 OpenFile/OpenNCFile/OpenWinNCFile

Datei wird geöffnet (in den Editor geladen)


Die Methode arbeitet asynchron, d.h. die Funktion wird im Hintergrund ausgeführt,
während das aufrufende Programm weiterarbeiten kann. Die Funktion kann mit der
Methode “Datei öffnen oder sichern abbrechen” vorzeitig beendet werden. Die Art
des Beendens wird durch das Event “AsynMethDone” mit Parameterwert Cancel-
ReturnId, EndReturnId oder ErrorReturnId gemeldet.

Hinweis
Falls ErrorVal gleich “don’t accept” (–7) zurückliefert, wird kein Event “AsynMeth-
Done” aufgerufen, da in diesem Fall eventuell bereits eine asynchrone Funktion,
die wiederum ein Event “AsynMethDone” aufruft, in Bearbeitung ist.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-19
Methoden 02.04
2.3 Editiersitzung beginnen/beenden

Tabelle 2-16 OpenFile

OpenFile (BSTR FullFileName, BSTR HeaderInfo, short ReadOnlyFlag, long Start-


BlockNr, short CancelReturnId, short EndReturnId, short ErrorReturnId, VARIANT*
ErrorVal)
Parameter Typ Bedeutung
FullFileName BSTR Absoluter Dateiname (Pfad + Name), z.B.
“C:\DH\MPF.DIR\MAIN.MPF”
HeaderInfo BSTR Zeichenkette, die als Event für die Headerinfor-
mation ausgegeben wird. Normalerweise ist
dies der Dateiname, der nicht immer mit dem
Namen der zu editierenden Datei übereinstim-
men muß (z.B. Kopie als temporäre Datei).
ReadOnlyFlag short Kennung, ob die Datei schreibbar (ascWRITA-
BLE) geöffnet werden soll ( = 0) oder nicht (as-
cREADONLY) (ungleich 0)
StartBlockNr long Nummer (Satzoffset) des Satzes, in dem, nach
dem Öffnen, die Schreibmarke stehen soll.
Falls die StartBlockNr kleiner oder gleich 0 ist,
wird diese auf 1 gesetzt.
Falls die StartBlockNr größer als die maximale
Satznummer ist, wird diese auf die maximale
Satznummer gesetzt und die Schreibmarke ans
Satzende gesetzt, sonst wird die Schreibmarke
auf den Satzanfang gesetzt.
CancelReturnId short Identifikationsnummer, die über das Event
AsynMethDone zurückgemeldet werden soll,
wenn das Öffnen abgebrochen wurde
EndReturnId short Identifikationsnummer, die über das Event
AsynMethDone zurückgemeldet werden soll,
wenn das Öffnen erfolgreich beendet wurde.
ErrorReturnId short Identifikationsnummer, die über das Event
AsynMethDone zurückgemeldet werden soll,
wenn das Öffnen nicht erfolgreich beendet
wurde
ErrorVal VARIANT* siehe Kapitel “Einführung”

NC--Datei wird geöffnet (teilweise in den Editor geladen)


Diese Methode arbeitet synchron.

Tabelle 2-17 OpenNCFile

OpenNCFile (BSTR FullNCFileName, BSTR HeaderInfo, short ReadOnlyFlag, long


StartBlockNr, BSTR ServiceName, BSTR MachineName, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FullNCFile- BSTR Absoluter NC--Dateiname (Pfad + Name), z.B.
Name “/_N_MPF_DIR/_N_MAIN_MPF”

 Siemens AG 2004 All Rights Reserved


2-20 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.3 Editiersitzung beginnen/beenden

Tabelle 2-17 OpenNCFile, Fortsetzung

Parameter Typ Bedeutung


HeaderInfo BSTR Zeichenkette, die als Event für die Headerinfor-
mation ausgegeben wird. Normalerweise ist
dies der NC--Dateiname, der nicht immer mit
dem Namen der zu editierenden NC--Datei
übereinstimmen muß (z.B. Kopie als temporäre
Datei).
ReadOnlyFlag short Kennung, ob die NC--Datei schreibbar (asc-
WRITABLE) geöffnet werden soll ( = 0) oder
nicht (READONLY) (ungleich 0)
StartBlockNr long Nummer (Satzoffset) des Satzes, in dem, nach
dem Öffnen, die Schreibmarke stehen soll
Wenn eine Datei von der NCU geöffnet wird
und die StartBlockNr ist gleich 0, dann wird die
StarBlockNr auf den ersten änderbaren Satz
gesetzt.
ServiceName BSTR Name des Servers (z.Z. DDE--Server NCDDE),
der die Verbindung zur NC herstellt, z.B.
“ncdde”. Ist der Name leer (Leerstring), wird das
Property “NCServiceName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCServiceName” zugewiesen.
MachineName BSTR Name der Maschine (Steuerung), auf der die
NC--Datei geöffnet werden soll, z.B. “ncu840d”.
Ist der Name leer (Leerstring), wird das Pro-
perty “NCMachineName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCMachineName” zugewiesen.
ErrorVal VARIANT* siehe Kapitel “Einführung”

Die Methode arbeitet synchron.


Folgende Funktion öffnet eine NC--Datei wie die obige Methode “OpenNCFile”, nur
dass der NC--Dateiname in Datenhaltungs--/Windows--Schreibweise angegeben
wird.

Tabelle 2-18 OpenWinNCFile

OpenWinNCFile (BSTR FullNCWinFileName, BSTR HeaderInfo, short ReadOnlyFlag,


long StartBlockNr, BSTR ServiceName, BSTR MachineName, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FullNCWinFile- BSTR Absoluter NC--Dateiname (Pfad + Name) in Da-
Name tenhaltungs--/Windows--Notation, z.B.
“\MPF.DIR\MAIN.MPF”
HeaderInfo BSTR Zeichenkette, die als Event für die Headerinfor-
mation ausgegeben wird. Normalerweise ist
dies der NC--Dateiname, der nicht immer mit
dem Namen der zu editierenden NC--Datei
übereinstimmen muß (z.B. Kopie als temporäre
Datei).

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-21
Methoden 02.04
2.3 Editiersitzung beginnen/beenden

Tabelle 2-18 OpenWinNCFile, Fortsetzung

Parameter Typ Bedeutung


ReadOnlyFlag short Kennung, ob die NC--Datei schreibbar (asc-
WRITABLE) geöffnet werden soll ( = 0) oder
nicht (ascREADONLY) (ungleich 0)
StartBlockNr long Nummer (Satzoffset) des Satzes, in dem, nach
dem Öffnen, die Schreibmarke stehen soll
ServiceName BSTR Name des Servers (z.Z. DDE--Server NCDDE),
der die Verbindung zur NC herstellt, z.B.
“ncdde”. Ist der Name leer (Leerstring), wird das
Property “NCServiceName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCServiceName” zugewiesen.
MachineName BSTR Name der Maschine (Steuerung), auf der die
NC--Datei geöffnet werden soll, z.B. “ncu840d”.
Ist der Name leer (Leerstring), wird das Pro-
perty “NCMachineName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCMachineName” zugewiesen.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.3.2 GetNCFile

Eine mit “OpenNCFile” oder “OpenWinNCFile” geöffnete NC-Datei wird vollständig


in den Editor geladen.
Nach dem Öffnen ist lediglich der zur Anzeige notwendige Teil der NC-Datei im
Editor geladen. Während des Editierens werden die jeweils benötigten Textteile/
Sätze nachgeladen. Dabei wird immer ein zusammenhängender Satzbereich ge-
halten, d.h. beim Blättern z.B. wächst der Satzbereich ständig. Bei einem Sprung
weg vom aktuellen Bereich wird hingegen der aktuelle Bereich verworfen und am
Sprungziel neu aufgebaut. Durch dieses Vorgehen wird der Datentransferaufwand
optimiert.
Für Editiersitzungen, bei denen abzusehen ist, daß oft verschiedene Dateibereiche
editiert werden oder die gesamte Datei gelesen oder geändert wird, ist es optima-
ler die gesamte Datei in den Editor zu laden. Danach sind alle Sätze ohne Daten-
transfer verfügbar und lediglich die jeweiligen Änderungen werden mit der NC ab-
geglichen. Der einmalige Transferaufwand ist in diesem Fall besser als der
Transferaufwand für viele kleine Satzbereiche.

Tabelle 2-19 GetNCFile

GetNCFile (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-22 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.3 Editiersitzung beginnen/beenden

2.3.3 OpenNCFileAndDelCont/OpenWinNCFileAndDelCont

Eine NC--Datei wird geöffnet und deren Inhalt wird gelöscht.


Die Parameter entsprechen denen der Methode “OpenNCFile”, wobei ReadOnly-
Flag = 0 und StartBlockNr = 1 implizit gesetzt werden.

Tabelle 2-20 OpenNCFileAndDelCont

OpenNCFileAndDelCont (BSTR FullNCFileName, BSTR HeaderInfo, BSTR Service-


Name, BSTR MachineName, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FullNCFile- BSTR Absoluter NC--Dateiname (Pfad + Name), z.B.
Name “/_N_MPF_DIR/_N_MAIN_MPF”
HeaderInfo BSTR Zeichenkette, die als Event für die Headerinfor-
mation ausgegeben wird. Normalerweise ist
dies der NC--Dateiname, der nicht immer mit
dem Namen der zu editierenden NC--Datei
übereinstimmen muß (z.B. Kopie als temporäre
Datei).
ServiceName BSTR Name des Servers (z.Z. DDE--Server NCDDE),
der die Verbindung zur NC herstellt, z.B.
“ncdde”. Ist der Name leer (Leerstring), wird das
Property “NCServiceName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCServiceName” zugewiesen.
MachineName BSTR Name der Maschine (Steuerung), auf der die
NC--Datei geöffnet werden soll, z.B. “ncu840d”.
Ist der Name leer (Leerstring), wird das Pro-
perty “NCMachineName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCMachineName” zugewiesen.
ErrorVal VARIANT* siehe Kapitel “Einführung”

Folgende Funktion öffnet eine NC--Datei und löscht den Inhalt wie mit der obigen
Methode “OpenNCFileAndDelCont”, nur dass der NC--Dateiname in Datenhal-
tungs--/Windows--Schreibweise angegeben wird.

Tabelle 2-21 OpenWinNCFileAndDelCont

OpenWinNCFileAndDelCont (BSTR FullNCWinFileName, BSTR HeaderInfo, BSTR


ServiceName, BSTR MachineName, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FullNCWinFile- BSTR Absoluter NC--Dateiname (Pfad + Name) in Da-
Name tenhaltungs--/Windows--Notation, z.B.
“\MPF.DIR\MAIN.MPF”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-23
Methoden 02.04
2.3 Editiersitzung beginnen/beenden

Tabelle 2-21 OpenWinNCFileAndDelCont, Fortsetzung

Parameter Typ Bedeutung


HeaderInfo BSTR Zeichenkette, die als Event für die Headerinfor-
mation ausgegeben wird. Normalerweise ist
dies der NC--Dateiname, der nicht immer mit
dem Namen der zu editierenden NC--Datei
übereinstimmen muß (z.B. Kopie als temporäre
Datei).
ServiceName BSTR Name des Servers (z.Z. DDE--Server NCDDE),
der die Verbindung zur NC herstellt, z.B.
“ncdde”. Ist der Name leer (Leerstring), wird das
Property “NCServiceName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCServiceName” zugewiesen.
MachineName BSTR Name der Maschine (Steuerung), auf der die
NC--Datei geöffnet werden soll, z.B. “ncu840d”.
Ist der Name leer (Leerstring), wird das Pro-
perty “NCMachineName” verwendet. Ist der
Name nicht leer, wird der Wert dem Property
“NCMachineName” zugewiesen.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.3.4 SaveFile

Die Methode arbeitet asynchron, d.h. die Funktion wird im Hintergrund ausgeführt,
während das aufrufende Programm weiterarbeiten kann. Die Funktion kann mit der
Methode “Datei öffnen oder sichern abbrechen” vorzeitig beendet werden. Die Art
des Beendens wird durch das Event “AsynMethDone” mit Parameterwert Cancel-
ReturnId, EndReturnId oder ErrorReturnId gemeldet.
Falls ErrorVal gleich “don’t accept” (–7) zurückliefert, wird kein Event “AsynMeth-
Done” aufgerufen, da in diesem Fall eventuell bereits eine asynchrone Funktion,
die wiederum ein Event “AsynMethDone” aufruft, in Bearbeitung ist.
Ein Speichern von NC--Dateien ist nicht nötig, da hier jede Änderung spätestens
nach Verlassen des Satzes (siehe Property BlockUpdateMode) abgespeichert
wird.

 Siemens AG 2004 All Rights Reserved


2-24 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.3 Editiersitzung beginnen/beenden

Tabelle 2-22 SaveFile

SaveFile (BSTR FullFileName, short CancelReturnId, short EndReturnId, short Error-


ReturnId, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FullFileName BSTR Absoluter Dateiname (Pfad + Name), z.B.
“C:\TMP\\MAIN.TMP”. Bei FullFileName gleich
leere Zeichenfolge, wird der beim Öffnen ange-
gebene Dateiname genommen. Existiert das im
absoluten Dateinamen angegebene Verzeich-
nis nicht, wird die Methode über “AsynMeth-
Done” mit ErrorReturnId beendet.
Zusätzlich meldet die Methode “SaveFile” Feh-
ler mit ErrorVal gleich --2.
CancelReturnId short Identifikationsnummer, die über Event zurück-
gemeldet werden soll, wenn das Speichern ab-
gebrochen wurde
EndReturnId short Identifikationsnummer, die über Event zurück-
gemeldet werden soll, wenn das Speichern er-
folgreich beendet wurde
ErrorReturnId short Identifikationsnummer, die über Event zurück-
gemeldet werden soll, wenn das Speichern
nicht erfolgreich beendet wurde
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-25
Methoden 02.04
2.3 Editiersitzung beginnen/beenden

2.3.5 Cancel

Das asynchrone kooperative Öffnen oder Sichern einer Datei wird abgebrochen.

Tabelle 2-23 Cancel

Cancel (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.3.6 Close

Öffnen rückgängig machen. Vor dem Schließen ein evtl. Sichern bei Datei nicht
vergessen!

Tabelle 2-24 Close

Close (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-26 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.4 Suchen/Suchen und Ersetzen

2.4 Suchen/Suchen und Ersetzen


Der übliche Ablauf der Textsuche mit oder ohne Ersetzen hinsichtlich der Me-
thodenaufrufe an das Control ist wie folgt:

aufwärts abwärts suchen zum aufwärts suchen zum


abwärts suchen Ersetzen, d.h. Treffer Ersetzen, d.h. Treffer
suchen
(Suchbereich: markieren markieren
(Suchbereich:
Schreibmarke (Suchbereich: (Suchbereich:
Schreibmarke
-- Textende) Schreibmarke -- Schreibmarke --
-- Textanfang)
Textende) Textanfang)

abwärts aufwärts Text ersetzen Text ersetzen


weitersuchen weitersuchen oder abwärts oder aufwärts
(Suchbereich: (Suchbereich: weitersuchen weitersuchen
Schreibmarke Schreibmarke zum Ersetzen zum Ersetzen
-- Textende) -- Textanfang) (Suchbereich: (Suchbereich:
Schreibmarke -- Schreibmarke
Textende) -- Textanfang)

im gesamten
Text suchen und
Evtl. Dialog : nicht gefunden, oben / unten weitersuchen?
Ersetzen

Satznummer
abwärts suchen abwärts aufwärts suchen
aufwärts suchen
(Suchbereich: suchen zum suchen zum
(Suchbereich:
Textanfang -- Ersetzen Ersetzen
Textende --
ursprüngliche (Suchbereich: (Suchbereich:
ursprüngliche
Schreibmarke) Textanfang -- Textende --
Schreibmarke)
ursprüngliche ursprüngliche
Schreibmarke) Schreibmarke)

abwärts aufwärts abwärts aufwärts


weitersuchen weitersuchen weitersuchen weitersuchen
(Suchbereich: (Suchbereich: zum Ersetzen zum Ersetzen
Schreibmarke -- Schreibmarke -- (Suchbereich: (Suchbereich:
ursprüngliche ursprüngliche Schreibmarke -- Schreibmarke --
Schreibmarke) Schreibmarke) ursprüngliche ursprüngliche
Schreibmarke) Schreibmarke)

Bild 2-1 Suchen/Suchen und ersetzen

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-27
Methoden 02.04
2.4 Suchen/Suchen und Ersetzen

2.4.1 Find

Tabelle 2-25 Find

Find (short DirectionFlag, short AreaFlag, short MarkFlag, BSTR SearchPattern,


short* FoundFlag, VARIANT* ErrorVal
Parameter Typ Bedeutung
DirectionFlag short gleich 0: aufwärts suchen (ascUPWARD)
ungleich 0: abwärts suchen (ascDOWWARD)
AreaFlag short gleich 0: Suchbereich ist vom ersten
(ascFIRSTTOACT) bis zum ak-
tuellen Satz
ungleich 0: Suchbereich ist vom aktuellen
Satz bis zum letzten
(ascACTTOLAST)
MarkFlag short gleich 0: Treffer nicht markieren
(ascNOMARK)
ungleich 0: Treffer markieren (ascMARK)
SearchPattern BSTR Suchzeichenfolge
(ohne CR-- oder NL--Zeichen)
FoundFlag short* gleich 0: nicht gefunden (ascNOTFOUND)
ungleich 0: gefunden (ascFOUND)
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.4.2 FindNext

Tabelle 2-26 FindNext

FindNext (short* FoundFlag, VARIANT* ErrorVal)


Parameter Typ Bedeutung
FoundFlag short* gleich 0: nicht gefunden (ascNOTFOUND)
ungleich 0: gefunden (ascFOUND)
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.4.3 MultipleFind

Mit “MultipleFind” kann nach mehreren Zeichenfolgen gesucht werden. Abhängig


von der Suchrichtung wird die Zeichenfolge als Treffer genommen, die der Schreib-
marke am nähesten ist. Befindet sich die Schreibmarke bereits in einer gesuchten
Zeichenfolge, wird bei “MultipleFind” diese als Treffer genommen, bei “Multiple-
FindNext” (siehe 2.4.4) jedoch nicht.

 Siemens AG 2004 All Rights Reserved


2-28 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.4 Suchen/Suchen und Ersetzen

Tabelle 2-27 MultipleFind

MultipleFind (short DirectionFlag, short AreaFlag, BSTR SearchPatterns, short*


FoundPosFlag, VARIANT* ErrorVal)
Parameter Typ Bedeutung
DirectionFlag short gleich 0: aufwärts suchen (ascUPWARD)
ungleich 0: abwärts suchen (ascDOWNWARD)
AreaFlag short gleich 0: Suchbereich ist vom ersten
(ascFIRSTTOACT) bis zum aktuel-
len Satz
ungleich 0: Suchbereich ist vom aktuellen Satz
bis zum letzten (ACTTOLAST)
SearchPatterns BSTR eine oder mehrere Suchzeichenfolge, getrennt
durch binäre 0, z.B. in VB:
SearchPatterns
=”MSG”&Chr(0)&”WAITM”&Chr(0)&”WAITE”
FoundPosFlag short* gleich 0: nicht gefunden (ascNOTFOUND)
ungleich 0: gefunden (ascFOUND), Wert gibt die
Position der gefundenen Zeichen-
folge an
Beispiel oben: 1 für “MSG”, 2 für
“WAITM”, 3 für “WAITE”
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.4.4 MultipleFindNext

Tabelle 2-28 MultipleFindNext

MultipleFindNext (short* FoundPosFlag, VARIANT* ErrorVal)


Parameter Typ Bedeutung
FoundPosFlag short* gleich 0: nicht gefunden (ascNOTFOUND)
ungleich 0: gefunden (ascFOUND), Wert gibt die
Position der gefundenen Zeichen-
folge a
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-29
Methoden 02.04
2.4 Suchen/Suchen und Ersetzen

2.4.5 ReplaceOrFind

Die Suchrichtung und der Suchbereich werden von der Methode “Find” übernom-
men.

Tabelle 2-29 ReplaceOrFind

ReplaceOrFind (BSTR NewPattern, short* DoneState, VARIANT* ErrorVal)


Parameter Typ Bedeutung
NewPattern BSTR Ersetzungstext
Der Ersetzungstext darf kein CR-- (0x0D) oder
NL--Zeichen (0x0A) enthalten.
DoneState short* gleich 0: Suchmuster war nicht markiert und
wurde nicht erneut gefunden
(ascNOTMARKEDNOTFOUND))
gleich 1: Suchmuster war nicht markiert,
wurde jedoch erneut gefunden und
markiert (ascFOUNDMARKED)
gleich 2: Suchmuster war markiert und wurde
ersetzt (ascREPLACED)
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.4.6 ReplaceOrFindNext

Tabelle 2-30 ReplaceOrFindNext

ReplaceOrFindNext (short* DoneState, VARIANT* ErrorVal)


Parameter Typ Bedeutung
DoneState short* gleich 0: Suchmuster war nicht markiert und
wurde nicht erneut gefunden
(ascNOTMARKEDNOTFOUND)
gleich 1: Suchmuster war nicht markiert,
wurde jedoch erneut gefunden und
markiert (ascFOUNDMARKED)
gleich 2: Suchmuster war markiert und wurde
ersetzt (ascREPLACED)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-30 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.4 Suchen/Suchen und Ersetzen

2.4.7 ReplaceAll

Im gesamten Textbereich wird ein bestimmtes Textmuster gesucht und durch die
Ersetzungszeichenfolge ersetzt.
Eine evtl. zuvor bestehende Markierung wird vor dem Suchen aufgehoben. Ein
geänderter aber noch nicht übernommener Satz wird zuvor übernommen.
Die Position der Schreibmarke bleibt unverändert, außer die Marke befindet sich
im gesuchten Muster, dann wird sie ans Musterende positioniert.
Wird das Suchmuster in einem Satz mit aktiver readonly--Kennung gefunden, wird
das Textmuster nicht ersetzt und der nächste Satz mit dem angegebenen Textmu-
ster gesucht.
Falls ErrorVal ascretLINETOOLONG_ERROR (--9) anzeigt, kann die Satznummer
des zu langen Satzes über das Property “LastError” ermittelt werden.

Tabelle 2-31 ReplaceAll

ReplaceAll (BSTR SearchPattern, BSTR NewPattern, VARIANT* ErrorVal)


Parameter Typ Bedeutung
SearchPattern Suchmuster (ohne CR-- oder NL--Zeichen)
Das Suchuster und die Ersetzungszeichenfolge
dürfen kein CR-- (0x0D) oder NL--Zeichen
(0x0A) enthalten.
NewPattern Ersetzungstext (ohne CR-- oder NL--Zeichen)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-31
Methoden 02.04
2.4 Suchen/Suchen und Ersetzen

2.4.8 FindBlockNr

Die Satznummer mit vorangestelltem “:” oder “N” wird gesucht.


Bei erfolgreicher Suche wird der gefundene Satz implizit mit “Satz anwählen” zum
aktuellen Editiersatz.
Ein eventuell in der Ansicht geänderter aber noch nicht übernommener Satz wird
vorher übernommen. Eine eventuell vorher vorhandene Markierung wird entspre-
chend der neuen Schreibmarkenposition modifiziert.
Das Suchen erfolgt nach folgender Strategie:
Es wird, angefangen beim aktuellen Editiersatz, zuerst ein bestimmter Satzbereich
Richtung maximale Satznummer durchsucht.
Die Größe des Satzbereiches hängt von der maximalen Satzlänge ab und beträgt
z.Z. 56 Sätze.
Dabei wird die zuerst erkannte Satznummer gemerkt. Wird der Satz dabei nicht
gefunden und auch keine Satznummer erkannt, wird danach ein bestimmter Satz-
bereich Richtung erster Satz durchsucht, wobei eine evtl. zuerst erkannte Satz-
nummer ebenfalls gemerkt wird. Wird der gesuchte Satz wieder nicht gefunden
und auch keine Satznummer erkannt, wird der nächste Satzbereich in der entge-
gengesetzten Richtung durchsucht und so weiter.
Sobald eine Satznummer erkannt wird, wird nur noch, je nachdem ob die gefun-
dene Nummer größer oder kleiner als die gesuchte Satznummer ist, Richtung er-
ster Satz oder maximaler Satz weitergesucht. Erst wenn in diese Richtung alles
durchsucht wurde, wird in der entgegengesetzten Richtung weitergesucht.
Bei dieser Strategie wird vorausgesetzt, daß eine Numerierung, falls vorhanden,
aufsteigend ist und keine Nummer mehrfach vorkommt (was mit der Funktion “Neu
Numerieren” erreicht werden kann). Ansonsten kann auch die Funktion “Text su-
chen” verwendet werden.

Tabelle 2-32 FindBlockNr

FindBlockNr (long BlockNr, short* FoundFlag, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNr long Satznummer
FoundFlag short* gleich 0: nicht gefunden (ascNOTFOUND)
ungleich 0: gefunden (ascFOUND)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-32 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.5 Satzanwahl

2.5 Satzanwahl
Satzanwahl ist das Positionieren der Schreibmarke auf einen bestimmten Satz.

2.5.1 Satz anwählen

SelectBlockNr

Tabelle 2-33 SelectBlockNr

SelectBlockNr (long BlockNr, short LineIdx, short CaretOffset, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNr long Satznummer
LineIdx short Zeilenindex der Ansicht (0 bis Zeilenanzahl – 1)
oder –1 (entspricht ascDISREGARD) für “nicht
beachten”
CaretOffset short Offset der Schreibmarke im Satz (0 bis Satz-
länge) oder –1 (=ascDISREGARD)
ErrorVal VARIANT* siehe Kapitel “Einführung”

SelectPercent
Z.B. Schreibmarke über vertikalen Scrollbar setzen.

Tabelle 2-34 SelectPercent

SelectPercent (short PercentVal, short LineIdx, short CaretOffset, VARIANT* Error-


Val)
Parameter Typ Bedeutung
PercentVal short Prozentwert zur Bestimmung des anzuwählen-
den Satzes (0 gleich Satznummer 1, 100 gleich
maximale Satznummer)
LineIdx short Zeilenindex der Ansicht (0 bis Zeilenanzahl – 1)
oder –1 (=ascDISREGARD)
CaretOffset short Offset der Schreibmarke im Satz (0 bis Satz-
länge) oder –1 (=ascDISREGARD)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-33
Methoden 02.04
2.5 Satzanwahl

SelectMaxNr
LineIdx bestimmt die Zeile im Editorfenster, in der die Schreibmarke nach der An-
wahl stehen soll. Ist nicht genügend Text vorhanden, um die Schreibmarke in die
angegebene Zeile zu positionieren, wird der Text nach oben verschoben.
Z.B. SelectBlockNr (1, 2, 0) müßte die erste und zweite Zeile frei lassen, um den
ersten Satz in die dritte Zeile zu positionieren, hier wird SelectBlockNr (1,0,0) an-
geführt.

Tabelle 2-35 SelectMaxNr

SelectMaxNr (short LineIdx, short CaretOffset, VARIANT* ErrorVal)


Parameter Typ Bedeutung
LineIdx short Zeilenindex der Ansicht (0 bis Zeilenanzahl – 1)
oder –1 (=ascDISREGARD)
CaretOffset short Offset der Schreibmarke im Satz (0 bis Satz-
länge) oder –1 (=ascDISREGARD)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-34 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.6 Pufferverwaltung

2.6 Pufferverwaltung
Der Pufferinhalt ist in allen Controlinstanzen innerhalb und außerhalb eines Pro-
zesses zugänglich.

2.6.1 Copy

Markierten Bereich in den Puffer kopieren.


Die Markierung wird aufgehoben

Tabelle 2-36 Copy

Copy (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.6.2 Cut

Markierten Bereich in den Puffer kopieren und dann Bereich löschen.


Die Markierung wird aufgehoben.

Tabelle 2-37 Cut

Cut (long* ErrorBlockNr, VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorBlockNr long* Für ”ErrorVal”=ascretLINETOOLONG_ERROR:
Satznummer des Satzes, der die maximale
Satzlänge von z.Z. 512 Byte nach dem Lö-
schen überschreiten würde (als Folge der Ver-
schmelzung zweier Sätze).
In diesem Fall wird nichts gelöscht.
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-35
Methoden 02.04
2.6 Pufferverwaltung

2.6.3 Paste

Pufferinhalt bei Schreibmarke einfügen.


Eine evtl Markierung wird vorher aufgehoben.

Tabelle 2-38 Paste

Paste (long* ErrorBlockNr, VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorBlockNr long* Für ”ErrorVal”=asretLINETOOLONG_ERROR:
Satznummer des Satzes, der die maximale
Satzlänge von z.Z. 512 Byte nach dem Einfü-
gen überschreiten würde.
In diesem Fall wurde nichts eingefügt.
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-36 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.7 Automatisches Nummerieren

2.7 Automatisches Nummerieren

2.7.1 SetNumber

Der angegebene Satzbereich eines Teileprogramms wird mit Satznummern verse-


hen.

Hinweis
Ein Teileprogramm kann laut DIN--Code nummeriert werden, bzw. neu nummeriert
werden.

Bereits vorhandene Satznummern werden vorher gelöscht.


Berücksichtigt werden: führende Leerzeichen oder Tabulatoren, evtl. Ausblende-
bene (Ziffern) und vorhandene Satznummern beginnend mit “:” oder “N”.
Satznummern mit “:” werden auch durch “:Nummer” ersetzt.
Kommentarsätze und leere Sätze erhalten keine Nummer.
Sätze mit aktiver readonly--Kennung behalten ihre bisherige Nummer, falls vorhan-
den.
Sätze, die nur Leerzeichen oder Tabulatoren enthalten, werden ebenfalls als leere
Sätze betrachtet.
Würde ein Satz durch die Numerierung die max. Satzlänge überschreiten, wird
eine evtl. vorhandene Numerierung gelöscht und keine neue Numerierung einge-
fügt. Der Satz wird jedoch beim Hochzählen der Satznummer berücksichtigt. Au-
ßerdem wird der Originalsatz zusammen mit der Satznummer im ErrorLog einge-
tragen.
Der erste zu ändernde Satz bekommt die Satznummer “:<StartNumber >” oder
“N< StartNumber >”, der nächste Satz die Nummer “:<StartNumber + Step >” oder
“N< StartNumber + Step >”.
Für ”Step”= ascDELETEALL (0 ), werden alle Satznummern im angegebenen
Satzbereich gelöscht.

Tabelle 2-39 SetNumber

SetNumber (long FromBlockNr, long ToBlockNr, long StartNumber, long Step, BSTR*
ErrorLog, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FromBlockNr long Satznummer des Nummerierungsanfangs
Falls ”FromBlockNr”=ascMARKEDAREA (0) ist,
wird die Nummerierung im aktuell markierten
Bereich vorgenommen.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-37
Methoden 02.04
2.7 Automatisches Nummerieren

Tabelle 2-39 SetNumber, Fortsetzung

Parameter Typ Bedeutung


ToBlockNr long Satznummer des Nummerierngsendes
Falls ”ToBlockNr”= ascLASTBLOCK (0), wird
die Nummerierung bis zum letzten Satz der Da-
tei durchgeführt.
StartNumber long Nummer des ersten zu nummerierenden Sat-
zes
Falls ”StartNumber”=ascCURRENTNUMBER
(0), wird ”StartNumber” durch die Nummer des
Satzes am Nummerierungsanfang bestimmt.
Liefert einen Fehler, falls dieser Satz keine
Nummer hat.
Step long Schrittweite zwischen den einzelnen Nummern.
Falls ”Step”= ascDELETEEALL (0), wird die
vorhandene Nummerierng entfernt.
ErrorLog BSTR Falls ”ErrorLog” ungleich “nil”, enthält diese Va-
riable die Sätze, die durch die Numerierung zu
lang würden.
Format: ”Satznummer#Originalsatz\r\n”
ErrorVal Variant ascretLINETOOLONG_ERROR (--9):
ok, Numerierung wurde ausgeführt, bei einen
oder mehreren Sätzen war eine Numerierung
jedoch nicht möglich, da sonst die max. Satz-
länge überschritten worden wäre. Die betroffe-
nen Sätze sind im ”Errorlog” aufgelistet.
ascretNOSELECTION_ERROR(--14):
”FromBlockNr”=0 und nichts markiert
ascretNONUM_ERROR(--15):
”StartNumber”=0 und keine Nummer im ”From-
BlockNr”--Satz
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-38 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.8 Ansicht

2.8 Ansicht

2.8.1 Paint

Der Inhalt des Textfensters wird neu ausgegeben.


Im Gegensatz zur Methode ”RecalCulateView” werden bei der Methode ”Paint” die
Darstellungsparameter nicht neu ermittelt. Die Methode gibt den Fensterinhalt --
wie bei einer WM_PAINT--Botschaft von Windows -- erneut aus.

Tabelle 2-40 Paint

Paint (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.8.2 StoreBusyBlock

Der aktuell bearbeitete Satz wird übernommen.


Diese Funktion wird implizit ausgeführt, wenn die Schreibmarke den Satz verläßt
oder eine Editorfunktion aufgerufen wird.
Mithilfe dieser Methode kann bei Tastatureingabe explizit eine Satzübernahme aus
der Ansicht erfolgen.
Im Modus ”Satz erst übernehmen, wenn die Schreibmarke ihn verläßt” (Property
”BlockUpdateMode”=”UpdateByLeaving” (0)) kann dennoch der Satz explizit über-
nommen werden.

Tabelle 2-41 StoreBusyBlock

StoreBusyBlock (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-39
Methoden 02.04
2.9 Programmierunterstützung

2.9 Programmierunterstützung

2.9.1 RecompileCheck

”RecompileCheck” ist eine spezielle Auskunftsmethode für Programme, die auto-


matisch Programmteile erzeugen oder vorhandene Teile aufbereitet darstellen
möchten (z.B. Geometrieprozessor).
Zur Textmanipulation können die Methoden des impliziten Editierens (siehe Kapitel
2.10) verwendet werden.

Tabelle 2-42 RecompileCheck

RecompileCheck (long* FoundPattern, long* CaretBlockNr, short* CaretOffset, short*


SubNameOffset, short* SubNameLen, short* CallFlag, short* BracketFlag, long*
StepBeginBlockNr, long* StepEndBlockNr, long* FirstWritableBlockNr, short* Caret-
BlockReadOnlyFlag, short* StepReadOnlyFlag, BSTR* CaretBlockWithSub, BSTR*
StepBeginBlock, BSTR LocalCheckTable, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FoundPattern long* Bitmuster, wobei jede Bitposition einem Index in
der lokalen/globalen Checktabelle entspricht.
CaretBlockNr long* Satznummer des Satzes in dem sich die
Schreibmarke befindet
CaretOffset short* Caret--Offset innerhalb des Satzes
SubNameOff- short* Offset des Unterprogrammnamens innerhalb
set des Satzes mit Satznummer = CaretBlockNr,
falls Unterprogrammaufruf gefunden wurde
SubNameLen short* Länge des Unterprogrammnamens, falls ein
Unterprogrammaufruf vorliegt
CallFlag short* CallFlag ist ungleich 0, falls ein Unterprogram-
maufruf mit “CALL” gefunden wurde, sonst 0
BracketFlag short* BracketFlag ist ungleich 0, falls ein Unterpro-
grammaufruf mit “(” gefunden wurde, sonst 0
StepBegin- long* Satznummer des ersten Satzes im Schritt, falls
BlockNr ein Schritt gefunden wurde
StepEnd- long* Satznummer des letzten Satzes Schritt, falls ein
BlockNr Schritt gefunden wurde
FirstWritable- long* Satznummer des ersten Satzes, verändert wer-
BlockNr den darf
CaretBlock- short* ungleich 0, falls der Caret--Satz readonly ist,
ReadOnlyFlag sonst 0
StepReadOnly- short* ungleich 0, falls mindestens ein Schritt--Satz
Flag readonly ist, sonst 0

 Siemens AG 2004 All Rights Reserved


2-40 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.9 Programmierunterstützung

Tabelle 2-42 RecompileCheck, Fortsetzung

Parameter Typ Bedeutung


CaretBlock- BSTR* beinhaltet nach dem Funktionsaufruf den Satz
WithSub mit Satznummer
CaretBlockNr, falls ein Unterprogrammaufruf
gefunden wurde
StepBegin- BSTR* beinhaltet nach dem Funktionsaufruf den Satz
Block mit Satznummer
StebBeginBlockNr, falls ein Schritt gefunden
wurde
LocalCheckTa- BSTR* Textinformation zum Festlegen der lokalen
ble CheckTabelle oder
Leerstring (globale CheckTabelle ist gültig)
ErrorVal VARIANT* siehe Kapitel “Einführung”

Im aktuellen Satz wird nach einem Unterprogrammaufruf gesucht und/oder nach


einem Schritt, der den aktuellen Satz enthält.
Dabei bestimmt eine globale CheckTabelle was alles geprüft werden soll. Die glo-
bale Check Tabelle wird durch das Property GlobalCheckTable festgelegt.
Die globale CheckTabelle enthält als default--Eintrag: “<sub>#<dp>#<ct>”, wobei
“#” als Trennzeichen dient und die von “<” und “>” umhüllten Schlüsselworte fol-
gende Bedeutung haben:
S <sub> nach einem Unterprogrammaufruf suchen
S <dp> prüfen, ob ein DP--Schritt vorliegt (DP = Dialogprogrammierung)
S <ct> prüfen, ob ein Kontur--Schritt des Geometrieprozessors vorliegt
Mit de Property ”GlobalCheckTable” kann diese Vorbelegung überschrieben wer-
den.
Dabei sind neben den oben genannten Schlüsselworten auch Zeichenfolgen er-
laubt.
Beispiel:
“<sub>#<ct>#:MSG(#CON#FORM” bedeutet:
prüfe auf Unterprogrammaufruf, Kontur--Schritt, Schritt mit Anfangskennung
“:MSG(”, Schritt mit Anfangskennung “CON” und Schritt mit Anfangskennung
“FORM”.
Durch eine entsprechende Zeichenfolge im LocalCheckTable --Parameter kann die
globale CheckTabelle für diesen einen Methodenaufruf ersetzt werden.
Falls die CheckTabelle das Schlüsselwort <sub> enthält, wird überprüft, ob der ak-
tuelle Editiersatz einen Unterprogrammaufruf enthält.
Existiert kein Aufruf oder ist ein entsprechender Aufruf nur innerhalb eines Kom-
mentars vorhanden, werden die out--Parameter SubNameOffset, SubNameLen,
CallFlag, BracketFlag und CaretBlockWithSub nicht ausgefüllt und die Bitposition
entsprechend dem Tabellenindex von <sub> nicht gesetzt (Bit gleich 0).

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-41
Methoden 02.04
2.9 Programmierunterstützung

Wurde ein Unterprogrammaufruf gefunden, werden der Offset des Unterpro-


grammnamens innerhalb des Satzes in SubNameOffset, die Länge des Unterpro-
grammnamens in SubNameLen, eine Kennung, ob das Unterprogramm mit oder
ohne CALL aufgerufen wird, eine Kennung, ob das Unterprogramm mit oder ohne
“(” aufgerufen wird, und der Satz selbst über den Parameter CaretBlockWithSub
zurückgegeben. Das entsprechende Bit bekommt dann den Wert 1 (im obigen Bei-
spiel die Bitposition 0).

Hinweis
Ein Unterprogrammaufruf wird lediglich syntaktisch gesucht. Ob der gefundene
Name tatsächlich ein Unterprogrammname ist, muss vom Aufrufer überprüft wer-
den.

Unterprogrammaufrufe ohne Parameter und ohne Schlüsselwort “CALL”, “MCALL”


oder “EXTCALL” werden nicht erkannt.
Falls die CheckTabelle die Schlüsselworte <dp> und/oder <ct> und/oder eine oder
mehrere Suchzeichenfolgen enthält, wird überprüft, ob der aktuelle Editiersatz in-
nerhalb eines Schrittes mit einer der angegebenen Schrittkennungen liegt.
Wird kein Schritt erkannt, werden die Parameter StepBeginBlockNr, StepEnd-
BlockNr und StepBeginBlock nicht ausgefüllt und die Bitposition/--positionen ent-
sprechend dem Tabellenindex nicht gesetzt (Bit gleich 0).
Wurde ein entsprechender Schritt gefunden, werden die Satznummer (Offset) des
ersten Satzes im Schritt in StepBeginBlockNr, die Satznummer (Offset) des letzten
Satzes im Schritt in StepEndBlockNr, eine Kennung, ob mindestens ein Satz im
Schritt nicht geändert werden darf in StepReadOnlyFlag und der erste Satz im
Schritt über den Parameter StepBeginBlock zurückgegeben. Das entsprechende
Bit / die entsprechenden Bits bekommen dann den Wert 1 (im obigen Beispiel die
Bitposition 1, falls ein Konturschritt erkannt wurde).
Das Schrittende wird entweder durch die Schrittendekennung “;#End” oder durch
eine folgende Schrittanfangskennung erkannt.
Wird ein Schrittanfang gefunden, jedoch kein dazugehöriges Schrittende, wird in
StepEndBlockNr der Wert 0 zurückgegeben und das entsprechende Bit in Found-
Pattern, sowie StepBeginBlockNr und StepBeginBlock dennoch entsprechend ge-
setzt.
Immer ausgegeben werden die Satznummer (Offset) des Satzes mit der Schreib-
marke in CaretBlockNr, der Offset der Schreibmarke im Satz in CaretOffset, eine
Kennung, ob der Satz mit der Schreibmarke geändert werden darf in ca-
retnr_ro_flag und die Satznummer (Offset) des ersten änderbaren/schreibbaren
Satzes in firstwritable_nr, sofern die Ansicht nicht leer ist.

 Siemens AG 2004 All Rights Reserved


2-42 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.10 Text implizit editieren

2.10 Text implizit editieren

2.10.1 GetBlocks

Es werden in Blocks AmountOfBlocks Sätze zurückgegeben, beginnend mit der


Satznummer FromBlockNr.
Sind nicht genügend Sätze vorhanden, wird die maximal verfügbare Sätzanzahl
zurückgegeben.

Tabelle 2-43 GetBlocks

GetBlocks (long FromBlockNr, short AmountOfBlocks, BSTR* Blocks, VARIANT*


ErrorVal)
Parameter Typ Bedeutung
FromBlockNr long Erste zu lesende Satznummer
AmountOf- short Anzahl der zu lesenden Sätze
Blocks
Blocks BSTR String, der nach der Ausführung der Funktion
die gelesenen Sätze enthält.
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.10.2 AppendBlocks

Hinter dem Satz mit der Satznummer BlockNrForAppend wird Blocks angefügt.

Tabelle 2-44 AppendBlocks

AppendBlocks (long BlockNrForAppend, BSTR Blocks, VARIANT* ErrorVal)


Parameter Typ Bedeutung
BlockNrForAp- long Satznummer des Satzes, hinter dem angefügt
pend werden soll.
Blocks BSTR Sätze, die angefügt werden sollen.
ErrorVal VARIANT* siehe Kapitel “Einführung”

Mit ”BlockNrForAppend”=ascINSERTATBEGINN (0) wird vorne eingefügt.


Fehlt das erforderliche Schreibrecht, wird nichts angefügt.
Eine evtl. Markierung wird aufgehoben. Ein geänderter, aber noch nicht übernom-
mener Satz, wird vor dem Anfügen übernommen.
Falls ein oder mehrere anzufügende Sätze zu lang sind, wird

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-43
Methoden 02.04
2.10 Text implizit editieren

ascretLINETOOLONG_ERROR (= --9) als ”ErrorVal” zurückgegeben, falls das


Schreibrecht fehlt, wird ascretNC_WSEEK_ERROR (= --12) zurückgegeben und
nichts angefügt.
Falls das Property “AutoNumberStep” ungleich 0 ist, werden die angefügten Sätze
neu nummeriert.

2.10.3 DeleteBlocks

Es werden AmountOfBlocks Sätze gelöscht, beginnend mit der Satznummer First-


BlockNrToDelete.

Tabelle 2-45 DeleteBlocks

DeleteBlocks (long FirstBlockNrToDelete, short AmountOfBlocks, VARIANT* Error-


Val)
Parameter Typ Bedeutung
FirstBlockNrTo- long Erste zu löschende Satznummer.
Delete
AmountOf- short Anzahl der zu löschenden Sätze.
Blocks
ErrorVal VARIANT* siehe Kapitel “Einführung”

Bei ”AmountOfBlocks”=asc DELETEALL (0 )werden alle Sätze gelöscht.


Sind nicht genügend Sätze vorhanden, wird die maximal verfügbare Satzanzahl
gelöscht.
Fehlt das erforderliche Schreibrecht, wird nichts gelöscht.
Eine evtl. Markierung wird aufgehoben. Ein geänderter, aber noch nicht übernom-
mener Satz, wird vor dem Löschen übernommen.
Falls das Schreibrecht fehlt, wird ascretNC_WSEEK_ERROR (= --12) zurückgege-
ben.

2.10.4 DeleteEmptyBlocksAtEnd

Es werden alle Sätze am Datei--/Domainende gelöscht, die nur <NL> oder


<CR><NL> enthalten.
Ausnahme: Wenn alle Sätze leer sind, wird der erste Satz nicht gelöscht.

 Siemens AG 2004 All Rights Reserved


2-44 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.10 Text implizit editieren

Tabelle 2-46 DeleteEmptyBlocksAtEnd

DeleteEmptyBlocksAtEnd (VARIANT* ErrorVal)


Parameter Typ Bedeutung
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.10.5 ChangeBlocks

Es werden AmountOfBlocks Sätze, beginnend mit der Satznummer FirstBlockNr-


ToChange, mit NewBlocks überschrieben.
Sind nicht genügend Sätze vorhanden, wird die maximal verfügbare Sätzanzahl
überschrieben.
Fehlt das erforderliche Schreibrecht, wird nichts überschrieben.
Eine evtl. Markierung wird aufgehoben. Ein geänderter, aber noch nicht übernom-
mener Satz, wird vor dem Ändern übernommen.
Falls ein oder mehrere neue Sätze zu lang sind, wird ascretLINETOOLONG_ER-
ROR (= --9) als ”ErrorVal” zurückgegeben, falls das Schreibrecht fehlt, wird as-
cretNC_WSEEK_ERROR (= --12) zurückgegeben.
Falls das Property “AutoNumberStep” ungleich 0 ist, werden die angefügten Sätze
neu nummeriert.

Tabelle 2-47 ChangeBlocks

ChangeBlocks (long FirstBlockNrToChange, short AmountOfBlocks, BSTR New-


Blocks, VARIANT* ErrorVal)
Parameter Typ Bedeutung
FirstBlockNrTo- long Erste zu überschreibende Satznummer.
Change
AmountOf- short Anzahl der zu überschreibenden Sätze.
Blocks
NewBlocks BSTR Neue Sätze, die die zu angegebenen Sätze
überschreiben.
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-45
Methoden 02.04
2.10 Text implizit editieren

2.10.6 Teach

Im aktuellen Satz wird der Achsname gesucht. Ist er nicht vorhanden, wird ab der
aktuellen Schreibmarke an der nächsten freien Position (Blank oder Satzende) der
Achsname mit dem Achswert eingefügt, ansonsten der Achswert ersetzt. Im ak-
tuellen Satz können zwischen dem Achsnamen und dem Achswert Leerzeichen
stehen, bei einzeichigen Achsnamen kann der Achswert direkt nach dem Achsna-
men stehen.
Z.B.: X1 = 200.23, X200, X200
Falls der Satz zu lang wird oder das Schreibrecht fehlt, wird der Achswert nicht
geändert.
Da der Teach--Aufruf normalerweise aufgrund eines Tastendrucks angestoßen
wird, wird diese Methode nicht direkt bearbeitet, sondern in den Tastenpuffer auf-
genommen und damit mit eventuell anderen anstehenden Tasten bearbeitet.
Ein OK--ErrorVal signalisiert in diesem Fall lediglich, daß der Auftrag angenommen
wurde.

Tabelle 2-48 Teach

Teach (BSTR AxisName, BSTR AxisValue, VARIANT* ErrorVal)


Parameter Typ Bedeutung
AxisName BSTR Name der Achse.
AxisValue BSTR Position der Achse als String
ErrorVal VARIANT* siehe Kapitel “Einführung”

2.10.7 KeyPress

Die Windows--Botschaft WM_CHAR / WM_SYSCHAR wird simuliert.


Bzgl. Werte für virtual--key code value siehe ANSI Character Set.

Tabelle 2-49 KeyPress

KeyPress (long VKeyCodeValue, VARIANT* ErrorVal)


Parameter Typ Bedeutung
VkeyCodeVa- long Tastenwert
lue
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


2-46 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Methoden
2.10 Text implizit editieren

2.10.8 KeyDown

Die Windows--Botschaft WM_KEYDOWN / WM_SYS KEYDOWN wird simuliert.


Bzgl. Werte für virtual--key code siehe WINDOWS.H: VK_*.
SHIFT/CTRL/ALT--Kennung: shift / kein shift: Bit 0 = 1 / 0
ctrl / kein ctrl: Bit 1 = 1 / 0
alt / kein alt: Bit 2 = 1 / 0

Tabelle 2-50 KeyDown

KeyDown (long VkeyCode, short ShiftCtrlAltKey, VARIANT* ErrorVal)


Parameter Typ Bedeutung
VkeyCode long Virtual Key Code
ShiftCtrlAltKey short SHIFT/CTRL/ALT--Kennung als Bitmuster
(siehe Erklärung)
ErrorVal VARIANT* siehe Kapitel “Einführung”

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 2-47
Methoden 02.04
2.10 Text implizit editieren

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


2-48 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Tastenbearbeitung 3
Besitzt das Fenster des ASCII--Editor Controls den Eingabefocus, wird auf Taste-
neingabe entsprechend der unten augeführten Tabelle reagiert.

Tabelle 3-1 Tastenbearbeitung

Taste Beschreibung
Page Up Blättern Richtung Textanfang.
Page Up + Shift Blättern Richtung Textanfang. Text wird evtl. zusätzlich markiert (siehe
Event ”Notification”).

Page Down Blättern Richtung Textende.


Page Down + Shift Blättern Richtung Textende. Text wird evtl. zusätzlich markiert (siehe
Event ”Notification”).

Schreibmarke Up Schreibmarke eine Zeile weiter Richtung Textanfang.


Schreibmarke Up + Shift Schreibmarke eine Zeile weiter Richtung Textanfang. Text wird evtl.
zusätzlich markiert (siehe Event ”Notification”).
Schreibmarke Up + Ctrl Schreibmarke einen Satz weiter Richtung Textanfang.
Schreibmarke Down Schreibmarke eine Zeile weiter Richtung Textende.
Schreibmarke Down + Shift Schreibmarke eine Zeile weiter Richtung Textende. Text wird evtl. zu-
sätzlich markiert (siehe Event ”Notification”).

Schreibmarke Down + Ctrl Schreibmarke einen Satz weiter Richtung Textende.


Schreibmarke Right Schreibmarke eine Position weiter nach rechts, evtl. in die nachfol-
gende Zeile.
Schreibmarke Right + Shift Schreibmarke eine Position weiter nach rechts, evtl. in die nachfol-
gende Zeile. Text wird evtl. zusätzlich markiert (siehe Event ”Notifica-
tion”).

Schreibmarke Right + Ctrl Schreibmarke ein Wort weiter nach rechts, evtl. in die nachfolgende
Zeile. (Trennzeichen = Blank)
Schreibmarke Left Schreibmarke eine Position weiter nach links, evtl. in die vorherige
Zeile.

Schreibmarke Left + Shift Schreibmarke eine Position weiter nach links, evtl. in die vorherige
Zeile. Text wird evtl. zusätzlich markiert (siehe Event ”Notification”).

Schreibmarke Left + Ctrl Schreibmarke ein Wort weiter nach links, evtl. in die vorherige Zeile.
(Trennzeichen = Blank)
End Schreibmarke auf die Position Satzende setzen.
End + Ctrl Schreibmarke auf die Position Textende setzen.
Home Schreibmarke auf die Position Satzanfang setzen.
Home + Ctrl Schreibmarke auf die Position Textanfang setzen.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 3-49
Tastenbearbeitung 02.04

Tabelle 3-1 Tastenbearbeitung, Fortsetzung

Taste Beschreibung
Tab Im Insert--Mode: Blanks bis zur nächsten Tabposition einfügen.
Im Override--Mode: Schreibmarke nach rechts auf die nächste Tabpo-
sition setzen oder Eingabefocus abgeben. (siehe Properties: ”TabStop,
EnableTabStop”)
Insert Eventl. Umschalten von Insert--/Override--Modus (siehe event “notifica-
tion).

Return Satzende einfügen.


Backspace Zeichen links vom Schreibmarke löschen, evtl. dabei zwei Sätze ver-
einigen.

Delete Zeichen auf dem der Schreibmarke steht löschen, evtl. dabei zwei
Sätze vereinigen.
Clear/Toggle Eventl. Umschalten zwischen Markieren/nicht Markieren (siehe event
“notification).

alle Tasten, die ANSI--Werte Zeichen, je nach Eingabemodus, einfügen oder überschreiben.
liefern (WM_CHAR--Win-
dows--Botschaft / KEY-
PRESS--Event in Visual Ba-
sic)

Sonderzeichen können nur beim Editieren von Dateien eingegeben werden und
zwar wie folgt:
<Alt> gedrückt halten und eine maximal dreistellige Dezimalzahl über Zahlenblock
(mit oder ohne <Num>) eingeben. Nach dem Loslassen von <Alt> wird die Dezi-
malzahl als Byte eingefügt (z.B. 065 (=41H) entspricht ”A” ).
Erlaubt sind Zahlen von 1 bis 255. Wird ein unkorrektes Zeichen eingegeben, wer-
den die vorherigen Zeichen ignoriert.

 Siemens AG 2004 All Rights Reserved


3-50 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Properties 4
4.1 Extended Properties
Die folgenden Eigenschaften sind containerspezifisch, siehe daher die Beschrei-
bung des Containers.
Der VB 6.0--Container bietet z.B. folgende erweiterte Eigenschaften an:

Tabelle 4-1 Extended Properties

Property-- VB--/C-- Bedeutung


Name Typ
Name String/ Benutzerdefinierter Name des ASCII--Controls
BSTR Anm.: Voreinstellung: ”asc1”,”asc2”...
CausesValida- Boo- Bestimmt, ob beim Vorgänger--Control das Validate--Event
tion lean/ aufgerufen wird bevor dieses Control den Focus erhält.
short Siehe auch event “Validate”
DragIcon Icon file- Icon für Darstellung während einer drag--and--drop Operation
name Anm.: wird nicht unterstützt
DragMode Enum/ Mouse--Events während einer drag--and--drop Operation be-
int achten oder nicht
Anm.: wird nicht unterstützt
Height Single/ Fensterhöhe
float Anm.: ScaleMode des Containers ist relevant: es sollten Pixel
eingestellt sein
HelpContextID Integer/ Index für Hilfekontext
short Anm.: wird nicht unterstützt, sollte ”0” sein
Index Integer/ Index für Control--Arrays 1 bis ...
short
Left Single/ Abstand linker Rand des Controlfensters zum linken Rand
float des Containers
Anm.: ScaleMode des Containers ist relevant: es sollten Pixel
eingestellt sein
TabIndex Integer/ Ordnungsnummer der Controls
short
Tag String/ Zur freien Verfügung
BSTR

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-51
Properties 02.04
4.1 Extended Properties

Tabelle 4-1 Extended Properties, Fortsetzung

Property-- VB--/C-- Bedeutung


Name Typ
TabStop Boo- Focus mit Tab--Taste erhalten oder nicht
lean/
short
ToolTipText String/ Hilfetext, der eingeblendet wird, wenn der Mauszeiger auf das
BSTR Fenster zeigt
Top Single/ Abstand oberer Rand des Controlfensters zum oberen Rand
float des Containers
Anm.: ScaleMode des Containers ist relevant: es sollten Pixel
eingestellt sein
Visible Boo- Fenster sichtbar oder nicht
lean/
short
WhatsThisHel- Integer/ Id für kontextsensitve Hilfe, falls Hilfe--pop--up vorhanden ist
pID short
Width Single/ Fensterbreite
float Anm.: ScaleMode des Containers ist relevant: es sollten Pixel
eingestellt sein

 Siemens AG 2004 All Rights Reserved


4-52 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.2 Stock Properties

4.2 Stock Properties


Diese Properties sind standardisiert, siehe daher die Beschreibung des Containers
(hier VB 6.0).

Tabelle 4-2 Stock Properties

Property-- VB--/C--Typ Bedeutung


Name
BackColor Color--Property-- Hintergrundfarbe des Textfensters
Page/ OLE_CO-
LOR
BorderColor Color--Property-- Farbe des Fensterrandes
Page/ OLE_CO-
LOR
BorderStyle Enum/ AEenum- 0 None, 1 Fixed_Single
BorderStyle
Font Font--Objekt/ Textfont--Objekt mit Properties:
IFontDisp* Bold
Charset
Italic
Name
Size
Strikethrough
Underline
Weight
Anm.:
Wird der Font zur Laufzeit geändert, muß ein re-
fresh veranlaßt werden.
Methode: RecalculateView
Es sollte ein Blockfont angegeben werden.
Wird eine Proportionalschrift gewählt, bestimmt das
breiteste Zeichen die Ausgabebreite aller Zeichen,
um ein Navigieren der Schreibmarke wie bei einem
Blockfont zu ermöglichen.
Hinweis:
Das Property kann in der Methode “Init” überschrie-
ben werden, falls ein entsprechender INI--Eintrag
existiert.
ForeColor Color--Property-- Normale Textfarbe
Page/ OLE_CO-
LOR

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-53
Properties 02.04
4.2 Stock Properties

Tabelle 4-2 Stock Properties, Fortsetzung

Property-- VB--/C--Typ Bedeutung


Name
MousePointer Enum/ AEnum- Mauszeiger:
MousePointer 0 Default, 1 Arrow,
2 Cross, 3 I_beam,
4 Icon,
5 Size_N_S_E_W,
6 Size_NE_SW,
7 Size_N_S,
8 Size_NW,_SE,
9 Size_W_E,
10 Up_arrow,
11 Hourglass,
12 No_drop,
13 Arrow_and--hourglass,
14 Arrow_and_question_mark,
15 Size_all
Window Long/ HWND Window--Handle
Anm.: Readonly, VB: nur zur Laufzeit verfügbar

 Siemens AG 2004 All Rights Reserved


4-54 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

4.3 Custom Properties

4.3.1 Information und Status

Tabelle 4-3 Information und Status

Property-- VB--/C-- Bedeutung


Name Typ
About Pro- Info--Fenster
perty-- Nicht zur Laufzeit verfügbar
Page
EnableTabStop Boo- Focus bei Tab--Taste weitergeben oder nicht
lean/
VA-
RIANT_
BOOL
Status Integer/ Aktueller Editor--Status. Mit der Methode ”Status lesen” kann
short der Status abgefragt werden.
Anm.: Nur Leserecht. Teilweise durch Methode “Status
schreiben” änderbar, VB: nur zur Laufzeit verfügbar

Das Property ”Status” zeigt zur Laufzeit den aktuellen Editierstatus des Controls
an.
Der Status ist ein 16Bit--Wort, wobei die einzelnen Bits folgende Bedeutung haben:

Tabelle 4-4 Bedeutung der einzelnen Statusbits

Bit Konstante Bedeutung


0 Status & ascstatACTIVE ungleich 0: Editiersitzung ist aktiv, eine Datei
(= 0x1) bzw. NC--Datei ist geladen
gleich 0: Editiersitzung nicht aktiv
1 Status & ascstatLOADACTIVE ungleich 0: es wird soeben eine Datei asyn--
(= 0x2) chron geladen
gleich 0: das asynchrone Laden einer Datei
ist beendet
Anm.: Während eine Datei im Hintergrund ge--
laden wird, sind viele Methodenaufrufe
nicht erlaubt.
2 Status & ascstatSAVEACTIVE ungleich 0: es wird soeben eine Datei asyn--
(= 0x4) chron gesichert
gleich 0: das asynchrone Sichern einer
Datei ist beendet
Anm.: Während eine Datei im Hintergrund ge--
sichert wird, sind viele Methodenaufrufe
nicht erlaubt.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-55
Properties 02.04
4.3 Custom Properties

Tabelle 4-4 Bedeutung der einzelnen Statusbits, Fortsetzung

Bit Konstante Bedeutung


3 Status & ascstatCANCEL ungleich 0: der Abbruchwunsch bzgl. Laden
(= 0x8) einer Datei ist aktiv . Das Bit ist im
Zeitraum zwischen dem Erkennen
der Cancel--Methode und dem ei--
gentlichen Abbrechen des Lade--
vorgangs gesetzt.
Beim Sichern einer Datei (Save
File-Methode) bricht die Cancel-
Methode das Sichern direkt ohne
Verzögerung ab.
gleich 0: kein Abbruchwunsch
4 Status & ascstatMODIFIED ungleich 0: die geladene Datei wurde seit dem
(= 0x10) letzten Sichern verändert
gleich 0: die geladene Datei wurde nach
dem letzten Sichern nicht verän--
dert
5 Status & ascstatINSERTMODE ungleich 0: es wird im Einfügemodus editiert
(= 0x20) gleich 0: es wird im Überschreibmodus
editiert
6 Status & ascstatSELECTION ungleich 0: Markierungsmodus ist aktiv
(= 0x40) gleich 0: Markierungsmodus ist nicht aktiv
7 Status & ascstatPASTEOK ungleich 0: der Einfügepuffer ist gefüllt, d.h.
(= 0x80) die Methode ”Paste” kann aufge--
rufen werden
gleich 0: der Einfügepuffer ist leer
8 Status & ascstatWORKING ungleich 0: der aktuelle Satz ist nur innerhalb
(= 0x100) der Ansicht geändert, jedoch noch
nicht in den Textspeicher über--
nommen
gleich 0: Ansicht und Speicher sind konsi--
stent
9 Status & ascstatREADONLY ungleich 0: die Datei bzw. NC--Datei ist nur
(= 0x200) lesbar (Schreibschutz)
gleich 0: die Datei bzw. NC--Datei ist ohne
Schreibschutz geladen
10 Status & ascstatDISPLAYONLY ungleich 0: der Editor befindet sich in einem
(= 0x400) Modus, der nur Lesen erlaubt, im
Gegensatz zum Schreibschutz
sind auch ein Navigieren innerhalb
der Datei / NC--Datei und ein Ko--
pieren oder Markieren nicht erlaubt
(z.B. bei der Satzanzeige, wäh--
rend das Programm auf der NC
abgearbeitet wird)
gleich 0: der Editor befindet sich nicht in
diesem Modus

 Siemens AG 2004 All Rights Reserved


4-56 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-4 Bedeutung der einzelnen Statusbits, Fortsetzung

Bit Konstante Bedeutung


11 Status & ascstatNOCOMTONC ungleich 0: Z.Z. ist keine Kommunikation mit
(= 0x800) der NCU möglich, z.B. weil NC--
Reset aktiv ist
gleich 0: Kommunikation mit der NCU ist
möglich
Anm.: Die Verfügbarkeit der NCU wird während
eine NC--Datei editiert wird überwacht.
12 reserviert für zukünftige Statuswerte
13 Status & ascstatMODIFIEDOVE- ungleich 0: Die Datei wurde seit dem La-
RALL (= 0x2000) den oder dem letzten Zurück-
setzen des Bits 13 verändert
gleich 0: Die Datei wurde seit dem La-
den oder dem letzten Zurück-
setzen des Bits 13 nicht ver-
ändert
Anm.: Im Gegensatz zu Bit 4 (ascstatMODI-
FIED) wird Bit 13 beim Sichern nicht zurückge-
setzt, sondern nur explizit über die Methide Re-
SetStatusBits( ).
14 reserviert für zukünftige Statuswerte
15 reserviert für zukünftige Statuswerte

4.3.2 Scrollbars

Tabelle 4-5 Scrollbars

Property-- VB--/C-- Bedeutung


Name Typ
HScroll Boo- Horizontale Scrollbar oder nicht.
lean/ Anm.: Wird auch als Property Page angeboten.
VA- Nicht zur Laufzeit verfügbar
RIANT_
BOOL
VScroll Boo- Vertikale Scrollbar oder nicht
lean/ Anm.: Wird auch als Property Page angeboten.
VA- Nicht zur Laufzeit verfügbar
RIANT_
BOOL

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-57
Properties 02.04
4.3 Custom Properties

Hinweis
Unabhängig davon, ob das ASCII--Edit Control die Scrollbars selbst anzeigt und
setzt oder nicht, werden die aktuellen Prozentwerte zum Setzen der Scrollbars
dem Client bekanntgegeben (siehe Event ”ScrollValues” im Kapitel 5.3.6).

4.3.3 Farben

Tabelle 4-6 Farben

Property-- VB--/C--Typ Bedeutung


Name
ActForeColor Color--Pro- Textfarbe des aktuellen Editorsatzes des Editors, d.h. des
perty--Page/ Satzes, der die Schreibmarke enthällt.
OLE_CO-
LOR (long)
ActBackColor s.o. Texthintergrundfarbe des aktuellen Editorsatzes.
ActNCForeCo- s.o. Textfarbe des aktuellen Satzes der NC, d.h. des Satzes,
lor der z.Z. von der NC bearbeitet wird.
ActNCBackCo- s.o. Texthintergrundfarbe des aktuellen Satzes der NC
lor
BusyForeColor s.o. Textfarbe des aktuellen Satzes, der in der Anzeige geän-
dert wurde aber dessen Änderung noch nicht übernom-
men wurde
BusyBackColor s.o. Texthintergrundfarbe des aktuellen Satzes, der in der An-
zeige geändert wurde aber dessen Änderung noch nicht
übernommen wurde
Anm.: siehe Bit 8 im Property ”Status”
Design Enum/Aee- 0 Custom
(ab SW 6.3) numDesign 1 HMI
Für Design=HMI werden die Farb-Properties ignoriert und
die Farben dem HMI-Design entsprechend verwendet.
Das HMI-Design bezieht sich auch auf evtl. Scrollbars,
wenn die Datei “McDetourMod.dll” registriert. Ebenfalls
ignoriert werden die Properties:
RectangleBlockNr
RectanglePermanent und
RectangelPlaceMode
ReadOnlyFore- Color--Pro- Textfarbe der Sätze, die nur gelesen aber nicht geändert
Color perty--Page/ werden dürfen
OLE_CO-
LOR (long)
ReadOnly- s.o. Texthintergrundfarbe der Sätze, die nur gelesen aber nicht
BackColor geändert werden dürfen

 Siemens AG 2004 All Rights Reserved


4-58 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-6 Farben, Fortsetzung

Property-- VB--/C--Typ Bedeutung


Name
ROForeMas- s.o. Textfarbe der Sätze, die aufgrund der readonly--Kennung
kedColor am Satzende nur gelesen aber nicht geändert werden
dürfen
Hinweis:
Kann in der Methode “Init” überschrieben werden, falls ein
entsprechender INI--Eintrag existiert. Siehe Kapitel 6.
ROBackMas- s.o. Texthintergrundfarbe der Sätze, die aufgrund der re-
kedColor adonly--Kennung am Satzende nur gelesen aber nicht
geändert werden dürfen
Hinweis:
Kann in der Methode “Init” überschrieben werden, falls ein
entsprechender INI--Eintrag existiert. Siehe Kapitel 6.
SelForeColor s.o. Textfarbe der markierten Sätze
SelBackColor s.o. Texthintergrundfarbe der markierten Sätze
Anm.:
Siehe auch Standardeigenschaften: ForeColor und Back-
Color

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-59
Properties 02.04
4.3 Custom Properties

4.3.4 Einstellungen

Tabelle 4-7 Einstellungen

Property--Name VB--/C--Typ Bedeutung


ActBlockMarkMode Enum/ AEenu- Farbliches Hervorheben des aktuellen Editorsatzes
mActBlock- und/oder des aktuellen NC--Satzes mit der entspre-
MarkMode chenden Farbe:
MarkActNCBlock (0): aktueller NC--Satz wird hervor-
gehoben
MarkActEditBlock (1): aktueller Editorsatz
MarkBoth (2): beide
Falls “Design” den Wert “HMI” hat (new design), wird
nicht mehr farblich zwischen dem aktuellen Editor-
satz und dem aktuellen NC-Satz unterschieden.
ActBlockMarkMode wird hier ignoriert.
Anm.: Voreinstellung=1.
Betrifft nur NC--Dateien, die gleichzeitig auf der NC
bearbeitet werden.
BlockCaret Boolean/VA- Schreibmarke als Block oder nicht
(ab SW 6.3) RIANT_BOOL Für Design=Custom und BlockCaret=VA-
RIANT_TRUE wird das Zeichen, auf dem die
Schreibmarke steht, invers hervorgehoben.
Für Design=HMI und BlockCaret=true wird dieses
Zeichen mit der dem HMI-Design entsprechenden
Farbe hinterlegt.
Bei BlockCaret=VARIANT_FALSE wird das Zeichen
nicht hinterlegt, die Schreibmarke wird lediglich als
senkrechter oder waagerechter Strick dargestellt,
entsprechend dem Property InputMode=Insert oder
Override.
BlockEnd String/BSTR Ein oder zwei Zeichen als Satzendekennung
Besonderheit:
Wird dem Property eine leere Zeichenfolge überge-
ben, wird das Zeichen LF (Wert 10 für linefeed) zu-
gewiesen. Dieser Wert ergibt bei manchen Font--
Zeichensätzen ein spezielles Symbol für das Zeilen-
ende.
Hinweis:
Readonly solange eine (NC--)Datei geöffnet ist.
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Zwei Zeichen sind für 2--Byte--Zeichencode rele-
vant, wie z.B. asiatische Schriften. Hier werden im
ASCII--Modus eventl. nur die Zeichen <128 korrekt
angezeigt, während Zeichen >127
(z.B.”W” (182)) häufig als Teil eines 2--Byte--Zei-
chens angesehen werden.In diesem Fall kann ein
Satzendezeichen dennoch korrekt angezeigt wer-
den.

 Siemens AG 2004 All Rights Reserved


4-60 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


BlockUpdateMode Enum/ EAe- Zeitpunkt der Satzübernahme in die Speicherver-
numBlockUp- waltung beim Editieren:
dateMode UpdateByLeaving (0): Satz erst übernehmen, wenn
die Schreibmarke ihn verläßt
UpdateByKey (1): Satz nach jeder Eingabeeinheit
übernehmen
Anm.: Voreinstellung=0.
Der Wert muß vor dem Methodenaufruf “OpenFile”
oder “OpenNCFile” gesetzt werden.
CaretPermanent Boolean/ VA- Sichtbarkeit der Schreibmarke (caret) bei Focus--
RIANT_BOOL Verlust:
True: Schreibmarke bleibt bei Focusverlust erhalten
False: Schreibmarke ist nur sichtbar solange das
Editorfenster den Focus besitzt
DomainOpenMode Enum/ AEe- NC--Datei vor jedem Datentransfer öffnen und da-
numDomainO- nach wieder schließen oder öffnen und schließen
penMode explizit durch entspr. Methodenaufrufe:
OpenAndCloseOnce (0): Voreinstellung
OpenAndClosePermanent (1): siehen Anm.
Anm.: Voreinstellung ist 0.
Der Wert muß vor dem Methodenaufruf “OpenNC-
File” gesetzt werden.
Z.Z. wird der Modus 1 abgelehnt, da bei einer geöff-
neten NC--Datei ein zweites Öffnen von der NC ab-
gelehnt wird. Unabhängig vom eingestellten Modus
müssen die Methoden zum Öffnen und Schließen
einer NC--Datei aufgerufen werden. Die unter-
schiedliche Handhabung beeinflußt die Aufrufebene
nicht.
FileMappingWithName Boolean/ VA- Art des Datenaustausches bzgl. “file mapping” zwi-
RIANT_BOOL schen dem control und dem COM--Objekt zur Kom-
munikation mit der NC.
True: Daten werden über Dateinamen (section na-
mes) übergeben
False: Daten werden über Datei--handles (file map-
ping handles) übergeben (nur im gleichen Adress-
raum möglich)
Hinweis:
Kann nur vor dem ersten Öffnen einer NC--Datei
gesetzt werden.
Falls das Property “SurrogateNcObj” den Wert
“True” hat, ist der Wert dieses Property irrelevant,
dann werden die Daten immer über Dateinamen
übergeben
Voreinstellung: True

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-61
Properties 02.04
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


HiddenCheck Boolean/ VA- Hidden--Kennung beachten oder nicht.
RIANT_BOOL True: Kennung wird beachtet
False: Kennung wird nicht beachtet
Anm.: Voreinstellung=False.
Hinweis:
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Siehe auch Property ”TextForHiddencheck” für die
Hidden--Kennung. bei ”Hiddencheck”=True werden
alle Sätze mit der Hidden--Kennung ausgeblendet.
KeyNotification Boolean/ VA- Tastaturereignisse als event melden oder nicht:
RIANT_BOOL True: melden
False: nicht melden
Anm.: Voreinstellung=False
Betrifft die Ereignisse:
KeyDown, KeyUp und KeyPress
Sind die Tastenereignisse für den Aufrufer irrelevant,
kann mit ”KeyNotification”=False das unnötige und
eventl. Zeitintensive Aufrufen über den Container
verhindert werden.
MarkMode Enum/ long Markierungsmodus:
CharacterMode (0): Markierung zeichenspezifisch
BlockMode (1): Markierung satzspezifisch
Wird als Property Pages angeboten.
Anm.: Voreinstellung=0.
Hinweis:
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Wird der Wert bei einer geöffneten Datei/NC--Datei
geändert, muß explizit eine Neuausgabe des Textes
veranlaßt werden.
MemFactor Enum/ long Speicherfaktor zur Bestimmung derTabellengrößen
der Speicherverwaltung für Dateien (nicht für NC--
Dateien). Damit wird die maximal editierbare Datei-
größe (= MemFactor mal 8MB) festgelegt.
LessThan 8 MB (1)
LessThan 16 MB (2)
....
LessThan 248 MB (31)
Hinweis:
Readonly solange eine (NC--)Datei geöffnet ist.
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.

 Siemens AG 2004 All Rights Reserved


4-62 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


MemNCFactor Enum/ long Speicherfaktor zur Bestimmung derTabellengrößen
der Speicherverwaltung für NC--Dateien (nicht für
Dateien). Damit wird die maximale Puffergröße (=
MemNCFactor mal 8MB) festgelegt.
Der Faktor sollte dem verfügbaren NC--Speicher
angepaßt sein.
LessThan 8 MB (1)
LessThan 16 MB (2)
....
LessThan 248 MB (31)
Hinweis:
Readonly solange eine (NC--)Datei geöffnet ist.
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
NCAddress String/ BSTR Parameter zur Kommunikation mit der NC:
NC--Adresse.
Anm.: Abhängig vom Kommunikationsserver.
z.B. “/NC”
NCMachineName String/ BSTR Parameter zur Kommunikation mit der NC:
NCU--Name.
Anm.: Abhängig vom Kommunikationsserver.
z.B. “NCU840D” oder “NCUlinks”
NCServiceName String/ BSTR Parameter zur Kommunikation mit der NC:
Server--Name.
Anm.: Abhängig vom Kommunikationsserver.
z.B. “NCDDE”
OptimizeDraw Boolean/ VA- Textausgabe optimieren oder nicht.
RIANT_BOOL True: Bei impliziten Textänderungen im Ausgabefen-
ster wird direkt ausge--geben
False: Die Textausgabe erfolgt nur über die Win-
dows--Botschaft WM_PAINT
Anm.: Voreinstellung=False.
True sollte nur dann eingestellt werden, wenn das
Control--Fenster von keinem anderen Fenster über-
lagert wird.
PathForProFiles String/ BSTR Verzeichnis aus dem INI--Dateieinträge gelesen
werden sollen
Anm.: “.” steht für aktuelles Verzeichnis.
“nil” signalisiert, daß keine INI--Einträge gelesen
werden sollen.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-63
Properties 02.04
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


ReadOnlyCheck Boolean/ VA- Readonly--Kennung beachten oder nicht.
RIANT_BOOL True: Kennung wird beachtet
False: Kennung wird nicht beachtet
Anm.:
Für die readonly--Kennung siehe Property ”TextRor-
ROcheck”.
Bei ”ReadOnlyCheck”=True sind alle Sätze mit der
readonly--Kennung zusätzlich zu den Sätzen, die
aufgrund der Abarbeitung auf NC schreibgeschützt
sind, schreibgeschützt.
Voreinstellung=False.
Hinweis:
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Mit der Wertzuweisung an das Property wird implizit
keine neue Textausgabe veranlasst, um ein internes
kurzfristiges Ändern des readonly--Textes zu ermög-
lichen.
Soll sofort eine neue Textausgabe erfolgen, muss
diese explizit veranlasst werden, z.B. mit der Me-
thode RecalculateView oder Select...
RectangleBlockNr Long/ long Satznummer (Offset) des Satzes, der mit einem
Rechteck umgeben werden soll, nur relevant bei
“RectanglePlaceMode”=”FixedBlock” (=2).
Hinweis:
Falls “Design” den Wert “HMI” hat (new design), wird
keine Satzumrandung gezeichnet. Die Einstellungen
hierfür werden ignoriert.
RectanglePermanent Boolean/ VA- Sichtbarkeit des Rechtecks bei Focus--Verlust:
RIANT_BOOL True: Rechteck bleibt bei Focusverlust erhalten
False: Rechteck ist nur sichtbar solange das Editor-
fenster den Focus besitzt
Hinweis:
Falls “Design” den Wert “HMI” hat (new design), wird
keine Satzumrandung gezeichnet. Die Einstellungen
hierfür werden ignoriert.

 Siemens AG 2004 All Rights Reserved


4-64 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


RectanglePlaceMode Enum/ AEe- Rechteck als Satzmarkierung:
numRectangle- NoRectangle (0): keine Rechteckmarkierung
PlaceMode
ActualEditBlock (1): Rechteck um aktuellen Editier-
satz
FixedBlock (2): Rechteck um bestimmten Satz
FixedBlockIfHidden (3): Rechteck um bestimmten
Satz, wenn dieser nicht als “hidden” gekennzeichnet
ist (bei “HiddenCheck” aktiv)
Bei 2 und 3 ist “RectAngleBlockNr”
relevant.
Anm.:
Wird bei Korrektursatz verwendet, um aktuellen Edi-
torsatz, Korrektursatz und aktuellen NC--Satz unter-
scheiden zu können.
Hinweis:
Falls “Design” den Wert “HMI” hat (new design), wird
keine Satzumrandung gezeichnet. Die Einstellungen
hierfür werden ignoriert.
StepMaxNrOfBlocks Long/ long Maximale Anzahl von Sätzen, in denen nach einem
Schritt gesucht wird.
0 bedeutet: alle Sätze durchsuchen
Hinweis:
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
SurrogateNcObj Boolean/ short Instanzierungsart des COM--Objekts zur Kommuni-
kation mit der NC:
True: COM--Objekt wird “local” im eigenen Prozeß
instanziiert (mit surrogate DLLHOST.EXE)
False: COM--Objekt wird “inproc” instanziiert, d.h. im
Adressraum des ascedi--controls
Hinweis:
Kann nur vor dem ersten Öffnen einer NC--Datei
gesetzt werden.
Voreinstellung:
V6.0 True,
ab V6.1 False
TabValue Integer/ short Tabulatorwert
Anm.: Voreinstellung=7.
Es wird mit Leerzeichen aufgefüllt.
TempDir String/ BSTR Verzeichnis für temporäre Dateien
Hinweis:
Readonly solange eine (NC--)Datei geöffnet ist.
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-65
Properties 02.04
4.3 Custom Properties

Tabelle 4-7 Einstellungen, Fortsetzung

Property--Name VB--/C--Typ Bedeutung


TextForHiddencheck String/ BSTR Hidden--Kennung
Nur lesbar.
Hinweis:
Schreibbar nur während des Designs (Entwurfsmo-
dus).
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Die Hidden--Kennung muß am Satzende stehen.
TextForROcheck String/ BSTR Readonly--Kennung
Nur lesbar.
Hinweis:
Schreibbar nur während des Designs.
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.
Die Hidden--Kennung muß am Satzende stehen.
TransferNotifyMode Enum/ long Meldemodus für Datentransfer von/zur NC:
NoNotify (0): kein Event
NotifyTransfer (1): Event “Message” vor und nach
einem Transfer
Anm.: Voreinstellung=1.
Der Wert muß vor dem Methodenaufruf “OpenNC-
File” gesetzt werden.
WrapLine Boolean/ short Satzumbruch oder nicht
True: Satzumbruch
False: kein Satzumbruch
Anm.:
Wird als Property Pages angeboten.
Name im Property Pages:
Satzumbruch / MakeUp
Voreinstellung=True.
Hinweis:
Kann in der Methode “Init” überschrieben werden,
falls ein entsprechender INI--Eintrag existiert.

 Siemens AG 2004 All Rights Reserved


4-66 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

4.3.5 Attribute

Tabelle 4-8 Attribute

Property-- VB--/C--Typ Bedeutung


Name
AutoNumber Long/ long Standardsatznummer, die beim Öffnen einer leeren
Datei oder NC--Datei eingefügt wird, falls “AutoNum-
berStep” > 0 ist.
Anm.:
Wird auch als Property Page angeboten.
Voreinstellung=100.
Siehe Methode “Automatisches Numerieren bei leerer
Datei/Domain oder Drücken der Eingabetaste”.
AutoNumber- Long/ long Schrittweite beim automatischen Einfügen einer Satz-
Step nummer.
Bei Schrittweite gleich 0 werden keine Satznummern
automatisch eingefügt.
Anm.:
Wird auch als Property Page angeboten.
Voreinstellung ist 0.
Siehe Methode “Automatisches Numerieren bei leerer
Datei/Domain oder Drücken der Eingabetaste”.
GlobalCheck- String/ BSTR Globale Check--Tabelle.
Table Siehe Beschreibung “Rückübersetzbarkeit prüfen”.
Anm.: Voreinstellung ist “<sub>#<dp>#<ct>”
InputMode Enum/ AEenu- Eingabe--Modus einstellen:
mInputMode Insert (0): einfügen
Override (1): überschreiben
LastError Long/ long LastError--Wert
(siehe Tabelle 4-9) der Kommunikationsebene.
Nur gültig wenn das Property LastErrorNr = ascla-
sterrDDE (5) hat.
Anm.:
Z.Z. LastError des NCDDE--Servers.
nur Leserecht,
VB: Nur zur Laufzeit verfügbar.
LastErrorMe- Integer/ short Id--Nummer der Methode, die zuletzt einen Fehler ge-
thod meldet hat
Anm.:
Z.Z. nur die Methoden “OpenFile” und “OpenNCFile”,
die beide die Id asclasterrOPENMETH(1000)haben
nur Leserecht,
VB: Nur zur Laufzeit verfügbar.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-67
Properties 02.04
4.3 Custom Properties

Tabelle 4-8 Attribute, Fortsetzung

Property-- VB--/C--Typ Bedeutung


Name
LastErrorNr Integer/ short Fehlernummer
Hinweis:
Wenn asclasterrDDE (5), dann Property ”LastError”
auswerten.
Siehe Tabelle 4-9
nur Leserecht,
VB: Nur zur Laufzeit verfügbar.
Mark Boolean/ VA- Markieren oder nicht:
RIANT_BOOL True: markieren
False: nicht markieren, bzw. Markierung aufheben
Anm.:
Voreinstellung=False.
Eine evtl. Markierung wird auch implizit aufgehoben
(z.B. durch einen Aufruf der Methode “Copy”). Dies
wird durch ein Message--Event angezeigt.
TimerActive Boolean/ VA- Aktivieren oder Deaktivieren eines Timers, um z.B.
RIANT_BOOL eine automatische Dateisicherung zu veranlassen.
True: Timer ist aktiv
False: kein Timer
Anm.:
Voreinstellung=False.
Siehe Event “Message”.
TimerMinutes Integer/ short Der Wert gibt an in welchem Minutenabstand ein Ti-
mer--Event ausgelöst werden soll, wenn ”TimerAc-
tive”=True.
Ein Wert kleiner oder gleich 0 ist nicht erlaubt.
Anm.:
Voreinstellung=5.
Siehe Event “Message”.

Werte des Custom Property ”LastErrorNr”


Folgende Tabelle beschreibt die Werte des Custom Property ”LastErrorNr”:

Tabelle 4-9 Werte des Custom Property ”LastErrorNr”

Wert Konstante Beschreibung


1 AELASTERR_NOCOMINIT Initialisierungs--Methode des Objekts
NCEDI meldet Fehler
2 AELASTERR_NONC Z.Z. ist keine Kommunikation zur NC
möglich
3 AELASTERR_NOMEM Speichermangel
4 AELASTERR_NODOMAIN falscher NC--Dateiname und/oder --
pfad

 Siemens AG 2004 All Rights Reserved


4-68 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.3 Custom Properties

Tabelle 4-9 Werte des Custom Property ”LastErrorNr”, Fortsetzung

Wert Konstante Beschreibung


5 AELASTERR_DDE Fehler beim Datentransfer (evtl. wei-
tere Information im Property “LastEr-
ror”)
6 AELASTERR_ISBINARY NC--Datei enthält unzulässige Zei-
chen (= Zeichen von 0 bis 7 oder 11
bis 31 oder 127 bis 159)
1000 AELASTERR_NOINIT Initialisierungs--Methode wurde nicht
aufgerufen (”Initialisieren”)
1001 AELASTERR_LOADACTIVE es wird z.Z. eine Datei geladen
1002 AELASTERR_SAVEACTIVE es wird z.Z. eine Datei gesichert / ab-
gespeichert
1003 AELASTERR_NOFILENAME kein Dateiname vorhanden (Variable
enthält Leerstring)
1004 AELASTERR_NOREGFILE Dateiname ist keine reguläre Datei,
sondern Verzeichnisname oder Lauf-
werksname
1005 AELASTERR_ FILESTATUS auf den Dateistatus kann nicht zuge-
griffen werden
1006 AELASTERR_ CREATETMPFILE temporäre Datei kann nicht angelegt
werden
1007 AELASTERR_ CREATETMPSFILE temporäre Datei für Formatinforma-
tion kann nicht angelegt werden
1008 AELASTERR_ CREATEDOM Speicherverwaltung für NC--Datei
kann nicht instanziiert werden
1009 AELASTERR_ OPENFILE Datei kann nicht geöffnet werden
1010 AELASTERR_ OPENTMPFILE temporäre Datei kann nicht geöffnet
werden
1011 AELASTERR_ CLOSEFILE Datei kann nicht geschlossen werden
1012 AELASTERR_ CLOSETMPFILE temporäre Datei kann nicht geschlos-
sen werden
1013 AELASTERR_CLOSETMPSFILE temporäre Datei für Formatinforma-
tion kann nicht geschlossen werden
1014 AELASTERR_ SEEKFILE innerhalb der Datei kann nicht positio-
niert werden
1015 AELASTERR_ READFILE Dateiinhalt kann nicht gelesen wer-
den
1016 AELASTERR_ WRITETMPFILE temporäre Datei kann nicht beschrie-
ben werden
1017 AELASTERR_ FORMATFILE Datei kann nicht formatiert werden
1018 AELASTERR_ DELTMPSFILE temporäre Datei für Formatinforma-
tion kann nicht gelöscht werden
1019 AELASTERR_ CACHE auf den Datencache der Speicherver-
waltung kann nicht zugegriffen wer-
den

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-69
Properties 02.04
4.3 Custom Properties

Tabelle 4-9 Werte des Custom Property ”LastErrorNr”, Fortsetzung

Wert Konstante Beschreibung


1020 AELASTERR_ SELECT gewünschte Ansicht kann nicht er-
zeugt werden (erste Bildausgabe
beim Öffnen)
1021 AELASTERR_ POSTMESSAGE PostMessage wird negativ quittiert
1022 AELASTERR_BLOCKTOOLONG die maximale Satzlänge (z.Z. 512 Zei-
chen) wurde überschritten (evtl. liegt
eine Binärdatei vor)
1023 asclasterrCOCREATEINSTANCE das COM--Objekt NCEDI kann nicht
instanziiert werden
1024 asclasterrACTIVATEADVISE die Verbindung zur Event--Schnitt-
stelle des COM--Objektes NCEDI
kann nicht hergestellt werden

4.3.6 Methodenzugriff

Tabelle 4-10 Methodenzugriff

Property-- VB--/C-- Bedeutung


Name Typ
DispInterface Edit-- IDispatch--Schnittstellenzeiger des Controls
Objekt/ Anm.:
IDis- Für ProTool/Pro Optionspaket SINUMERIK, um Methoden mit
patch* Parametern aufzurufen.
Das Control ruft AddRef auf!
fwCfgPtr IUnk- IDispatch--Schnittstellenzeiger des Config--
nown* Objekts von ProTool, falls vorhanden, sonst NULL
Anm.:
Für ProTool/Pro Optionspaket SINUMERIK. um Zugriff auf das
NC--Store--Objekt zu bekommen.
Das Control ruft AddRef auf!

 Siemens AG 2004 All Rights Reserved


4-70 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.4 Properties als Ersatz für Eventparameter

4.3.7 Internationalisierung

Tabelle 4-11 Internationalisierung

Property--Name VB--/C-- Bedeutung


Typ
LocaleID long Identifikationsnummer der aktuell eingestellten Sprache
Anm.:
Für ProTool/Pro Optionspaket SINUMERIK, um verschie-
dene Spracheinstellungen zu handhaben

4.4 Properties als Ersatz für Eventparameter


Falls der Container keine Ereignisse mit Parametern zuläßt, kann das ASCII--Edit
Control veranlaßt werden, alle Paramter der Stock-- und Custom--Events zusätzlich
als Properties anzubieten. Somit kann ein Event als Trigger verstanden werden,
bei dessen Setzen (Event--Aufruf) im Eventunterprogramm die entsprechenden
Property--Werte gelesen werden und evtl. mit Rückgabewerten beschrieben wer-
den.
Achtung: Rekursive Eventaufrufe müssen in diesem Fall vom Client vermieden
werden!
Der Mechanismus wird mit dem Property ”EventParamAsProp”=True aktiviert.

Tabelle 4-12 Eventprameter

Property-- VB--/C--Typ Bedeutung


Name

EventPara- Boolean/ VA- Eventparameter auch als Property--Werte anbie-


mAsProp RIANT_BOOL ten/Rückgabewerte lesen oder nicht:
True: Parameter auch über Property--Werte handha-
ben
False: nur event--Parameter
Anm.: Voreinstellung=False

BlockNr Long/ long Satznummer , siehe Event: CaretBlockNr


Button Integer/ short Bitfeld, das angibt welche Maustaste(n) gedrückt
wird, siehe Events:
MouseDown, MouseUp, MouseMove
CallAgain Boolean/ VA- Event vorerst ablehnen, um aus einem kritischen
RIANT_BOOL Zustand herauszukommen, siehe Events:
AsynMethDone, CaretBlockNr, HeaderInfo, Notifica-
tion, ScrollValues

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-71
Properties 02.04
4.4 Properties als Ersatz für Eventparameter

Tabelle 4-12 Eventprameter, Fortsetzung

Property-- VB--/C--Typ Bedeutung


Name
CallNr Integer/ short Aufrufzähler, der die Wiederholungsaufrufe angibt,
siehe Events:
AsynMethDone, CaretBlockNr, HeaderInfo, Notifica-
tion, ScrollValues
DoneState Integer/ short Fertigmeldung einer asynchronen Methode, siehe
Event: AsynMethDone
HeaderInf String/ BSTR Headerinformation , siehe Event: HeaderInfo
HScrollPer- Integer/ short Prozentwert für horizontale Scrollbar, siehe Event:
centVal ScrollValues
KeyAscii Integer/ short ANSI Key--Wert, siehe Event: KeyPress
KeyCode Integer/ short virteller Key--Code, siehe Events:
KeyDown, KeyUp
MessageNr Long/ long Meldungsnummer , siehe Event: Message
NotifyNr Long/ long Hinweisnummer , siehe Event: Notification
Shift Integer/ short shift/ctrl/alt Kombination, siehe Events:
KeyDown, KeyUp, MouseDown, MouseUp, Mouse-
Move
VScrollPercent- Integer/ short Prozentwert für vertikale Scrollbar, siehe Event:
Val ScrollValues
X Single/ float Mausposition im Fenster (X--Koordinate), siehe
Events:
MouseDown, MouseUp, MouseMove
Y Single/ float Mausposition im Fenster (Y--Koordinate), siehe
Events:
MouseDown, MouseUp, MouseMove

 Siemens AG 2004 All Rights Reserved


4-72 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Properties
4.5 Property Pages

4.5 Property Pages


Es werden folgende Property--Pages angeboten:
S Colors
alle Farb--Properties (Standard--Property--Page des Containers)
S Font
Font--Objekt (Standard--Property--Page des Containers)
S Allgemein
Satznumerierung, Ansicht (Scrollbars,Satzumbruch) und Markierungsmodus
Die Darstellungsart ist Containerabhängig.
Folgendes Bild stellt z.B. das Property--Pages ”Allgemein” unter ProTool dar.

Bild 4-1 Allgemein

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 4-73
Properties 02.04
4.5 Property Pages

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


4-74 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Event--Schnittstelle 5
Bei den speziellen Ereignissen (Custom Events) wird ein Mechanismus angeboten,
um ein zu einem unglücklichen Zeitpunkt eintreffendes Event vorerst abzulehnen.
Dadurch kann ein kritischer Zustand verlassen werden.
Dieser Mechanismus wird durch zwei Parameter gehandhabt:
S einen Parameter ”CallAgain” (Standardwert gleich “False”, muss bei Bedarf auf
“True” gesetzt werden) und
S einen Aufrufzähler “CallNr” (beim Erstaufruf gleich “1”), der die Wiederholungs-
aufrufe angibt.
Beim ersten Aufruf eines Ereignisses gilt:
CallAgain=False und CallNr=1
Möchte der Client das Ereignis nicht sofort bearbeiten, setzt er CallAgain=True.
Dadurch wird das Ereignis erneut aufgerufen, mit CallAgain=FALSE und CallNr=2.
Ein weiterer Client, der evtl. an diesen Ereignisschnittstellen teilhat und den ersten
Aufruf bereits bearbeitet hat, kann durch CaalNr=2 erkennen, daß dieses Ereignis
nicht nochmals bearbeitet werden darf.
Ein Ereignis wird maximal 799mal aufgerufen.
Der Event--Name setzt sich aus Controllinstanzname (z.B. aedi1) und Eventname
(z.B. GotFocus) zusammen, z.B. aedi1_GotFocus.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-75
Event--Schnittstelle 02.04
5.1 Extended Events

5.1 Extended Events


Diese Events sind containerspezifisch, d.h. die hier aufgeführten Ereignisse bezie-
hen sich auf VB 6.0.
Die Beschreibung hierzu siehe dort.

5.1.1 DragDrop

Wird von Control nicht unterstützt.

Tabelle 5-1 DragDrop

Sub DragDrop (Source As Control, X As Single, Y As Single)


Parameter Typ Bedeutung

Auch VB 4.0.

5.1.2 DragOver

Wird von Control nicht unterstützt.

Tabelle 5-2 DragOver

Sub DragOver (Source As Control, X As Single, Y As Single, State As Integer)


Parameter Typ Bedeutung

Auch VB 4.0.

5.1.3 GotFocus

Tabelle 5-3 GotFocus

Sub GotFocus ()
Parameter Typ Bedeutung

Auch VB 4.0..

 Siemens AG 2004 All Rights Reserved


5-76 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.1 Extended Events

5.1.4 LostFocus

Tabelle 5-4 LostFocus

Sub LostFocus ()
Parameter Typ Bedeutung

Auch VB 4.0.

5.1.5 Validate

Tabelle 5-5 Validate

Sub Validate (Cancel As Boolean)


Parameter Typ Bedeutung

Nur in Verbindung mit dem Property “CausesValidation”.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-77
Event--Schnittstelle 02.04
5.2 Stockevents

5.2 Stockevents
Diese Events sind controlspezifisch, das Erscheinungsbild ist jedoch vorgegeben.
Es wird jeweils die VB-- und die C++--Notation angegeben.

5.2.1 Click

Tabelle 5-6 Click

Sub Click ()
bzw.
void Click ()
Parameter VB-- / C--Typ Bedeutung
keine

Click meldet das Loslassen einer Maustaste (left, right or middle) im Editorfenster.
Die events “MousDown” und “MouseUp” werden vorher aufgerufen.

5.2.2 DblClick

Tabelle 5-7 DblClick

Sub DblClick ()
bzw.
void DblClick ()
Parameter VB-- / C--Typ Bedeutung
keine

DblClick meldet einen Doppelclick einer Maustaste.

5.2.3 KeyDown

Taste wurde gedrückt.


KeyCode ist der virtuelle KeyCode von Windows (z.B. VK_LEFT).
Shift ist ein Bitfeld mit Bit 0 = Kennung für die Shift--Taste, Bit 1 für die Strg--Taste
und Bit 2 für die Alt--Taste. Shift gleich 5, entspricht Bitfeld “101”, z.B. bedeutet:
Shift-- und Alt--Taste sind gedrückt.

 Siemens AG 2004 All Rights Reserved


5-78 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.2 Stockevents

KeyCode und Shift siehe auch VisualBasic--Beschreibung.


Wird KeyCode = 0 gesetzt, erfolgt keine Verarbeitung der Taste.

Hinweis
Das Event wird nur aufgerufen, wenn “KeyNotification” (siehe 5.3.5) den Wert
“True” hat.

Tabelle 5-8 KeyDown

Sub KeyDown (KeyCode As Integer, Shift As Integer)


bzw.
void KeyDown (short* KeyCode, short* Shift )
Parameter VB-- / C--Typ Bedeutung
KeyCode Integer / short* virtueller KeyCode von Windows

Shift Integer / short* Bitfeld für shift (Bit 0), ctrl (Bit 1), alt (Bit 2)

5.2.4 KeyPress

Taste in ANSI--Code, z.B. 0x31 für ,1‘. Siehe auch VisualBasic--Beschreibung.


Nicht alle Tasten werden hier gemeldet. Z.B. KeyRight meldet KeyDown und
KeyUp aber nicht KeyPress.
Wird KeyAscii = 0 gesetzt, erfolgt keine Verarbeitung der Taste.

Hinweis
Das Event wird nur aufgerufen, wenn “KeyNotification” (siehe 5.3.5) den Wert
“True” hat.

Tabelle 5-9 KeyPress

Sub KeyPress (KeyAscii As Integer)


bzw.
void KeyPress (short* KeyAscii)
Parameter VB-- / C--Typ Bedeutung
KeyAscii Integer / short* ANSI--Code

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-79
Event--Schnittstelle 02.04
5.2 Stockevents

5.2.5 KeyUp

Taste wurde losgelassen.


KeyCode ist der virtuelle KeyCode von Windows (z.B. VK_LEFT).
Shift ist ein Bitfeld mit Bit 0 = Kennung für die Shift--Taste, Bit 1 für die Strg--Taste
und Bit 2 für die Alt--Taste. Shift gleich 5, entspricht Bitfeld “101”, z.B. bedeutet:
Shift-- und Alt--Taste sind gedrückt.
KeyCode und Shift siehe auch VisualBasic--Beschreibung.
Die Taste ist bereits verarbeitet.

Hinweis
Das Event wird nur aufgerufen, wenn “KeyNotification” (siehe 5.3.5) den Wert
“True” hat.

Tabelle 5-10 KeyUp

Sub KeyUp (KeyCode As Integer, Shift As Integer)


bzw.
void KeyUp (short* KeyCode, short* Shift )
Parameter VB-- / C--Typ Bedeutung
KeyCode Integer / short* virtueller KeyCode von Windows
Shift Integer / short* Bitfeld fuer shift (Bit 0), ctrl (Bit 1), alt (Bit 2)

5.2.6 MouseDown

MouseDown meldet das Drücken einer Maustaste im Editorfenster.


Button ist ein Bitfeld, das angibt welche Maustaste(n) gedrückt wird.
Dabei gilt:
Bit0 (=1) entspricht “linke Maustaste”, Bit1 (=2) “rechte Maustaste” und Bit2 (=4)
“mittlere Maustaste”.
Shift ist ein Bitfeld, das angibt ob die Shift--, Ctrl-- und/oder Alt--Taste gedrückt ist.
Dabei gilt: Bit0 (=1) entspricht “Shift”, Bit1 (=2) “Ctrl” und Bit2 (=4) “Alt”.
X und Y bestimmen die Mausposition im Fenster, wobei die Positionseinheit vom
ScaleMode bzw. den ScaleProperties abhängt.
Siehe auch die VisualBasic--Beschreibung.

Tabelle 5-11 MouseDown

 Siemens AG 2004 All Rights Reserved


5-80 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.2 Stockevents

Tabelle 5-11 MouseDown, Fortsetzung

Sub MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)


bzw.
void MouseDown (short* Button, short* Shift, float* X, float* Y)
Parameter VB-- / C--Typ Bedeutung
Shift Integer / short* | Bitfeld für shift (Bit 0), ctrl (Bit 1) und alt (Bit 2)
X Single / float* horizontale Position des Mauszeigers
Y Single / float* vertikale Position des Mauszeigers

5.2.7 MouseMove

MouseMove meldet, daß sich der Mauszeiger (curser) im Editorfenster befindet.


Button ist ein Bitfeld, das angibt welche Maustaste(n) dabei gedrückt wird.
Dabei gilt:
Bit0 (=1) entspricht “linke Maustaste”, Bit1 (=2) “rechte Maustaste” und Bit2 (=4)
“mittlere Maustaste”.
Shift ist ein Bitfeld, das angibt ob die Shift--, Ctrl-- und/oder Alt--Taste gedrückt ist.
Dabei gilt: Bit0 (=1) entspricht “Shift”, Bit1 (=2) “Ctrl” und Bit2 (=4) “Alt”.
X und Y bestimmen die Mausposition im Fenster, wobei die Positionseinheit vom
ScaleMode bzw. den ScaleProperties abhängt.
Siehe auch die VisualBasic--Beschreibung.

Tabelle 5-12 MouseMove

Sub MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)


bzw.
void MouseMove (short* Button, short* Shift, float* X, float* Y)
Parameter VB-- / C--Typ Bedeutung
Shift Integer / short* Bitfeld für shift (Bit 0), ctrl (Bit 1) und alt (Bit 2)
X Single / float* horizontale Position des Mauszeigers
Y Single / float* vertikale Position des Mauszeigers

5.2.8 MouseUp

MouseUp meldet das Loslassen einer Maustaste im Editorfenster.


Button ist ein Bitfeld, das angibt welche Maustaste(n) losgelassen wird.
Dabei gilt:

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-81
Event--Schnittstelle 02.04
5.2 Stockevents

Bit0 (=1) entspricht “linke Maustaste”, Bit1 (=2) “rechte Maustaste” und Bit2 (=4)
“mittlere Maustaste”.
Shift ist ein Bitfeld, das angibt ob die Shift--, Ctrl-- und/oder Alt--Taste gedrückt ist.
Dabei gilt: Bit0 (=1) entspricht “Shift”, Bit1 (=2) “Ctrl” und Bit2 (=4) “Alt”.
X und Y bestimmen die Mausposition im Fenster, wobei die Positionseinheit vom
ScaleMode bzw. den ScaleProperties abhängt.
Siehe auch die VisualBasic--Beschreibung.

Tabelle 5-13 MouseUp

Sub MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)


bzw.
void MouseUp (short* Button, short* Shift, float* X, float* Y)
Parameter VB-- / C--Typ Bedeutung
Shift Integer / short* Bitfeld fuer shift (Bit 0), ctrl (Bit 1) und alt (Bit 2)
X Single / float* horizontale Position des Mauszeigers
Y Single / float* vertikale Position des Mauszeigers

 Siemens AG 2004 All Rights Reserved


5-82 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.3 Custom Events

5.3 Custom Events


Diese Events sind controlspezifisch.

5.3.1 AsynMethDone

Fertigmeldung einer asynchronen Methode.


DoneState enthält einen von 3 Werten für ok, cancel oder error, entsprechend den
Werten, die beim Methodenaufruf übergeben worden sind (siehe Methoden “Open-
File” und “Save”).
CallAgain und CallNr siehe oben unter “Event--Schnittstelle”.

Tabelle 5-14 AsynMethDone

Sub AsynMethDone (ByVal DoneState As Integer, CallAgain As Boolean, ByVal


CallNr As Integer)
bzw.
void AsynMethDone (short DoneState, VARIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
DoneState Integer / short Identifikationsnummer zur Kennzeichnung, ob
sich die Methode OpenFile bzw. Save mit Er-
folg, durch Abbruch oder aufgrund eines Feh-
lers beendet hat
CallAgain Boolean / Kennung für Wunsch, das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Be--
schreibung der Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschr. der Eventschnitt-
stelle

5.3.2 CaretBlockNr

Die Nummer “BlockNr” des aktuellen Satzes (Satzoffset), der die Schreibmarke
(caret) enthält wird gemeldet.
CallAgain und CallNr siehe oben unter “Event--Schnittstelle”.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-83
Event--Schnittstelle 02.04
5.3 Custom Events

Tabelle 5-15 CaretBlockNr

Sub CaretBlockNr (ByVal BlockNr As Long, CallAgain As Boolean, ByVal CallNr As


Integer)
bzw.
void CaretBlockNr (long BlockNr, VARIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
BlockNr Long / long Nummer des aktuellen Satzes mit der Schreib-
marke
CallAgain Boolean / Kennung für Wunsch das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Beschr. der
Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschreibung der Event-
schnittstelle

5.3.3 HeaderInfo

Die Headerinformation wird gemeldet.


CallAgain und CallNr siehe oben unter “Event--Schnittstelle”.

Tabelle 5-16 HeaderInfo

Sub HeaderInfo (HeaderInf As String, CallAgain As Boolean, ByVal CallNr As Integer)


bzw.
void HeaderInfo (BSTR HeaderInf, VARIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
HeaderInfo String / BSTR Header--Information entsprechend der Open--
Methode
CallAgain Boolean / Kennung für Wunsch das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Beschr. der
Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschreibung der Event-
schnittstelle

5.3.4 Message

Die der Nummer “MessageNr” entsprechende Meldung soll ausgegeben werden.


Der Event--Empfänger entscheidet, ob daraufhin eine Meldung an den Anwender
erfolgt oder nicht.
Gemeldet werden nur Ereignisse, die nicht durch return--Werte an den Methoden--
Aufrufer gemeldet werden können, z.B. aufgrund von Tasteneingaben.

 Siemens AG 2004 All Rights Reserved


5-84 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.3 Custom Events

Tabelle 5-17 Message

Sub Message (ByVal MessageNr As Long, CallAgain As Boolean, ByVal CallNr As


Integer)
bzw.
void Message (long MessageNr, VARIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
MessageNr Long / long Meldungsnummer
CallAgain Boolean / Kennung für Wunsch das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Beschr. der
Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschreibung der Event-
schnittstelle

Relevante MessageNr--Werte sind:

Tabelle 5-18 Message Nr.--Werte

Message Konstante Bedeutung


Nr.
103999 ascevDELETEMESSAGE eine vorherige Meldung kann gelöscht werden
(als Endemeldung zu 104008 oder 104020)
104000 ascevBLOCKTOOLONG ”maximale Satzlänge wird überschritten”, z.B.
beim Versuch einen Satz einzugeben, der die
maximale Satzlänge von 512 Zeichen über-
schreitet
104001 bis ”interne Meldungen”
104007
104008 ascevREADINGFROMNC ”Programm wird von NCU gelesen” (für NC--Da-
teibearbeitung), um den Transferzugriff von NC
zu melden.
104010 ascevTEXTISREADONLY ”Text ist readonly”, z.B. beim Versuch Text in
einen readonly--Bereich einzufügen
104014 ascevMAXSIZEOFTEXT ”Maximale Textgröße erreicht”, wenn die maxi-
male Kapazität der Speicherverwaltung erreicht
ist.
104019 ascevNCCOMMUNICA- ”Kommunikationsfehler zur NC” ( NC--Dateibe-
TIONERROR arbeitung), bei Fehler bzgl. Datentransfer von/
zur NC
104020 ascevWRITINGTONC ”Programm wird nach NCU geschrieben” (für
NC--Dateibearbeitung), um den Transferzugriff
zur NC zu melden.
104022 ascevNOTENOUGHNC- ”nicht genügend freier NC--Speicher” (für NC--
MEMORY Dateibearbeitung)

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-85
Event--Schnittstelle 02.04
5.3 Custom Events

5.3.5 Notification

Die der Nummer “NotifyNr” entsprechende Hinweis erfolgt.


Der event--Empfänger entscheidet, ob daraufhin eine Aktion erfolgt oder nicht.
Gemeldet werden nur Ereignisse, die nicht durch return--Werte an den Methoden--
Aufrufer gemeldet werden können, z.B. aufgrund von Tasteneingaben oder inter-
nen Zuständen.

Tabelle 5-19 Notification

Sub Notification (ByVal NotifyNr As Long, CallAgain As Boolean, ByVal CallNr As


Integer)
bzw.
void Notification (long NotifyNr, VARIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
NotifyNr Long / long Hinweisnummer
CallAgain Boolean / Kennung für Wunsch das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Beschr. der
Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschreibung der Event-
schnittstelle

Relevante NotifyNr--Werte sind:

Tabelle 5-20 Notify Nr.--Werte

Notify Nr Konstante Bedeutung


104009 ascevSELECTIONBRO- ”Markierungsmodus wurde aufgehoben”, durch
KENUP eine Tasten-- oder Mauseingabe wurde die
Markierung aufgehoben
Gewünschte Aktion: evtl. Softkey “Markieren”
anders darstellen
104011 ascevTEXTISMODIFIED ”Text wurde geändert”, wird jeweils nach dem
Öffnen oder einem Zwischenspeichern einmalig
mitgeteilt, ansonsten informiert das Property
“Status”.
Gewünschte Aktion: z.B. dem Anwender eine
entsprechende Speicherfunktion beim Beenden
anzubieten oder ein automatisches Zwischen-
speichern anzustossen
104012 ascevTIMER ”Timer”
Gewünschte Aktion: Zwischenspeichern
104013 ascevTOGGLEKEY ”Toggle--Taste wurde gedrückt”
Gewünschte Aktion: Markierungsmodus ein--/
ausschalten
104015 ascevCTRLC ”Ctrl+C gedrueckt”
Gewünschte Aktion: Copy--Methode aufrufen

 Siemens AG 2004 All Rights Reserved


5-86 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.3 Custom Events

Tabelle 5-20 Notify Nr.--Werte

Notify Nr Konstante Bedeutung


104016 ascevCTRLV ”Ctrl+V gedrueckt”
Gewünschte Aktion: Paste--Methode aufrufen
104017 ascevCTRLX ”Ctrl+X gedrueckt”
Gewünschte Aktion: Cut--Methode aufrufen
104018 ascevINSERTKEY ”Insert--Taste gedrueckt”
Gewünschte Aktion: umschalten zwischen in-
sert-- und override--Modus
104021 ascevTEACHINGFINIS- ”Teachen ist abgeschlossen”
HED Gewünschte Aktion: nach Bedarf
104023 ascevMOUSESELEC- ”Markierungsmodus aktivieren” wird aufgrund
TIONREQUEST einer Mausbewegung gewünscht
Gewünschte Aktion: Markierungsmodus ein-
schalten
Ein hierdurch eingeschalteter Markierungsmo-
dus wird durch eine entsprechende Ta-
sten--/Mauseingabe implizit ausgeschaltet (wie
in Windows üblich).
104024 ascevKEYSELECTION- ”Markierungsmodus aktivieren” wird aufgrund
REQUEST einer Tasteneingabe gewünscht
Gewünschte Aktion:
Markierungsmodus einschalten. Ein hierdurch
eingeschalteter Markierungsmodus wird durch
eine entsprechende Tasten--/Mauseingabe im-
plizit ausgeschaltet (wie in Windows üblich).
Bei weitergehenden Aktionen ist hier zu beach-
ten, daß sich das Control innerhalb der Tasten-
bearbeitung befindet und deshalb viele Metho-
den zu diesem Zeitpunkt nicht aufgerufen wer-
den dürfen.

Der Applikation/Container ist es freigestellt mit einer entsprechenden Aktion zu


reagieren.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-87
Event--Schnittstelle 02.04
5.3 Custom Events

5.3.6 ScrollValues

HScrollPercentVal gibt den Prozentwert für die horizontale Scrollbar an, VScroll-
PercentVal den für die vertikale Scrollbar.
Dabei ist es irrelevant, ob das Control--Fenster Scrollbars besitzt oder nicht (siehe
Properties “HScroll” und “VScroll”). Besitzt das Control--Fenster eigene Scrollbars,
werden diese vom Control selbst gesetzt.
VScrollPercentVal zeigt beim Laden oder Speichern einer Datei oder beim neu Nu-
merieren eines Programms den Bearbeitungsfortschritt an, sonst die relative Posi-
tion der Nummer des aktuellen Satzes bzgl. der maximalen Satznummer.
HScrollPercentVal zeigt die relative Position der Schreibmarke bzgl. der maximalen
Spaltenanzahl des Editorfensters.
Bei der Einstellung “kein Satzumbruch” (Property WrapLine = False) wird nicht die
reale maximale Spaltenanzahl des Fensters betrachtet, sondern die virtuelle Spal-
tenanzahl = maximale Satzlänge (z.Z. 512 Bytes).

Tabelle 5-21 ScrollValues

Sub ScrollValues (ByVal HScrollPercentVal As Integer, ByVal VScrollPercentVal As


Integer, CallAgain As Boolean, ByVal CallNr As Integer)
bzw.
void ScrollValues (short HScrollPercentVal, short VScrollPercentVal, VA-
RIANT_BOOL* CallAgain, short CallNr)
Parameter VB-- / C--Typ Bedeutung
HScrollPer- Integer / short Wert der horizontalen Scrollbar in Prozent
centVal

VScrollPercent- Integer / short Wert der vertikalen Scrollbar in Prozent


Val
CallAgain Boolean / Kennung für Wunsch das Event erneut aufzu-
VARIANT_BOOL* rufen (true) oder nicht (false), siehe Beschr. der
Eventschnittstelle
CallNr Integer / short Aufrufzähler, siehe Beschreibung der Event-
schnittstelle

 Siemens AG 2004 All Rights Reserved


5-88 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Event--Schnittstelle
5.3 Custom Events

5.3.7 Timer

Tabelle 5-22 Timer

Sub Timer ()
bzw.
void Timer ()
Parameter VB-- / C--Typ Bedeutung
keine

Die in den Properties “TimerActive” und “TimerMinutes” aktivierte Zeitspanne ist


abgelaufen.
Siehe auch “Notification” mit Nummer 104012.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 5-89
Event--Schnittstelle 02.04
5.3 Custom Events

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


5-90 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Relevante INI--Einträge 6
Die unten aufgeführten INI--Werte sind auch als Properties verfügbar.

Hinweis
Dabei ist beim Schreiben eines dieser Property--Werte folgendes zu beachten:
Zur Design--Zeit dürfen alle diese Properties geschrieben werden und initialisieren
damit als persistende Daten die jeweiligen Properties.
Zur Laufzeit ist das Schreiben nur erlaubt, wenn keine Datei und/oder keine NC--
Datei geöffnet ist, d.h. vor der Methode “OpenFile” / “OpenNCFile” und nach der
Methode “Close” (Ausnahmen siehe unten *).
Die INI--Einträge werden in der Methode “Init” gelesen und ersetzen, wenn ein ent-
sprechender Eintrag gefunden wurde, die aktuellen Property--Werte.
Damit hat ein vorhandener INI--Eintrag höhere Priorität als der Initialisierungwert,
jedoch geringere als eine PutProperty--Methode nach dem Initialisieren
(siehe Bild 6-1).

Den INI--Einträgen entsprechen diese Properties:

Tabelle 6-1 INI--Einträge in MMC.INI

INI--Einträge Properties
Fontattribute unter [LANGUAGE], Font*
LanguageFont
TextNCLF BlockEnd*
TempDir TempDir
[Colors] Current mit Wert Vga oder Mono ROForeMaskedColor* und
ROBackMaskedColor*

Tabelle 6-2 INI--Einträge in AEDITOR.INI

INI--Einträge Properties
MemFactor MemFactor
MemNCFactor MemNCFactor
HScrollMode WrapLine *
MaxNrOfBlocks StepMaxNrOfBlocks*
ReadOnlyCheck ReadOnlyCheck *
TextForReadOnlyCheck TextForROCheck
HiddenCheck HiddenCheck *
TextForHiddenCheck TextForHiddencheck

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 6-91
Relevante INI--Einträge 02.04

Tabelle 6-2 INI--Einträge in AEDITOR.INI, Fortsetzung

INI--Einträge Properties
MarkMode MarkMode*

Sind keine INI--Werte verfügbar, werden nur die persistenten Werte und evtl. expli-
zit gesetzte Property--Werte beachtet.
Da die INI--Werte aus Laufzeitgründen nur einmal pro Applikation aus den INI--Da-
teien gelesen werden (und nicht für jede einzelne Instanz), wird eine Änderung in
der INI--Datei evtl. erst beim nächsten Hochlauf/Programmstart wirksam.

Property--Wert design mode

Persist.
Property--
run mode Werte

1
Property--Wert Cache
2
INI--
Methode: Initialisieren Werte

3
Property--Wert
2

Methode: Datei/NC-- Datei öffnen


INI--
Dateien
Property--Wert 4
nur für best.
Properties
Methode: Datei/NC-- Datei
schließen

Methode: Terminieren

1 Persistenter Wert 3 INI--Wert, falls INI--Eintrag vorhanden ist


PutProperty ist nur für spezielle Properties erlaubt
2 Evtl. mit PutProperty geänderter Wert 4 (solche, die dynamisch bearbeitet werden)

Bild 6-1 Einträge in MMC.INI

 Siemens AG 2004 All Rights Reserved


6-92 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Relevante INI--Einträge
6.1 Einträge in MMC.INI

6.1 Einträge in MMC.INI


Das ASCII--Editor--Control verwendet folgende Einträge der MMC.INI.
Falls Sie diese Einträge ändern möchten, müssen sie eine MMC.INI im Verzeichnis
USER von HMI--Advanced oder HMI--Base anlegen. Falls diese schon vorhanden
ist, die Einträge in dieser Datei ändern.

Sektion Schlüssel Erklärung


[LANGUAGE] LanguageFont Zur Sprachauswahl.
Der Wert bestimmt die Sektion für
die nachfolgenden Schlüssel
TextBlock... und TextNCLF
[LANGUAGE]+LanuageFont, TextBlockFontBold Default--Font
z.B. [Europe] TextBlockFontSize
TextBlockFontName
[LANGUAGE]+LanuageFont, TextNCLF Satzendekennung, 1 oder 2 Zeichen
z.B. [Europe] Besonderheit:
Wird “TextNCLF=” ohne Wert
eingetragen, wird das Zeichen LF
(Wert 10 für linefeed) zugewiesen.
Dieser Wert ergibt bei manchen
Font--Zeichensätzen ein spezielles
Symbol für das Zeilenende.
[DIRECTORIES] TempDir Verzeichnis für temporäre Dateien
[Colors] Current Der Wert bestimmt den Schlüssel
Vga oder Mono unter [COLORS] in
AEDITOR.INI (siehe 6.2).

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 6-93
Relevante INI--Einträge 02.04
6.2 Einträge in AEDITOR.INI

6.2 Einträge in AEDITOR.INI


Das ASCII--Editor--Control verwendet folgende Einträge der AEDITOR.INI.
Falls sie diese Einträge ändern möchten, müssen sie eine AEDITOR.INI im Ver-
zeichnis USER von HMI--Advanced oder HMI--Base anlegen, oder, falls diese
schon vorhanden ist, die Einträge in dieser Datei ändern.

Sektion Schlüssel Erklärung


[MEMORY] MemFactor Standard Faktor für die Maximalgröße der ASCII--Datei
Gültige Werte: von 1 bis 7
Faktor x (1<=x<=7) bedeutet: man kein eine Datei editie-
ren, deren Größe x * 8 MB entspricht
z.B.: Faktor 1 entspricht einer Maximalgröße von 8 MB,
Faktor 7 entspricht einer Maximalgröße von 56 MB
Wert von 1 -- 37
1<=x<=37
Faktor 31 entspricht 248 MB
Achtung: ein größerer Faktor benötigt mehr RAM
MemNCFactor Standard Faktor für die Maximalgröße der Pufferdatei
um Dateien auf der NCU zu editieren.
siehe auch Erklärung für MemFactor
Der Faktor sollte groß genug für den gesamten NCU--
Speicher sein
[VIEW] HScrollMode Standardmodus für horizontales Scrollen
0 = kein Scrollen
1 = horizontales Scrollen
[STEPS] MaxNrOfBlocks Maximale Anzahl von Sätzen, um nach einen Schritt zu
suchen.
0 = keine Obergrenze
ReadOnlyCheck Standard Modus, um Sätze auf Schreibschutz zu prüfen
0 = keine Überprüfung
<>0 = Überprüfung auf Schreibschutz
TextForReadOnlyCheck Standard Text für die Identifikation schreibgeschützter
Sätze
HiddenCheck Standard Modus, um versteckte Sätze zu überprüfen.
0 = keine Überprüfung
<>0 = Überprüfung auf versteckte Sätze
TextForHiddenCheck Standard Text für die Identifikation versteckter Sätze
[MARK] MarkMode Standard Markierungsmodus
0 = zeichenspezifisch
1 = satzspezifisch
Die folgenden Farbwerte setzen sich folgendermaßen zusammen (RGB--Farbwerte)
aktueller Satz in Bearbeitung Schreibgesch. Markierter Editor Fenster Schreibgeschützt
Textfarbe befindl. Satz geöffnet Satz gekennz. Satz
Text-- Hinter-- Vorder Hinter Vorder Hinter Vor- Hinter Vorder Hinter Vorder Hinter
farbe grund- der
farbe

 Siemens AG 2004 All Rights Reserved


6-94 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Relevante INI--Einträge
6.2 Einträge in AEDITOR.INI

[COLORS] Vga=FF0000,FFFFFF,00C0C0C0,0,00C0C0C0,0,800000,FFFFFF,00FFFFFF,0,C0C0C0,0
Mono=C0C0C0,FFFFFF,C0C0C0,0,C0C0C0,0,800000,FFFFFF,C0C0C0,0,C0C0C0,0

Von Vga und Mono werden nur die zwei letzten Farbwerte für ReadOnlyMas-
ked=schreibgesch. gekennz. Satz gelesen.
Alle anderen Werte können von der Applikation gelesen werden, die das Control
benutzt und dem Control als Property--Werte zugewiesen werden.
Der Farbwert ReadOnlyMasked Hinter (Hinter steht für Hintergrundfarbe) bestimmt
die Texthintergrundfarbe und Vorder (für Vordergrundfarbe) die Textvordergrund-
farbe für einen als readonly gekennzeichneten Satz (siehe [STEPS] TextForRea-
dOnlyCheck= und ReadOnlyCheck=).
Dabei hat die allgemeine ReadOnly--Farbe bei readonly geöffneten Dateien oder
innerhalb des im NC--Vorlaufs bereits erfassten Satzbereiches höhere Priorität.
Außerdem wird das Aktivieren der readonly--Kennung über ReadOnlyCheck= bzw.
die entsprechende Methode beachtet.
In der Standardeinstellung sind die beiden readonly--Farbpaare gleich, d.h. in der
Darstellung nicht zu unterscheiden.

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 6-95
Relevante INI--Einträge 02.04
6.2 Einträge in AEDITOR.INI

Platz für Notizen

 Siemens AG 2004 All Rights Reserved


6-96 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
Index
A D
About, 4-55 Datei wird geöffnet, 2-19
ActBackColor, 4-58 DblClick, 5-78
ActBlockMarkMode, 4-60 DeleteBlocks, 2-44
ActForeColor, 4-58 DeleteEmptyBlocksAtEnd, 2-44
ActNCBackColor, 4-58 DispInterface, 4-70
ActNCForeColor, 4-58 DomainOpenMode, 4-61
AEDITOR.INI, 6-94 DoneState, 4-72
Ansicht, 2-39 DragDrop, 5-76
AppendBlocks, 2-43 DragIcon, 4-51
ASCII--Editor Control, 1-7 DragMode, 4-51
AsynMethDone, 5-83 DragOver, 5-76
Attribute, 4-67
Attribute setzen/lesen, 2-13
Automatisches Nummerieren, 2-37 E
AutoNumber, 4-67
Editiersitzung beginnen/beenden, 2-19
AutoNumberStep, 4-67
Editorsitzung initialisieren/freigeben, 2-11
EnableTabStop, 4-55
EventParamAsProp, 4-71
B Eventparameter, 4-71
BackColor, 4-53 Extended Events, 5-76
BlockCaret, 4-60 Extended Properties, 4-51
BlockEnd, 4-60
BlockNr, 4-71
BlockUpdateMode, 4-61 F
BorderColor, 4-53
Farben, 4-58
BorderStyle, 4-53
FileMappingWithName, 4-61
BusyBackColor, 4-58
Find, 2-28
BusyForeColor, 4-58
FindBlockNr, 2-32
Button, 4-71
FindNext, 2-28
Font, 4-53
ForeColor, 4-53
C fwCfgPtr, 4-70
CallAgain, 4-71
CallNr, 4-72
Cancel, 2-26 G
CaretBlockNr, 5-83
GetBlocks, 2-43
CaretPermanent, 4-61
GetMarkInf, 2-16
CausesValidation, 4-51
GetMaxBlockNr, 2-17
ChangeBlocks, 2-45
GetNCFile, 2-22
Click, 5-78
GetSEEKW, 2-17
Close, 2-26
GetSelectInf, 2-15
Copy, 2-35
GetViewInf, 2-16
Custom Events, 5-83
GlobalCheckTable, 4-67
Custom Properties, 4-55
GotFocus, 5-76
Cut, 2-35

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 Index-97
Index 02.04

H MouseMove, 5-81
MousePointer, 4-54
HeaderInf, 4-72
MouseUp, 5-81
HeaderInfo, 5-84
MultipleFind, 2-28
Height, 4-51
MultipleFindNext, 2-29
HelpContextID, 4-51
HiddenCheck, 4-62, 6-91
HScroll, 4-57
HScrollMode, 6-91 N
HScrollPercentVal, 4-72 Name, 4-51
NC--Datei wird geöffnet, 2-20
NCAddress, 4-63
I NCMachineName, 4-63
NCServiceName, 4-63
Index, 4-51
Notification, 5-86
Information und Status, 4-55
NotifyNr, 4-72
Init, 2-11
InputMode, 4-67
Internationalisierung, 4-71
IsBlockReadOnly, 2-13 O
IsBusy, 2-18 OpenFile/OpenNCFile/OpenWinNCFile, 2-19
IsDpFormat, 2-19 OpenNCFileAndDelCont/OpenWinNCFileAnd-
DelCont, 2-23
OpenWinNCFile, 2-21
K OptimizeDraw, 4-63
KeyAscii, 4-72
KeyCode, 4-72
KeyDown, 2-47, 5-78 P
KeyNotification, 4-62 Paint, 2-39
KeyPress, 2-46, 5-79 Paste, 2-36
KeyUp, 5-80 PathForProFiles, 4-63
Programmierunterstützung, 2-40
Properties, 4-51
L Property Pages, 4-73
Pufferverwaltung, 2-35
LastError, 4-67
LastErrorMethod, 4-67
LastErrorNr, 4-68
Left, 4-51 R
LocaleID, 4-71 ReadOnlyBackColor, 4-58
LostFocus, 5-77 ReadOnlyCheck, 4-64, 6-91
ReadOnlyForeColor, 4-58
RecalculateView, 2-15
M RecompileCheck, 2-40
RectangleBlockNr, 4-64
Mark, 4-68
RectanglePermanent, 4-64
MarkMode, 4-62, 6-92
RectanglePlaceMode, 4-65
MaxNrOfBlocks, 6-91
Relevante INI--Einträge, 6-91
MemFactor, 4-62, 6-91
ReplaceAll, 2-31
MemNCFactor, 4-63, 6-91
ReplaceOrFind, 2-30
Message, 5-84
ReplaceOrFindNext, 2-30
MessageNr, 4-72
ReSetStatusBits, 2-14
Methodenzugriff, 4-70
Resize, 2-14
MouseDown, 5-80

 Siemens AG 2004 All Rights Reserved


Index-98 HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004
02.04 Index

ROBackMaskedColor, 4-59 Terminate, 2-12


ROForeMaskedColor, 4-59 Text implizit editieren, 2-43
TextForHiddenCheck, 6-91
TextForHiddencheck, 4-66
S TextForReadOnlyCheck, 6-91
TextForROcheck, 4-66
Satz anwählen, 2-33
Timer, 5-89
Satznummer, 2-17
TimerActive, 4-68
SaveFile, 2-24
TimerMinutes, 4-68
Schreibmarken(Caret)--Position, 2-15
ToolTipText, 4-52
Scrollbars, 4-57
Top, 4-52
ScrollValues, 5-88
TransferNotifyMode, 4-66
SelBackColor, 4-59
SelectBlockNr, 2-33
SelectMaxNr, 2-34
SelectPercent, 2-33 V
SelForeColor, 4-59 Validate, 5-77
SetActualNcBlock, 2-18 Visible, 4-52
SetNumber, 2-37 VScroll, 4-57
SetStatusBits, 2-14 VScrollPercentVal, 4-72
Shift, 4-72
Status, 4-55
Status schreiben, 2-13 W
StepMaxNrOfBlocks, 4-65
WhatsThisHelpID, 4-52
Stock Properties, 4-53
Width, 4-52
Stockevents, 5-78
Window, 4-54
StoreBusyBlock, 2-39
WrapLine, 4-66
SurrogateNcObj, 4-65

X
T
X, 4-72
TabIndex, 4-51
TabStop, 4-52
TabValue, 4-65
Tag, 4-51 Y
Teach, 2-46 Y, 4-72
TempDir, 4-65

 Siemens AG 2004 All Rights Reserved


HMI--Programmierpaket ASCII--Editor Control Referenz -- Ausgabe 02.2004 Index-99
An Vorschläge

SIEMENS AG Korrekturen
A&D MC IS für Druckschrift:
Postfach 3180
SINUMERIK 840D/840Di/
D--91050 Erlangen SINUMERIK 801D/FM--NC
HMI--Programmierpaket
(Tel. 0180 / 538 -- 8008 [Hotline] ASCII--Edit--Control
Fax 09131 / 98 -- 1145
email: motioncontrol.docu@erlf.siemens.de)
Referenz
Absender

Name Ausgabe: 02.2004


Anschrift Ihrer Firma/Dienststelle Sollten Sie beim Lesen dieser Un-
terlage
Straße auf Druckfehler gestoßen sein, bit-
ten wir Sie, uns diese mit diesem
PLZ: Ort: Vordruck mitzuteilen.
Telefon: / Ebenso dankbar sind wir für Anre-
gungen und Verbesserungsvor-
Telefax: / schläge.

Vorschläge und/oder Korrekturen

Das könnte Ihnen auch gefallen