X1 Referenzhandbuch

Werbung
X1 Referenzhandbuch
XOn Software GmbH 2002
X1 Referenzhandbuch
Beschreibung der CX1- Laufzeitbibliothek
Das Handbuch beschreibt alle Funktionen und Klassen der CX1Laufzeitbibliothek
Inhaltsverzeichnis
I
Inhaltsverzeichnis
Kapitel I Programmierreferenz
1
1 Laufzeitbibliothek
................................................................................................................................... 1
Datei-Funktionen
.........................................................................................................................................................
_filelength ..................................................................................................................................................
_fileno
..................................................................................................................................................
_fullpath ..................................................................................................................................................
_getw
..................................................................................................................................................
_makepath..................................................................................................................................................
_splitpath ..................................................................................................................................................
fclose
..................................................................................................................................................
fdopen
..................................................................................................................................................
feof
..................................................................................................................................................
ferror
..................................................................................................................................................
fflush
..................................................................................................................................................
fgetc
..................................................................................................................................................
fgetpos ..................................................................................................................................................
fgets
..................................................................................................................................................
fopen
..................................................................................................................................................
fprintf
..................................................................................................................................................
fputc
..................................................................................................................................................
fputs
..................................................................................................................................................
fread
..................................................................................................................................................
fscanf
..................................................................................................................................................
fseek
..................................................................................................................................................
ftell
..................................................................................................................................................
getc
..................................................................................................................................................
putc
..................................................................................................................................................
rewind ..................................................................................................................................................
Mathematische
.........................................................................................................................................................
funktionen
Mathematifunktionen
..................................................................................................................................................
acos
...........................................................................................................................................
asin
...........................................................................................................................................
atan
...........................................................................................................................................
atan2
...........................................................................................................................................
ceil
...........................................................................................................................................
cos
...........................................................................................................................................
cosh
...........................................................................................................................................
exp
...........................................................................................................................................
fabs
...........................................................................................................................................
floor
...........................................................................................................................................
log
...........................................................................................................................................
log10
...........................................................................................................................................
pow
...........................................................................................................................................
ran1
...........................................................................................................................................
rand
...........................................................................................................................................
sin
...........................................................................................................................................
sinh
...........................................................................................................................................
sqrt
...........................................................................................................................................
© XOn Siftware GmbH, 2008
1
1
2
2
2
3
3
4
4
5
5
5
6
6
6
6
7
7
8
8
8
9
10
10
10
11
11
11
11
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
II
Referenzhandbuch
srand
...........................................................................................................................................
tan
...........................................................................................................................................
tanh
...........................................................................................................................................
Erweiterte..................................................................................................................................................
Mathematikfunktionen
_cabs
...........................................................................................................................................
_hypot ...........................................................................................................................................
_logb
...........................................................................................................................................
Bessel-Funktionen
...........................................................................................................................................
beta
...........................................................................................................................................
betai
...........................................................................................................................................
binom
...........................................................................................................................................
chi2_p ...........................................................................................................................................
chi2_q ...........................................................................................................................................
erf
...........................................................................................................................................
erfc
...........................................................................................................................................
f_distr
...........................................................................................................................................
frexp
...........................................................................................................................................
gammp ...........................................................................................................................................
gammq ...........................................................................................................................................
gasdev ...........................................................................................................................................
modf
...........................................................................................................................................
poisson ...........................................................................................................................................
student ...........................................................................................................................................
String-Manipulation
.........................................................................................................................................................
_strnicmp..................................................................................................................................................
_strnset ..................................................................................................................................................
_strrev ..................................................................................................................................................
_strset ..................................................................................................................................................
_strupr ..................................................................................................................................................
atoi
..................................................................................................................................................
atol
..................................................................................................................................................
atof
..................................................................................................................................................
sprintf ..................................................................................................................................................
sscanf ..................................................................................................................................................
strcat
..................................................................................................................................................
strchr
..................................................................................................................................................
strcmp ..................................................................................................................................................
strcoll ..................................................................................................................................................
strcpy ..................................................................................................................................................
strcspn ..................................................................................................................................................
strerror ..................................................................................................................................................
stricmp ..................................................................................................................................................
strlen
..................................................................................................................................................
strlwr
..................................................................................................................................................
strncat ..................................................................................................................................................
strncmp ..................................................................................................................................................
strncpy ..................................................................................................................................................
strpbrk ..................................................................................................................................................
strrchr ..................................................................................................................................................
strspn ..................................................................................................................................................
strstr
..................................................................................................................................................
strtok
..................................................................................................................................................
strtol
..................................................................................................................................................
strxfrm ..................................................................................................................................................
Datenpoolfunktionen
.........................................................................................................................................................
© XOn Siftware GmbH, 2008
15
15
15
16
16
17
17
17
18
18
19
19
19
19
20
20
20
20
21
21
21
21
22
22
23
23
23
23
24
24
24
25
25
29
31
31
32
32
32
33
33
33
33
34
34
34
34
35
35
35
36
36
36
37
37
Inhaltsverzeichnis
CopyToPool
..................................................................................................................................................
GetPoolDia
..................................................................................................................................................
GetPoolIndex
..................................................................................................................................................
GetPoolMDT
..................................................................................................................................................
GetPoolMF8
..................................................................................................................................................
GetPoolMI4
..................................................................................................................................................
GetPoolMSTR
..................................................................................................................................................
GetPoolName
..................................................................................................................................................
GetPoolODBC
..................................................................................................................................................
GetPoolSize
..................................................................................................................................................
GetPoolText
..................................................................................................................................................
GetPoolType
..................................................................................................................................................
GetPoolVDT
..................................................................................................................................................
GetPoolVF8
..................................................................................................................................................
GetPoolVI4
..................................................................................................................................................
GetPoolVSTR
..................................................................................................................................................
RemoveFromPool
..................................................................................................................................................
SetPoolName
..................................................................................................................................................
Speichermanagement
.........................................................................................................................................................
GlobalAlloc
..................................................................................................................................................
GlobalFree
..................................................................................................................................................
GlobalLock
..................................................................................................................................................
GlobalUnlock
..................................................................................................................................................
malloc ..................................................................................................................................................
free
..................................................................................................................................................
Datum und
.........................................................................................................................................................
Uhrzeit
_strdate ..................................................................................................................................................
_strtime ..................................................................................................................................................
difftime ..................................................................................................................................................
KillTimer ..................................................................................................................................................
mktime ..................................................................................................................................................
SetTime ..................................................................................................................................................
strftime ..................................................................................................................................................
time
..................................................................................................................................................
Sonstige .........................................................................................................................................................
Funktionen
FileDialog..................................................................................................................................................
Invalidate..................................................................................................................................................
MessageBox
..................................................................................................................................................
Print
..................................................................................................................................................
SetFH ..................................................................................................................................................
GetRValue
..................................................................................................................................................
GetGValue
..................................................................................................................................................
GetBValue
..................................................................................................................................................
RGB
..................................................................................................................................................
Verzeichnisfunktionen
.........................................................................................................................................................
_chdir ..................................................................................................................................................
_getcwd ..................................................................................................................................................
_getdcwd..................................................................................................................................................
_mkdir ..................................................................................................................................................
_rmdir ..................................................................................................................................................
_searchenv
..................................................................................................................................................
III
38
38
39
39
40
40
41
42
42
42
43
43
44
44
45
46
46
46
47
47
48
48
48
49
49
49
49
50
50
50
50
51
51
52
52
52
53
53
54
54
54
55
55
55
55
56
56
56
57
57
57
2 Klassenebibliothek
................................................................................................................................... 58
Klassenhierarchie
.........................................................................................................................................................
Allgemeine
.........................................................................................................................................................
Klassen
CObject ..................................................................................................................................................
© XOn Siftware GmbH, 2008
58
59
59
IV
Referenzhandbuch
CObject::GetClassName
...........................................................................................................................................
CNamedObj
..................................................................................................................................................
CNamedObj::Copy
...........................................................................................................................................
CNamedObj::Edit
...........................................................................................................................................
CNamedObj::GetName
...........................................................................................................................................
CNamedObj::SetName
...........................................................................................................................................
CColorMap
..................................................................................................................................................
CColorMap::Add
...........................................................................................................................................
CColorMap::CColorMap
...........................................................................................................................................
CColorMap::GetColor
...........................................................................................................................................
CColorMap::GetNr
...........................................................................................................................................
CColorMap::GetVal
...........................................................................................................................................
CColorMap::Reset
...........................................................................................................................................
CColorMap::Sort
...........................................................................................................................................
CGLMaterial
..................................................................................................................................................
CGLMaterial::Reset
...........................................................................................................................................
CGLMaterial::SetAmbient
...........................................................................................................................................
CGLMaterial::SetDiffuse
...........................................................................................................................................
CGLMaterial::SetSpecular
...........................................................................................................................................
CGLMaterial::SetEmission
...........................................................................................................................................
CGLMaterial::SetShininess
...........................................................................................................................................
CGLMaterial::SetAlpha
...........................................................................................................................................
CGrafDoc..................................................................................................................................................
CGrafDoc::AddPage
...........................................................................................................................................
CGrafDoc::DelPage
...........................................................................................................................................
CGrafDoc::EmptyTrash
...........................................................................................................................................
CGrafDoc::GetDocAtt
...........................................................................................................................................
CGrafDoc::GetNrPages
...........................................................................................................................................
CGrafDoc::GetPage
...........................................................................................................................................
CGrafDoc::GetPageNr
...........................................................................................................................................
CGrafDoc::GetRoot
...........................................................................................................................................
CGrafDoc::Invalidate
...........................................................................................................................................
CGrafDoc::MoveFirst
...........................................................................................................................................
CGrafDoc::MoveLast
...........................................................................................................................................
CGrafDoc::MovePage
...........................................................................................................................................
CGrafDoc::Print
...........................................................................................................................................
CGrafDoc::SetDocAtt
...........................................................................................................................................
CGrafDoc::SetFH
...........................................................................................................................................
CDBVariant
..................................................................................................................................................
CDBVariant
...........................................................................................................................................
class members
Member Functions
...........................................................................................................................................
CDBVariant::CDBVariant
......................................................................................................................................
CDBVariant::Clear
......................................................................................................................................
CDBVariant::GetBinaryData
......................................................................................................................................
CDBVariant::GetBinarySize
......................................................................................................................................
CDBVariant::GetString
......................................................................................................................................
Data Members
...........................................................................................................................................
CDBVariant::m_boolVal
......................................................................................................................................
CDBVariant::m_chVal
......................................................................................................................................
CDBVariant::m_dblVal
......................................................................................................................................
CDBVariant::m_dwType
......................................................................................................................................
CDBVariant::m_fltVal
......................................................................................................................................
CDBVariant::m_iVal
......................................................................................................................................
CDBVariant::m_lVal
......................................................................................................................................
CDBVariant::m_pbinary
......................................................................................................................................
© XOn Siftware GmbH, 2008
59
59
59
60
60
60
60
60
61
61
61
61
62
62
62
62
62
63
63
63
63
63
64
64
64
65
65
66
66
66
66
67
67
67
68
68
68
69
70
70
70
70
71
71
71
72
72
72
72
73
73
73
74
74
74
Inhaltsverzeichnis
CDBVariant::m_pdate
......................................................................................................................................
CDBVariant::m_pstring
......................................................................................................................................
CDatabase
..................................................................................................................................................
CDatabase
...........................................................................................................................................
Class Members
Member Functions
...........................................................................................................................................
CDatabase::BeginTrans
......................................................................................................................................
CDatabase::Cancel
......................................................................................................................................
CDatabase::CanTransact
......................................................................................................................................
CDatabase::CanUpdate
......................................................................................................................................
CDatabase::CDatabase
......................................................................................................................................
CDatabase::Close
......................................................................................................................................
CDatabase::CommitTrans
......................................................................................................................................
CDatabase::ExecuteSQL
......................................................................................................................................
CDatabase::GetBookmarkPersistence
......................................................................................................................................
CDatabase::GetConnect
......................................................................................................................................
CDatabase::GetCursorCommitBehavior
......................................................................................................................................
CDatabase::GetCursorRollbackBehavior
......................................................................................................................................
CDatabase::GetDatabaseName
......................................................................................................................................
CDatabase::IsOpen
......................................................................................................................................
CDatabase::OnSetOptions
......................................................................................................................................
CDatabase::Open
......................................................................................................................................
CDatabase::OpenEx
......................................................................................................................................
CDatabase::Rollback
......................................................................................................................................
CDatabase::SetLoginTimeout
......................................................................................................................................
CDatabase::SetQueryTimeout
......................................................................................................................................
Data Members
...........................................................................................................................................
CDatabase::m_hdbc
......................................................................................................................................
CRecordset
..................................................................................................................................................
CRecordset
...........................................................................................................................................
Class Members
Member Functions
...........................................................................................................................................
CRecordset::CanBookmark
......................................................................................................................................
CRecordset::Cancel
......................................................................................................................................
CRecordset::CanRestart
......................................................................................................................................
CRecordset::CanScroll
......................................................................................................................................
CRecordset::CanTransact
......................................................................................................................................
CRecordset::Check
......................................................................................................................................
CRecordset::CheckRowsetError
......................................................................................................................................
CRecordset::Close
......................................................................................................................................
CRecordset::CRecordset
......................................................................................................................................
CRecordset::FlushResultSet
......................................................................................................................................
CRecordset::GetBookmark
......................................................................................................................................
CRecordset::GetDefaultConnect
......................................................................................................................................
CRecordset::GetDefaultSQL
......................................................................................................................................
CRecordset::GetFieldValue
......................................................................................................................................
CRecordset::GetODBCFieldCount
......................................................................................................................................
CRecordset::GetODBCFieldInfo
......................................................................................................................................
CRecordset::GetRecordCount
......................................................................................................................................
CRecordset::GetRowsetSize
......................................................................................................................................
CRecordset::GetRowsFetched
......................................................................................................................................
CRecordset::GetRowStatus
......................................................................................................................................
CRecordset::GetStatus
......................................................................................................................................
CRecordset::GetSQL
......................................................................................................................................
CRecordset::GetTableName
......................................................................................................................................
CRecordset::IsBOF
......................................................................................................................................
CRecordset::IsDeleted
......................................................................................................................................
© XOn Siftware GmbH, 2008
V
74
75
75
75
76
76
77
77
77
78
78
79
79
79
80
80
80
81
81
82
82
83
84
85
85
85
85
86
86
89
89
89
90
90
90
90
91
92
92
93
93
94
94
95
97
97
97
98
98
99
99
100
100
101
101
VI
Referenzhandbuch
CRecordset::IsEOF
......................................................................................................................................
CRecordset::IsFieldDirty
......................................................................................................................................
CRecordset::IsFieldNull
......................................................................................................................................
CRecordset::IsOpen
......................................................................................................................................
CRecordset::Move
......................................................................................................................................
CRecordset::MoveFirst
......................................................................................................................................
CRecordset::MoveLast
......................................................................................................................................
CRecordset::MoveNext
......................................................................................................................................
CRecordset::MovePrev
......................................................................................................................................
CRecordset::OnSetOptions
......................................................................................................................................
CRecordset::Open
......................................................................................................................................
CRecordset::RefreshRowset
......................................................................................................................................
CRecordset::Requery
......................................................................................................................................
CRecordset::SetAbsolutePosition
......................................................................................................................................
CRecordset::SetBookmark
......................................................................................................................................
CRecordset::SetLockingMode
......................................................................................................................................
CRecordset::SetRowsetCursorPosition
......................................................................................................................................
Data Members
...........................................................................................................................................
CRecordset::m_hstmt
......................................................................................................................................
CRecordset::m_nFields
......................................................................................................................................
CRecordset::m_nParams
......................................................................................................................................
CRecordset::m_pDatabase
......................................................................................................................................
Grafkelemente
.........................................................................................................................................................
CAxisNode
..................................................................................................................................................
CAxisNode::AddTick
...........................................................................................................................................
CAxisNode::EmptyTicks
...........................................................................................................................................
CAxisNode::GetNodeAtt
...........................................................................................................................................
CAxisNode::SetNodeAtt
...........................................................................................................................................
CBar2DNode
..................................................................................................................................................
CBar2DNode::AddBar
...........................................................................................................................................
CBar2DNode::AddLayer
...........................................................................................................................................
CBar2DNode::GetNodeAtt
...........................................................................................................................................
CBar2DNode::SetData
...........................................................................................................................................
CBar2DNode::SetNodeAtt
...........................................................................................................................................
CContourNode
..................................................................................................................................................
CContourNode::GetNodeAtt
...........................................................................................................................................
CContourNode::SetData
...........................................................................................................................................
CContourNode::SetNodeAtt
...........................................................................................................................................
CContourNode::SetNodeData
...........................................................................................................................................
CDibNode
..................................................................................................................................................
CGraf2DNode
..................................................................................................................................................
CGraf2DNode::AddTrace
...........................................................................................................................................
CGraf2DNode::DelTrace
...........................................................................................................................................
CGraf2DNode::GetNodeAtt
...........................................................................................................................................
CGraf2DNode::GetTrace
...........................................................................................................................................
CGraf2DNode::GetTraceIndex
...........................................................................................................................................
CGraf2DNode::SetNodeAtt
...........................................................................................................................................
CGraf2DNode::SetTraceData
...........................................................................................................................................
CGraf3DNode
..................................................................................................................................................
CGraf3DNode::GetNodeAtt
...........................................................................................................................................
CGraf3DNode::SetData
...........................................................................................................................................
CGraf3DNode::SetNodeAtt
...........................................................................................................................................
CGraf3DNode::SetNodeData
...........................................................................................................................................
CGrafNode
..................................................................................................................................................
CGrafNode::AddNode
...........................................................................................................................................
© XOn Siftware GmbH, 2008
102
102
103
103
104
105
105
106
106
106
107
110
110
111
112
112
113
114
114
114
114
115
115
116
117
117
118
118
121
121
122
123
123
124
126
126
127
128
130
132
132
133
134
134
135
135
136
137
140
140
141
142
144
146
147
Inhaltsverzeichnis
CGrafNode::Clear
...........................................................................................................................................
CGrafNode::DelNode
...........................................................................................................................................
CGrafNode::GetDocument
...........................................................................................................................................
CGrafNode::GetNodeAtt
...........................................................................................................................................
CGrafNode::GetPos
...........................................................................................................................................
CGrafNode::GetSize
...........................................................................................................................................
CGrafNode::GetSubAxis
...........................................................................................................................................
CGrafNode::GetSubLeg
...........................................................................................................................................
CGrafNode::GetSubNode
...........................................................................................................................................
CGrafNode::GetSubPie
...........................................................................................................................................
CGrafNode::GetSubPlane
...........................................................................................................................................
CGrafNode::GetSubSzene
...........................................................................................................................................
CGrafNode::GetSubText
...........................................................................................................................................
CGrafNode::GetSubTransform1D
...........................................................................................................................................
CGrafNode::GetSubTransform2D
...........................................................................................................................................
CGrafNode::OnEditBackground
...........................................................................................................................................
CGrafNode::OnEditColor
...........................................................................................................................................
CGrafNode::OnEditData
...........................................................................................................................................
CGrafNode::OnEditFont
...........................................................................................................................................
CGrafNode::OnEditName
...........................................................................................................................................
CGrafNode::OnEditPen
...........................................................................................................................................
CGrafNode::SetAbsPos
...........................................................................................................................................
CGrafNode::SetNodeAtt
...........................................................................................................................................
CGrafNode::SetPos
...........................................................................................................................................
CGrafNode::SetSize
...........................................................................................................................................
CPie2DNode
..................................................................................................................................................
CPie2DNode::AddPie
...........................................................................................................................................
CPie2DNode::DelPie
...........................................................................................................................................
CPie2DNode::GetNodeAtt
...........................................................................................................................................
CPie2DNode::SetData
...........................................................................................................................................
CPie2DNode::SetNodeAtt
...........................................................................................................................................
CPlaneNode
..................................................................................................................................................
CPlaneNode::GetNodeAtt
...........................................................................................................................................
CPlaneNode::SetNodeAtt
...........................................................................................................................................
CRectNode
..................................................................................................................................................
CRectNode::GetNodeAtt
...........................................................................................................................................
CRectNode::SetNodeAtt
...........................................................................................................................................
CSzene..................................................................................................................................................
CSzene::GetNodeAtt
...........................................................................................................................................
CSzene::SetNodeAtt
...........................................................................................................................................
CTabNode
..................................................................................................................................................
CTabNode::GetData
...........................................................................................................................................
CTabNode::GetNodeAtt
...........................................................................................................................................
CTabNode::SetData
...........................................................................................................................................
CTabNode::SetNodeAtt
...........................................................................................................................................
CTextNode
..................................................................................................................................................
CTextNode::Add
...........................................................................................................................................
CTextNode::AddTime
...........................................................................................................................................
CTextNode::AddDate
...........................................................................................................................................
CTextNode::GetNodeAtt
...........................................................................................................................................
CTextNode::SetNodeAtt
...........................................................................................................................................
CTextNode::SetText
...........................................................................................................................................
CTransform1D
..................................................................................................................................................
CTransform1D::GetNodeAtt
...........................................................................................................................................
CTransform1D::GetPhys
...........................................................................................................................................
© XOn Siftware GmbH, 2008
VII
148
148
148
148
151
151
151
152
152
153
153
154
154
154
155
155
156
156
156
156
156
157
157
162
162
162
163
163
164
164
165
166
167
168
169
170
170
172
172
173
175
176
176
177
177
180
181
181
181
181
182
183
184
184
185
VIII
Referenzhandbuch
CTransform1D::PUtoLU
...........................................................................................................................................
CTransform1D::SetMapMode
...........................................................................................................................................
CTransform1D::SetNodeAtt
...........................................................................................................................................
CTransform1D::SetPhys
...........................................................................................................................................
CTransform2D
..................................................................................................................................................
CTransform2D::GetNodeAtt
...........................................................................................................................................
CTransform2D::GetPhys
...........................................................................................................................................
CTransform2D::GetTyp
...........................................................................................................................................
CTransform2D::PUtoLU
...........................................................................................................................................
CTransform2D::SetNodeAtt
...........................................................................................................................................
CTransform2D::SetPhys
...........................................................................................................................................
CTransform2D::SetTyp
...........................................................................................................................................
Kurvenelemente
.........................................................................................................................................................
CBar2DTrace
..................................................................................................................................................
CBar2DTrace::AddLayer
...........................................................................................................................................
CBar2DTrace::GetTraceAtt
...........................................................................................................................................
CBar2DTrace::RemoveLayer
...........................................................................................................................................
CBar2DTrace::SetTraceAtt
...........................................................................................................................................
CBar3DTrace
..................................................................................................................................................
CBar3DTrace::AddLayer
...........................................................................................................................................
CBar3DTrace::GetTraceAtt
...........................................................................................................................................
CBar3DTrace::RemoveLayer
...........................................................................................................................................
CBar3DTrace::SetTraceAtt
...........................................................................................................................................
CGraf3DTrace
..................................................................................................................................................
CGraf3DTrace::GetTraceAtt
...........................................................................................................................................
CGraf3DTrace::SetTraceAtt
...........................................................................................................................................
CKurve2DTrace
..................................................................................................................................................
CKurve2DTrace::GetTraceAtt
...........................................................................................................................................
CKurve2DTrace::SetTraceAtt
...........................................................................................................................................
CKurve3DTrace
..................................................................................................................................................
CKurve3DTrace::GetTraceAtt
...........................................................................................................................................
CKurve3DTrace::SetTraceAtt
...........................................................................................................................................
CPaintObj
..................................................................................................................................................
CPaintObj::GetTraceAtt
...........................................................................................................................................
CPaintObj::SetTraceAtt
...........................................................................................................................................
Attribute ...........................................................................................................................................
Attribute
......................................................................................................................................
Farben ......................................................................................................................................
Float ......................................................................................................................................
Font ......................................................................................................................................
Füllmuster
......................................................................................................................................
Integer ......................................................................................................................................
Long ......................................................................................................................................
Matrix ......................................................................................................................................
Stift ......................................................................................................................................
String ......................................................................................................................................
Symbol......................................................................................................................................
Vector ......................................................................................................................................
CPPolyTrace
..................................................................................................................................................
CPPolyTrace::GetTraceAtt
...........................................................................................................................................
CPPolyTrace::SetTraceAtt
...........................................................................................................................................
CVect2DTrace
..................................................................................................................................................
CVect2DTrace::GetTraceAtt
...........................................................................................................................................
CVect2DTrace::SetTraceAtt
...........................................................................................................................................
CWhiskTrace
..................................................................................................................................................
© XOn Siftware GmbH, 2008
185
185
186
188
188
188
189
189
190
190
191
192
193
193
194
194
194
194
197
197
197
197
198
200
200
200
203
203
203
205
205
205
207
208
209
211
211
212
213
213
213
214
214
214
215
215
216
216
216
217
217
218
218
218
220
Inhaltsverzeichnis
CWhiskTrace::GetTraceAtt
...........................................................................................................................................
CWhiskTrace::SetTraceAtt
...........................................................................................................................................
Datenelemente
.........................................................................................................................................................
CText ..................................................................................................................................................
CText::GetData
...........................................................................................................................................
CText::GetLen
...........................................................................................................................................
CText::SetData
...........................................................................................................................................
CDia ..................................................................................................................................................
CDia::GetData
...........................................................................................................................................
CDia::GetItem
...........................................................................................................................................
CDia::GoFirst
...........................................................................................................................................
CDia::GoNext
...........................................................................................................................................
CDia::GoTo
...........................................................................................................................................
CDia::Read
...........................................................................................................................................
CDia::SetItem
...........................................................................................................................................
CODBC..................................................................................................................................................
CODBC::Close
...........................................................................................................................................
CODBC::GetColumnName
...........................................................................................................................................
CODBC::GetColumnType
...........................................................................................................................................
CODBC::GetDSN
...........................................................................................................................................
CODBC::GetNrCols
...........................................................................................................................................
CODBC::GetTableName
...........................................................................................................................................
CODBC::GoFirstTable
...........................................................................................................................................
CODBC::GoNextTable
...........................................................................................................................................
CODBC::LoadColumn
...........................................................................................................................................
CODBC::Open
...........................................................................................................................................
CODBC::SetDSN
...........................................................................................................................................
CI4Vector
..................................................................................................................................................
CI4Vector::Append
...........................................................................................................................................
CI4Vector::CI4Vector
...........................................................................................................................................
CI4Vector::Copy
...........................................................................................................................................
CI4Vector::Edit
...........................................................................................................................................
CI4Vector::FreeExtra
...........................................................................................................................................
CI4Vector::GetAt
...........................................................................................................................................
CI4Vector::GetSize
...........................................................................................................................................
CI4Vector::GetUpperBound
...........................................................................................................................................
CI4Vector::InsertAt
...........................................................................................................................................
CI4Vector::Min
...........................................................................................................................................
CI4Vector::Max
...........................................................................................................................................
CI4Vector::RemoveAll
...........................................................................................................................................
CI4Vector::RemoveAt
...........................................................................................................................................
CI4Vector::SetAt
...........................................................................................................................................
CI4Vector::SetAtGrow
...........................................................................................................................................
CI4Vector::SetSize
...........................................................................................................................................
CI4Vector::GetData
...........................................................................................................................................
CI4Vector::SetData
...........................................................................................................................................
CI4Vector::MinMax
...........................................................................................................................................
CI4Vector::Sort
...........................................................................................................................................
CF4Vector
..................................................................................................................................................
CF4Vector::Append
...........................................................................................................................................
CF4Vector::CF4Vector
...........................................................................................................................................
CF4Vector::Copy
...........................................................................................................................................
CF4Vector::Edit
...........................................................................................................................................
CF4Vector::FreeExtra
...........................................................................................................................................
CF4Vector::GetAt
...........................................................................................................................................
© XOn Siftware GmbH, 2008
IX
220
220
224
224
224
225
225
225
227
228
228
229
229
229
229
230
230
230
231
231
231
232
232
232
232
233
233
233
234
234
234
234
235
235
235
236
236
237
237
238
238
239
239
240
240
241
241
242
242
243
243
243
244
244
244
X
Referenzhandbuch
CF4Vector::GetData
...........................................................................................................................................
CF4Vector::GetSize
...........................................................................................................................................
CF4Vector::GetUpperBound
...........................................................................................................................................
CF4Vector::InsertAt
...........................................................................................................................................
CF4Vector::Max
...........................................................................................................................................
CF4Vector::Min
...........................................................................................................................................
CF4Vector::MinMax
...........................................................................................................................................
CF4Vector::RemoveAll
...........................................................................................................................................
CF4Vector::RemoveAt
...........................................................................................................................................
CF4Vector::SetAt
...........................................................................................................................................
CF4Vector::SetAtGrow
...........................................................................................................................................
CF4Vector::SetData
...........................................................................................................................................
CF4Vector::SetSize
...........................................................................................................................................
CF4Vector::Sort
...........................................................................................................................................
CDTVector
..................................................................................................................................................
CDTVector::Append
...........................................................................................................................................
CDTVector::CDTVector
...........................................................................................................................................
CDTVector::Copy
...........................................................................................................................................
CDTVector::Edit
...........................................................................................................................................
CDTVector::FreeExtra
...........................................................................................................................................
CDTVector::GetAt
...........................................................................................................................................
CDTVector::GetData
...........................................................................................................................................
CDTVector::GetSize
...........................................................................................................................................
CDTVector::GetUpperBound
...........................................................................................................................................
CDTVector::InsertAt
...........................................................................................................................................
CDTVector::Max
...........................................................................................................................................
CDTVector::Min
...........................................................................................................................................
CDTVector::MinMax
...........................................................................................................................................
CDTVector::RemoveAll
...........................................................................................................................................
CDTVector::RemoveAt
...........................................................................................................................................
CDTVector::SetAt
...........................................................................................................................................
CDTVector::SetAtGrow
...........................................................................................................................................
CDTVector::SetData
...........................................................................................................................................
CDTVector::SetSize
...........................................................................................................................................
CDTVector::Sort
...........................................................................................................................................
CF8Vector
..................................................................................................................................................
CF8Vector::Add
...........................................................................................................................................
CF8Vector::Append
...........................................................................................................................................
CF8Vector::AsExp
...........................................................................................................................................
CF8Vector::AsLin
...........................................................................................................................................
CF8Vector::AsPoly
...........................................................................................................................................
CF8Vector::Blackman
...........................................................................................................................................
CF8Vector::BlackmanHarries
...........................................................................................................................................
CF8Vector::CF8Vector
...........................................................................................................................................
CF8Vector::Convolve
...........................................................................................................................................
CF8Vector::Copy
...........................................................................................................................................
CF8Vector::CosineTapered
...........................................................................................................................................
CF8Vector::CrossPower
...........................................................................................................................................
CF8Vector::Derivative
...........................................................................................................................................
CF8Vector::Div
...........................................................................................................................................
CF8Vector::Edit
...........................................................................................................................................
CF8Vector::ExactBlackman
...........................................................................................................................................
CF8Vector::ExpFit
...........................................................................................................................................
CF8Vector::Exponential
...........................................................................................................................................
CF8Vector::FFT
...........................................................................................................................................
© XOn Siftware GmbH, 2008
244
245
245
246
247
247
248
248
248
249
249
250
250
251
251
252
252
253
253
253
253
254
254
255
255
256
256
257
257
258
258
259
259
260
260
260
262
262
263
263
263
264
264
265
265
265
265
266
266
267
267
267
268
268
269
Inhaltsverzeichnis
CF8Vector::FHT
...........................................................................................................................................
CF8Vector::FIR
...........................................................................................................................................
CF8Vector::FIRPara
...........................................................................................................................................
CF8Vector::FlatTop
...........................................................................................................................................
CF8Vector::Force
...........................................................................................................................................
CF8Vector::FreeExtra
...........................................................................................................................................
CF8Vector::GaussWhiteNoise
...........................................................................................................................................
CF8Vector::GeneralCosine
...........................................................................................................................................
CF8Vector::GetAt
...........................................................................................................................................
CF8Vector::GetData
...........................................................................................................................................
CF8Vector::GetDim
...........................................................................................................................................
CF8Vector::GetSize
...........................................................................................................................................
CF8Vector::GetUpperBound
...........................................................................................................................................
CF8Vector::Hamming
...........................................................................................................................................
CF8Vector::Hanning
...........................................................................................................................................
CF8Vector::Histogram
...........................................................................................................................................
CF8Vector::IFFT
...........................................................................................................................................
CF8Vector::IIR
...........................................................................................................................................
CF8Vector::InsertAt
...........................................................................................................................................
CF8Vector::Integral
...........................................................................................................................................
CF8Vector::KaiserBessel
...........................................................................................................................................
CF8Vector::Let
...........................................................................................................................................
CF8Vector::LinFit
...........................................................................................................................................
CF8Vector::Max
...........................................................................................................................................
CF8Vector::Mean
...........................................................................................................................................
CF8Vector::Median
...........................................................................................................................................
CF8Vector::Min
...........................................................................................................................................
CF8Vector::Moment
...........................................................................................................................................
CF8Vector::MrqFit
...........................................................................................................................................
CF8Vector::Mult
...........................................................................................................................................
CF8Vector::PolyFit
...........................................................................................................................................
CF8Vector::Power
...........................................................................................................................................
CF8Vector::RemoveAll
...........................................................................................................................................
CF8Vector::RemoveAt
...........................................................................................................................................
CF8Vector::Scalarproduct
...........................................................................................................................................
CF8Vector::SetAt
...........................................................................................................................................
CF8Vector::SetAtGrow
...........................................................................................................................................
CF8Vector::SetData
...........................................................................................................................................
CF8Vector::SetDim
...........................................................................................................................................
CF8Vector::SetSize
...........................................................................................................................................
CF8Vector::Sinus
...........................................................................................................................................
CF8Vector::Sort
...........................................................................................................................................
CF8Vector::Square
...........................................................................................................................................
CF8Vector::Sub
...........................................................................................................................................
CF8Vector::Triangle
...........................................................................................................................................
CF8Vector::TrianglePattern
...........................................................................................................................................
CF8Vector::Variance
...........................................................................................................................................
CSTRVector
..................................................................................................................................................
CSTRVector::Append
...........................................................................................................................................
CSTRVector::Copy
...........................................................................................................................................
CSTRVector::CSTRVector
...........................................................................................................................................
CSTRVector::Edit
...........................................................................................................................................
CSTRVector::FreeExtra
...........................................................................................................................................
CSTRVector::GetAt
...........................................................................................................................................
CSTRVector::GetSize
...........................................................................................................................................
© XOn Siftware GmbH, 2008
XI
269
270
271
272
272
273
273
273
274
274
274
275
275
276
276
277
277
278
278
279
279
280
280
281
281
281
282
282
282
284
284
285
285
285
286
286
286
287
288
288
288
289
289
290
290
291
291
291
292
292
293
293
293
293
294
XII
Referenzhandbuch
CSTRVector::GetUpperBound
...........................................................................................................................................
CSTRVector::InsertAt
...........................................................................................................................................
CSTRVector::Max
...........................................................................................................................................
CSTRVector::Min
...........................................................................................................................................
CSTRVector::RemoveAt
...........................................................................................................................................
CSTRVector::RemoveAll
...........................................................................................................................................
CSTRVector::SetAt
...........................................................................................................................................
CSTRVector::SetAtGrow
...........................................................................................................................................
CSTRVector::SetSize
...........................................................................................................................................
CSTRVector::Sort
...........................................................................................................................................
CF8Matrix
..................................................................................................................................................
CF8Matrix::Add
...........................................................................................................................................
CF8Matrix::CompDiv
...........................................................................................................................................
CF8Matrix::CompMult
...........................................................................................................................................
CF8Matrix::Copy
...........................................................................................................................................
CF8Matrix::CF8Matrix
...........................................................................................................................................
CF8Matrix::Edit
...........................................................................................................................................
CF8Matrix::GetAt
...........................................................................................................................................
CF8Matrix::GetData
...........................................................................................................................................
CF8Matrix::GetDim
...........................................................................................................................................
CF8Matrix::GetDims
...........................................................................................................................................
CF8Matrix::GetRows
...........................................................................................................................................
CF8Matrix::GetCols
...........................................................................................................................................
CF8Matrix::Invert
...........................................................................................................................................
CF8Matrix::Max
...........................................................................................................................................
CF8Matrix::Min
...........................................................................................................................................
CF8Matrix::MinMax
...........................................................................................................................................
CF8Matrix::Mult
...........................................................................................................................................
CF8Matrix::SetAt
...........................................................................................................................................
CF8Matrix::SetData
...........................................................................................................................................
CF8Matrix::SetDims
...........................................................................................................................................
CF8Matrix::Sub
...........................................................................................................................................
CF8Matrix::Transpose
...........................................................................................................................................
CI4Matrix
..................................................................................................................................................
CI4Matrix::Copy
...........................................................................................................................................
CI4Matrix::CI4Matrix
...........................................................................................................................................
CI4Matrix::Edit
...........................................................................................................................................
CI4Matrix::GetAt
...........................................................................................................................................
CI4Matrix::GetCols
...........................................................................................................................................
CI4Matrix::GetData
...........................................................................................................................................
CI4Matrix::GetDim
...........................................................................................................................................
CI4Matrix::GetDims
...........................................................................................................................................
CI4Matrix::GetRows
...........................................................................................................................................
CI4Matrix::Max
...........................................................................................................................................
CI4Matrix::Min
...........................................................................................................................................
CI4Matrix::MinMax
...........................................................................................................................................
CI4Matrix::SetAt
...........................................................................................................................................
CI4Matrix::SetDims
...........................................................................................................................................
CF4Matrix
..................................................................................................................................................
CF4Matrix::Copy
...........................................................................................................................................
CF4Matrix::CF4Matrix
...........................................................................................................................................
CF4Matrix::Edit
...........................................................................................................................................
CF4Matrix::GetAt
...........................................................................................................................................
CF4Matrix::GetCols
...........................................................................................................................................
CF4Matrix::GetData
...........................................................................................................................................
© XOn Siftware GmbH, 2008
294
294
295
296
296
297
297
297
298
298
299
299
300
300
300
300
301
301
301
301
302
302
302
303
303
304
304
304
305
305
306
306
306
306
307
307
307
308
308
309
309
309
310
310
310
311
311
312
312
312
313
313
313
314
314
Inhaltsverzeichnis
CF4Matrix::GetDim
...........................................................................................................................................
CF4Matrix::GetDims
...........................................................................................................................................
CF4Matrix::GetRows
...........................................................................................................................................
CF4Matrix::Max
...........................................................................................................................................
CF4Matrix::Min
...........................................................................................................................................
CF4Matrix::MinMax
...........................................................................................................................................
CF4Matrix::SetAt
...........................................................................................................................................
CF4Matrix::SetDims
...........................................................................................................................................
CDTMatrix
..................................................................................................................................................
CDTMatrix::Copy
...........................................................................................................................................
CDTMatrix::CDTMatrix
...........................................................................................................................................
CDTMatrix::Edit
...........................................................................................................................................
CDTMatrix::GetAt
...........................................................................................................................................
CDTMatrix::GetCols
...........................................................................................................................................
CDTMatrix::GetData
...........................................................................................................................................
CDTMatrix::GetDim
...........................................................................................................................................
CDTMatrix::GetDims
...........................................................................................................................................
CDTMatrix::GetRows
...........................................................................................................................................
CDTMatrix::Max
...........................................................................................................................................
CDTMatrix::Min
...........................................................................................................................................
CDTMatrix::MinMax
...........................................................................................................................................
CDTMatrix::SetAt
...........................................................................................................................................
CDTMatrix::SetDims
...........................................................................................................................................
CSTRMatrix
..................................................................................................................................................
CSTRMatrix::Copy
...........................................................................................................................................
CSTRMatrix::CSTRMatrix
...........................................................................................................................................
CSTRMatrix::Edit
...........................................................................................................................................
CSTRMatrix::GetAt
...........................................................................................................................................
CSTRMatrix::GetCols
...........................................................................................................................................
CSTRMatrix::GetDim
...........................................................................................................................................
CSTRMatrix::GetDims
...........................................................................................................................................
CSTRMatrix::GetRows
...........................................................................................................................................
CSTRMatrix::Max
...........................................................................................................................................
CSTRMatrix::Min
...........................................................................................................................................
CSTRMatrix::SetAt
...........................................................................................................................................
CSTRMatrix::SetDims
...........................................................................................................................................
Obsolet .........................................................................................................................................................
CTimeVect
..................................................................................................................................................
CTimeVect::GetData
...........................................................................................................................................
CTimeVect::GetLen
...........................................................................................................................................
CTimeVect::SetData
...........................................................................................................................................
CVector..................................................................................................................................................
CMatrix ..................................................................................................................................................
GetPoolTimeVect
..................................................................................................................................................
GetPoolVector
..................................................................................................................................................
GetPoolMatrix
..................................................................................................................................................
Index
© XOn Siftware GmbH, 2008
XIII
314
315
315
315
316
316
317
317
317
318
318
318
319
319
319
319
320
320
320
321
321
321
321
322
322
322
323
323
323
324
324
324
325
325
326
326
327
327
327
327
327
328
328
328
329
329
331
1
Referenzhandbuch
1
Programmierreferenz
In dieser Dokumentation finden sie die Beschreibung der Laufzeitbibliothek und der
Klassenbibliothek.
1.1
Laufzeitbibliothek
Die Laufzeitbibliothek gliedert sich in thematische Untergruppen
Dateifunktionen
Verzeichnisfunktionen
Mathematische Funktionen
Stringfunktionen
Datenpoolfunktionen
Speichermanagement
Datum und Uhrzeit
Sonstige
1.1.1
Datei-Funktionen
Dateifunktionen
Die hier behandelten Funktionen ermöglichen den Zugriff auf Dateien.
Funktionen:
· fdopen
· fopen
· fclose
· fseek
· feof
· ferror
· fprintf
· fscanf
· fread
· fflush
· ftell
· fgetc
· fgetpos
· fgets
· _filelength
· _fileno
· fputc
· fputs
· putc
· rewind
· _splitpath
· _makepath
· _fullpath
· _getw
1.1.1.1
_filelength
Syntax:
long _filelength(int handle);
Beschreibung:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
2
Ermittelt die Länge einer Datei in Bytes.
_filelength liefert die Länge der über handle angegebenen Datei in Bytes zurück.
Rückgabewert:
Bei fehlerfreier Ausführung liefert _filelength die Dateigröße in Bytes als long-Wert. Im Fehlerfall
liefert filelength -1 zurück.
1.1.1.2
_fileno
Syntax:
int _fileno(FILE *stream);
Beschreibung:
Liefert das zu einem Stream gehörende Datei-Handle.
_fileno liefert das Handle des über den Parameter stream angegebenen Stream zurück. Wenn
stream mehr als ein Handle zugeordnet ist, wird das beim ersten Öffnen des Stream vergebene
Handle zurückgeliefert.
Rückgabewert:
_fileno liefert das zu stream gehörende Datei-Handle als Integer zurück.
1.1.1.3
_fullpath
Header:
char* _fullpath(char* buffer,char* path,int buflen)
Beschreibung:
Konvertiert einen relativen Pfadnamen in einen absoluten.
_fullpath konvertiert den relativen Pfadnamen in path in einen absoluten Pfadnamen. Dieser wird
in dem Zeichen-Array gespeichert, auf das buffer zeigt. buflen gibt an, wieviele Zeichen in buffer
gespeichert werden können.
_fullpath liefert NULL zurück, wenn der Puffer nicht groß genug für den absoluten Pfadnamen ist
oder der Pfad eine ungültige Laufwerksangabe enthält.
Wenn buffer NULL ist, reserviert _fullpath einen Puffer mit bis zu _MAX_PATH Zeichen. Dieser
Puffer sollte durch einen Aufruf von free freigegeben werden, wenn er nicht mehr benötigt wird.
Die Konstante _MAX_PATH ist in stdlib.h definiert.
Rückgabewert:
Bei fehlerfreier Ausführung liefert _fullpath einen Zeiger auf den Puffer zurück, der den absoluten
Pfadnamen enthält. Andernfalls ist das Ergebnis NULL.
1.1.1.4
_getw
Header:
int _getw(FILE* stream)
Beschreibung:
Liest einen Integerwert aus einem Stream.
_getw liest den nächsten Integer aus dem durch stream bezeichneten Eingabe-Stream. Eine
spezielle Anordnung des Dateiinhalts wird nicht vorausgesetzt.
_getw sollte nicht benutzt werden, wenn der Stream im Textmodus geöffnet wurde.
Rückgabewert:
_getw liefert die nächste Zahl vom Typ integer auf dem Eingabe-Stream zurück.
Bei Überschreitung des Dateiendes oder einem Fehler ist der Rückgabewert EOF.
Hinweis:
Da EOF aber auch einen gültigen Wert darstellen kann, sollte ein expliziter Test mit feof oder
ferror folgen, um auf Dateiende oder Fehler zu prüfen.
© XOn Siftware GmbH, 2008
3
Referenzhandbuch
1.1.1.5
_makepath
Header:
void _makepath(char* path,char* drive,char* dir,char* name,char* ext)
Beschreibung:
Erzeugt einen Pfadnamen aus einzelnen Komponenten.
_makepath erzeugt einen Pfadnamen aus Einzelkomponenten. Der neue Pfadname heißt
X:\DIR\SUBDIR\NAME.EXT
Dabei gilt:
drive = X:
dir = \DIR\SUBDIR\
name = NAME
ext = . EXT
Ist drive leer oder NULL, wird keine Laufwerksbezeichnung in den Pfadnamen eingefügt. Fehlt
nach drive der abschließende Doppelpunkt (:), wird er automatisch in den Pfadnamen eingefügt.
Ist dir leer oder NULL, wird kein Verzeichnis in den Pfadnamen eingefügt. Fehlt nach dir der
abschließende Schrägstrich (\ oder /), wird automatisch ein umgekehrter Schrägstrich (Backslash)
in den Pfadnamen eingefügt.
Ist name leer oder NULL, wird kein Dateiname in den Pfadnamen eingefügt.
Ist ext leer oder NULL, wird keine Namenserweiterung in den Pfadnamen eingefügt. Fehlt der
Punkt (.) zu Beginn der Namenserweiterung, wird er automatisch in den Pfadnamen eingefügt.
_makepath setzt voraus, daß der mit path übergebene String eine ausreichende Größe für den
konstruierten Pfadnamen hat. Die Maximalgröße ist _MAX_PATH, wobei _MAX_PATH in stdlib.h
definiert ist.
_makepath und _splitpath verhalten sich invers zueinander. Die Anwendung von _makepath auf
die durch _splitpath ermittelten Elemente eines vollständigen Pfadnamens ergeben wieder das
Original.
1.1.1.6
_splitpath
Header:
void _splitpath(char* path,char* drive,char* dir,char* name,char* ext);
Beschreibung:
Zerlegt einen vollständigen Pfadnamen in seine Einzelkomponenten.
_splitpath übernimmt im Parameter path einen vollständigen Dateinamen als String der Form
X:\DIR\SUBDIR\NAME.EXT
und zerlegt ihn in seine vier Einzelkomponenten. Diese werden in den durch drive, dir, name und
ext bezeichneten Strings gespeichert. (Alle fünf Parameter müssen übergeben werden, einzelne
davon dürfen aber NULL sein, was zur Folge hat, daß die zugehörige Komponente zwar analysiert,
aber nicht gespeichert wird.) Für Maximalgrößen aller beteiligen Strings sind in stdlib.h die
Konstanten _MAX_DRIVE, _MAX_DIR, _MAX_PATH, _MAX_FNAME und _MAX_EXT definiert.
Dabei muß das abschließende Nullzeichen jeweils mitgezählt werden.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
4
Konstante String
_MAX_PATH path
_MAX_DRIVE drive; inklusive Doppelpunkt (:)
_MAX_DIR dir; inklusive führendem und abschließendem umgekehrten Schrägstrich (\)
_MAX_FNAME name
_MAX_EXT ext; inklusive führendem Punkt (.)
_splitpath unterstellt, daß die durch drive, dir, name und ext bezeichneten Strings eine
ausreichende Größe haben, um jede nicht leere Komponente zu speichern.
_splitpath behandelt die Interpunktionszeichen aus path in folgender Weise:
· drive enthält den Laufwerksbezeichner mit einem Doppelpunkt (C:, A: usw.).
· dir enthält einen führenden und abschließenden umgekehrten Schrägstrich (\BC \INCLUDE\,
\SOURCE\ usw.).
· name enthält den Dateinamen.
· ext enthält den Punkt, der die Namenserweiterung einleitet (.C, .EXE usw.).
_makepath und _splitpath verhalten sich invers zueinander. Die Anwendung von _makepath auf
die durch _splitpath ermittelten Elemente eines vollständigen Pfadnamens ergeben wieder das
Original.
1.1.1.7
fclose
Syntax:
int fclose(FILE* stream);
Beschreibung:
Schließt einen Stream.
fclose schließt den durch stream angegebenen Stream, wobei alle zum Stream gehörenden Puffer
zuvor auf Diskette bzw. Platte geschrieben werden. Durch das System reservierte Puffer werden
durch fclose freigegeben. Puffer, die mit setbuf oder setvbuf zugeordnet wurden, werden nicht
automatisch freigegeben (es sei denn, beim Aufruf von setvbuf wurde als Pufferzeiger der Wert
NULL übergeben).
Rückgabewert:
fclose liefert bei fehlerfreier Ausführung den Wert 0, im Fehlerfall den Wert EOF (-1) zurück
1.1.1.8
fdopen
Syntax:
FILE *fdopen(int handle, char *type);
Beschreibung:
Ordnet einem Datei-Handle einen Stream zu.
fdopen ordnet dem offenen Datei-Handle handle, das über einen Aufruf creat, dup, dup2, oder
open. erhalten wurde, einen Stream zu. Der Typ des Stream muß zum Modus des Datei-Handle
passen.
Der Parameter type kann einen der folgenden Werte annehmen:
r
Öffnen nur für Leseoperationen
w
Erzeugen für Schreiboperationen
a
Öffnen bzw. Erzeugen für Schreiboperationen (anhängend)
r+
Öffnen für Lese- und Schreiboperationen. (Nur existierende Dateien)
w+
Erzeugen einer neuen Datei für Lese- und Schreiboperationen.
a+
Öffnen bzw. Erzeugen zum Lesen und für Schreiboperationen (anhängend)
Bei der Öffnung kann zusätzlich explizit angegeben werden, ob die Datei im Text- (t) oder
© XOn Siftware GmbH, 2008
5
Referenzhandbuch
Binärmodus (b) bearbeitet werden soll. Die Angabe geschieht durch ein einfaches Anhängen des
jeweiligen Buchstabens (also wb, w+b, rt, a+t etc.). Mit r+ und w+ erzeugte Dateien können sowohl
gelesen als auch beschrieben werden:
Zwischen einem Wechsel von "Schreiben" nach "Lesen" muß allerdings
ein Aufruf von fseek oder rewind stattfinden.
Zwischen einem Wechsel von "Lesen" nach "Schreiben" muß ebenfalls
ein Aufruf von fseek oder rewind stattfinden, es sei denn, die
Leseoperation hat das Dateiende erreicht.
Rückgabewert:
fdopen liefert bei fehlerfreier Ausführung einen Zeiger auf den neu geöffneten Stream zurück, im
Fehlerfall den Wert NULL.
1.1.1.9
feof
Syntax:
int feof(FILE *stream);
Beschreibung:
Prüft, ob das Ende eines Stream erreicht ist.
feof prüft das Dateiende-Flag des über stream angegebenen Stream. Dieses Flag wird beim
Erreichen des Dateiendes automatisch gesetzt. Leseoperationen liefern dann solange dieses Flag,
bis rewind aufgerufen oder die Datei geschlossen wird. Vor jeder Schreiboperation in diese Datei
wird das Flag gelöscht.
Rückgabewert:
feof liefert einen Wert ungleich 0 zurück, wenn das Dateiende-Flag des angegebenen Stream
gesetzt ist, ansonsten ist der Rückgabewert 0.
1.1.1.10 ferror
Syntax:
int ferror(FILE *stream);
Beschreibung:
Prüft Fehlerbedingungen bei Streams.
ferror ist eine Funktion, die den über stream angegebenen Stream auf Schreib- und Lesefehler
prüft. Das Fehler-Flag eines Stream bleibt nach einem Fehler solange gesetzt, bis entweder
clearerr oder rewind aufgerufen oder der Stream geschlossen wird.
Rückgabewert:
ferror liefert einen Wert ungleich null zurück, wenn das Fehler-Flag des angegebenen stream
gesetzt ist, sonst den Wert 0.
1.1.1.11 fflush
Syntax:
int fflush(FILE *stream);
Beschreibung:
Schreibt den Ausgabepuffer eines Stream in die zugeordnete Datei.
fflush erzwingt bei gepufferten Ausgabe-Streams ein Schreiben eventueller Pufferinhalte, sorgt
also dafür, daß ausgegebene Daten in die zugehörige Datei geschrieben werden. Der durch
stream bezeichnete Stream bleibt offen. Auf ungepufferte Streams hat fflush keine Auswirkung.
Rückgabewert:
Bei fehlerfreier Ausführung liefert fflush den Wert 0, im Fehlerfall den Wert -1 (EOF) zurück.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
6
1.1.1.12 fgetc
Syntax:
int fgetc(FILE *stream);
Beschreibung:
Liest ein Zeichen aus einem Stream.
fgetc liest das jeweils nächste Zeichen aus dem Eingabe-Stream stream.
Rückgabewert:
fgetc konvertiert bei fehlerfreier Ausführung das gelesene Zeichen in einen int-Wert ohne
Vorzeichenerweiterung und liefert diesen zurück. Bei Erreichen des Dateiendes oder im Fehlerfall
wird der Wert -1 (EOF) zurückgeliefert.
1.1.1.13 fgetpos
Syntax:
int fgetpos(FILE *stream, long *pos);
Beschreibung:
Ermittelt die aktuelle Position des Dateizeigers einer Datei.
fgetpos speichert die Position des zu stream gehörigen Dateizeigers in *pos. Der Wert wird
speziell codiert gespeichert und ist nur als Parameter für einen folgenden Aufruf von fsetpos
sinnvoll.
Rückgabewert:
fgetpos liefert bei fehlerfreier Ausführung 0 zurück. Im Fehlerfall liefert fgetpos einen Wert ungleich
null und setzt die globale Variable errno auf:
9 (EBADF) Ungültiges Handle
22 (EINVAL) Ungültiges Argument
1.1.1.14 fgets
Syntax:
char *fgets(char *s, int n, FILE *stream);
Beschreibung:
Liest einen String aus einem Stream.
fgets liest einen String aus stream in den durch s angegebenen String und bricht ab, wenn
entweder ein Zeilenvorschub (\n) gelesen wird oder n-1 Zeichen gelesen wurden. Der
Zeilenvorschub wird am Ende von s gespeichert. Anschließend hängt fgets automatisch ein
Nullzeichen (\0) an, um das Ende des Strings zu markieren.
Rückgabewert:
fgets liefert bei fehlerfreier Ausführung den durch s bezeichneten String zurück. Bei Erreichen des
Dateiendes oder im Fehlerfall ist der Rückgabewert NULL.
1.1.1.15 fopen
Syntax:
FILE *fopen(const char *filename, const char *mode);
Beschreibung:
Öffnet einen Stream.
fopen öffnet die durch filename bezeichnete Datei und ordnet ihr einen Stream zu. Zurückgeliefert
wird ein Zeiger auf diesen Stream, über den weitere Operationen mit diesem Stream ausgeführt
werden können.
Der Parameter mode kann einen der folgenden Werte annehmen:
© XOn Siftware GmbH, 2008
7
Referenzhandbuch
r
Öffnen nur für Leseoperationen
w
Erzeugen bzw. Überschreiben für Schreiboperationen
a
Öffnen bzw. Erzeugen für Schreiboperationen (anhängend)
r+
Öffnen für Lese- und Schreiboperationen.
w+
Erzeugen bzw. Überschreiben für Lese- und Schreiboperationen
a+
Öffnen bzw. Erzeugen für Lese- und Schreiboperationen (anhängend)
Bei der Öffnung kann zusätzlich explizit angegeben werden, ob die Datei im Modus text (t) oder
binary (b) bearbeitet werden soll. Die Angabe geschieht durch ein einfaches Anhängen des
jeweiligen Buchstabens (also wb, w+b, rt, a+t etc.). Im Parameter mode kann bei fopen das
Zeichen t bzw. b auch zwischen den Buchstaben und dem Pluszeichen eingefügt werden. So ist
beispielsweise rt+ identisch mit r+t. Mit r+ und w+ erzeugte Dateien können sowohl gelesen als
auch beschrieben werden:
Zwischen einem Wechsel von "Schreiben" nach "Lesen" muß allerdings
ein Aufruf von fseek oder rewind stattfinden.
Zwischen einem Wechsel von "Lesen" nach "Schreiben" muß ebenfalls
fseek oder rewind stattfinden, es sei denn, die Leseoperation hat das
Dateiende erreicht.
Rückgabewert:
fopen liefert bei fehlerfreier Ausführung einen Zeiger auf den neu geöffneten Stream, im Falle
eines Fehlers den Wert NULL zurück.
1.1.1.16 fprintf
Syntax:
int fprintf(FILE *stream, const char *format[, argument, ...]);
Beschreibung:
Schreibt formatiert in einen Stream.
Hinweis
Weitere Details über Formatierungsanweisungen finden Sie unter sprintf. fprintf übernimmt eine
Folge von Argumenten, wendet auf jedes die im Formatstring (Parameter format) festgelegte
Formatierungsanweisung an und schreibt die formatierten Daten in einen Stream. Die Anzahl der
Formatierungsanweisungen und der Argumente muß übereinstimmen.
Rückgabewert:
fprintf liefert bei fehlerfreier Ausführung die Anzahl der ausgegebenen Bytes, im Fehlerfall den
Wert -1 (EOF) zurück.
1.1.1.17 fputc
Syntax:
int fputc(int c, FILE *stream);
Beschreibung:
Schreibt ein Zeichen in einen Stream.
fputc schreibt das Zeichen c in den durch stream angegebenen Stream.
Rückgabewert:
fputc liefert das übergebene Zeichen c, im Fehlerfall den Wert -1 (EOF) zurück.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
8
1.1.1.18 fputs
Syntax:
int fputs(const char *s, FILE *stream);
Beschreibung:
Schreibt einen String in einen Stream.
fputs schreibt den nullterminierten String s in den angegebenen Ausgabe-Stream. Diese Funktion
erzeugt keinen automatischen Zeilenvorschub am Ende der Ausgabe und das abschließende
Nullzeichen (\0) wird nicht ausgegeben.
Rückgabewert:
Bei fehlerfreier Ausführung liefert fputs das zuletzt geschriebene Zeichen (einen positiven Wert),
im Falle eines Fehlers den Wert -1 (EOF) zurück.
1.1.1.19 fread
Syntax:
int fread(void *ptr, int size, int n, FILE *stream);
Beschreibung:
Liest Daten aus einem Stream.
fread liest n Datenelemente, die jeweils die Größe size Bytes haben, aus dem angegebenen
Stream in den Speicherbereich, auf den ptr zeigt. Es werden insgesamt (n * size) Bytes gelesen.
Rückgabewert:
fread liefert bei fehlerfreier Ausführung die Anzahl der gelesenen Datenelemente (nicht Bytes)
zurück. Im Falle eines Fehlers oder am Dateiende wird die Anzahl von Elementen (möglicherweise
0) zurückgeliefert, die noch fehlerfrei gelesen werden konnten.
1.1.1.20 fscanf
Syntax:
int fscanf(FILE *stream, const char *format,...);
Beschreibung:
Liest und formatiert Eingaben aus einem Stream.
fscanf liest eine Reihe von Eingabefeldern zeichenweise aus einem Stream. Entsprechend den
Formatierungsanweisungen, die fscanf im Formatstring format übergeben wurden, wird jedes Feld
gelesen, formatiert und an einer Adresse gespeichert, die nach format übergeben wurde. Die
Anzahl der Formatierungsanweisungen, der übergebenen Adressen und der Eingabefelder
müssen übereinstimmen.
Hinweis:
Unter der Funktion sscanf finden Sie eine ausführliche Beschreibung der
Formatierungsanweisungen.
fscanf kann das Lesen eines bestimmten Eingabefeldes abbrechen, bevor das normale Feldende
(ein Whitespace-Zeichen) erreicht ist. fsanf kann auch aus verschiedenen Gründen den
Lesevorgang vollständig abbrechen. Die möglichen Ursachen hierfür werden unter sscanf
erläutert.
Rückgabewert:
fscanf liefert die Anzahl der fehlerfrei gelesenen und gespeicherten Felder zurück. Gelesene, aber
nicht gespeicherte Felder werden nicht mitgezählt. Der Versuch, über das Ende einer Datei
hinauszulesen, ergibt den Wert -1 (EOF). Wenn überhaupt keine Felder gespeichert wurden, wird
0 zurückgeliefert.
© XOn Siftware GmbH, 2008
9
Referenzhandbuch
Beispiel:
/*
* Dieses Program schreibt formatierte
* Daten auf eine Datei. Danach liest es mit
* Hilfe von fscanf die Datein wieder aus
* der Datei zurück.
*/
int method::OnRun()
{
FILE *stream;
int l;
double fp;
char s[81];
char c;
stream = fopen( "fscanf.out", "w+" );
if( stream == NULL )
printf( "The file fscanf.out was not opened\n" );
else
{
fprintf( stream, "%s %ld %f%c", "a-string",
65000, 3.14159, 'x' );
/* Set pointer to beginning of file: */
fseek( stream, 0L, SEEK_SET );
/* Read data back from file: */
fscanf( stream, "%s", s );
fscanf( stream, "%ld", &l );
fscanf( stream, "%f", &fp );
fscanf( stream, "%c", &c );
fclose( stream );
}
return 1;
}
1.1.1.21 fseek
Syntax:
int fseek(FILE *stream, long offset, int whence);
Beschreibung:
Setzt den Dateizeiger eines Streams auf eine neue Position.
fseek setzt den zu stream gehörenden Dateizeiger auf die neue Position, die offset Bytes von der
durch whence angegebenen Dateiposition entfernt ist. Für Streams im Textmodus sollte offset 0
sein oder ein Wert, der von ftell geliefert wurde. Die Art der Positionierung wird über drei Werte für
whence festgelegt:
Kürzel
SEEK_SET
SEEK_CUR
SEEK_END
Wert
(Wert 0)
(Wert 1)
(Wert 2)
Dateiposition
Relativ zum Dateianfang
Relativ zur aktuellen Position
Relativ zum Dateiende
Mit ungetc zurückgestellte Zeichen sind nach fseek nicht mehr erreichbar. Benutzen Sie fseek für
Stream-Ein-/Ausgabe und lseek für Datei-Handle-Ein-/Ausgabe.
In Dateien, die für Lese- und Schreiboperationen geöffnet worden sind, kann nach fseek zwischen
"Lesen" und "Schreiben" gewechselt werden.
Rückgabewert:
fseek liefert bei fehlerfreier Ausführung den Wert 0 zurück, ansonsten einen Wert ungleich null.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
10
Es ist möglich, daß fseek 0 zurückliefert, obwohl bei der Ausführung der Funktion ein Fehler
aufgetreten ist. Dies liegt daran, daß der Zeiger letztendlich von DOS gesetzt und das Ergebnis
der Positionierung nicht überprüft wird. fseek gibt nur für ungeöffnete Dateien oder Geräte einen
Fehlercode zurück. Im Fehlerfall wird die globale Variable errno auf einen der folgenden Werte
gesetzt:
EBADF (9)
EINVAL (22)
ESPIPE (29)
Ungültiger Dateizeiger
Ungültiges Argument
Suche auf diesem Gerät nicht möglich
1.1.1.22 ftell
Header
int ftell(FILE* stream);
Beschreibung
Liefert den aktuellen Dateizeiger.
ftell liefert den aktuellen Dateizeiger von stream zurück. Die Position wird relativ zum Dateianfang
in Bytes gemessen (falls es sich um eine Binärdatei handelt). Der von ftell zurückgelieferte Wert
kann bei einem nachfolgenden Aufruf von fseek verwendet werden.
Rückgabewert
ftell liefert bei fehlerfreier Ausführung die aktuelle Position des Dateizeigers zurück.
Im Fehlerfall ist der Rückgabewert -1L, und die globale Variable errno wird auf einen der beiden
folgenden Werte gesetzt:
· EBADF Ungültiger Dateizeiger
· ESPIPE Illegale Suche auf Gerät
1.1.1.23 getc
Header:
int getc(FILE* stream);
Beschreibung:
Liest ein Zeichen aus einem Stream.
getc gibt das nächste Zeichen aus dem gegebenen Eingabe-Stream zurück und erhöht den
Dateizeiger des Streams entsprechend, daß dieser auf das nächste Zeichen zeigt.
Hinweis:
In Win32 oder Win32 GUI-Anwendungen muß stdin umgelenkt werden.
Rückgabewert:
getc liefert bei fehlerfreier Ausführung das gelesene Zeichen als int ohne Vorzeichenerweiterung
zurück. Am Dateiende oder im Fehlerfall liefert die Funktion EOF zurück.
1.1.1.24 putc
Header
int putc(int c,FILE* stream);
Beschreibung
Schreibt ein Zeichen in einen Stream.
Das Makro putc schreibt das Zeichen c in den durch stream angegebenen Stream.
Rückgabewert
putc liefert bei fehlerfreier Ausführung das übergebene Zeichen c zurück.
© XOn Siftware GmbH, 2008
11
Referenzhandbuch
Im Fehlerfall wird der Wert EOF zurückgeliefert. Im Fehlerfall wird der Wert EOF zurückgeliefert.
1.1.1.25 rewind
Header:
void rewind(FILE* stream);
Beschreibung:
Setzt einen Dateizeiger auf den Stream-Anfang.
rewind ist äquivalent zu fseek(stream, 0L, SEEK_SET), löscht aber nicht nur das Dateiende-Flag
(wie rewind), sondern auch eventuell gesetzte Fehler-Flags.
In Dateien, die für Lese- und Schreibzugriffe geöffnet worden sind, kann nach rewind zwischen
"Lesen" und "Schreiben" gewechselt werden.
1.1.2
Mathematische funktionen
1.1.2.1
Mathematifunktionen
Mathematifunktionen
Die hier behandelten Funktionen stellen grundlegende Mathematik zur Verfügung.
Funktionen :
· sin
· cos
· tan
· asin
· acos
· atan
· atan2
· sinh
· cosh
· tanh
· sqrt
· pow
· log
· log10
· exp
· floor
· ceil
· fabs
· rand
· srand
1.1.2.1.1 acos
Syntax:
double acos(double x);
Beschreibung:
Berechnet den Arcuscosinus. acos liefert den Arcuscosinus des Eingabewerts. Das Argument von
acos muß sich im Bereich von -1 bis 1 befinden.
Rückgabewert:
Bei einem Argument zwischen -1 und +1 liefert acos einen Werte im Bereich von 0 bis p zurück.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
12
1.1.2.1.2 asin
Syntax:
double asin(double x);
Beschreibung:
Berechnet den Arcussinus. asin liefert für ein reelles Argument den Arcussinus des eingegebenen
Werts zurück. asin erwartet ein reelles Argument im Bereich von -1 bis +1.
Rückgabewert:
Der Rückgabewert von asin liegt für reelle Argumente im Bereich von - p/2 bis p/2.
1.1.2.1.3 atan
Syntax:
double atan(double x);
Beschreibung:
atan berechnet den Arcustangens des übergebenen Arguments.
Rückgabewert:
atan liefert einen Wert im Bereich von -p/2 bis p/2.
1.1.2.1.4 atan2
Syntax:
double atan2(double y, double x);
Beschreibung:
atan2 liefert den Arcustangens von y/x und erzeugt auch dann noch korrekte Resultate, wenn sich
der ergebende Winkel p/2 oder -p/2 nähert (den Polstellen der Tangensfunktion, für Werte von x
nahe Null).
Rückgabewert:
atan2 liefert einen Wert im Bereich von -p bis p.
1.1.2.1.5 ceil
Syntax:
double ceil(double x);
Beschreibung:
Rundet auf zum nächsten ganzzahligen Wert.
ceil ermittelt den kleinsten Integerwert größer oder gleich x.
Rückgabewert:
Die Funktion ceil liefert ihr ganzzahliges Ergebnis als Wert vom Typ double zurück.
1.1.2.1.6 cos
Syntax:
double cos(double x);
Beschreibung:
Berechnet den Cosinus des Arguments. cos erwartet einen Winkel in der Einheit rad als Argument
und liefert den dazugehörigen Cosinus zurück.
Rückgabewert:
© XOn Siftware GmbH, 2008
13
Referenzhandbuch
cos liefert Werte im Bereich von -1 bis +1 zurück.
1.1.2.1.7 cosh
Syntax:
double cosh(double x);
Beschreibung:
cosh Berechnet den Cosinus hyperbolicus des Arguments.
Rückgabewert:
Bei fehlerfreier Ausführung liefert cosh den Cosinus hyperbolicus des Arguments.
1.1.2.1.8 exp
Syntax:
double exp(double x);
Beschreibung:
Berechnet die Exponentialfunktion des Argumentes x.
Rückgabewert:
liefert den Wert ex zurück.
1.1.2.1.9 fabs
Syntax:
double fabs(double x);
Beschreibung:
Berechnet den absoluten Wert einer Gleitkommazahl.
fabs berechnet den absoluten Betrag des double-Arguments x.
Rückgabewert:
fabs liefert den absoluten Betrag von x zurück.
1.1.2.1.10 floor
Syntax:
double floor(double x);
Beschreibung:
Rundet ab.
floor rundet auf den größten ganzzahligen Wert ab, der nicht größer als x ist.
Rückgabewert:
floor liefert den Integer als double-Wert zurück.
1.1.2.1.11 log
Syntax:
double log(double x);
Beschreibung:
log Berechnet den natürlichen Logarithmus des Arguments x.
Rückgabewert:
log liefert den natürlichen Logarithmus des Argumentes x zurück, falls x>0 ist.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
14
1.1.2.1.12 log10
Syntax:
double log10(double x);
Beschreibung:
log10 Berechnet den Logarithmus zur Basis 10 des Arguments x.
Rückgabewert:
log10 liefert den Logarithmus zur Basis 10 des Argumentes x zurück, falls x>0 ist.
1.1.2.1.13 pow
Syntax:
double pow(double x, double y);
Beschreibung:
pow liefert das Ergebnis der Berechnung xy zurück.
Rückgabewert:
Bei fehlerfreier Ausführung liefert pow das Ergebnis der Berechnung xy zurück. Falls sich die
Argumente nicht innerhalb der zulässigen Grenzen halten, so wird ein Überlauf erzeugt oder das
Ergebnis ist nicht berechenbar.
1.1.2.1.14 ran1
Syntax:
double ran1(int *idum);
Beschreibung:
liefert eine gleichverteilte Zufallszahl.
Rückgabewert:
Zufallszahl.
1.1.2.1.15 rand
Syntax:
int rand(void);
Beschreibung:
Erzeugt eine Zufallszahl.
rand verwendet ein multiplikatives Kongruenzverfahren (Multiplikation mit anschließender ModuloOperation), um Pseudo-Zufallszahlen im Bereich von 0 bis 0x7FFF (RAND_MAX) zu erzeugen.
Die Periode des Zufallszahlengenerators beträgt 232.
Rückgabewert:
rand liefert die erzeugte Pseudo-Zufallszahl zurück.
1.1.2.1.16 sin
Syntax:
double sin(double x);
Beschreibung:
Liefert den Sinus des Arguments zurück. sin erwartet einen Winkel in der Einheit rad als Argument
und liefert den dazugehörigen Sinus zurück.
© XOn Siftware GmbH, 2008
15
Referenzhandbuch
Rückgabewert:
sin liefert den Sinus des Eingabewertes.
1.1.2.1.17 sinh
Syntax:
double sinh(double x);
Beschreibung:
sinh berechnet den Sinus hyperbolicus.
Rückgabewert:
sinh liefert den Sinus hyperbolicus von x zurück.
1.1.2.1.18 sqrt
Syntax:
double sqrt(double x);
Beschreibung:
sqrt Berechnet die positive Quadratwurzel des Arguments .
Rückgabewert:
sqrt liefert die positive Quadratwurzel des Arguments, wenn x eine positive Zahl ist.
1.1.2.1.19 srand
Syntax:
void srand(int seed);
Beschreibung:
Initialisiert den Zufallszahlengenerator.
Der Zufallszahlengenerator wird beim Aufruf von srand mit dem seed == 1 neu initialisiert. Durch
den Aufruf von srand mit einem bestimmten Parameter seed kann er auf einen neuen Startwert
gesetzt werden.
Rückgabewert:
Keiner.
1.1.2.1.20 tan
Syntax:
double tan(double x);
Beschreibung:
Liefert den Tangens des Arguments. tan erwartet einen Winkel in der Einheit rad als Argument
und liefert den dazugehörigen Tangens sin(x)/cos(x) zurück.
Rückgabewert:
tan liefert den Tangens von x zurück.
1.1.2.1.21 tanh
Syntax:
double tanh(double x);
Beschreibung:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
16
tanh berechnet den Tangens hyperbolicus sinh(x)/cosh(x).
Rückgabewert:
tanh liefert den Tangens hyperbolicus von x.
1.1.2.2
Erweiterte Mathematikfunktionen
Erweiterte Mathematikfunktionen
Diese Funktionen ermöglichen den Zugriff auf eine erweiterte Mathematikbibliothek.
Funktionen :
· Bessel-Funktionen
· beta
· betai
· binom
· cabs
· chi2_p
· chi2_q
· erf
· erfc
· f_distr
· frexp
· gammp
· gammq
· gasdev
· poisson
· student
· modf
· _hypot
· _logb
· ran1
1.1.2.2.1 _cabs
Header:
double cabs(struct complex z);
Beschreibung:
Berechnet den Absolutwert einer komplexen Zahl. cabs ist ein Makro, das den Absolutwert von z,
einer Struktur des Typs complex, berechnet. Dieser Strukturtyp ist in math.h folgendermaßen
definiert:
struct complex
{
double x, y;
};
wobei x den reellen und y den Imaginärteil der komplexen Zahl aufnimmt.
Der Aufruf von cabs entspricht einem Aufruf von sqrt mit den Quadraten der reellen und
imaginären Bestandteile von z, also
sqrt(z.x * z.x + z.y * z.y)
Rückgabewert:
cabs liefert den Absolutwert von z als double. Bei einem Überlauf liefert cabs HUGE_VAL und
setzt die globale Variable errno auf
ERANGE Ergebnis außerhalb des Rechenbereichs
© XOn Siftware GmbH, 2008
17
Referenzhandbuch
Die Fehlerbehandlung für diese Funktion kann über _matherr modifiziert werden.
1.1.2.2.2 _hypot
Header:
double hypot(double x,double y);
Beschreibung:
Berechnet die Hypotenuse eines rechtwinkligen Dreiecks.
hypot berechnet den Wert z, wobei gilt:
z2 = x2 + y2 und z >= 0.
Dies entspricht der Länge der Hypotenuse eines rechtwinkligen Dreiecks, dessen Kathete und
Ankathete die Längen x bzw. y haben.
Rückgabewert:
Bei fehlerfreier Ausführung wird z als double (hypot) zurückgeliefert. Im Falle eines Fehlers (zum
Beispiel bei einem Überlauf) liefert hypot HUGE_VAL zurück, und die globale Variable errno wird
auf folgenden Wert gesetzt:
ERANGE Ergebnis außerhalb des gültigen Bereichs
Die Fehlerbehandlung für hypot kann über die Funktion _matherr modifiziert werden.
1.1.2.2.3 _logb
Header:
double _logb(double d);
Beschreibung:
Extrahiert den Exponentialwert eines Gleitkommaarguments. Wenn das Argument nicht
normalisiert ist, wird es behandelt, als ob es normalisiert wäre.
Rückgabewert:
Der Rückgabewert ist der Exponent des übergebenen Wertes.
1.1.2.2.4 Bessel-Funktionen
Syntax:
double
double
double
double
double
double
double
double
double
double
double
double
_j0(double
_j1(double
_jn(int n,
_y0(double
_y1(double
_yn(int n,
_i0(double
_i1(double
_in(int n,
_k0(double
_k1(double
_kn(int n,
x);
x);
double
x);
x);
double
x);
x);
double
x);
x);
double
x);
x);
x);
x);
Beschreibung:
Diese Funktionen berechnen die Bessel- Funktionen. Die Funktionen _j0, _j1 und _jn berechnen
die Besselfunktionen der ersten Art mit Ordnung 0,1 oder n. Die Funktionen _y0, _y1 und _yn
berechnen Besselfunktionen der zweiten Art mit Ordnung 0,1 oder n. Die zugrundeliegenden
Funktionen lauten
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
18
(Besselfunktion erster Art)
(Besselfunktion zweiter Art)
Die Funktionen _i0, _i1 und _in berechnen die modifizierten Besselfunktionen der ersten Art mit
Ordnung 0,1 oder n. Die Funktionen _k0, _k1 und _kn berechnen die modifizierten
Besselfunktionen der zweiten Art mit Ordnung 0,1 oder n.
(modifizierte Besselfunktion erster Art)
(modifizierte Besselfunktion
zweiter Art)
Das Argument x muß positiv sein. Eine detailierte Beschreibung der Besselfunktionen findet sich in
mathematischen Formelsammlungen wie Taschenbuch der Mathematik (Bronstein/ Semendjajew;
Verlag Harri Deutsch; Thun und Frankfurt/Main). Diese Funktionen finden allgemein Verwendung
in der Theorie elektromagnetischer Wellen.
Rückgabewert:
Diese Funktionen liefern den Wert einer Besselfunktion an der Stelle x.
1.1.2.2.5 beta
Syntax:
double beta(double z,double w);
Beschreibung:
errechnet den Wert der Betafunktion nach der Formel
Rückgabewert:
Wert der Funktion.
1.1.2.2.6 betai
Syntax:
double betai(double a,double b,double x);
Beschreibung:
errechnet den Wert der unvollständigen Beta- Funktion nach der Formel
Rückgabewert:
Wert der Funktion.
© XOn Siftware GmbH, 2008
19
Referenzhandbuch
1.1.2.2.7 binom
Syntax:
double binom(double p,int k,int n);
Beschreibung:
errechnet die kumulative Binomialverteilung mit der unvollständigen Beta- Funktion. Dieses
Verfahren ist für großes n schneller als die direket Berechnung der Binomialsumme. Der
Zusammenhang von Binomialsumme und Betafunktion lautet wie folgt:
Rückgabewert:
Wert der Funktion.
1.1.2.2.8 chi2_p
Syntax:
double chi2_p(double x2,double ny);
Beschreibung:
errechnet die Chi-Quadrat Wahrscheinlichkeitsfunktion nach der Formel
Rückgabewert:
Wert der Funktion.
1.1.2.2.9 chi2_q
Syntax:
double chi2_q(double x2,double ny);
Beschreibung:
errechnet die komplementäre Chi-Quadrat Wahrscheinlichkeitsfunktion nach der Formel
Rückgabewert:
Wert der Funktion.
1.1.2.2.10 erf
Syntax:
double erf(double x);
Beschreibung:
errechnet die Fehlerfunktion E nach der Formel
Rückgabewert:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
20
Wert der Fehlerfunktion.
1.1.2.2.11 erfc
Syntax:
double erf(double x);
Beschreibung:
errechnet die komplementäre Fehlerfunktion E nach der Formel
Rückgabewert:
Wert der Fehlerfunktion.
1.1.2.2.12 f_distr
Syntax:
double f_distr(double t,double n1,double n2);
Beschreibung:
errechnet die Wahrscheinlichkeitsfunktion einer F- Verteilung nach der Formel
Rückgabewert:
Wert der Funktion.
1.1.2.2.13 frexp
Header:
double frexp(double x,int* exponent);
Beschreibung:
Ermittelt die Mantisse und den Exponenten einer Gleitkommazahl.
frexp berechnet zu x die Mantisse m (ein double-Wert, dessen absoluter Betrag größer/gleich 0.5
und kleiner als 1.0 ist) und den Integerwert n so, daß die Gleichung x = m * 2n gilt. Der Exponent n
wird in dem Integer gespeichert, auf den der Parameter exponent zeigt.
Rückgabewert:
frexp liefert die Mantisse m zurück. Die Fehlerbehandlung für frexp kann über die Funktion
_matherr modifiziert werden.
1.1.2.2.14 gammp
Syntax:
double gammp(double a,double x);
Beschreibung:
errechnet die unvollständige Gammafunktion P nach der Formel
© XOn Siftware GmbH, 2008
21
Referenzhandbuch
Rückgabewert:
Wert der Gammafunktion.
1.1.2.2.15 gammq
Syntax:
double gammq(double a,double x);
Beschreibung:
errechnet die komplementären unvollständige Gammafunktion Q nach der Formel
Rückgabewert:
Wert der Gammafunktion.
1.1.2.2.16 gasdev
Synatx:
double gasdev(int *idum);
Beschreibung:
liefert eine normalverteilte Zufallszahl;
Nach dem Box- Muller- Verfahren werden normalverteilte Zufallszahlen erzeugt.
Rückgabewert:
Zufallszahl.
1.1.2.2.17 modf
Header:
double modf(double x,double* ipart);
Beschreibung:
Teilt einen double- Wert in Vor- und Nachkommaanteil auf.
modf spaltet den double-Wert x in den ganzzahligen Vorkomma- und den Nachkomma-Anteil.
modf speichert den ganzzahligen Vorkomma-Anteil in ipart und liefert den Nachkomma-Anteil
zurück.
Rückgabewert:
modf liefert den Nachkomma-Anteil des Arguments x zurück.
1.1.2.2.18 poisson
Syntax:
double poisson(double x,double k);
Beschreibung:
errechnet die kumulative Poisson- Wahrscheinlichkeitsfunktion nach der Formel
Rückgabewert:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
Wert der Funktion.
1.1.2.2.19 student
Syntax:
double student(double t,double n1);
Beschreibung:
errechnet die Wahrscheinlichkeitsfunktion einer Student- Verteilung nach der Formel
Rückgabewert:
Wert der Funktion.
1.1.3
String-Manipulation
Stringmanipulation
Die hier behandelten Funktionen ermöglichen das bearbeiten von Strings.
Funktionen :
· atoi
· atol
· atof
· strcat
· strchr
· strcmp
· strcoll
· strcpy
· strcspn
· strerror
· stricmp
· strlen
· strlwr
· strncat
· strncmp
· strncpy
· _strnicmp
· _strnset
· strpbrk
· strrchr
· _strrev
· _strset
· strspn
· strstr
· strtok
· strtol
· _strupr
· strxfrm
· sprintf
· sscanf
© XOn Siftware GmbH, 2008
22
23
Referenzhandbuch
1.1.3.1
_strnicmp
Syntax:
int _strnicmp(const char *s1, const char *s2, int maxlen);
Beschreibung:
Vergleicht eine bestimmte Anzahl von Zeichen zweier Strings ohne Unterscheidung zwischen
Groß- und Kleinschreibung.
strnicmp vergleicht (in einem signed-Vergleich) maximal maxlen Zeichen von s1 und s2
miteinander. Es wird kein Unterschied zwischen Groß- und Kleinschreibung gemacht. Beginnend
mit dem ersten Zeichen wird zeichenweise verglichen, bis die korrespondierenden Zeichen
ungleich sind oder das Ende des Strings erreicht wird. Zurückgeliefert wird ein Wert (<0, 0 oder
>0), der auf dem Vergleich von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basiert.
Rückgabewerte (Integer-Wert)
<0
wenn s1 kleiner als s2 ist
=0
wenn s1 gleich s2 ist
>0
wenn s1 größer als s2 ist
1.1.3.2
_strnset
Syntax:
char *_strnset(char *s, int ch, int n);
Beschreibung:
Füllt eine angegebene Anzahl von Zeichen eines Strings mit einem bestimmten Zeichen.
strnset überschreibt die ersten n Zeichen des durch s angegebenen Strings mit dem Zeichen ch.
Wenn n > strlen(s) ist, dann wird n durch strlen(s) ersetzt. strnset beendet die Operation, wenn n
Zeichen überschrieben wurden oder wenn das abschließende Nullzeichen erreicht wird.
Rückgabewert:
strnset liefert s zurück.
1.1.3.3
_strrev
Syntax:
char *_strrev(char *s);
Beschreibung:
Dreht die Reihenfolge der Zeichen eines String um.
_strrev spiegelt die Reihenfolge sämtlicher Zeichen des über s angegebenen String (aus "Meier"
wird "reieM"). Das abschließende Nullzeichen bleibt unverändert.
Rückgabewert:
strrev liefert einen Zeiger auf den gespiegelten String zurück.
1.1.3.4
_strset
Syntax:
char *_strset(char *s, int ch);
Beschreibung:
Überschreibt sämtliche Zeichen eines String mit einem bestimmten Zeichen.
_strset überschreibt sämtliche Zeichen des durch s angegebenen String mit dem Zeichen ch und
bricht erst beim abschließenden Nullzeichen ab.
Rückgabewert:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
24
_strset liefert s zurück.
1.1.3.5
_strupr
Syntax:
char *_strupr(char *s);
Beschreibung:
_strupr konvertiert die Kleinbuchstaben des durch s angegebenen Strings in Großbuchstaben. Es
werden also die Buchstaben a bis z in die Buchstaben A bis Z konvertiert und alle anderen
Zeichen (insbesondere die deutschen Umlaute) bleiben unverändert.
Rückgabewert:
_strupr liefert s zurück.
1.1.3.6
atoi
Header:
int atoi(char* s);
Beschreibung:
Konvertiert einen String in eine Integerzahl.
atoi konvertiert den durch s bezeichneten String in einen int-Wert. Die Funktion erkennt die
folgenden Elemente (in der aufgeführten Reihenfolge):
· optionale führende Leerzeichen und/oder Tabulatoren;
· ein optionales Vorzeichen;
· eine Ziffernfolge.
Der String muß also folgendem generischen Format entsprechen:
[whitespace][sign][ddd]
Die Konvertierung endet beim ersten nicht interpretierbaren Zeichen. Eine Prüfung auf eventuelle
Überläufe findet nicht statt (die Funktionsergebnisse sind dann undefiniert) Rückgabewert
atoi liefert das Ergebnis der Konvertierung oder 0, wenn der zu interpretierende String nicht zu
einem Integerwert konvertierbar ist.
1.1.3.7
atol
Header:
int atol(char* s);
Beschreibung:
Konvertiert einen String in einen long-Wert
atol konvertiert den durch s bezeichneten String in einen long-Wert. atol erkennt die folgenden
Elemente (in der aufgeführten Reihenfolge):
· optionale führende Leerzeichen und/oder Tabulatoren;
· ein (optionales) Vorzeichen;
· eine Ziffernfolge.
Der String muß also folgendem generischen Format entsprechen:
[whitespace][sign][ddd]
© XOn Siftware GmbH, 2008
25
Referenzhandbuch
Die Konvertierung endet beim ersten nicht interpretierbaren Zeichen. Eine Prüfung auf eventuelle
Überläufe findet nicht statt (die Funktionsergebnisse sind dann undefiniert). Rückgabewert
atol liefert das Ergebnis der Konvertierung zurück. Wenn der zu interpretierende String nicht zu
einem long-Wert konvertiert werden kann, liefert atol 0 zurück.
1.1.3.8
atof
Header:
double atof(char* s);
Beschreibung:
Konvertiert einen String in eine Gleitkommazahl.
atof konvertiert den durch s bezeichneten String in eine Gleitkommazahl und liefert das Ergebnis
als double. Die Funktion erkennt dabei folgende Elemente in der Zeichendarstellung der
Gleitkommazahl:
· eine optionale Folge von Leerzeichen und/oder Tabulatoren;
· ein optionales Vorzeichen;
· eine Folge von Ziffern und einen optionalen Dezimalpunkt (die Ziffern können vor oder hinter
dem Dezimalpunkt stehen);
· einen optionalen Exponenten e oder E, gefolgt von einem optional vorzeichenbehafteten
Integerwert.
Der String muß dem folgenden Format entsprechen:
[whitespace][sign][ddd][.][ddd][e|E[sign]ddd]
atof erkennt zus/auml;tzlich +INF und -INF als positiv bzw. negativ Unendlich sowie +NAN und NAN (für "Not a Number").
Die Konvertierung bricht beim ersten nicht interpretierbaren Zeichen ab. strtod und _strtold
arbeiten ähnlich wie atof, erlauben aber eine bessere Fehlerbehandlung und werden daher in
manchen Anwendungen bevorzugt. Rückgabewert
Die Funktion liefern den konvertierten Wert des Eingabestrings zurück.
Im Fall eines Überlaufs liefert atof den Wert +HUGE_VAL oder -HUGE_VAL (bzw. _LHUGE_VAL)
zurück, und errno wird auf ERANGE gesetzt (Resultat außerhalb des zulässigen Bereichs). Die
Routine _matherr (bzw. _matherrl) wird nicht aufgerufen.
1.1.3.9
sprintf
Syntax:
int sprintf(char *buffer, const char *format[, argument, ...]);
Beschreibung:
Schreibt formatierte Ausgabe in einen String. sprintf übernimmt eine Reihe von Argumenten, auf
die jeweils eine Formatieranweisung angewendet wird. Die Formatieranweisungen sind in dem
String enthalten, auf den format zeigt. Die so formatierten Daten werden in den durch buffer
angegebenen String geschrieben.
sprintf wendet die erste Formatieranweisung auf das erste Argument an, die zweite auf das zweite
Argument usw. Die Anzahl der Formatieranweisungen und die der Argumente muß
übereinstimmen.
Rückgabewert:
sprintf liefert die Anzahl der ausgegebenen Zeichen zurück, wobei das abschließende Nullzeichen
nicht mitgezählt wird. Im Fehlerfall ist das Funktionsergebnis -1 (EOF).
Formatieranweisungen:
Die Formatieranweisungen für sprintf haben die folgende Syntax:
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
26
% [flags] [width] [.prec] [F|N|h|l|L] type_char
Jede Anweisung beginnt mit einem Prozentzeichen (%). Auf dieses Zeichen folgen (in der
angegebenen Reihenfolge) optionale Bestandteile des Format-Strings. In der folgenden Tabelle
sind die optionalen Bestandteile einer Formatieranweisung und ihre Bedeutung aufgelistet:
[flags]
Nutzung: optional
Wirkung: Flag-Zeichen Ausrichtung der Ausgabe, Vorzeichen, Dezimalpunkt, folgende Nullen,
oktale und hexadezimale Präfixe
[width]
Nutzung: optional
Wirkung: Width specifier Minimalzahl der ausgegebenen Zeichen, notfalls mit Leerzeichen oder
Nullen aufgefüllt
[prec]
Nutzung: optional
Wirkung: Präzisionsangabe Maximalzahl der ausgegebenen Zeichen. Bei Integerwerten die
Minimalzahl der ausgegenbenen Ziffern
[F|N|h|l|L]
Nutzung: optional
Wirkung: Größenmodifizieres Verändern der Standardgröße des Arguments:
N
F
h
l
near- Zeiger
far-Zeiger
short int
long
type_char
Nutzung: optional
Wirkung: Konvertierungstyp-Zeichen
Flags:
Sie können in jeder beliebigen Reihenfolge und Kombination auftreten:
Wirkung: Stellt das Ergebnis linksbündig dar und füllt von rechts mit Nullen auf. Wenn dieses Flag
nicht gesetzt ist, wird das Ergebnis linksbündig dargestellt und von rechts mit Nullen oder
Leerzeichen aufgefüllt.
+
Wirkung: Die Ergebnisse von vorzeichenbehafteten Konvertierungen beginnen immer mit einem
Plus- oder Minuszeichen (+ oder -).
Leerzeichen
Wirkung: Bei nicht-negativen Werten beginnt die Ausgabe immer mit einem Leerzeichen und nicht
mit einem Pluszeichen. negative Werte beginnen weiterhin mit einem Minuszeichen.
#
Wirkung: Legt fest, daß arg konvertiert wirt, wobei das Format alternative Form verwendet wird.
Hinweis:
Die Option (+) hat vor der Option Leerzeichen() Vorrang, wenn beide zusammen gesetzt sind.
Breitenangaben width
Die Breitenangabe legt die minimale Zahl auszugebender Zeichen fest. Die Breite kann auf zwei
Arten festgelegt werden:
direkt, innerhalb des Format-Strings
indirekt, über ein Sternchen (*).
Bei der Verwendung von * erwartet sprintf ein zusätzliches Argument, das in der Liste direkt vor
dem auszugebenden Wert stehen und den Typ int haben muß. Wenn eine Ausgabe weniger
Zeichen erzeugt als durch die Breitenangabe festgelegt ist, dann fügt sprintf (abhängig von den
© XOn Siftware GmbH, 2008
27
Referenzhandbuch
Flags) führende bzw. abschließende Leerzeichen ein; erzeugt die Ausgabe dagegen mehr
Zeichen, als durch die Breitenangabe festgelegt ist, dann wird diese einfach ignoriert. Ausgaben
werden durch die Breitenangabe in keinem Fall begrenzt oder abgeschnitten.
n
Wirkung: sprintf gibt mindestens n Zeichen aus und stellt nötigenfalls Leerzeichen voran
(Standard) bzw. fügt abschließende Leerzeichen an (Flag -).
0n
Wirkung: sprintf gibt mindestens n Zeichen aus und stellt nötigenfalls eine entsprechende Anzahl
führender Nullen voran.
*
Wirkung: Die Breitenangabe steht in der Parameterliste direkt vor dem auszugebenden Wert.
Präzisionsangaben
Die sprintf -Präzisionsangaben setzen die maximale Anzahl der zu druckenden Zeichen (oder die
miminale Anzahl von Integer-Ziffern). Eine sprintf-Präzisionsangabe wird immer mit einem
Dezimalpunkt (.) eingeleitet und so von einer eventuell vorangestellten Breitenangabe getrennt.
Dann wird wie bei [width] die Präzision auf eine von zwei Arten angegeben:
direkt, innerhalb des Format-Strings
indirekt, über ein Sternchen (*).
Wenn Sie ein * für die Präzisionsangabe verwenden, gibt das nächste Argument im Aufruf (als int
behandelt) die Präzision an. Wenn Sie Sternchen für die Breite, für die Präzision oder für beides
verwenden, muß das Breitenargument unmittelbar hinter den Angaben folgen, danach das
Präzisionsargument und schließlich das Argument für die zu konvertierenden Daten.
[.prec] Wirkung auf die Ausgabe
(none)
Wirkung: Die Standardwerte werden verwendet:
=1 für d,i,o,u,x und X
=6 für e,E und f
=alle signifikanten Stellen für g und G
=Ausgabe bis zum ersten Nullzeichen für s
=keine Auswirkungen auf c
.0
Wirkung: Standardwerte für d,i,o,u und x, keine Ausgabe des Dezimalpunkts für e,E und f.
.n
Wirkung: Ausgabe von n Zeichen bzw. n signifikanten Dezimalstellen. Falls der Ausgabewert mehr
als n Zeichen umfaßt, wird die Ausgabe unter Umständen abgeschnitten oder gerundet.
.*
Wirkung: Die Präzisionsangabe ist in der Parameterliste enthalten und muß dort als int vor dem
auszugebenden Wert stehen.
Für ein Feld wird kein numerisches Zeichen ausgegeben (d.h., das Feld ist leer), wenn die
folgenden Bedingungen zutreffen:
wenn eine Präzision explizit mit 0 angegeben wird
wenn es sich um ein Integerformat handelt (d, i, o, u, oder x)
wenn der auszugebende Wert 0 ist
Wirkung von [.prec] auf die Konvertierung:
Typzeichen
d
i
o
u
x,X
Wirkung von [.prec] (.n) auf die Konvertierung
Mindestens n Ziffern werden ausgegeben.
Nötigenfalls stellt sprintf führende Nullen voran.
Falls der auszugebende Wert mehr Stellen umfaßt.
als durch n angeggeben, wird der angegebene
Wert nicht abgeschnitten.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
e,E
E
28
n legt die Mindestanzahl der Stellen nach dem Komma
fest. Die letze Stelle wird gerundet.
n legt die Mindestanzahl signifikanter Dezimalstellen fest (inklusive
der Stellen vor dem Komma).
Die Ausgabe von n hat keine Wirkung.
Es werden höchstens n Zeichen ausgegeben.
f,g,G
c
s
Größenmodifizierer
Die folgenden Modifizierer legen fest, wie printf-Funktionen das nächste Argument arg[f]
interpretieren.
Modifizierer
F
N
h
l
L
Typ von arg
Zeiger (p, s,und n)
"
diouxX
diouxX
eEfgG
Wirkung auf die Interpretation von arg
Ein far-Zeiger
Ein near-Zeiger
Ein short int
Ein long int
Ein long double
Hinweis:
N kann mit keiner Konvertierung im Speichermodell Huge verwendet werden.
Diese Modifizierer legen fest, wie alle printf-Funktionen den Datentyp des korrespondierenden
Eingabearguments arg interpretieren.
Sowohl F als auch N reinterpretieren die Eingabevariable arg. Normalerweise ist arg für eine %p-,
%s- oder %n-Konvertierung ein Zeiger der für das Speichermodell voreingestellten Größe.h, l und
L überschreiben die Standardgröße der numerischen Dateneingabeargumente. Weder h noch l
beeinflussen Zeichen- (c,s) oder Zeigertypen (p,n).
Typ-Konvertierungszeichen:
Die Information in dieser Tabelle basiert auf der Annahme, daß in der Formatieranweisungkeine
Flag-Zeichen, Breitenangaben, Präzisionsangaben, oder Größenmodifizierer enthalten waren.
Hinweis: Bestimmte Konventionen begleiten einige dieser Formatieranweisungen.
Numerische Werte:
Typzeichen
d
i
o
u
x
X
Erwartete Eingabe
Integer
Integer
Integer
Integer
Integer
Integer
f
Gleitkomma
e
Gleitkomma
g
Gleitkomma
E
Gleitkomma
G
Gleitkomma
Ausgabeformat
signed int (dezimal)
signed int (dezimal)
unsigned int (oktal)
unsigned int (dezimal)
unsigned int (hexadezimal), Buchstaben a bis f
unsigned int (hexadezimal), Buchstaben A bis F
vorzeichenbehafteter Wert der Form
[-]dddd.dddd.
vorzeichenbehafteter Wert der Form
[-]d.dddde[+/-]ddd
vorzeichenbehafteter Wert im e- oder f-Format.
siehe e, aber mit dem Zeichen E vor dem
Exponenten
siehe e, aber mit dem Zeichen E vor dem
Exponenten
Hinweis zu g: Präzision gibt die Anzahl signifikanter Ziffern an. Abschließende Nullen und
Dezimalpunkt werden nur ausgegeben, wenn es nötig ist.
Zeichen:
© XOn Siftware GmbH, 2008
29
Referenzhandbuch
Typzeichen
c
Erwartete Eingabe
Zeichen
s
String-Zeiger
%
(nichts)
Zeiger:
Typzeichen
Erwartete Eingabe
n
*int
p
Zeiger
Ausgabeformat
einzelnes Zeichen
Ausgabe bis NULL oder bis
Zeichenzahl=[.prec]
Ausgabe des Zeichens %
Ausgabeformat
Speichert an der Position, auf die das
Eingabeargument zeigt, die Anzahl
derbis jetzt ausgegebenen Zeichen.
Gibt das Eingabeargument als Zeiger
in hexadezimaler Form aus (nearZeiger als YYYY, far-Zeiger als
XXXX:YYYY).
1.1.3.10 sscanf
Syntax:
int sscanf(const char *buffer, const char *format,...);
Beschreibung:
Liest und formatiert Eingaben aus einem String.
sscanf liest eine Reihe von Eingabefeldern zeichenweise aus dem durch buffer angegebenen
String. Auf jedes Feld wird dann die entsprechende Formatieranweisung angewendet, die im
durch format angegebenen Format-String enthalten ist. Gelesene Eingaben werden an den
Adressen gespeichert, die in den Parametern hinter format übergeben werden. Die Anzahl von
Eingabefeldern muß mit der Anzahl von Formatieranweisungen und Adressen übereinstimmen.
sscanf kann das Lesen eines bestimmten Eingabefeldes abbrechen, bevor das normale Feldende
(ein Whitespace-Zeichen) erreicht ist. sscanf kann auch aus verschiedenen Gründen den
Lesevorgang vollständig abbrechen.
Rückgabewert:
sscanf liefert die Anzahl der fehlerfrei gelesenen, konvertierten und gespeicherten Felder zurück.
Gelesene, aber nicht gespeicherte Felder werden nicht mitgezählt. Der Versuch, über das Ende
des Strings hinauszulesen, liefert den Wert EOF. Wurden keine Felder gespeichert, so wird 0
zurückgeliefert.
sscanf-Formatieranweisungen:
In ...scanf-Format-Strings, haben Formatieranweisungen die folgende Form:
% [*] [width] [F|N] [h|l|L] type_char
Jede Formatieranweisung beginnt mit dem Prozentzeichen (%). Nach dem Prozentzeichen %
folgen in der unten stehenden Reihenfolge:
[*]
Nutzung: Optional
Wirkung:Zeichen für Zuweisungsunterdrückung. Unterdrückt die Zuweisung des nächsten
Eingabefeldes.
[width]
Nutzung: Optional
Wirkung: Breitenangabe. Maximale Anzahl der zu lesenden Zeichen. Es können weniger Zeichen
gelesen werden, wenn die ...scanf-Funktion auf ein Whitespace- Zeichen oder ein nichtauswertbares Zeichen trifft .
[F|N]
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
30
Nutzung: Optional
Wirkung: Zeigergrößenmodifikation. Überschreibt die Standardgröße der Adresse:
N = near-Zeiger
F = far-Zeiger
[h|l|L]
Nutzung: Optional
Wirkung: Argumenttypmodifikation :
h
short int
long int, wenn type_char eine Integerl
Konvertierung festlegt.
double, wenn type_char eine
l
Gleitkommakonvertierung festlegt.
long double, (nur mit
L
Gleitkommakonvertierung zulässig)
type_char
Nutzung: Obligatorisch
Wirkung: Typzeichen
Zeichen für Zuweisungsunterdrückung
Das Zeichen für die Zuweisungsunterdrückung ist ein Sternchen (*), nicht zu verwechseln mit dem
Zeiger-Operator * von C. Wenn in einer Formatieranweisung dem Stern ein Prozentzeichen (%)
folgt, wird das nächste Eingabefeld gelesen, jedoch nicht dem nächsten Adressenargument
zugewiesen. Es wird davon ausgegangen, daß die unterdrückten Eingabedaten von dem Typ sind,
die das Typzeichen nach dem Stern angibt.
Breitenangaben
Die Breitenangabe (n), ein dezimaler Integer-Wert, gibt die maximale Anzahl von Zeichen an, die
vom aktuellen Eingabefeld gelesen werden sollen. Es werden bis zu n Zeichen gelesen,
konvertiert und im Argument der aktuellen Adresse gespeichert. Wenn das Eingabefeld weniger
als n Zeichen enthält, liest die ...scanf-Funktion alle Zeichen im Feld und fährt dann mit dem
nächsten Feld und der nächsten Formatieranweisung fort. Die Auswirkungen der Suche nach
zeichenmäßiger Übereinstimmung und die Auswirkungen der unterdrückten Zuweisungen sind
nicht exakt bestimmbar. Wenn die ...scanf-Funktion auf ein Whitespace-Zeichen oder ein nichtkonvertierbares Zeichen trifft, ehe sie "width" Zeichen gelesen hat, werden die bis dahin gelesenen
Zeichen gelesen, konvertiert und gespeichert, woraufhin die nächste Formatieranweisung gesucht
wird. Ein nicht-konvertierbares Zeichen ist eines, das nicht im angegebenen Format konvertiert
werden kann (8 oder 9 im oktalen Format; J oder K im hexadezimalen oder dezimalen Format
usw.).
Typzeichen
Die Information in der folgenden Tabelle basiert auf der Annahme, daß keine optionalen Zeichen,
Anweisungen oder Modifikationen (*, Breite oder Größe) in der Formatieranweisung enthalten
sind.
Hinweis:
Einige Formatieranweisungen erwarten bestimmte Konventionen.
Zahlen
Typ
d
D
e,E
f
g,G
o
Erwartete Eingabe
Dezimal Integer
Dezimal Integer
Gleitkomma
Gleitkomma
Gleitkomma
Oktal Integer
© XOn Siftware GmbH, 2008
Argumenttyp
Zeiger auf int (int *arg)
Zeiger auf long (long *arg)
Zeiger auf float (float *arg)
Zeiger auf float (float *arg)
Zeiger auf float (float *arg)
Zeiger auf int (int *arg)
31
Referenzhandbuch
O
I
u
Oktal Integer
Dezimal, oktal oder hexadezimal
Integer
Dezimal, oktal, od. hexadezimal Integer
Dezimal Integer vorzeichenlos
U
Dezimal Integer vorzeichenlos
x
X
Hexadezimal Integer
Hexadezimal Integer
i
Zeiger auf long (long *arg)
Zeiger auf int (int *arg)
Zeiger auf long (long *arg)
Zeiger auf unsigned int (unsigned int *arg)
Zeiger auf unsigned long (unsignedlong
*arg)
Zeiger auf int (int *arg)
Zeiger auf int (int *arg)
Zeichen
Typ
s
Erwartete Eingabe
Zeichen-String
c
Zeichen
%
%-Zeichen
Argumenttyp
Zeiger auf Array mit chars (char arg[])
Zeiger auf char (char *arg), wenn eine
Feldbreite zusammen mit dem Zeichen c
(z.B. %5c) gegeben ist. Zeiger auf Array mit
W-Zeichen (char arg[W])
Keine Konvertierung; % wird gespeichert
Zeiger
Typ
n
p
Erwartete Eingabe
Argumenttye
Zeiger auf int (int *arg): Die Anzahl der
erfolgreich gelesenen Zeichen (bis zu %n)
wird in int gespeichert.
Zeiger auf ein Objekt (far* or near*)%p
Hexadezimale Form : YYYY:ZZZZ oder
Standardkonvertierung, Zeigergröße
ZZZZ
abhängig vom Speichermodell
1.1.3.11 strcat
Syntax:
char *strcat(char *dest, const char *src);
Beschreibung:
Hängt einen String an einen anderen.
strcat hängt sämtliche Zeichen von src an die bereits in dest vorhandenen Zeichen an. Die Länge
des resultierenden Strings ist strlen(dest) + strlen(src).
Rückgabewert:
Zurückgeliefert wird ein Zeiger auf den zusammengefügten String.
1.1.3.12 strchr
Syntax:
char *strchr(const char *s, int c);
Beschreibung:
Sucht einen String nach dem ersten Auftreten eines bestimmten Zeichens ab.
strchr sucht den über s angegebenen String nach dem Zeichen c ab, wobei die Suche mit dem
ersten Zeichen von s beginnt. strchr findet die erste Fundstelle des Zeichens c im String s. Das
abschließende Nullzeichen wird zum Inhalt des String gezählt und als letztes verglichen, so daß
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
32
ein Aufruf wie strchr(strs,0)einen Zeiger auf das abschließende Nullzeichen von strs liefert.
Rückgabewert:
strchr liefert einen Zeiger auf die erste Fundstelle des Zeichens c im String s zurück bzw. den Wert
NULL, wenn der String dieses Zeichen nicht enthält.
1.1.3.13 strcmp
Syntax:
int strcmp(const char *s1, const char *s2);
Beschreibung:
Vergleicht zwei Strings miteinander. strcmp führt mit den Inhalten von s1 und s2 einen UnsignedVergleich durch. Beginnend mit dem ersten Zeichen werden die beiden Strings zeichenweise
verglichen, bis zwei korrespondierende Zeichen ungleich sind oder das Ende der Strings erreicht
wird.
Rückgabewerte (Integer-Wert)
<0
=0
>0
wenn s1 kleiner als s2 ist
wenn s1 gleich s2 ist
wenn s1 größer als s2 ist
1.1.3.14 strcoll
Syntax:
int strcoll(char *s1, char *s2);
Beschreibung:
Vergleicht zwei Strings.
strcoll vergleicht den String, auf den s1 zeigt, mit dem String, auf den s2 zeigt. Dabei wird die in
der Kategorie 1 (LC_COLLATE) der aktuellen Locale-Einstellung gesetzte Vergleichsreihenfolge
verwendet.
Rückgabewerte (Integer-Wert)
<0
=0
>0
wenn s1 kleiner als s2 ist
wenn s1 gleich s2 ist
wenn s1 größer als s2 ist
1.1.3.15 strcpy
Syntax:
char *strcpy(char *dest, const char *src);
Beschreibung:
Kopiert einen String in einen anderen.
strcpy kopiert den Inhalt des über src angegebenen Strings in den durch dest angegebenen
Speicherbereich. Das abschließende Nullzeichen von src wird als letztes Zeichen kopiert.
Rückgabewert:
strcpy liefert dest zurück.
© XOn Siftware GmbH, 2008
33
Referenzhandbuch
1.1.3.16 strcspn
Syntax:
int strcspn(const char *s1, const char *s2);
Beschreibung:
Liefert die Länge des Teilstrings zurück, der keines der Zeichen einer bestimmten Zeichenmenge
enthält.
strcspn liest den String s1 zeichenweise bis eines der in s2 enthaltenen Zeichen auftritt. Die
Anzahl der in s1 gelesenen Zeichen bildet den Rückgabewert. Das abschließende Nullzeichen
wird nicht mitgezählt. Beide Strings werden durch den Suchvorgang nicht verändert.
Rückgabewert:
strcspn liefert die Länge des Teilstrings von s1 zurück, der nur aus Zeichen besteht, die in s2 nicht
vorkommen.
1.1.3.17 strerror
Syntax:
char *strerror(int errnum);
Beschreibung:
Liefert einen Zeiger auf einen String mit einer Fehlermeldung.
strerror erwartet einen int-Wert im Parameter errnum und liefert einen Zeiger auf einen statischen
String zurück, der die zum Wert von errnum gehörige Fehlermeldung enthält.
Rückgabewert:
strerror liefert einen Zeiger auf den generierten Fehlerstring. Der String wird in einem statischen
Puffer erzeugt, der bei jedem Aufruf dieser Funktion überschrieben wird.
1.1.3.18 stricmp
Syntax:
int stricmp(const char *s1, const char *s2);
Beschreibung:
Vergleicht zwei Strings ohne Unterscheidung zwischen Groß- und Kleinschreibung.
stricmp führt mit den Inhalten von s1 und s2 einen unsigned-Vergleich durch. Beginnend mit dem
ersten Zeichen wird solange zeichenweise verglichen, bis die korrespondierenden Zeichen
ungleich sind oder das Ende der Strings erreicht wird. Beim Vergleich werden Groß- und
Kleinbuchstaben nicht unterschieden. Zurückgeliefert wird ein Wert(<0, 0 oder >0) der auf dem
Vergleich von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basiert.
Rückgabewerte (Integer-Wert)
<0
=0
>0
wenn s1 kleiner als s2 ist
wenn s1 gleich s2 ist
wenn s1 größer als s2 ist
1.1.3.19 strlen
Syntax:
int strlen(const char *s);
Beschreibung:
Berechnet die Länge eines Strings.
strlen berechnet die Länge des durch s angegebenen Strings.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
34
Rückgabewert:
strlen liefert die Anzahl der Zeichen des Strings s zurück. Das abschließende Nullzeichen wird
dabei nicht mitgezählt.
1.1.3.20 strlwr
Syntax:
char* _strlwr(char* string);
Beschreibung:
Die Funktion _strlwr wandeln jeden Großbuchstaben im null- terminierten Eingabestring in einen
Kleinbuchstaben. Andere Zeichen werden nicht verändert.
Rückgabewert:
Diese Funktion liefert einen Zeiger auf den konvertierten String.
1.1.3.21 strncat
Syntax:
char *strncat(char *dest, const char *src, int maxlen);
Beschreibung:
Hängt einen Teilstring an einen anderen an.
strncat hängt die ersten maxlen Zeichen von src an die bereits in dest vorhandenen Zeichen an.
Die Operation wird beendet, wenn entweder maxlen Zeichen kopiert wurden oder das Ende von
src erreicht ist. Als letztes schreibt strncat grundsätzlich ein Nullzeichen in dest. Die maximale
Länge des resultierenden Strings beträgst strlen(dest) + maxlen.
Rückgabewert:
strncat liefert dest zurück.
1.1.3.22 strncmp
Syntax:
int strncmp(const char *s1, const char *s2, int maxlen);
Beschreibung:
Vergleicht eine bestimmte Anzahl von Zeichen zweier Strings miteinander.
strncmp führt den gleichen unsigned-Vergleich wie strcmp durch, vergleicht aber maximal die
ersten maxlen Zeichen von s1 und s2 miteinander. Beginnend mit dem ersten Zeichen wird
zeichenweise verglichen, bis die korrespondierenden Zeichen ungleich sind oder maxlen Zeichen
untersucht worden sind.
Rückgabewerte (Integer-Wert)
<0
=0
>0
wenn s1 kleiner als s2 ist
wenn s1 gleich s2 ist
wenn s1 größer als s2 ist
1.1.3.23 strncpy
Syntax:
char *strncpy(char *dest, const char *src, int maxlen);
Beschreibung:
© XOn Siftware GmbH, 2008
35
Referenzhandbuch
Kopiert eine bestimmte Anzahl von Bytes von einem String in einen anderen, wobei strncpy kopiert
bis zu maxlen Zeichen des über src angegebenen Strings in den durch dest angegebenen
Speicherbereich. strncpy schreibt immer genau maxlen Zeichen - wenn src weniger als maxlen
Zeichen enthält, wird eine entsprechende zusätzliche Anzahl von Nullzeichen in dest angehängt.
Wenn src mehr als maxlen Zeichen umfaßt, bleibt der nach dest kopierte String ohne ein
abschließendes Nullzeichen.
Rückgabewert:
strncpy liefert dest zurück.
1.1.3.24 strpbrk
Syntax:
char *strpbrk(const char *s1, const char *s2);
Beschreibung:
Sucht einen String nach dem ersten Vorkommen bestimmter Zeichen ab.
strpbrk sucht den über s1 angegebenen String nach dem ersten Vorkommen eines in s2
enthaltenen Zeichens ab.
Rückgabewert:
Die Funktion liefert einen Zeiger auf die erste Fundstelle eines Zeichens aus s2 zurück. Erscheint
kein Zeichen aus s2 in s1, dann liefert strpbrk den Wert NULL zurück.
1.1.3.25 strrchr
Syntax:
char *strrchr(const char *s, int c);
Beschreibung:
Sucht einen String nach dem letzten Vorkommen eines bestimmten Zeichens ab.
strrchr sucht den über s angegebenen String nach dem Zeichen c ab, wobei die Suche mit dem
letzten Zeichen von s beginnt. Das abschließende Nullzeichen wird zum Stringinhalt gerechnet und
als erstes verglichen.
Rückgabewert:
strrchr liefert einen Zeiger auf das letzte Vorkommen des Zeichens c in s zurück bzw. den Wert
NULL, wenn der String dieses Zeichen nicht enthält.
1.1.3.26 strspn
Syntax:
int strspn(const char *s1, const char *s2);
Beschreibung:
Liefert die Länge des Teilstrings von s1 zurück, der ausschließlich aus den in s2 angegebenen
Zeichen besteht.
Beginnend mit dem ersten Zeichen überprüft die Funktion strspn, ob die Zeichen in s1 Bestandteil
von s2 sind. Die Funktion stoppt beim ersten Zeichen von s1, das nicht in s2 enthalten ist.
Rückgabewert:
strspn liefert die Länge des Teilstrings von s1, der ausschließlich aus Zeichen besteht, die in s2
enthalten sind.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
36
1.1.3.27 strstr
Syntax:
char *strstr(const char *s1, const char *s2);
Beschreibung:
Sucht einen String nach dem Vorkommen eines bestimmten Teilstrings ab.
strstr sucht den über s1 angegebenen String nach dem ersten Vorkommen des Teilstrings s2 ab.
Rückgabewert:
strstr liefert einen Zeiger auf den Beginn von s2 in s1 zurück bzw. den Zeigerwert NULL, wenn s2
in s1 überhaupt nicht vorkommt.
1.1.3.28 strtok
Syntax:
char *strtok(char *s1, const char *s2);
Beschreibung:
Sucht einen String nach einer von mehreren Zeichenfolgen ab, die in einem zweiten String
definiert sind. strtok betrachtet den über s1 angegebenen String als Folge von null oder mehr
Zeichenfolgen (Token), die voneinander durch eines oder mehrere der in s2 definierten Zeichen
getrennt sind. Der erste Aufruf von strtok liefert einen Zeiger auf den Beginn der ersten
gefundenen Zeichenfolge in s1 zurück und setzt ein Nullzeichen unmittelbar hinter das Ende der
Zeichenfolge. Folgende Aufrufe von strtok mit dem Wert NULL anstelle des Arguments s1 liefern
die restlichen Zeichenfolgen in s1. s2 kann bei jedem Aufruf von strtok beliebig geändert werden.
Rückgabewert:
strtok liefert einen Zeiger auf den Beginn der gefundenen Zeichenfolge in s1 zurück. Wenn keine
weitere Zeichenfolge gefunden wird, ist der Rückgabewert NULL.
1.1.3.29 strtol
Syntax:
long strtol(const char *s, char **endptr, int radix);
Beschreibung:
Konvertiert einen String in einen long-Wert.
strtol konvertiert den durch s angegebenen String in einen long-Wert. Der Stringinhalt muß daher
als long-Wert interpretierbar sein und das folgende Format haben:
[ws] [sn] [0] [x] [ddd]
mit:
[ws]
optionales Whitespace-Zeichen
[sn]
optionales Vorzeichen (+ oder -)
[0]
optionale Null (0)
[x]
optionales x oder X
[ddd]
optionale Ziffern
strtol bricht den Lesevorgang ab, wenn ein Zeichen nicht dem obigen Format entspricht. Liegt
radix zwischen 2 und 36, so wird s im Zahlensystem zur Basis radix interpretiert. Ist radix 0, so
legen die ersten Zeichen von s die verwendete Basis fest:
1. Zeichen
0
0
1 bis 9
© XOn Siftware GmbH, 2008
2. Zeichen
1 bis 7
x oder X
Interpretation
Oktalsystem
Hexadezimalsystem
Dezimalsystem
37
Referenzhandbuch
Ist radix gleich 1, kleiner als 0 oder größer als 36, so wird der Parameter als ungültiger Wert
interpretiert. Bei Ausgabe ungültiger Werte für radix liefert die Funktion Null zurück und setzt den
Zeiger *endptr auf den Stringanfang. Falls der Wert in s als Oktalzahl interpretiert werden soll,
werden nur die Zeichen zwischen 0 und 7 erkannt. Soll der Wert in s als Dezimalzahl interpretiert
werden, werden nur die Zeichen 0 bis 9 erkannt. Falls der Wert in s als Zahl eines Zahlensystems
zu einer anderen Basis interpretiert werden soll, werden nur die Zeichen, die zur Repräsentation
von Zahlen dieses Zahlensystems verwendet werden, erkannt. (Beispielsweise nur die Zeichen 0
bis 4, wenn radix gleich 5 ist, ist radix gleich 20, werden nur die Zeichen 0 bis 9 und A bis J
erkannt)
Wenn endptr ungleich NULL ist, dann wird *endptr auf die Adresse des ersten nicht analysierbaren
Zeichens in s gesetzt (*endptr = &abbruch_zeichen).
Rückgabewert:
strtol liefert das Ergebnis der Konvertierung als long-Wert, im Fehlerfall den Wert 0 zurück.
1.1.3.30 strxfrm
Syntax:
int strxfrm(char *target, const char *source, int n);
Beschreibung:
strxfrm transformiert maximal n Zeichen des durch source angegebenen Strings so in den String
target, daß die Funktion strcmp, angewendet auf die Ergebnisstrings der Funktion, dieselben
Werte zurückliefert wie die Funktion strcoll, angewendet auf die Ausgangsstrings. Einschließlich
des abschließenden Nullzeichens werden maximal n Zeichen von source transformiert. Der
Ergebnisstring richtet sich nach der Kategorie 1 (LC_COLLATE) der aktuellen Locale-Einstellung
(siehe setlocale). Der generierte Spezial-String kann mit anderen Strings desselben Typs
byteweise (beispielsweise per strcmp) verglichen werden. Die Vergleichsergebnisse entsprechen
dann der aktuellen Locale- Einstellung für Vergleiche. Diese Spezial-Strings können als Schlüssel
oder Symbol Strings ("tokenized strings") aufgefaßt werden und sind jeweils nur innerhalb einer
Locale-Einstellung sinnvoll.
Die in target enthaltenen Token werden anhand der von strcoll verwendeten
Vergleichsgewichtungen aus den Vergleichstabellen der aktuellen Locale-Einstellung erzeugt. Die
Funktion wird beendet, wenn alle Ebenen bearbeitet wurden oder wenn die Länge des SymbolString den Parameter n erreicht. Alle überflüssigen Token werden aus der Token-Menge jeder
Ebene entfernt. Der Puffer für den Symbol- String muß groß genug sein. Seine Größe hängt von
der Länge des String source, von der Anzahl der Vergleichsebenen, von den Regeln für jede
Ebene sowie vom Auftreten von Sonderzeichen ab. Bestimmte Sonderzeichen verursachen
zusätzliche Bearbeitungsschritte und damit erhöhten Platzbedarf. Das französische Zeichen "oe"
benötigt beispielsweise den doppelten Platz, da es in einigen Locale-Einstellungen pro Ebene auf
zwei Vergleichsgewichtungen erweitert wird. Teil-Strings mit Ersetzungen benötigen ebenfalls
zusätzlichen Platz. Für die Berechnung des benötigten Speicherplatzes gibt es keine
allgemeingültige Formel. Es sind jedoch mindestens (Ebenen * Stringlänge) Bytes erforderlich.
Rückgabewert:
strxfrm liefert die Anzahl der transformierten Zeichen zurück. Das abschließende Nullzeichen wird
nicht mitgezählt. Ist der zurückgelieferte Wert gleich oder größer als n, dann ist der Inhalt von
target unbestimmt.
1.1.4
Datenpoolfunktionen
Datenpoolfunktionen
Die hier behandelten Funktionen ermöglichen den Zugriff auf Datenpoolelemente.
siehe auch:
· GetPoolType
· GetPoolSize
· GetPoolIndex
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
GetPoolName
SetPoolName
GetPoolText
GetPoolVI4
GetPoolVF8
GetPoolVDT
GetPoolVSTR
GetPoolMI4
GetPoolMF8
GetPoolMDT
GetPoolMSTR
GetPoolODBC
GetPoolDia
RemoveFromPool
CopyToPool
Obsolet:
· GetPoolVector
· GetPoolMatrix
· GetPoolTimeVect
1.1.4.1
CopyToPool
Syntax:
int CopyToPool(CNamedObj* pObj);
Parameter:
pObj: Zeiger auf ein neues Datenpoolelement Pool- Elementes
Beschreibung:
kopiert das Objekt pObj in den Datenpool. Das Objekt muss ein Datenobjekt sein.
Rückgabewert:
0
-1
-2
-3
Element erfolgreich kopiert
Elementname schon vergeben
Element von unzulässigem Typ
Element nicht initialisiert
Beispiel::
int method::OnRun()
{
CF8Vector V;
V.SetName("VECTOR1");
CopyToPool(&V);
return 1;
}
1.1.4.2
GetPoolDia
Syntax:
CDia* GetPoolDia(int idx);
CDia* GetPoolDia(char *name);
Parameter:
© XOn Siftware GmbH, 2008
38
39
Referenzhandbuch
· idx: Index des gewünschten Pool- Elementes
· name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CDia ist, wird ein Zeiger darauf
zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf eine Datumskanal oder Null.
1.1.4.3
GetPoolIndex
Syntax:
int GetPoolIndex(char *name);
Parameter:
name: Bezeichnung des gewünschten Pool- Elementes
Beschreibung:
Liefert den Index des Poolelementes namens name oder -1, falls kein solches Element vorhanden
ist.
Rückgabewert:
Index des Poolelementes.
Beispiel:
int method::OnRun()
{
int i;
i=GetPoolIndex("Hansi");
if (i>=0)
MessageBox(0,"Hansi gefunden");
return 1;
}
1.1.4.4
GetPoolMDT
Syntax:
CDTMatrix* GetPoolMDT(const char* szPoolName);
CDTMatrix* GetPoolMDT(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRMatrix
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Matrix mit Datum/Zeit- Werten (CDTMatrix) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool date/time matrix named "TestMatrix"
* to the stdio window.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
40
*/
CDTMatrix *pM=GetPoolMDT("TestMatrix");
if (pM)
{
int nRows,nCols;
pM->GetDims(&nRows,&nCols);
for (int r=0;r<nRows;r++)
for (int c=0;c<nCols;c++)
printf("%f\n",pM->GetAt(r,c));
}
return 1;
}
1.1.4.5
GetPoolMF8
Syntax:
CF8Matrix* GetPoolMF8(const char* szPoolName);
CF8Matrix* GetPoolMF8(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CF8Matrix
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Matrix mit Gleitkommazahlen (CF8Matrix) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool double matrix named "TestMatrix"
* to the stdio window.
*/
CF8Matrix *pM=GetPoolMF8("TestMatrix");
if (pM)
{
int nRows,nCols;
pM->GetDims(&nRows,&nCols);
for (int r=0;r<nRows;r++)
for (int c=0;c<nCols;c++)
printf("%f\n",pM->GetAt(r,c));
}
return 1;
}
1.1.4.6
GetPoolMI4
Syntax:
CI4Matrix* GetPoolMI4(const char* szPoolName);
CI4Matrix* GetPoolMI4(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
© XOn Siftware GmbH, 2008
41
Referenzhandbuch
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CI4Matrix
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Matrix mit Gleitkommazahlen (CI4Matrix) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool integer matrix named "TestMatrix"
* to the stdio window.
*/
CI4Matrix *pM=GetPoolMI4("TestMatrix");
if (pM)
{
int nRows,nCols;
pM->GetDims(&nRows,&nCols);
for (int r=0;r<nRows;r++)
for (int c=0;c<nCols;c++)
printf("%i\n",pM->GetAt(r,c));
}
return 1;
}
1.1.4.7
GetPoolMSTR
Syntax:
CSTRMatrix* GetPoolMSTR(const char* szPoolName);
CSTRMatrix* GetPoolMSTR(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRMatrix
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf eine Matrix mit Strings (CSTRMatrix) oder NULL, falls das entsprechende Element nicht
existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool string matrix named "TestMatrix"
* to the stdio window.
*/
CSTRMatrix *pM=GetPoolMSTR("TestMatrix");
if (pM)
{
int nRows,nCols;
pM->GetDims(&nRows,&nCols);
for (int r=0;r<nRows;r++)
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
for (int c=0;c<nCols;c++)
printf("%s\n",pM->GetAt(r,c));
}
return 1;
}
1.1.4.8
GetPoolName
Syntax:
char* GetPoolName(int idx);
Parameter:
idx: Index des gewünschten Pool- Elementes
Beschreibung:
Liefert den Namen des Pool- Elementes mit Index idx, oder NULL, falls der Index unzulässig ist.
Der Index beginnt bei 0.
Rückgabewert:
String mit dem gewünschten Namen oder NULL- Zeiger.
Beispiel:
Siehe GetPoolSize.
1.1.4.9
GetPoolODBC
Syntax:
CODBC* GetPoolODBC(int idx);
CODBC* GetPoolODBC(char *name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CODBC ist, wird ein Zeiger darauf
zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf eine Datumskanal oder Null.
1.1.4.10 GetPoolSize
Syntax:
int GetPoolSize(void);
Beschreibung:
Liefert die Anzahl der Einträge im Datenpool.
Rückgabewert:
Anzahl der Einträge im Datenpool.
Beispiel:
int method::OnRun()
{
/*
* in diesem Beispiel wird eine Liste aller Pool* Elemente in das Textfeld Text eingetragen
*/
© XOn Siftware GmbH, 2008
42
43
Referenzhandbuch
int i;
Text.Clear();
for (i=0;i<GetPoolSize();i++)
{
Text.Add(GetPoolName(i));
Text.Add(" : ");
Text.Add(GetPoolType(i));
Text.Add("\n");
}
return 1;
}
1.1.4.11 GetPoolText
Syntax:
CText* GetPoolText(int index);
CText* GetPoolText(char* name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CText ist, wird ein Zeiger darauf
zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Text oder Null.
Beispiel:
int method::OnRun()
{
int typ;
CText *pT;
typ=GetPoolType(0);
if (typ==2)
pT=GetPoolText(0);
return 1;
}
1.1.4.12 GetPoolType
Syntax:
int GetPoolType(int idx);
int GetPoolType(char *name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert den Type des Eintrages im Datenpool mit Index idx oder Namen name. Der Index beginnt
bei Null. Falls kein Element mit entsprechendem Index oder Namen vorhanden ist, wird 0
zurückgeliefert.
Rückgabewert:
0
Fehler: Kein Element mit diesem Index oder Namen
vorhanden.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
1
2
3
4
5
6
44
CODBC
CDia
CText
CF8Vector
CF8Matrix
CDTVector
Beispiel:
int method::OnRun()
{
int i=GetPoolType(0);
return 1;
}
1.1.4.13 GetPoolVDT
Syntax:
CDTVector* GetPoolVDT(const char* szPoolName);
CDTVector* GetPoolVDT(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CDTVector
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Vektor mit Datum/Zeit- Werten (CDTVector) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool date/time vector named "TestVector"
* to the stdio window.
*/
CDTVector *pV=GetPoolVDT("TestVector");
if (pV)
for (int i=0;i<pV->GetSize();i++)
printf("%f\n",pV->GetAt(i));
return 1;
}
1.1.4.14 GetPoolVF8
Syntax:
CF8Vector* GetPoolVF8(const char* szPoolName);
CF8Vector* GetPoolVF8(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
© XOn Siftware GmbH, 2008
45
Referenzhandbuch
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CF8Vector
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Vektor mit Gleitkommazahlen (CF8Vector) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool double vector named "TestVector"
* to the stdio window.
*/
CF8Vector *pV=GetPoolVF8("TestVector");
if (pV)
for (int i=0;i<pV->GetSize();i++)
printf("%f\n",pV->GetAt(i));
return 1;
}
1.1.4.15 GetPoolVI4
Syntax:
CI4Vector* GetPoolVI4(const char* szPoolName);
CI4Vector* GetPoolVI4(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CI4Vector
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Vektor mit ganzen Zahlen (CI4Vector) oder NULL, falls das entsprechende
Element nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool integer vector named "TestVector"
* to the stdio window.
*/
CI4Vector *pV=GetPoolVI4("TestVector");
if (pV)
for (int i=0;i<pV->GetSize();i++)
printf("%i\n",pV->GetAt(i));
return 1;
}
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
46
1.1.4.16 GetPoolVSTR
Syntax:
CSTRVector* GetPoolVSTR(const char* szPoolName);
CSTRVector* GetPoolVSTR(int nPoolID);
Parameter:
nPoolID: Index des gewünschten Pool- Elementes
szPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem Namen
szPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRVector
ist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Vektor mit Strings (CSTRVector) oder NULL, falls das entsprechende Element
nicht existiert oder vom falschen Typ ist.
Beispiel:
int method::OnRun()
{
/*
* Print the contents of a pool string vector named "TestVector"
* to the stdio window.
*/
CSTRVector *pV=GetPoolVSTR("TestVector");
if (pV)
for (int i=0;i<pV->GetSize();i++)
printf("%s\n",pV->GetAt(i));
return 1;
}
1.1.4.17 RemoveFromPool
Syntax:
int RemoveFromPool(char* name);
int RemoveFromPool(int idx);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Löscht das Datenpoolelement mit Index idx oder dem Namen name aus dem Datenpool, falls ein
entsprechendes Element im Datenpool existiert.
Rückgabewert:
0
1
Element nicht gefunden
Element erfolgreich gelöscht
1.1.4.18 SetPoolName
Syntax:
int SetPoolName(int idx,char *name);
Parameter:
© XOn Siftware GmbH, 2008
47
Referenzhandbuch
idx: Index des gewünschten Pool- Elementes
name: neuer Name des Elementes
Beschreibung:
Setzt den Namen des Pool- Elementes mit Index idx.auf name Der Index beginnt bei 0.
Rückgabewert:
0
-1
-2
-3
OK
unzulässiger Index
unzulässiger Name
Name schon vergeben
Beispiel:
Der folgende Code ersetzt alle Namen durch 'X0','X1',...
int method::OnRun()
{
int i;
char buf[32];
for (i=0;i<GetPoolSize();i++)
{
sprintf(buf,"X%d",i);
SetPoolName(i,buf);
}
return 1;
}
1.1.5
Speichermanagement
Speichermanagement
Das Speichermanagement umfaßt Funktionen zum reservieren und freigeben von Speicher.
siehe auch:
· GlobalAlloc
· GlobalFree
· GlobalLock
· GlobalUnlock
· malloc
· free
1.1.5.1
GlobalAlloc
Syntax:
int GlobalAlloc(int fuAlloc,long cbAlloc);
Parameter:
fuAlloc: legt fest, wie der Speicher zu reservieren ist
0x2000
0x0100
0x0000
0x0002
0x0010
belegt Speicher, der mit anderen Applikationen
geteilt werden kann. Dieses Flag wird nur für DDE
benutzt.
belegt Speicher, der verworfen werden kann. Dieses
Flag kann mit 0x0002 kombiniert werden
belegt festen Speicher.
belegt beweglichen Speicher.
verhindert Komprimierung oder Verwerfung zur
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
48
Speicherbeschaffung
0x0020
verhindert Verwerfung zur Speicherbeschaffung
0x0040
belegt den Speicher mit Nullen vor
cbAlloc: Objektgröße
Beschreibung:
Die GlobalAlloc- Funktion reserviert die angegebene Zahl Bytes auf dem globalen Heap.
Rückgabewert:
Der Rückgabewert ist ein Speicherhandle oder NULL, falls kein Speicher reserviert werden
konnte.
1.1.5.2
GlobalFree
Syntax:
int GlobalFree (int hdl);
Parameter:
hdl: Speicherhandle, initialisiert durch einen Aufruf von GlobalAlloc
Beschreibung:
gibt Speicher frei, der durch GlobalAlloc reserviert wurde.
Rückgabewert:
Null falls erfolgreich, sonst hdl.
1.1.5.3
GlobalLock
Syntax:
void* GlobalLock(int hdl);
Parameter:
hdl: Speicherhandle, initialisiert durch einen Aufruf von GlobalAlloc
Beschreibung:
liefert einen Zeiger auf den durch hdl beschriebenen globalen Speicher. Die Funktion erhöht den
Sperrzähler um eins und sperrt den Speicher. Gesperrter Speicher kann nicht verworfen oder
verschoben werden. Das Speicherobjekt bleibt gesperrt im Speicher, bis der Sperrzähler Null ist.
Rückgabewert:
ein Zeiger auf das erste Byte des globalen Speicherobjekts oder Null, falls dieser nicht ermittelt
werden konnte.
1.1.5.4
GlobalUnlock
Syntax:
int GlobalUnlock(int hdl);
Parameter:
hdl: Handle des globalen Speicherobjekts
Beschreibung:
gibt den Speicher eines globalen Speicherobjekts frei. Die Funktion hat keinen Einfluß auf fest
(0x0000) vereinbarte Speicherobjekte. Für bewegliche oder verwerfbare Speicherobjekte wird der
Sperrzähler um eins erniedrigt. Erst wenn der Sperrzähler Null ist, ist das Speicherobjekt
vollständig freigegeben.
Rückgabewert:
© XOn Siftware GmbH, 2008
49
Referenzhandbuch
0
1
1.1.5.5
Sperrzähler wurde auf Null gesetzt
Sperrzähler ungleich Null
malloc
Syntax:
void* malloc(int len);
Parameter:
len: Größe des anzulegenden Speichers
Beschreibung:
Reserviert einen Speicher der Größe len Bytes und liefert einen Zeiger auf diesen zurück. Konnte
der Speicher nicht reserviert werden., dann wird Null zurückgeliefert.
1.1.5.6
free
Syntax:
void free(void *pV);
Parameter:
pV: Zeiger auf einen dynamisch reservierten Speicherbereich
Beschreibung:
Gibt Speicher frei, der zuvor mit malloc reserviert wurde.
1.1.6
Datum und Uhrzeit
Datum und Uhrzeit
Die hier behandelten Funktionen ermöglichen den Zugriff auf die Systemzeit.
Funktionen :
· mktime
· time
· difftime
· _strdate
· strftime
· _strtime
1.1.6.1
_strdate
Syntax:
char *_strdate(char *buf);
Beschreibung:
Konvertiert das aktuelle Datum in einen String.
_strdate konvertiert das aktuelle Datum in einen String und speichert diesen in dem durch buf
angegebenen Puffer. buf muß mindestens 9 Zeichen lang sein. Der String ist durch ein
Nullzeichen abgeschlossen und hat das Format MM/DD/YY. MM, DD und YY sind Zahlen mit
jeweils zwei Ziffern und geben Monat, Tag und Jahr an.
Rückgabewert:
Der Rückgabewert von _strdate ist buf, die Adresse des Datum-Strings.
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
1.1.6.2
50
_strtime
Syntax:
char *_strtime(char *buf);
Beschreibung:
Konvertiert die aktuelle Uhrzeit in einen String.
_strtime konvertiert die aktuelle Uhrzeit in einen String und speichert diesen in dem durch buf
angegebenen Puffer. buf muß mindestens 9 Zeichen lang sein. Der String wird durch ein
Nullzeichen abgeschlossen und hat das folgende Format:
HH:MM:SS
HH, MM und SS sind jeweils Zahlen mit zwei Ziffern und geben Stunde, Minute und Sekunde an.
Der String ist nullterminiert.
Rückgabewert:
Der Rückgabewert von _strtime ist buf, die Adresse des Uhrzeit-Strings
1.1.6.3
difftime
Syntax:
double difftime(long t1,long t2);
Beschreibung:
Berechnet die Differenz zwischen zwei Zeitangaben.
difftime berechnet die zwischen t1 und t2 liegende Zeit in Sekunden.
Rückgabewert:
difftime liefert die Differenz zweier Zeiten als double-Wert zurück.
1.1.6.4
KillTimer
Syntax:
int KillTimer(int nIDEvent);
Parameter:
nIDEvent: ID- Nummer des Timerereignisses das sie bei SetTimer erwendet haben
Beschreibung:
löscht das Timerereignis nIDEvent.
1.1.6.5
mktime
Syntax:
long mktime(tm *t);
Beschreibung:
Konvertiert Uhrzeit in das Kalenderformat.
mktime konvertiert die Uhrzeit in der Struktur, auf die t zeigt, in eine Kalenderzeit mit dem Format
der Funktion time. Die ursprünglichen Werte der Felder tm_sec, tm_min, tm_hour, tm_mday und
tm_mon sind nicht auf den durch die tm-Struktur festgelegten Bereich beschränkt. Befinden sich
die Felder nicht im korrekten Bereich, werden sie angepaßt. Die Werte der Felder tm_wday und
tm_yday werden nach der Anpassung der anderen Felder berechnet. Kann die Kalenderzeit nicht
dargestellt werden, liefert mktime -1 zurück. Die zulässige Bereich für die Kalenderzeit liegt
zwischen dem 1. Januar 1970 00:00:00 und dem 19. Januar 2038 03:14:07.
Rückgabewert:
Siehe Beschreibung.
© XOn Siftware GmbH, 2008
51
Referenzhandbuch
1.1.6.6
SetTime
Syntax:
int SetTimer(int nIDEvent,int nElapse);
Parameter:
nIDEvent: ID- Nummer des Timerereignisses (>0 !)
nElapse: Timer- Wert in Millisekunden (>0 !)
Beschreibung:
initialisiert einen Systemtimer.Jedesmal wenn ein Timer- Event auftritt wird die Methode OnTimer
des Bildes gerufen. Timer sind globale Resourcen. Es ist daher unbedingt nötig den Rückgabewert
von SetTimer auf Gültigkeit zu prüfen um sicherzustellen, daß der von ihnen gewünschte Timer
auch erhältlich ist. Geben sie ihren Timer wieder frei, indem sie die Funktion KillTimer mit dem
Rückgabewert von SetTimer aufrufen.
Rückgabewert:
die Timer- Nummer des neuen Timers, wenn die Funktion erfolgreich war, andernfalls Null .
1.1.6.7
strftime
Syntax:
int strftime(char *s,int maxsize,char *fmt, struct tm *t);
Beschreibung:
Formatiert die Uhrzeit für die Ausgabe.
strftime formatiert die Uhrzeit im Argument t und gibt sie in das Array aus, auf das das Argument s
zeigt. Bei der Formatierung werden die in fmt enthaltenen Formatieranweisungen angewandt. Der
Format-String besteht aus null oder mehr Anweisungen und normalen Zeichen. Wie bei printf
besteht eine Anweisung aus dem Zeichen %, gefolgt von dem Zeichen für das einzusetzende
Format. Alle normalen Zeichen werden unverändert kopiert. Es werden maximal maxsize Zeichen
nach s geschrieben.
Die folgende Tabelle beschreibt die ANSI-definierten Formatieranweisungen für den FormatString, der mit strftime verwendet wird.
Formatieranweisung
%%
%a
%A
%b
%B
%c
%d
%H
%I
%j
%m
%M
%p
%S
%w
Ersetzungen
%- Zeichen
Abgekürzter Wochentagname
Vollständiger Wochentagname
Abgekürzter Monatsname
Vollständiger Monatsname
Datum und Uhrzeit
Zwei Ziffern für den Tag im Monat (01 - 31)
Zwei Ziffern für die Stunde (00 - 23)
Zwei Ziffern für die Stunde (01 - 12)
Drei Ziffern für den Tag im Jahr (001 - 366)
Zwei Ziffern für den Monat als Dezimalzahl (1 - 12)
Zwei Ziffern für die Minute (00 - 59)
AM oder PM (vormittags oder nachmittags)
Zwei Ziffern für die Sekunde (00 - 59)
Zwei Ziffern für die Wochenzahl, wobei Sonntag erster
Wocheentag ist (00 - 53)
Wochentag, wobei 0 dem Sonntag entspricht (0 - 6)
%W
Zwei Ziffern für die Wochenzahl, wobei Montag erster
%U
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
%x
%X
%y
%Y
%Z
52
Wochentag ist (00 - 53)
Datum
Uhrzeit
Zwei Ziffern für das Jahr ohne Jahrhundert (00 - 99)
Jahr mit Jahrhundert
Name der Zeitzone oder keine Zeichen, wenn keine Zeitzone
festgelegt ist
Rückgabewert:
strftime liefert die Anzahl der Zeichen zurück, die nach s geschrieben wurden. Ist die Anzahl der
benötigten Zeichen größer als maxsize, so wird 0 zurückgeliefert.
1.1.6.8
time
Syntax:
long time(long* timer);
Beschreibung:
Liefert Datum und Uhrzeit des Systems.
time setzt die mit timer übergebene Variable auf die Anzahl der Sekunden, die seit dem 1. Januar
1970, 00:00:00 verstrichen sind, sofern timer kein NULL-Zeiger ist.
Rückgabewert:
time liefert die Anzahl der seit dem 1.1.1970 verstrichenen Sekunden zurück.
1.1.7
Sonstige Funktionen
Sonstige Funktionen
Die hier behandelten Funktionen ermöglichen den Zugriff auf Windows-Standarddialoge.
Funktionen :
· FileDialog
· MessageBox
· Print
· Invalidate
· SetFH
1.1.7.1
FileDialog
Syntax:
int FileDialog(int open,char *ResFile, char *DefExt,char *IniFile);
Parameter:
open: Dialogauswahl
0
Dialog für "Datei speichern"
1
Dialog für "Datei öffnen"
DefExt: Default- Extension.
Wenn der Benutzer einen Dateinamen ohne Extension einträgt, wird der Wert von DefExt
verwendet.
IniFile: Der Dateiname, der am Anfang im Dateieingabefeld erscheint
ResFile: Buffer für das Ergebnisfile
© XOn Siftware GmbH, 2008
53
Referenzhandbuch
Beschreibung:
diese Funktion führt einen Windows- Dateidialog aus
Rückgabewert:
0: Dialog mit Abbrechen beendet.
5: Dialog mit OK beendet
1.1.7.2
Invalidate
Syntax:
int Invalidate(void);
Beschreibung:
Erzwingt die Aktualisierung (Neuzeichnen) des aktiven Dokumentes.
Rückgabewerte:
0
1
1.1.7.3
Fehler
OK
MessageBox
Syntax:
int MessageBox(int Typ,char *fmt,...);
Parameter:
Typ: Typ der Messagebox
0
1
2
3
4
5
fmt: Formatstring
mit OK- Taste
mit OK/Abbrechen- Tasten
mit Wiederholen/Abbrechen- Tasten
mit Ja/Nein- Tasten
mit Ja/Nein/Abbrechen- Tasten
mit Abbrechen/Widerholen/Ignorieren- Tasten
Siehe auch:
sprintf
Beschreibung:
Zeigt ein Fenster mit einer Meldung an. Die Meldung wird zusammengesetz aus den im
Formatstring beschriebenen Komponenten.
Rückgabewerte:
0
1
2
3
4
5
6
<0
Abbrechen Taste wurde gedrückt
Unterbrechen Taste wurde gedrückt
Ignorieren Taste wurde gedrückt
JaTaste wurde gedrückt
Nein Taste wurde gedrückt
OK Taste wurde gedrückt
Wiederholen Taste wurde gedrückt
Fehler
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
Beispiel:
int method::OnRun()
{
int i=5;
MessageBox(0,"Die Zahl i lautet %i",i);
return 1;
}
1.1.7.4
Print
Syntax:
int Print(int setup);
Parameter:
setup:
0
1
aktiven View sofort drucken
Druckerdialog durchführen
Beschreibung:
Druckt die aktuelle Seite und/oder führt einen Druckerdialog durch.
Rückgabewerte:
0
1
1.1.7.5
Fehler
OK
SetFH
Syntax:
void SetFH(int nWhat,char *pFmt);
Parameter:
nWhat:
0: Kopfzeile bei Grafikausdruck
1: Fußzeile bei Grafikausdruck
2: Kopfzeile bei Textausdruck
3: Fußzeile bei Textausdruck
pFmt:
Format der Kopf- oder Fußzeile. Folgende Platzhalter sind definiert:
&P: Seitenzahl
&T: Uhrzeit
&D: Datum
&F: Dateiname
Beschreibung:
Diese Funktion legt das Aussehen von Kopf oder Fußzeilen bei Ausdrucken fest
1.1.7.6
GetRValue
Syntax:
int GetRValue(COLORREF C);
Beschreibung:
Die Funktion liefert den Rot- Anteil (0-255) eines RGB- Farbwertes vom Typ COLORREF
© XOn Siftware GmbH, 2008
54
55
Referenzhandbuch
Rückgabewert:
Rotanteil (0-255)
1.1.7.7
GetGValue
Syntax:
int GetGValue(COLORREF C);
Beschreibung:
Die Funktion liefert den Grün- Anteil (0-255) eines RGB- Farbwertes vom Typ COLORREF
Rückgabewert:
Grün (0-255)
1.1.7.8
GetBValue
Syntax:
int GetBValue(COLORREF C);
Beschreibung:
Die Funktion liefert den Blau- Anteil (0-255) eines RGB- Farbwertes vom Typ COLORREF
Rückgabewert:
Blauanteil (0-255)
1.1.7.9
RGB
Syntax:
COLORREF RGB(int R,int G,int B);
Beschreibung:
Die Funktion liefert einen COLORREF- Farbwert aus dem Rot-, Grün- und Blau Anteil. Die Werte
R, G und B müssen im Bereich 0 bis 255 liegen.
Rückgabewert:
Farbwert
1.1.8
Verzeichnisfunktionen
Verzeichnisfunktionen
Zum Zugriff auf Verzeichnisstrukturen stehen Ihen folgende Funktionen zur Verfügung:
Funktionen:
· _chdir
· _chdrive
· _getcwd
· _getdcwd
· _mkdir
· _rmdir
· _searchenv
© XOn Siftware GmbH, 2008
1.1 Programmierreferenz
1.1.8.1
56
_chdir
Syntax:
int chdir(char *path);
Beschreibung:
Wechselt das aktuelle Verzeichnis.
_chdir setzt das durch path bezeichnete Verzeichnis als aktuelles Arbeitsverzeichnis. Der
Parameter path muß ein existierendes Verzeichnis enthalten.
path kann auch eine Laufwerksangabe enthalten wie etwa:
_chdir ("a:\\BC");
Hier wird jedoch nur das aktuelle Verzeichnis dieses Laufwerks gewechselt, nicht das aktive
Laufwerk selbst.
Rückgabewert:
Wenn das angegebene Verzeichnis gesetzt werden konnte, liefert chdir den Wert 0; ansonsten
wird -1 zurückgeliefert.
1.1.8.2
_getcwd
Syntax:
char *getcwd(char *buf, int buflen);
Beschreibung:
Ermittelt das aktuelle Arbeitsverzeichnis.
_getcwd speichert den vollständigen Pfadnamen des aktuellen Arbeitsverzeichnisses (inklusive
des Laufwerks) als String an der durch buf bezeichneten Adresse. Die Maximallänge des
Pfadnamens wird durch den Parameter buflen begrenzt. Ist der vollständige Pfadname
einschließlich des abschließenden Nullzeichens länger als buflen Bytes, so wird ein Fehler
erzeugt.
Wenn der als buf übergebene Zeiger den Wert NULL hat, reserviert _getcwd über einen Aufruf
von malloc selbständig einen Bereich von buflen Bytes. Später können Sie diesen reservierte
Speicherbereich wieder freigegeben, indem Sie der Funktion free den Rückgabewert von _getcwd
übergeben.
Rückgabewert:
_getcwd liefert folgende Werte zurück:
Ist buf bei der Eingabe ungleich NULL, wird bei fehlerfreier Ausführung buf, im Fehlerfall NULL
zurückgeliefert.
Ist buf bei der Eingabe gleich NULL, liefert _getcwd bei fehlerfreier Ausführung einen Zeiger auf
den reservierten Puffer zurück.
1.1.8.3
_getdcwd
Syntax:
char * _getdcwd(int drive, char *buffer, int buflen);
Beschreibung:
Liefert das aktuelle Arbeitsverzeichnis des angegebenen Laufwerks.
_getdcwd liefert den vollständigen Pfadnamen des Arbeitsverzeichnisses im angegebenen
Laufwerk (einschließlich des Laufwerknamens) als String in buffer zurück, dessen Maximallänge
durch den Parameter buflen gesetzt wird. Ist der vollständige Pfadname einschließlich des
abschließenden Nullzeichens länger als buflen Bytes, so wird ein Fehler erzeugt. Für den
Parameter drive gilt: 0 = aktuelles Laufwerk, 1 = A, 2 = B, etc.
Wenn der als buffer übergebene Zeiger den Wert NULL hat, reserviert _getdcwd einen Puffer von
mindestens buflen Bytes. Später kann dieser Speicherbereich durch Übergabe des
Rückgabewerts von _getdcwd an die Funktion free wieder freigegeben werden.
Rückgabewert:
© XOn Siftware GmbH, 2008
57
Referenzhandbuch
_getdcwd liefert bei fehlerfreier Ausführung einen Zeiger auf den Puffer zurück, der den Namen
des aktuellen Verzeichnisses im angegebenen Laufwerk enthält. Im Fehlerfall liefert _getdcwd den
Wert NULL.
1.1.8.4
_mkdir
Syntax:
int mkdir(const char *path);
Beschreibung:
Erzeugt ein Verzeichnis.
_mkdir erzeugt ein Verzeichnis mit dem in path angegebenen Namen.
Rückgabewert:
_mkdir liefert den Wert 0 zurück, wenn das neue Verzeichnis erzeugt werden konnte.
Wenn ein Fehler auftritt, so ist der Rückgabewert -1.
1.1.8.5
_rmdir
Syntax:
int rmdir(const char *path);
Beschreibung:
Löscht ein Verzeichnis.
_rmdir löscht das durch path angegebene Verzeichnis und kann nur angewendet werden, wenn
dieses Verzeichnis
keine Einträge enthält,
nicht das aktuelle Arbeitsverzeichnis ist und
nicht das Stammverzeichnis der Diskette/Festplatte darstellt.
Rückgabewert:
_rmdir liefert 0 zurück, wenn das Verzeichnis erfolgreich gelöscht wurde. Im Fehlerfall ist der
Rückgabewert -1.
1.1.8.6
_searchenv
Syntax:
void _searchenv(const char *file, const char *varname, char *buf);
Beschreibung:
Sucht nach einer Datei im Verzeichnispfad einer Umgebungsvariablen.
_searchenv durchsucht zuerst das aktuelle Verzeichnis nach einer Datei mit dem durch den
Parameter file angegebenen Namen. Bleibt die Suche erfolglos, dann liest die Funktion die
Pfadangaben in der Umgebungsvariable varname des Betriebssystems und durchsucht sämtliche
darin enthaltenen Verzeichnisse der Reihe nach (typische Umgebungsvariablen sind PATH, LIB
oder INCLUDE).
Wenn die Datei gefunden wurde, wird der vollständige Dateiname (Laufwerk, Verzeichnis und
Dateiname) im durch den Parameter buf angegebenen Puffer gespeichert. Dieser String kann
beispielsweise bei einem folgenden Aufruf von fopen oder exec... verwendet werden. Der Puffer
muß groß genug sein, um jeden möglichen Dateinamen aufzunehmen. Kann die Datei nicht
gefunden werden, zeigt buf auf einen leeren String (der nur ein Nullzeichen enthält).
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2
Klassenebibliothek
Der Anwender von X1 hat über die Programmierschnittstelle die Möglichkeit auf verschiedenste
Objekte zuzugreifen. Derartige Objekte sind das Dokument, Grafikobjekte(z.B. Achsen,
Tabellen, ...), Kurvenobjekte (z.B. Balkenkurve, Vektorkurve, ... ) und Datenobjekte(Matrizen,
Vektoren, ... ). Das Handbuch gliedert sich nach dieser Unterteilung.
Eine Übersicht über alle Objekte bietet die Klassenhierarchie.
1.2.1
Klassenhierarchie
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
© XOn Siftware GmbH, 2008
58
59
Referenzhandbuch
1.2.2
Allgemeine Klassen
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Dies ist die Objekthierarchie der allgemeinen Klassen.
1.2.2.1
CObject
CObject ist die allgemeine Basisklasse. Die Eigenschaften dieser Klasse vererben sich auf alle
nachfolgend beschriebenen Klassen.
Methoden:
1.2.2.1.1 CObject::GetClassName
Syntax:
char* GetClassName(void);
Rückgabewert:
Name der Klasse
Beschreibung:
Liefert den Namen der Klasse. Damit können auch abgeleitete Objekte identifiziert werden.
1.2.2.2
CNamedObj
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Dies ist die Basisklasse aller Datenpool- Klassen.
Methoden:
· CNamedObj::Edit
· CNamedObj::GetName
· CNamedObj::SetName
1.2.2.2.1 CNamedObj::Copy
Syntax:
CNamedObj* Copy(void);
Beschreibung:
Kopiert das Objekt und liefert einen Zeiger auf die Kopie zurück.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.2.2.2 CNamedObj::Edit
Syntax:
int Edit(char *text);
Parameter:
text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
1.2.2.2.3 CNamedObj::GetName
Syntax:
char* GetName(void);
Beschreibung:
Liefert einen Zeiger auf den Namen des Grafikobjektes.
1.2.2.2.4 CNamedObj::SetName
Syntax:
int SetName(char *name);
Parameter:
name: neuer Name des Objektes
Beschreibung:
Ordnet dem Grafikobjekt einen neuen Namen zu.
1.2.2.3
CColorMap
Methoden
· CColorMap::Reset
· CColorMap::Add
· CColorMap::Sort
· CColorMap::GetNr
· CColorMap::GetVal
· CColorMap::GetCol
· CColorMap::CColorMap
· CColorMap::~CColorMap
1.2.2.3.1 CColorMap::Add
Header:
void CColorMap::Add(double Val,COLORREF Col);
Parameter:
· Val: Physikalischer Wert für die Farbzuordnung
· Col: Farbwert
Beschreibung:
Fügt in die Farbtabelle ein neues Wertepaar ein. Ist für den Wert Val bereits ein Farbwert
gespeichert dann wird dieser überschrieben.
Siehe auch:
© XOn Siftware GmbH, 2008
60
61
Referenzhandbuch
CColorMap Übersicht | Hierarchie
1.2.2.3.2 CColorMap::CColorMap
Header:
CColorMap::CColorMap()
Beschreibung:
Legt ein leeres Objekt vom Typ CColorMap an.
Siehe auch:
CColorMap Übersicht | Hierarchie
1.2.2.3.3 CColorMap::GetColor
Header:
COLORREF CColorMap::GetColor(int nIndex);
Parameter:
· nIndex: Index des Wertepaares.
Beschreibung:
Liefert einen Farbwert aus der Liste.
Rückgabewert:
Farbwert.
Siehe auch:
CColorMap Übersicht | Hierarchie
1.2.2.3.4 CColorMap::GetNr
Header:
int CColorMap::GetNr(void);
Beschreibung:
Liefert die Anzahl der gespeicherten Wertepaare (Physikalischer Wert, Farbwert).
Siehe auch:
CColorMap Übersicht | Hierarchie
1.2.2.3.5 CColorMap::GetVal
Header:
double CColorMap::GetColor(int nIndex);
Parameter:
· nIndex: Index des Wertepaares.
Beschreibung:
Liefert den am Index nIndex gespeicherten physikalischen Wert.
Rückgabewert:
Der physikalische Wert.
Siehe auch:
CColorMap Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.2.3.6 CColorMap::Reset
Header:
void CColorMap::Reset();
Beschreibung:
Löscht den Inhalt der Farbtabelle.
Siehe auch:
CColorMap Übersicht | Hierarchie
1.2.2.3.7 CColorMap::Sort
Header:
void CColorMap::Sort();
Beschreibung:
Sortiert den Inhalt der Farbtabelle.
Siehe auch:
CColorMap Übersicht | Hierarchie
1.2.2.4
CGLMaterial
Die Klasse beschreibt die Oberflächeneigenschaften eines 3D- Objektes.
Methoden:
· CGLMaterial::Reset
· CGLMaterial::SetAmbient
· CGLMaterial::SetDiffuse
· CGLMaterial::SetSpecular
· CGLMaterial::SetEmission
· CGLMaterial::SetShininess
· CGLMaterial::SetAlpha
· CGLMaterial::CGLMaterial
· CGLMaterial::~CGLMaterial
1.2.2.4.1 CGLMaterial::Reset
Header:
void CGLMaterial::Reset(int);
Beschreibung:
Beispiel:
CGLMaterial Übersicht | Hierarchie
1.2.2.4.2 CGLMaterial::SetAmbient
Header:
void CGLMaterial::SetAmbient(unsigned int);
Beschreibung:
Beispiel:
© XOn Siftware GmbH, 2008
62
63
Referenzhandbuch
CGLMaterial Übersicht | Hierarchie
1.2.2.4.3 CGLMaterial::SetDiffuse
Header:
void CGLMaterial::SetDiffuse(unsigned int);
Beschreibung:
Beispiel:
CGLMaterial Übersicht | Hierarchie
1.2.2.4.4 CGLMaterial::SetSpecular
Header:
void CGLMaterial::SetSpecular(unsigned int);
Beschreibung:
Beispiel:
CGLMaterial Übersicht | Hierarchie
1.2.2.4.5 CGLMaterial::SetEmission
Header:
void CGLMaterial::SetEmission(unsigned int);
Beschreibung:
Beispiel:
CGLMaterial Übersicht | Hierarchie
1.2.2.4.6 CGLMaterial::SetShininess
Header:
void CGLMaterial::SetShininess(double);
Beschreibung:
Beispiel:
CGLMaterial Übersicht | Hierarchie
1.2.2.4.7 CGLMaterial::SetAlpha
Header:
void CGLMaterial::SetAlpha(double);
Beschreibung:
Beispiel:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
64
CGLMaterial Übersicht | Hierarchie
1.2.2.5
CGrafDoc
Diese Klasse bildet das Interface zum X1-Dokument. Die Klasse bietet Methoden zur
Seitenverwaltung (anlegen, löschen, blättern). Außerdem beinhaltet diese Klasse die
Trashverwaltung.
Sie erhalten einen Zeiger auf das Dokument z.B. über die Methode CGrafNode::GetDocument.
1.2.2.5.1 CGrafDoc::AddPage
Syntax:
int AddPage(int Pos);
Parameter:
· Pos: Seitennummer an der die neue Seite eingefügt werden soll. Die erste Seite hat die
Nummer 0, die zweite 1,...
Rückgabewert:
· 0: nicht OK
· 1: OK
Beschreibung:
Fügt eine neue Seite an der Position Pos ein. Ist Pos < 0, so wird die Seite am Anfang des
Dokumentes eingefügt. Ist Pos > Seitenanzahl, so wird die Seite am Ende des Dokumentes
angefügt.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.2 CGrafDoc::DelPage
Syntax:
int DelPage(int Page);
Parameter:
· Page: Nummer der Seite die gelöscht werden soll. Die erste Seite hat die Nummer 0, die zweite
1,...
Rückgabewert:
· 0: nicht OK
· 1: OK
Beschreibung:
Löscht die Seite Page aus dem Dokument.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
© XOn Siftware GmbH, 2008
65
Referenzhandbuch
1.2.2.5.3 CGrafDoc::EmptyTrash
Syntax:
void EmptyTrash(void);
Beschreibung:
Diese Methode löscht alle mit DelNode entfernten Objekte endgültig aus dem Speicher. Sollte eine
Variable auf eines dieser Objekte verweisen, dann wird sie durch diesen Aufruf ungültig und darf
nicht mehr verwendet werden! Der Aufruf dieser Methode ist im allgemeinen nicht nötig, da der
Müll beim Umschalten vom Bearbeitungsmodus in den Anzeigemodus selbständig entfernt wird.
Ein Aufruf kann nötig werden, wenn Sie in einem Dokument viele Objekte dynamisch erzeugen
und löschen ohne in den Bearbeitungsmodus zu wechseln.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.4 CGrafDoc::GetDocAtt
Syntax:
int CGrafDoc::GetDocAtt(int nID,char *pVal,int nLen);
Parameter:
· nID: Attributnummer
· pVal: Stringbuffer
· nLen: Größe des Stringbuffers
Beschreibung:
Die Funktion GetDocAtt dient zum Lesen von Dokumentenattributen.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte:
Typ
ID
Bedeutung
Wertebereich
Format der Kopfzeile. Folgende Platzhalter sind definiert:
&P: Seitenzahl
4100
Kopfzeile
&T: Uhrzeit
&D: Datum
&F: Dateiname
String
Format der Fußzeile. Folgende Platzhalter sind definiert:
&P: Seitenzahl
4101
Fußzeile
&T: Uhrzeit
&D: Datum
&F: Dateiname
4102
Name
Pfad und Dateiname des Dokumentes
Beispiel:
int method::OnRun()
{
//Dateiname lesen
char buf[256];
GetDocument()->GetDocAtt(4102,buf,sizeof(buf));
return 1;
}
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
66
1.2.2.5.5 CGrafDoc::GetNrPages
Syntax:
int GetNrPages(void);
Rückgabewert:
Anzahl der Seiten im Dokument.
Beschreibung:
Liefert die Anzahl der Seiten im Dokument.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.6 CGrafDoc::GetPage
Syntax:
CGrafNode* GetPage(int Page);
Parameter:
· Page: Nummer der gewünschten Seite. Die erste Seite hat die Nummer 0, die zweite 1,...
Rückgabewert:
Zeiger auf die "Wurzel" der Seite. Die Wurzel ist ein Objekt vom Typ CGrafNode, das alle anderen
Objekte enthält.
Beschreibung:
Liefert einen Zeiger auf die Wurzel der angegebenen Seite.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.7 CGrafDoc::GetPageNr
Syntax:
int GetPageNr(void);
Beschreibung:
Liefert die Nummer der aktuellen Seite. Die erste Seite hat die Nummer 0, die zweite 1,...
Rückgabewert:
Seitennummer.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.8 CGrafDoc::GetRoot
Syntax:
CGrafNode* GetRoot(void);
Rückgabewert:
Zeiger auf die Wurzel der aktuellen Seite.
Beschreibung:
Liefert einen Zeiger auf die Wurzel der aktuellen Seite.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
CGrafNode
© XOn Siftware GmbH, 2008
67
Referenzhandbuch
1.2.2.5.9 CGrafDoc::Invalidate
Syntax:
void Invalidate(void);
Beschreibung:
Diese Methode erzwingt das neuzeichnen des Dokuments.
Beispiel:
int method::OnRun()
{
double X[500],Y[500];
for (int i=0;i<500;i++)
{
X[i]=cos(i/37.0);
Y[i]=sin(i/25.0);
}
//Alle Kurven aus Graf entfernen
Graf.Clear();
//Kurve 'Test' bezüglich Ebene 'Plane' anlegen
Graf.AddTrace("Plane","Test");
//X-Werte
Graf.SetTraceData(0,X,500);
//Y- Werte
Graf.SetTraceData(1,Y,500);
//Linientyp:
Graf.SetNodeAtt(6150,1,0,255,0,0);
//Dokument neu zeichnen
GetDocument()->Invalidate();
return 1;
}
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.10 CGrafDoc::MoveFirst
Syntax:
int MoveFirst(void);
Rückgabewert:
· 0: nicht OK
· 1: OK
Beschreibung:
Aktiviert die erste Seite.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.11 CGrafDoc::MoveLast
Syntax:
int MoveLast(void);
Rückgabewert:
· 0: nicht OK
· 1: OK
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Beschreibung:
Aktiviert die letzte Seite.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.12 CGrafDoc::MovePage
Syntax:
int MovePage(int Page);
Parameter:
Page: Nummer der gewünschten Seite. Die erste Seite hat die Nummer 0, die zweite 1,...
Rückgabewert:
· 0: nicht OK
· 1: OK
Beschreibung:
Aktiviert die angegebene Seite.
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.13 CGrafDoc::Print
Syntax:
void Print(void);
Beschreibung:
Diese Methode druckt ein Dokument aus.
Beispiel:
int method::OnRun()
{
//Dokument drucken ohne Print- Dialog
GetDocument()->Print();
return 1;
}
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.14 CGrafDoc::SetDocAtt
Syntax:
int CGrafDoc::SetDocAtt(int nID,char *pVal);
Parameter:
· nID: Attributnummer
· pVal: Stringbuffer
Beschreibung:
Die Funktion SetDocAtt dient zum Setzen von Dokumentenattributen.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
Bedeutung
Wertebereich
© XOn Siftware GmbH, 2008
68
69
Referenzhandbuch
4100
String
4101
4102
Format der Kopfzeile.
Folgende Platzhalter
sind definiert:
Kopfzeile
&P: Seitenzahl
&T: Uhrzeit
&D: Datum
&F: Dateiname
Format der Fußzeile.
Folgende Platzhalter
sind definiert:
Fußzeile
&P: Seitenzahl
&T: Uhrzeit
&D: Datum
&F: Dateiname
Name des Dokumentes Pfad und Dateiname
Beispiel:
int method::OnRun()
{
//Kopfzeile einstellen
GetDocument()->SetDocAtt(4100,"Seite &P, Datum &D");
return 1;
}
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
1.2.2.5.15 CGrafDoc::SetFH
Syntax:
void CGrafDoc::SetFH(int nWhat,char *pFmt);
Parameter:
· nWhat:
2: Kopfzeile
3: Fußzeile
· pFmt:
Format der Kopf- oder Fußzeile. Folgende Platzhalter sind definiert:
&P: Seitenzahl
&T: Uhrzeit
&D: Datum
&F: Dateiname
Beschreibung:
Diese Funktion legt das Aussehen von Kopf oder Fußzeilen bei Ausdrucken fest.
Beispiel:
int method::OnRun()
{
//Kopfzeile einstellen
GetDocument()->SetFH(2,"Seite &P");
return 1;
}
Siehe auch:
CGrafDoc Übersicht, Klassenhierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.2.6
70
CDBVariant
CDBVariant hat keine Basisklasse.
Ein CDBVariant Objekt ist ein Variant- Datentyp für die ODBC Klassen.
Die Klasse CRecordset benutzt CDBVariant Objekte in drei Member- Funktionen: GetFieldValue,
GetBookmark und SetBookmark. Zum Beispiel können sie mit GetFieldValue dynamisch auf
Daten einer Tabellenspalte zugreifen. Da der Datentyp der Spalte zur Laufzeit unbekannt sein
kann, benutzt GetFieldValue ein CDBVariant Objekt um die Daten der Spalte zu speichern.
Siehe auch:
CRecordset, CRecordset::GetFieldValue, CRecordset::GetBookmark, CRecordset::SetBookmark
Class Members | Hierarchy Chart
1.2.2.6.1 CDBVariant class members
Daten Members
m_dwType
m_boolVal
m_chVal
m_iVal
m_lVal
m_fltVal
m_dblVal
m_pdate
m_pstring
m_pbinary
Enthält den Datentyp des aktuell gespeicherten Wertes. Type DWORD.
Enthält einen Wert vom Typ BOOL.
Enthält einen Wert vom Typ unsigned char.
Enthält einen Wert vom Typ short.
Enthält einen Wert vom Typ long.
Enthält einen Wert vom Typ float.
Enthält einen Wert vom Typ double.
Enthält einen Zeiger auf eine Objekt vom Typ TIMESTAMP_STRUCT.
Enthält einen Zeiger auf eine Objekt vom Typ CString.
Enthält einen Zeiger auf eine Objekt vom Typ CLongBinary.
Konstruktion
CDBVariant
Erzeugt ein CDBVariant Objekt.
Operationen
Clear
GetBinaryData
GetBinarySize
GetString
Löscht den Inhalt eines CDBVariant Objekts.
Kopiert die Daten aus dem Member m_pbinary.
Liefert die Menge der Daten im Member m_pbinary.
Kopiert den inhalte des Members m_pstring.
CDBVariant Übersicht | Hierarchy Chart
1.2.2.6.2 Member Functions
1.2.2.6.2.1 CDBVariant::CDBVariant
Syntax:
CDBVariant( );
Beschreibung:
Erzeugt ein leeres CDBVariant Objekt. Setzt den m_dwType Daten Member auf DBVT_NULL.
Siehe auch:
© XOn Siftware GmbH, 2008
71
Referenzhandbuch
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.2.2 CDBVariant::Clear
Syntax:
void Clear( );
Beschreibung:
Rufen sie diese Member- Funktion um den Inhalt eines CDBVariant- Objektes zu löschen. Ist der
Wert von m_dwType DBVT_DATE, DBVT_STRING, oder DBVT_BINARY, dann gibt Clear den
entsprechenden Speicher frei. Clear setzt m_dwType auf DBVT_NULL.
Der CDBVariant Destruktor ruft Clear.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.2.3 CDBVariant::GetBinaryData
Syntax:
int GetBinaryData(void *pBuf,int nBufSize);
Beschreibung:
Rufen sie diese Member- Funktion um auf den Inhalt des Members m_pbinary zuzugreifen. Ist der
Wert von m_dwType nicht DBVT_BINARY, dann gibt die Funktion den Wert 0 zurück.
Parameter:
· pBuf: Speicher zum Kopieren der binären Daten
· nBufSize: Größe des Speichers, auf den pBuf verweist
Rückgabewert:
Die Anzahl der kopierten Bytes.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.2.4 CDBVariant::GetBinarySize
Syntax:
int GetBinarySize();
Beschreibung:
Rufen sie diese Member- Funktion um die Länge der im Members m_pbinary gespeicherten Daten
zu erhalten. Ist der Wert von m_dwType nicht DBVT_BINARY, dann gibt die Funktion den Wert 0
zurück.
Rückgabewert:
Die Anzahl der in m_pbinary gespeicherten Daten.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
72
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.2.5 CDBVariant::GetString
Syntax:
int GetString(char *strValue,int strLen);
Beschreibung:
Rufen sie diese Member- Funktion um auf den Inhalt des Members m_pstring zuzugreifen. Ist der
Wert von m_dwType nicht DBVT_STRING, dann gibt die Funktion den Wert 0 zurück.
Parameter:
· strValue: Speicher zum Kopieren des Strings
· strLen: Größe des Speichers, auf den strValue verweist
Rückgabewert:
Die Anzahl der kopierten Bytes.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.3 Data Members
1.2.2.6.3.1 CDBVariant::m_boolVal
Beschreibung:
Speichert eine Variable vom Typ BOOL. Der m_boolVal data member gehört zu einer union.
Prüfen sie vor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn
m_dwType den Wert DBVT_BOOL hat, dann enthält m_boolVal einen gültigen Wert; andernfalls
liefert der Zugriff auf m_boolVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.3.2 CDBVariant::m_chVal
Beschreibung:
Speichert eine Variable vom Typ unsigned char. Der m_boolVal data member gehört zu einer
union. Prüfen sie vor dem Zugriff auf m_chVal den Wert von CDBVariant::m_dwType. Wenn
m_dwType den Wert DBVT_UCHAR hat, dann enthält m_chVal einen gültigen Wert; andernfalls
liefert der Zugriff auf m_chVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
© XOn Siftware GmbH, 2008
73
Referenzhandbuch
1.2.2.6.3.3 CDBVariant::m_dblVal
Beschreibung:
Speichert eine Variable vom Typ double. Der m_boolVal data member gehört zu einer union.
Prüfen sie vor dem Zugriff auf m_dblVal den Wert von CDBVariant::m_dwType. Wenn m_dwType
den Wert DBVT_DOUBLE hat, dann enthält m_dblVal einen gültigen Wert; andernfalls liefert der
Zugriff auf m_dblVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.3.4 CDBVariant::m_dwType
Beschreibung:
Dieser Daten- Member enthält den Datentyp des im CDBVariant Objekt gespeicherten Wertes.
Bevor sie auf diese union zugreifen, müssen sie den Wert von m_dwType überprüfen um den
gültigen union - Member zu ermitteln. This data member contains the data type for the value that is
currently stored in the CDBVariant object's union data member.
m_dwType
union Daten Member
DBVT_NULL
Kein Daten- Member ist gültig.
DBVT_BOOL
m_boolVal
DBVT_UCHAR
m_chVal
DBVT_SHORT
m_iVal
DBVT_LONG
m_lVal
DBVT_SINGLE
m_fltVal
DBVT_DOUBLE
m_dblVal
DBVT_DATE
m_pdate
DBVT_STRING
m_pstring
DBVT_BINARY
m_pbinary
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.3.5 CDBVariant::m_fltVal
Beschreibung:
Speichert eine Variable vom Typ float. Der m_fltVal data member gehört zu einer union. Prüfen sie
vor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType den
Wert DBVT_SINGLE hat, dann enthält m_fltVal einen gültigen Wert; andernfalls liefert der Zugriff
auf m_fltVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Overview | Class Members | Hierarchy Chart
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
74
1.2.2.6.3.6 CDBVariant::m_iVal
Beschreibung:
Speichert eine Variable vom Typ short. Der m_iVal data member gehört zu einer union. Prüfen sie
vor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType den
Wert DBVT_SHORT hat, dann enthält m_iVal einen gültigen Wert; andernfalls liefert der Zugriff
auf m_iVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Overview | Class Members | Hierarchy Chart
1.2.2.6.3.7 CDBVariant::m_lVal
Beschreibung:
Speichert eine Variable vom Typ long. Der m_lVal data member gehört zu einer union. Prüfen sie
vor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType den
Wert DBVT_LONG hat, dann enthält m_lVal einen gültigen Wert; andernfalls liefert der Zugriff auf
m_lVal ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Overview | Class Members | Hierarchy Chart
1.2.2.6.3.8 CDBVariant::m_pbinary
Beschreibung:
Speichert eine Variable vom Typ CLongBinary. Um Auf diesen Member zuzugreifen verwenden sie
die Methode GetBinaryData bzw. GetBinarySize. Der m_pbinary data member gehört zu einer
union. Prüfen sie vor dem Zugriff auf m_pbinary den Wert von CDBVariant::m_dwType. Wenn
m_dwType den Wert DBVT_BINARY hat, dann enthält m_pbinary einen gültigen Wert; andernfalls
liefert der Zugriff auf m_pbinary ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Übersicht | Class Members | Hierarchy Chart
1.2.2.6.3.9 CDBVariant::m_pdate
Beschreibung:
Speichert eine Variable vom Typ TIMESTAMP_STRUCT. Der m_pdate data member gehört zu
einer union. Prüfen sie vor dem Zugriff auf m_pdate den Wert von CDBVariant::m_dwType. Wenn
m_dwType den Wert DBVT_DATE hat, dann enthält m_pdate einen gültigen Wert; andernfalls
liefert der Zugriff auf m_pdate ein zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Overview | Class Members | Hierarchy Chart
© XOn Siftware GmbH, 2008
75
Referenzhandbuch
1.2.2.6.3.10 CDBVariant::m_pstring
Beschreibung:
Speichert eine Variable vom Typ CString. Um Auf diesen Member zuzugreifen verwenden sie die
Methode GetString. Der m_pstring data member gehört zu einer union. Prüfen sie vor dem Zugriff
auf m_pstring den Wert von CDBVariant::m_dwType. Wenn m_dwType den Wert DBVT_STRING
hat, dann enthält m_pstring einen gültigen Wert; andernfalls liefert der Zugriff auf m_pstring ein
zufälliges Resultat.
Siehe auch:
CDBVariant::m_dwType
CDBVariant Overview | Class Members | Hierarchy Chart
1.2.2.7
CDatabase
Ein CDatabase Gegenstand stellt einen Anschluß zu einer Datenquelle dar, durch die Sie die
Datenquelle zugreifen können. Eine Datenquelle ist ein spezifischer Instance der Daten, die auf
einem Datenbankmanagementsystem (DBMS) beruht. Beispiele hierfür sind Microsoft SQL
Server, Microsoft Access, Borland® dBASE® und xBASE. Sie können einen oder mehr
CDatabase Gegenstände auf einmal zugreifen.
Um CDatabase zu verwenden, konstruieren Sie einen CDatabase Gegenstand und verwenden Sie
seine OpenEx Funktion.
Siehe auch:
CRecordset
Class Members | Base Class
1.2.2.7.1 CDatabase Class Members
Data Members:
m_hdbc
Konstruktoren:
CDatabase
Open Database Connectivity (ODBC) connection
handlezu einer Datenquelle. Type HDBC.
Close
Erstellt ein CDatabase object. Sie müssen das Objekt
initialisieren, indem Sie OpenEx oder Open aufrufen.
Stellt einen Anschluß zu einer Datenquelle her (durch
einen ODBC Treiber).
Stellt einen Anschluß zu einer Datenquelle her (durch
einen ODBC Treiber).
Beendet eine Datenverbindung
Datenbankattribute:
GetConnect
Bringt die ODBC connect Zeichenkette zurück, die
Open
OpenEx
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
76
SetLoginTimeout
benutztwird, um den CDatabase Objekt an eine
Datenquelle anzuschließen.
Bringt ungleich Null zurück, wenn des CDatabase
Objekt z.Z. an eine Datenquelle angeschlossen wird.
Bringt den Namen der Datenbank z.Z. im Gebrauch ist
zurück.
Bringt ungleich Null zurück, wenn der CDatabase
Objektupdatable ist(nicht
Read-only).
Bringt ungleich Null zurück, wenn die Datenquelle
transactions unterstützt.
Stellt die Zahl Sekunden ein, für das Login Time out ein.
SetQueryTimeout
Stellt die Zahl Sekunden ein, für dasQuery Time out ein.
GetBookmarkPersistence
Identifiziert die Operation welche bookmark
Persistencen enthalten.
Indentifieziert den Effekt einer transaktion auf einem
geöffneten recordset Objekt.
Indentifieziert den Effekt einer Rolback transaktion auf
einem geöffneten recordset Objekt.
IsOpen
GetDatabaseName
CanUpdate
CanTransact
GetCursorCommitBehavior
GetCursorRollbackBehavior
Datenbantoperationen:
BeginTrans
CommitTrans
Rollback
Cancel
ExecuteSQL
Database Overridables
OnSetOptions
Startet eine transaktion zu einer angebunden
Datenquelle.
Führt eine transaktion durch, die von BeginTrans
durchgeführt wird.
Macht alle Änderungen rückgängig, die während der
aktuellen Transaktion ausgeführt wurden. Die
Datenquelle erhält den Zustand, der beim Aufruf von
BeginTrans herrschte.
bricht einen asynchronen Betrieb oder ein Prozeß von
einem
zweiten Thread ab.
Führt eine SQL Aussage durch. Keine Datensätze
werden zurückgegeben.
Aufgerufen durch das , um standart connect Optionen
zu setzen.
CDatabase Overview | Base Class Members
1.2.2.7.2 Member Functions
1.2.2.7.2.1 CDatabase::BeginTrans
Syntax:
© XOn Siftware GmbH, 2008
77
Referenzhandbuch
BOOL BeginTrans();
Rückgabewert:
Ungleich Null, wenn der Anruf erfolgreich war und Änderungen werden nur manuell committed; 0
andernfalls.
Bemerkung:
Verwenden Sie diese Funktion um eine transaktion mit einer verbunden Datenquelle zu starten. .
Siehe auch:
CDatabase::CommitTrans, CDatabase::Rollback, CRecordset::CanTransact
CDatabase Overview | Class Members
1.2.2.7.2.2 CDatabase::Cancel
Syntax:
void Cancel( );
Bemerkung:
Benennen Sie diese Mitgliedsfunktion, um zu verlangen daß das
Datenquelle abgebrochen wird. Entweder durch ein asynchrone Operation oder
ein Prozeß von einem zweiten Thread.
Siehe auch:
CDatabase Overview | Class Members
1.2.2.7.2.3 CDatabase::CanTransact
Syntax:
BOOL CanTransact( ) const;
Rückgabewert:
Ungleich Null, wenn die recordsets, die diesen CDatabase Objektverwenden, transaktionen
erlauben; 0 andernfalls.
Siehe auch:
CDatabase::BeginTrans, CDatabase::CommitTrans, CDatabase::Rollback
CDatabase Overview | Class Members
1.2.2.7.2.4 CDatabase::CanUpdate
Syntax:
BOOL CanUpdate( );
Rückgabewert:
Ungleich Null, wenn der CDatabase Objekt Updates erlaubt;
Siehe auch:
CDatabase Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
78
1.2.2.7.2.5 CDatabase::CDatabase
Syntax:
CDatabase( );
Bemerkung:
Konstruktor eines CDatabase Objekts. Nachdem Sie das Objekt erstellt haben, müssen Sie
OpenEx oder Open aufrufen, um einen Anschluß zu einer spezifizierten Datenquelle herzustellen.
Beispiel:
// This example illustrates using CDatabase
// in a CDocument-derived class.
class CMyDocument : public CDocument
{
public:
// Declare a CDatabase embedded in the document
CDatabase m_dbCust;
// ...
};
// ...
// Initialize when needed
CDatabase* CMyDocument::GetDatabase( )
{
// Connect the object to a data source
if( !m_dbCust.IsOpen( ) &&
!m_dbCust.OpenEx( NULL ) )
return NULL;
return &m_dbCust;
}
Siehe auch:
CDatabase::OpenEx, CDatabase::Open
CDatabase Overview | Class Members
1.2.2.7.2.6 CDatabase::Close
Syntax:
void Close( );
Bemerkung:
Benennen Sie diese Funktion, wenn Sie sich von einer Datenquelle trennen möchten(disconnect).
Sie müssen alle mögliche recordsets schließen, die mit dem CDatabase Gegenstand verbunden
sind, bevor Sie diese Funktion aufrufen.
Beispiel:
// Close the current connection
m_dbCust.Close( );
// Perhaps connect the object to a
// different data source
m_dbCust.OpenEx("DSN=MYDATASOURCE;UID=JOES");
Siehe auch:
CDatabase::OpenEx, CDatabase::Open
CDatabase Overview | Class Members
© XOn Siftware GmbH, 2008
79
Referenzhandbuch
1.2.2.7.2.7 CDatabase::CommitTrans
Syntax:
BOOL CommitTrans( );
Rückgabewert:
Ungleich Null, wenn die Updates erfolgreich ausgeführt wurden; 0 andernfalls.Wenn
CommitTrans ausfällt, ist der Zustand der Datenquelle unbestimmt. Sie müssen die Daten
überprüfen, um seinen Zustand festzustellen.
Siehe auch:
Database::BeginTrans, CDatabase::Rollback
CDatabase Overview | Class Members
1.2.2.7.2.8 CDatabase::ExecuteSQL
Syntax:
void ExecuteSQL( LPCSTR lpszSQL );
Parameter:
lpszSQL: Zeiger zu einer Zeichenkette, die einen gültigen SQL Befehl enthält durchzuführen.
Bemerkung:
Verwenden Sie diese Funktion wenn sie ein SQL- Komando direkt ausführen müssen.
Siehe auch:
CDatabase::SetLoginTimeout, CRecordset
CDatabase Overview | Class Members
1.2.2.7.2.9 CDatabase::GetBookmarkPersistence
Syntax:
DWORD GetBookmarkPersistence( );
Rückgabewert:
Eine Bitmaske, die die Betriebe kennzeichnet, durch die Bookmarks auf einem recordset Objekt
fortbestehen.
Bemerkung:
Benutzen Sie diese Funktion, um die persistence der Bookmarks auf einem recordset Objekt nach
bestimmten Operationen festzustellen.
Die folgende Tabelle zeigt die Werte (Bitmaske), die im Rückgabewert von
GetBookmarkPersistence kombiniert sein können.
Bitmask value
Bookmark persistence
SQL_BP_CLOSE
Bookmarks sind nach einer Requery Operation gültig.
SQL_BP_DELETE
Das Bookmark für eine Reihe ist nach einer
Löschungoeration auf
dieser Reihe gültig.
SQL_BP_DROP
Bookmarks sind nach einem Close gültig.
SQL_BP_SCROLL
Bookmarks sind nach jeder möglichen Operation gültig.
SQL_BP_TRANSACTION
Bookmarks sind gültig, nachdem einer Operation oder nach
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
SQL_BP_UPDATE
SQL_BP_OTHER_HSTMT
80
einem Rolltback.
Das Bookmark für eine Reihe ist nach einer
UpdateOperation auf dieser Reihe gültig.
Die Bookmarks, die mit einem recordset Objekt verbunden
sind, sindauf einem zweiten recordset gültig.
Siehe auch:
CRecordset, CRecordset::CanBookmark, CRecordset::GetBookmark, CRecordset::SetBookmark
CDatabase Overview | Class Members
1.2.2.7.2.10 CDatabase::GetConnect
Syntax:
void GetConnect(char* strValue, int strlen );
Parameter:
char* strValue: Buffer für die Rückgabe des connect strings.
int strlen: Länge des Buffers.
Siehe auch:
CDatabase::OpenEx, CDatabase::Open
CDatabase Overview | Class Members
1.2.2.7.2.11 CDatabase::GetCursorCommitBehavior
Syntax:
int GetCursorCommitBehavior( ) const;
Rückgabewert:
Der Wert gibt an ob für ein offenes Recordset- Objekt eine Transaktion notwendig ist. Mehr
Informationen finden sie unter Bemerkung.
Bemerkung:
Rufen sie diese Funktion um Information über die Auswirkung von CommitTrans- Operationen auf
offenen Recordsets zu erhalten.
Die folgende Tabelle zeigt die möglichen Rückgabewerte von GetCursorCommitBehavior und
die zugehörigen Auswirkungen auf geöffnete Recordsets.
Rückgabewert
Auswirkung auf ein CRecordset Objekt
SQL_CB_CLOSE
Anruf CRecordset::Requery direkt nach der Transaktion commit.
SQL_CB_DELETE
Anruf CRecordset::Close direkt nach der Transaktion commit.
SQL_CB_PRESERVE
fährt mit den CRecordset Operationen fort.
Siehe auch:
CDatabase::GetCursorRollbackBehavior, CDatabase::CanTransact, CDatabase::BeginTrans,
CDatabase::CommitTrans, CDatabase::Rollback, CRecordset
CDatabase Overview | Class Members
1.2.2.7.2.12 CDatabase::GetCursorRollbackBehavior
Syntax:
© XOn Siftware GmbH, 2008
81
Referenzhandbuch
int GetCursorRollbackBehavior( );
Rückgabewert:
Ein Wert, der den Effekt von Transaktionen auf geöffnetem recordset anzeigt.
Bemerkung:
Benutzen sie diese Funktion, um festzustellen, wie ein Rollbackbetrieb Cursor auf geöffneten
recordset Gegenständen wirkt.
Die folgende Tabelle verzeichnet die möglichen Rückholwerte für GetCursorRollbackBehavior
und der entsprechende Effekt auf das
geöffnete recordset.
Rückgabewert
Auswirkung auf das CRecordset Objekt
SQL_CB_CLOSE
Anruf CRecordset::Requery direkt nach dem Verhandlung
Rollback.
SQL_CB_DELETE
Anruf CRecordset::Close direkt nach dem Rollback.
SQL_CB_PRESERVE
Anruf CRecordset::Close direkt nach dem Rollback.
Siehe auch:
CDatabase::GetCursorCommitBehavior, CDatabase::CanTransact, CDatabase::BeginTrans,
CDatabase::CommitTrans, CDatabase::Rollback, CRecordset
CDatabase Overview | Class Members
1.2.2.7.2.13 CDatabase::GetDatabaseName
Sybntax:
void GetDatabaseName( char* strValue, int strLen);
Parameter:
· char* strValue: Buffer zum Speichern des Datenbanknamens.
· int strLen: Grösse des Buffers
Siehe auch:
CDatabase::OpenEx, CDatabase::Open, CDatabase::GetConnect
CDatabase Overview | Class Members
1.2.2.7.2.14 CDatabase::IsOpen
Syntax:
BOOL IsOpen( ) const;
Rückgabewert:
Nicht NULL wenn das CDatabase Object korrekt verbunden ist; Andernfalls 0.
Bemerkung:
Benutzen Sie diese Funktion , um festzustellen, ob derCDatabase Objekt z.Z. an eine Datenquelle
angeschlossen ist.
Siehe auch:
CDatabase::OpenEx, CDatabase::Open
CDatabase Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
82
1.2.2.7.2.15 CDatabase::OnSetOptions
Syntax:
void OnSetOptions( HSTMT hstmt );
Parameter:
· hstmt: Der ODBC statmend handle, um festzustellen welche Optionen gesetzt sind.
Bemerkung:
Das Framework benutzt diese Fnktion, wenn er direkt eine SQL Statment mit der ExecutenSQL
Funktion durchführt. CRecordset::OnSetOptions ruft diese Funktion auch auf.
OnSetOptions stellt den login timeaut Wert ein.Wenn es vorhergehende Anrufe zum
SetQueryTimeout gegeben hat und Funktionen arbeiten, reflektiert OnSetOptions die
gegenwärtigen Werte; andernfalls stellt es Default-Werte ein.
Siehe auch:
CDatabase::ExecuteSQL, CDatabase::SetQueryTimeout, CRecordset::OnSetOptions
CDatabase Overview | Class Members
1.2.2.7.2.16 CDatabase::Open
Syntax:
BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR l
Rückgabewert:
Ungleich Null wenn die Verbindung erfolgreich hergestellt werden konnte. Andernfalls NULL.
Parameter:
· lpszDSN:
Gibt den Name der ODBC- Datenquelle an. (Siehe ODBC- Administrator in der
Systemsteuerung). Wurde ein DSN- Wert im Parameter lpszConnect angegeben, dann darf er
im lpszConnect nichtmehr angegeben werden. In diesem Fall sollte lpszDSN NULL sein. Wird
keine Datenquelle angegeben geht ein Dialogfenster auf, das die nötigen Informationen vom
Anwender abfragt.
· bExclusive:
Dieser Parameter wird in der aktuellen Version von CDatabase noch nicht unterstützt. Ist der
Parameter TRUE wird eine Fehler erzeugt.
· bReadOnly:
TRUE wenn sie eine "read-only" verbindung aufbauen wollen. Alle Methoden des Recordsets
übernehmen dieses Attribut. Der Default-Wert ist FALSE.
· lpszConnect:
Gibt den connect string an. Der connect string kann Informationen enthalten über
- Name der Datenquelle
- Benutzeridentifikation
- Benutzerpasswort
- Weitere Informationen je nach Datenquelle und ODBC- Treiber
Der connect string mit Mit "ODBC;" beginnen. Der String "ODBC;" zeigt an, daß es sich um eine
ODBC- Datenquelle handelt. Dies dient zur Aufwärtskompatibilität gegenüber anderen
Datenquellen.
· bUseCursorLib:
TRUE wenn sie die ODBC Cursor Library DLL laden wollen. Die Cursor-Bibliothek verdeckt
etwas Funktionalität des zugrundeliegenden ODBC Treibers und verhindert den Gebrauch von
dynasets (Falls der Treiber dies unterstützt). Die einzigen Cursor, die sie mit der ODBC Cursor
Library verwenden können sind statische Snapshots und forward-only Cursor. Der Default-Wert
© XOn Siftware GmbH, 2008
83
Referenzhandbuch
ist TRUE. Wenn sie planen, einen CRecordset Objekt direkt vonCRecordset zu erstellen, ohne
von ihm abzuleiten, sollten Sie nicht die Cursor-Bibliothek laden.
Bemerkung:
Benutzen Sie diese Funktion, um ein CDatabase Objekt zu initialisieren. Ihr Datenbankobjekt muß
initialisiert werden, bevor Sie diese benutzen können, um einen CRecordset- Objekt zu
konstruieren.
Anmerkung:
Der Aufruf der OpenEx Funktion ist die bevorzugte Weise, sich mit einer Datenquelle zu
verknüpfen und Ihren Datenbankgegenstand zu initialisieren.
Wenn die Parameter in Ihrem Open Aufruf nicht genügende Informationen enthalten, um die
Verknüpfung herzustellen, öffnet der ODBC Treiber ein Dialogfeld, um die notwendigen
Informationen vom Benutzer einzuholen.
Wenn Sie wünschen, können Sie Ihr eigenes Dialogfeld öffnen, bevor Sie Open aufrufen, um
Informationen vom Benutzer zu erhalten wie etwa ein Kennwort. Diese Information übergeben sie
dann im Parameter lpszConnect der Open- Methode.
Beispiel:
// Embed a CDatabase object
// in your document class
CDatabase m_dbCust;
// Connect the object to a
// data source (no password)
// the ODBC connection dialog box
// will always remain hidden
m_dbCust.Open( _T( "MYDATASOURCE" ), FALSE,
FALSE, _T( "ODBC;UID=JOES" ),
// ...Or, query the user for all
// connection information
m_dbCust.Open( NULL );
Siehe auch:
CDatabase::OpenEx, CDatabase::CDatabase, CDatabase::Close, CRecordset::Open
CDatabase Overview | Class Members
1.2.2.7.2.17 CDatabase::OpenEx
Syntax:
BOOL OpenEx( LPCTSTR lpszConnectString, DWORD dwOptions = 0 );
Rückgabewert:
Ungleich Null wenn die Verbindung erfolgreich hergestellt werden konnte. Andernfalls NULL.
Parameter:
· lpszDSN:
Gibt den Name der ODBC- Datenquelle an. (Siehe ODBC- Administrator in der
Systemsteuerung). Wurde ein DSN- Wert im Parameter lpszConnect angegeben, dann darf er
im lpszConnect nichtmehr angegeben werden. In diesem Fall sollte lpszDSN NULL sein. Wird
keine Datenquelle angegeben geht ein Dialogfenster auf, das die nötigen Informationen vom
Anwender abfragt.
· dwOptions:
Ein Bitmaske, welche eine Kombination der folgenden Werte spezifiziert.Der voreingestellte
Wert ist 0, meaning that the database will be opened as shared with write access, the ODBC
Cursor Library DLL will not be loaded, and the ODBC connection dialog box will display only if
there is not enough information to make the connection.
- CDatabase::openExclusive: Wird in dieser Version nicht unterstützt.
- CDatabase::openReadOnly: Öffnet die Datenquelle als "read-only"..
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
84
- CDatabase::useCursorLib: Laden Sie das ODBC Cursor-Bibliothek DLL. Die CursorBibliothek verdeckt etwas Funktionalität des zugrundeliegenden ODBC Treibers und verhindert
den Gebrauch von dynasets.
- CDatabase::noOdbcDialog: Zeigen Sie das ODBC Anschluß-Dialogfeld, nicht unabhängig
davon an, ob genügende Anschlußinformationen geliefert werden.
- CDatabase::forceOdbcDialog: Zeigt immer das ODBC Anschluß-Dialogfeld an.
Bemerkung:
Benutzen Sie diese Funktion, um ein CDatabase Objekt zu initialisieren. Ihr Datenbankobjekt muß
initialisiert werden, bevor Sie diese benutzen können, um einen CRecordset- Objekt zu
konstruieren.
Anmerkung:
Der Aufruf der OpenEx Funktion ist die bevorzugte Weise, sich mit einer Datenquelle zu
verknüpfen und Ihren Datenbankgegenstand zu initialisieren.
Wenn die Parameter in Ihrem Open Aufruf nicht genügende Informationen enthalten, um die
Verknüpfung herzustellen, öffnet der ODBC Treiber ein Dialogfeld, um die notwendigen
Informationen vom Benutzer einzuholen.
Wenn Sie wünschen, können Sie Ihr eigenes Dialogfeld öffnen, bevor Sie Open aufrufen, um
Informationen vom Benutzer zu erhalten wie etwa ein Kennwort. Diese Information übergeben sie
dann im Parameter lpszConnect der Open- Methode.
Beispiel:
// Embed a CDatabase object
// in your document class
CDatabase m_dbCust;
// Connect the object to a
// read-only data source where
// the ODBC connection dialog box
// will always remain hidden
m_dbCust.OpenEx( _T( "DSN=MYDATASOURCE;UID=JOES" ),
CDatabase::openReadOnly |
CDatabase::noOdbcDialog );
Siehe auch:
CDatabase::Open, CDatabase::CDatabase, CDatabase::Close, CRecordset::Open
CDatabase Overview | Class Members
1.2.2.7.2.18 CDatabase::Rollback
Syntax:
BOOL Rollback( );
Rückgabewert:
Ungleich Null, wenn die Transaktion erfolgreich aufgehoben wurde; 0 andernfallsIf, das ein
Rollbackanruf fehlgeschlagen, die Datenquelle und Transaktionszustände sind unbestimmt. Wenn
Rollback 0 zurückbringt,müssen Sie die Datenquelle überprüfen, um seinen Zustand festzustellen.
Bemerkung:
Rufen sie diese Funktion auf um die Änderungen der letzten Transaktion rückgängig zu machen.
Alle CRecordset AddNew, Edit, Delete, und Update Aufrufe seit dem letzten BeginTrans werden
rückgängig gemacht zu dem vorherigen Zustand.
Nach dem Aufruf von Rollback ist die Transaktion beendet. Für eine weitere Transaktion müssen
sie erneut BeginTrans aufrufen.
Siehe auch:
CDatabase::BeginTrans, CDatabase::CommitTrans
CDatabase Overview | Class Members
© XOn Siftware GmbH, 2008
85
Referenzhandbuch
1.2.2.7.2.19 CDatabase::SetLoginTimeout
Syntax:
void SetLoginTimeout( DWORD dwSeconds );
Parameter:
dwSeconds: Die Zahl den Sekunden, zum bevor ein Login time out meldet.
Bemerkung:
Rufen sie diese Funktion nur vor den OpenEx oder Open auf, um die default Login Time zu
ändern.Verwenden Sie diese Funktion, um die Voreinstellung der Zahl der Sekunden für das Time
out zu ändern. Dies kann bei Netzwekproblemen oder Datenzugangsproblemen erforderlich sein.
Voreingestellt sind 15 Sekunden. Nicht alle Datenquellen unterstützen diese Zeiteinstellung.
Siehe auch:
CDatabase::OnSetOptions, CDatabase::SetQueryTimeout
CDatabase Overview | Class Members
1.2.2.7.2.20 CDatabase::SetQueryTimeout
Syntax:
void SetQueryTimeout( DWORD dwSeconds );
Parameter:
dwSeconds: Die Zahl den Sekunden, zum bevor eine Query time out meldet.
Bemerkung:
Verwenden Sie diese Funktion, um die Voreinstellung der Zahl der Sekunden für das Time out zu
ändern. Dies kann bei Netzwekproblemen oder Datenzugangsproblemen erforderlich sein.
Voreingestellt sind 15 Sekunden. Nicht alle Datenquellen unterstützen diese Zeiteinstellung.
Siehe auch:
CDatabase::SetLoginTimeout
CDatabase Overview | Class Members
1.2.2.7.3 Data Members
1.2.2.7.3.1 CDatabase::m_hdbc
Bemerkung:
Enthält einen allgemeinen Handler zu einem ODBC Datenquelle -- ein “connection handle”
Normalerweise haben Sie keine Notwendigkeit, diese Mitgliedsvariable direkt zugänglich zu
machen. Stattdessen teilt das Framework den handler zu, wenn Sie OpenEx verwenden oder sich
öffnen.
Unter einigen Umständen müssen Sie den Handler direkt benutzen. Z.B. wenn Sie ODBC API
Funktionen Klasse CDatabase direkt erstellen müssen, können Sie einen connection handle als
Parameter benötigen.Siehe Code Beispiel
Beispiel:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
86
// Using m_hdbc for a direct ODBC API call.
// m_db is the CDatabase object; m_hdbc is
// its HDBC member variable
nRetcode = ::SQLGetInfo( m_db.m_hdbc,
SQL_ODBC_SQL_CONFORMANCE,
&nValue,
sizeof( nValue ),
&cbValue );
Siehe auch:
CDatabase::OpenEx, CDatabase::Open, CDatabase::Close
CDatabase Overview | Class Members
1.2.2.8
CRecordset
Ein CRecordset Objekt stellt Daten Sätze dar, die von einer Datenquelle selektiert wurde.
CRecordset Objekte werden in zwei Formaten verwendet: Dynasets und Snapshots.Der Dynaset
Modus synchronisiert die Daten mit den Datenbankänderungen der anderen Benutzer. Ein
Snapshot ist eine statische Ansicht der Daten, die Daten weden eingefrohen, zu dem Zeitpunkt als
das Recordset geöffnet wurde.
Um mit Recordset zu arbeiten erstellen Sie gewöhnlich ein anwendungsspezifische Instance von
CRecordset. Sie wählen Datensätze von einer Datenquelle für das Recordset aus und können
dann:
· Durch die Datensätze scrollen.
· Filtern des Recordsets um bestimmte Datensätze aus den vorhandenen Daten zu bekommen.
· Sortieren des Recordsets
· Parameterisieren Sie den Recordset, um seine Auswahl mit den Informationen anzupassen, die
zur Laufzeit nicht bekannt sind.
Um Ihre Klasse zu benutzen, öffnen Sie eine Datenbank und erstellen Sie eine recordset Objekt
dessen Constructor einen Zeiger zu Ihrer CDatabase Klasse übergeben wird. Dann rufen Sie die
Methode Open der recordsets Klasse auf und geben Sie an ob sie Dynasets oder Snapshots
verwenden wollen. Rufen Sie Open auf und selectieren Sie die Daten von der Datnquelle.
Nachdem das Recordset Objekt geöffnet wurde, können sie die Methoden und Datenelemente
des Objektes zum scrollen inerhalb der Daten nutzen. Die vorhandenen Operationen hängen ab,
ob das objekt ein dynaset oder ein Snapshot ist und ob Sie "bulk row fetching" implementiert
haben. Wenn Sie fertig sind, rufe die Funktion Close auf und lösche das Objekt.
Siehe auch:
Class Members | CDatabase
1.2.2.8.1 CRecordset Class Members
Daten Elemente
Construction
Recordset Attribute
Recordset Navigation Operationen
Andere Recordset Operationen
© XOn Siftware GmbH, 2008
87
Referenzhandbuch
Recordset Overridables
Daten Elemente:
m_hstmt
m_nFields
m_nParams
m_pDatabase
Enthält den ODBC Statement Handler für das Recordset.
Type HSTMT.
Enthält die Anzahl von Datenfeldern im Recordset. Type
UINT.
Enthält die Anzahl der Parameter im Recordset. Type
UINT.
Enthält einen Pointer auf das CDatabase Object welches
mit dem Recordset verbunden ist.
Konstruktion:
CRecordset
Open
Close
Recordset Attribute:
CanBookmark
CanRestart
CanScroll
CanTransact
GetODBCFieldCount
GetRecordCount
GetStatus
GetTableName
GetSQL
IsOpen
IsBOF
IsEOF
IsDeleted
Erstellt eine CRecordset Objekt. Ihre abgeleitete Klasse
muß einen Constructor zur Verfügung stellen.
Öffnet das recordset indem die Tabelle oder führt die
Abfrage aus die durch das Recordset dargestellt wird.
Schliest das Recordset und die ODBC HSTMT Verbindung
mit ihm.
Gibt nicht Null zurück wenn das Recordset
Bookmarks unterstützt.
Holt nicht Null, wenn Requery die Recordset query
erneut ausführen kann.
Gibt nicht Null, wenn es möglich ist durch die
Records zu scrollen.
Holt nicht Null, wenn die Datenquelle Transaktionen
unterstützt.
Holt die Anzahl der Felder des Recordsets.
Gibt die Anzahl von Records, die sich im Recordset
befinden.
Gibt den Status des recordset: den Index des
aktuellen Satzes und ob ein abschließender
Zählerstand der Sätze ereicht worden ist.
Holt den Namen der Tabelle aufwelchen die Tabelle
beruht.
Gibt den SQL String der dieen Recordset selectiert.
Gibt nicht 0 zurück, wenn Open has been called
previously.
Gibt nicht Null zurück wenn der Datenzeiger vor dem
ersten Datensatz steht.
Gibt nicht Null zurück wenn der letzte Datensatz
überschritten ist.
Gibt nicht null zurück, wenn das Returns nonzero if
the recordset is positioned on a deleted record.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
88
Recordset Navigationsoperationen:
GetBookmark
Weist den Bookmarkwert eines Datensatzes ein
Parameter Objekt zu.
Move
Wechselt zu einen bestimmten, durch eine Nummer
angegebenen, Datensatz des Recordsets.
MoveFirst
Wechselt zum ersten Datensatz im Recordset. Teste
zuerst mitels IsBOF.
MoveLast
Wechselt zum letzten Datensatz des Recordsets. Teste
vorher mittels IsEOF.
MoveNext
Wechselt zum nächsten Datensatz im Recordset. Teste
vorher mittels IsEOF.
MovePrev
Wechselt zum vorhergehenden Datensatz. Teste vorher
mittels IsBOF.
SetAbsolutePosition
Gibt die Position des Datensatzes im Recordset, mittels
einer Nummer zurück.
SetBookmark
Bringt das recordset auf den Datensatz in Position, der
durch das Bookmark spezifiziert wurde.
Andere Recordset Operationen:
Cancel
FlushResultSet
GetFieldValue
GetODBCFieldInfo
GetRowsetSize
GetRowsFetched
GetRowStatus
IsFieldDirty
IsFieldNull
RefreshRowset
Requery
SetLockingMode
SetRowsetCursorPosition
Recordset
Overridables
© XOn Siftware GmbH, 2008
Bricht eine asynchrone Operation ab.
Bringt ungleich Null zurück, wenn es ein anderes Resultat
Set gibt, wenn eine vorbestimmte Query verwendet wird.
Gibt den Wert eines Datenfeldes zurück.
Gibt eine spezielle Art der Information über ein Datenfeld
zurück.
Gibt die Zahl Sätzen zurück, die während eines einzelnen
Vorgangs zurückgeholt werden.
Returns the actual number of rows retrieved during a fetch.
Returns the status of the row after a fetch.
Bringt ungleich Null zurück, wenn das spezifizierte
Datenfeld im aktuellen Datensatz geändert worden ist.
Bringt ungleich Null zurück, wenn das spezifizierte Feld im
aktuellen Datensatz Null ist (hat keinen Wert).
Erneuert die Daten und den Status des spezifizierten Zeile
(n).
Läßt die Abfrage der recordsets wieder weiter laufen, um
die ausgewählten Sätze zu erneuern.
Stellt den sperrenmodus auf "optimistic" Sperrung (default)
oder "pessimistic" Sperrung ein. Stellt fest, wie die
Datensätze für Aktualisierungsvorgänge gesperrt sind.
Bringt den Cursor auf die spezifizierte Zeile innerhalb des
Zeilensets in Position.
89
Referenzhandbuch
Check
CheckRowsetError
GetDefaultConnect
GetDefaultSQL
OnSetOptions
Called to examine the return code from an ODBC API function.
Called to handle errors generated during record fetching.
Called to get the default connect string.
Called to get the default SQL string to execute.
Called to set options for the specified ODBC statement.
CRecordset Overview
1.2.2.8.2 Member Functions
1.2.2.8.2.1 CRecordset::CanBookmark
Syntax:
BOOL CanBookmark( );
Rückgabewert:
Nicht Null wenn der Recordset Bookmarks unterstützt; andernfalls 0.
Kommentar:
Diese Funktion ist unabhängig von der CRecordset::useBookmarks Option im dwOptions
Parameter der Open Funktion. CanBookmark zeigt an, ob der gegebene ODBC Treiber
Bookmarks unterstützen. CRecordset::useBookmarks zeigt an, ob Bookmarks vorhanden sind,
vorausgesetzt das sie unterstützt werden.
Siehe auch:
CRecordset::GetBookmark, CRecordset::SetBookmark
CRecordset Overview | Class Members
1.2.2.8.2.2 CRecordset::Cancel
Syntax:
void Cancel( );
Beschreibung:
Verwenden Sie diese Funktion, um eine asyncrone Operation oder eine Operation eines anderen
threads abzubrechen.
Siehe auch:
CRecordset Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.2.8.2.3 CRecordset::CanRestart
Syntax:
BOOL CanRestart( );
Rückgabewert:
Nicht null wenn wiederholte Abfragen erlaubt sind; Andernfalls 0.
Siehe auch:
CRecordset::Requery
CRecordset Overview | Class Members
1.2.2.8.2.4 CRecordset::CanScroll
Syntax:
BOOL CanScroll( );
Rückgabewert:
Nicht null wenn der recordset scrollen erlaubt; andernfalls 0.
Bemerkung:
Verwenden Sie diese Funktion um festzustellen ob das Recordset scrollen erlaubt.
Siehe auch:
CRecordset Overview | Class Members
1.2.2.8.2.5 CRecordset::CanTransact
Syntax:
BOOL CanTransact( );
Rückgabewert:
Nicht Null wenn der recordset transaktionen zulässt; andernfalls 0.
Siehe auch:
CDatabase::BeginTrans, CDatabase::CommitTrans, CDatabase::Rollback
CRecordset Overview | Class Members
1.2.2.8.2.6 CRecordset::Check
Syntax:
virtual BOOL Check( RETCODE nRetCode ) const;
Rückgabewert:
Nicht Null wenn der Wert von nRetCode SQL_SUCCESS, SQL_SUCCESS_WITH_INFO,
SQL_NO_DATA_FOUND oder SQL_NEED_DATA ist; ansonsten 0.
Parameter:
nRetCode: Ein ODBC API Rückgabewert.
Beschreibung:
© XOn Siftware GmbH, 2008
90
91
Referenzhandbuch
Verwenden Sie diese Funktion um den ODBC API Rückgabewert zu ermitteln. Die folgenden
Tabelle listet die möglichen Werte für RetCode auf.
nRetCode
Description
SQL_SUCCESS
Funktion erfolgreich durchgeführt;es sind keine
zusätzlichen Informationen vorhanden.
SQL_SUCCESS_WITH_INFO
Funktion führte zum erfolgreich, vielleicht mit einem
kleinen Fehler. Zusätzliche Informationen können durch
den Aufruf von SQL-Error ermittelt werden.
SQL_NO_DATA_FOUND
Alle möglichen Datensätze vom Ergebnis wurden geholt
SQL_ERROR
Funktionsaufruf ist fehlgeschlagen. Zusätzliche
Informationen können durch den Aufruf von SQL-Error
ermittelt werden.
SQL_INVALID_HANDLE
Function failed due to an invalid environment handle,
connection handle, or statement handle. This indicates
a programming error. No additional information is
available from SQLError.
SQL_STILL_EXECUTING
Eine asynchronously Funktion ist noch am laufen.
SQL_NEED_DATA
Bei der Verarbeitung einer Anweisung, stellte der
Treiber fest, daß die Anwendung Parameterdatenwerte
senden muß.
Siehe auch:
Recordset Overview | Class Members
1.2.2.8.2.7 CRecordset::CheckRowsetError
Syntax:
void CheckRowsetError( RETCODE nRetCode );
Parameter:
nRetCode: Ein ODBC API Funktions Rückgabewert.
Beschreibung:
Diese Funktion behandelt Fehler, die während des Datenholvorganges geschehen oder die für den
Benutzer interesant sind. Es ist möglich die CheckRowsetError Funktion außer Funktion zu
setzen um eine eigene Fehlerbehandlung zu implementieren.
CheckRowsetError wird automatisch in einer Zeiger Navigations Operations wie beispielsweise
Open, Requery, oder einem Move aufgerufen. Es wird eine entsprechende ODBC API Funktion
SQLExtendedFetch zurückgegeben. Die volgende Tabelle listet die möglichen Werte für
nRetCode auf..
nRetCode
Description
SQL_SUCCESS
Funktion erfolgreich durchgeführt;es sind keine
zusätzlichen Informationen vorhanden.
SQL_SUCCESS_WITH_INFO
Funktion führte zum erfolgreich, vielleicht mit einem
kleinen Fehler. Zusätzliche Informationen können durch
den Aufruf von SQL-Error ermittelt werden.
SQL_NO_DATA_FOUND
Alle möglichen Datensätze vom Ergebnis wurden
geholt.
SQL_ERROR
Funktionsaufruf ist fehlgeschlagen. Zusätzliche
Informationen können durch den Aufruf von SQL-Error
ermittelt werden.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
92
SQL_INVALID_HANDLE
Funktionsaufruf ist fehlgeschlagen aufgrund eines
ungültigen Datenhandlers, Verbindungshandlers, oder
Anweisungs Handlers. Dieses zeigt einen
Programmierung Fehler an. Zusätzliche Informationen
können nicht durch den aufruf von SQL-Error ermittelt
werden.
SQL_STILL_EXECUTING
Eine asynchronously Funktion ist noch am laufen.
Siehe auch:
CRecordset::GetRowsetSize, CRecordset::Move
CRecordset Overview | Class Members
1.2.2.8.2.8 CRecordset::Close
Syntax:
void Close( );
Beschreibung:
Rufe diese Funktion auf um den recordset zu schließen. Die ODBC HSTMT und der Speicher der
vom Framework verwendet wird, wird freigegeben.
Sie können Open aufrufen nachdem Close aufgerufen wurde. Dies öffnet Ihr Recordset Objekt
erneut. Dioes ist eine Alternative zu Requery.
Beispiel:
// Example for CRecordset::Close
// Construct a snapshot object
CCustSet rsCustSet( NULL );
if( !rsCustSet.Open( ) )
return FALSE;
// Use the snapshot ...
// Close the snapshot
rsCustSet.Close( );
// Destructor is called when the function exits
Siehe auch:
CRecordset::CRecordset, CRecordset::Open, CRecordset::Requery
CRecordset Overview | Class Members
1.2.2.8.2.9 CRecordset::CRecordset
Syntax:
CRecordset( CDatabase* pDatabase = NULL);
Parameter:
· pDatabase:
Zeiger auf ein Objekt vom Typ CDatabase oder der Wert NULL. Wenn der Wert nicht NULL ist
und die Open- Methode des Datenbankobjektes nicht aufgerufen wurde versucht das
Recordsetobjekt die Datenbank zu öffnen während des aufrufs von CRecordset::Open. Wenn
sie NULL übergeben wird ein Datenbankobjekt angelegt und anhand der
Verknüpfungsinformationen mit einer Datenbank verbunden.
Bemerkung:
Legt ein CRecordset object an.
© XOn Siftware GmbH, 2008
93
Referenzhandbuch
Übergeben sie NULL an den CRecordset- Konstruktor damit automatisch ein CDatabase Objekt
angelegt und verknüpft wird. Dies ist eine nützliche Abkürzung um nicht im Vorraus ein
Datenbankobjekt anlegen und verknüpfen zu müssen.
Siehe auch:
CRecordset Overview
CRecordset::Open, CRecordset::Close
Class Members | Hierarchy Chart
1.2.2.8.2.10 CRecordset::FlushResultSet
Syntax:
BOOL FlushResultSet( ) const;
Rückgabewert:
Nonzero if there are more result sets to be retrieved; otherwise 0.
Remarks
Call this member function to retrieve the next result set of a predefined query (stored
procedure), if there are multiple result sets. You should call FlushResultSet only
when you are completely finished with the cursor on the current result set. Note that
when you retrieve the next result set by calling FlushResultSet, your cursor is not
valid on that result set; you should call the MoveNext member function after calling
FlushResultSet.
If a predefined query uses an output parameter or input/output parameters, you must
call FlushResultSet until it returns FALSE (the value 0), in order to obtain these
parameter values.
FlushResultSet calls the ODBC API function SQLMoreResults. If SQLMoreResults
returns SQL_ERROR or SQL_INVALID_HANDLE, then FlushResultSet will throw
an exception. For more information about SQLMoreResults, see the ODBC SDK
Programmer's Reference.
CRecordset Overview | Class Members | Hierarchy Chart
1.2.2.8.2.11 CRecordset::GetBookmark
Syntax:
void GetBookmark( CDBVariant& varBookmark );
Parameter:
· varBookmark: Die Referenz zu einem CDBVariant Objekt welches ein Bookmark auf den current
record symbolisiert.
Bemerkung:
Benutzen Sie diese Funktion, um den Bookmarkwert für den aktuellen Datensatz zu erhalten.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
94
Wenn Sie feststellen wollen ob Bookmarks unterstützt weder rufen Sie CanBookmark auf. Um
Bookmarks zur Verfügung zu stellen, falls diese unterstützt werden, müssen Sie die CRecordset::
useBookmarks Option im dwOptions Parameter der Open Funktion benutzen.
Getbookmark weist den Wert des Bookmarks für den aktuellen Satz einer CDB-Variant Objekt zu.
Um zu dem Datensatz jederzeit zurück kehren zu können, nachdem man zu einem anderen
Datensatz besucht hat, muß manSetBookmark mit dem zugehörigen CDVariant Objekt aufrufen.
Amnmerkung:
Nach bestimmten recordset- Operationen sind Bookmarks nicht mehr gültig.
Siehe auch:
CRecordset::CanBookmark, CRecordset::SetBookmark, CDatabase::GetBookmarkPersistence
CRecordset Overview | Class Members
1.2.2.8.2.12 CRecordset::GetDefaultConnect
Syntax:
void GetDefaultConnect(char* strValue,int strLen );
Partameter:
· strValue:
Ein Char Pointer auf ein Array, in dem der Default Connect String geschrieben wird.
· strLen:
Länge des Arrays von strValue
Bemerkung:
Das Framework benutzt diese Funktion um den default connect string der Datenquelle, der auf
dem Recordsets basiert, zu erhalten.
Siehe auch:
CRecordset Overview | Class Members
1.2.2.8.2.13 CRecordset::GetDefaultSQL
Syntax:
void GetDefaultSQL(char* strValue,int strLen);
Parameter:
· strValue:
Eine Char Referenz auf ein Array das den Default SQL Statement enthält.
· strLen:
länge des strValue Array.
Bemerkung:
Das Framwork ruft diese Funktion auf, um die SQL Anweisung zu erhalten, auf der das recordset
basiert. Diese kann ein Tabelle Name oder eine SQL SELECT Anweisung sein.
Sie definieren indirekt die default SQL Anweisung, indem Sie Ihre recordset Klasse mit
ClassWizard deklariert, und ClassWizard Platformen führt diese Aufgabe für Sie durch.
Wenn Sie die SQL Anweisung benötigen,auf die der Recordset, zum Zeitpunkt als er geöffnet
wurde basiert rufen Sie GetSQL auf, der die SQL Anweisung zurückgibt. Sie können die default
SQL Zeichenkette in der Ihrer Klasse mittels GetdefaultSQL überschreiben.
Hinweis:
Der Tabellenname ist leer, wenn das Framework nicht einen Tabellennamen kennzeichnen
© XOn Siftware GmbH, 2008
95
Referenzhandbuch
konnte, wenn mehrfache Tabellennamen angegeben wurden oder wenn eine Aufrufanweisung
nicht interpretiert werden konnte. Beachten Sie, daß, wenn Sie ein CALL Stement verwenden, Sie
keine Leerzeichen zwischen der lockigen Klammer und dem AUFRUF-Schlüsselwort einsetzen
dürfen. Ausserdem sollten Sie Leerzeichen vor der geschweiften Klammer oder vor dem SELECT
Schlüsselwort in einer SELECT Anweisung einsetzen.
Siehe auch:
CRecordset::GetSQL
CRecordset Overview | Class Members
1.2.2.8.2.14 CRecordset::GetFieldValue
Syntax:
void GetFieldValue(
void GetFieldValue(
void GetFieldValue(
void GetFieldValue(
const char*
int nIndex,
const char*
int nIndex,
lpszName, CDBVariant* varValue, int nFieldType =
CDBVariant& varValue, int nFieldType = DEFAULT_F
lpszName, char* strValue, int nLen );
char* strValue, int len );
Parameter:
· lpszName:
Name des Datenbankfeldes.
· varValue:
Zeiger auf ein CDBVariant Objekt, das den Wert des Datenbankfeldes erhält.
· nIndex:
The zero-based index of the field.
· strValue:
A reference to a CString object that will store the field's value converted to text, regardless of the
field's data type.
· nFieldType:
Der ODBC C Datentyp des Datenbankfeldes. Wenn man den Defaultwert verwendet (
DEFAULT_FIELD_TYPE) ermittelt die Methode GetFieldValue den C- Datentyp aus dem SQLDatentyp anhand nachfolgender Tabelle. Andernfalls können sie den Datentyp direkt angeben
oder einen kompatiblen Datentyp auswählen. Zum Beispiel kann jeder Datenbanktyp als
SQL_C_CHAR übertragen werden.
C data type
SQL data type
SQL_C_BIT
SQL_BIT
SQL_C_UTINYINT
SQL_TINYINT
SQL_C_SSHORT
SQL_SMALLINT
SQL_C_SLONG
SQL_INTEGER
SQL_C_FLOAT
SQL_REAL
SQL_C_DOUBLE
SQL_FLOAT
SQL_DOUBLE
SQL_C_TIMESTAMP
SQL_DATE
SQL_TIME
SQL_TIMESTAMP
SQL_C_CHAR
SQL_NUMERIC
SQL_DECIMAL
SQL_BIGINT
SQL_CHAR
SQL_VARCHAR
SQL_LONGVARCHAR
SQL_C_BINARY
SQL_BINARY
SQL_VARBINARY
SQL_LONGVARBINARY
Weitere Informationen über ODBC- Datentypen finden sie unter anderem in den Kapiteln "SQL
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
96
Data Types" und "C Data Types" im Anhang D der ODBC SDK Programmer's Reference von
Microsoftâ.
Bemerkung:
Rufen sie diese Funktion auf um daten aus dem aktiven Record zu erhalten. Sie können ein Feld
entweder mit Namen oder mit Index identifizieren. Sie können den Feldwert entweder in einem
CDBVariant oder in einem String ablegen.
Sie können GetFieldValue verwenden um zur laufzeit dynamisch auf die Daten zugreifen zu
können.
GetFieldValue ruft die ODBC API Funktion SQLGetData. Wenn ihr Treiber SQL_NO_TOTAL als
Länge des Feldwertes ausgibt, liefert GetFieldValue einen Fehler.
Beispiel:
Das Beispiel demonstriert Aufrufe von GetFieldValue für ein Recordset Objekt.
// Create and open a database object;
// do not load the cursor library
CDatabase db;
db.OpenEx( NULL, CDatabase::forceOdbcDialog );
// Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT * FROM SomeTable" ) );
// Create a CDBVariant object to
// store field data
CDBVariant varValue;
// Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
}
rs.MoveNext( );
}
rs.Close( );
db.Close( );
Hinweis:
CRecordset hat keine SetFieldValue member Funktion und ist daher read-only.
|
Siehe auch:
CRecordset Overview
CRecordset::GetODBCFieldCount, CRecordset::GetODBCFieldInfo, CRecordset::
SetRowsetCursorPosition
Class Members | Hierarchy Chart
© XOn Siftware GmbH, 2008
97
Referenzhandbuch
1.2.2.8.2.15 CRecordset::GetODBCFieldCount
Syntax:
short GetODBCFieldCount( ) const;
Rückgabewert:
Die Anzahl von Feldern im recordset.
Bemerkung:
Benutzen Sie die Funktion, um die Gesamtzahl Feldern in Ihrer recordset Objekt zu ermitteln.
Siehe auch:
CRecordset::GetFieldValue
CRecordset Overview | Class Members
1.2.2.8.2.16 CRecordset::GetODBCFieldInfo
Syntax:
void GetODBCFieldInfo( LPCTSTR lpszName, CODBCFieldInfo& fieldinfo );
void GetODBCFieldInfo( short nIndex, CODBCFieldInfo& fieldinfo );
Parameter:
· lpszName:
Der Name des Datenfeldes.
· fieldinfo:
Ein Zeiger auf die CODBCFieldInfo Structur.
· nIndex:
Die Nuill basiert index des Datenfeldes.
Bemerkung:
Benutzen Sie diese Funktion, um Informationen über die Felder im recordset einzuholen. Eine
Version der Funktion läßt Sie ein Feld namentlich angeben. Die andere Version läßt Sie ein Feld
durch einen Index angeben.
Siehe auch:
CRecordset::GetFieldValue
CRecordset Overview | Class Members
1.2.2.8.2.17 CRecordset::GetRecordCount
Syntax:
long GetRecordCount( ) const;
Rückgabewert:
Die Anzahl der Sätzen im Recordset; 0 wenn das recordset keine Sätze enthält; oder -1, wenn der
Rekordzählimpuls nicht festgestellt werden kann.
Bemerkung:
Verwenden Sie diese Funktuon, um die Größe des recordset festzustellen.
Siehe auch:
CRecordset::MoveLast, CRecordset::MoveNext, CRecordset::IsEOF, CRecordset::GetStatus
CRecordset Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
98
1.2.2.8.2.18 CRecordset::GetRowsetSize
Syntax:
DWORD GetRowsetSize( ) const;
Rückgabewert:
Die Anzahl von Reihen die bei einer Abfrage zurückgegen werden.
Beschreibung:
Benutzen Sie diese Funktion, um die Anzahl der aktuellen Zeilen zu errfahren, die Sie während
einer Abfrage erhalten würden. Wenn Sie bulk row fetching verwenden, ist dies die default rowset
Größe (25), wenn das recordset geöffnet ist. Andernfalls ist dies 1. Um bulk row fetching zu
implementieren, müssen Sie die CRecordset::useMultiRowFetch Option im dwOptions Parameter
der Open Funktion spezifizieren.
Siehe auch:
CRecordset::Open, CRecordset::CheckRowsetError
CRecordset Overview | Class Members
1.2.2.8.2.19 CRecordset::GetRowsFetched
Syntax:
DWORD GetRowsFetched( );
Rückgabewert:
Die Anzahl von Reihen die duche eine Abfrage zurückgegebn wird.
Bemerkung:
Verwenden Sie diese Funktion um festzustellen wieviele Zeilen von der Datenbank zurückgegen
werden. Dies ist nützlich wenn Sie bulk row fetching verwenden.
Als Beispiel, Sie haben ein Recordset mit 10 Datensätzen und die rowset Größe wird auf 4
festgelegt; nun springen Sie mit MoveNext bis Sie das Ende (EOF) ereichen; Sie haben nun 2
Datensätze bekommen.
Um bulk row fetching zu verwenden müßen sie dies mittel CRecordset::useMultiRowFetch in
dwOptions Parameter der Open Funktion angeben.
Beispiel:
MultiRowSet rs;
// Set the rowset size
rs.SetRowsetSize( 5 );
// Open the recordset
rs.Open( CRecordset::dynaset, NULL,
CRecordset::useMultiRowFetch );
// loop through the recordset by rowsets
while( !rs.IsEOF( ) )
{
for( int rowCount = 0;
rowCount < (int)rs.GetRowsFetched( );
rowCount++ )
{
// do something
}
rs.MoveNext( );
}
rs.Close( );
© XOn Siftware GmbH, 2008
99
Referenzhandbuch
Siehe auch:
CRecordset::CheckRowsetError
CRecordset Overview | Class Members
1.2.2.8.2.20 CRecordset::GetRowStatus
Syntax:
WORD GetRowStatus( int wRow ) const;
Rückgabewert:
Eine Statusvariable für eine Daten-Zeile.
Parameter:
· wRow:
Die eins basierende Position einer Reihe im aktuellen rowset. Dieser Wert liegt zwischen 1 und
der Größe des Rowset.
Bemerkung:
Benutzen Sie diese Funktion, um den Status für eine Reihe im aktuellen rowset zu erreichen.
Getrowstatus bringt einen Wert zurück, der jede mögliche Statusänderung der Reihe anzeigt, seit
sie zuletzt von der Datenquelle zurückgeholt wurde, oder wen keine Reihe, die wRow entspricht,
geholt wurde. Die folgende Tabelle zeigt die möglichen Rückgabewerte.
Status
Beschreibung
SQL_ROW_SUCCESS
Die Zeile wurde nicht verändert
SQL_ROW_UPDATED
Die Zeile wurde updated.
SQL_ROW_DELETED
Die Zeile wurde gelöscht.
SQL_ROW_ADDED
Die Zeile wurde hinzugefügt.
SQL_ROW_ERROR
The Zeile hat einen Fehler.
SQL_ROW_NOROW
Es gibt keine Zeile die wRow entspricht.
Siehe auch:
CRecordset::CheckRowsetError, CRecordset::GetRowsFetched, CRecordset::RefreshRowset
CRecordset Overview | Class Members
1.2.2.8.2.21 CRecordset::GetStatus
Syntax:
void GetStatus( CRecordsetStatus& rStatus ) const;
Parameter:
· rStatus:
Ein Zeiger auf ein CRecordsetStatus Object.
Bemerkung:
Benutzen Sie diese Funktion, um den Index des aktuellen Satzes im recordset festzustellen und/
oder ob der letzte Satz gelesen worden ist. CRecordset versucht, den Index aufzuspüren, aber
unter einigen Umständen ist dieses nicht möglich. Siehe GetRecordCount zur Erklärung.
Die CRecordsetStatus Struktur hat folgendes Form:
struct CRecordsetStatus
{
long m_lCurrentRecord;
BOOL m_bRecordCountFinal;
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
100
};
Die zwei Variablen von CRecordsetStatus haben volgende Bedeutung:
· m_lCurrentRecord Enthält den null-basierenden Index des aktuellen Datensatzes im
recordset, wenn er bekannt ist. Wenn der Index nicht festgestellt werden kann, enthält diese
Variable AFX_CURRENT_RECORD_UNDEFINED (–2). Ist IsBOF ist gleich TRUE (leeres
recordset oder es wurde vor den ersten Satz gescrollt), dann m_lCurrentRecord ist gesetzt mit
AFX_CURRENT_RECORD_BOF (–1). Ist es auf dem ersten recard, dann wird es auf den
zweiten gestetzt, Und so weiter.
· m_bRecordCountFinal ist ungleich Null, wenn die Gesamtzahl der Sätzen im recordset
festgestellt worden ist. Im Allgemeinen wird dieses erreicht, indem man am Anfang des
recordset beginnt und Movennext aufruft, bis Is-EOF ungleich Null zurückbringt.
Siehe auch:
CRecordset::GetRecordCount
CRecordset Overview | Class Members
1.2.2.8.2.22 CRecordset::GetSQL
Syntax:
const char* GetSQL( ) const;
Rückgabewert:
Eine const Referenz auf einem CString, das die SQL Anweisung enthält.
Bemerkung:
Benutzen sie diese Funktion, um die SQL Anweisung zu erhalten, die verwendet wurde, um die
Datensätze der recordsets auszuwählen, als es geöffnet wurde. Dieses ist im Allgemeinen eine
SQL SELECT Anweisung. Die Zeichenkette, die von GetSQL zurükgegeben wird, ist Read-only.
Hinweis:
Rufen Sie diese Funktion nur nach einen Open auf.
Siehe auch:
CRecordset::GetDefaultSQL, CRecordset::Open
CRecordset Overview | Class Members
1.2.2.8.2.23 CRecordset::GetTableName
Syntax:
void GetTableName(char *nBuf,int nSize) const;
Parameter:
· nBuf:
Eine Referenz auf ein Char Array in dem der Tabelle Namen gespeichert wird, wenn das
recordset auf einer Tabelle basiert; andernfalls eine leere Zeichenkette.
· nSize:
länge des nBuf Arrays.
Bemerkung:
Benutzen Sie diese Funktion, um den Namen der SQL Tabelle zu erhalten, auf der die Abfrage
des Recordsets basiert.Gettablename ist nur gültig, wenn das recordset auf einer Tabelle, nicht
join, multiple Tabellen oder einer vorbestimmten Abfrage basiert . Der Tabellenname ist read-only.
Hinweis:
Rufen Sie diese Funktion nur auf wenn sie vorher Open aufgerufen haben.
© XOn Siftware GmbH, 2008
101
Referenzhandbuch
Siehe auch:
CRecordset Overview | Class Members
1.2.2.8.2.24 CRecordset::IsBOF
Syntax:
BOOL IsBOF( ) const;
Rückgabewert:
Ungleich Null, wenn das recordset keine Sätze enthält, oder wenn Sie rückwärts vor dem ersten
Satz gescrollt haben; 0 andernfalls.
Bemerkung:
Benutzen sie diese Funktion, bevor Sie von Satz zu Satz scroll, um zu erkennen, ob Sie vor den
erste Satz des recordset gegangen sind. Sie können Is-BOF zusammen mit Is-EOF auch
verwenden, um festzustellen, ob das recordset irgendwelche Sätze enthält oder leer ist. Nachdem
sie Open aufgerufen haben und das recordset keine Sätze enthält, bringt Is-BOF ungleich Null
zurück. Wenn Sie ein recordset öffnen, das mindestens einen Satz hat, ist der erste Satz der
aktuelle Satz und die Is-BOF Rückgabe 0.
Wenn der erste Satz der aktuelle Satz ist und Sie MovePrev aufrufen, gibt IsBOF nachher true
zurück. Wenn IsBOF true zurückgibt und Sie MovePrev aufrufen, tritt ein Fehler auf. Wenn IsBOF
true zurückgibt, ist der aktuelle Satz unbestimmt, und jede mögliche Tätigkeit, die einen aktuellen
Satz benötigt, ergibt einen Fehler.
Beispiel:
Dieses Beispiel verwendet IsBOF und IsEOF, um die Begrenzungen auf ein recordset beim
scrollen durch das recordset in beiden Richtungen zu entdecken.
// Open a recordset; first record is current
CRecordSet rsCustSet( NULL );
rsCustSet.Open( );
if( rsCustSet.IsBOF( ) )
return;
// The recordset is empty
// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
rsCustSet.MoveNext( );
// Move to the last record
rsCustSet.MoveLast( );
// Scroll to beginning of the recordset, before
// the first record, so no record is current
while( !rsCustSet.IsBOF( ) )
rsCustSet.MovePrev( );
// First record is current again
rsCustSet.MoveFirst( );
Siehe auch:
CRecordset::IsEOF, CRecordset::MoveFirst, CRecordset::MovePrev
CRecordset Overview | Class Members
1.2.2.8.2.25 CRecordset::IsDeleted
Syntax:
BOOL IsDeleted( ) const;
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
102
Rückgabewert:
Ungleich Null, wenn das recordset auf einen gelöschten Satz in Position gebracht wurde;
andernfalls 0.
Bemerkung:
Benutzen Sie diese Funktion, um festzustellen, ob der aktuelle Satz gelöscht worden ist. Wenn Sie
zu einem Satz scroll und IsDeleted TRUE (ungleich Null) zurückgibt, dann müssen Sie zu einem
anderen Satz scrollen, bevor Sie irgendwelche anderen recordset Operationen durchführen
können.
Beachten Sie, daß das Resultat IsDeleted von vielen Faktoren, wie Ihrem recordset Typen, , ob
Sie die CRecordset::skipDeletedRecords Option spezifiziert haben und ob es mehrere Benutzer
gibt abhängt.
Für mehr Informationen zu CRecordset::skipDeletedRecords und Treibereinstellungen siehe
Open Funktion.
Hinweis:
Wenn sie "bulk row fetching" vrwenden, sollten sie IsDeleted nicht aufrufen, verwenden Sie
alternativ GetRowStatus.
Siehe auch:
CRecordset::IsBOF, CRecordset::IsEOF
CRecordset Overview | Class Members
1.2.2.8.2.26 CRecordset::IsEOF
Syntax:
BOOL IsEOF( ) const;
Rückgabewert:
Ungleich Null, wenn das recordset keine Datensätze enthält, oder wenn Sie über dem letzten
Datensatz hinaus gescrollt haben; 0 andernfalls.
Bemerkung:
Benutzen Sie diese Funktion, wenn Sie von Satz zu Satz scroll, um festzustellen, ob Sie über dem
letzten Satz des recordset hinaus gegangen sind. Sie können IsEOF auch verwenden, um
festzustellen, ob das recordset irgendwelche Sätze enthält oder leer ist. Nachdem Sie Open
aufgerufen haben und das recordset keine Sätze enthält, bringt IsEOF ungleich Null zurück. Wenn
Sie ein recordset öffnen, das mindestens einen Satz hat, ist der erste Satz der aktuelle Satz und
der IsEOF Rückgabewert 0.
Wenn der letzte Satz der aktuelle Satz ist und Sie Movennext aufrufen, bringt IsEOF nachher
ungleich Null zurück. Wenn IsEOF ungleich Null zurückgibt und Sie MoveNext aufrufen, tritt ein
Fehler auf. Wenn IsEOF ungleich Null zurückgibt, ist der aktuelle Satz unbestimmt, und jede
mögliche Tätigkeit, die einen aktuellen Satz benötigt, ergibt einen Fehler.
Beispiel:
Siehe IsBOF.
Siehe auch:
CRecordset::IsBOF, CRecordset::MoveLast, CRecordset::MoveNext
CRecordset Overview | Class Members
1.2.2.8.2.27 CRecordset::IsFieldDirty
Syntax:
© XOn Siftware GmbH, 2008
103
Referenzhandbuch
BOOL IsFieldDirty( void* pv );
Rückgabewert:
Nicht Null wenn das ausgewählte Datenfeld sich seit dem Aufruf von AddNew oder Edit geändert
hat; Andernfalls 0.
Parameter:
· pv:
Ein Pointer auf ein Datenfeld, dessen Status überprüft werden soll, oder NULL um festzustellen
ob irgendein Feld geändert wurde.
Bemerkung:
Rufen Sie diese Funktion auf um festzustellen ob ein ausgewähltes Datenfeld seit dem Aufruf von
Edit oder AddNew geändert wurde. Diese Funktion ist nicht auf recordsets anwendbar, die bulk
row fetching verwenden.
Siehe auch:
CRecordset::IsFieldNull
CRecordset Overview | Class Members
1.2.2.8.2.28 CRecordset::IsFieldNull
Syntax:
BOOL IsFieldNull( void* pv );
Rückgabewert:
Ungleich 0, wenn das spezifizierte Datenfeld als Null gekennzeichnet ist; 0 andernfalls.
Parameter:
· pv:
Ein Zeiger zum Datenfeld desen Status Sie auf NULL überprüfen möcheten, um festzustellen,ob
irgendwelche der Felder ungültig sind.
Bemerkung:
Benutzen Sie diese Funktion, um festzustellen, ob das spezifizierte Datenfeld eines recordset als
Null gekennzeichnet worden ist. (Bei Datenbanken meint Null, das Keine Daten spezifiziert sind).
Diese Funktion ist nicht auf Recordsets anwendbar, die bulk row fetching verwenden.
Siehe auch:
CRecordset::IsFieldDirty
CRecordset Overview | Class Members
1.2.2.8.2.29 CRecordset::IsOpen
Syntax:
BOOL IsOpen( ) const;
Rückgabewert:
Ungleich Null, wenn der recordset Objekt der Open oder Requery Funktion vorher übergeben
worden ist und das recordset nicht geschlossen ist; andernfalls 0.
Bemerkung:
Benutzen Sie diese Funktion, um festzustellen, wenn das recordset bereits geöffnet ist.
Siehe auch:
CRecordset Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
104
1.2.2.8.2.30 CRecordset::Move
Syntax:
void Move( long nRows, WORD wFetchType = SQL_FETCH_RELATIVE );
Parameter:
· nRows:
Die Anzahl der Datensätze (Zeilen) um die vorwärts oder rückwerts gesprungen werden soll.
Positive Werte für forwerts, negative Werte für Rückwerts The number of rows to move forward
or backward( In Richtung Beginn).
· wFetchType:
legt den Datensatz fest, zu dem der Move- Befehl bewegt.
Bemerkung:
Mit dieser Funktion kann man den Recordset Pointer vorwerts bzw. rückwerts bewegen.
Move repositioniert das Recordset Zeilenweise. Basierend auf die Werte nRows and wFetchType
holt Move die gewünschte Datenzeile und makiert den ersten Wert.
Die folgenden Tabelle listet die möglichen Werte für wFetch auf.
wFetchType
Fetched rowset
Equivalent member function
SQL_FETCH_RELATIVE (the
Das rowset startet mit nRows
default value)
Zeile(n) vom ersten
Datensatz aus.
SQL_FETCH_NEXT
Der Nächste Datensatz,
MoveNext
nRows wird ignoriert.
SQL_FETCH_PRIOR
Der vorhergehende
MovePrev
Datensatz, rRows wird
ignoriert.
SQL_FETCH_FIRST
Das erste Datensatz, nRows MoveFirst
wird ignoriert.
SQL_FETCH_LAST
Der letzte komplette
MoveLast
Datensatz, nRows wird
ignoriert.
SQL_FETCH_ABSOLUTE
Ist nRows > 0, dann startet
SetAbsolutePosition
das Rowset nRows Zeilen
nach dem Beginn des
Recordsets. Ist nRows > 0,
dann startet das Rowset
nRows Zeilen vor dem Ende
des Recordsets.. Ist nRows =
0, dann wird eine beginningof-file (BOF) Bedingung
zurückgegeben.
SQL_FETCH_BOOKMARK
Das Rowset startet an der
SetBookmark
Stelle die durch das
Lesezeichen makiert wurde..
Hinweis:
Vor dem aufrufen vom Move sollte mittels IsBOF und IsEOF auf das Datenende geprüft werden.
Beispiel:
// rs is a CRecordset or a
// CRecordset-derived object
// Change the rowset size to 5
rs.SetRowsetSize( 5 );
// Move to the first record
© XOn Siftware GmbH, 2008
105
Referenzhandbuch
// in the recordset
rs.MoveFirst( );
// Move to the sixth record
rs.Move( 5 );
// Other equivalent ways to
// move to the sixth record:
// rs.Move( 6, SQL_FETCH_ABSOLUTE );
// rs.SetAbsolutePosition( 6 );
// In this case, the sixth record is
// the first record in the next rowset,
// so the following are also equivalent:
// rs.Move( 1, SQL_FETCH_NEXT );
// rs.MoveNext( );
Siehe auch:
CRecordset::MoveNext, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast,
CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::
IsEOF, CRecordset::CheckRowsetError
CRecordset Overview | Class Members
1.2.2.8.2.31 CRecordset::MoveFirst
Syntax:
void MoveFirst( );
Bemerkung:
Eine einfache Methode an den ersten Datensatz im Recordset zu gelangen.
Beispiel:
Siehe Beispiel für IsBOF.
Siehe auch:
CRecordset::Move, CRecordset::MoveLast, CRecordset::MoveNext, CRecordset::MovePrev,
CRecordset::IsBOF, CRecordset::IsEOF
CRecordset Overview | Class Members
1.2.2.8.2.32 CRecordset::MoveLast
Syntax:
void MoveLast( );
Bemerkung:
Eine einfache Möglichkeit zum ersten Datenfeld des Letzten Datensatzes zu gelangen. Diese
Methode ist nicht verfügbar für "forward-only recordsets".
Beispiel:
Siehe das Beispiel für IsBOF.
Siehe auch:
CRecordset::Move, CRecordset::MoveFirst, CRecordset::MoveNext, CRecordset::MovePrev,
CRecordset::IsBOF, CRecordset::IsEOF
CRecordset Overview | Class Members
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
106
1.2.2.8.2.33 CRecordset::MoveNext
Syntax:
void MoveNext( );
Bemerkung:
Eine einfache Möglichkeit zum nächsten Datensats im Recordset zu kommen.
Überprüfe zuerst mittels IsEOF.ob der letzte Datensats schon ereicht ist.
Beispiel:
Siehe Beispiel für IsBOF.
Siehe auch:
CRecordset::Move, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast,
CRecordset::IsBOF, CRecordset::IsEOF
CRecordset Overview | Class Members
1.2.2.8.2.34 CRecordset::MovePrev
Syntax:
void MovePrev( );
Bemerkung:
Eine einfache Möglichkeit zu einen vorhergehenden Datensatz zu kommen.
Es empfiehlt sich vorher mittels IsBOF zu überprüfen ob es diesen Datensatz überhaupt gibt
Beispiel:
Siehe das Beispiel für IsBOF.
Siehe auch:
CRecordset::Move, CRecordset::MoveNext, CRecordset::MoveFirst, CRecordset::MoveLast,
CRecordset::IsBOF, CRecordset::IsEOF
CRecordset Overview | Class Members
1.2.2.8.2.35 CRecordset::OnSetOptions
Syntax:
void OnSetOptions( HSTMT hstmt );
Parameter:
· hstmt:
Das HSTMT der ODBC Anweisung deren Optionen verwendet werden sollen
Bemerkungen:
Das Framework ruft diese Funktion auf, um die Ausgangsoptionen für das recordset einzustellen.
OnSetOptions stellt den Support der Datenquelle für scrollable Cursors und für Cursor
Ansteuerungen und stellt die Optionen der recordsets dementsprechend ein.
Setzen Sie über OnSetOptions ausser Kraft, um zusätzliche Optionen zum Treiber oder zur
Datenquelle einzustellen. Z.B. wenn Ihre Datenquelle Öffnung für exklusiven Zugriff unterstützt,
konnten Sie über OnSetOptions ausser Kraft setzen, um diese zu Nutzen.
Siehe auch:
CDatabase::OnSetOptions
© XOn Siftware GmbH, 2008
107
Referenzhandbuch
CRecordset Overview | Class Members
1.2.2.8.2.36 CRecordset::Open
Syntax:
BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWO
Rückgabewert:
Nicht Null wenn der CRecordset erfolgreich geöffnet wurde; Andernfalls 0 wenn CDatabase::Open
(wenn es aufgerufen wurde) 0 zurückgibt.
Parameter:
· nOpenType:
Akzeptiert den Default Wert, AFX_DB_USE_DEFAULT_TYPE, Oder verwendet einen der enum
OpenType.
CRecordset::dynaset: Ein Recordset mit bidirektionalem Rollen. Die Zugehörigkeit und
Sortierung der Records werden ermittelt wenn das Recordset geöffnet wird. Änderungen durch
andere Anwender sind sichtbar nach fetch- Operationen.
CRecordset::snapshot: Ein statisches Recordset mit bidirektionalem Rollen. Die Zugehörigkeit
und Sortierung der Records werden ermittelt wenn das Recordset geöffnet wird. Die Datenwerte
werden ermittelt wenn die Records festgelegt werden. Änderungen durch andere Anwender
werden erst sichtbar, wenn das Recordset geschlossen und dann erneut geöffnet wird.
CRecordset::dynamic: Ein Recordset mit bidirektionalem Rollen. Änderungen der Zuordnung,
Sortierung und Daten durch andere Benutzer werden sofort nach Fetch- Operationen sichtbar.
Beachten sie, dass viele ODBC Treiber diese Art von Recordsets nicht unterstützen.
CRecordset::forwardOnly: Ein Recordset das nur gelesen werden und nur vorwärts gerollt
werden kann.
Für CRecordset ist der Defaultwert CRecordset::snapshot.
· lpszSQL:
Ein string mit folgendem Inhalt
Ein NULL- Zeiger.
Name der Tabelle.
Eine SQL SELECT - Anweisung (optional mit SQL WHERE oder ORDER BY Anweisung).
Eine CALL- Anweisung mit dem Namen einer vordefinierten Abfrage (stored procedure). Achten
sie darauf keine Leerzeichen zwischen Klammern und CALL- Schlüsselwort zu verwenden.
· dwOptions:
Eine Bitmaske die eine Kombination der Nachfolgenden Werte enthält. Der Defaultwert ist none
.
CRecordset::none: Keine Optionen gesetzt. Die Erneuerung der Daten hängt ab von der
Datenquelle und vom Parameter nOpenType. Optimierung für bulk additions ist nicht verfügbar.
Bulk row fetching wird nicht angelegt. Gelöschte Felder werden nicht verworfen während der
Navigation. Bookmarks sind nicht verfügbar. Automatische "dirty field"- Überprüfung wird
angelegt.
CRecordset::appendOnly: Erlaubt nicht die Anwendung von Edit oder Delete auf dem
Recordset. Lässt lediglich AddNew zu. Diese Option schließt die Option CRecordset::
readOnly aus.
CRecordset::readOnly: Öffnet das Recordset aussschließlich zum Lesen. Diese Option
schließt die Option CRecordset::appendOnly aus.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
108
CRecordset::optimizeBulkAdd: Benutzt eine vorbereitete SQL-Anweisung um das Einfügen
mehrere Records auf einmal zu optimieren. Die Optimierung wirkt sich nicht aus wenn sie
SQLSetPos zur Aktualisierung des Recordset verwenden. Bei der ersten Aktualisierung wird
festgestellt, welche Felder verändert wurden. Diese Option schließt die Option CRecordset::
useMultiRowFetch aus.
CRecordset::useMultiRowFetch: Wählt die Strategie "bulk row fetching" um mehrere
Datensätze mit einer Zugriffsoperation zu erhalten. Dies ist eine erweiterte Eigenschaft zur
Verbesserung der Performance. Diese Option schließt die Option CRecordset::
optimizeBulkAdd aus. Beachten sie, dass sie mit der Option CRecordset::useMultiRowFetch
auch automatisch die Option CRecordset::noDirtyFieldCheck setzen ("double buffering" ist
dann nicht verfügbar); Bei "forward-only" Recordsets wird die Option CRecordset::
useExtendedFetch automatisch gesetzt.
CRecordset::skipDeletedRecords: Überspringt alle gelöschten Felder bei der Navigar Skip all
deleted records when navigation im Recordset. Diese Option verringert die Performance einiger
relativer Zugriffsoperationen. Diese Option ist unzulässig auf "forward-only" Recordsets.
Beachten sie, dass CRecordset::skipDeletedRecords identisch ist mit "driver packing"; dies
bedeutet, dass gelöschte Datensätze aus dem Recordset entfernt werden. Natürlich entfernt ihr
Treiber nur Records die sie selber löschen. Von anderer Benutzer gelöschte Datensätze werden
nicht aus dem Recordset entfernt, solange dies geöffnet ist.
CRecordset::useBookmarks: Lesezeichen können auf dem Recordset verwendet werden
sofern dies vom ODBC- Treiber unterstützt wird. Lesezeichen bremsen die Datenübertragung
aber beschleunigen die Navigation im Recordset. Die Option ist unzulässig auf "forward-only"Recordsets.
CRecordset::noDirtyFieldCheck: Schaltet die automatische überprüfung auf veränderte Felder
ab (double buffering). Dies verbessert die Performance. Allerdings müssen sie dann selbst
Felder als "verändert" markieren mit den Methoden SetFieldDirty und SetFieldNull. Beachten
sie dass sie in CRecordset "double buffering" nicht für einzelne Felder aktivieren können;
"double buffering" können sie nur für alle Felder gleichzeitig ein- oder ausschalten. Beachten
sie, dass mit der Option CRecordset::useMultiRowFetch automatisch auch die Option
CRecordset::noDirtyFieldCheck gesetzt wird. Ausserdem können SetFieldDirty und
SetFieldNull nicht auf Recordsets mit "bulk row fetching" verwendet werden.
CRecordset::executeDirect: Verwendet keine vorbereitete SQL-Anweisung. Verwenden sie
diese Option zur verbesserung der Performance, wenn sie die Methode Requery nicht
verwenden.
CRecordset::useExtendedFetch: Aktiviert SQLExtendedFetch anstatt SQLFetch. Diese
Option ermöglicht "bulk row fetching" auf "forward-only" Recordsets. Wenn sie die Option
CRecordset::useMultiRowFetch auf ein "forward-only" Recordset anwenden wird die Option
CRecordset::useExtendedFetch automatisch gewählt.
CRecordset::userAllocMultiRowBuffers: Der Benutzer legt den Datenspeicher selbst an.
Verwenden sie diese Option zusammen mit CRecordset::useMultiRowFetch wenn sie ihren
eigenen Speicher anlegen wollen. Andernfalls legt die Klasse automatisch den nötigen Speicher
an. Beachten sie dass die Option CRecordset::userAllocMultiRowBuffers ohne die Option
CRecordset::useMultiRowFetch zu einem Fehler führt.
Bemerkung:
Sie müssen diese Methode ausführen um eine Abfrage auszuführen. Vor dem Aufruf von Open
müssen sie ein CRecordset- Objekt anlegen.
Die Verknüpfung des Recordsets zur Datenquelle hängt davon ab wie sie das Recordset anlegen,
bevor sie Open aufrufen. Wenn sie ein CDatabase Objekt an den Konstruktor des Recordsets
übergeben, das noch nicht mit einer Datenquelle verbunden ist verwendet diese Methode
© XOn Siftware GmbH, 2008
109
Referenzhandbuch
GetDefaultConnect um das Datenbankobjekt zu öffnen. Wenn sie NULL an den Konstruktor des
Recordsets übergeben, legt der Konstruktor ein Datenbankobjekt an und öffnet es. Für Details
zum Schliessen von Recordset und die Verknüpfung unter diesen unterschiedlichen Umständen
siehe Close.
Hinweis:
Der Zugriff auf eine Datenquelle über ein CRecordset Objekt ist immer "shared". Sie können ein
CRecordset Object auch zum exclusiven Zugriff verwenden.
Wenn sie Open aufrufen wählt eine Abfrage, gewöhnlich eine SQL SELECT Anweisung,
Datensätze anhand der nachfolgenden Kriterien aus:
Wert von lpszSQL
NULL
SQL Tabellenname
Name einer vordefinierte
Abfrage (stored procedure)
SELECT column-list FROM
table-list
Auswahl der Datensätze
Der string der von GetDefaultSQL
zurückgegeben wird.
Alle Spalten der Tabelle.
Die Spalten die durch die Abfrage
festgelegt werden.
Die explizit angegebenen Spalten der
ausgewählten Tabelle(n).
Beispiel
"Customer"
"{call OverDueAccts}"
"SELECT CustId, CustName
FROM Customer"
Hinweis:
Achten sie darauf keine zusätzlichen Leerzeichen in ihren SQL- Anweisung einzufügen. Wenn sie
etwa zwischen der führenden Klammer und der Schlüsselwort CALL ein Leerzeichen einfügen
wird der Strin als Tabellenname Fehlinterpretiert und in eine SELECT- Anweisung umgewandelt.
Dies führt dann zu einem Fehler.Entsprechend dürfen sie keine Leerzeichen zwischen der
öffnenden Klammer '{' und dem Fragezeichen '?' einfügen bei CALL- Anweisungen, die einen
Ergebnisparameter liefern. Weiterhin dürfen sie weder vor der öffnenden Klammer in einer CALLAnweisung noch vor dem Schlüsselwort SELECT in einer SELECT- Anweisung ein Leerzeichen
einfügen.
Unabhängig davon was sie als lpszSQL- Parameter an die Methode übergeben erzeugt Open
einen endgültigen SQL- String für die Abfrage. Dieser String kann zusätzlich zum übergebenen
lpszSQL String SQL WHERE und ORDER BY- Anweisugen enthalten. Mit diesem endgültigen
String wird die Abfrage ausgeführt. Den endgültigen String können sie mit der Methode GetSQL
abfragen (nach dem Aufruf von Open).
Die Felddaten des Recordsets sind verknüpft mit den Spalten der ausgewählten Daten. Wenn
irgendwelche Datensätze zurückgegeben werden ist zunächst der erste Datensatz aktiv.
Wenn sie dem Recordset Optionen wie Filter oder Sortierung zuweisen wollen müssen sie dies
nach der Konstruktion aber vor dem Aufruf von Open tun.
Wenn sie die Daten im Recordset nach dem Aufruf von Open erneuern wollen müssen sie die
Methode Requery aufrufen.
Beispiel:
Das Beispiel zeigt unterschiedliche Aufrufe von Open.
// rs is a CRecordset or
// CRecordset-derived object
// Open rs using the default SQL statement,
// implement bookmarks, and turn off
// automatic dirty field checking
rs.Open( CRecordset::snapshot, NULL,
CRecordset::useBookmarks |
CRecordset::noDirtyFieldCheck );
// Pass a complete SELECT statement
// and open as a dynaset
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
110
rs.Open( CRecordset::dynaset,
_T( "Select L_Name from Customer" ) );
// Accept all defaults
rs.Open( );
Siehe auch:
CRecordset::CRecordset, CRecordset::Close, CRecordset::GetDefaultSQL, CRecordset::GetSQL
, CRecordset::Requery
CRecordset Overview | Class Members | Hierarchy Chart
1.2.2.8.2.37 CRecordset::RefreshRowset
Syntax:
void RefreshRowset( WORD wRow, WORD wLockType = SQL_LOCK_NO_CHANGE );
Parameter:
· wRow:
Die Position ("1" basierend) einer Reihe im aktuellen rowset. Dieser Wert kann von null bis zu
der Größe des rowset reichen.
· wLockType:
Ein Wert, der angibt wie die Daten gesperrt wurden nachdem, sie neu geladen wurden. Für
Details siehen Sie Anmerkungen.
Anmerkungen:
Benutzen Sie diese Funktion, um die Daten und den Status für eine Reihe im aktuellen rowset zu
aktualisieren. Wenn Sie einen Wert von null für wRow angeben, dann wird jeder Datensatz im
rowset erneuert.
Um RefreshRowset zu verwenden,muß "bulk row fetching" implementiert und mittels
CRecordset::useMulitRowFetch in der Methode Open spezifiziert sein.
RefreshRowset verwendet die ODBC API Function SQLSetPos. Der wLockType Parameter
specifziert den "lock Status" eines Datensatzes nachdem SQLSetPos gewechselt hat. Die
Nachfolgende Tabelle beschreibt die möglichen Werte für wLockType.
wLockType
Description
SQL_LOCK_NO_CHANGE
Der Treiber oder die Datenquelle stellt sicher, daß der
(Defaultwert)
Datensatz gesperrten oder entsperrten Zustand ist, die
sie war, bevor SetRowsetCursorPosition aufgerufen
wurde
SQL_LOCK_EXCLUSIVE
Der Treiber oder die Datenquelle sperrt die Reihe
ausschließlich. Nicht alle Datenquellen unterstützen
diesen Typen der Verriegelung.
SQL_LOCK_UNLOCK
Der Treiber oder die Datenquelle entsperrt die Reihe.
Nicht alle Datenquellen unterstützen diesen Typen der
Verriegelung.
Siehe auch:
CRecordset::SetRowsetCursorPosition
CRecordset Overview | Class Members
1.2.2.8.2.38 CRecordset::Requery
Syntax:
BOOL Requery( );
© XOn Siftware GmbH, 2008
111
Referenzhandbuch
Rückgabewert:
Ungleich Null, wenn das recordset erfolgreich neu erstellt wurde; 0 andernfalls.
Bemerkung:
Rufen Sie diese Funktion auf um den Recordset neu zu laden. Wenn irgendwelche Datensätze
zurückgegeben werden, wird der erste Datensatz der aktuelle Satz.
In order for the recordset to reflect the additions and deletions that you or other users are making to the data
source, you must rebuild the recordset by calling Requery. If the recordset is a dynaset, it automatically
reflects updates that you or other users make to its existing records (but not additions). If the recordset is a
snapshot, you must call Requery to reflect edits by other users as well as additions and deletions.
For either a dynaset or a snapshot, call Requery any time you want to rebuild the recordset using a new filter
or sort, or new parameter values. Set the new filter or sort property by assigning new values to m_strFilter
and m_strSort before calling Requery. Set new parameters by assigning new values to parameter data
members before calling Requery. If the filter and sort strings are unchanged, you can reuse the query, which
improves performance.
If the attempt to rebuild the recordset fails, the recordset is closed. Before you call Requery, you can
determine whether the recordset can be requeried by calling the CanRestart member function. CanRestart
does not guarantee that Requery will succeed.
Hinweis:
Sie dürfen Requery erst nach einem Aufruf von Open ausführen.
Beispiel:
Dieses Beispiel aktualisiert ein Recordset mit veränderter Sortierung.
// Example for CRecordset::Requery
CCustSet rsCustSet( NULL );
// Open the recordset
rsCustSet.Open( );
// Use the recordset ...
// Set the sort order and Requery the recordset
rsCustSet.m_strSort = "District, Last_Name";
if( !rsCustSet.CanRestart( ) )
// Unable to requery
return;
if( !rsCustSet.Requery( ) )
// Requery failed, so take action
Siehe auch:
CRecordset::CanRestart
CRecordset Overview | Class Members
1.2.2.8.2.39 CRecordset::SetAbsolutePosition
Syntax:
void SetAbsolutePosition( long nRows );
Parameter:
· nRows:
Die Eins basierte Ordnungsposition für den aktuellen Satz im recordset.
Bemerkung:
Rufen Sie diese Klassenfunktion auf, um das recordset auf den Satz in Position zu bringen, der
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
112
der spezifizierten Rekordzahl entspricht.SetAbsolutePosition verschiebt den aktuellen
Datensatzzeiger, der auf dieser Ordnungsposition basiert.
Diese Funktion ist bei forward-only recordsets unzulässig.
Für ODBC recordsets spricht eine absolute Position Einstellung von 1 den ersten Satz im
recordset an; eine Einstellung von 0 spricht die beginning-of-file(BOF) Position an.
Sie können negative Werte auch für SetAbsolutePosition verwenden. In diesem Fall wird die
Position der Recordsets vom Ende des Recordset ausgewertet. Z.B. verschiebt
SetAbsolutePosition(-1) den aktuellen Satzzeiger auf den letzten Satz im Recordset.
Kommentar:
Absolute Position soll nicht als stellvertretende Rekordzahl verwendet werden. Bookmarks sind
noch die empfohlene Methode des beibehaltens und des zurückspringen zu einer gegebenen
Position, da die Position eines Satzes sich ändern kann, wenn vorangehende Sätze gelöscht
werden. Zusätzlich können Sie nicht versichert werden, daß ein gegebener Datensatz die gleiche
absolute Position hat, wenn das recordset wieder neu geladen wird, weil die Ordnung der
einzelnen Sätze innerhalb eines recordset nicht garantiert wird, es sei denn sie mit einer SQL
Anweisung mit einer ORDER BY Klausel erstellt wird.
Siehe auch:
CRecordset::SetBookmark
CRecordset Overview | Class Members
1.2.2.8.2.40 CRecordset::SetBookmark
Syntax:
void SetBookmark( const CDBVariant& varBookmark );
Parameter:
· varBookmark:
Eine Referenz zu einem CDBVariant Object welches ein Bookmark für ein speziellen Record
beinhaltet.
Bemerkung:
Rufen Sie die Klassenfunktion auf, um das recordset auf den Datensatz zu positionieren, der das
spezifizierte Bookmark enthält. Um feststellen ob das Bookmark unterstützt wird, rufen Sie
CanBookmark auf. Um Bookmarks zur Verfügung zu stellen(falls sie unterstützt werden) müssen
Sie die CRecordset::useBookmarks Option im dwOptions Parameter der geöffneten Open
Funktion setzen.
Zuerst holen Sie das Bookmark für den aktuellen Satz(aufruf GetBookmark, ) zurück, der den
Bookmarkwert zu ein CDB-Variant Objekt speichert.
Später können Sie zu diesem Satz zurückkommen, indem Sie SetBookmark mit dem gesicherten
Bookmarkwert aufrufen.
Siehe auch:
CRecordset::CanBookmark, CRecordset::GetBookmark, CRecordset::SetAbsolutePosition,
CDatabase::GetBookmarkPersistence
CRecordset Overview | Class Members
1.2.2.8.2.41 CRecordset::SetLockingMode
Syntax:
© XOn Siftware GmbH, 2008
113
Referenzhandbuch
void SetLockingMode( UINT nMode );
Parameter:
· nMode:
beinhaltet einen der folgenden Werte für enum LockMode:
optimistic:
Die optimistische Sperrung sperrt den Datensatz zum updaten nur während des Aufrufs Update.
pessimistic:
Die pessimistische Sperrung sperrt den Datensatz ebenso beim Aufruf Edit und hält ihn
gesperrt bis der Update Aufruf abgeschloßen ist oder ein anderer Datensatz verwendet wird.
Bemerkung:
Verwenden Sie diese Funktion um zu bestimmen welche Sperr Methode verwendet werden soll.
Siehe auch:
CRecordset Overview | Class Members
1.2.2.8.2.42 CRecordset::SetRowsetCursorPosition
Syntax:
void SetRowsetCursorPosition( WORD wRow, WORD wLockType =
SQL_LOCK_NO_CHANGE );
Parameter:
· wRow:
Die Zeilennummer im Recordset (mit "1" beginnend). Dieser Wert kann zwischen 1 und der
Größe des Recordsets varieren.
· wLockType:
Dieser Wert gibt an wie die Zugrifssperre für die nächste Zeile aussieht. Für Details siehe
Bemerkung.
Bemerkung:
Rufen Sie diese Funktion auf, um den Cursor auf eine Zeile innerhalb des aktuellen rowset zu
verschieben. Wenn "bulk row fetching" implementiert ist, werden Datensätze durch rowsets
zurückgeholt, wenn der erste Datensatz im rowset der aktuelle Satz ist. Um einen anderen Satz
innerhalb des rowset den aktuellen Satz zu bilden, rufen Sie SetRowsetCursorPosition auf. Als
Beispiel können Sie SetRowsetCursorPosition mit GetFieldValue kombinieren.
Um SetRowsetCursorPosition zu verwenden,muß "bulk row fetching" implementiert und mitels
CRecordset::useMulitRowFetch in der Methode Open spezifiziert sein.
SetRowsetCursorPosition ruft die ODBC API Function SQLSetPos auf. Der wLockType
Parameter specifziert den "lock Status" eines Datensatzes nachdem SQLSetPos gewechselt hat.
Die Nachfolgende Tabelle beschreibt die möglichen Werte für wLockType.
wLockType
SQL_LOCK_NO_CHANGE (der
Defaultwert)
SQL_LOCK_EXCLUSIVE
Description
Der Treiber oder die Datenquelle stellt sicher, daß der
Datensatz gesperrten oder entsperrten Zustand ist, die
sie war, bevor SetRowsetCursorPosition aufgerufen
wurde.
Der Treiber oder die Datenquelle sperrt die Reihe
ausschließlich. Nicht alle Datenquellen unterstützen
diesen Typen der Verriegelung.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
SQL_LOCK_UNLOCK
114
Der Treiber oder die Datenquelle entsperrt die Reihe.
Nicht alle Datenquellen unterstützen diesen Typen der
Verriegelung.
Siehe auch:
CRecordset::RefreshRowset
CRecordset Overview | Class Members
1.2.2.8.3 Data Members
1.2.2.8.3.1 CRecordset::m_hstmt
Beschreibung:
Enthält einen Handle zur ODBC Datenstruktur, des Types HSTMT, welcher verbunden ist mit dem
recordset. Jede Abfrage zu einer ODBC Datenquelle bezieht auf ein HSTMT.
Benutzen sie m_hstmt nicht bevor Open aufgerufen wurde.
Normalerweise brauchen Sie nicht auf das m_hstmt direkt zugreifen, aber Sie konnten es für
direkte Ausführung der SQL Anweisungen benötigen. Die ExecuteSQL Funktion der Klasse
CDatabase liefert ein Beispiel des Verwendens von von m_hstmt.
Siehe auch:
CDatabase::ExecuteSQL
CRecordset Overview | Class Members
1.2.2.8.3.2 CRecordset::m_nFields
Beschreibung:
Enthält die Anzahl Datenfelder in dem Recordset Objekt, die Spaltenzahl die durch das recordset
von der Datenquelle ausgewählt wurden. Der Konstruktor der Recordset Klasse muß m_nFields
mit der korrekten Zahl initialisieren. Wenn Sie nicht bluk Row-Fetching implementiert haben,
schreibt Classwizard diese Initialisierung für Sie, wenn Sie sie verwenden, um Ihre recordset
Klasse zu deklarieren.Sie können sie auch manuell schreiben.
Das Framework verwendet diese Zahl, um Interaktion zwischen den Felddaten und den
entsprechenden Spalten des aktuellen Satzes auf der Datenquelle zu handhaben.
Siehe auch:
CRecordset::m_nParams
CRecordset Overview | Class Members
1.2.2.8.3.3 CRecordset::m_nParams
Beschreibung:
Enthält die Anzahl der Parameter in der Recordset Klasse, die mit der Abfrage übergeben werden.
Wenn Ihre recordset Klasse irgendwelche Parameter hat, muß der Konstruktor der Klasse
m_nParams mit der korrekten Zahl initialisieren. Der Wert von m_nParams ist voreingestellt auf
0. Wenn Sie Parameterdaten hinzufügen, was Sie manuell tun müssen, müssen Sie eine
Initialisierung im Konstruktor auch manuell hinzufügen, um die Zahl der Parameter zu erhalten.
(welche mindestens so groß sein muß wie die Zahl der '?' Platzhalter in Ihrer m_strFilter oder
© XOn Siftware GmbH, 2008
115
Referenzhandbuch
m_strSort Zeichenkette).
Das Framework verwendet diese Zahl, wenn es die Abfrage des Recordsets parameterisiert.
Siehe auch:
CRecordset::m_nFields
CRecordset Overview | Class Members
1.2.2.8.3.4 CRecordset::m_pDatabase
Beschreibung:
Enthält einen Zeiger zum CDatabase Objekt, durch die das Recordset an eine Datenquelle
angeschlossen ist. Diese Variable kann auf zwei verschiedene Weisen gesetzt werden.
Gewöhnlich führen Sie einen Zeiger zu einem bereits verbundenen CDatabase Objekt oder Sie
übergeben sie wenn das Recordset Objekt erstellet wird. Wenn Sie statt dessen NULL übergeben,
erstellt CRecordset eine CDatabase Objekt für Sie und verbindet es. In jedem Fall speichert
CRecordset den Zeiger in dieser Variable.
Normalerweise brauchen Sie nicht direkt den Zeiger zu benutzen, der im m_pDatabase
gespeichert wird.
Siehe auch:
CRecordset Overview | Class Members
1.2.3
Grafkelemente
Dies ist die Objekthierarchie der Klassen des Grafikinterfaces. Die Basisklasse ist CGrafNode.
Alle anderen Klassen sind von ihr abgeleitet. Alle abgeleiteten Klassen besitzen insbesondere alle
Methoden der Basisklassen, von denen sie abstammen. So kann z.B. die Position eines jeden
Grafikelementes auf der Arbeitsfläche mit der Methode SetPos eingestellt werden. Diese Methode
ist in der Klasse CGrafNode vereinbart.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
116
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen.
1.2.3.1
CAxisNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den Basisklassen:
Diese Klasse stellt die Funktionen zum Darstellen von Achsen zur Verfügung.
Methoden :
· CAxisNode::AddTick
· CAxisNode::EmptyTicks
· CAxisNode::SetNodeAtt
· CAxisNode::GetNodeAtt
© XOn Siftware GmbH, 2008
117
Referenzhandbuch
Siehe auch:
Klassenhierarchie
1.2.3.1.1 CAxisNode::AddTick
Syntax:
void AddTick(char* szName,double Pos);
Parameter:
· Name: Beschriftungstext
· Pos: Koordinate der Beschriftung
Beschreibung:
Diese Methode setzt den Beschriftungsmodus auf manuell (siehe Attribut 1204) und fügt der
Beschriftungstabelle einen neuen Eintrag hinzu. Dieser Eintrag wird an der Achse nur dann
sichtbar, wenn der Wert Pos im Wertebereich der Achse liegt.
Beispiel:
Die nachfolgende Methode beschriftet eine Achse namens AX mit einigen Städtenamen.
void method::OnRun()
{
AX.EmptyTicks();
AX.AddTick("Los Angeles",0.0);
AX.AddTick("Boston",10.0);
AX.AddTick("Chicago",20.0);
AX.AddTick("New York",30.0);
AX.AddTick("Austin",40.0);
AX.AddTick("Denver",50.0);
AX.AddTick("Seatle",60.0);
AX.AddTick("San Diego",70.0);
AX.AddTick("Washington",80.0);
AX.AddTick("Winnemuca",90.0);
return 1;
}
Siehe auch:
Klassenhierarchie, CAxisNode Übersicht
1.2.3.1.2 CAxisNode::EmptyTicks
Syntax:
void EmptyTicks(void);
Beschreibung:
Diese Methode leert die Beschriftungstabelle.
Siehe auch:
Klassenhierarchie, CAxisNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
118
1.2.3.1.3 CAxisNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CAxisNode::SetNodeAtt
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
Beschreibung
-1
allgemeiner, undefinierbarer Fehler
-2
ID-Nummer unzulässig
-3
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
-4
Bereiches
unzulässiger Formatstring (bei Übergabe von
-5
Formatstrings)
Siehe auch:
Klassenhierarchie, CAxisNode Übersicht
1.2.3.1.4 CAxisNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Liste der Parameterleisten siehe:
CGrafNode::SetNodeAtt
© XOn Siftware GmbH, 2008
119
Referenzhandbuch
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Typ
ID
1000
Integer
Bedeutung
Sichtbarkeit des Grafikelementes
ein/aus
1100
Abbildungsfunktion
1101
1102
Anzahl der Ticks
Anzahl der Subticks
1200
Achsenorientierung
1201
Gitter
1202
Pfeilspitze
1203
Strategie für Ticks
1204
Strategie für Beschriftung
1205
Hauptmarkierung innen
1206
Hauptmarkierung außen
1207
Untermarkierung innen
1208
Untermarkierung außen
1209
Autoskalierung
3100
Anfangswert des
Skalierungsintervalls
3101
Endwert des Skalierungsintervalls
Float
31022008
© XOn Siftware GmbH,
4000
4200
Länge der Pfeilspitze
Name des Grafikelementes
Achsentitel
Formatstring für die
120
Wertebereich
0=unsichtbar, 1=sichtbar
0=linear
1=logarithmisch
2=Weibulverteilung
3=Normalverteilung
4=Zeitachse
5=Reziprok
6=Reziprok verschoben
7=Logit
größer/gleich 0
größer/gleich 0
0= unten
1=oben
2=links
3=rechts
0=kein Gitter
1=grobes Gitter
2=feines Gitter
Bit1: links/oben ein/aus
Bit2: rechts/unten ein/aus
0: äquidistant
1: optimiert
0: algorithmisch
1: manuell
0: aus
1: ein
0: aus
1: ein
0: aus
1: ein
0: aus
1: ein
1: ein
0: aus
Mit diesem Attribut wird der Anfangswert
des Skalierungsintervalls gesetzt. Der
Wert wird erst übernommen, wenn der
Endwert des Skalierungsintervalls (3101)
gesetzt wird. Falls das Wertepaar nicht
zur eingestellten Skalierung paßt wird die
Skalierung entsprechend angepaßt. Zum
Beispiel sind Werte kleiner oder gleich
Null bei logarithmischer Skalierung unzul
ässig.
Mit diesem Attribut wird der Endwert des
Skalierungsintervalls gesetzt und
Angangswert (3100) und Endwert (3101)
werden in die Skalierung übernommen.
Sie müssen also unbedingt das Attribut
3100 gesetzt haben bevor Sie das
Attribut 3101 festlegen! Falls das
Wertepaar nicht zur eingestellten
Skalierung paß wird die Skalierung
entsprechend angepaßt. Zum Beispiel
sind Werte kleiner oder gleich Null bei
logarithmischer Skalierung unzulässig.
Länge der Pfeilspitze in [mm]
Bezeichner
121
Referenzhandbuch
Für weitere Attribute siehe CGrafNode::SetNodeAtt .
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
Beschreibung
-1
allgemeiner, undefinierbarer Fehler
-2
ID-Nummer unzulässig
-3
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
-4
Bereiches
unzulässiger Formatstring (bei Übergabe von
-5
Formatstrings)
Siehe auch:
Klassenhierarchie, CAxisNode Übersicht
1.2.3.2
CBar2DNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den Basislassen:
Diese Klasse stellt die Funktionen zum Darstellen von Balkendiagrammen zur Verfügung. Die
Werte der Stapelbalken werden in Form einer Matrix gespeichert. Diese Matrix kann maximal
16250 Einträge aufweisen. Die jeweiligen Maximas für Reihen sind 1998 und für Spalten 199.
Die Voreinstellungen sind 5 Balken und 5 Schichten mit den entsprechenden Attributen für
Schichten und Balken.
Methoden :
· CBar2DNode::AddLayer
· CBar2DNode::AddBar
· CBar2DNode::SetData
· CBar2DNode::SetNodeAtt
· CBar2DNode::GetNodeAtt
1.2.3.2.1 CBar2DNode::AddBar
Syntax:
int AddBar(CVector * pVector,char * lpszNameB,char * lpszFormat);
Beschreibung:
Diese Funktion erweitert ein Balkendiagramm um einen Stapelbalken, bzw hängt an die
Datenmatrix eine Spalte an.
Diese Funktion ändert nicht die Anzahl der Reihen der Datenmatrix. Sollte der Vektor mehr Reihen
wie die Datenmatrix besitzen, werden nur 'Anzahl Datenreihen der Matrix' Werte aus dem Vektor
übernommen. Falls der Vektor weniger Reihen wie die Datenmatrix besitzt werden die fehlenden
Einträge mit Nullen aufgefüllt.
Parameter:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
122
· pVector: Pointer auf einen Vektor, der die Daten enthält
· lpszNameB: Beschriftungsname des Balkens
· lpszFormat: Formatstring für Balkenbeschriftung
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie, CBar2DNode Übersicht
1.2.3.2.2 CBar2DNode::AddLayer
Syntax:
int AddLayer(char * lpszNameL,int lbStyle,
int nHatchColor,int lbHatch,int nBackCol);
int AddLayer(char * lpszNameL);
int AddLayer();
Beschreibung:
Diese Funktion erweitert ein Balkendiagramm um eine Schicht. Die neue Schicht wird auf alle bis
dahin bestehenden aufgesetzt. Je nach gewählter Funktionsvariante werden für nicht angegebene
Parameter Standardeinstellungen gewählt.
Parameter:
· lpszNameL: Pointer auf char.für Namen des Layers
· lbStyle: Stil der Brush des layers
· lbHatch: Typparameter der Textur
· nHatchColor: Farbindexwert für Texturfarbe
· nBackCol: Farbindexwert für Hintergrundfarbe des Layers
Paramter,Werebereiche/Werte sowie deren Voreinstellungen:
Parameter
Wertebereich/Werte
lpszNameL
lbStyle
1=keine Textur, 2=Textur
0=horizontal, 1=vertikal,
2=diagonal45, 3=diagonal-45,
lbHatch
4=gekreuzt,
5=diagonalgekreuzt
nHatchColor
[0,15]
nBackColor
[0,15]
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie, CBar2DNode Übersicht
© XOn Siftware GmbH, 2008
Voreinstellung
"Lay"+[Folgenzahl]
1
4
Index der nächsten
nichthäufigsten Farbe aus
Farbtabelle
Index der nächsten
nichthäufigsten Farbe aus
Farbtabelle
123
Referenzhandbuch
1.2.3.2.3 CBar2DNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CBar2DNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie, CBar2DNode Übersicht
1.2.3.2.4 CBar2DNode::SetData
Syntax:
int SetData(CMatrix * pM);
int SetData(char * lpszPoolname);
Beschreibung:
Diese Funktion setzt die Datenmatrix eines Balkendiagramms.
Sollten bereits Matrixdaten existieren, so werden diese überschrieben. Entsprechend den im
allgemeinen Fall dadurch geänderten Dimensionen der Datenmatrix werden die Attributwerte für
Schichten und Balken auf entsprechende Voreinstellungen gesetzt.
Parameter:
· pM: Pointer auf eine Matrix, die die Daten enthält
· lpszPoolname: Name eines Datenpoolelements des Typs Matrix
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
124
Klassenhierarchie, CBar2DNode Übersicht
1.2.3.2.5 CBar2DNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
1000
1100
1101
1102
1103
1104
Integer
1105
1106
1107
1108
1109
1150
1151
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Anzahl der Y-Ticks
Anzahl der Y-Subticks
Winkel der
Balkenbeschriftung in
Zehntel Grad
Wertebereich
0=unsichtbar,
1=sichtbar
0=transparent,
1=opaque
Y-Achse darstellen ein/ 0=unsichtbar,
aus
1=sichtbar
Y-Ticks darstellen ein/ 0=unsichtbar,
aus
1=sichtbar
Balkensummen
0=unsichtbar,
darstellen ein/aus
1=sichtbar
Legende darstellen ein/ 0=unsichtbar,
aus
1=sichtbar
Anordnung der
0=links, 1=rechts
Legende
Abstand der Legende0=automatisch, 1=Zeile
Zeilen
Anzahl der Schichten (
nur lesen!)
Aktuelle Schicht (ID
4150 bezieht sich
hierauf)
Opaque-Modus ein/aus
125
Referenzhandbuch
1160
1161
3100
Float
3101
4000
4100
4101
String
4150
4160
4161
Font
5000
Linienart
6000
7000
Füllmuster
7150
8000
Farbe
8001
8150
Anzahl der Balken (nur
lesen!)
Aktueller Balken (ID
4160.. bezieht sich
hierauf)
Verhältnis von
Balkenzwischenraum größer/gleich 0
zu Balkenbreite
prozentuale Breite der
0..100
Legende
Name des
Bezeichner
Grafikelementes
Name der Y-Achse
Formatstring der YAchsenbeschriftung
Schicht-Name (siehe ID
1151)
Balken-Name (siehe ID
1161)
Balken-Formatstring
(siehe ID 1161)
Standardschriftart
für eine Liste der
Standard-Linienart
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Füllmuster der Schicht
(siehe ID 1151)
Hintergrundfarbe
Farbe der
Standardschriftart
Hintergrundfarbe der
Schicht (siehe ID 1151)
Für weitere Attribute siehe CGrafNode::SetNodeAtt .
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie, CBar2DNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.3.3
126
CContourNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Eine Höhenliniendiagramm stellt eine Matrix als Oberfläche mit Höhenlinien dar. Dafür wird eine
zweidimensionale Transformation verwendete, wie man sie für krummlinige Koordinatensysteme
benötigt.
Methoden:
· CContourNode::SetNodeAtt
· CContourNode::GetNodeAtt
· CContourNode::SetData
· CContourNode::SetNodeData
1.2.3.3.1 CContourNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CContourNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Siehe auch:
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
127
Referenzhandbuch
Klassenhierarchie, CContourNode Übersicht
1.2.3.3.2 CContourNode::SetData
Syntax:
int SetData(
int dimX,double x0,double dx,
int dimY,double y0,double dy,
double* Z);
int SetData(
double x0,double dx,
double y0,double dy,
CF8Matrix* M);
int SetData(
double x0,double dx,
double y0,double dy,
char* link);
Beschreibung:
Diese Methoden setzen gleichzeitig die Daten der X-, Y- und Z- Werte. Die X- und Y- Werte
werden jeweils implizit vorgegeben, die Z- Werte sind wahlweise explizit oder Poolwerte.
Nachfolgend finden sie die detailierte Beschreibung der einzelnen Varianten.
1. Variante:
int SetData(int dimX,double x0,double dx,int dimY,double y0,double dy,double* Z)
Parameter:
· dimX: Anzahl der Werte in X- Richtung
· x0: Startwert in X- Richtung
· dx: Schrittweite in X- Richtung
· dimY: Anzahl der Werte in Y- Richtung
· y0: Startwert in Y- Richtung
· dy: Schrittweite in Y- Richtung
· Z: Z- Werte. Das Array muß mindestens dimX*dimY Werte enthalten.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden aus dem Array Z
kopiert.
2. Variante:
int SetData(double x0,double dx,double y0,double dy,CF8Matrix* M);
Parameter:
· x0: Startwert in X- Richtung
· dx: Schrittweite in X- Richtung
· y0: Startwert in Y- Richtung
· dy: Schrittweite in Y- Richtung
· M: Z- Werte.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden aus der Matrix M
kopiert. Die Werte in X- und Y- Richtung ergeben sich als xi=x0+i*dx bzw. yi=y0+i*dy.
3. Variante
int SetData(double x0,double dx,double y0,double dy,char* link);
Parameter:
· x0: Startwert in X- Richtung
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
·
·
·
·
128
dx: Schrittweite in X- Richtung
y0: Startwert in Y- Richtung
dy: Schrittweite in Y- Richtung
link: Name eines Poolelementes vom Matrix- Typ.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden dem mit link
bezeichneten Datenpoolelement entnommen. Die Werte in X- und Y- Richtung ergeben sich als xi
=x0+i*dx bzw. yi=y0+i*dy.
Beispiel:
int method::OnRun()
{
double Z[100];
CF8Matrix M;
int i,j;
//Daten Initialisieren
for (i=0;i<10;i++)
for (j=0;j<10;j++)
{
x=i*0.2-1.0;
y=j*0.2-1.0;
Z[i*10+j]=x*x+y*y;
}
M.SetData(10,10,Z);
//1.Variante: Daten stammen aus dem Array Z
CONTUR.SetData(10,-1.0,0.2,10,-1.0,0.2,Z);
//2.Variante: Daten Stammen aus der Matrix M
CONTUR.SetData(-1.0,0.2,-1.0,0.2,&M);
//3.Variante: Daten Stammen aus dem Pool
CONTUR.SetData(-1.0,0.2,-1.0,0.2,"Werte");
return 1;
}
Siehe auch:
Klassenhierarchie, CContourNode Übersicht
1.2.3.3.3 CContourNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
© XOn Siftware GmbH, 2008
129
Referenzhandbuch
Typ
Integer
ID
Bedeutung
Sichtbarkeit des Grafikelementes ein/
1000
aus
1100
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1300
1301
1302
1303
1304
Float
3100
3101
3102
3103
String
3300
4000
4200
4201
4202
4203
4300
4301
Font
5000
5300
Wertebereich
0=unsichtbar, 1=sichtbar
0=linear/linear, 1=linear/Bogenmaß,
2=linear/Gradmaß, 3=Weibul,
Abbildungsfunktion
4=polar/Bogenmaß, 5=polar/
Gradmaß
Position der X-Achse
0=oben, 1=mittig, 2=unten
Position der Y-Achse
0=links, 1=mittig, 2=rechts
Position der Pfeilspitze an der X-Achse 0=rechts, 1=links
Position der Pfeilspitze an der Y-Achse 0=oben, 1=unten
0=kein Gitter, 1=grobes Gitter,
Gitter der X-Achse
2=feines Gitter
0=kein Gitter, 1=grobes Gitter,
Gitter der Y-Achse
2=feines Gitter
Anzahl der X-Ticks
größer/gleich 0
Anzahl der Y-Ticks
größer/gleich 0
Anzahl der X-Subticks
größer/gleich 0
Anzahl der Y-Subticks
größer/gleich 0
Interpolation der Höhenlinien
0=linear, 1=bikubischer Spline
für eine Liste der Markierungstypen
Markierung der Minima
CGrafNode::SetNodeAtt
für eine Liste der Markierungstypen
Markierung der Maxima
CGrafNode::SetNodeAtt
Markierungsgröße der Minima in
Hundertstel Millimeter
Markierungsgröße der Maxima in
Hundertstel Millimeter
X0, Anfangswert der X-Achse
DX, Breite der X-Achse (Endwert=X0
+DX)
Y0, Anfangswert der Y-Achse
DY, Breite der Y-Achse (Endwert=Y0
+DY)
Abstand der Höhenlinien in Z-Richtung größer/gleich 0
Name des Grafikelementes
Bezeichner
Name der X-Achse
Name der Y-Achse
Formatstring für die Beschriftung der XAchse
Formatstring für die Beschriftung der XAchse
Formatstring für die Beschriftung der
Minima
Formatstring für die Beschriftung der
Maxima
Standardschriftart
Schriftart für die Beschriftung der
Minima
5301 Schriftart für die Beschriftung der
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
130
Maxima
Linienart
6000 Standard-Linienart
6300 Linienart für die Höhenlinien
Füllmuster
Farbe
für eine Liste der Linienarten siehe
GrafNode:SetNodeAtt
für eine Liste der Linienarten siehe
GrafNode:SetNodeAtt
7000 Standard-Füllmuster
8000 Hintergrundfarbe
8001 Farbe der Standardschriftart
Farbe der Minima-Markierung und
8300
Beschriftung
Farbe der Maxima-Markierung und
8301
Beschriftung
Für weitere Attribute siehe CGrafNode::SetNodeAtt , CPlaneNode::SetNodeAtt
Rückgabewert
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten Bereiches
unzulässiger Formatstring (bei Übergabe von Formatstrings)
Siehe auch:
Klassenhierarchie, CContourNode Übersicht
1.2.3.3.4 CContourNode::SetNodeData
Syntax:
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
nID,double v0,double dv);
nID,int dim,double *pV);
nID,int dimX,int dimY,double *pV);
nID,char *link);
nID,CF8Vector *pV);
nID,CF8Matrix *pM);
Beschreibung:
Mit diesen Methoden können die X-, Y- und Z- Werte separat konfiguriert werden. Die Bedeutung
der einzelnen Varianten finden sie im Anschluß.
1. Variante
int SetNodeData(int nID,double v0,double dv);
Parameter:
· nID: Datenbezug: 0: X- Werte
· 1: Y- Werte
· v0: Anfangswert
· dv: Schrittweite
Beschreibung:
legt die entsprechende Werte implizit fest. Die Werte ergeben sich als
2. Variante:
int SetNodeData(int nID,int dim,double *pV);
© XOn Siftware GmbH, 2008
131
Referenzhandbuch
Parameter:
· nID: Datenbezug: 0: X- Werte, 1: Y- Werte
· dim: Anzahl der Werte im Array
· pV: Array von Werten mit mindestens dim Einträgen
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte des Arrays werden kopiert
3. Variante:
int SetNodeData(int nID,int dimX,int dimY,double *pV);
Parameter:
· nID: Datenbezug: 2: Z- Werte
· dimX: Anzahl der Werte in X- Richtung
· dimY: Anzahl der Werte in Y- Richtung
· pV: Array von Werten mit mindestens dimX*dimY Einträgen
Beschreibung:
legt die Werte in Z- Richtung explizit fest.
4. Variante:
int SetNodeData(int nID,char *link);
Parameter:
· nID: Datenbezug
0: X- Werte
1: Y- Werte
2: Z- Werte
· link: Name eines Datenpoolelementes. Für X- und Y- Werte muß dieses Element vom Typ
CVector sein, für Z- Werte vom Typ CF8Matrix.
Beschreibung:
legt die entsprechenden Werte als Datenpoolwerte fest.
5. Variante:
int SetNodeData(int nID,CF8Vector *pV);
Parameter:
· nID: Datenbezug
0: X- Werte
1: Y- Werte
· pV: Werte- Vektor
Beschreibung:
legt die entsprechenden Werte explizit fest. Der Inhalt des Vektors wird kopiert.
6. Variante:
int SetNodeData(int nID,CF8Matrix *pM);
Parameter:
· nID: Datenbezug: 2: Z- Werte
· pM: Werte- Matrix
Beschreibung:
legt die Werte in Z- Richtung explizit fest. Die Werte der Matrix pM werden kopiert.
Beispiel:
int method::OnRun()
{
double X[10],Y[10],Z[100];
CF8Matrix M;
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
132
CF8Vector VX,VY;
int i,j;
//Daten Initialisieren
for (i=0;i<10;i++)
X[i]=Y[i]=j*0.2-1.0;
for (i=0;i<10;i++)
for (j=0;j<10;j++)
Z[i*10+j]=X[i]*X[i]+Y[i]*Y[i];
M.SetData(10,10,Z);
VX.SetData(10,X);
VY.SetData(10,Y);
//1.Variante: Implizite X- WerteArray Z
CONTOUR.SetNodeData(0,10,-1.0,0.2);
//2.Variante: Explizite Y- WerteMatrix M
CONTOUR.SetNodeData(1,10,Y);
//3.Variante: Explizite Z- WertePool
CONTOUR.SetData(2,10,10,Z);
//4.Variante: Poolwerte
CONTOUR(1,"YWerte");
//5.Variante: Explizite Werte aus Vector
CONTOUR.SetNodeData(0,&VX);
//6.Variante: Explizite Werte aus Matrix
CONTOUR.SetNodeData(2,&M);
return 1;
}
Siehe auch:
Klassenhierarchie, CContourNode Übersicht
1.2.3.4
CDibNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse ermöglicht die Darstellung von Bitmap-Grafiken. Zur Zeit besitzt diese Klasse noch
keine eigenen Methoden. Es können aber die Methoden der Klasse CGrafNode angewendet
werden, von der CDibNode abgeleitet ist.
1.2.3.5
CGraf2DNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse stellt die Funktionen zur Darstellung von zweidimensionalen Grafen mit
verschiedenen Transformationen zur Verfügung.
© XOn Siftware GmbH, 2008
133
Referenzhandbuch
Methoden:
· CGraf2DNode::GetTraceIndex
· CGraf2DNode::AddTrace
· CGraf2DNode::SetTraceData
· CGraf2DNode::DelTrace
· CGraf2DNode::GetTrace
· CGraf2DNode::SetNodeAtt
· CGraf2DNode::GetNodeAtt
1.2.3.5.1 CGraf2DNode::AddTrace
Syntax:
int AddTrace(CPaintObj* pO);
int AddTrace(char *XAchse,char *YAchse,char *KName);
int AddTrace(char *Ebene,char *KName);
Beschreibung:
Mit diesen Methoden werden neue Kurven in eine Legende (und damit auch in ein Diagramm)
eingefügt.
Die erste Variante übergibt an die Legende den Zeiger auf ein beliebiges Kurvenobjekt. Mögliche
Objekte sind hierbei CKurve2DTrace, CBar2DTrace, CVect2DTrace, CWhiskTrace, CPPolyTrace,
CKurve3DTrace und CBar3DTrace. Diese Methode ist eine Neuerung der Version 1.5. Die
Parametrierung der einzelnen Kurvenobjekte erfolgt mit den Methoden des Kurvenobjekts.
Die beiden anderen Varianten entstammen der Version 1.0. Sie legen ein Objekt vom Typ
CKurve2DTrace an, verknüpfen es wahlweise mit zwei Achsen oder einer Ebene und tragen es in
die Legende ein. Die Parameter XAchse und YAchse müssen Namen von Objekten des Typs
CAxisNode sein, die Achsen müssen in diesem Fall die entsprechende Ausrichtung besitzen. Der
Parameter Ebene muß der Name eines Objekts vom Typ CPlaneNode oder CContourNode sein.
Die neu angelegte Kurve ist gleichzeitig auch die aktuelle Kurve (Attribut 1104). Die
entsprechenden Attributierungsfunktionen beziehen sich also auf diese Kurve. Um Kurvenwerte
festzulegen verwenden sie die Methode SetTraceData.
Parameter:
· pO: Zeiger auf ein beliebiges Kurvenobjekt
· XAchse: Name der X-Achse, auf die sich die Kurve bezieht
· YAchse: Name der Y-Achse, auf die sich die Kurve bezieht
· Ebene: Name der Ebene, auf die sich die Kurve bezieht
Rückgabewert:
Index der neuen Kurve (Attribut 1104).
Beispiel:
· 2D- Kurve siehe CKurve2D::SetTraceAtt
· 2D- Stapelbalken siehe CBar2D::SetTraceAtt
· Vektordiagramm siehe CVect2DTrace::SetTraceAtt
· Whisker & Intervall siehe CWhiskTrace::SetTraceAtt
· Polygonzüge siehe CPPolyTrace::SetTraceAtt
· 3D- Kurven siehe CKurve3D::SetTraceAtt
· 3D- Stapelbalken siehe CBar3D::SetTraceAtt
Klassische Programmierung aus Version 1.0:
int method::OnRun()
{
double X[500],Y[500];
int i;
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
134
for (i=0;i<500;i++)
{
X[i]=cos(i/37.0);
Y[i]=sin(i/25.0);
}
//Alle Kurven aus Graf entfernen
Graf.Clear();
//Kurve 'Test' bezüglich Ebene 'Plane' anlegen
Graf.AddTrace("Plane","Test");
//X-Werte
Graf.SetTraceData(0,X,500);
//Y- Werte
Graf.SetTraceData(1,Y,500);
//Linientyp:
Graf.SetNodeAtt(6150,1,0,255,0,0);
return 1;
}
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.2 CGraf2DNode::DelTrace
Syntax:
int DelTrace(char *Name);
int DelTrace(int Ind);
Parameter:
· Name: Name der Kurve, die gelöscht werden soll
· Ind: Index der Kurve, die gelöscht werden soll
Beschreibung:
löscht eine Kurve aus einem Grafen. Die Kurve kann entweder anhand ihres Namens oder anhand
ihres Index identifiziert werden. Der Index einer Kurve kann mit der Methode GetTraceIndex
ermittelt werden.
Rückgabewert:
0: Kurve nicht gefunden
1: Kurve gefunden und gelöscht
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.3 CGraf2DNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
© XOn Siftware GmbH, 2008
135
Referenzhandbuch
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CGraf2DNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.4 CGraf2DNode::GetTrace
Syntax:
CPaintObj* GetTrace(void);
CPaintObj* GetTrace(char *Name);
CPaintObj* GetTrace(int Index);
Parameter:
· Name: Name der gesuchten Kurve
· Index: Index der gesuchte Kurve
Beschreibung:
Die Methode liefert einen Zeiger auf ein Darstellungsobjekt. Das Objekt kann durch Angabe von
Name oder Index identifiziert werden. Wird kein Parameter angegeben, so wird das fokusierte
Objekt zurückgegeben (siehe Attribut 1104).
Rückgabewert:
Zeiger auf das Darstellungsobjekt.
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.5 CGraf2DNode::GetTraceIndex
Syntax:
int GetTraceIndex(char *Name);
Parameter:
· Name: Name der gesuchten Kurve
Beschreibung:
sucht die Kurve mit dem entsprechenden Namen und liefert deren Index zurück. Falls mehrere
Kurven mit gleichem Namen existieren, wird der Index der ersten Kurve mit diesem Namen
zurückgeliefert.
Rückgabewert:
Index der Kurve oder -1, falls die Kurve nicht gefunden wurde.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
136
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.6 CGraf2DNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
1000
1100
1101
1102
Integer
1103
1104
1150
1151
1152
1153
4000
String
4150
4151
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Legende zeichnen ein/
aus
Ausrichtung der
Legende
Zeilenabstand der
Legendenzeilen
Anzahl der Kurven (nur
lesen!)
Aktuelle Kurve
Interpolation der Kurve
(siehe ID 1104)
Punktmarkierung der
Kurve (siehe ID 1104)
Markierungsgröße in
Hundertstel Millimeter
(siehe ID 1104)
Referenz-Typ
Wertebereich
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=links, 1=rechts
0=automatisch, 1=eine
Zeile
0=konstant, 1=linear,
2=Spline
siehe Tabelle weiter
unten
0=Achsen,
1=Zeichenebene
Name des
Bezeichner
Grafikelementes
Referenz-X-Achse der
Kurve (siehe ID 1104)
Referenz-Y-Achse der
Kurve (siehe ID 1104)
137
Referenzhandbuch
5000
ReferenzZeichenebene der
Kurve (siehe ID 1104)
Name der Kurve in der
Legende (siehe ID
1104)
Standardschriftart
6000
Standard-Linienart
6150
Linienart der Kurve
(siehe ID 1104)
4152
4153
Font
Linienart
Linienart der
Markierungen der
Kurve (siehe ID 1104)
Füllmuster
7000
Standard-Füllmuster
8000
Hintergrundfarbe
Farbe
Farbe der
8001
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt.
6151
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
Beschreibung
-1
allgemeiner, undefinierbarer Fehler
-2
ID-Nummer unzulässig
-3
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
-4
Bereiches
unzulässiger Formatstring (bei Übergabe von
-5
Formatstrings)
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.7 CGraf2DNode::SetTraceData
Syntax:
int SetTraceData(int
int SetTraceData(int
int SetTraceData(int
int SetTraceData(int
int SetTraceData(int
int SetTraceData(int
nRef,double v0,double dv,int len);
nRef,double* pV,int len);
nRef,CVector* pV);
nRef,long* pV,int len);
nRef,CTimeVect* pT);
nRef,char *nPool);
Beschreibung:
mit diesen Methoden können die X- und Y- Werte einer Kurve gesetzt werden. Die Werte können
implizit oder explizit vorliegen oder aus dem Datenpool stammen. Im Anschluß finden sie eine
detailierte Beschreibung der einzelnen Varianten.
1. Variante
int SetTraceData(int nRef,double v0,double dv,int len);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
138
Parameter:
· nRef: 0: X- Werte setzen
· 1: Y- Werte setzen
· v0: Anfangswert
· dv: Schrittweite
· len: Anzahl Werte
Beschreibung:
legt die entsprechenden Werte implizit fest. Die Werte ergeben sich als . Der Parameter len hat
nur eine Bedeutung, falls sowohl die X- als auch die Y- Werte implizit festgelegt werden. In diesem
Fall besitzt die Kurve Werte. Die zugehörige Achse darf keine Datumsachse sein.
2. Variante:
int SetTraceData(int nRef,double* pV,int len);
Parameter:
· nRef:
0: X- Werte setzen
1: Y- Werte setzen
· pV: Array von Zahlen- Werten
· len: Anzahl der Werte im Array pV
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Array pV kopiert. Die
zugehörige Achse darf keine Datumsachse sein.
3. Variante
int SetTraceData(int nRef,CVector* pV);
Parameter:
· nRef:
0: X- Werte setzen
1: Y- Werte setzen
· pV: Zahlen- Werte
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Vektor pV kopiert. Die
zugehörige Achse darf keine Datumsachse sein.
4. Variante
int SetTraceData(int nRef,long* pV,int len);
Parameter:
· nRef:
0: X- Werte setzen
1: Y- Werte setzen
· pV: Array von Zeit- Werten (Sekunden seit 1.1.70)
· len: Anzahl der Werte im Array pV
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Array pV kopiert. Die
zugehörige Achse muß eine Datumsachse sein.
5. Variante
int SetTraceData(int nRef,CTimeVect* pT);
Parameter:
· nRef:
0: X- Werte setzen
1: Y- Werte setzen
© XOn Siftware GmbH, 2008
139
Referenzhandbuch
· pV: Datum/Zeit- Werte
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Zeit-Vektor pV kopiert. Die
zugehörige Achse muß eine Datumsachse sein.
6. Variante
int SetTraceData(int nRef,char *nPool);
Parameter:
· nRef:
0: X- Werte setzen
1: Y- Werte setzen
· nPool: Name des Poolelementes
Beschreibung:
verknüpft die entsprechenden Werte mit einem Datenpoolelement. Das Datenpoolelement muß
vom Typ CTimeVect oder CVector sein. Ist das Datenpoolelement vom Typ CTimeVect, so muß
die entsprechende Achse eine Zeitachse sein, andernfalls eine Zahlenachse.
Beispiel:
Für dieses Beispiel müssen sie auf der Oberfläche folgende Elemente anlegen:
· einen Graf2DNode namens "GRAF"
· eine X-Achse namens "XAchse" mit der Abbildungsfunktion Zeitachse
· eine Y-Achse namens "YAchse" mit der Abbildungsfunktion linear
int method::OnRun()
{
double Y[100];
int i,X[100];
for (i=0;i<100;i++)
{
X[i]=time()+i*1000;
Y[i]=sin(i*0.1);
}
GRAF.Clear();
GRAF.AddTrace("XAchse","YAchse","Kurve");
//explizite Zeitwerte
GRAF.SetTraceData(0,X,100);
//explizite Zahlenwerte
GRAF.SetTraceData(1,Y,100);
//Bereiche der Achsen einstellen
XAchse.SetPhys(X[0],X[99]);
YAchse.SetPhys(-1.0,1.0);
return 1;
}
Siehe auch:
Klassenhierarchie, CGraf2DNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.3.6
140
CGraf3DNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse stellt die Methoden zur Darstellung von dreidimensionalen Grafen zur Verfügung.
Methoden:
· CGraf3DNode::SetNodeAtt
· CGraf3DNode::GetNodeAtt
· CGraf3DNode::SetData
· CGraf3DNode::SetNodeData
1.2.3.6.1 CGraf3DNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CGraf3DNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Siehe auch:
Klassenhierarchie, CGraf3DNode Übersicht
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
141
Referenzhandbuch
1.2.3.6.2 CGraf3DNode::SetData
Syntax:
int SetData(int dimX,double x0,double dx,int dimY,double y0,double dy,double* Z)
int SetData(double x0,double dx,double y0,double dy,CF8Matrix* M);
int SetData(double x0,double dx,double y0,double dy,char* link);
Beschreibung:
Diese Methoden setzen gleichzeitig die Daten der X-, Y- und Z- Werte. Die X- und Y- Werte
werden jeweils implizit vorgegeben, die Z- Werte sind wahlweise explizit oder Poolwerte.
Nachfolgend finden sie die detailierte Beschreibung der einzelnen Varianten.
1. Variante:
int SetData(
int dimX,double x0,double dx,
int dimY,double y0,double dy,
double* Z);
Parameter:
· dimX: Anzahl der Werte in X- Richtung
· x0: Startwert in X- Richtung
· dx: Schrittweite in X- Richtung
· dimY: Anzahl der Werte in Y- Richtung
· y0: Startwert in Y- Richtung
· dy: Schrittweite in Y- Richtung
· Z: Z- Werte. Das Array muß mindestens dimX*dimY Werte enthalten.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden aus dem Array Z
kopiert. Die Werte ergeben sich als.
2. Variante
int SetData(double x0,double dx,double y0,double dy,CF8Matrix* M);
Parameter:
· x0: Startwert in X- Richtung
· dx: Schrittweite in X- Richtung
· y0: Startwert in Y- Richtung
· dy: Schrittweite in Y- Richtung
· M: Z- Werte.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden aus der Matrix M
kopiert. Die Werte in X- und Y- Richtung ergeben sich als.
3. Variante
int SetData(double x0,double dx,double y0,double dy,char* link);
Parameter:
· x0: Startwert in X- Richtung
· dx: Schrittweite in X- Richtung
· y0: Startwert in Y- Richtung
· dy: Schrittweite in Y- Richtung
· link: Name eines Poolelementes vom Matrix- Typ.
Beschreibung:
Die X- und Y- Werte werden implizit festgelegt, die Werte in Z-Richtung werden dem mit link
bezeichneten Datenpoolelement entnommen. Die Werte in X- und Y- Richtung ergeben sich als.
Beispiel:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
142
int method::OnRun()
{
double x,y,z[10][10];
CF8Matrix M;
int i,j;
//Daten Initialisieren
for (i=0;i<10;i++)
for (j=0;j<10;j++)
{
x=i*0.2-1.0;
y=j*0.2-1.0;
z[i][j]=x*x+y*y;
}
M.SetData(10,10,z);
//1.Variante: Daten stammen aus dem Array z
GRAF3D.SetData(10,-1.0,0.2,10,-1.0,0.2,z);
//2.Variante: Daten Stammen aus der Matrix M
GRAF3D.SetData(-1.0,0.2,-1.0,0.2,&M);
//3.Variante: Daten Stammen aus dem Pool
GRAF3D.SetData(-1.0,0.2,-1.0,0.2,"Werte");
return 1;
}
Siehe auch:
Klassenhierarchie, CGraf3DNode Übersicht
1.2.3.6.3 CGraf3DNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
Typ
ID
1000
Integer
1200
1201
1202
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Höhenlinien in der XYEbene ein/aus
Höhenlinien in der XZEbene ein/aus
Höhenlinien in der YZEbene ein/aus
Wertebereich
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
143
Referenzhandbuch
1203
1204
Füllmodus
1206
4103
4104
4105
5000
Anzahl der Höhenlinien
Anzahl der Farben in
der Farbtabelle
Aktuelle Farbe (in der
Farbtabelle)
Anfangswert X-Achse
Endwert X-Achse
Anfangswert Y-Achse
Endwert Y-Achse
Anfangswert Z-Achse
Endwert Z-Achse
Perspektive
Blickwinkel der XAchse in Radiant
Blickwinkel der YAchse in Radiant
Blickwinkel der ZAchse in Radiant
Prozentwert für die
aktuelle Farbe (ID1208)
Name des
Grafikelementes
Formatstring für
Beschriftung der XAchse
Formatstring für
Beschriftung der YAchse
Formatstring für
Beschriftung der ZAchse
Titel der X-Achse
Titel der Y-Achse
Titel der Z-Achse
Standardschriftart
6000
Standard-Linienart
6200
Linienart Gitterlinien
6201
Linienart der
Höhenlinien in den
1208
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3250
4000
4100
String
4101
4102
Font
Linienart
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=monochrom,
1=beleuchtet,
2=kartographisch
1205
1207
Float
Höhenlinien in der
Kurve ein/aus
Gitterlinien auf der
Kurve ein/aus
0..[ID 1207]
0.0=keine, 20.0=stark
0..2p
0..2p
0..2p
0..100
Bezeichner
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
für eine Liste der
Linienarten siehe
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
6202
Füllmuster
7000
8000
8001
Farbe
8250
Ebenen
Linienart der
Höhenlinien in der
Kurve
Standard-Füllmuster
Hintergrundfarbe
Farbe der
Standardschriftart
Farbe der aktuellen
Farbe in der
Farbtabelle (ID 1208)
144
GrafNode:SetNodeAtt
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
Für weitere Attribute siehe CGrafNode::SetNodeAtt , CSzene::SetNodeAtt
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
-4
-5
Siehe auch:
Klassenhierarchie, CGraf3DNode Übersicht
1.2.3.6.4 CGraf3DNode::SetNodeData
Syntax:
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
int SetNodeData(int
nID,double v0,double dv);
nID,int dim,double *pV);
nID,int dimX,int dimY,double *pV);
nID,char *link);
nID,CVector *pV);
nID,CMatrix *pM);
Beschreibung:
Mit diesen Methoden können die X-, Y- und Z- Werte separat konfiguriert werden. Die Bedeutung
der einzelnen Varianten finden sie im Anschluß.
1. Variante
int SetNodeData(int nID,double v0,double dv);
Parameter:
· nID: Datenbezug:
0: X- Werte
1: Y- Werte
· v0: Anfangswert
· dv: Schrittweite
Beschreibung:
legt die entsprechende Werte implizit fest. Die Werte ergeben sich als
© XOn Siftware GmbH, 2008
145
Referenzhandbuch
2. Variante
int SetNodeData(int nID,int dim,double *pV);
Parameter:
· nID: Datenbezug
0: X- Werte
1: Y- Werte
· dim: Anzahl der Werte im Array
· pV: Array von Werten mit mindestens dim Einträgen
Beschreibung:
legt die entsprechenden Werte explizit fest. Die Werte des Arrays werden kopiert.
3. Variante
int SetNodeData(int nID,int dimX,int dimY,double *pV);
Parameter:
· nID: Datenbezug: 2: Z- Werte
· dimX: Anzahl der Werte in X- Richtung
· dimY: Anzahl der Werte in Y- Richtung
· pV: Array von Werten mit mindestens dimX*dimY Einträgen
Beschreibung:
legt die Werte in Z- Richtung explizit fest.
4. Variante
int SetNodeData(int nID,char *link);
Parameter:
· nID: Datenbezug
0: X- Werte
1: Y- Werte
2: Z- Werte
· link: Name eines Datenpoolelementes. Für X- und Y- Werte muß dieses Element vom Typ
CF8Vector sein, für Z- Werte vom Typ CF8Matrix.
Beschreibung:
legt die entsprechenden Werte als Datenpoolwerte fest.
5. Variante
int SetNodeData(int nID,CVector *pV);
Parameter:
· nID: Datenbezug
0: X- Werte
1: Y- Werte
· pV: Werte- Vektor
Beschreibung:
legt die entsprechenden Werte explizit fest. Der Inhalt des Vektors wird kopiert.
6. Variante
int SetNodeData(int nID,CF8Matrix *pM);
Parameter:
· nID: Datenbezug: 2: Z- Werte
· pM: Werte- Matrix
Beschreibung:
legt die Werte in Z- Richtung explizit fest. Die Werte der Matrix pM werden kopiert.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
146
Beispiel:
int method::OnRun()
{
double X[10],Y[10],Z[10][10];
CF8Matrix M;
CF8Vector VX,VY;
int i,j;
//Daten Initialisieren
for (i=0;i<10;i++)
X[i]=Y[i]=j*0.2-1.0;
for (i=0;i<10;i++)
for (j=0;j<10;j++)
Z[i][j]=X[i]*X[i]+Y[i]*Y[i];
M.SetData(10,10,Z);
VX.SetData(10,X);
VY.SetData(10,Y);
//1.Variante: Implizite X- WerteArray Z
CONTUR.SetNodeData(0,10,-1.0,0.2);
//2.Variante: Explizite Y- WerteMatrix M
CONTUR.SetNodeData(1,10,Y);
//3.Variante: Explizite Z- WertePool
CONTUR.SetData(2,10,10,Z);
//4.Variante: Poolwerte
CONTOUR(1,"YWerte");
//5.Variante: Explizite Werte aus Vector
CONTOUR.SetNodeData(0,&VX);
//6.Variante: Explizite Werte aus Matrix
CONTOUR.SetNodeData(2,&M);
return 1;
}
Siehe auch:
Klassenhierarchie, CGraf3DNode Übersicht
1.2.3.7
CGrafNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
CGrafNode ist die Basisklasse aller Grafik- Interface- Klassen. Sie besitzt allgemeine Methoden
wie etwa das Verstellen von Position und Größe, welche sich auf alle abgeleiteten Klassen
vererben.
Methoden:
· AddNode
· Clear
· DelNode
· GetDocument
· GetNodeAtt
· GetPos
· GetSize
· GetSubAxis
· GetSubLeg
© XOn Siftware GmbH, 2008
147
Referenzhandbuch
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
GetSubNode
GetSubPie
GetSubPlane
GetSubSzene
GetSubText
GetSubTransform1D
GetSubTransform2D
OnEditBackground
OnEditColor
OnEditData
OnEditFont
OnEditName
OnEditPen
SetAbsPos
SetNodeAtt
SetPos
SetSize
1.2.3.7.1 CGrafNode::AddNode
Syntax:
void AddNode(CGrafNode* pN);
Parameter:
· pN: neues Grafikobjekt
Beschreibung:
Fügt das Objekt pN als Unterknoten dieses Objektes in die Grafik ein.
Beispiel:
int method::OnRun()
{
//Document beschaffen
CGrafDoc *pDoc=ROOT0.GetDocument();
//Alle Seiten außer der ersten löschen
for (int i=pDoc->GetNrPages()-1;i>0;i--)
pDoc->DelPage(i);
//eine Seite anhängen
pDoc->AddPage(1);
//Seite zwei füllen mit etwas Text
CGrafNode *pN=pDoc->GetPage(1);
// Root der Seite
CTextNode *pT=new CTextNode();
// neuer Textnode
pT->SetPos(1000,1000);
pT->SetSize(2000,1000);
pT->SetText("Dies ist ein Text auf Seite 2");
// Text in Seite einfügen
pN->AddNode(pT);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
148
1.2.3.7.2 CGrafNode::Clear
Syntax:
void Clear();
Beschreibung:
Löscht die Daten des Elementes.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.3 CGrafNode::DelNode
Syntax:
void DelNode(int bWithKids);
Parameter:
· bWithKids: Unterknoten ebenfalls löschen (1: ja, 0: nein)
Beschreibung:
Löscht dieses Objekt aus der Grafik. Mit dem Parameter pWithKids können Sie entscheiden, ob
Sie die in dieses Objekt eingebetteten Unterobjekte ebenfalls löschen wollen. Werden die
Unterobjekte nicht gelöscht (bWithKids==0), dann werden die Unterobjekte im Vorgänger
eingefügt. Die Wurzel einer Seite kann nicht gelöscht werden.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.4 CGrafNode::GetDocument
Syntax:
CGrafDoc* GetDocument(void);
Beschreibung:
Liefert einen Zeiger auf das Dokument, dem dieses Objekt angehört.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.5 CGrafNode::GetNodeAtt
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit der
Bedeutung ihrer Parameter.
Für ganzzahlige Attribute (short, 2 Byte):
Syntax:
int GetNodeAtt(int nID,short *pVal);
Beschreibung:
liest ein ganzzahliges Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pVal: Buffer, in den der gelesene Wert geschrieben wird
Für ganzzahlige Attribute (long, 4 Byte):
© XOn Siftware GmbH, 2008
149
Referenzhandbuch
Syntax:
int GetNodeAtt(int nID,long *pBuf);
Beschreibung:
liest einen ganzzahliges (langes) Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pVal: Buffer, in den der gelesene Wert geschrieben wird
Für Gleitkomma- Attribute (float, 4 Byte)
Syntax:
int GetNodeAtt(int nID,float *pBuf);
Beschreibung:
liest ein Gleitkommazahl-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pVal: Buffer, in den der gelesene Wert geschrieben wird
Für Gleitkomma- Attribute (double, 8 Byte)
Syntax:
int GetNodeAtt(int nID,double *pBuf);
Beschreibung:
liest ein Gleitkommazahl-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pVal: Buffer, in den der gelesene Wert geschrieben wird
Für Text- Attribute
Syntax:
int GetNodeAtt(int nID,char *pBuf,int nSize);
Beschreibung:
liest ein Text- Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pBuf: Buffer, in den der gelesene Wert geschrieben wird
· nSize: Länge des Buffers nBuf
Für Schrift- Attribute
Syntax:
int GetNodeAtt(int nID,char* pName, int *pHeight,
int *pMode, int *pAng);
Beschreibung:
liest ein Schriftart-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pName: Name der Schriftart
· pHeight: Größe der Schriftart in Punkten
· pMode: Zusätzliche Schriftattribute
o Bit1: fett
o Bit2: kursiv
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
150
o Bit3: unterstrichen
o Bit4: durchgestrichen
· pAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechter
Darstellung.
Für Linien- Attribute
Syntax:
int GetNodeAtt(int nID, int *pStyle, int *pWidth, int *pR, int *pG, int *pB);
Beschreibung:
liest ein Linienattribut.
Parameter:
· nID: ID-Nummer des Attributes
· pStyle: Linientyp (0..5), Bedeutung siehe Bedeutung siehe Tabelle.
· pWidth: Linienstärke in Hundertstel Millimetter
· pR: Linienfarbe Rotanteil (0..255)
· pG: Linienfarbe Grünanteil (0..255)
· pB: Linienfarbe Blauanteil (0..255)
Für Füllmuster- Attribute:
Syntax:
int GetNodeAtt(int nID,int *pStyle,int *pHatch, int *pR,int *pG,int *pB);
Beschreibung:
liest ein Füllmuster.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pStyle:
o 0: ohne Schraffur
o 1: mit Schraffur
o 2: transparent
· pHatch: Schraffurtyp (siehe Tabelle)
· pR: Schraffurfarbe Rotanteil (0..255)
· pG: Schraffurfarbe Grünanteil (0..255)
· pB: Schraffurfarbe Blauanteil (0..255)
Für Farbattribute:
Syntax:
int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:
liest eine Farbe.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pR: Rotanteil (0..255)
· pG: Grünanteil (0..255)
· pB: Blauanteil (0..255)
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
151
Referenzhandbuch
-2
-3
-4
-5
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Parameterliste:
Mögliche Attributwerte, deren Typ und Bedeutung siehe CGrafNode::SetNodeAtt.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.6 CGrafNode::GetPos
Syntax:
void SetPos(double *px,double *py);
Parameter:
· px: Ergebnisbuffer für die X- Koordinate
· py: Ergebnisbuffer für die Y- Koordinate
Beschreibung:
liefert die Position des Objektes.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.7 CGrafNode::GetSize
Syntax:
void SetPos(double *pWidth,double *pHeight);
Parameter:
· pWidth: Ergebnisbuffer für die Breite des Elementes
· pHeight: Ergebnisbuffer für die Höhe des Elementes
Beschreibung:
liefert die Größe des Objektes.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.8 CGrafNode::GetSubAxis
Syntax:
CAxisNode* CGrafNode::GetSubAxis(char* szNode);
Parameter:
· szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CAxisNode mit dem
Namen szName.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Beispiel:
int method::OnRun()
{
CAxisNode *pA=ROOT0.GetSubAxis("TEXT");
if (pA)
pA->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.9 CGrafNode::GetSubLeg
Syntax:
CGraf2DNode* CGrafNode::GetSubLeg(char* szNode);
Parameter:
· szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CGraf2DNode mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CGraf2DNode *pN=ROOT0.GetSubLeg("LEG");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.10 CGrafNode::GetSubNode
Syntax:
CGrafNode* CGrafNode::GetSubNode(char* szNode);
Parameter:
· szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CGrafNode mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CGrafNode *pN=ROOT0.GetSubNode("NODE");
if (pN)
pN->SetNodeAtt(1000,1);
© XOn Siftware GmbH, 2008
152
153
Referenzhandbuch
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.11 CGrafNode::GetSubPie
Syntax:
CPie2DNode* CGrafNode::GetSubPie(char* szNode);
Parameter:
· szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CPie2DNode mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CPie2DNode *pN=ROOT0.GetSubLeg("PIE");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.12 CGrafNode::GetSubPlane
Syntax:
CPlaneNode* CGrafNode::GetSubPlane(char* szNode);
Parameter:
szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CPlaneNode mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CPlaneNode *pN=ROOT0.GetSubLeg("PLANE");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
154
1.2.3.7.13 CGrafNode::GetSubSzene
Syntax:
CSzene* CGrafNode::GetSubSzene(char* szNode);
Parameter:
szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CSzene mit dem Namen
szName.
Beispiel:
int method::OnRun()
{
CSzene *pN=ROOT0.GetSubLeg("TRANSF");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.14 CGrafNode::GetSubText
Syntax:
CTextNode* CGrafNode::GetSubText(char* szNode);
Parameter:
szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CTextNode mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CTextNode *pT=ROOT0.GetSubText("TEXT");
if (pT)
pT->SetText("Ein neuer Text");
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.15 CGrafNode::GetSubTransform1D
Syntax:
CTransform1D* CGrafNode::GetSubTransform1D(char* szNode);
Parameter:
szNode: Name des gesuchten Grafikobjektes
© XOn Siftware GmbH, 2008
155
Referenzhandbuch
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CTransform1D mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CTransform1D *pN=ROOT0.GetSubLeg("TRANSF");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.16 CGrafNode::GetSubTransform2D
Syntax:
CTransform2D* CGrafNode::GetSubTransform2D(char* szNode);
Parameter:
szNode: Name des gesuchten Grafikobjektes
Rückgabewert:
Zeiger auf das gewünschte Objekt oder NULL, falls kein passendes Objekt gefunden wurde.
Beschreibung:
Sucht in den eingebetteten Grafikobjekten nach einem Objekt vom Typ CTransform2D mit dem
Namen szName.
Beispiel:
int method::OnRun()
{
CTransform2D *pN=ROOT0.GetSubLeg("TRANSF");
if (pN)
pN->SetNodeAtt(1000,1);
return 1;
}
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.17 CGrafNode::OnEditBackground
Syntax:
void OnEditBackground();
Beschreibung:
Führt einen Dialog aus, mit dem der Hintergrund des Elementes manipuliert werden kann.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.3.7.18 CGrafNode::OnEditColor
Syntax:
void OnEditColor();
Beschreibung:
Führt einen Dialog aus, mit dem die Standardfarbe des Elementes manipuliert werden kann.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.19 CGrafNode::OnEditData
Syntax:
void OnEditData();
Beschreibung:
Führt einen Dialog aus, mit dem die Daten des Elementes manipuliert werden können.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.20 CGrafNode::OnEditFont
Syntax:
void OnEditFont();
Beschreibung:
Führt einen Dialog aus, mit dem der Standardfont des Elementes manipuliert werden kann.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.21 CGrafNode::OnEditName
Syntax:
void OnEditName();
Beschreibung:
Führt einen Dialog aus, mit dem der Name des Elementes manipuliert werden kann.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.22 CGrafNode::OnEditPen
Syntax:
void OnEditPen();
Beschreibung:
Führt einen Dialog aus, mit dem der Standardstift des Elementes manipuliert werden kann.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
© XOn Siftware GmbH, 2008
156
157
Referenzhandbuch
1.2.3.7.23 CGrafNode::SetAbsPos
Syntax:
void SetAbsPos(double x,double y);
Parameter:
· x: X- Koordinate
· y: Y- Koordinate
Beschreibung:
Setzt die absolute Position des grafischen Elementes im Bild. Die Position bezieht sich dabei
immer auf die linke obere Ecke.
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.24 CGrafNode::SetNodeAtt
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit der
Bedeutung ihrer Parameter.
für ganzzahlige Attribute (short, 2 Byte):
Syntax:
int SetNodeAtt(int nID,short nVal);
Beschreibung:
setzt ein ganzzahliges Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
Für ganzzahlige Attribute (long, 4 Byte)
Syntax:
int SetNodeAtt(int nID,long nVal);
Beschreibung:
setzt einen ganzzahliges (langes) Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
für Gleitkomma- Attribute (float, 4Byte)
Syntax:
int SetNodeAtt(int nID,float nVal);
Beschreibung:
setzt eine Gleitkommazahl.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
für Gleitkomma- Attribute (double, 8 Byte)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
158
Syntax:
int SetNodeAtt(int nID,double nVal);
Beschreibung:
setzt eine Gleitkommazahl.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
Für Text- Attribute
Syntax:
int SetNodeAtt(int nID,char *szVal);
Beschreibung:
setzt ein Text-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· szVal: der zu setzende Wert
Für Schrift- Attribute
Syntax:
int SetNodeAtt(int nID, char* szName, int nHeight, int Mode, int nAng);
Beschreibung:
setzt ein Schriftart-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· szName: Name der Schriftart (z.B. "Arial") Bitte verwenden Sie nur Truetype-Schriftarten
· nHeight: Größe der Schriftart in Punkten
· nMode: Zusätzliche Schriftattribute
o Bit1: fett
o Bit2: kursiv
o Bit3: unterstrichen
o Bit4: durchgestrichen
· nAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechter
Darstellung
Für Linien- Attribute
Syntax:
int SetNodeAtt(int nID, int nStyle, int nWidth, int nR, int nG, int nB);
Beschreibung:
setzt eine Linienart.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nStyle: Linientyp (0..5), Bedeutung siehe nachfolgende Tabelle.
· nWidth: Linienstärke in Hundertstel Millimetter
· nR: Linienfarbe Rotanteil (0..255)
· nG: Linienfarbe Grünanteil (0..255)
· nB: Linienfarbe Blauanteil (0..255)
Bedeutung von Linienart-Attributen:
© XOn Siftware GmbH, 2008
159
Referenzhandbuch
Wert
Bedeutung
0
keine Linie
1
durchgezogene Linie
2
gestrichelte Linie
3
gepunktete Linie
4
Strich- Punkt- Linie
5
Strich- Punkt- Punkt- Linie
Diese Linienarten lassen sich nur für Linien der Dicke 0 einstellen, Andernfalls werden die Linien
durchgezogen. Im Falle einer Liniendicke von0 wird die dünnste mögliche Linie des
Ausgabemediums verwendet.
Bedeutung von Markierungsart-Attributen:
Wert
0
1
2
3
4
5
6
8
9
10
11
12
13
14
15
16
Bedeutung
keine
Quadrat
Dreieck mit Spitze nach oben
Kreuz
Dreieck mit Spitze nach unten
Raute
gefülltes Quadrat
gefülltes Dreieck mit Spitze nach oben
gefülltes Dreieck mit Spitze nach unten
gefüllte Raute
Punkt
Kreis
gefüllter Kreis
Kreuz
horizontale Linie
vertikale Linie
Für Füllmuster- Attribute:
Syntax:
int SetNodeAtt(int nID, int nStyle, int nHatch, int nR, int nG, int nB);
Beschreibung:
setzt ein Füllmuster.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nStyle:
o 0: ohne Schraffur
o 1: mit Schraffur
o 2: transparent
· nHatch: Schraffurtyp (siehe Tabelle)
· nR: Schraffurfarbe Rotanteil (0..255)
· nG: Schraffurfarbe Grünanteil (0..255)
· nB: Schraffurfarbe Blauanteil (0..255)
Bedeutung des Parameters nHatch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
nHatch
0
1
2
3
4
5
160
Schraffur
diagonal -45°
senkrecht gekreuzt
diagonal gekreuzt
diagonal 45°
horizontal
vertikal
Für Farbattribute:
Syntax:
int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:
setzt eine Farbe.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nR: Rotanteil (0..255)
· nG: Grünanteil (0..255)
· nB: Blauanteil (0..255)
Hinweis:
Mit der Definition von Farbwerten über die RGB-Werte stehen die gesamten 16.7 Millionen Farben
eines True-Color-Systems zur Verfügung. Da es auf Systemen mit geringerer Farbauflösung zu
Problemen bei der Darstellung von Mischfarben kommen kann, ist in diesem Falle die
Verwendung von Systemfarben vorzuziehen. Diese werden immer korrekt dargestellt.
Einige Systemfarben aufgeschlüsselt nach ihren Rot-, Grün- und Blauanteilen:
Farbe
Rot
Grün
Blau
schwarz
0
0
0
blau
0
0
128
grün
0
128
0
aquamarin
0
128
128
rot
128
0
0
lila
128
0
128
braun
128
128
0
grau
128
128
128
hellgrau
192
192
192
hellblau
0
0
255
hellgrün
0
255
0
cyan
0
255
255
hellrot
255
0
0
magenta
255
0
255
gelb
255
255
0
weiß
255
255
255
Parameterliste:
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
© XOn Siftware GmbH, 2008
161
Referenzhandbuch
Typ
ID
1000
Integer
1001
Linie unten
1002
Linie rechts
1003
Linie oben
1004
Linie links
1005
1006
3000
3001
Float
3002
3003
String
4000
Font
Linienart
Füllmuster
5000
6000
7000
8000
Farbe
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
8001
Diagonale unten links
nach oben rechts
Diagonale oben links
nach unten rechts
Breite des Objektes
Höhe des Objektes
Horizontale Position
des Objektes
Vertikale Position des
Objektes
Name des
Grafikelementes
Standardschriftart
Standard-Linienart
Standard-Füllmuster
Hintergrundfarbe
Farbe der
Standardschriftart
Wertebereich
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
0=unsichtbar,
1=sichtbar
Angabe in 1/1000 Inch
Angabe in 1/1000 Inch
Angabe in 1/1000 Inch
Angabe in 1/1000 Inch
Bezeichner
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
162
1.2.3.7.25 CGrafNode::SetPos
Syntax:
void SetPos(double x,double y);
Beschreibung:
Setzt die Position des grafischen Elementes relativ zur Position des Vaterelementes. Die Position
bezieht sich dabei immer auf die linke obere Ecke.
Parameter:
· x: X- Koordinate
· y: Y- Koordinate
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.7.26 CGrafNode::SetSize
Syntax:
void SetSize(double width,double height);
Beschreibung:
Setzt die Größe des grafischen Elementes im Bild.
Parameter:
· width: Breite des Elementes
· height: Höhe des Elementes
Siehe auch:
Klassenhierarchie, CGrafNode Übersicht
1.2.3.8
CPie2DNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse stellt die Funktionen zum Darstellen von Tortendiagrammen zur Verfügung. Die
Daten der Torte werden in einer vektorähnlichen Struktur verwaltet. Die maximale Anzahl von
Tortenstücken beträgt 1999.
Methoden:
· CPie2DNode::AddPie
· CPie2DNode::DelPie
· CPie2DNode::SetData
· CPie2DNode::SetNodeAtt
· CPie2DNode::GetNodeAtt
© XOn Siftware GmbH, 2008
163
Referenzhandbuch
1.2.3.8.1 CPie2DNode::AddPie
Syntax:
int AddPie(double fSize,int nInd = -1);
int AddPie(CVector * pVector,int nInd = -1);
Beschreibung:
Diese Funktion erweitert ein Tortendiagramm um ein oder mehrere Tortenstücke. Die
Einfügeposition wird im Parameter nInd spezifiziert. Den neuen Tortenstücken werden
voreingestellte Attributwerte für Farbe, Formatstring ihrer Beschriftungen und Exposition
zugewiesen. Die aktualle Größe der Torte ist gegebenenfalls mit "GetPie2DNode::GetPieNodeAtt"
zu ermitteln.
Parameter:
· fSize: Größe des einzufügenden Tortenstücks
· nInd: Einfügeindex des Tortenstücks. Der Index ist nullbasiert und es wird vor der angegebenen
Indexposition eingefügt. Ein Wert von -1 an dieser Stelle bedeutet daß das neue Tortenstück,
bzw die neuen Tortenstücke im Falle eines einzufügenden Vektors, an die bisher bestehenden
angehängt wird.
· pVector: Pointer auf einen Vektor, der die Daten enthält
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CPie2DNode Übersicht
1.2.3.8.2 CPie2DNode::DelPie
Syntax:
int DelPie(int nInd = -1);
Beschreibung:
Diese Funktion löscht ein Tortenstück aus einem Tortendiagramm.
Parameter:
· nInd: Index des zu entfernenden Tortenstücks. Der Index ist nullbasiert und es wird an der
angegebenen Indexposition gelöscht. Ein Wert von -1 an dieser Stelle bedeutet daß das jeweils
letzte Tortenstück gelöscht wird.
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CPie2DNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
164
1.2.3.8.3 CPie2DNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CPie2DNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CPie2DNode Übersicht
1.2.3.8.4 CPie2DNode::SetData
Syntax:
int SetData(double * lpf,int nSize);
int SetData(CF8Vector * pVector);
int SetData(const char *lpszPoolname);
Beschreibung:
Diese Funktion setzt den Datenvektor eines Tortendiagramms.
Sollte bereits ein Datenvektor für dieses Tortendiagramm existieren, so wird dieser überschrieben.
Entsprechende Attributwerte für Tortenstücke bleiben soweit es möglich ist erhalten. Sollte sich die
Torte durch einen "SetData" - Aufruf vergrößern erhalten die neu hinzugekommenen Stücke,
abgesehen von ihrer Größe, voreingestellte Werte zugewiesen. Bei einer Verkleinerung gehen
nicht mehr benötigte Tortenstückattribute verloren.
Parameter:
· lpf: Pointer auf einen doublearray
· nSize: Anzahl der Einträge des doublearrays
· Vektor: Pointer auf ein Objekt der Klasse CVector
© XOn Siftware GmbH, 2008
165
Referenzhandbuch
· lpszPoolname: Name eines Datenpoolelements des Typs Vektorx
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CPie2DNode Übersicht
1.2.3.8.5 CPie2DNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
Typ
ID
1000
1100
1101
Integer
1102
1103
1104
1105
3100
Float
3150
3151
Bedeutung
Wertebereich
Sichtbarkeit des
0=unsichtbar,
Grafikelementes ein/
1=sichtbar
aus
Winkel der Perspektive
in Zehntel Grad
Startwinkel des ersten
Stückes
0=absolut,
Interpretationsmodus
1=prozentual
0=transparent,
Texthintergrundmodus
1=opaque
Anzahl der
Tortenstücke (nur
lesen!)
aktuelles Tortenstück
Verhältnis der
Tortenhöhe zur
größer/gleich 0
Tortenbreite
Größe des aktuellen
Tortenstücks (siehe ID
1105)
Exposition des
aktuellen Tortenstücks
(siehe ID 1105)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
4000
String
4150
4151
Font
5000
Linienart
6000
7000
Füllmuster
7150
8000
8001
Farbe
8150
166
Name des
Bezeichner
Grafikelementes
Name des aktuellen
Tortenstücks (siehe ID
1105)
Formatstring des
aktuellen Tortenstücks
(siehe ID 1105)
Standardschriftart
für eine Liste der
Standard-Linienart
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Füllmuster des
aktuellen Tortenstücks
(siehe ID 1105)
Hintergrundfarbe
Farbe der
Standardschriftart
Hintergrundfarbe des
aktuellen Tortenstücks
(siehe ID 1105)
Für weitere Attribute siehe CGrafNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
Beschreibung
-1
allgemeiner, undefinierbarer Fehler
-2
ID-Nummer unzulässig
-3
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
-4
Bereiches
unzulässiger Formatstring (bei Übergabe von
-5
Formatstrings)
Siehe auch:
Klassenhierarchie , CPie2DNode Übersicht
1.2.3.9
CPlaneNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
© XOn Siftware GmbH, 2008
167
Referenzhandbuch
Eine Plane ist eine zweidimensionale Transformation, wie man sie für krummlinige
Koordinatensysteme benötigt.
Methoden:
· CPlaneNode::SetNodeAtt
· CPlaneNode::GetNodeAtt
1.2.3.9.1 CPlaneNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CPlaneNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CPlaneNode Übersicht
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
168
1.2.3.9.2 CPlaneNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
1000
1100
Abbildungsfunktion
1200
Position der X-Achse
1201
Position der Y-Achse
Integer
1202
1203
1204
1205
1206
1207
1208
1209
3100
Float
3101
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Wertebereich
0=unsichtbar,
1=sichtbar
0=linear/linear,
1=linear/Bogenmaß,
2=linear/Gradmaß,
3=Weibul, 4=polar/
Bogenmaß, 5=polar/
Gradmaß
0=oben, 1=mittig,
2=unten
0=links, 1=mittig,
2=rechts
Position der Pfeilspitze
0=rechts, 1=links
an der X-Achse
Position der Pfeilspitze
0=oben, 1=unten
an der Y-Achse
0=kein Gitter, 1=grobes
Gitter der X-Achse
Gitter, 2=feines Gitter
0=kein Gitter, 1=grobes
Gitter der Y-Achse
Gitter, 2=feines Gitter
Anzahl der X-Ticks
größer/gleich 0
Anzahl der Y-Ticks
größer/gleich 0
Anzahl der X-Subticks größer/gleich 0
Anzahl der Y-Subticks größer/gleich 0
X0, Anfangswert der XAchse
DX, Breite der X-Achse
(Endwert=X0+DX)
169
Referenzhandbuch
3102
3103
4000
4200
4201
String
4202
4203
Font
5000
Linienart
6000
Füllmuster
7000
8000
Farbe
8001
Y0, Anfangswert der YAchse
DY, Breite der Y-Achse
(Endwert=Y0+DY)
Name des
Bezeichner
Grafikelementes
Name der X-Achse
Name der Y-Achse
Formatstring für die
Beschriftung der XAchse
Formatstring für die
Beschriftung der XAchse
Standardschriftart
für eine Liste der
Standard-Linienart
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Hintergrundfarbe
Farbe der
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt , CTransform2D::SetNodeAtt .
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CPlaneNode Übersicht
1.2.3.10 CRectNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
170
1.2.3.10.1 CRectNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe:
CGrafNode::SetNodeAtt
Mögliche Attributwerte, deren Typ und Bedeutung siehe:
CRectNode::SetNodeAtt
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
-4
-5
1.2.3.10.2 CRectNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Liste der Parameterleisten siehe:
CGrafNode::SetNodeAtt
© XOn Siftware GmbH, 2008
171
Referenzhandbuch
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
1000
1100
Abbildungsfunktion
1200
Position der X-Achse
1201
Position der Y-Achse
Integer
1202
1203
1204
1205
1206
1207
1208
1209
3100
3101
Float
3102
3103
4000
4200
4201
String
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
4202
4203
Font
5000
Linienart
6000
Füllmuster
7000
Wertebereich
0=unsichtbar,
1=sichtbar
0=linear/linear,
1=linear/Bogenmaß,
2=linear/Gradmaß,
3=Weibul, 4=polar/
Bogenmaß, 5=polar/
Gradmaß
0=oben, 1=mittig,
2=unten
0=links, 1=mittig,
2=rechts
Position der Pfeilspitze
0=rechts, 1=links
an der X-Achse
Position der Pfeilspitze
0=oben, 1=unten
an der Y-Achse
0=kein Gitter, 1=grobes
Gitter der X-Achse
Gitter, 2=feines Gitter
0=kein Gitter, 1=grobes
Gitter der Y-Achse
Gitter, 2=feines Gitter
Anzahl der X-Ticks
größer/gleich 0
Anzahl der Y-Ticks
größer/gleich 0
Anzahl der X-Subticks größer/gleich 0
Anzahl der Y-Subticks größer/gleich 0
X0, Anfangswert der XAchse
DX, Breite der X-Achse
(Endwert=X0+DX)
Y0, Anfangswert der YAchse
DY, Breite der Y-Achse
(Endwert=Y0+DY)
Name des
Bezeichner
Grafikelementes
Name der X-Achse
Name der Y-Achse
Formatstring für die
Beschriftung der XAchse
Formatstring für die
Beschriftung der XAchse
Standardschriftart
für eine Liste der
Standard-Linienart
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
8000
Farbe
8001
172
Hintergrundfarbe
Farbe der
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt .
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
Beschreibung
-1
allgemeiner, undefinierbarer Fehler
-2
ID-Nummer unzulässig
-3
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
-4
Bereiches
unzulässiger Formatstring (bei Übergabe von
-5
Formatstrings)
1.2.3.11 CSzene
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Basisklasse stellt ein dreidimensionales Koordinatensystem und Methoden zu dessen
Konfiguration zur Verfügung, Alle dreidimensionalen Grafikelemente (z.B. der 3D-Graf) basieren
auf dieser Klasse.
Methoden:
· CSzene::SetNodeAtt
· CSzene::GetNodeAtt
1.2.3.11.1 CSzene::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
© XOn Siftware GmbH, 2008
173
Referenzhandbuch
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CSzene::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
-4
-5
Siehe auch:
Klassenhierarchie , CSzene Übersicht
1.2.3.11.2 CSzene::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
Typ
ID
1000
1100
Integer
1101
1102
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Fest vorgegebene
Beschriftungen (
FixTicks) an der XAchse verwenden
Fest vorgegebene
Beschriftungen (
FixTicks) an der YAchse verwenden
Fest vorgegebene
Beschriftungen (
FixTicks) an der Z-
Wertebereich
0=unsichtbar,
1=sichtbar
1=ja, 0=nein
1=ja, 0=nein
1=ja, 0=nein
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
Float
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
4000
4100
String
4101
4102
© XOn Siftware GmbH, 2008
Achse verwenden
X-Achse automatisch
1=ja, 0=nein
skalieren
Y-Achse automatisch
1=ja, 0=nein
skalieren
Z-Achse automatisch
1=ja, 0=nein
skalieren
Gitter parallet zur X0=keines, 1=grob,
Achse
2=fein
Gitter parallet zur Y0=keines, 1=grob,
Achse
2=fein
Gitter parallet zur Z0=keines, 1=grob,
Achse
2=fein
Clipping durch obere
1=ja, 0=nein
und untere XY-Ebene
Clipping durch linke
1=ja, 0=nein
und rechte ZX-Ebene
Clipping durch linke
1=ja, 0=nein
und rechte YZ-Ebene
Gehäuse um Szene
1=ja, 0=nein
zeichnen
XY- Begrenzungsebene
1=ja, 0=nein
der Szene zeichnen
YZ- Begrenzungsebene
1=ja, 0=nein
der Szene zeichnen
ZX- Begrenzungsebene
1=ja, 0=nein
der Szene zeichnen
Anfangswert X-Achse
Endwert X-Achse
Anfangswert Y-Achse
Endwert Y-Achse
Anfangswert Z-Achse
Endwert Z-Achse
Perspektive
0=keine, 20=stark
Blickwinkel der X0..2PI
Achse in Radiant
Blickwinkel der Y0..2PI
Achse in Radiant
Blickwinkel der Z0..2PI
Achse in Radiant
Name des
Bezeichner
Grafikelementes
Formatstring für
Beschriftung der XAchse
Formatstring für
Beschriftung der YAchse
Formatstring für
Beschriftung der Z-
174
175
Referenzhandbuch
Font
4103
4104
4105
5000
Achse
Titel der X-Achse
Titel der Y-Achse
Titel der Z-Achse
Standardschriftart
Linienart
6000
Standard-Linienart
Muster
7000
8000
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Hintergrundfarbe
Farbe
Farbe der
8001
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CSzene Übersicht
1.2.3.12 CTabNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse stellt die Funktionen zum Darstellen von Tabellen zur Verfügung. Die Daten der
Tabelle werden in einer matrixähnlichen Struktur verwaltet. Diese Matrix kann maximal 16250
Einträge aufweisen. Die jeweiligen Maximas für Reihen sind 1998 und für Spalten 199.
Die Breite der zugrundeliegenden CGrafNode bleibt immer erhalten, während die Höhe auf den
tatsächlichen Inhalt angepasst wird. Die Breite der Spalten ist durch die Methode CTabNode::
SetNodeAtt pro Spalte manipulierbar. In den einzelnen Zellen der Tabelle wird ein Zeilenumbruch
an Wortgrenzen durchgeführt, jedoch kein Trennalgorithmus innerhalb von Worten. Es stehen 3
Schriftarten für Tabellenüberschrift, normalen Tabellentext sowie hervorgehobenen Tabellentext
zur Verfügung. Diese sind alle mit der Standardschriftart vorbesetzt.
Methoden:
· CTabNode::SetData
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
176
· CTabNode::GetData
· CTabNode::SetNodeAtt
· CTabNode::GetNodeAtt
1.2.3.12.1 CTabNode::GetData
Syntax:
int GetData(int nRow,int nCol,char * lpszDataVal,int nSize);
Beschreibung:
Liefert den Stringwert einer existierende Zelle der Tabelle.
Parameter:
· nRow: Nullbasierter Index der zu setzenden Reihe
· nCol: Nullbasierter Index der zu setzenden Spalte
· lpszDataVal: Pointer auf char für Rüchgabe eines
· Tabellenzelleneintrags
· nSize: Größe des Buffers des Rückgabestrings
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CTabNode Übersicht
1.2.3.12.2 CTabNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CTabNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
177
Referenzhandbuch
Formatstrings)
Siehe auch:
Klassenhierarchie , CTabNode Übersicht
1.2.3.12.3 CTabNode::SetData
Syntax:
int SetData(int nRow,int nCol,char * lpszDataVal);
Beschreibung:
Setzt einen Stringwert in eine existierende Zelle der Tabelle.
Parameter:
nRow: Nullbasierter Index der zu setzenden Reihe
nCol: Nullbasierter Index der zu setzenden Spalte
lpszDataVal: Pointer auf char, weist auf String für Tabellenzelle
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CTabNode Übersicht
1.2.3.12.4 CTabNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Typ
ID
1000
1100
Integer
1101
1102
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
Anzahl der Zeilen in
der Tabelle
Anzahl der Spalten in
der Tabelle
aktive Zeile
Wertebereich
0=unsichtbar, 1=sichtbar
größer 0
größer 0
Mit den Attributen 1102 und
1103 wird die aktive Zelle
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1103
1104
1105
1106
Float
3160
4000
String
4100
Font
5100
Linienart
6100
© XOn Siftware GmbH, 2008
178
festgelegt. Ist das Attribut
1103 auf 0 gesetzt, so wird
der Basisstiel einer ganze
Zeile selektiert. Sind die
Attribute 1102 und 1103
auf 0 gesetzt, so wird der
Basisstiel der ganzen
Tabelle selektiert. Attribute
wie Rahmen, Farben,
Fonts e.t.c. werden in die
hier selektierte Zelle oder
Basisstiel geschrieben. Ist
für eine Zelle kein Stiel
festgelegt, so wird der
zugehörige Basisstiel
verwendet, falls vorhanden.
siehe Beschreibung von ID
aktuelle Spalte
1102
1. alle Kanten
2. linke Kante
3. rechte Kante
4. obere Kante
aktive Zellenkante
5. untere Kante
Linienattribute (ID 6100)
beziehen sich auf die hier
festgelegte Kante einer
Zelle.
0=aus, 1=ein
Der Inhalt dieser Zelle kann
bei Bedarf in Nachbarzellen
Fließende Zelle (float)
fließen, falls diese leer sind
und das flood- Atrribut (ID
1106) gesetzt haben
0=aus, 1=ein
Diese Zelle kann bei Bedarf
von Nachbarzellen
Fließende Zelle (flood)
überschrieben werden falls
diese float- Attribut (ID
1105) gesetzt haben
relative Spaltenbreite
größer 0
der aktuellen Spalte
Name des
Bezeichner
Grafikelementes
Legt den Text einer
Zelle fest. Die Zelle
wird mit Attribut
1102/1103
ausgewählt.
Legt die Schriftart einer
Zelle fest. Die Zelle wird mit
Schriftart
Attribut 1102/1103
ausgewählt.
Kante-Linienart
Legt die Linienart fest, mit
der eine Zellenkante
gezeichnet wird. Legen sie
179
Referenzhandbuch
Füllmuster
7100
Zellen- Füllmuster
8100
Hintergrundfarbe
8101
Textfarbe
Farbe
vorher mit dem Attribut
1104 fest, welche
Zellenkante sie
beschreiben wollen und mit
den Attributen 1102 und
1103, auf welche Zelle sie
sich beziehen.
Legt das Füllmuster fest,
mit dem eine Zelle
ausgemalt wird. Die Zelle
wird mit Attribut 1102/1103
ausgewählt
Legt die Hintergrundfarbe
einer Zelle fest. Die Zelle
wird mit Attribut 1102/1103
ausgewählt
Legt die Textfarbe einer
Zelle fest. Die Zelle wird mit
Attribut 1102/1103
ausgewählt.
Für weitere Attribute siehe CGrafNode::SetNodeAtt .
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner als 0, ist ein Fehler aufgetreten.
Liste der Rückgabewerte.
Beispiel:
int method::OnRun()
{
int i,j;
Tab.Clear();
Tab.SetNodeAtt(1100,11);
Tab.SetNodeAtt(1101,2);
//Font und Schriftfarbe in der ersten Zeile setzen
Tab.SetNodeAtt(1102,1); // Zeile 1 auswählen
Tab.SetNodeAtt(1103,0); // alle Spalten auswählen
// Font setzen
Tab.SetNodeAtt(5100,
"Arial", // szName="Arial"
// nHeight=18
18,
// nMode=3: 0x01 | 0x02 (Bit1 und Bit zwei gesetzt)
3,
//
bold, italic
// nAngle=0
0);
Tab.SetNodeAtt(8101,0,0,255); // Fontfarbe=blau
//Zellen der ersten Zeile verbinden
for (i=1;i<3;i++)
{
Tab.SetNodeAtt(1103,i);//Spalte i
Tab.SetNodeAtt(8100,192,192,192);
Tab.SetNodeAtt(1105,1);//Zelle ist "float"
Tab.SetNodeAtt(1106,1);//Zelle ist "flood"
}
//Text in die erste Zeile
Tab.SetNodeAtt(1103,1);
Tab.SetNodeAtt(4100,"Tabellentitel");
//Allgemeine Einstellungen für alle Zellen
Tab.SetNodeAtt(1102,0); // alle Zeilen
Tab.SetNodeAtt(1103,0); // alle Spalten
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
180
Tab.SetNodeAtt(1104,-1);// alle Kanten
//Linienart für die Kanten:
Tab.SetNodeAtt(6100,
//Durchgezigene Linie
1,
//Dicke 0
0,
0,0,0); //Farbe schwarz
// Font setzen
Tab.SetNodeAtt(5100,
"Arial", // szName="Arial"
// nHeight=12
12,
// nMode=0
0,
// nAngle=0
0);
char buf[256];
for (i=1;i<3;i++)
{
Tab.SetNodeAtt(1103,i);//Spalte i
for (j=2;j<12;j++)
{
sprintf(buf,"Zeile %i, Spalte %i",j,i);
//Text in die Zeile (i,j) schreiben
Tab.SetNodeAtt(1102,j);//Zeile j auswählen
Tab.SetNodeAtt(4100,buf);
}
}
//Darstellung erneuern
GetDocument()->Invalidate();
return 1;
}
Siehe auch:
Klassenhierarchie , CTabNode Übersicht
1.2.3.13 CTextNode
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
TextNode ist die Interface- Klasse zu Textelementen auf einer Grafik. Diese Klasse bietet die
Möglichkeit zur Manipulation von Text, Font, Farbe...
Methoden:
· CTextNode::SetText
· CTextNode::Add
· CTextNode::AddDate
· CTextNode::AddTime
· CTextNode::SetNodeAtt
· CTextNode::GetNodeAtt
© XOn Siftware GmbH, 2008
181
Referenzhandbuch
1.2.3.13.1 CTextNode::Add
Syntax:
void CTextNode::Add(char);
void CTextNode::Add(short);
void CTextNode::Add(long);
void CTextNode::Add(float);
void CTextNode::Add(double);
void CTextNode::Add(char*);
Beschreibung:
An den Text eines Textfeldes wird weiterer Text angehängt. Je nach Typ des Parameters kann
dies ein einzelnes Zeichen, eine ganze Zahl, eine Gleitkommazahl oder ein String sein.
Siehe auch:
Klassenhierarchie , CTextNode Übersicht
1.2.3.13.2 CTextNode::AddTime
Syntax:
void CTextNode::AddTime();
Beschreibung:
Erweitert den bestehenden Text um die aktuelle Uhrzeit.
Siehe auch:
Klassenhierarchie , CTextNode Übersicht
1.2.3.13.3 CTextNode::AddDate
Syntax:
void CTextNode::AddDate();
Beschreibung:
Erweitert den bestehenden Text um das aktuelle Datum.
Siehe auch:
Klassenhierarchie , CTextNode Übersicht
1.2.3.13.4 CTextNode::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
182
Mögliche Attributwerte, deren Typ und Bedeutung siehe CTextNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
-4
-5
Siehe auch:
Klassenhierarchie , CTextNode Übersicht
1.2.3.13.5 CTextNode::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen :
Bedeutun Wertebere
Typ
ID
g
ich
Sichtbarkei
t des
0=unsichtb
1000
Grafikelem ar,
entes ein/ 1=sichtbar
aus
Ausrichtun 0=links
Integer
1100
g des
1=zentriert
Textes
2=rechts
Typ der
Datenquell
1=explizit
1101
e für das
2=Pool
Texteleme
nt
© XOn Siftware GmbH, 2008
183
Referenzhandbuch
Name des
Grafikelem Bezeichner
entes
bei
explizitem
Typ: Text
des
Elementes,
bei PoolTyp: Name
des PoolLinks
Standardsc
hriftart
für eine
Liste der
Standard- Linienarten
Linienart
siehe
GrafNode:
SetNodeAtt
StandardFüllmuster
Hintergrun
dfarbe
Farbe der
Standardsc
hriftart
4000
String
4100
Font
5000
Linienart
6000
Füllmuster
7000
8000
Farbe
8001
Für weitere Attribute siehe CGrafNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CTextNode Übersicht
1.2.3.13.6 CTextNode::SetText
Syntax:
void CTextNode::SetText(char *text);
Beschreibung:
Der Text eines Textfeldes wird erstezt durch den Inhalt der Variable text.
Parameter:
· text: String, der angezeigt werden soll
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
184
Klassenhierarchie , CTextNode Übersicht
1.2.3.14 CTransform1D
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse dient als Basis für eindimensionale Transformationen, wie sie etwa Achsen
durchführen.
Methoden:
· CTransform1D::GetPhys
· CTransform1D::SetPhys
· CTransform1D::SetMapMode
· CTransform1D::SetNodeAtt
· CTransform1D::GetNodeAtt
· CTransform1D::PUtoLU
1.2.3.14.1 CTransform1D::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
Beschreibung:
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CTransform1D::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
185
Referenzhandbuch
-5
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.2 CTransform1D::GetPhys
Syntax:
void CTransform1D::GetPhys(double *pW0, double *pW1);
Beschreibung:
Liest den Wertebereich der Transformation. Für die Von CTransform1D abgeleitete Klasse
CAxisNode liest diese Methode also z.B. den Skalenbereich der Achse aus.
Parameter:
· pW0: unterer Rand des Wertebereiches
· pW1: oberer Rand des Wertebereiches
Siehe auch:
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.3 CTransform1D::PUtoLU
Syntax:
int PUtoLU(double x);
int PUtoLU(long t);
Parameter:
· x: Physikalischer Wert als Gleitkommazahl
· t: Physikalischer Wert (Zeitpunkt) als ganze Zahl
Beschreibung:
wandelt eine physikalische Koordinate in eine Bildschirmkoordinate um. Ist die Abbildungsfunktion
der Transformation Datum/Zeit (Item 1100, Wert 2), dann muß der physikalische Wert als
Zeitpunkt (Sekunden seit 1.1.1970 als long) vorgegeben werden, andernfalls als Gleitkommazahl.
Rückgabewert:
logische Koordinate in 1/100 mm.
Siehe auch:
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.4 CTransform1D::SetMapMode
Syntax:
void CTransform1D::SetMapMode(int mode);
Beschreibung:
Legt die Abbildungsfunktion einer Transformation fest.
Parameter:
· mode: Abbildungsmodus
0: Werte im Bereich [w0,w1] werden linear auf den Bildbereich transformiert
1: Werte im Bereich [w0,w1] werden logarithmisch auf den Bildbereich transformiert. Es muß
gelten 0<w0<w1!
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
186
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.5 CTransform1D::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,int nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
Typ
ID
1000
Integer
Float
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
1100
Abbildungsfunktion
1101
1102
Anzahl der Ticks
Anzahl der Subticks
3100
Anfangswert des
Skalierungsintervalls
Wertebereich
0=unsichtbar,
1=sichtbar
0=linear
1=logarithmisch
2=Weibulverteilung
3=Normalverteilung
4=Zeitachse
5=Reziprok
6=Reziprok verschoben
7=Logit
größer/gleich 0
größer/gleich 0
Mit diesem Attribut wird
der Anfangswert des
Skalierungsintervalls
gesetzt. Der Wert wird
erst übernommen,
wenn der Endwert des
Skalierungsintervalls
(3101) gesetzt wird.
Falls das Wertepaar
nicht zur eingestellten
Skalierung paßt wird
die Skalierung
entsprechend
angepaßt. Zum Beispiel
sind Werte kleiner oder
gleich Null bei
logarithmischer
Skalierung unzulässig.
187
Referenzhandbuch
3101
3102
String
4000
Font
5000
Linienart
6000
Füllmuster
7000
8000
Farbe
8001
Mit diesem Attribut wird
der Endwert des
Skalierungsintervalls
gesetzt und
Angangswert (3100)
und Endwert (3101)
werden in die
Skalierung
übernommen. Sie
müssen also unbedingt
das Attribut 3100
Endwert des
gesetzt haben bevor
Skalierungsintervalls
Sie das Attribut 3101
festlegen! Falls das
Wertepaar nicht zur
eingestellten Skalierung
paß wird die Skalierung
entsprechend
angepaßt. Zum Beispiel
sind Werte kleiner oder
gleich Null bei
logarithmischer
Skalierung unzulässig.
Mit SetNodeAtt setzen
sie eine physikalische
Koordinate x. Mit
Temporäre Koordinate GetNodeAtt erhalten
sie die zugehörige
logische Koordinate y =
p2l(x)
Name des
Bezeichner
Grafikelementes
Standardschriftart
für eine Liste der
Standard-Linienart
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Hintergrundfarbe
Farbe der
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
188
Siehe auch:
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.6 CTransform1D::SetPhys
Syntax:
void CTransform1D::SetPhys(double w0, double w1);
Beschreibung:
Legt den Wertebereich der Transformation fest. Für die Von CTransform1D abgeleitete Klasse
CAxisNode legt diese Methode also z.B. den Skalenbereich der Achse fest.
Parameter:
· w0: unterer Rand des Wertebereiches
· w1: oberer Rand des Wertebereiches
Siehe auch:
Klassenhierarchie , CTransform1D Übersicht
1.2.3.15 CTransform2D
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse dient als Basis für zweidimensionale Transformationen, wie sie etwa Planes
durchführen.
Methoden:
· CTransform2D::SetTyp
· CTransform2D::GetTyp
· CTransform2D::SetPhys
· CTransform2D::GetPhys
· CTransform2D::SetNodeAtt
· CTransform2D::GetNodeAtt
· CTransform2D::PUtoLU
1.2.3.15.1 CTransform2D::GetNodeAtt
Syntax:
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
int GetNodeAtt(int
Beschreibung:
© XOn Siftware GmbH, 2008
nID,int *pVal);
nID,long *pVal);
nID,float *pVal);
nID,double *pVal);
nID,char *pVal,int nSize);
nID,char *nName,int *pHeight,int *pMode,int *pAng);
nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);
nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);
nID,int *pR,int *pG,int *pB);
189
Referenzhandbuch
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
Mögliche Attributwerte, deren Typ und Bedeutung siehe CTransform2D::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.2 CTransform2D::GetPhys
Syntax:
int GetPhys(double *pfx0,double *pfx1,double *pfy0,double *pfy1);
Beschreibung:
Liefert die aktuellen Bereiche der Transformation.
Parameter:
· pfx0: Pointer auf einen double zur Speicherung des ersten Wertes des X- Bereichs
· pfx1: Pointer auf einen double zur Speicherung des zweiten Wertes des X- Bereichs
· pfy0: Pointer auf einen double zur Speicherung des ersten Wertes des Y- Bereichs
· pfy1: Pointer auf einen double zur Speicherung des zweiten Wertes des Y- Bereichs
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.3 CTransform2D::GetTyp
Synatx:
int GetTyp(int * pIntT)
Beschreibung:
Liefert den aktuellen Tranformationstyp.
Parameter:
· pIntT: Pointer auf Integer zur Speicherung des Rückgabewertes
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
190
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.4 CTransform2D::PUtoLU
Syntax:
void PUtoLU(double x,double y,int *pix,int *piy);
Parameter:
· x: Physikalische X- Koordinate
· y: Physikalische Y- Koordinate
· pix: Ergebnisbuffer für die logische X- Koordinate
· piy: Ergebnisbuffer für die logische Y- Koordinate
Beschreibung:
wandelt einen physikalischen Punkt (x,y) bezüglich der Abbildungsfunktion in einen logischen
Punkt um. Die Einheit der logischen Koordinaten beträgt 1/100 mm.
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.5 CTransform2D::SetNodeAtt
Syntax:
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
int SetNodeAtt(int
nID,short nVal);
nID,long nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,double nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
Beschreibung:
Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
Parameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen:
Typ
ID
Integer
1000
Float
© XOn Siftware GmbH, 2008
Bedeutung
Sichtbarkeit des
Grafikelementes ein/
aus
1100
Abbildungsfunktion
3100
X0, Anfangswert der
Wertebereich
0=unsichtbar, 1=sichtbar
·
·
·
·
·
·
·
0: linear/linear
1: linear/Bogenmaß
2: linear/Gradmaß
3: Weibul
4: polar/Bogenmaß
5: polar/Gradmaß
6: Smith- Chart
191
Referenzhandbuch
String
4000
Font
5000
X-Achse
DX, Breite der XAchse (Endwert=X0
+DX)
Y0, Anfangswert der
Y-Achse
DY, Breite der YAchse (Endwert=Y0
+DY)
Name des
Grafikelementes
Standardschriftart
Linienart
6000
Standard-Linienart
Füllmuster
Farbe
7000
8000
3101
3102
3103
Bezeichner
für eine Liste der
Linienarten siehe
GrafNode:SetNodeAtt
Standard-Füllmuster
Hintergrundfarbe
Farbe der
8001
Standardschriftart
Für weitere Attribute siehe CGrafNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.6 CTransform2D::SetPhys
Synatx:
int SetPhys(double x0,double x1,double y0,double y1)
Beschreibung:
Setzt die Bereiche für die Transformation. Sollten die angegebenen Werte mit der gewählten
Transformation nicht vereinbar sein werden geeignete Voreinstellungen gewählt. Die Werte der
Voreinstellungen sind in der Beschreibung von SetTyp angegeben.
Parameter:
· x0: Erster Wert des abzubildenden X - Bereichs
· x1: Zweiter Wert des abzubildenden X - Bereichs
· y0: Erster Wert des abzubildenden Y - Bereichs
· y1: Zweiter Wert des abzubildenden Y - Bereichs
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
192
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
1.2.3.15.7 CTransform2D::SetTyp
Syntax:
int SetTyp(int T)
Beschreibung:
Legt den Typ der Transformation fest.Mögliche Parameterwerte für den Abbildungstyp und dessen
Bedeuting sind in der folgenden Tabelle aufgeführt.
Wert
0
Bedeutung
lineare Abbildung(Voreinstellung)
polare Koordinaten in kartesischem System. Die
X - Koordinaten beschreiben den Radius, die Y Koordinaten den Winkel des Ortsvektors zum
1
aktuellen Datenpunkt mit der X - Achse im
Polarsystem.Y -Werte werden im Bogenmaß
errechnet.
2
wie 1, jedoch Y - Werte im Gradmaß
Weibultransformation.Die X - Werte werden
logarithmisch , die Y - Werte
3
doppellogarithmisch abgebildet. Der zugrunde
liegende Logarithmnus ist der
Zehnerlogarithmus.
Polartransformation. Die X - Werte werden als
4
Radius, die Y - Werte als Winkel zur X - Achse
angezeigt. Y - Werte sind im Bogenmaß.
5
wie 4, jedoch Y - Werte im Bogenmaß.
Smith- Chart. Die Positive complexe Halbebene
6
(Re > 0) wird abgebildet auf den complexen
einheitskreis mit der Abbildung Z' = (z-1)/(z+1)
Gleichzeitig werden Vorbesetzungen für die X und Y - Bereiche vorgenommen.
Die Werte für die jeweiligen Transformationstypen sind :
Typ
1
2
3
4
5
6
x0
0
0
0
0.1
0
0
x1
100
100
100
100
100
100
Rückgabewert:
0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:
Klassenhierarchie , CTransform2D Übersicht
© XOn Siftware GmbH, 2008
y0
0
0
0
0.1
0.5
90
y1
100
2
360
99.9
0.5
90
193
Referenzhandbuch
1.2.4
Kurvenelemente
Das Konzept von X1 sieht vor, daß die Inhalte eines Diagramms (z.B. Kurven, Balken,... )
unabhängig vom eigentlichen Diagramm (Achsen, Ebene, Szene) sind.
Die nachfolgend beschriebenen Klassen sind die Programmierschnittstellen zu den
unterschidlichen Diagramminhalten. Allen Klassen gemeinsam ist eine große Menge von
Attributierungsfunktionen. Diese sind in der Basisklasse CPaintObj implementiert. Eine
Beschreibung der Funktionsweise dieser Attributierungsfunktionen findet sich in CPaintObj::
SetTraceAtt.
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
1.2.4.1
CBar2DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
· AddLayer
· RemoveLayer
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
194
1.2.4.1.1 CBar2DTrace::AddLayer
Syntax:
void AddLayer(int Idx,char* Name);
Parameter:
· Idx: Index an dem die neue Schicht eingefügt werden soll
· Name: Name der neuen Schicht
Beschreibung:
Fügt eine neue Schicht in eine Stapelbalkenkurve ein und macht diese Schicht aktiev. Folgende
Attributierungsbefehle beziehen sich dann auf diese Schicht.
Beispiel:
siehe CBar2DTrace::SetTraceAtt .
1.2.4.1.2 CBar2DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CBar2DTrace::SetTraceAtt .
1.2.4.1.3 CBar2DTrace::RemoveLayer
Syntax:
void RemoveLayer(int nLayer);
Parameter:
· nLayer: Index der Schicht
Beschreibung:
Entfernt eine Schicht aus einer Stapelbalkenkurve.
Beispiel:
siehe CBar2DTrace::SetTraceAtt .
1.2.4.1.4 CBar2DTrace::SetTraceAtt
Typ
ID
1200
Integer
1201
© XOn Siftware GmbH, 2008
Bedeutung
Wertebereich
Layer:
Dieses Attribut gibt den
aktiven Layer eines
mehrschichtigen
Stapelbalkens an.
Angaben wie
Schichtfarbe,
Schichtfüllmuster ...
beziehen sich dann auf
diese Schicht der
Stapelbalkenkurve
Orientierung:
Mit diesem Attribut
0,1
geben Sie an ob die
Balken vertikal (0) oder
195
Referenzhandbuch
1202
1203
Float
3200
4200
String
4201
Font
5200
Linienart
6200
Muster
7200
horizontal (1)
ausgerichtet werden.
Stapelung:
Mit diesem Attribut
legen Sie bei
Stapelbalken fest, ob
0,1
die Balken
nebeneinander (0) oder
übereinander (1)
gezeichnet werden
Beschriftungsmodus:
Legt fest ob die
Beschriftung der
Balkenschichten
transparent (0) oder
opaque (1) ist. Keine
0,1
Beschriftung erhalten
Sie, wenn Sie einen
leeren Formatstring
übergeben (Attribut
4200)
Balkenbreite in
Einheiten des
verwendeten
Diagramms
Balkenbeschriftung:
Formatstring für die
Höhenbeschriftung in
den Balken. Ein
Formatstring "%.1f" gibt
die Balkenhöhe mit
einer Nachkommastelle
aus
Schichtname:
Name der aktiven
Balkenschicht (siehe
1200). Dieser Name
wird in der Legende
Verwendet. Wird kein
Name eingetragen,
dann wird die Schicht
auch in der Legende
nicht beschrieben.
Font für die
Beschriftung in den
Balken
Balkenrand:
Linienart für die
umrandung der aktiven
Balkenschicht (siehe
1200)
Balkenmuster:
Füllmuster für die
Balken der aktiven
Schicht (siehe 1200)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
8200
Farbe
8201
8202
10000
Vector
10001
196
Balkenhintergrund:
Hintergrundfarbe für die
Balken der aktiven
Schicht (siehe 1200)
Farbe der Schrift für die
Beschriftung in den
Balken
Hintergrundfarbe der
Beschriftung in den
Balken
Koordinaten für die
Balkenmittelpunkte. Ist
die Ausrichtung der
Balken vertikal, dann
werden diese Werte als
X- Koordinaten
betrachtet, sonst als YKoordinate.
Balkenhöhen der
aktiven Schicht (siehe
1200)
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eine
Legende mit Namen LEG definiert. Die nachfolgende Methode zeichnet zweischichtige Balken von
zufälliger Höhe in das Diagramm ein.
int method::OnRun()
{
CBar2DTrace *pB=new CBar2DTrace();
pB->SetTraceAtt(3200,0.5);
pB->SetTraceAtt(4150,"AX");
pB->SetTraceAtt(4151,"AY");
pB->SetTraceAtt(1201,0);
pB->SetTraceAtt(1202,1);
pB->SetTraceAtt(1203,1);
pB->SetTraceAtt(3200,0.8);
pB->SetTraceAtt(8201,255,0,0);
pB->SetTraceAtt(10000,0.5,1.0,10L);
CVector V;
V.GaussWhiteNoise(10,5.0);
pB->AddLayer(0,"Männer");
pB->SetTraceAtt(10001,&V);
pB->SetTraceAtt(7200,0,0,0,0,255);
V.GaussWhiteNoise(10,5.0);
pB->AddLayer(1,"Frauen");
pB->SetTraceAtt(10001,&V);
pB->SetTraceAtt(7200,0,0,255,192,255);
LEG.Clear();
LEG.AddTrace(pB);
return 1;
}
© XOn Siftware GmbH, 2008
197
Referenzhandbuch
1.2.4.2
CBar3DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
· AddLayer
· RemoveLayer
1.2.4.2.1 CBar3DTrace::AddLayer
Syntax:
void AddLayer(int Idx,char* Name);
Parameter:
· Idx: Index an dem die neue Schicht eingefügt werden soll
· Name: Name der neuen Schicht
Beschreibung:
Fügt eine neue Schicht in eine Stapelbalkenkurve ein und macht diese Schicht aktiev. Folgende
Attributierungsbefehle beziehen sich dann auf diese Schicht.
Beispiel:
siehe CBar3DTrace::SetTraceAtt.
1.2.4.2.2 CBar3DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CBar3DTrace::SetTraceAtt .
1.2.4.2.3 CBar3DTrace::RemoveLayer
Syntax:
void RemoveLayer(int nLayer);
Parameter:
· nLayer: Index der Schicht
Beschreibung:
Entfernt eine Schicht aus einer Stapelbalkenkurve.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.4.2.4 CBar3DTrace::SetTraceAtt
Typ
ID
1260
Integer
1261
3260
Float
3261
String
4260
Linienart
6200
© XOn Siftware GmbH, 2008
Bedeutung
Layer:
Dieses Attribut gibt den
aktiven Layer eines
mehrschichtigen
Stapelbalkens an.
Angaben wie Schichtfarbe,
Schichtfüllmuster ...
beziehen sich dann auf
diese Schicht der
Stapelbalkenkurve
Layout:
Mit diesem Attribut stellen
sie die Darstellung der
Balken ein. Zur Auswahl
stehen
· Balken: Die Elemente
werden als Quader
dargestellt
· Zylinder: Die Elemente
werden als Zylinder
dargestellt
· Kegel: Die Elemente
werden als Kegel
dargestellt
· Band-X: Die Schichten
werden als Bänder
entlang der X-Achse
gezeichnet
· Band-Y: Die Schichten
werden als Bänder
entlang der Y-Achse
gezeichnet
Balkenbreite (X-Richtung)
in Einheiten des
verwendeten
Koordinatensystems
Balkentiefe (Y-Richtung) in
Einheiten des verwendeten
Koordinatensystems
Schichtname:
Name der aktiven
Balkenschicht (siehe
1260). Dieser Name wird
in der Legende Verwendet.
Wird kein Name
eingetragen, dann wird die
Schicht auch in der
Legende nicht
beschrieben.
Balkenrand:
Linienart für die
umrandung der aktiven
Wertebereich
0: Balken
1: Zylinder
2: Kegel
3: Band-X
4: Band-Y
198
199
Referenzhandbuch
Muster
7200
Farbe
8200
10060
Vector
10061
Matrix
11060
Balkenschicht (siehe 1260)
Balkenmuster:
Füllmuster für die Balken
der aktiven Schicht (siehe
1260)
Balkenhintergrund:
Hintergrundfarbe für die
Balken der aktiven Schicht
(siehe 1260)
Koordinaten der
Balkenmitte in X- Richtung
Koordinaten der
Balkenmitte in Y- Richtung
Balkenhöhen der aktiven
Schicht (siehe 1260)
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument sind eine Szene Namens SZENE eine Legende mit Namen LEG definiert.
Die nachfolgende Methode zeichnet in die Szene dreischichtige Stapelbalken ein.
int method::OnRun()
{
double[100];
int i,j;
CBar3DTrace *pB=new CBar3DTrace();
pB->SetTraceAtt(4153,"SZENE");
pB->SetTraceAtt(3260,0.7);
pB->SetTraceAtt(3261,0.7);
for (i=0;i<10;i++)
for (j=0;j<10;j++)
f[10*i+j]=(4.5-i)*(4.5-j)/5;
pB->AddLayer(0,"Schicht- Arbeit");
pB->SetTraceAtt(6260,1,0,255,255,255);
pB->SetTraceAtt(7260,0,0,0,0,255);
pB->SetTraceAtt(11060,f,10,10);
for (i=0;i<100;i++)
f[i]=ran1(&j)-0.5;
pB->AddLayer(0,"Schicht- Dienst");
pB->SetTraceAtt(6260,1,0,255,255,255);
pB->SetTraceAtt(7260,0,0,0,255,0);
pB->SetTraceAtt(11060,f,10,10);
for (i=0;i<100;i++)
f[i]=ran1(&j)-0.5;
pB->AddLayer(0,"Schicht- im Schacht");
pB->SetTraceAtt(6260,1,0,255,255,255);
pB->SetTraceAtt(7260,0,0,255,0,0);
pB->SetTraceAtt(11060,f,10,10);
LEG.Clear();
LEG.AddTrace(pB);
return 1;
}
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.4.3
CGraf3DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.3.1 CGraf3DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CGraf3DTrace::SetTraceAtt.
1.2.4.3.2 CGraf3DTrace::SetTraceAtt
Typ
ID
1280
Wertebereich
0: konstant
1: linear
2: Bikubisch
0: Oberfläche
1: Wasserfall
2: Gitter
0: diskret
1: kontinuierlich
1281
Style
Darstellungsart
1282
Fill
1283
Wasserfall X
Wasserfalldiagramm
entlang der X-Achse
darstellen Dieses
0,1
Attribut hat nur
Auswirkungen, wenn
als Darstellungsart
Wasserfall gewählt ist.
1284
Wasserfall Y
Wasserfalldiagramm
entlang der Y-Achse
darstellen. Dieses
Attribut hat nur
Auswirkungen, wenn
als Darstellungsart
Integer
© XOn Siftware GmbH, 2008
Bedeutung
Interpolationsfunktion
Dieses Attribut gibt an,
mit welcher Funktion
die Stützpunkte einer
Kurve interpoliert
werden
0,1
200
201
Referenzhandbuch
1285
1286
Double
2280
Wasserfall gewählt ist.
Projektion
Projektion der
Oberfläche auf die X/YEbene der Szene. Die
Projektion zeigt die
Färbung der
Oberfläche als Intensity
Chart. Dieses Attribut
hat nur Auswirkungen,
wenn als
Darstellungsart
Oberfläche gewählt ist.
Symbol
Dieses Attribut gibt an,
ob und mit welchem
Symbol die Stützstellen
markiert werden
Symbolgröße
Dieses Attribut gibt an,
wie groß die Symbole
an den Stützpunkten
gezeichnet werden
Wasserfall X, Name
4281
Wasserfall Y, Name
6280
Linienart der Gitterlinien
Linienart Wasserfall X
Dieses Attribut legt die
WasserfallBegrenzungslinien für
Wasserfalldiagramme
entlang der X-Achse
fest.
Linienart Wasserfall Y
Dieses Attribut legt die
WasserfallBegrenzungslinien für
Wasserfalldiagramme
entlang der Y-Achse
fest.
String
Linienart
6282
Color
8280
0: keine Markierung
1: Würfel
2: Kugel
3: Kegel
4: Zylinder
Prozentuale Größe (0100) in Relation zur
Szene
Bezeichner des
Wasserfalldiagramms
in X-Richtung.
Erscheint in der
Legende
Bezeichner des
Wasserfalldiagramms
in Y-Richtung.
Erscheint in der
Legende
4280
6281
0,1
Symbolfarbe
Wenn sie die
Stützpunkte mit einem
Symbol markieren
(Attribut 1286), können
sie über dieses Attribut
die Symbolfarbe
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
8281
Color
8282
10080
Vector
10081
Matrix
11080
ColorMap
12080
Material
12081
vorgeben
Wasserfall X Farbe
Farbe der
Wasserfallfläche
entlang der X- Achse
Wasserfall Y Farbe
Farbe der
Wasserfallfläche
entlang der Y- Achse
X- Koordinaten (Xi) der
Oberflächenstzpunkte
Y- Koordinaten (Yj) der
Oberflächenstzpunkte
Z- Koordinaten (Zi,j)
der
Oberflächenstzpunkte
Ein Stützpunkt Pi,j ist
definiert als (Xi,Yj,Zi,j)
Farbtabelle zur färbung
der Oberfläche.
Eigenschaften der
dargestellten
Oberfläche.
Mit diesem Parameter
können sie
Eigenschaften der
dargestellten
Oberfläche einstellen.
Dies sind z.B.
metallischer Glanz,
Reflektion,
Leuchtstärke, Mattigkeit
...
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument ist eine Szene mit Namen SZENE und eine Legende mit Namen LEG
definiert. Die nachfolgende Methode zeichnet einen Sombrero in die Szene.
int method::OnRun()
{
double z[50][50];
double x,y,d;
//Daten erzeugen
for (int i=0;i<50;i++)
{
x=i/49.0-0.5;
for (int j=0;j<50;j++)
{
y=j/49.0-0.5;
d=18*sqrt(x*x+y*y);
z[i][j]=cos(d)*2/(d+2.0);
}
}
//Alte Darstellung entfernen
LEGENDE.Clear();
//neuen 3D- Graf anlegen
CGraf3DTrace *pG=new CGraf3DTrace();
© XOn Siftware GmbH, 2008
202
203
Referenzhandbuch
//3D-Graf parametrieren
pG->SetTraceAtt(11080,z,50,50);
pG->SetTraceAtt(4153,"SZENE");
//3D-Graf mit der Legende verknüpfen
LEGENDE.AddTrace(pG);
//Darstellung der Seite aktualisieren
GetDocument()->Invalidate();
return 1;
}
1.2.4.4
CKurve2DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.4.1 CKurve2DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CKurve2DTrace::SetTraceAtt .
1.2.4.4.2 CKurve2DTrace::SetTraceAtt
Typ
ID
1150
Integer
1151
Bedeutung
Interpolationsfunktion
Dieses Attribut gibt an,
mit welcher Funktion
die Stützpunkte einer
Kurve interpoliert
werden
Punktmarkierung:
Mit diesem Attribut wird
das Symbol der
Punkmarkierung
vorgegeben, falls es
sich um eines der
Zeichen 32,...,47 aus
dem Font X1-Sym
handelt. Mit dem
Attribut 9220 können
Wertebereich
0: konstant
1: linear
2: Spline
3: Akima
0,...,15
0: keine Markierung
1: Quadrat
.....
15: Linie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1152
1155
Linienart
6220
6221
Muster
7220
8220
Farbe
8221
Symbol
9220
10020
Vector
10021
Sie ebenfalls das
Symbol festlegen.
Punktgröße:
Größe des Symbols zur
Punktmarkierung in
[1/100 mm]. Siehe auch
Attribut 9220.
Linienfüllung:
Gibt an, ob bei
unterbrochenen
Linientypen (gestrichelt,
gepunktet ..., siehe
Attribut 6221) die
Zwischenräume mit der
Füllfarbe (Attribut 8221)
gefüllt werden sollen.
Linienart für die
Umrandung der
Markierungssymbole
Linienart für die Kurve
Füllmuster für die
Markierungssymbole
Hintergrundfarbe für die
Markierungssymbole
Füllfarbe für
unterbrochene Linien
(siehe Attribut 1155)
Symbol für die
Markierung der
Stützpunkte
Koordinaten der
Stützpunkte in XRichtung
Koordinaten der
Stützpunkte in YRichtung
204
0: Zwischenräume nicht
füllen
1: Zwischenräume
farbig füllen
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eine
Legende mit Namen LEG definiert. Die nachfolgende Methode zeichnet eine Zufallskurve in das
Diagramm ein. Die Stützpunkte werden mit Kaffeetassen markiert.
int method::OnRun()
{
CVector Y;
CKurve2DTrace *pK=new CKurve2DTrace();
LEG.Clear();
// Diagramm leeren
Y.GaussWhiteNoise(10,10.0);
// Zufallszahlen
pK->SetTraceAtt(1150,3);
pK->SetTraceAtt(1152,300);
pK->SetTraceAtt(4150,"AX");
© XOn Siftware GmbH, 2008
205
Referenzhandbuch
// Diagrammbezug X
pK->SetTraceAtt(4151,"AY");
// Diagrammbezug Y
pK->SetTraceAtt(4154,"Java- Test");
pK->SetTraceAtt(10020,0.0,1.0,10L);
//X-Werte implizit
pK->SetTraceAtt(10021,&Y);
//Y-Werte explizit
pK->SetTraceAtt(9220,"X1-Sym",132);
// Symbol
pK->SetTraceAtt(7220,0,0,255,0,0);
pK->SetTraceAtt(6220,1,0,0,0,255);
pK->SetTraceAtt(6221,1,40,0,255,0);
LEG.AddTrace(pK);
return 1;
}
1.2.4.5
CKurve3DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.5.1 CKurve3DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CKurve3DTrace::SetTraceAtt .
1.2.4.5.2 CKurve3DTrace::SetTraceAtt
Typ
ID
Bedeutung
Wertebereich
1251
Interpolationsfunktion
Dieses Attribut gibt an,
mit welcher Funktion
die Stützpunkte einer
Kurve interpoliert
werden
0: konstant
1: linear
2: Spline
3: Akima
1252
Symbol
Dieses Attribut gibt an,
ob und mit welchem
Symbol die Stützstellen
0: keine Markierung
1: Würfel
2: Kugel
3: Kegel
Integer
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Double
2250
6250
6251
Linienart
6252
6253
8250
Color
markiert werden
Symbolgröße
Dieses Attribut gibt an,
wie groß die Symbole
an den Stützpunkten
gezeichnet werden
Linienart für die
räumliche Kurve. Soll
die räumliche Kurve
nicht gezeichnet
werden sondern nur
ihre Projektionen auf
die
Begrenzungsflächen
der verwendeten
Szene, dann tragen Sie
als Linienart keine Linie
ein.
Linienart für die
Projektion der
räumlichen Kurve auf
die X/Y- Ebene. Soll die
Projektion nicht
gezeichnet werden,
dann tragen Sie als
Linienart keine Linie
ein.
Linienart für die
Projektion der
räumlichen Kurve auf
die Y/Z- Ebene. Soll die
Projektion nicht
gezeichnet werden,
dann tragen Sie als
Linienart keine Linie
ein.
Linienart für die
Projektion der
räumlichen Kurve auf
die X/Z- Ebene. Soll die
Projektion nicht
gezeichnet werden,
dann tragen Sie als
Linienart keine Linie
ein.
Symbolfarbe
Wenn sie die
Stützpunkte mit einem
Symbol markieren
(Attribut 1252), können
sie über dieses Attribut
die Symbolfarbe
vorgeben
Linienart für die
Projektion der
© XOn Siftware GmbH, 2008
206
4: Zylinder
Prozentuale Größe (0100) in Relation zur
Szene
207
Referenzhandbuch
10050
Vector
10051
10052
räumlichen Kurve auf
die Z/X- Ebene. Soll die
Projektion nicht
gezeichnet werden,
dann tragen Sie als
Linienart keine Linie
ein.
X- Koordinaten der
Kurvenstützpunkte
Y- Koordinaten der
Kurvenstützpunkte
Z- Koordinaten der
Kurvenstützpunkte
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument ist eine Szene mit Namen SZENE und eine Legende mit Namen LEG
definiert. Die nachfolgende Methode zeichnet eine Schraubenlinie in die Szene und Projeziert die
Schraubenlinie auf die Begrenzungsflächen.
int method::OnRun()
{
CKurve3DTrace *pT=new CKurve3DTrace();
double X[1000],Y[1000];
for (int i=0;i<1000;i++)
{
X[i]=cos(i*0.03);
Y[i]=sin(i*0.03);
}
pT->SetTraceAtt(4153,"SZENE");
pT->SetTraceAtt(4154,"3D-Kurve");
pT->SetTraceAtt(10050,X,1000L);
// X explizit
pT->SetTraceAtt(10051,Y,1000L);
// Y explizit
pT->SetTraceAtt(10052,-1.0,0.002,1000L);
// Z implizit
pT->SetTraceAtt(6250,1,50,0,0,0);
// alle Projektionen
pT->SetTraceAtt(6251,1,100,255,0,0);
pT->SetTraceAtt(6252,1,100,0,255,0);
pT->SetTraceAtt(6253,1,100,0,0,255);
LEG.Clear();
LEG.AddTrace(pT);
return 1;
}
1.2.4.6
CPaintObj
CPaintObj ist die Basisklasse aller Kurventypen. In diese Klasse sind alle Attributierungsmethoden
implementiert. Eine Beschreibung finden Sie auf den folgenden Seiten. Jedoch bietet diese Klasse
nur für wenige allgemeine Attribute ein Interface (Diagrammbezug, Name). Die allermeisten
Attribute werden von den abgeleiteten Klassen zur Verfügung gestellt. Eine Beschreibung finden
Sie in den entsprechenden Kapiteln.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
208
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.6.1 CPaintObj::GetTraceAtt
Syntax:
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
int GetTraceAtt(int
nID,short* nVal);
nID,int* nVal);
nID,float* nVal);
nID,double* nVal);
nID,char* nVal,int nSize);
nID,char* nName,int* nHeight,int* Mode,int* nAng);
nID,int* nStyle,int* nWidth,int* nR,int* nG,int* nB);
nID,int* nStyle,int* nHatch,int* nR,int* nG,int* nB);
nID,int* nR,int* nG,int* nB);
nID,char* face,int* symb);
nID,CColorMap* pMap);
Beschreibung:
Die Funktion GetTraceAtt dient zum Lesen verschiedenster Attribute. Für die unterschiedlichen
Typen von Attributen gibt es die Methode mit entsprechendem Header.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
© XOn Siftware GmbH, 2008
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
209
Referenzhandbuch
1.2.4.6.2 CPaintObj::SetTraceAtt
Syntax:
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
nID,short nVal);
nID,int nVal);
nID,float nVal);
nID,double nVal);
nID,char *nVal);
nID,char *nName,int nHeight,int Mode,int nAng);
nID,int nStyle,int nWidth,int nR,int nG,int nB);
nID,int nStyle,int nHatch,int nR,int nG,int nB);
nID,int nR,int nG,int nB);
nID,char* face,int symb)
nID,double v0,double dv,int len);
nID,double* pf,int len);
nID,CF8Vector* pV);
nID,double v0,double dvc,double dvr,int lenc,int lenr);
nID,double* pf,int lenc,int lenr);
nID,CF8Matrix* pM);
nID,CColorMap* pMap);
Beschreibung:
Die Methode SetTraceAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute eines
Grafikelementes vom gleichen Typ sind, gibt es diese Methode mit verschiedenen
Parameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit der
Beschreibung ihrer Parameter.
Siehe auch CGrafNode::SetNodeAtt.
Rückgabewert:
Die Funktion liefert einen Integerwert zurück. Ist der Wert kleiner 0, ist ein Fehler aufgetreten:
Wert
-1
-2
-3
-4
-5
Beschreibung
allgemeiner, undefinierbarer Fehler
ID-Nummer unzulässig
zu lesende Daten unzulässig oder nicht definiert
zu schreibender Wert außerhalb des erlaubten
Bereiches
unzulässiger Formatstring (bei Übergabe von
Formatstrings)
siehe auch:
· Integer
· int
· Float
· String
· Font
· Stift
· Füllmuster
· Farben
· Symbol
· Vector
· Matrix
· ColorMap
Liste möglicher Parameterwerte:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Typ
ID
1153
Integer
1154
4150
4151
String
4152
4153
4154
© XOn Siftware GmbH, 2008
Bedeutung
Darstellungsreferenz
Dieses Attribut gibt an,
bezüglich welches Typs
von Koordinaten das
Objekt dargestellt
werden soll. Mögliche
Werte sind
Sichtbarkeit
Mit diesem Attribut
kann man das Objekt
ein- oder ausblenden
X-Achse
Name der X-Achse,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
Außerdem muß eine YAchse angegeben
werden.
Y-Achse
Name der Y-Achse,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
Außerdem muß eine XAchse angegeben
werden.
2D-Szene
Name der 2D-Szene,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
3D-Szene
Name der 3D-Szene,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei dreidimensionalen
Objekten Sinn.
Name
Dieser Name dient
dazu das Objekt zu
identifizieren bei einem
Zugriff mit der
Wertebereich
0: kein Bezug
1: Achsenpaar
2: 2D-Szene (Plane)
3: 3D- Szene
0: unsichtbar
1: sichtbar
210
211
Referenzhandbuch
Methode
CGraf2DNode::
GetTrace(char *Name).
Weiterhin erscheint der
Name in der Legende.
1.2.4.6.3 Attribute
1.2.4.6.3.1 Attribute
Attribute:
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,
sowie deren Voreinstellungen finden Sie in den Beschreibungen der abgeleiteten Klassen. Die
Basisklasse CPaintObj bietet nur für einige allgemeine Attribute ein Interface. Diese Attribute
können von allen abgeleiteten Klassen verwendet werden.
Typ
ID
1153
Integer
1154
4150
String
4151
4152
Bedeutung
Darstellungsreferenz
Dieses Attribut gibt an,
bezüglich welches Typs
von Koordinaten das
Objekt dargestellt
werden soll. Mögliche
Werte sind
Sichtbarkeit
Mit diesem Attribut
kann man das Objekt
ein- oder ausblenden
X-Achse
Name der X-Achse,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
Außerdem muß eine YAchse angegeben
werden.
Y-Achse
Name der Y-Achse,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
Außerdem muß eine XAchse angegeben
werden.
2D-Szene
Name der 2D-Szene,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Wertebereich
0: kein Bezug
1: Achsenpaar
2: 2D-Szene (Plane)
3: 3D- Szene
0: unsichtbar
1: sichtbar
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
4153
4154
212
Parameter macht nur
bei zweidimensionalen
Objekten Sinn.
3D-Szene
Name der 3D-Szene,
bezüglich der das
Objekt gezeichnet
werden soll. Dieser
Parameter macht nur
bei dreidimensionalen
Objekten Sinn.
Name
Dieser Name dient
dazu das Objekt zu
identifizieren bei einem
Zugriff mit der
Methode
CGraf2DNode::
GetTrace(char *Name).
Weiterhin erscheint der
Name in der Legende.
1.2.4.6.3.2 Farben
Syntax:
int SetTraceAtt(int nID,int nR,int nG,int nB);
Beschreibung:
setzt eine Farbe.
Parameter:
nID: ID-Nummer des Attributes (siehe Tabelle)
nR: Schraffurfarbe Rotanteil (0..255)
nG: Schraffurfarbe Grünanteil (0..255)
nB: Schraffurfarbe Blauanteil (0..255)
Hinweis:
Mit der Definition von Farbwerten über die RGB-Werte stehen die gesamten 16.7 Millionen Farben
eines True-Color-Systems zur Verfügung. Da es auf Systemen mit geringerer Farbauflösung zu
Problemen bei der Darstellung von Mischfarben kommen kann, ist in diesem Falle die
Verwendung von Systemfarben vorzuziehen. Diese werden immer korrekt dargestellt.
Einige Systemfarben:
Farbe
Rot-Wert
Grün-Wert
Blau-Wert
schwarz
blau
grün
aquamarin
rot
lila
braun
grau
hellgrau
0
0
128
128
0
0
128
128
192
0
128
0
128
0
128
0
128
192
© XOn Siftware GmbH, 2008
0
0
0
0
128
128
128
128
192
213
Referenzhandbuch
hellblau
hellgrün
cyan
hellrot
magenta
gelb
weiß
0
0
0
255
255
255
255
0
255
255
0
0
255
255
255
0
255
0
255
0
255
1.2.4.6.3.3 Float
Syntax:
int SetTraceAtt(int nID,float nVal);
Beschreibung:
setzt eine Gleitkommazahl-Attribut
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
1.2.4.6.3.4 Font
Syntax:
int SetTraceAtt(int nID,char *nName,int nHeight,int Mode,int nAng);
Beschreibung:
setzt ein Schriftart-Attribut
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nName: Name der Schriftart (z.B. "Arial"). Bitte verwenden Sie nur Truetype-Schriftarten
· nHeight: Größe der Schriftart in Punkten
· nMode:
Bit1 fett
Bit2 kursiv
Bit3 unterstrichen
Bit4 durchgestrichen
· nAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechter
Darstellung
1.2.4.6.3.5 Füllmuster
Syntax:
int SetTraceAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);
Beschreibung:
setzt ein Füllmuster.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nStyle: 0 = ohne Schraffur, 1 = mit Schraffur, 2: transparent
· nHatch: Schraffurtyp (siehe Tabelle)
· nR: Schraffurfarbe Rotanteil (0..255)
· nG: Schraffurfarbe Grünanteil (0..255)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
214
· nB: Schraffurfarbe Blauanteil (0..255)
Bedeutung des Parameters nHatch:
nHatch
Schraffur
0
1
2
3
4
5
diagonal -45°
senkrecht gekreuzt
diagonal gekreuzt
diagonal 45°
horizontal
vertikal
1.2.4.6.3.6 Integer
Syntax:
int SetTraceAtt(int nID,int nVal);
Beschreibung:
setzt ein ganzzahliges Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
1.2.4.6.3.7 Long
Syntax:
int SetTraceAtt(int nID,long nVal);
Beschreibung:
setzt einen ganzzahliges (langes) Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Wert
1.2.4.6.3.8 Matrix
Syntax:
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
nID,double v0,double dvc,double dvr,long lenc,long lenr);
nID,double* pf,int lenc,int lenr);
nID,CF8Matrix* pM);
nID,char* Pool);
Beschreibung:
Implizite Matrix:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· v0: Anfangswert
· dvc: Offset in Spaltenrichtung
· dvr: Offset in Zeilenrichtung
· lenc: Anzahl der Spalten
· lenr: Anzahl der Zeilen
Explizite Matrix:
© XOn Siftware GmbH, 2008
215
Referenzhandbuch
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pf: Zeiger auf ein Array von double- Werten. Dieses Array muß
· mindestens lenc*lenr werte enthalten
· lenc: Anzahl der Spalten
· lenr: Anzahl der Zeilen
oder
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pM: Zeiger auf ein Objekt vom Typ CF8Matrix
Matrix aus dem Datenpool:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· Pool: Name des Datenpoolelementes vom Typ CF8Matrix
1.2.4.6.3.9 Stift
Syntax:
int SetTraceAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);
Beschreibung:
setzt eine Linienart.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nStyle: Linientyp (0..5) siehe Tabelle
· nWidth: Linienstärke in Hundertstel Millimetter
· nR: Linienfarbe Rotanteil (0..255)
· nG: Linienfarbe Grünanteil (0..255)
· nB: Linienfarbe Blauanteil (0..255)
Bedeutung von Linienart-Attributen:
Wert
0
1
2
3
4
5
Bedeutung
keine Linie
durchgezogene Linie
gestrichelte Linie
gepunktete Linie
Strich- Punkt- Linie
Strich- Punkt- Punkt- Linie
Diese Linienarten lassen sich nur für Linien der Dicke 0 einstellen, Andernfalls werden die Linien
durchgezogen. Im Falle einer Liniendicke von0 wird die dünnste mögliche Linie des
Ausgabemediums verwendet.
1.2.4.6.3.10 String
Syntax:
int SetTraceAtt(int nID,char *nVal);
Beschreibung:
setzt ein Text-Attribut.
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· nVal: der zu setzende Text
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
216
1.2.4.6.3.11 Symbol
Syntax:
int SetTraceAtt(int nID,char* face,int symb)
Parameter:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· face: Name des Fonts. Akzeptiert werden nur TrueType-Fonts
· symb: Zeichen innerhalb des Fonts
Beschreibung:
Mit Dieser Methode können Sie beliebige Zeichen aus TrueType- Fonts als Markierungssymbole
angeben. Wenn Sie Symbole möglichst schnell ausgeben möchten, dann verwenden Sie eines der
Zeichen 32-47 aus dem Font X1-Sym.
1.2.4.6.3.12 Vector
Syntax:
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
int SetTraceAtt(int
nID,double v0,double dv,long len);
nID,double* pf,long len);
nID,CF8Vector* pV);
nID,char* Pool);
Beschreibung:
Impliziten Vectors:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· v0: Anfangswert
· dv: Offset
· len: Anzahl der Werte
Expliziter Vector:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pf: Zeiger auf ein Array von double- Werten
· len: Anzahl der Werte im Array pf
oder
· nID: ID-Nummer des Attributes (siehe Tabelle)
· pv: Zeiger auf ein Objekt vom Typ CVector
Vector aus dem Datenpool:
· nID: ID-Nummer des Attributes (siehe Tabelle)
· Pool: Name des Datenpoolelementes vom Typ CVector
1.2.4.7
CPPolyTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
© XOn Siftware GmbH, 2008
217
Referenzhandbuch
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.7.1 CPPolyTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CPPolyTrace::SetTraceAtt .
1.2.4.7.2 CPPolyTrace::SetTraceAtt
Typ
ID
Integer
1240
Linienart
6240
Muster
7240
Farbe
8240
10040
Vector
10041
10042
Bedeutung
Wertebereich
Layout:
- Bit1: 0 Winding, 1
Alternate
0,...,3
- Bit2: 0 umgandet, 1
gefüllt
Polygonrand:
Linienart für die
Umrandung der
Polygone
Polygonmuster:
Muster für die Füllung
der Polygone
Hintergrundfarbe:
Hintergrundfarbe für die
Füllung der Polygone
Polygonkoordinaten in
X- Richtung
Polygonkoordinaten in
Y- Richtung
Längen der einzelnen
Koordinatenvektoren
bei PolyPolygonen
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eine
Legende mit Namen LEG definiert. Die nachfolgende Methode zeichnet zehn gefüllte Polygone im
alternierend, d.h Schnittflächen werden nicht gefüllt.
int method::OnRun()
{
double X[1000],
Y[1000];
for (int i=0;i<10;i++)
for (int j=0;j<100;j++)
{
X[100*i+j]=i+0.5*(2+cos(j/3.183))*
(0.2+i*0.1)*cos(j/15.91);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Y[100*i+j]=i+0.5*(2+cos(j/3.183))*
(0.2+i*0.1)*sin(j/15.91);
}
CPPolyTrace *pPP=new CPPolyTrace();
pPP->SetTraceAtt(1240,3);
pPP->SetTraceAtt(4154,"PolyPolygon");
pPP->SetTraceAtt(4150,"AX");
pPP->SetTraceAtt(4151,"AY");
pPP->SetTraceAtt(6240,1,0,255,0,0);
pPP->SetTraceAtt(7240,1,0,255,255,255);
pPP->SetTraceAtt(8240,255,0,255);
//Koordinaten der Polygone in einem Array
pPP->SetTraceAtt(10040,X,1000L);
pPP->SetTraceAtt(10041,Y,1000L);
//Einzellängen der Polygone: 100,...,100 (zehn mal)
pPP->SetTraceAtt(10042,100.0,0.0,10L);
LEG.Clear();
LEG.AddTrace(pPP);
return 1;
}
1.2.4.8
CVect2DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.8.1 CVect2DTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CVect2DTrace::SetTraceAtt .
1.2.4.8.2 CVect2DTrace::SetTraceAtt
Typ
ID
6210
Linienart
6211
© XOn Siftware GmbH, 2008
Bedeutung
Pfeilstift:
Diese Linienart wird
verwendet um das
Pfeilsymbol zu
umranden
Zentrumsstift:
Wertebereich
218
219
Referenzhandbuch
7210
Muster
7211
8210
Farbe
8211
9210
Symbol
9211
10010
Vector
10011
11010
Matrix
11011
Diese Linienart wird
verwendet um das
Symbol an der
Pfeilmitte zu umranden
Pfeilmuster:
Diese Muster wird
verwendet um das
Pfeilsymbol zu füllen
Zentrumsmuster:
Diese Muster wird
verwendet um das
Symbol an der
Pfeilmitte zu füllen
Pfeilfarbe:
Hintergrundfarbe für
das Pfeilsymbol
Zentralfarbe:
Hintergrundfarbe für
das Symbol an der
Pfeilmitte
Pfeilsymbol:
Dieses Symbol kann in
der Größe verändert
und um den Gitterpunkt
rotiert werden
Zentralsymbol:
Dieses Symbol wird am
Gitterpunkt gezeichnet.
Es markiert die
Pfeilmitte
Koordinaten der
Gitterpunkte in XRichtung
Koordinaten der
Gitterpunkte in YRichtung
Pfeillänge in
metrischen Einheiten
des verwendeten
Diagramms.
Pfeilwinkel zur X-Achse
im Bogenmaß
Weitere Attribute siehe CPaintObj::SetTraceAtt .
Beispiel:
In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eine
Legende mit Namen LEG definiert. Die nachfolgende Methode zeichnet in das Diagramm ein
Vektorfeld mit variabler Länge und Richtung ein.
int method::OnRun()
{
int i,j;
double f[10][10];
for (i=0;i<10;i++)
for (j=0;j<10;j++)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
f[i][j]=6.28*(i*j)/99.0;
CVect2DTrace *pVT=new CVect2DTrace();
pVT->SetTraceAtt(4154,"wohin gehts");
pVT->SetTraceAtt(4150,"AX");
pVT->SetTraceAtt(4151,"AY");
pVT->SetTraceAtt(10000,0.0,1.0,10);
pVT->SetTraceAtt(10001,0.0,1.0,10);
pVT->SetTraceAtt(11010,0.0,0.05,0.05,10,10);
pVT->SetTraceAtt(11011,f,10,10);
pVT->SetTraceAtt(3210,0.8);
pVT->SetTraceAtt(1213,8);
pVT->SetTraceAtt(1212,50);
pVT->SetTraceAtt(6210,1,0,0,0,0);
pVT->SetTraceAtt(7210,0,0,0,0,0);
pVT->SetTraceAtt(6211,1,0,255,0,0);
pVT->SetTraceAtt(9210,"X1-Sym",68);
LEG.Clear();
LEG.AddTrace(pVT);
return 1;
}
1.2.4.9
CWhiskTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnen
Klassen:
Methoden:
· SetTraceAtt
· GetTraceAtt
1.2.4.9.1 CWhiskTrace::GetTraceAtt
Syntax:
Für die verschiedenen Parameterleisten siehe CPaintObj::GetTraceAtt .
Beschreibung:
Die Liste der Attribute findet sich in CWhiskTrace::SetTraceAtt .
1.2.4.9.2 CWhiskTrace::SetTraceAtt
Typ
ID
1230
Integer
1231
Float
© XOn Siftware GmbH, 2008
3230
Bedeutung
Wertebereich
Layout:
Bit 0: Intervall
0,...,3
Bit 1: Whisker
Symbolgröße in [1/100
mm]
Breite der Whiskerbox
220
221
Referenzhandbuch
3231
4230
4231
String
4232
4233
4234
6230
6231
Linienart
6232
6233
6234
6235
in Einheiten des
verwendeten
Koordinatensystems
Einrückung in der
Whiskermitte in [%]
Name des oberen
Intervallsymbols für die
Legende. Wird kein
Name angegeben,
dann wird das Symbol
nicht in der Legende
beschrieben.
Name des mittleren
Intervallsymbols für die
Legende. Wird kein
Name angegeben,
dann wird das Symbol
nicht in der Legende
beschrieben.
Name des unteren
Intervallsymbols für die
Legende. Wird kein
Name angegeben,
dann wird das Symbol
nicht in der Legende
beschrieben.
Name des oberen
Whiskerfeldes für die
Legende. Wird kein
Name angegeben,
dann wird das Symbol
nicht in der Legende
beschrieben.
Name des unteren
Whiskerfeldes für die
Legende. Wird kein
Name angegeben,
dann wird das Symbol
nicht in der Legende
beschrieben.
Stift für die Umrandung
des oberen
Intervallsymbols
Stift für die Umrandung
des mittleren
Intervallsymbols
Stift für die Umrandung
des unteren
Intervallsymbols
Stift für die Intervallinie
Stift für die Umrandung
der oberen Whiskerbox
Stift für die Umrandung
der unteren
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
7230
7231
Muster
7232
7233
7234
8230
8231
Farbe
8232
8234
8235
9230
Symbol
9231
9232
10030
10031
10032
Vector
10033
10034
10035
10036
Whiskerbox
Füllmuster für das
obere Intervallsymbol
Füllmuster für das
mittlere Intervallsymbol
Füllmuster für das
untere Intervallsymbol
Füllmuster für die obere
Whiskerbox
Füllmuster für die
untere Whiskerbox
Hintergrundfarbe für
das obere
Intervallsymbol
Hintergrundfarbe für
das mittlere
Intervallsymbol
Hintergrundfarbe für
das untere
Intervallsymbol
Hintergrundfarbe der
oberen Whiskerbox
Hintergrundfarbe der
unteren Whiskerbox
Oberes Intervallsymbol
Mittleres
Intervallsymbol
Unteres Intervallsymbol
X- Koordinaten
Untere
Intervallkoordinate
Mittlere
Intervallkoordinate
Obere
Intervallkoordinate
Unterer
Whiskerboxwert
Mittlerer
Whiskerboxwert
Oberer Whiskerboxwert
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:
In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eine
Legende mit Namen LEG definiert. Die nachfolgende Methode zeichnet in das Diagramm eine
Boxwhiskerkurve mit Intervall.
int method::OnRun()
{
double v0[10],v1[10],v2[10],v3[10],v4[10],v5[10],v;
int j;
//Zufallsdaten erzeugen
© XOn Siftware GmbH, 2008
222
223
Referenzhandbuch
for (int i=0;i<10;i++)
{
v=10+25*ran1(&j);
v0[i]=v-10*ran1(&j);
v1[i]=v;
v2[i]=v+10*ran1(&j);
v+=6*ran1(&j)-3;
v3[i]=v-8*ran1(&j);
v4[i]=v;
v5[i]=v+8*ran1(&j);
}
CWhiskTrace* pWT=new CWhiskTrace();
pWT->SetTraceAtt(1230,3);
pWT->SetTraceAtt(1231,200);
pWT->SetTraceAtt(3230,7.0);
pWT->SetTraceAtt(4154,"Whisker&Intervall");
//Diagrammbezug
pWT->SetTraceAtt(4150,"AX");
// X-Achse
pWT->SetTraceAtt(4151,"AY");
// Y-Achse
pWT->SetTraceAtt(4230,"Maximalwert");
pWT->SetTraceAtt(4231,"Mittelwert");
pWT->SetTraceAtt(4232,"Minimalwert");
pWT->SetTraceAtt(4233,"50-90%");
pWT->SetTraceAtt(4234,"10-50%t");
//Daten übergeben
pWT->SetTraceAtt(10030,10.0,10.0,10L);
pWT->SetTraceAtt(10031,v0,10L);
pWT->SetTraceAtt(10032,v1,10L);
pWT->SetTraceAtt(10033,v2,10L);
pWT->SetTraceAtt(10034,v3,10L);
pWT->SetTraceAtt(10035,v4,10L);
pWT->SetTraceAtt(10036,v5,10L);
//Layout von Intervall und Box
pWT->SetTraceAtt(6234,1,0,255,0,0);
pWT->SetTraceAtt(7234,0,0,255,255,0);
pWT->SetTraceAtt(8234,255,255,255);
pWT->SetTraceAtt(6235,1,0,0,0,255);
pWT->SetTraceAtt(7235,0,1,255,0,255);
pWT->SetTraceAtt(8235,255,255,255);
pWT->SetTraceAtt(9230,"X1-Sym",39);
pWT->SetTraceAtt(6230,1,0,128,0,0);
pWT->SetTraceAtt(7230,0,0,255,192,192);
pWT->SetTraceAtt(9231,"X1-Sym",44);
pWT->SetTraceAtt(6231,1,0,0,128,0);
pWT->SetTraceAtt(7231,0,0,192,255,192);
pWT->SetTraceAtt(9232,"X1-Sym",38);
pWT->SetTraceAtt(6232,1,0,0,0,128);
pWT->SetTraceAtt(7232,0,0,192,192,255);
pWT->SetTraceAtt(6233,1,50,255,0,0);
//Kurve an Legende übergeben
LEG.Clear();
LEG.AddTrace(pWT);
return 1;
}
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.5
224
Datenelemente
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Dies ist die Objekthierarchie der Klassen des Dateninterfaces. Die Basisklasse ist CNamedObj. Alle anderen
Klassen sind von ihr abgeleitet. Alle abgeleiteten Klassen besitzen insbesondere alle Methoden der
Basisklassen, von denen sie abstammen. So kann z.B. der Name eines jeden Poolelementes mit der Methode
SetName gesetzt werden. Diese Methode ist in der Klasse CNamedObj vereinbart.
1.2.5.1
CText
1.2.5.1.1 CText::GetData
Syntax:
char *GetData();
Beschreibung:
liefert einen Zeiger auf den Textbuffer eines Text- Elementes. Achtung, der Zeiger ist temporär, er ist nur
gültig bis zur nächsten Ausführung einer SetData- Methode des Textelementes. Legen Sie also umgehend
eine Kopie des Strings an, falls Sie später auf seinen Inhalt zugreifen wollen
Beispiel:
© XOn Siftware GmbH, 2008
225
Referenzhandbuch
int method::OnRun()
{
CText* pTxt;
pTxt=GetPoolText(0);
if (pTxt)
{
char buf[100];
if (pTxt->GetLen()<100)
//Text- Buffer kopieren
strcpy(buf,pTxt->GetData());
}
return 1;
}
1.2.5.1.2 CText::GetLen
Syntax:
int GetLen();
Beschreibung:
Liefert die Länge des Text- Buffers.
1.2.5.1.3 CText::SetData
Syntax:
void SetData(char* txt);
Beschreibung:
kopiert den Inhalt der Variablen txt in das Textelement
Beispiel:
int method::OnRun()
{
CText Txt;
char buf[100];
Txt.SetText("Hallo");
sprintf(buf,"Inhalt von Txt:%s",Txt.GetText());
Txt.SetText(buf);
return 1;
}
1.2.5.2
CDia
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Die Klasse CDia verwaltet einen globalen Header und eine Liste von Kanalheadern. Jeder Header
besitzt eine Reihe von Items, die durch ihre Nummer gekennzeichnet sind. Eine Liste der Items
findet sich in den folgenden Tabellen.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Allgemeine Dateiheadereinträge:
Item
101
102
103
104
105
110
111
130
131
132
133
Bedeutung
Datensatzbezeichnung
Datensatzkommentar
Sachbearbeiter
Datum
Uhrzeit
Zeitformat bei ASCII-Dateien
Wert der NoValues
Reserve1
Reserve2
Reserve3
Reserve4
Datentyp
char*
char*
char*
char*
char*
char*
float
char*
char*
char*
char*
Kanalbeschreibung
Kanalname
Kommentar
Kanalart
Dateiname
Speicherart
Datentyp
Anzahl der Werte
Zeiger auf 1.Wert
Offset 1)
lokaler ASCII- Zeiger
Separator
Dezimalzeichen
Exponentialzeichen
Startwert/ Offset
Schrittweite/Kalibrierfaktor
Minimalwert des Kanals
Maximalwert des Kanals
NoValues 2)
Darstellungsform 3)
Reserve 1
Reserve 2
Datentyp
char*
char*
long
char*
long
long
long
long
long
long
char
char
char
float
float
float
float
long
long
char*
char*
Kanalheaderdaten:
Item
200
201
210
211
213
214
220
221
222
223
230
231
232
240
241
250
251
252
260
300
301
1) Offset für ASCII- Blockdateien mit Separator CR/LF oder Binär- Blockdateien mit Header
2) Kenner ob der Kanal NoValues enthält.
3) Darstellungsform der Daten an der Oberfläche.
Für einige Items besitzen die Werte eine spezielle Bedeutung:
Kanalart (210):
· 0: Implizit
· 1: Explitit
© XOn Siftware GmbH, 2008
226
227
Referenzhandbuch
Speicherart (213):
· 0: Kanalweise
· 1: Blockweise
Datentyp (214):
· 0: INT16
· 1: REAL48
· 2: ASCII
· 3: WORD8
· 4: WORD16
· 5: INT32
· 6: REAL32
· 7: MSREAL32
· 8: TWOC12
· 9: TWOC16
Methoden :
CDia::Read
CDia::GoFirst
CDia::GoNext
CDia::GoTo
CDia::GetItem
CDia::SetItem
CDia::GetData
1.2.5.2.1 CDia::GetData
Syntax:
double* GetData();
Beschreibung:
Liest die zum aktuell fokusierten Kanal gehörenden Daten und liefet einen Zeiger auf diese zurück.
Rückgabewert:
Zeiger auf die Daten oder Null- Zeiger, falls die Operation nicht erfolgreich war.
Beispiel:
Das folgende Beispiel erfragt einen Dateinamen. Die angegebene Datei wird als Dia- Headerfile
gelesen und die beiden ersten Kanäle des Headers werden als X- und Y- Koordinaten eingelesen
und in ein Diagram eingetragen.
int method::OnRun()
{
double *Y;
long len;
CDia dia;
char name[100],buf[100];
CVector VX,VY;
//Dia- Headerdatei laden
if (FileDialog(1,name,"","*.dat")!=5) return 1;
if (!dia.Read(name)) return 1;
if (!dia.GoFirst()) return 1;
dia.GetItem(202,name);
sprintf(buf,"%.0f %s",name);
XAchse.SetNodeAtt(4201,buf);
dia.GetItem(220,&len);
VX.SetData((int)len,dia.GetData());
double xmin= VX.Min();
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
228
double xmax= VX.Max();
if (!dia.GoNext()) return;
dia.GetItem(202,name);
sprintf(buf,"%.0f %s",name);
YAchse.SetNodeAtt(4201,buf);
dia.GetItem(220,&len);
VY.SetData((int)len,dia.GetData());
double ymin= VY.Min();
double ymax= VY.Max();
Graf.Clear();
XAchse.SetPhys(xmin,xmax);
YAchse.SetPhys(ymin,ymax);
dia.GetItem(200,name);
Graf.AddTrace("XAchse","YAchse",name);
Graf.SetTraceData(0,&VX);
Graf.SetTraceData(1,&VY);
Graf.SetNodeAtt(6150,1,0,255,0,0); //Farbe setzen
return 1;
}
1.2.5.2.2 CDia::GetItem
Syntax:
int CDia::GetItem(int
int CDia::GetItem(int
int CDia::GetItem(int
int CDia::GetItem(int
itemNr,char* result);
itemNr,long* result);
itemNr,float* result);
itemNr,double* result);
Parameter:
itemNr: Nummer des Dia- Items
result: Ergebnisbufferzeiger
Beschreibung:
Liest einen Item aus dem Dia- Header, falls 99<itemNr<200 oder aus dem aktuell focusierten
Kanalheader, falls 200<=itemNr<303. Je nach Item muß ein Ergebniszeiger von geeignetem Typ
verwendet werden. Auskunft über den Ergebnistyp geben die Tabellen am Anfang des Kapitels.
Rückgabewert:
· 0: OK
· -1: unzulässige Item- Nummer oder unzulässiger Ergebnistyp
· -2: kein Kanal fokusiert (z.B. bei leerer Kanalliste)
· -3: DiaHeader nicht definiert
1.2.5.2.3 CDia::GoFirst
Syntax:
int GoFirst();
Beschreibung:
Legt den Focus auf den ersten Kanalheader. Die Methoden GetItem, SetItem und GetData
beziehen sich auf den jeweils fokusierten Kanal.
Rückgabewert:
1 falls mindestens ein Kanal in der Kanalliste aufgeführt ist, sonst 0.
© XOn Siftware GmbH, 2008
229
Referenzhandbuch
1.2.5.2.4 CDia::GoNext
Syntax:
int GoNext();
Beschreibung:
Legt den Focus auf den nächsten Kanalheader. Die Methoden GetItem, SetItem und GetData
beziehen sich auf den jeweils fokusierten Kanal.
Rückgabewert:
1 falls erfolgreich, 0 wenn das Ende der Kanalliste überschritten ist.
1.2.5.2.5 CDia::GoTo
Syntax:
int GoTo(char *name);
Parameter:
· name: Kanalname
Beschreibung:
Fokusiert den Kanal mit Namen name. Die Methoden GetItem, SetItem und GetData beziehen
sich auf den jeweils fokusierten Kanal.
Rückgabewert:
1 falls ein Kanal mit dem gewünschten Name vorhanden ist, sonst 0.
1.2.5.2.6 CDia::Read
Syntax:
int Read(char* name);
Parameter:
· name: Dateiname
Beschreibung:
Liest eine Dia- Headerdatei des betreffenden Namens ein.
Rückgabewert:
1 falls OK, sonst 0.
Beispiel:
int method::OnRun()
{
CDia DiaHeader;
DiaHeader.Read("C:\\Daten\\Messhead.dat");
return 1;
}
1.2.5.2.7 CDia::SetItem
Syntax:
int CDia::SetItem(int
int CDia::SetItem(int
int CDia::SetItem(int
int CDia::SetItem(int
int CDia::SetItem(int
itemNr,char value);
itemNr,char* value);
itemNr,long value);
itemNr,float value);
itemNr,double value);
Parameter:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
230
· itemNr : Nummer des Dia- Items
· value: Wert, der gesetzt werden soll
Beschreibung:
Schreibt einen Item in den Dia- Header, falls 99<itemNr<200 oder in den aktuell focusierten
Kanalheader, falls 200<=itemNr<303. Auskunft über den Ergebnistyp geben die Tabellen am
Anfang des Kapitels.
Rückgabewert:
· 0: OK
· -1: unzulässige Item- Nummer oder unzulässiger Wertetyp
· -2: kein Kanal fokusiert (z.B. bei leerer Kanalliste)
· -3: DiaHeader nicht definiert
1.2.5.3
CODBC
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Diese Klasse stellte Methoden zum Zugriff auf ODBC-Datenbanken zur Verfügung. Es können aus
einer Datenbank Tabellen selektiert werden, und aus einer selektierten Tabelle Spalten als PoolVektoren eingelesen werden.
Die Methoden dieser Klasse stellen nur grundlegende Datenbankfunktionen zur Verfügung. Für
volle ODBC- und SQL-Unterstützung können sie von der XOn Software GmbH eine zusätzliche
Datenbank-Bibliothek beziehen.
Methoden :
· CODBC::GetDSN
· CODBC::SetDSN
· CODBC::Open
· CODBC::Close
· CODBC::GoFirstTable
· CODBC::GoNextTable
· CODBC::GetTableName
· CODBC::GetNrCols
· CODBC::GetColumnName
· CODBC::GetColumnType
· CODBC::LoadColumn
1.2.5.3.1 CODBC::Close
Syntax:
void Close();
Beschreibung:
Schließt die mit dem ODBC-Datenpoolelement verknüpfte ODBC-Datenbank.
1.2.5.3.2 CODBC::GetColumnName
Syntax:
int GetColumnName(int Nr, char* Buf, int Size);
Parameter:
© XOn Siftware GmbH, 2008
231
Referenzhandbuch
· Nr: Nummer der Spalte
· Buf: Buffer, in den der Name der Spalte kopiert wird
· Size: maximal zu kopierende Zeichen (Größe des Buffers)
Beschreibung:
Liefert den Namen der mit Nr spezifizierten Spalte der aktuell fokusierten Tabelle der mit dem
ODBC-Datenpoolelement verknüpften ODBC-Datenbank und kopiert ihn in den String-Buffer Buf.
Rückgabewert:
<0 Fehler bei der Ermittlung des Spaltennamens
>=0 Operation erfolgreich (Patient tot)
1.2.5.3.3 CODBC::GetColumnType
Syntax:
int GetColumnType(int Nr, int* Type);
Parameter:
Nr: Nummer der Spalte
Type: Buffer, in den der Typ der Spalte kopiert wird
Beschreibung:
Liefert den Typ der mit Nr spezifizierten Spalte der aktuell fokusierten Tabelle der mit dem ODBCDatenpoolelement verknüpften ODBC-Datenbank.
Rückgabewert:
· <0 Fehler bei der Ermittlung des Spaltennamens
· >=0 Operation erfolgreich (Patient tot)
1.2.5.3.4 CODBC::GetDSN
Syntax:
void GetDSN(char *Buf, int Size);
Parameter:
· Buf : Buffer, in den der Name der Datenbank kopiert wird
· Size: maximal zu kopierende Zeichen (Größe des Buffers)
Beschreibung:
Liefert den Namen der ODBC-Datenbank, die mit dem Datenpoolelement verknüpft ist und kopiert
ihn in den String-Buffer Buf.
1.2.5.3.5 CODBC::GetNrCols
Syntax:
int GetNrCols(int* Buf);
Parameter:
· Buf: Buffer, in den die Anzahl der Spalten kopiert wird
Beschreibung:
Liefert die Anzahl der Spalten in der aktuell fokusierten Tabelle der mit dem ODBCDatenpoolelement verknüpften ODBC-Datenbank und kopiert ihn in den Integer-Buffer Buf.
Rückgabewert:
· <0 Fehler bei der Ausführung
· >=0 Operation erfolgreich (Patienrt tot)
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
232
1.2.5.3.6 CODBC::GetTableName
Syntax:
int GetTableName(char* Buf, int Size);
Parameter:
· Buf: Buffer, in den der Name der Tabelle kopiert wird
· Size: maximal zu kopierende Zeichen (Größe des Buffers)
Beschreibung:
Liefert den Namen der aktuell fokusierten Tabelle der mit dem ODBC-Datenpoolelement
verknüpften ODBC-Datenbank und kopiert ihn in den String-Buffer Buf.
Rückgabewert:
· <0 Fehler bei der Ermittlung des Tabellennamens
· >=0 Operation erfolgreich (Patient tot)
1.2.5.3.7 CODBC::GoFirstTable
Syntax:
int GoFirstTable();
Beschreibung:
Positioniert den Fokus auf die erste Tabelle der mit dem ODBC-Datenpoolelement verknüpften
ODBC-Datenbank.
Rückgabewert:
· <0 Fehler beim positionieren
· >=0 Operation erfolgreich (Patient tot)
1.2.5.3.8 CODBC::GoNextTable
Syntax:
int GoNextTable();
Beschreibung:
Positioniert den Fokus auf die nächste Tabelle der mit dem ODBC-Datenpoolelement verknüpften
ODBC-Datenbank.
Rückgabewert:
· <0 Fehler beim positionieren
· >=0 Operation erfolgreich (Patienrt tot)
1.2.5.3.9 CODBC::LoadColumn
Syntax:
int GetColumnType(int Nr, char* Name);
Parameter:
· Nr: Nummer der Spalte
· Name: Name des Vektors im Datenpool
Beschreibung:
Lädt die mit Nr spezifizierte Spalte der aktuell fokusierten Tabelle der mit dem ODBCDatenpoolelement verknüpften ODBC-Datenbank als Pool -Vektor. Es können numerische und
Datum/Zeit-Spalten geladen werden.
Rückgabewert:
© XOn Siftware GmbH, 2008
233
Referenzhandbuch
· <0 Fehler bei der Ermittlung des Spaltennamens
· >=0 Operation erfolgreich (Patient tot)
1.2.5.3.10 CODBC::Open
Syntax:
int Open();
Beschreibung:
Öffnet die mit dem ODBC-Datenpoolelement verknüpfte ODBC-Datenbank. Wurde mit SetDSN
keine ODBC-Datenbank verknüpft wird der ODBC-Dialog geöffnet.
Rückgabewert:
· <0 Fehler beim öffnen der ODBC-Datenbank
· >=0 Operation erfolgreich (Patient tot)
1.2.5.3.11 CODBC::SetDSN
Syntax:
void SetDSN(char* Value);
Parameter:
· Value : Buffer, der den Namen der Datenbank enthält
Beschreibung:
Ordnet dem ODBC-Datenpoolelement den Namen der ODBC-Datenbank Value zu.
1.2.5.4
CI4Vector
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
· CI4Vector::Append
· CI4Vector::Copy
· CI4Vector::Edit
· CI4Vector::FreeExtra
· CI4Vector::GetAt
· CI4Vector::GetSize
· CI4Vector::GetUpperBound
· CI4Vector::InsertAt
· CI4Vector::Min
· CI4Vector::Max
· CI4Vector::RemoveAll
· CI4Vector::RemoveAt
· CI4Vector::SetAt
· CI4Vector::SetAtGrow
· CI4Vector::SetSize
· CI4Vector::GetData
· CI4Vector::SetData
· CI4Vector::Sort
· CI4Vector::MinMax
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
· CI4Vector::CI4Vector
1.2.5.4.1 CI4Vector::Append
Header:
int CI4Vector::Append(int newElement);
Beschreibung:
Fügt einen neuen Wert newElement an den nächstmöglichen Index in den Vector ein.
Rückgabewert:
Gibt den Index des eingefügten Elements zurück.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.2 CI4Vector::CI4Vector
Header:
CI4Vector* CI4Vector::CI4Vector();
Beschreibung:
Konstruktor.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.3 CI4Vector::Copy
Header:
CI4Vector* CI4Vector::Copy();
Beschreibung:
Kopiert einen Vektor.
Rückgabewert:
Gibt Pointer auf die Kopie zurück.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.4 CI4Vector::Edit
Header:
int CI4Vector::Edit(char* text);
Parameter:
· text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Rückgabewert:
int-Wert, ob erfolgreich oder nicht.
Siehe auch:
CI4Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
234
235
Referenzhandbuch
1.2.5.4.5 CI4Vector::FreeExtra
Header:
void CI4Vector::FreeExtra();
Beschreibung:
Gibt Speicherplatz frei, der nicht benötigt wird, nachdem der Vector vergrössert wurde.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.6 CI4Vector::GetAt
Header:
int CI4Vector::GetAt(int nIndex,int* nVar);
int CI4Vector::GetAt(int nIndex);
Parameter:
· nIndex: Intergerwert für den Index innerhalb des Vectors
· nVar: Zeiger auf Ergebnisbuffer
Beschreibung:
· Variante 1: Kopiert den Wert des durch nIndex beschriebenen Vektorelementes in den
Ergebnisbuffer nVar. Ist nIndex unzulässig, wird 0 zurückgegeben, sonst 1.
· Variante 2: Es wird der Wert beim Index nIndex zurückgegeben.
Rückgabewert:
· Variante 1: 0, wenn nIndex unzulässig 1, sonst
· Variante 2: Wert beim Index nIndex
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
int i;
int j;
//Variante 1
V.GetAt(1,&i);
//Variante 2
j = V.GetAt(2);
printf("%i %i\n",i,j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.7 CI4Vector::GetSize
Header:
int CI4Vector::GetSize();
Beschreibung:
Gibt die Grösse des Vectors zurück. Beginnt der Index bei 0,
ist die Grösse um 1 grösser als der höchste Index.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
236
Rückgabewert:
Grösse als int-Wert
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
int j;
j=V.GetSize();
printf("%i \n",j);
//3
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.8 CI4Vector::GetUpperBound
Header:
int CI4Vector::GetUpperBound();
Beschreibung:
gibt den momentan größten Index zurück.
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
int j;
j=V.GetUpperBound();
printf("%i \n",j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.9 CI4Vector::InsertAt
Header:
int CI4Vector::InsertAt(int nIndex, CI4Vector* vVec);
int CI4Vector::InsertAt(int nIndex,int newElement,int nCount = 1);
Parameter:
· nIndex: Index, ab dem neu eingefügt werden soll. Darf auch größer sein, als der Wert, den
GetUpperBound() liefert.
· vVec: Zeiger auf den Vector, dessen Elemente kopiert werden sollen.
· newElement: das Element im Vector, das ersetzt werden soll.
· nCount: die Anzahl, wie oft das newElement in den Vector eingefügt werden soll. DEFAULT 1
mal.
Beschreibung:
© XOn Siftware GmbH, 2008
237
Referenzhandbuch
· Variante 1:
Ab dem Index nIndex sollen die Werte des Vectors vVec eigefügt werden.
· Variante 2:
Ab dem Index nIndex soll der Wert newElement nCount mal in den Vector eingefügt werden. Im
Gegensatz zur SetAt()-Methode werden hier die Elemente innerhalb des Vectors geshiftet.
Rückgabewert:
Variante 1:
zurückgegeben wird die Anzahl der neu eingefügten Elemente.
Beispiel:
int method::OnRun()
{
CI4Vector V,W,*X;
V.Append(6);
V.Append(7);
V.Append(12);
W.Append(120);
W.Append(90);
W.Append(130);
W.Append(130);
W.Append(130);
W.Append(130);
W.Append(130);
W.Append(130);
W.Append(130);
W.Append(130);
X=&W;
int i,j;
//Variante 1
i = V.InsertAt(2,X);
j = V.GetUpperBound();
printf("%i %i\n",i,j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.10 CI4Vector::Min
Header:
int CI4Vector::Min();
Beschreibung:
Min liefert das kleinste Element im Vector.
Rückgabewert:
Minimum als int-Wert.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.11 CI4Vector::Max
Header:
int CI4Vector::Max();
Beschreibung:
Max liefert das wertmässig grösste Element im Vector.
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
238
Rückgabewert:
Maximum als int-Wert.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.12 CI4Vector::RemoveAll
Header:
void CI4Vector::RemoveAll();
Beschreibung:
Entfernt alle Werte aus dem Vector. Ist der Vector schon leer, funktioniert die Methode auch.
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
int j;
int i;
V.RemoveAll();
V.Append(90);
j = V.GetAt(9,&i);
printf("%i \n",j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.13 CI4Vector::RemoveAt
Header:
void CI4Vector::RemoveAt(int nIndex,int nCount);
Parameter:
· nIndex: ein Integerindex, der grösser 0 ist und kleiner als der Wert, den GetUpperBound liefert.
· nCount: Anzahl der zu entfernenden Elemente.
Beschreibung:
Entfernt ein oder mehrere Elemente im Vector, beginnend bei nIndex. Dabei werden die Elemente,
die nach dem(n) zu entfernenden Element(en) stehen, nach vorne geshiftet. Der Upper-Bound
Index wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
V.Append(90);
V.Append(3);
V.Append(5);
int j;
V.RemoveAt(1,2);
© XOn Siftware GmbH, 2008
239
Referenzhandbuch
j = V.GetUpperBound();
//3
printf("%i \n",j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.14 CI4Vector::SetAt
Header:
void CI4Vector::SetAt(int nIndex,int newElement);
Parameter:
· nIndex: Index im Vector
· newElement: neuer Integerwert, der den alten am Index nIndex ersetzt.
Beschreibung:
Am Index nIndex wird ein neuer Wert newElement eingesetzt, dabei wird der alte Wert
überschrieben.
SetAt() sorgt nicht dafür, dass der Vector wächst. Um dies zu erreichen, dient die Funktion
SetAtGrow().
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
V.Append(7);
V.Append(80);
V.SetAt(1,150);
int j;
j=V.GetAt(1);
printf("%i \n",j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.15 CI4Vector::SetAtGrow
Header:
void CI4Vector::SetAtGrow(int nIndex ,int newElement);
Parameter:
· nIndex: Index grösser gleich 0
· newElement: neu einzufügender Wert, NULL ist auch erlaubt.
Beschreibung:
Das newElement wird an den entsprechenden nIndex eingefügt. Der Vector wächst automatisch,
wenn notwendig.
Der Upper-Bound wird inkrementiert.
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(5);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
240
V.Append(7);
V.Append(80);
V.SetAtGrow(3,150);
V.SetAtGrow(5,1509);
int j;
j=V.GetAt(5);
printf("%i \n",j);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.16 CI4Vector::SetSize
Header:
void CI4Vector::SetSize(int nNewSize,int nGrowBy=-1);
Parameter:
· nNewSize: neue Größe des Vectors (Anzahl Elemente); muss größer oder gleich 0 sein.
· nGrowBy: minimale Anzahl der Einschub-Elemente, die belegt werden müssen, wenn eine
Vergrösserung notwendig ist. DEFAULT -1
Beschreibung:
Legt die Größe eines leeren oder bereits existierende Vectors fest, reserviert Speicher, wenn
nötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wird
freigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nicht
verwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen und
Kopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dass
Fragmentierung vermieden wird.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.17 CI4Vector::GetData
Header:
int* CI4Vector::GetData();
Beschreibung:
Diese Funktion ermöglicht direkten Zugriff auf die Elemente des Vectors. Wenn es keine Elemente
gibt, wird 0 zurückgegeben.
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alle
Fehler direkt auf den Vector aus.
Rückgabewert:
Pointer auf ein Vectorelement.
Siehe auch:
CI4Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
241
Referenzhandbuch
1.2.5.4.18 CI4Vector::SetData
Header:
int CI4Vector::SetData(int len,int val);
int CI4Vector::SetData(int len,int* pval);
Parameter:
· len: gewünschte Vektorlänge.
· val: Einzelwert zur Vorbelegung
· pval: Array von Werten zur Vorbelegung
Beschreibung:
Variante 1: es wird eine Vectorlänge len festgelegt und der Wert val hinzugefügt.
Variante 2: es wird eine Vectorlänge len festgelegt und Werte aus dem Vector pval hinzugefügt.
Rückgabewert:
1 wenn erfolgreich.
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.4.19 CI4Vector::MinMax
Header:
int CI4Vector::MinMax(int* nMin,int* nMax);
Parameter:
· nMin: Zeiger auf minimalen Wert im Vector
· nMax: Zeiger auf maximalen Wert im Vector
Beschreibung:
Nach Aufruf der Funktion zeigt nMin auf den minimalen Wert im Vector, nMax auf den maximalen
Wert im Vector.
Rückgabewert:
0, wenn nicht erfolgreich
1, wenn erfolgreich
Beispiel:
int method::OnRun()
{
CI4Vector V;
int a,b,*i,*j;
a = 9;
b = 6;
i = &a;
j = &b;
V.Append(144);
V.Append(4);
V.Append(54);
V.Append(2);
V.Append(90);
int k;
k=V.MinMax(i,j);
printf("%i %i %i \n",*i,*j,k);
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
242
1.2.5.4.20 CI4Vector::Sort
Header:
int CI4Vector::Sort(int flag);
Parameter:
flag: typ int
Bedeutung von flag
Bezeichner
Wert
SORT_DESC
1
Beschreibung
Sortierung in fallender
Reihenfolge
Beschreibung:
Diese Methode sortiert die Elemente des CI4Vectors. Ist das Flag SORT_DESC gesetzt, erfolgt
die Sortierung absteigend, sonst aufsteigend.
Beispiel:
int method::OnRun()
{
CI4Vector V;
V.Append(4);
V.Append(6);
V.Append(33);
V.Append(77);
int j;
j=V.Sort(CI4Vector::SORT_DESC);
V.Edit("");
return 1;
}
Siehe auch:
CI4Vector Übersicht | Hierarchie
1.2.5.5
CF4Vector
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
· CF4Vector::Append
· CF4Vector::Copy
· CF4Vector::Edit
· CF4Vector::FreeExtra
· CF4Vector::GetAt
· CF4Vector::GetSize
· CF4Vector::GetUpperBound
· CF4Vector::InsertAt
· CF4Vector::Min
· CF4Vector::Max
· CF4Vector::RemoveAll
· CF4Vector::RemoveAt
· CF4Vector::SetAt
· CF4Vector::SetAtGrow
· CF4Vector::SetSize
© XOn Siftware GmbH, 2008
243
Referenzhandbuch
·
·
·
·
·
CF4Vector::GetData
CF4Vector::SetData
CF4Vector::Sort
CF4Vector::MinMax
CF4Vector::CF4Vector
1.2.5.5.1 CF4Vector::Append
Header:
int CF4Vector::Append(float newElement);
Beschreibung:
Fügt einen neuen float-Wert newElement an den nächstmöglichen Index in den Vector ein.
Rückgabewert:
Gibt den Index des eingefügten Elements zurück.
Beispiel:
int method::OnRun()
{
CF4Vector F;
float f = 6.001;
int i = F.Append(f);
printf("%i\n",i);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.2 CF4Vector::CF4Vector
Header:
CF4Vector* CF4Vector::CF4Vector();
Beschreibung:
Konstruktor.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.3 CF4Vector::Copy
Header:
CF4Vector* CF4Vector::Copy();
Beschreibung:
Kopiert einen Vector.
Rückgabewert:
Gibt Pointer auf die Kopie zurück.
Siehe auch:
CF4Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
244
1.2.5.5.4 CF4Vector::Edit
Header:
int CF4Vector::Edit(char* text);
Parameter:
text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Rückgabewert:
int-Wert, ob erfolgreich oder nicht.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.5 CF4Vector::FreeExtra
Header:
void CF4Vector::FreeExtra();
Beschreibung:
Gibt Speicherplatz frei, der nicht benötigt wird, nachdem der Vector vergrössert wurde.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.6 CF4Vector::GetAt
Header:
int CF4Vector::GetAt(int nIndex,float* nVar);
float CF4Vector::GetAt(int nIndex);
Parameter:
· nIndex: Intergerwert für den Index innerhalb des Vectors
· nVar: Zeiger auf Ergebnisbuffer
Beschreibung:
· Variante 1: Kopiert den Wert des durch nIndex beschriebenen Vektorelementes in den
Ergebnisbuffer nVar. Ist nIndex unzulässig, wird 0 zurückgegeben, sonst 1.
· Variante 2: Es wird der Wert beim Index nIndex zurückgegeben.
Rückgabewert:
Variante 1: 0, wenn nIndex unzulässig 1, sonst
Variante 2: Wert beim Index nIndex
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.7 CF4Vector::GetData
Header:
float* CF4Vector::GetData();
Beschreibung:
Diese Funktion ermöglicht direkten Zugriff auf die Elemente des Vectors. Wenn es keine Elemente
gibt, wird 0 zurückgegeben.
© XOn Siftware GmbH, 2008
245
Referenzhandbuch
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alle
Fehler direkt auf den Vector aus.
Rückgabewert:
Pointer auf ein Vectorelement.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.8 CF4Vector::GetSize
Header:
int CF4Vector::GetSize();
Beschreibung:
Gibt die Größe des Vectors zurück. Beginnt der Index bei 0, ist die Größe um 1 grösser als der
höchste Index.
Rückgabewert:
Grösse als int-Wert.
Beispiel:
int method::OnRun()
{
CF4Vector V;
float a,b,c;
a=2.3;
b=5,6;
c=9.1;
V.Append(a);
V.Append(b);
V.Append(c);
V.Append(a*b);
int j;
j=V.GetSize();
printf("%i \n",j);
//4
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.9 CF4Vector::GetUpperBound
Header:
int CF4Vector::GetUpperBound();
Beschreibung:
gibt den momentan größten Index zurück.
Beispiel:
int method::OnRun()
{
CF4Vector V;
float a,b,c;
a=1.1;
b=2.2;
c=0.56;
V.Append(a);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
246
V.Append(c);
V.Append(c*c);
V.Append(b);
int j;
j=V.GetUpperBound();
printf("%i \n",j);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.10 CF4Vector::InsertAt
Header:
int CF4Vector::InsertAt(int nIndex, CF4Vector* vVec);
int CF4Vector::InsertAt(int nIndex,int newElement,int nCount = 1);
Parameter:
· nIndex: Index, ab dem neu eingefügt werden soll. Darf auch größer sein, als der Wert, den
GetUpperBound() liefert.
· vVec: Zeiger auf den Vector, dessen Elemente kopiert werden sollen.
· newElement: das Element im Vector, das ersetzt werden soll.
· nCount: die Anzahl, wie oft das newElement in den Vector eingefügt werden soll. DEFAULT 1
mal.
Beschreibung:
· Variante 1:
Ab dem Index nIndex sollen die Werte des Vectors vVec eigefügt werden.
· Variante 2:
Ab dem Index nIndex soll der Wert newElement nCount mal in den Vector eingefügt werden. Im
Gegensatz zur SetAt()-Methode werden hier die Elemente innerhalb des Vectors geshiftet.
Rückgabewert:
Variante 1:
zurückgegeben wird die Anzahl der neu eingefügten Elemente.
Beispiel:
int method::OnRun()
{
CF4Vector V,W,*X;
float a,b,c,d;
a=5.5;
b=8.9;
c=1.23;
d=55.9;
V.Append(a);
V.Append(b);
V.Append(c);
W.Append(a);
W.Append(a*a);
W.Append(c);
W.Append(d);
W.Append(b);
W.Append(a);
W.Append(a+d);
W.Append(d);
W.Append(d);
W.Append(b);
X=&W;
© XOn Siftware GmbH, 2008
247
Referenzhandbuch
int i,j,k,l;
float m;
i = V.InsertAt(2,X);
j = V.GetUpperBound();
k = W.InsertAt(10,d,8);
m = W.GetAt(11);
l = W.GetUpperBound();
printf("%i %i %i %i %.3f\n",i,j,k,l,(double)m);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.11 CF4Vector::Max
Header:
float CF4Vector::Max();
Beschreibung:
liefert den maximalen Wert des Vectors.
Rückgabewert:
Maximum als float.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.12 CF4Vector::Min
Header:
float CF4Vector::Min();
Beschreibung:
liefert den minimalen Wert des Vectors.
Rückgabewert:
Minimum in float.
Beispiel:
int method::OnRun()
{
CF4Vector V,W,*X;
float a,b,c,d;
a=5.5;
b=8.9;
c=1.23;
d=55.9;
V.Append(a);
V.Append(b);
V.Append(c);
V.Append(d);
float m;
m =V.Min();
printf("%.3f\n",(double)m);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
248
1.2.5.5.13 CF4Vector::MinMax
Header:
int CF4Vector::MinMax(float* nMin,float* nMax);
Parameter:
· nMin: Zeiger auf minimalen Wert im Vector
· nMax: Zeiger auf maximalen Wert im Vector
Beschreibung:
Nach Aufruf der Funktion zeigt nMin auf den minimalen Wert im Vector, nMax auf den maximalen
Wert im Vector.
Rückgabewert
· 0, wenn nicht erfolgreich
· 1, wenn erfolgreich
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.14 CF4Vector::RemoveAll
Header:
void CF4Vector::RemoveAll();
Beschreibung:
Entfernt alle Werte aus dem Vector. Ist der Vector schon leer, funktioniert die Methode auch.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.15 CF4Vector::RemoveAt
Header:
void CF4Vector::RemoveAt(int nIndex,int nCount);
Parameter:
· nIndex: ein Integerindex, der grösser 0 ist und kleiner als der Wert, den GetUpperBound liefert.
· nCount: Anzahl der zu entfernenden Elemente.
Beschreibung:
Entfernt ein oder mehrere Elemente im Vector, beginnend bei nIndex. Dabei werden die Elemente,
die nach dem(n) zu entfernenden Element(en) stehen, nach vorne geshiftet. Der Upper-Bound
Index wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:
int method::OnRun()
{
CF4Vector V;
float a,b,c;
a=1.2;
b=45.2;
c=9.5;
V.Append(a);
V.Append(b);
V.Append(c);
V.Append(c);
V.Append(b);
V.Append(a);
int j;
© XOn Siftware GmbH, 2008
249
Referenzhandbuch
V.RemoveAt(1,2);
j = V.GetUpperBound();
//3
printf("%i \n",j);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.16 CF4Vector::SetAt
Header:
void CF4Vector::SetAt(int nIndex ,float newElement);
Parameter:
· nIndex: Index im Vector
· newElement: neuer Floatwert, der den alten am Index nIndex ersetzt.
Beschreibung:
Am Index nIndex wird ein neuer Wert newElement eingesetzt, dabei wird der alte Wert
überschrieben.
SetAt() sorgt nicht dafür, dass der Vector wächst. Um dies zu erreichen, dient die Funktion
SetAtGrow().
Beispiel:
int method::OnRun()
{
CF4Vector V;
float f,g;
f=5.56;
g=4.1;
V.Append(f);
V.Append(f*f);
V.Append(f);
V.SetAt(1,g);
float h;
h=V.GetAt(1);
printf("%f \n",(double)h);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.17 CF4Vector::SetAtGrow
Header:
void CF4Vector::SetAtGrow(int nIndex,float newElement);
Parameter:
· nIndex: Index grösser gleich 0
· newElement: neu einzufügender Wert, NULL ist auch erlaubt.
Beschreibung:
Das newElement wird an den entsprechenden nIndex eingefügt. Der Vector wächst automatisch,
wenn notwendig.
Der Upper-Bound wird inkrementiert.
Beispiel:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
250
int method::OnRun()
{
CF4Vector V;
float a,b;
a=44.5;
b=778.1;
V.Append(a);
V.Append(b);
V.Append(a);
V.SetAtGrow(3,b);
V.SetAtGrow(5,b*b);
float c,d;
c=V.GetAt(3);
d=V.GetAt(5);
printf("%.2f %.2f\n",(double)c,(double)d);
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.18 CF4Vector::SetData
Header:
int CF4Vector::SetData(int len,float val);
int CF4Vector::SetData(int len,float* pval);
Parameter:
· len: gewünschte Vektorlänge.
· val: Einzelwert zur Vorbelegung
· pval: Array von Werten zur Vorbelegung
Beschreibung:
Variante 1: es wird eine Vectorlänge len festgelegt und der Wert val hinzugefügt.
Variante 2: es wird eine Vectorlänge len festgelegt und Werte aus dem Vector pval hinzugefügt.
Rückgabewert
1 wenn erfolgreich
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.19 CF4Vector::SetSize
Header:
void CF4Vector::SetSize(int nNewSize,int nGrowBy);
Parameter:
· nNewSize: neue Größe des Vectors (Anzahl Elemente); muss größer oder gleich 0 sein.
· nGrowBy: minimale Anzahl der Einschub-Elemente, die belegt werden müssen, wenn eine
Vergrösserung notwendig ist. DEFAULT -1
Beschreibung:
Legt die Größe eines leeren oder bereits existierende Vectors fest, reserviert Speicher, wenn
nötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wird
freigegeben.
© XOn Siftware GmbH, 2008
251
Referenzhandbuch
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nicht
verwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen und
Kopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dass
Fragmentierung vermieden wird.
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.5.20 CF4Vector::Sort
Header:
void CF4Vector::Sort(int flag);
Parameter:
flag: typ int
Bedeutung von flag
Bezeichner
Wert
SORT_ASC
0
SORT_DESC
1
Beschreibung
Sortierung in aufsteigender
Reihenfolge
Sortierung in fallender
Reihenfolge
Beschreibung:
Diese Methode sortiert die Elemente des CF4Vectors. Ist das Flag SORT_DESC gesetzt, erfolgt
die Sortierung absteigend, sonst aufsteigend.
Beispiel:
Ist das Flag SORT_DESC gesetzt, erfolgt die Sortierung absteigend, sonst aufsteigend.
Beispiel:
int method::OnRun()
{
CF4Vector V;
V.Append(4.6);
V.Append(6.6);
V.Append(33.3);
V.Append(6.6);
int j;
j=V.Sort(CF4Vector::SORT_DESC);
V.Edit("");
return 1;
}
Siehe auch:
CF4Vector Übersicht | Hierarchie
1.2.5.6
CDTVector
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
· CDTVector::Append
· CDTVector::Copy
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
252
CDTVector::Edit
CDTVector::FreeExtra
CDTVector::GetAt
CDTVector::GetSize
CDTVector::GetUpperBound
CDTVector::InsertAt
CDTVector::Min
CDTVector::Max
CDTVector::RemoveAll
CDTVector::RemoveAt
CDTVector::SetAt
CDTVector::SetAtGrow
CDTVector::SetSize
CDTVector::GetData
CDTVector::SetData
CDTVector::Sort
CDTVector::MinMax
CDTVector::CDTVector
1.2.5.6.1 CDTVector::Append
Header:
int CDTVector::Append(DATETIME newElement);
Beschreibung:
Fügt einen neuen DATETIME-Wert newElement an den nächstmöglichen Index in den Vector ein.
Rückgabewert:
Gibt den Index des eingefügten Elements zurück.
Beispiel:
int method::OnRun()
{
CDTVector C;
C.Append(2.3);
DATETIME f;
f=C.GetAt(0);
printf("%f\n",f);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.2 CDTVector::CDTVector
Header:
CDTVector* CDTVector::CDTVector();
Beschreibung:
Konstruktor.
Siehe auch:
CDTVector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
253
Referenzhandbuch
1.2.5.6.3 CDTVector::Copy
Header:
CDTVector* CDTVector::Copy();
Beschreibung:
Kopiert den Vektor und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.4 CDTVector::Edit
Header:
int CDTVector::Edit(char* text);
Parameter:
· text: Titel der Dialogbox.
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Rückgabewert:
int-Wert, ob erfolgreich oder nicht.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.5 CDTVector::FreeExtra
Header:
void CDTVector::FreeExtra();
Beschreibung:
Gibt Speicherplatz frei, der nicht benötigt wird, nachdem der Vector vergrössert wurde.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.6 CDTVector::GetAt
Header:
int CDTVector::GetAt(int nIndex,DATETIME* nVal);
DATETIME CDTVector::GetAt(int nIndex);
Parameter:
· nIndex: Intergerwert für den Index innerhalb des Vectors
· nVar: Zeiger auf Ergebnisbuffer vom Typ double
Beschreibung:
· Variante 1: Kopiert den Wert des durch nIndex beschriebenen Vektorelementes in den
Ergebnisbuffer nVar. Ist nIndex unzulässig, wird 0 zurückgegeben, sonst 1.
· Variante 2: Es wird der Wert beim Index nIndex zurückgegeben.
Rückgabewert:
Variante 1: 0, wenn nIndex unzulässig 1, sonst
Variante 2: Wert beim Index nIndex
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
254
Beispiel:
int method::OnRun()
{
CDTVector C;
C.Append(2.3);
C.Append(2.22);
C.Append(6.76);
int i;
DATETIME f,g;
f=C.GetAt(2);
i=C.GetAt(1,&g);
printf("%f %f %i\n",f,g,i);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.7 CDTVector::GetData
Header:
DATETIME* CDTVector::GetData();
Beschreibung:
Diese Funktion ermöglicht direkten Zugriff auf die Elemente des Vectors. Wenn es keine Elemente
gibt, wird 0 zurückgegeben.
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alle
Fehler direkt auf den Vector aus.
Rückgabewert:
Pointer auf ein Vectorelement.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.8 CDTVector::GetSize
Header:
int CDTVector::GetSize();
Beschreibung:
Gibt die Größe des Vectors zurück. Beginnt der Index bei 0, ist die Größe um 1 grösser als der
höchste Index.
Rückgabewert:
Grösse als int-Wert.
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(4.6);
V.Append(6.6);
V.Append(33.3);
V.Append(6.6);
int j;
j=V.GetSize();
printf("%i \n",j);
© XOn Siftware GmbH, 2008
255
Referenzhandbuch
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.9 CDTVector::GetUpperBound
Header:
int CDTVector::GetUpperBound();
Beschreibung:
gibt den momentan größten Index zurück.
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(2.2);
V.Append(4.4);
V.Append(54.6);
V.Append(77.0);
int j;
j=V.GetUpperBound();
printf("%i \n",j);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.10 CDTVector::InsertAt
Header:
int CDTVector::InsertAt(int nIndex, CDTVector* vVec);
int CDTVector::InsertAt(int nIndex,DATETIME newElement,int nCount = 1);
Parameter:
· nIndex: Index, ab dem neu eingefügt werden soll. Darf auch größer sein, als der Wert, den
GetUpperBound() liefert.
· vVec: Zeiger auf den Vector, dessen Elemente kopiert werden sollen.
· newElement: das Element im Vector, das ersetzt werden soll.
· nCount: die Anzahl, wie oft das newElement in den Vector eingefügt werden soll. DEFAULT 1
mal.
Beschreibung:
· Variante 1:
Ab dem Index nIndex sollen die Werte des Vectors vVec eigefügt werden.
· Variante 2:
Ab dem Index nIndex soll der Wert newElement nCount mal in den Vector eingefügt werden. Im
Gegensatz zur SetAt()-Methode werden hier die Elemente innerhalb des Vectors geshiftet.
Rückgabewert:
· Variante 1:
zurückgegeben wird die Anzahl der neu eingef&ugten Elemente.
Beispiel:
int method::OnRun()
{
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
CDTVector V,W,*X;
V.Append(2.0);
V.Append(5.5);
V.Append(6.6);
W.Append(2.2);
W.Append(67.8);
W.Append(66.6);
W.Append(90.1);
X=&W;
int i,j,k,l;
DATETIME m;
i = V.InsertAt(2,X);
j = V.GetUpperBound();
k = W.InsertAt(10,66.66,8);
m = W.GetAt(11);
l = W.GetUpperBound();
printf("%i %i %i %i %.3f\n",i,j,k,l,m);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.11 CDTVector::Max
Header:
DATETIME CDTVector::Max();
Beschreibung:
liefert den maximalen Wert des Vectors.
Rückgabewert:
Maximum in DATETIME.
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(4.4);
V.Append(8.0);
V.Append(3.33);
DATETIME max;
min=V.Max();
printf("%f\n",max);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.12 CDTVector::Min
Header:
DATETIME CDTVector::Min();
Beschreibung:
liefert den minimalen Wert des Vectors.
Rückgabewert:
Minimum in DATETIME.
© XOn Siftware GmbH, 2008
256
257
Referenzhandbuch
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(4.4);
V.Append(8.0);
V.Append(3.33);
DATETIME min;
min=V.Min();
printf("%f\n",min);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.13 CDTVector::MinMax
Header:
int CF4Vector::MinMax(DATETIME* nMin,DATETIME* nMax);
Parameter:
· nMin: Zeiger auf minimalen Wert im Vector
· nMax: Zeiger auf maximalen Wert im Vector
Beschreibung:
Nach Aufruf der Funktion zeigt nMin auf den minimalen Wert im Vector, nMax auf den maximalen
Wert im Vector.
Rückgabewert:
0, wenn nicht erfolgreich
1, wenn erfolgreich
Beispiel:
int method::OnRun()
{
DATETIME f,g;
CDTVector C;
C.Append(2.3);
C.Append(2.22);
C.Append(6.76);
int i;
i=C.MinMax(&f,&g);
//i=C.GetAt(1,&g);
printf("%f %f\n",f,g);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.14 CDTVector::RemoveAll
Header:
void CDTVector::RemoveAll();
Beschreibung:
Entfernt alle Werte aus dem Vector. Ist der Vector schon leer, funktioniert die Methode auch.
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
258
CDTVector Übersicht | Hierarchie
1.2.5.6.15 CDTVector::RemoveAt
Header:
void CDTVector::RemoveAt(int nIndex,int nCount);
Parameter:
· nIndex: ein Integerindex, der grösser 0 ist und kleiner als der Wert, den GetUpperBound liefert.
· nCount: Anzahl der zu entfernenden Elemente.
Beschreibung:
Entfernt ein oder mehrere Elemente im Vector, beginnend bei nIndex. Dabei werden die Elemente,
die nach dem(n) zu entfernenden Element(en) stehen, nach vorne geshiftet. Der Upper-Bound
Index wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(2.2);
V.Append(4.4);
V.Append(22.3);
V.Append(2.0);
V.Append(21.1);
V.Append(7.67);
int j;
V.RemoveAt(1,2);
j = V.GetUpperBound();
printf("%i \n",j);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.16 CDTVector::SetAt
Header:
void CDTVector::SetAt(int nIndex,DATETIME newElement);
Parameter:
· nIndex: Index im Vector
· newElement: neuer DATETIMEwert, der den alten am Index nIndex ersetzt.
Beschreibung:
Am Index nIndex wird ein neuer Wert newElement eingesetzt, dabei wird der alte Wert
überschrieben.
SetAt() sorgt nicht dafür, dass der Vector wächst. Um dies zu erreichen, dient die Funktion
SetAtGrow().
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(6.6);
V.Append(45.5);
V.Append(456.0);
V.SetAt(1,2.3);
DATETIME h;
© XOn Siftware GmbH, 2008
259
Referenzhandbuch
h=V.GetAt(1);
printf("%f\n",h);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.17 CDTVector::SetAtGrow
Header:
void CDTVector::SetAtGrow(int nIndex,DATETIME newElement);
Parameter:
nIndex: Index grösser gleich 0
newElement: neu einzufügender Wert, NULL ist auch erlaubt.
Beschreibung:
Das newElement wird an den entsprechenden nIndex eingefügt. Der Vector wächst automatisch,
wenn notwendig.
Der Upper-Bound wird inkrementiert.
Beispiel:
int method::OnRun()
{
CDTVector V;
V.Append(6.6);
V.Append(45.5);
V.Append(456.0);
V.SetAtGrow(7,2.3);
DATETIME h;
h=V.GetAt(7);
printf("%f\n",h);
return 1;
}
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.18 CDTVector::SetData
Header:
int CDTVector::SetData(int len,DATETIME val);
int CDTVector::SetData(int len,DATETIME* pval);
Parameter:
len: gewünschte Vektorlänge.
val: Einzelwert zur Vorbelegung
pval: Array von Werten zur Vorbelegung
Beschreibung:
Variante 1: es wird eine Vectorlänge len festgelegt und der Wert val hinzugefügt.
Variante 2: es wird eine Vectorlänge len festgelegt und Werte aus dem Vector pval hinzugefügt.
Rückgabewert:
1 wenn erfolgreich
Siehe auch:
CDTVector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
260
1.2.5.6.19 CDTVector::SetSize
Header:
void CDTVector::SetSize(int nNewSize,int nGrowBy);
Parameter:
· nNewSize: neue Größe des Vectors (Anzahl Elemente); muss größer oder gleich 0 sein.
· nGrowBy: minimale Anzahl der Einschub-Elemente, die belegt werden müssen, wenn eine
Vergrösserung notwendig ist. DEFAULT -1
Beschreibung:
Legt die Größe eines leeren oder bereits existierende Vectors fest, reserviert Speicher, wenn
nötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wird
freigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nicht
verwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen und
Kopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dass
Fragmentierung vermieden wird.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.6.20 CDTVector::Sort
Header:
void CDTVector::SetAtGrow(int nIndex,char* newElement);
Parameter:
flag: typ int
Bedeutung von flag
Bezeichner
Wert
SORT_ASC
0
SORT_DESC
1
Beschreibung
Sortierung in aufsteigender
Reihenfolge
Sortierung in fallender
Reihenfolge
Beschreibung:
Diese Methode sortiert die Elemente des CDTVectors. Ist das Flag SORT_DESC gesetzt, erfolgt
die Sortierung absteigend, sonst aufsteigend.
Siehe auch:
CDTVector Übersicht | Hierarchie
1.2.5.7
CF8Vector
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden :
© XOn Siftware GmbH, 2008
261
Referenzhandbuch
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
CF8Vector::GetDim
CF8Vector::GetData
CF8Vector::SetData
CF8Vector::SetAt
CF8Vector::GetAt
CF8Vector::Min
CF8Vector::Max
CF8Vector::Add
CF8Vector::Sub
CF8Vector::Mult
CF8Vector::Div
CF8Vector::Mean
CF8Vector::Variance
CF8Vector::Moment
CF8Vector::Histogram
CF8Vector::LinFit
CF8Vector::PolyFit
CF8Vector::ExpFit
CF8Vector::AsLin
CF8Vector::AsPoly
CF8Vector::AsExp
CF8Vector::Hanning
CF8Vector::Hamming
CF8Vector::Triangle
CF8Vector::Blackman
CF8Vector::ExactBlackman
CF8Vector::BlackmanHarries
CF8Vector::KaiserBessel
CF8Vector::FlatTop
CF8Vector::GeneralCosine
CF8Vector::CosineTapered
CF8Vector::Force
CF8Vector::Exponential
CF8Vector::FHT
CF8Vector::FFT
CF8Vector::IFFT
CF8Vector::Power
CF8Vector::Convolve
CF8Vector::Sinus
CF8Vector::TrianglePattern
CF8Vector::Square
CF8Vector::GaussWhiteNoise
CF8Vector::FIRPara
CF8Vector::FIR
CF8Vector::IIR
CF8Vector::Integral
CF8Vector::Derivative
CF8Vector::Copy
CF8Vector::CrossPower
CF8Vector::CF8Vector
CF8Vector::Edit
CF8Vector::FreeExtra
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
·
·
·
·
·
·
·
·
·
·
·
·
262
CF8Vector::GetSize
CF8Vector::GetUpperBound
CF8Vector::InsertAt
CF8Vector::MrqFit
CF8Vector::Let
CF8Vector::RemoveAll
CF8Vector::RemoveAt
CF8Vector::Scalarproduct
CF8Vector::SetAtGrow
CF8Vector::SetDim
CF8Vector::SetSize
CF8Vector::Sort
1.2.5.7.1 CF8Vector::Add
Syntax:
int Add(CF8Vector *Y);
int Add(double f);
Beschreibung:
addiert komponentenweise diesen Vektor mit dem Vektor Y oder der Zahl f. Die neuen Werte sind
also Xi +Yi oder Xi+f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. Das
Ergebnis wird in diesem Vektor abgelegt.
Rückgabewert:
0: Operation gelungen
-10: unzulässiger Zeiger
-11: Dimensionskonflikt
Beispiel:
{
CF8Vector X,Y,Z;
X.SetDim(100,2.0);
Y.SetDim(100,1.0);
Z.SetDim(99,3.0);
//zwei Vektoren addieren
X.Add(&Y); // Ok, Dimensionen sind gleich
Y.Add(&Z); // Fehler, Dimensionskonflikt
//Vektor + Zahl
Y.Add(1.2);
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.2 CF8Vector::Append
Synatx:
int Append(CF8Vector *pV);
int Append(double *pF,int nLen);
Parameter:
· pV: Zeiger auf den anzufügenden Vektor
· pF: anzufügendes Array
· nLen: Länge des anzufügenden Arrays
Beschreibung:
Fügt an den bestehenden Vektor den Inhalt vom Vektor pV oder dem Array pF an.
© XOn Siftware GmbH, 2008
263
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.3 CF8Vector::AsExp
Syntax:
int AsExp(double a,double b,double c);
Parameter:
· a,b,c: Parameter der Exponentialfunktion.
Beschreibung:
Rechnet die Werte des Vektors in eine Exponentialfunktion um. Mit dieser Funktion läßt sich
besonders einfach das Ergebnis der Methode ExpFit darstellen. Die Werte xi werden umgerechnet
in die Werte yi mit der Formel
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.4 CF8Vector::AsLin
Syntax:
int AsLin(double a, double b);
Parameter:
· a,b: Parameter der linearen Funktion ax+b
Beschreibung:
Rechnet die Werte des Vektors in eine lineare Funktion um. Mit dieser Funktion läßt sich
besonders einfach das Ergebnis der Methode LinFit darstellen. Die Werte xi werden umgerechnet
in die Werte yi mit der Formel
yi = a * xi + b
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.5 CF8Vector::AsPoly
Syntax:
int asPoly(CF8Vector* pP);
Parameter:
· pP: Parameter der Polynomfunktion
Beschreibung:
Rechnet die Werte des Vektors in eine Polynomfunktion um. Mit dieser Funktion läßt sich
besonders einfach das Ergebnis der Methode PolyFit darstellen. Die Werte xi werden
umgerechnet in die Werte yi mit der Formel
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
264
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.6 CF8Vector::Blackman
Syntax:
int Blackman();
Beschreibung:
gewichtet den Vektor mit der Blackman- Fensterfunktion. Die gewichteten Werte yi ergeben sich
aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.Blackman();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.7 CF8Vector::BlackmanHarries
Syntax:
int BlackmanHarris();
Beschreibung:
gewichtet den Vektor mit der Blackman- Harries- Fensterfunktion. Die gewichteten Werte yi
ergeben sich aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.BlackmanHarris();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
© XOn Siftware GmbH, 2008
265
Referenzhandbuch
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.8 CF8Vector::CF8Vector
Header:
CF8Vector* CF8Vector::CF8Vector();
Beschreibung:
Konstruktor.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.9 CF8Vector::Convolve
Syntax:
int Convolve(CF8Vector *pV,CF8Vector *pResult);
Parameter:
· pV: Vektor, mit dem Gefaltet wird
· pResult: Ergebnisvektor
Beschreibung:
errechnet die diskrete Faltung zwischen diesem und dem Vektor pV und legt das Ergebnis in
pResult ab.
Die Faltung h(t) zweier Funktionen x(t) und y(t) ist definiert als
Die diskrete Implementierung der Faltung ermittelt sich nach der Formel
mit n ist die Länge dieses Vektors und m ist die Länge von pV.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.10 CF8Vector::Copy
Header:
CF8Vector* CF8Vector::Copy();
Beschreibung:
Kopiert den Vektor und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.11 CF8Vector::CosineTapered
Syntax:
int CosineTapered();
Beschreibung:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Gewichtet den Vektor mit der zugespitzten Cosinus- Fensterfunktion. Die gewichteten Werte yi
ergeben sich aus den ungewichteten Werten xi nach der Formel
mit w = 2p i / n, m = round(n/10) und n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
pDaten->CosineTapered();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.12 CF8Vector::CrossPower
Header:
int CF8Vector::CrossPower(CF8Vector*,CF8Vector*,CF8Vector*)
Beschreibung:
Rückgabewert:
Beispiel:
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.13 CF8Vector::Derivative
Syntax:
int Derivative(double h);
int Derivative(double h,double left,double right);
Parameter:
· h: Schrittweite
· left: linker Randwert (optional)
· right: rechter Randwert (optional)
Beschreibung:
Differenziert diskret über die Werte des Vektors mit Schrittweite h. Als Näherungsformel dient
für 0 <= i < n
für 0 <= i < n
werden die Werte left und right angegeben, so gilt
X-1 = left
Xn = right
andernfalls gilt
X-1 = Xn = 0
© XOn Siftware GmbH, 2008
266
267
Referenzhandbuch
Rückgabewert:
· -1: Dimension des Vektors ist zu klein
· 0: Operation erfolgreich (Patient tot)
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.14 CF8Vector::Div
Syntax:
int Div(CF8Vector *pV);
int Div(double f);
Beschreibung:
dividiert komponentenweise diesen Vektor mit dem Vektor Y oder der Zahl f. Die neuen Werte
sind also Xi /Yi oder Xi/f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. Das
Ergebnis wird in diesem Vektor abgelegt.
Rückgabewert:
0: Operation gelungen
-10: unzulässiger Zeiger
-11: Dimensionskonflikt
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.15 CF8Vector::Edit
Header:
int CF8Vector::Edit(char* text);
Parameter:
· text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Rückgabewert:
int-Wert, ob erfolgreich oder nicht.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.16 CF8Vector::ExactBlackman
Syntax:
int ExactBlackman();
Beschreibung:
gewichtet den Vektor mit der exakten Blackman- Fensterfunktion. Die gewichteten Werte yi
ergeben sich aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
268
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.ExaktBlackman();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.17 CF8Vector::ExpFit
Synatx:
int ExpFit(CF8Vector *Y,double *a,double *b,double *c);
Parameter:
· Y: Y-Werte der Eingabepunkte
· a: Zeiger auf einen Buffer für Parameter a (Faktor)
· b: Zeiger auf einen Buffer für Parameter b (Exponent)
· c: Zeiger auf einen Buffer für Parameter c (Offset)
Beschreibung:
Errechnet die Parameter a,b,c einer Exponentialkurve der Form
f(x) = a ebx + c
so, daß die Kurve möglichst nahe an den Eingabewerten liegt. Als Maß für die Güte dient
mit fi = f(xi)
Rückgabewert:
Status der Operation.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.18 CF8Vector::Exponential
Syntax:
int Exponential(double f);
Parameter:
· f: Endwert.
Beschreibung:
Gewichtet den Werte des Vektors mit der allgemeinen Cosinus- Fensterfunktion. Die gewichteten
Werte yi ergeben sich aus den ungewichteten Werten xi nach der Formel
mit
n ist die Länge des Vektors, f ist der Endwert
Beispiel:
© XOn Siftware GmbH, 2008
269
Referenzhandbuch
int method::OnRun()
{
CF8Vector Daten,A;
Daten.SetData(1000,1.0);
Daten.Exponential(15.0);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
1.2.5.7.19 CF8Vector::FFT
Syntax:
int FFT(CF8Vector* pIm,CF8Vector* pResultRe,CF8Vector* pResultIm);
int FFT(CF8Vector* pResultRe,CF8Vector* pResultIm);
Parameter:
· pIm: Imaginärteil des Signals (optional)
· pResultRe: Realteil der Transformierten
· pResultIm: Imaginärteil der Transformierten
Beschreibung:
berechnet die komplexe Fourier- Transformierte. Als Realteil der zu transformierenden Zeitreihe
gelten die Werte dieses Vektors, als Imaginärteil die Werte von pIm. Wird pIm nicht angegeben (2.
Variante) so werden dessen Werte als Null angenommen. Der Realteil des Ergebnisses wird in
pResultRe abgelegt, der Imaginärteil in pResultIm. Ist die Länge der Ausgangsvektoren eine
Zweierpotenz, so wird ein schneller Algorithmus angewendet (FFT), andernfalls ein langsamer
(DFT).
Die Fouriertransformierte einer Funktion x(t) ist definiert als
Die diskrete Implementierung der Fourier- Transformation liefert den Ergebnisvektor Y nach der
Formel
Rückgabewert:
0: Operation erfolgreich
-1: unzulässige Vektordimension
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.20 CF8Vector::FHT
Syntax:
int FHT(CF8Vector* pResult);
Beschreibung:
berechnet die (wenn möglich schnelle) Hartley- Transformation dieses Vektors und legt das
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
270
Ergebnis im Vektor pResult ab. Die Größe des Ergebnisvektors wird nötigenfalls angepaßt.
Die Hartley- Transformierte einer Funktion x(t) ist definiert als
Die diskrete Implementierung der Hartley- Transformation liefert den Ergebnisvektor Y nach der
Formel
Die erneute Anwendung des FHT- Algorithmus auf die Transformierte liefert wieder an
Ausgangsvektor. Die FHT- Transformierte ist also ihre eigene Inverse!
Rückgabewert:
0: Operation erfolgreich
-1: unzulässige Vektordimension
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.21 CF8Vector::FIR
Synatx:
int FIR(CF8Vector* pPara,CF8Vector *pBuf);
Parameter:
· pPara: Filterparameter
· pBuf: Zwischenbuffer
Beschreibung:
Führt mit den Werten des Vektors eine Finit- Impulse- Response- Filterung durch. Die
Filterparameter werden in der Variablen pPara übergeben. Filterparameter können beispielsweise
durch einen Aufruf von FIRPara ermittelt werden. Das Filtrat errechnet sich nach der Formel
Der Parameter pBuf dient als Übertragsspeicher falls ein langes Signal in mehreren Schritten
gefiltert werden soll.
Beispiel:
int method::OnRun()
{
CF8Vector V1,V2,Fil,Buf;
//Filterparameter ermitteln
Fil.FIRPara(0,0,20,1000.0,20.0,0.0);
for (int j=0;j<2;j++)
{
//Als Signal dient ein verrauschter Sinus
V1.GaussWhiteNoise(1200,0.1);
V2.Sinus(1200,0.0,1.0,3.0);
V2.Add(&V1);
//Signal filtern (Übertrag in Buf)
V2.FIR(&Fil,&Buf);
}
return 1;
}
Rückgabewert:
Status.
© XOn Siftware GmbH, 2008
271
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.22 CF8Vector::FIRPara
Syntax:
int FIRPara(int typ,int win,int ord,double fa,
double fu,double fo);
Parameter:
· typ:
0: Tiefpass
1: Hochpass
2: Bandpass
3: Bandsperr
· win:
0: keine Fensterfunktion
1: Hanning
2: Hamming
3: Dreieck
4: Blackman
5: exakter Blackman
6: FlatTop
· ord: Ordnung des Filters (ord>0)
· fa: Abtastfrequenz
· fu: untere Grenzfrequenz
· fo: obere Grenzfrequenz (wird nur für Bandpass- und Bandsperrfilter benötigt)
Beschreibung:
ermittelt die Filterkoeffizienten eines idealen FIR- Filters der Ordnung ord und legt das Ergebnis in
diesem Vektor ab. Rufen sie mit den so ermittelten Parametern die Methode FIR eines Signals,
um eine Filterung durchzuführen.
Beispiel:
int method::OnRun()
{
CF8Vector V1,V2,Fil,Buf;
//Als Signal dient ein verrauschter Sinus
V1.GaussWhiteNoise(1000,0.1);
V2.Sinus(1000,0.0,1.0,3.0);
V2.Add(&V1);
/*
* Filterparameter ermitteln:
*
0: Tiefpass
*
0: kein Fenster
*
20: Ordnung 20
* 1000.0: Abtastfrequenz
*
20.0: untere Abtastfrequenz
*
0.0: obere Abtastfrequenz (hier nicht benötigt)
*/
Fil.FIRPara(0,0,20,1000.0,20.0,0.0);
//Signal filtern
V2.FIR(&Fil,&Buf);
return 1;
}
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
272
CF8Vector Übersicht | Hierarchie
1.2.5.7.23 CF8Vector::FlatTop
Syntax:
int FlatTop();
Beschreibung:
gewichtet den Vektor mit der Flat- Top- Fensterfunktion. Die gewichteten Werte yi ergeben sich
aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.FlatTop();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.24 CF8Vector::Force
Syntax:
int CF8Vector::Force(double p);
Parameter:
· p: Prozentualer Anteil
Beschreibung:
Gewichtet den Vektor mit der Force- Fensterfunktion. Die gewichteten Werte yi ergeben sich aus
den ungewichteten Werten xi nach der Formel
mit d=n/100 und n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
pDaten->Force(30.0);
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
© XOn Siftware GmbH, 2008
273
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.25 CF8Vector::FreeExtra
Header:
void CF8Vector::FreeExtra();
Beschreibung:
Gibt Speicherplatz frei, der nicht benötigt wird, nachdem der Vector vergrössert wurde.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.26 CF8Vector::GaussWhiteNoise
Syntax:
int GaussWhiteNoise(int len,double s);
Parameter:
· len : gewünschte Länge des Vektors
· s : Standardabweichung
Beschreibung:
füllt den Vektor mit einer folge von Zufallszahlen.
Die Länge des Vektors wird auf len Elemente festgelegt. Die Länge len muß mindestens 2 sein.
Die Zufallszahlen sin Gaussverteilt mit Parametern .Die Dichtefunktion der Verteilung ist
Rückgabewert:
Status.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.27 CF8Vector::GeneralCosine
Syntax:
int GeneralCosine(CF8Vector *pA);
Parameter:
· pA: Cosinus- Koeffizienten
Beschreibung:
Gewichtet den Werte des Vektors mit der allgemeinen Cosinus- Fensterfunktion. Die gewichteten
Werte yi ergeben sich aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Ausgangsvektors, m ist die Länge von pA.
Beispiel:
int method::OnRun()
{
CF8Vector Daten,A;
Daten.SetData(1000,1.0);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
A.Edit("Cosinusparameter eingeben");
Daten.GeneralCosine(&A);
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.28 CF8Vector::GetAt
Syntax:
int GetAt(int idx,double *pBuf);
Parameter:
· idx: Index des Vektorelementes
· pBuf: Ergebnisbuffer
Beschreibung:
Kopiert den Wert des durch idx beschriebenen Vektorelementes in den Ergebnisbuffer pBuf. Ist
der Index unzulässig, wird die Anweisung ignoriert.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.SetData(10,0.0,1.0);
double f;
V.GetAt(5,&f);
return 1;
}
Rückgabewert:
0: OK
-1: unzulässiger Index
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.29 CF8Vector::GetData
Syntax:
double* GetData();
Beschreibung:
liefert einen Zeiger auf die Daten des Vektors.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.30 CF8Vector::GetDim
Syntax:
int GetDim();
Beschreibung:
liefert die Länge des Vektors.
© XOn Siftware GmbH, 2008
274
275
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.31 CF8Vector::GetSize
Header:
int CF8Vector::GetSize();
Beschreibung:
Gibt die Größe des Vectors zurück. Beginnt der Index bei 0, ist die Größe um 1 grösser als der
höchste Index.
Rückgabewert:
Grösse als int-Wert.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.Append(4.6);
V.Append(6.6);
V.Append(33.3);
V.Append(6.6);
int j;
j=V.GetSize();
printf("%i \n",j);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.32 CF8Vector::GetUpperBound
Header:
int CF8Vector::GetUpperBound();
Beschreibung:
gibt den momentan größten Index zurück.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.Append(2.2);
V.Append(4.4);
V.Append(54.6);
V.Append(77.0);
int j;
j=V.GetUpperBound();
printf("%i \n",j);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
276
1.2.5.7.33 CF8Vector::Hamming
Syntax:
int Hamming();
Beschreibung:
gewichtet den Vektor mit der Hamming- Fensterfunktion. Die gewichteten Werte yi ergeben sich
aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector *pDaten;
pDaten=GetPoolVector(0);
if (!pDaten)
return 1;
pDaten->Hamming();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.34 CF8Vector::Hanning
Syntax:
int Hanning();
Beschreibung:
gewichtet den Vektor mit der Hanning- Fensterfunktion. Die gewichteten Werte yi ergeben sich
aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector *pDaten;
pDaten=GetPoolVector(0);
if (!pDaten) return 1;
pDaten->Hanning(pDaten->GetDim());
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
277
Referenzhandbuch
1.2.5.7.35 CF8Vector::Histogram
Syntax:
int Histogram(CF8Vector *pResult);
Parameter:
· pResult: Ergebnisbuffer
Beschreibung:
ermittelt das diskrete Histogram der Eingabefolge. Das Histogram enthält für jedes Intervall Di die
Anzahl der Werte, die im Intervall liegen. Als Anzahl der Intervalle wird die Länge von pResult
angenommen. Die Intervalle ergeben sich wie folgt:
ist die Intervallbreite, dabei sind min das Minimum und max das Maximum der Ausgangsdaten.
für i=0,...,m-2 und
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.36 CF8Vector::IFFT
Syntax:
int IFFT(CF8Vector* pIm,CF8Vector* pResultRe,CF8Vector* pResultIm);
int IFFT(CF8Vector* pResultRe,CF8Vector* pResultIm);
Parameter:
· pIm: Imaginärteil des Spektrums (optional)
· pResultRe: Realteil der Rücktransformierten
· pResultIm: Imaginärteil der Rücktransformierten
Beschreibung:
berechnet die inverse Fourier- Transformierte. Als Realteil des zu transformierenden Spektrums
gelten die Werte dieses Vektors, als Imaginärteil die Werte von pIm. Wird pIm nicht angegeben (2.
Variante) so werden dessen Werte als Null angenommen. Der Realteil des Ergebnisses wird in
pResultRe abgelegt, der Imaginärteil in pResultIm. Ist die Länge der Ausgangsvektoren eine
Zweierpotenz, so wird ein schneller Algorithmus angewendet (IFFT), andernfalls ein langsamer
(IDFT).
Die inverse Fouriertransformierte einer Funktion X(t) ist definiert als
Die diskrete Implementierung der Fourier- Transformation liefert den Ergebnisvektor Y nach der
Formel
Rückgabewert:
0: Operation erfolgreich
-1: unzulässige Vektordimension
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
278
1.2.5.7.37 CF8Vector::IIR
Synatx:
int IIR(CF8Vector* a, CF8Vector* b);
Parameter:
· a: (vorwärts-) Filterparameter
· b: (rückwärts-) Filterparameter
Beschreibung:
Führt mit den Werten des Vektors eine Infinit- Impulse- Response- Filterung durch. Die
Filterparameter werden in der Variablen a und b übergeben. Das Filtrat errechnet sich nach der
Formel
Rückgabewert:
Status.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.38 CF8Vector::InsertAt
Header:
int CF8Vector::InsertAt(int nIndex, CF8Vector* vVec);
int CF8Vector::InsertAt(int nIndex,double newElement,int nCount = 1);
Parameter:
· nIndex: Index, ab dem neu eingefügt werden soll. Darf auch größer sein, als der Wert, den
GetUpperBound() liefert.
· vVec: Zeiger auf den Vector, dessen Elemente kopiert werden sollen.
· newElement: das Element im Vector, das ersetzt werden soll.
· nCount: die Anzahl, wie oft das newElement in den Vector eingefügt werden soll. DEFAULT 1
mal.
Beschreibung:
· Variante 1:
Ab dem Index nIndex sollen die Werte des Vectors vVec eigefügt werden.
· Variante 2:
Ab dem Index nIndex soll der Wert newElement nCount mal in den Vector eingefügt werden. Im
Gegensatz zur SetAt()-Methode werden hier die Elemente innerhalb des Vectors geshiftet.
Rückgabewert:
Variante 1:
zurückgegeben wird die Anzahl der neu eingef&ugten Elemente.
Beispiel:
int method::OnRun()
{
CF8Vector V,W,*X;
V.Append(2.0);
V.Append(5.5);
V.Append(6.6);
W.Append(2.2);
W.Append(67.8);
W.Append(66.6);
W.Append(90.1);
X=&W;
© XOn Siftware GmbH, 2008
279
Referenzhandbuch
int i,j,k,l;
double m;
i = V.InsertAt(2,X);
j = V.GetUpperBound();
k = W.InsertAt(10,66.66,8);
m = W.GetAt(11);
l = W.GetUpperBound();
printf("%i %i %i %i %.3f\n",i,j,k,l,m);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.39 CF8Vector::Integral
Synatx:
int Integral(double h);
int Integral(double h,double left,double right);
Parameter:
· h: Schrittweite
· left: linker Randwert (optional)
· right: rechter Randwert (optional)
Beschreibung:
Integriert diskret über die Werte des Vektors mit Schrittweite h. Die neuen Werte ergeben sich
nach der Formel
für 0 <= i < n
werden die Werte left und right angegeben, so gilt
X-1 = left
Xn = right
andernfalls gilt
X-1 = Xn = 0
Rückgabewert:
-1: Dimension des Vektors ist zu klein
0: Operation erfolgreich (Patient tot)
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.40 CF8Vector::KaiserBessel
Syntax:
int KaiserBessel(Real beta);
Parameter:
· beta: Fensterparameter
Beschreibung:
gewichtet den Vektor mit der Kaiser- Bessel- Fensterfunktion. Die gewichteten Werte yi ergeben
sich aus den ungewichteten Werten xi nach der Formel
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
für i=0,...,n-1
n ist die Länge des Vektors und I0 ist die modifizierte Besselfunktion nullter Ordnung.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.KaiserBessel(5.0);
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.41 CF8Vector::Let
Header:
int CF8Vector::Let(CF8Vector* vVec);
Beschreibung:
Kopiert die Werte von vVec in den aufrufenden Vektor
Rückgabewert:
0, bei Erfolg
kleiner 0, sonst
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.42 CF8Vector::LinFit
Synatx:
double LinFit(CF8Vector *y,double *a,double* b);
Parameter:
· y: Y-Werte der Eingabepunkte
· a: Zeiger auf einen Buffer für Parameter a (Faktor)
· b: Zeiger auf einen Buffer für Parameter b (Exponent)
Beschreibung:
Errechnet die Parameter a und b einer Geraden der Form
f(x) = a x + b
so, daß die Kurve möglichst nahe an den Eingabewerten liegt. Als Maß für die Güte dient
mit fi = f(xi)
Die Freiheitsgrade werden so angepaßt, daß e minimiert wird.
Rückgabewert:
Status der Operation.
© XOn Siftware GmbH, 2008
280
281
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.43 CF8Vector::Max
Synatx:
double Max();
Beschreibung:
Max ermittelt den größten Eintrag im Vektor.
Rückgabewert:
größter Wert im Vektor.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.44 CF8Vector::Mean
Synatx:
double CF8Vector::Mean();
Beschreibung:
errechnet den Mittelwert des Vektors nach der Formel
Rückgabewert:
Mittelwert des Vektors.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.45 CF8Vector::Median
Synatx:
int Median(double *pRes,double med,...);
Parameter:
· pRes: Ergebnisbuffer
· med: Median in Prozent
Beschreibung:
Diese Methode sortiert die Werte des Vektors und liefert dann den Wert mit dem Index n*med/100
oder einen linear interpolierten Zwischenwert. Die Liste der Parameter ist mit einer 0L
abzuschließen.
Beispiel:
{
CF8Vector V;
V.GaussWhiteNoise(1000,5.0);
double f10,f50,f90;
V.Median(&f10,10.0,&f50,50.0,&f90,90.0, 0L);
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
282
1.2.5.7.46 CF8Vector::Min
Synatx:
double Min();
Beschreibung:
Min ermittelt den kleinsten Eintrag im Vektor.
Rückgabewert:
kleinster Wert im Vektor.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.47 CF8Vector::Moment
Synatx:
int Moment(double* moment,int k);
int Moment(double* moment,int k,double *mean);
Parameter:
· moment: Ergebnisbuffer für das k-te Moment
· mean: Ergebnisbuffer für den Mittelwert
· k: gewünschte Ordnung des Moments
Beschreibung:
berechnet das k- te Moment des Vektors. Wird ein Ergebnisbuffer mean angegeben, dann wird
das k-te zentrale Moment mi berechnet, andernfalls das k-te Moment ai . Die Größen ergeben sich
nach den Formeln:
und
Dabei ist n die Länge des Vektors und m der Mittelwert.
Rückgabewert:
0 Operation erfolgreich
-1 unzulässige Ordnung k
-2: unzulässige Vektordimension
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.48 CF8Vector::MrqFit
Header:
int CF8Vector::MrqFit(CF8Vector* vOne,CF8Vector* vTwo,void* fgauss)
Beschreibung:
Mit dieser Funktion werden nach dem Algorithmus von Levenberg/Marquard die
Regressionsparameter einer benutzerdefinierten Funktion bestimmt. Mit Hilfe der nichtlinearen
Funktion fgauss soll zwischen Zufallswerten ein Ausgleichgraph entstehen.
Die zugrundeliegende Formel lautet:
© XOn Siftware GmbH, 2008
283
Referenzhandbuch
Rückgabewert:
0, wenn erfolgreich.
Beispiel:
/*
* Modellfunktion y(x,a)
*/
void fgauss(
//
double x,
double *a, //Parameter
double *y,
double *dyda,
int ma)
{
int i;
double fac,ex,arg;
*y=0.0;
for (i=0;iSetTraceAtt(1150,1);
pK->SetTraceAtt(1152,200);
pK->SetTraceAtt(9220,"X1-Sym",44);
pK->SetTraceAtt(7220,0,0,192,192,255);
pK->SetTraceAtt(6220,1,0,0,0,255);
pK->SetTraceAtt(6221,0,0,0,0,0);
break;
case 0:
pK->SetTraceAtt(1150,1);
pK->SetTraceAtt(6221,1,40,255,0,0);
break;
}
pK->SetTraceAtt(4150,"AX");
pK->SetTraceAtt(4151,"AY");
pK->SetTraceAtt(4154,szName);
pK->SetTraceAtt(10020,pX);
pK->SetTraceAtt(10021,pY);
return pK;
}
int method::OnRun()
{
int len=10;
CF8Vector X,Y,Xr,Yr,R,A;
//Testdaten erzeugen
X.SetData(len,1.0,0.0);
Y.SetData(len,1.0,0.0);
A.SetData(6,0.7,0.5);
Y.AsMrq(&A,fgauss);
R.GaussWhiteNoise(len,0.5);
Y.Add(&R);
/*
* Der dritte Parameter von MrqFit muß vom Typ mrqfit sein,
* das wie folgt definiert ist:
* typedef void (mrqfnc)(double,const double*,double *,double *,int);
*/
int i;
i = X.MrqFit(&Y,&A,fgauss);
Xr.SetData(201,0.005*len,0.0);
Yr.SetData(201,0.005*len,0.0);
Yr.AsMrq(&A,fgauss);
LEG.Clear();
LEG.AddTrace(CreateTrace(&X,&Y,1,"Zufallswerte"));
LEG.AddTrace(CreateTrace(&Xr,&Yr,0,"Interpolation"));
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
284
GetDocument()->Invalidate();
printf("%i\n",i);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.49 CF8Vector::Mult
Syntax:
int Mult(CF8Vector *pV);
int Mult(double f);
Beschreibung:
multipliziert komponentenweise diesem Vektor mit dem Vektor Y oder der Zahl f. Die neuen Werte
sind also Xi *Yi oder Xi*f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. Das
Ergebnis wird in diesem Vektor abgelegt.
Rückgabewert:
0: Operation gelungen
-10: unzulässiger Zeiger
-11: Dimensionskonflikt
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.50 CF8Vector::PolyFit
Synatx:
int PolyFit(CF8Vector *y,CF8Vector *P);
Parameter:
· y: Y-Werte der Eingabepunkte
· P: Zeiger auf einen Vektor, der die Polynomparameter erhält. Die Dimension von P gibt die
Dimension des Polynoms vor.
Beschreibung:
Errechnet die Parameter p einer Polynomkurve der Form
so, daß die Kurve möglichst nahe an den Eingabewerten liegt. Als Dimension k des Polynoms wird
die Länge des Eingabevektors P verwendet. Als Maß für die Güte dient
mit fi = f(xi)
Rückgabewert:
Status der Operation:
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
285
Referenzhandbuch
1.2.5.7.51 CF8Vector::Power
Syntax:
int Power(CF8Vector* pResult);
Parameter:
· pResult: Ergebnisvektor
Beschreibnung:
errechnet das Leistungsspektrum dieses Vektors und legt das Ergebnis im Vektor pResult ab.
Das Leistungsspektrum Sxx(t) einer Funktion x(t) ist definiert als
mit
X* ist dabei die konjugiert komplexe von X.
Die Methode verwendet zur Errechnung des diskreten Leistungsspektrums die Methode FFT.
Besonders effizient ist die Berechnung, wenn die Länge des Ausgangsvektors eine Zweierpotenz
ist.
Rückgabewert:
0: Operation erfolgreich
-1: unzulässige Vektordimension
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.52 CF8Vector::RemoveAll
Header:
void CF8Vector::RemoveAll();
Beschreibung:
Entfernt alle Werte aus dem Vector. Ist der Vector schon leer, funktioniert die Methode auch.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.53 CF8Vector::RemoveAt
Header:
void CF8Vector::RemoveAt(int nIndex,int nCount);
Parameter:
· nIndex: ein Integerindex, der grösser 0 ist und kleiner als der Wert, den GetUpperBound() liefert.
· nCount: Anzahl der zu entfernenden Elemente.
Beschreibung:
Entfernt ein oder mehrere Elemente im Vector, beginnend bei nIndex. Dabei werden die Elemente,
die nach dem(n) zu entfernenden Element(en) stehen, nach vorne geshiftet. Der Upper-Bound
Index wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.Append(2.2);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
V.Append(4.4);
V.Append(22.3);
V.Append(2.0);
V.Append(21.1);
V.Append(7.67);
int j;
V.RemoveAt(1,2);
j = V.GetUpperBound();
//3
printf("%i \n",j);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.54 CF8Vector::Scalarproduct
Header:
double CF8Vector::Scalarproduct(CF8Vector* vVec);
Beschreibung:
berechnet das Skalarprodukt zwischen dem aufrufenden Vector und dem Vector vVec.
Rückgabewert:
double-Wert des Skalarprodukts.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.55 CF8Vector::SetAt
Syntax:
void SetAt(int idx,double val);
Parameter:
· idx: Index des Vektorelementes
· val: neuer Eintrag
Beschreibung:
Setzt den Wert des durch idx beschriebenen Vektorelementes auf val. Ist der Index unzulässig,
wird die Anweisung ignoriert.
Rückgabewert:
0: OK
-1: unzulässiger Index
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.56 CF8Vector::SetAtGrow
Header:
void CF8Vector::SetAtGrow(int nIndex,double newElement);
Parameter:
· nIndex: Index grösser gleich 0
· newElement: neu einzufügender Wert, NULL ist auch erlaubt.
© XOn Siftware GmbH, 2008
286
287
Referenzhandbuch
Beschreibung:
Das newElement wird an den entsprechenden nIndex eingefügt. Der Vector wächst automatisch,
wenn notwendig.
Der Upper-Bound wird inkrementiert.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.Append(6.6);
V.Append(45.5);
V.Append(456.0);
V.SetAtGrow(7,2.3);
double h;
h=V.GetAt(7);
printf("%f\n",h);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.57 CF8Vector::SetData
Syntax:
void SetData(int len, double* pval);
void SetData(int len,double val);
void SetData(int len,double a,double b);
Parameter:
· len: gewünschte Vektorlänge bzw. Anzahl Werte in pval
· pval: Array von Werten zur Vorbelegung
· val: Einzelwert zur Vorbelegung
· a: Steigung
· b: Offset
Beschreibung:
Setzt die Länge des Vektors auf len und füllt den Vektor wahlweise mit dem festen Wert Val, dem
Inhalt des Arrays pVals, oder einer linearen Zahlenfolge gemäß der Formel xi = a*i + b
Beispiel:
int method::OnRun()
{
CF8Vector V;
//Vektor mit hundert Werten, alle eins
V.SetData(100,1.0);
//Vektor mit Sinuskurve (Siehe auch Sinus(...)-Methode
double f[100];
for (int i=0;i<100;i++)
f[i]=sin(i/10.0);
V.SetData(100,f);
//Vektor mit 100 Werten von 1.0 bis 10.9
V.SetData(100,1.0,0.1);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
288
1.2.5.7.58 CF8Vector::SetDim
Header:
int CF8Vector::SetDim(int nDim);
Beschreibung:
Setzt die Dimension/Länge nDim des Vectors.
Rückgabewert:
1, wenn erfolgreich
0, wenn nDim z.B. kleiner 0
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.SetDim(9);
int h;
h=V.GetDim();
printf("%i\n",h);
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.59 CF8Vector::SetSize
Header:
void CF8Vector::SetSize(int nNewSize,int nGrowBy);
Parameter:
· nNewSize: neue Größe des Vectors (Anzahl Elemente); muss größer oder gleich 0 sein.
· nGrowBy: minimale Anzahl der Einschub-Elemente, die belegt werden müssen, wenn eine
Vergrösserung notwendig ist. DEFAULT -1
Beschreibung:
Legt die Größe eines leeren oder bereits existierende Vectors fest, reserviert Speicher, wenn
nötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wird
freigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nicht
verwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen und
Kopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dass
Fragmentierung vermieden wird.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.60 CF8Vector::Sinus
Syntax:
int Sinus(int len,double phase,double amplitude,double frequenz);
Parameter:
© XOn Siftware GmbH, 2008
289
Referenzhandbuch
·
·
·
·
len: gewünschte Länge des Vektors
phase: Phase der Sinuskurve
amplitude: Amplitude der Sinuskurve
frequenz: Anzahl der Schwingungen im Vektor
Beschreibung:
füllt den Vektor mit einer Sinuskurve.
Die Länge des Vektors wird auf len Elemente festgelegt. Die Elemente errechnen sich nach der
Formel
Die Länge muß mindestens 2 sein.
Rückgabewert:
Status.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.61 CF8Vector::Sort
Header:
void CF8Vector::Sort(int flag);
Parameter:
flag: typ int
Bedeutung von flag
Bezeichner
Wert
SORT_DESC
1
Beschreibung
Sortierung in fallender
Reihenfolge
Beschreibung:
Diese Methode sortiert die Elemente des CF8Vectors. Ist das Flag SORT_DESC gesetzt, erfolgt
die Sortierung absteigend, sonst aufsteigend.
Beispiel:
int method::OnRun()
{
CF8Vector V;
V.Append(4.6);
V.Append(6.6);
V.Append(33.3);
V.Append(6.6);
int j;
j=V.Sort(CF8Vector::SORT_DESC);
V.Edit("");
return 1;
}
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.62 CF8Vector::Square
Syntax:
int Square(int len,double phase,double amplitude,double frequenz);
Parameter:
· len: gewünschte Länge des Vektors
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
290
· phase: Phase der Viereckskurve
· amplitude: Amplitude der Viereckskurve
· frequenz: Anzahl der Schwingungen im Vektor
Beschreibung:
füllt den Vektor mit einer Viereckskurve.
Die Länge des Vektors wird auf len Elemente festgelegt.
Die Länge len muß mindestens 2 sein.
Rückgabewert:
Status.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.63 CF8Vector::Sub
Syntax:
int Sub(CF8Vector *pV);
int Sub(double f);
Beschreibung:
subtrahiert komponentenweise von diesem Vektor den Vektor Y oder der Zahl f. Die neuen Werte
sind also Xi -Yi oder Xi-f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. Das
Ergebnis wird in diesem Vektor abgelegt.
Rückgabewert:
0: Operation gelungen
-10: unzulässiger Zeiger
-11: Dimensionskonflikt
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.64 CF8Vector::Triangle
Syntax:
int Triangle();
Beschreibung:
gewichtet den Vektor mit der Dreiecks- Fensterfunktion. Die gewichteten Werte yi ergeben sich
aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
int method::OnRun()
{
CF8Vector Daten;
Daten.SetData(1000,1.0);
Daten.Triangle();
return 1;
}
Rückgabewert:
0: Operation erfolgreich
-1: Fehler
© XOn Siftware GmbH, 2008
291
Referenzhandbuch
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.65 CF8Vector::TrianglePattern
Syntax:
int TrianglePattern(int len,double phase,double amplitude,double frequenz);
Parameter:
· len: gewünschte Länge des Vektors
· phase: Phase der Dreieckskurve
· amplitude: Amplitude der Dreieckskurve
· frequenz: Anzahl der Schwingungen im Vektor
Beschreibung:
füllt den Vektor mit einer Dreieckskurve.
Die Länge des Vektors wird auf len Elemente festgelegt.
Die Länge len muß mindestens 2 sein.
Rückgabewert:
Status.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.7.66 CF8Vector::Variance
Synatx:
double Variance(double *mean);
Parameter:
· mean: Ergebnisbuffer für den Mittelwert
Beschreibung:
berechnet die Varianz s2 und den Mittelwert m des Vektors. Die Größen ergeben sich nach den
Formeln
mit
Dabei ist n ist die Länge des Vektors.
Rückgabewert:
Varianz des Vektors.
Siehe auch:
CF8Vector Übersicht | Hierarchie
1.2.5.8
CSTRVector
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Methoden:
· CSTRVector::Append
· CSTRVector::Copy
· CSTRVector::Edit
· CSTRVector::FreeExtra
· CSTRVector::GetAt
· CSTRVector::GetSize
· CSTRVector::GetUpperBound
· CSTRVector::InsertAt
· CSTRVector::Min
· CSTRVector::Max
· CSTRVector::RemoveAll
· CSTRVector::RemoveAt
· CSTRVector::SetAt
· CSTRVector::SetAtGrow
· CSTRVector::SetSize
· CSTRVector::Sort
· CSTRVector::CSTRVector
1.2.5.8.1 CSTRVector::Append
Header:
int CSTRVector::Append(char* newElement);
Beschreibung:
Fügt einen neuen char-Wert newElement an den nächstmöglichen Index in den Vektor ein.
Rückgabewert:
Gibt den Index des eingefügten Elements zurück.
Beispiel:
int method::OnRun()
{
CSTRVector S;
S.Append("Hansi");
S.Append("Peter");
printf("%s\n",S.GetAt(0));
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.2 CSTRVector::Copy
Header:
CSTRVector* CSTRVector::Copy();
Beschreibung:
Kopiert den Vektor und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CSTRVector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
292
293
Referenzhandbuch
1.2.5.8.3 CSTRVector::CSTRVector
Header:
CSTRVector::CSTRVector();
Beschreibung:
Konstruktor.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.4 CSTRVector::Edit
Header:
int CSTRVector::Edit(char* text);
Parameter:
· text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.5 CSTRVector::FreeExtra
Header:
void CSTRVector::FreeExtra();
Beschreibung:
Gibt Speicherplatz frei, der nicht benötigt wird, nachdem der Vector vergrössert wurde.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.6 CSTRVector::GetAt
Header:
char* CSTRVector::GetAt(int nIndex);
Parameter:
· nIndex: Intergerwert für den Index innerhalb des Vektors
Beschreibung:
Es wird der Wert beim Index nIndex zurückgegeben.
Rückgabewert:
String beim Index nIndex.
Beispiel:
int method::OnRun()
{
CSTRVector V;
char *Name="Hansi";
V.Append(Name);
V.Append("Peter");
V.Append("Otto");
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
294
printf("%s\n",V.GetAt(1));
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.7 CSTRVector::GetSize
Header:
int CSTRVector::GetSize();
Beschreibung:
liefert die Größe des Vektors.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.8 CSTRVector::GetUpperBound
Header:
int CSTRVector::GetUpperBound();
Beschreibung:
gibt den momentan größten Index zurück.
Beispiel:
int method::OnRun()
{
CSTRVector C;
char c='c';
char d='d';
char e='e';
C.Append(&c);
C.Append(&d);
C.Append(&e);
int i;
i=C.GetUpperBound();
printf("%i\n",i);
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.9 CSTRVector::InsertAt
Header:
int CSTRVector::InsertAt(int nIndex,CSTRVector* vVec);
int CSTRVector::InsertAt(int nIndex,char* newElement,int nCount);
Parameter:
· nIndex: Index, ab dem neu eingefügt werden soll. Darf auch größer sein, als der Wert, den
GetUpperBound() liefert.
· vVec: Zeiger auf den Vector, dessen Elemente kopiert werden sollen.
· newElement: das Element im Vector, das ersetzt werden soll.
· nCount: die Anzahl, wie oft das newElement in den Vector eingefügt werden soll. DEFAULT 1
mal.
© XOn Siftware GmbH, 2008
295
Referenzhandbuch
Beschreibung:
· Variante 1:
Ab dem Index nIndex sollen die Werte des Vectors vVec eigefügt werden.
· Variante 2:
Ab dem Index nIndex soll der Wert newElement nCount mal in den Vector eingefügt werden. Im
Gegensatz zur SetAt()-Methode werden hier die Elemente innerhalb des Vectors geshiftet.
Rückgabewert:
Variante 1: Zurückgegeben wird die Anzahl der neu eingef&ugten Elemente.
Beispiel:
int method::OnRun()
{
CSTRVector C,D;
char *c="Moritz";
char *d;
C.Append(c);
C.Append("Fritz");
C.Append("Ralf");
C.Append("Toni");
D.Append(c);
D.Append(c);
C.InsertAt(2,&D);
D.InsertAt(1,d,66);
int i,j;
char *t;
i=C.GetUpperBound();
j=D.GetUpperBound();
t=C.GetAt(4);
printf("%i %s %i\n",i,t,j);
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.10 CSTRVector::Max
Header:
char* CSTRVector::Max();
Beschreibung:
liefert den lexikalisch größten Wert im Vektor.
Beispiel:
int method::OnRun()
{
CSTRVector C;
char *t;
C.Append("Hansi");
C.Append("Ralf");
C.Append("Olaf");
t=C.Max();
printf("%s\n",t);
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
296
1.2.5.8.11 CSTRVector::Min
Header:
char* CSTRVector::Min();
Beschreibung:
liefert den lexikalisch kleinsten Wert im Vektor.
Beispiel:
int method::OnRun()
{
CSTRVector C;
char *t;
C.Append("Hansi");
C.Append("Ralf");
C.Append("Olaf");
t=C.Min();
printf("%s\n",t);
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.12 CSTRVector::RemoveAt
Header:
void CSTRVector::RemoveAt(int nIndex,int nCount);
Parameter:
· nIndex: ein Integerindex, der grösser 0 ist und kleiner als der Wert, den GetUpperBound liefert.
· nCount: Anzahl der zu entfernenden Elemente.
Beschreibung:
Entfernt ein oder mehrere Elemente im Vector, beginnend bei nIndex. Dabei werden die Elemente,
die nach dem(n) zu entfernenden Element(en) stehen, nach vorne geshiftet. Der Upper-Bound
Index wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:
int method::OnRun()
{
CSTRVector V;
V.Append("Ralf");
V.Append("Toni");
V.Append("Hans");
V.Append("Tim");
int j;
V.RemoveAt(1,2);
j = V.GetUpperBound();
//1
printf("%i \n",j);
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
297
Referenzhandbuch
1.2.5.8.13 CSTRVector::RemoveAll
Header:
void CSTRVector::RemoveAll();
Beschreibung:
Entfernt alle Werte aus dem Vector. Ist der Vector schon leer, funktioniert die Methode auch.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.14 CSTRVector::SetAt
Header:
void CSTRVector::SetAt(int nIndex,char* newElement);
Parameter:
· nIndex: Index im Vector
· newElement: neuer char-wert, der den alten am Index nIndex ersetzt.
Beschreibung:
Am Index nIndex wird ein neuer Wert newElement eingesetzt, dabei wird der alte Wert
überschrieben.
SetAt() sorgt nicht dafür, dass der Vector wächst. Um dies zu erreichen, dient die Funktion
SetAtGrow().
Beispiel:
int method::OnRun()
{
CSTRVector V;
V.Append("Hansi");
V.Append("Peter");
V.Append("Otto");
printf("%s\n",V.GetAt(1));
V.SetAt(1,"Fritz");
printf("%s\n",V.GetAt(1));
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.15 CSTRVector::SetAtGrow
Header:
void CSTRVector::SetAtGrow(int nIndex,char* newElement);
Parameter:
· nIndex: Index grösser gleich 0
· newElement: neu einzufügender Wert.
Beschreibung:
Das newElement wird an den entsprechenden nIndex eingefügt. Der Vector wächst automatisch,
wenn notwendig. Der Upper-Bound wird inkrementiert.
Beispiel:
int method::OnRun()
{
CSTRVector V;
V.Append("Hansi");
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
298
V.Append("Peter");
V.Append("Otto");
V.SetAtGrow(7,"Fritz");
printf("%s\n",V.GetAt(7));
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.16 CSTRVector::SetSize
Header:
void CSTRVector::SetSize(int nNewSize,int nGrowBy);
Parameter:
· nNewSize: neue Größe des Vectors (Anzahl Elemente); muss größer oder gleich 0 sein.
· nGrowBy: minimale Anzahl der Einschub-Elemente, die belegt werden müssen, wenn eine
Vergrösserung notwendig ist. DEFAULT -1
Beschreibung:
Legt die Größe eines leeren oder bereits existierenden Vectors fest, reserviert Speicher, wenn
nötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wird
freigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nicht
verwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen und
Kopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dass
Fragmentierung vermieden wird.
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.8.17 CSTRVector::Sort
Header:
void CSTRVector::Sort(int flag);
Parameter:
flag: typ int
Bedeutung von flag
Bezeichner
Wert
SORT_DESC
1
SORT_CS
2
Beschreibung
Sortierung in fallender
Reihenfolge
Bei Sortierung Groß-/
Kleinschreibung beachten
Beschreibung:
Diese Methode sortiert die Elemente des CSTRVectors. Ist das Flag SORT_DESC gesetzt, erfolgt
die Sortierung in absteigender reihenfolge, sonst in aufsteigender Reihenfolge. Ist das Flag
SORT_CS gesetzt, so erfolgt die Sortierung case-sensitiv. Soll z.B. absteigend und case-sensitiv
sortiert werden, so lautet der Aufruf:
Sort(CSTRVector::SORT_DESC | CSTRVector::SORT_CS);
Der Aufruf
© XOn Siftware GmbH, 2008
299
Referenzhandbuch
Sort(0);
Sortiert aufsteigend in alphabetischer Ordnung.
Beispiel:
int method::OnRun()
{
CSTRVector V;
V.Append("Hansi");
V.Append("Peter");
V.Append("Otto");
V.Sort(CSTRVector::SORT_DESC);
V.Edit("");
return 1;
}
Siehe auch:
CSTRVector Übersicht | Hierarchie
1.2.5.9
CF8Matrix
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
CF8Matrix::Add
CF8Matrix::Copy
CF8Matrix::CF8Matrix
CF8Matrix::Edit
CF8Matrix::Sub
CF8Matrix::Mult
CF8Matrix::CompMult
CF8Matrix::CompDiv
CF8Matrix::GetDim
CF8Matrix::GetData
CF8Matrix::GetDims
CF8Matrix::GetCols
CF8Matrix::GetRows
CF8Matrix::SetData
CF8Matrix::GetAt
CF8Matrix::SetAt
CF8Matrix::Min
CF8Matrix::Max
CF8Matrix::MinMax
CF8Matrix::Invert
CF8Matrix::Transpose
1.2.5.9.1 CF8Matrix::Add
Syntax:
void Add(CF8Matrix* pB);
Beschreibung:
Addiert zu dieser Matrix die Matrix pB, falls die Dimensionen identisch sind.
Beispiel:
int method::OnRun()
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
300
{
CF8Matrix M1,M2;
M1.SetData(10,10,0.0);
M2.SetData(10,10,1.0);
M1.Add(&M2);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.2 CF8Matrix::CompDiv
Syntax:
void CompDiv(CF8Matrix* pM);
Beschreibung:
dividiert diese Matrix komponentenweise mit der Matrix pM. Die Matrix pM muß gleichviele Zeilen
und Spalten haben wie diese Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.3 CF8Matrix::CompMult
Syntax:
void CompMult(CF8Matrix* pM);
Beschreibung:
multipliziert diese Matrix komponentenweise mit der Matrix pM. Die Matrix pM muß gleichviele
Zeilen und Spalten haben wie diese Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.4 CF8Matrix::Copy
Header:
CF8Matrix* CF8Matrix::Copy();
Beschreibung:
Kopiert die Matrix und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.5 CF8Matrix::CF8Matrix
Header:
CF8Matrix* CF8Matrix::CF8Matrix();
Beschreibung:
Konstruktor.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
301
Referenzhandbuch
1.2.5.9.6 CF8Matrix::Edit
Header:
int CF8Matrix::Edit(char* text);
Parameter:
· text: Titel der Dialogbox.
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.7 CF8Matrix::GetAt
Syntax:
double GetAt(int row,int col);
Parameter:
· row: Zeile
· col: Spalte
Beschreibung:
liefert den Wert der in Zeile row und Spalte col der Matrix steht. Das Ergebnis ist nur definiert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Rückgabewert:
Wert der Matrixzelle.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.8 CF8Matrix::GetData
Syntax:
double* GetData();
Beschreibung:
Liefert einen Zeiger auf die Daten der Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.9 CF8Matrix::GetDim
Syntax:
int GetDim(int dim);
Beschreibung:
Liefert eine Dimension der Matrix. Für dim==0 erhält man die Zahl der Zeilen, für dim==1 erhält
man die Zahl der Spalten.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.5.9.10 CF8Matrix::GetDims
Header:
int CF8Matrix::GetDims(int* rows,int* cols);
Beschreibung:
liefert die Dimensionen der Matrix.
Rückgabewert:
Anzahl der Elemente in der Matrix.
Beispiel:
int method::OnRun()
{
CF8Matrix M2;
M2.SetDims(2,3);
double a=55.4;
double b=87.3;
M2.SetAt(1,1,a);
M2.SetAt(1,0,b);
int j,k,i;
i=M2.GetDims(&j,&k);
printf("%i %i %i\n",i,j,k);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.11 CF8Matrix::GetRows
Header:
int CF8Matrix::GetRows();
Beschreibung:
liefert die Anzahl der Reihen.
Beispiel:
int method::OnRun()
{
CF8Matrix M;
M.SetDims(2,3);
int j=M.GetRows();
printf("%i\n",j);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.12 CF8Matrix::GetCols
Header:
int CF8Matrix::GetCols();
Beschreibung:
Liefert die Anzahl der Spalten.
Beispiel:
int method::OnRun()
© XOn Siftware GmbH, 2008
302
303
Referenzhandbuch
{
CF8Matrix M;
M.SetDims(2,3);
int j=M.GetCols();
printf("%i\n",j);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.13 CF8Matrix::Invert
Syntax:
int Invert(int pivot);
Parameter:
· pivot:
0: ohne Pivotsuche
1: mit Pivotsuche
Beschreibung:
Invertiert die Matrix. Mit dem Parameter pivot kann eine Pivotsuche eingeschaltet werden. Diese
macht den Algorithmus numerisch stabiler aber auch langsamer. Mit dieser Operation lassen sich
beispielsweise lineare Gleichungssystem einfach lösen.
Rückgabewert:
· 0 Operation erfolgreich
· -1 Matrix nicht quadratisch
· -2 eine Dimension Null
· -3 Matrix ist singülär oder schlecht konditioniert
Beispiel:
int method::OnRun()
{
CF8Matrix M;
CVector V;
//lösung der Gleichung M*X=V
M.Edit("Matrix eingeben");
V.Edit("Vektor eingeben");
//Matrix invertieren
if (M.Invert(1)<0) return 1;
//M*V; das Ergebnis wird in V abgelegt
if (M.Mult(&V)<0) return 1;
V.Edit("Die lösung lautet:");
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.14 CF8Matrix::Max
Synatx:
double Max();
Beschreibung:
Max ermittelt den größten Eintrag in der Matrix.
Rückgabewert:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
größter Wert in der Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.15 CF8Matrix::Min
Synatx:
double Min();
Beschreibung:
Min ermittelt den kleinsten Eintrag in der Matrix.
Rückgabewert:
kleinster Wert in der Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.16 CF8Matrix::MinMax
Header:
int CF8Matrix::MinMax(double* min,double* max);
Beschreibung:
schreibt den minimalen Wert in min, den maximalen in max.
Rückgabewert:
1, wenn ok
Beispiel:
int method::OnRun()
{
CF8Matrix M;
M.SetDims(2,3);
M.SetAt(0,1,55.9);
M.SetAt(0,2,90.6);
M.SetAt(0,0,65.8);
double k,l;
int j=M.MinMax(&k,&l);
printf("%i %.1f %.1f\n",j,k,l);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.17 CF8Matrix::Mult
Syntax:
int Mult(CF8Matrix* M);
int Mult(CVector* V);
Beschreibung:
Multipliziert eine Matrix mit einem Vektor oder einer Matrix.
1. Variante: (Matrix * Matrix)
Multiplizirt diese Matrix mit der Matrix M und legt das Ergebnis in dieser Matrix ab. Die Zahl der
Spalten muß mit der Zeilenzahl von M übereinstimmen.
2. Variante: (Matrix * Vektor)
© XOn Siftware GmbH, 2008
304
305
Referenzhandbuch
Multiplizirt diese Matrix mit dem Vektor V und legt das Ergebnis im Vektor V ab. Die Zahl der
Spalten muß mit der Zeilenzahl von V übereinstimmen.
Rückgabewert:
· 0 Operation erfolgreich
· -1 Zeiger nicht definiert
· -2 Dimensionskonflikt
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.18 CF8Matrix::SetAt
Syntax:
void SetAt(int row,int col,double val);
Parameter:
· row: Zeile
· col: Spalte
· val: neuer Wert
Beschreibung:
setzt den Wert in Zeile row und Spalte col der Matrix. Ein Matrixeintrag wird nur dann verändert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.19 CF8Matrix::SetData
Syntax:
void SetData(int dim1,int dim2, double* pVals);
void SetData(int dim1,int dim2, double val);
Beschreibung:
1. Variante:
legt die Größe der Matrix auf dim1 Zeilen und dim2 Spalten fest und Kopiert den Inhalt von pVals
in die Matrix. pVals muß auf einen Speicherbereich von mindestens dim1*dim2 Gleitkommazahlen
zeigen. Die Gesamtgröße der Matrix (dim1*dim) darf 16380 nicht überschreiten.
2. Variante:
legt die Größe der Matrix auf dim1 Zeilen und dim2 Spalten fest und belegt alle Matrixwerte mit val
vor. Die Gesamtgröße der Matrix (dim1*dim) darf 16380 nicht überschreiten.
Beispiel:
int method::OnRun()
{
double f[100];
int i;
for (i=0;i<100;i++)
f[i]=i;
CF8Matrix M;
//Matrix mit den Werten aus f belegen
M.SetData(10,10,f);
//Matrix mit Nullen belegen
M.SetData(10,10,1.0);
return 1;
}
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
306
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.20 CF8Matrix::SetDims
Header:
void CF8Matrix::SetDims(int nRows,int nCols);
Parameter:
· nRows: Anzahl der Zeilen
· nCols: Anzahl der Spalten
Beschreibung:
Legt die Größe der Matrix fest.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.21 CF8Matrix::Sub
Syntax:
void Sub(CF8Matrix* pB);
Beschreibung:
Subtrahiert von dieser Matrix die Matrix pB, falls die Dimensionen identisch sind.
Beispiel:
int method::OnRun()
{
CF8Matrix M1,M2;
M1.SetData(10,10,0.0);
M2.SetData(10,10,1.0);
M1.Sub(&M2);
return 1;
}
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.9.22 CF8Matrix::Transpose
Syntax:
void Transpose();
Beschreibung:
transponiert die Matrix.
Siehe auch:
CF8Matrix Übersicht | Hierarchie
1.2.5.10 CI4Matrix
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
© XOn Siftware GmbH, 2008
307
Referenzhandbuch
Methoden:
· CI4Matrix::CI4Matrix
· CI4Matrix::Copy
· CI4Matrix::Edit
· CI4Matrix::GetAt
· CI4Matrix::GetDim
· CI4Matrix::GetDims
· CI4Matrix::GetRows
· CI4Matrix::GetCols
· CI4Matrix::GetData
· CI4Matrix::Min
· CI4Matrix::Max
· CI4Matrix::MinMax
· CI4Matrix::SetAt
· CI4Matrix::SetDims
1.2.5.10.1 CI4Matrix::Copy
Header:
CI4Matrix* CI4Matrix::Copy();
Beschreibung:
Kopiert die Matrix und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.2 CI4Matrix::CI4Matrix
Header:
CI4Matrix* CI4Matrix::CI4Matrix();
Beschreibung:
Konstruktor.
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.3 CI4Matrix::Edit
Header:
int CI4Matrix::Edit(char* text);
Parameter:
· text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CI4Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
1.2.5.10.4 CI4Matrix::GetAt
Header:
int CI4Matrix::GetAt(int row,int col);
Parameter:
· row: Zeile
· col: Spalte
Beschreibung:
liefert den Wert der in Zeile row und Spalte col der Matrix steht. Das Ergebnis ist nur definiert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Beispiel:
int method::OnRun()
{
CI4Matrix M1,M2,M3;
M2.SetDims(2,13);
M2.SetAt(1,1,44);
M2.SetAt(1,0,494);
int i=M2.GetAt(1,1);
char t='t';
M2.Edit(&t);
printf("%i\n",i);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.5 CI4Matrix::GetCols
Header:
int CI4Matrix::GetCols();
Beschreibung:
Liefert die Anzahl der Spalten.
Beispiel:
int method::OnRun()
{
CI4Matrix M1,M2,M3;
M2.SetDims(2,13);
M2.SetAt(1,1,44);
M2.SetAt(1,0,494);
int i=M2.GetCols();
printf("%i\n",i);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
308
309
Referenzhandbuch
1.2.5.10.6 CI4Matrix::GetData
Header:
int* CI4Matrix::GetData();
Beschreibung:
Liefert einen Zeiger auf die Daten der Matrix.
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.7 CI4Matrix::GetDim
Header:
int CI4Matrix::GetDim(int dim);
Beschreibung:
Liefert eine Dimension der Matrix. Für dim=0 erhält man die Zahl der Zeilen, für dim=1 erhält man
die Zahl der Spalten.
Beispiel:
int method::OnRun()
{
CI4Matrix M1,M2,M3;
M2.SetDims(2,13);
M2.SetAt(1,1,44);
M2.SetAt(1,0,494);
int i=M2.GetDim(1);
printf("%i\n",i);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.8 CI4Matrix::GetDims
Header:
int CI4Matrix::GetDims(int* rows,int* cols);
Beschreibung:
liefert die Dimensionen der Matrix.
Rückgabewert:
Anzahl der Elemente in der Matrix.
Beispiel:
int method::OnRun()
{
CI4Matrix M1,M2,M3;
M2.SetDims(2,3);
M2.SetAt(1,1,44);
M2.SetAt(1,0,494);
int j,k,i;
i=M2.GetDims(&j,&k);
printf("%i %i %i\n",i,j,k);
return 1;
}
Siehe auch:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
CI4Matrix Übersicht | Hierarchie
1.2.5.10.9 CI4Matrix::GetRows
Header:
int CI4Matrix::GetRows();
Beschreibung:
liefert die Anzahl der Reihen.
Beispiel:
int method::OnRun()
{
CI4Matrix M;
M.SetDims(2,3);
int j=M.GetRows();
printf("%i\n",j);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.10 CI4Matrix::Max
Header:
int CI4Matrix::Max();
Beschreibung:
liefert den maximalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CI4Matrix M;
M.SetDims(2,3);
M.SetAt(0,1,55);
M.SetAt(0,2,90);
M.SetAt(0,0,65);
int j=M.Max();
printf("%i\n",j);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.11 CI4Matrix::Min
Header:
int CI4Matrix::Min();
Beschreibung:
liefert den minimalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CI4Matrix M;
M.SetDims(2,3);
© XOn Siftware GmbH, 2008
310
311
Referenzhandbuch
M.SetAt(0,1,55);
M.SetAt(0,2,90);
M.SetAt(0,0,65);
int j=M.Min();
printf("%i\n",j);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.12 CI4Matrix::MinMax
Header:
int CI4Matrix::MinMax(int* min,int* max);
Beschreibung:
schreibt den minimalen Wert in min, den maximalen in max.
Rückgabewert:
1, wenn ok
Beispiel:
int method::OnRun()
{
CI4Matrix M;
M.SetDims(2,3);
M.SetAt(0,1,55);
M.SetAt(0,2,90);
M.SetAt(0,0,65);
int k,l;
int j=M.MinMax(&k,&l);
printf("%i %i %i\n",j,k,l);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.10.13 CI4Matrix::SetAt
Header:
void CI4Matrix::SetAt(int row,int col,int newValue);
Parameter:
· row: Reihe
· col: Spalte
· newValue: neues Element vom Typ int
Beschreibung:
setzt den Wert in Zeile row und Spalte col der Matrix. Ein Matrixeintrag wird nur dann verändert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Siehe auch:
CI4Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
312
1.2.5.10.14 CI4Matrix::SetDims
Header:
void CI4Matrix::SetDims(int nRow, int nCol);
Parameter:
· nRow: Anzahl Zeilen
· nCol: Anzahl Spalten
Beschreibung:
Legt die Dimensionen der Matrix fest. Die Zellen der Matrix werden mit 0 vorbelegt.
Beispiel:
int method::OnRun()
{
CI4Matrix M3;
M3.SetDims(2,3);
char t='t';
M3.Edit(&t);
return 1;
}
Siehe auch:
CI4Matrix Übersicht | Hierarchie
1.2.5.11 CF4Matrix
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
· CF4Matrix::Copy
· CF4Matrix::CF4Matrix
· CF4Matrix::Edit
· CF4Matrix::GetAt
· CF4Matrix::GetDim
· CF4Matrix::GetDims
· CF4Matrix::GetRows
· CF4Matrix::GetCols
· CF4Matrix::GetData
· CF4Matrix::Min
· CF4Matrix::Max
· CF4Matrix::MinMax
· CF4Matrix::SetAt
· CF4Matrix::SetDims
1.2.5.11.1 CF4Matrix::Copy
Header:
CF4Matrix* CF4Matrix::Copy();
Beschreibung:
Kopiert die Matrix und liefert einen Zeiger auf die Kopie zurück.
© XOn Siftware GmbH, 2008
313
Referenzhandbuch
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.2 CF4Matrix::CF4Matrix
Header:
CF4Matrix* CF4Matrix::CF4Matrix();
Beschreibung:
Konstruktor.
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.3 CF4Matrix::Edit
Header:
int CF4Matrix::Edit(char* text);
Parameter:
· text: Titel der Dialogbox.
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.4 CF4Matrix::GetAt
Header:
float CF4Matrix::GetAt(int row,int col);
Parameter:
· row: Zeile
· col: Spalte
Beschreibung:
liefert den Wert der in Zeile row und Spalte col der Matrix steht. Das Ergebnis ist nur definiert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Beispiel:
int method::OnRun()
{
CF4Matrix M2;
M2.SetDims(2,13);
float f=44.4,g=39.8;
M2.SetAt(1,1,f);
M2.SetAt(1,0,g);
float i=M2.GetAt(1,1);
printf("%.2f\n",(double)i);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
314
1.2.5.11.5 CF4Matrix::GetCols
Header:
int CF4Matrix::GetCols();
Beschreibung:
Liefert die Anzahl der Spalten.
Beispiel:
int method::OnRun()
{
CF4Matrix M2;
M2.SetDims(2,13);
int i=M2.GetCols();
printf("%i\n",i);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.6 CF4Matrix::GetData
Header:
float* CF4Matrix::GetData();
Beschreibung:
Liefert einen Zeiger auf die Daten der Matrix.
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.7 CF4Matrix::GetDim
Header:
int CF4Matrix::GetDim(int dim);
Beschreibung:
Liefert eine Dimension der Matrix. Für dim=0 erhält man die Zahl der Zeilen, für dim=1 erhält man
die Zahl der Spalten.
Beispiel:
int method::OnRun()
{
CF4Matrix M2;
M2.SetDims(2,13);
int i=M2.GetDim(1);
printf("%i\n",i);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
315
Referenzhandbuch
1.2.5.11.8 CF4Matrix::GetDims
Header:
int CF4Matrix::GetDims(int* rows,int* cols);
Beschreibung:
liefert die Dimensionen der Matrix.
Rückgabewert:
Anzahl der Elemente in der Matrix.
Beispiel:
int method::OnRun()
{
CF4Matrix M2;
M2.SetDims(2,13);
int j,k,i;
i=M2.GetDims(&j,&k);
printf("%i %i %i\n",i,j,k);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.9 CF4Matrix::GetRows
Header:
int CF4Matrix::GetRows();
Beschreibung:
liefert die Anzahl der Reihen.
Beispiel:
int method::OnRun()
{
CF4Matrix M;
M.SetDims(2,3);
int j=M.GetRows();
printf("%i\n",j);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.10 CF4Matrix::Max
Header:
float CF4Matrix::Max();
Beschreibung:
liefert den maximalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CF4Matrix M;
float f=55.6,g=3.2,h=1.2;
M.SetDims(2,3);
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
M.SetAt(0,1,f);
M.SetAt(0,2,g);
M.SetAt(0,0,h);
float j=M.Max();
printf("%.1f\n",(double)j);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.11 CF4Matrix::Min
Header:
float CF4Matrix::Min();
Beschreibung:
liefert den minimalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CF4Matrix M;
float f=55.6,g=3.2,h=1.2;
M.SetDims(2,3);
M.SetAt(0,1,f);
M.SetAt(0,2,g);
M.SetAt(0,0,h);
float j=M.Min();
printf("%.1f\n",(double)j);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.12 CF4Matrix::MinMax
Header:
int CF4Matrix::MinMax(float* min,float* max);
Beschreibung:
schreibt den minimalen Wert in min, den maximalen in max.
Rückgabewert:
1, wenn ok
Beispiel:
int method::OnRun()
{
CF4Matrix M;
float f=55.6,g=3.2,h=1.2;
M.SetDims(2,3);
M.SetAt(0,1,f);
M.SetAt(0,2,g);
M.SetAt(0,0,h);
float j,k;
int i=M.MinMax(&j,&k);
printf("%.1f %.1f %i\n",(double)j,(double)k,i);
return 1;
© XOn Siftware GmbH, 2008
316
317
Referenzhandbuch
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.13 CF4Matrix::SetAt
Header:
void CF4Matrix::SetAt(int row,int col,float newValue);
Parameter:
· row: Reihe
· col: Spalte
· newValue: neues Element vom Typ float
Beschreibung:
setzt den Wert in Zeile row und Spalte col der Matrix. Ein Matrixeintrag wird nur dann verändert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.11.14 CF4Matrix::SetDims
Header:
void CF4Matrix::SetDims(int nRow,int nCol);
Parameter:
· nRow: Anzahl Zeilen
· nCol: Anzahl Spalten
Beschreibung:
Legt die Dimensionen der Matrix fest. Die Zellen der Matrix werden mit 0 vorbelegt.
Beispiel:
int method::OnRun()
{
CF4Matrix M3;
M3.SetDims(2,3);
char t='t';
M3.Edit(&t);
return 1;
}
Siehe auch:
CF4Matrix Übersicht | Hierarchie
1.2.5.12 CDTMatrix
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
·
·
·
·
·
·
·
·
·
·
·
·
·
·
CDTMatrix::Copy
CDTMatrix::Edit
CDTMatrix::GetAt
CDTMatrix::SetAt
CDTMatrix::Min
CDTMatrix::Max
CDTMatrix::GetDim
CDTMatrix::GetDims
CDTMatrix::SetDims
CDTMatrix::GetRows
CDTMatrix::GetCols
CDTMatrix::GetData
CDTMatrix::MinMax
CDTMatrix::CDTMatrix
1.2.5.12.1 CDTMatrix::Copy
Header:
CDTMatrix* CDTMatrix::Copy();
Beschreibung:
Kopiert die Matrix und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.2 CDTMatrix::CDTMatrix
Header:
CDTMatrix* CDTMatrix::CDTMatrix();
Beschreibung:
Konstruktor.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.3 CDTMatrix::Edit
Header:
int CDTMatrix::Edit(char* text);
Parameter:
· text: Titel der Dialogbox.
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
318
319
Referenzhandbuch
1.2.5.12.4 CDTMatrix::GetAt
Header:
DATETIME CDTMatrix::GetAt(int row,int col);
Parameter:
· row: Zeile
· col: Spalte
Beschreibung:
liefert den Wert der in Zeile row und Spalte col der Matrix steht. Das Ergebnis ist nur definiert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.5 CDTMatrix::GetCols
Header:
int CDTMatrix::GetCols();
Beschreibung:
Liefert die Anzahl der Spalten.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.6 CDTMatrix::GetData
Header:
DATETIME* CDTMatrix::GetData();
Beschreibung:
Liefert einen Zeiger auf die Daten der Matrix.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.7 CDTMatrix::GetDim
Header:
int CDTMatrix::GetDim(int dim);
Beschreibung:
Liefert eine Dimension der Matrix. Für dim=0 erhält man die Zahl der Zeilen, für dim=1 erhält man
die Zahl der Spalten.
Beispiel:
int method::OnRun()
{
CDTMatrix M2;
M2.SetDims(2,13);
int i=M2.GetDim(1);
printf("%i\n",i);
return 1;
}
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.8 CDTMatrix::GetDims
Header:
int CDTMatrix::GetDims(int* rows,int* cols);
Beschreibung:
liefert die Dimensionen der Matrix.
Rückgabewert:
Anzahl der Elemente in der Matrix.
Beispiel:
int method::OnRun()
{
CDTMatrix M2;
M2.SetDims(2,13);
int j,k,i;
i=M2.GetDims(&j,&k);
printf("%i %i %i\n",i,j,k);
return 1;
}
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.9 CDTMatrix::GetRows
Header:
int CDTMatrix::GetRows();
Beschreibung:
liefert die Anzahl der Reihen.
Beispiel:
int method::OnRun()
{
CDTMatrix M;
M.SetDims(2,3);
int j=M.GetRows();
printf("%i\n",j);
return 1;
}
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.10 CDTMatrix::Max
Header:
DATETIME CDTMatrix::Max();
Beschreibung:
liefert den maximalen Wert der Matrix.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
320
321
Referenzhandbuch
1.2.5.12.11 CDTMatrix::Min
Header:
double CDTMatrix::Min();
Beschreibung:
liefert den minimalen Wert der Matrix.
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.12 CDTMatrix::MinMax
Header:
int CDTMatrix::MinMax(DATETIME* min,DATETIME* max);
Beschreibung:
schreibt den minimalen Wert in min, den maximalen in max.
Rückgabewert:
1, wenn ok
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.13 CDTMatrix::SetAt
Header:
void CDTMatrix::SetAt(int row,int col,DATETIME newValue);
Parameter:
· row: Reihe
· col: Spalte
· newValue: neues Element vom Typ DATETIME
Beschreibung:
setzt den Wert in Zeile row und Spalte col der Matrix. Ein Matrixeintrag wird nur dann verändert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.12.14 CDTMatrix::SetDims
Header:
void CDTMatrix::SetDims(int nRow,int nCol);
Parameter:
· nRow: Anzahl Zeilen
· nCol: Anzahl Spalten
Beschreibung:
Legt die Dimensionen der Matrix fest. Die Zellen der Matrix werden mit dem 1.1.1900 00:00:00
vorbelegt.
Beispiel:
int method::OnRun()
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
322
{
CDTMatrix M3;
M3.SetDims(2,3);
char t='t';
M3.Edit(&t);
return 1;
}
Siehe auch:
CDTMatrix Übersicht | Hierarchie
1.2.5.13 CSTRMatrix
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden:
· CSTRMatrix::Copy
· CSTRMatrix::Edit
· CSTRMatrix::GetAt
· CSTRMatrix::SetAt
· CSTRMatrix::Min
· CSTRMatrix::Max
· CSTRMatrix::GetDim
· CSTRMatrix::GetDims
· CSTRMatrix::SetDims
· CSTRMatrix::GetRows
· CSTRMatrix::GetCols
· CSTRMatrix::CSTRMatrix
1.2.5.13.1 CSTRMatrix::Copy
Header:
CSTRMatrix* CSTRMatrix::Copy();
Beschreibung:
Kopiert die Matrix und liefert einen Zeiger auf die Kopie zurück.
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.2 CSTRMatrix::CSTRMatrix
Header:
CSTRMatrix* CSTRMatrix::CSTRMatrix();
Beschreibung:
Konstruktor
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
323
Referenzhandbuch
1.2.5.13.3 CSTRMatrix::Edit
Header:
int CSTRMatrix::Edit(char* text);
Parameter:
· text: Titel der Dialogbox
Beschreibung:
Ruft einen Dialog, der die Daten des Elementes zeigt und eine Änderung durch den Nutzer
erlaubt.
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.4 CSTRMatrix::GetAt
Header:
char* CSTRVector::GetAt(int nRow,int nCol);
Parameter:
· row: Reihe
· col: Spalte
Beschreibung:
Es wird der Wert beim Index nIndex zurückgegeben.
Rückgabewert:
String beim Index nIndex.
Beispiel:
int method::OnRun()
{
CSTRMatrix M;
M.SetDims(2,3);
M.SetAt(0,1,"Anna");
M.SetAt(0,2,"Grau");
M.SetAt(0,0,"Halt");
char *pStr=M.GetAt(0,2);
printf("%s\n",pStr);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.5 CSTRMatrix::GetCols
Header:
int CSTRMatrix::GetCols();
Beschreibung:
Liefert die Anzahl der Spalten.
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
324
1.2.5.13.6 CSTRMatrix::GetDim
Header:
int CSTRMatrix::GetDim(int nDim);
Beschreibung:
Liefert eine Dimension der Matrix. Für dim=0 erhält man die Zahl der Zeilen, für dim=1 erhält man
die Zahl der Spalten.
Beispiel:
int method::OnRun()
{
CSTRMatrix M2;
M2.SetDims(2,13);
int i=M2.GetDim(1);
printf("%i\n",i);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.7 CSTRMatrix::GetDims
Header:
int CSTRMatrix::GetDims(int* row,int* col);
Beschreibung:
liefert die Dimensionen der Matrix.
Rückgabewert:
Anzahl der Elemente in der Matrix.
Beispiel:
int method::OnRun()
{
CSTRMatrix M2;
M2.SetDims(2,13);
int j,k,i;
i=M2.GetDims(&j,&k);
printf("%i %i %i\n",i,j,k);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.8 CSTRMatrix::GetRows
Header:
int CSTRMatrix::GetRows();
Beschreibung:
liefert die Anzahl der Reihen.
Beispiel:
int method::OnRun()
{
CSTRMatrix M;
M.SetDims(2,3);
© XOn Siftware GmbH, 2008
325
Referenzhandbuch
int j=M.GetRows();
printf("%i\n",j);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.9 CSTRMatrix::Max
Header:
char* CSTRMatrix::Max();
Beschreibung:
liefert den lexikalisch maximalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CSTRMatrix M;
M.SetDims(2,3);
M.SetAt(0,1,"Anna");
M.SetAt(0,2,"Grau");
M.SetAt(0,0,"Halt");
char *j;
j=M.Max();
printf("%s\n",j);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.10 CSTRMatrix::Min
Header:
char* CSTRMatrix::Min();
Beschreibung:
liefert den lexikalisch minimalen Wert der Matrix.
Beispiel:
int method::OnRun()
{
CSTRMatrix M;
M.SetDims(2,3);
M.SetAt(0,1,"Anna");
M.SetAt(0,2,"Grau");
M.SetAt(0,0,"Halt");
M.SetAt(1,1,"Hallo2");
M.SetAt(1,2,"Grau2");
M.SetAt(1,0,"Halt2");
char *j;
j=M.Min();
printf("%s\n",j);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
326
1.2.5.13.11 CSTRMatrix::SetAt
Header:
void CSTRMatrix::SetAt(int row,int col,char* newValue);
Parameter:
· row: Reihe
· col: Spalte
· newValue: neues Element vom Typ char*
Beschreibung:
setzt den Wert in Zeile row und Spalte col der Matrix. Ein Matrixeintrag wird nur dann verändert,
wenn row und col zulässige Zeilen und Spalten der Matrix sind, d.h. es muß gelten:
0 <= row < Zahl der Zeilen
0 <= col < Zahl der Spalten
Beispiel:
int method::OnRun()
{
CSTRMatrix M;
M.SetDims(2,3);
M.SetAt(0,1,"Anna");
M.SetAt(0,2,"Grau");
M.SetAt(0,0,"Halt");
char *pStr=M.GetAt(0,2);
printf("%s\n",pStr);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
1.2.5.13.12 CSTRMatrix::SetDims
Header:
void CSTRMatrix::SetDims(int nRow,int nCol);
Parameter:
· nRow: Anzahl Zeilen
· nCol: Anzahl Spalten
Beschreibung:
Legt die Dimensionen der Matrix fest. Die Zellen der Matrix werden mit leeren Strings vorbelegt.
Beispiel:
int method::OnRun()
{
CSTRMatrix M3;
M3.SetDims(2,3);
char t='t';
M3.Edit(&t);
return 1;
}
Siehe auch:
CSTRMatrix Übersicht | Hierarchie
© XOn Siftware GmbH, 2008
327
Referenzhandbuch
1.2.6
Obsolet
Einige Klassen sind aus Kompatibilität mit älteren Versionen von X1 enthalten. Diese Klassen
sollten bei neuen X1- Dokumenten nichtmehr eingesetzt werden.
1.2.6.1
CTimeVect
Klicken Sie auf die Felder der Hierarchie für detaillierte Informationen zu den einzelnen Klassen:
Methoden :
CTimeVect::GetData
CTimeVect::GetLen
CTimeVect::SetData
1.2.6.1.1 CTimeVect::GetData
Syntax:
long* CTimeVect::GetData();
Beschreibung:
Liefert den Inhalt des Zeitvektors
1.2.6.1.2 CTimeVect::GetLen
Syntax:
int CTimeVect::GetLen();
Beschreibung:
Liefert die Anzahl der Einträge des Datum/Zeit- Kanals.
1.2.6.1.3 CTimeVect::SetData
Syntax:
int CTimeVect::SetData(long* data,int len);
Parameter:
data: Zeiger auf einen Datenblock
len: Anzahl der Daten im Datenblock
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
328
Beschreibung:
Setzt die Länge des Datum/Zeit- Kanals auf len und kopiert die Werte aus data.
Rückgabewert:
0 zu viele Daten
1 OK
Beispiel:
int method::OnRun()
{
CTimeVect T;
long Zeiten[1000],t0;
int i;
t0=time();
for (i=0;i<1000;i++)
Zeiten[i]=t0+i;
T.SetData(Zeiten,1000);
return 1;
}
1.2.6.2
CVector
Beschreibung:
Die Klasse CVector wurde durch die Klasse CF8Vector ersetzt. Durch eine interne Typdefinition
können sie den Bezeichner CVector weiterhin verwenden.
Header:
typedef CF8Vector CVector ;
1.2.6.3
CMatrix
Beschreibung:
Die Klasse CMatrix wurde durch die Klasse CF8Matrix ersetzt. Durch eine interne Typdefinition
können sie den Bezeichner CMatrix weiterhin verwenden.
Header:
typedef CF8Matrix CMatrix;
1.2.6.4
GetPoolTimeVect
Hinweis:
Diese Funktion ist veraltet. Bitte verwenden sie statt dessen GetPoolVDT.
Syntax:
CTimeVect* GetPoolTimeVect(int idx);
CTimeVect* GetPoolTimeVect(char *name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CTimeVect ist, wird ein Zeiger
darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
© XOn Siftware GmbH, 2008
329
Referenzhandbuch
Rückgabewert:
Zeiger auf eine Datumskanal oder Null.
Beispiel:
int method::OnRun()
{
int typ;
CTimeVect *pTV;
typ=GetPoolType(0);
if (typ==6)
pTV=GetPoolTimeVect(0);
return 1;
}
1.2.6.5
GetPoolVector
Hinweis:
Diese Funktion ist veraltet. Bitte verwenden sie statt dessen GetPoolVF8.
Syntax:
CVector* GetPoolVector(int idx);
CVector* GetPoolVector(char *name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CVector ist, wird ein Zeiger darauf
zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf einen Vektor oder Null.
Beispiel:
int method::OnRun()
{
int typ;
CF8Vector *pV;
typ=GetPoolType(0);
if (typ==4)
pV=GetPoolVector(0);
return 1;
}
1.2.6.6
GetPoolMatrix
Hinweis:
Diese Funktion ist veraltet. Bitte verwenden sie statt dessen GetPoolMF8.
Syntax:
CF8Matrix* GetPoolMatrix(int idx);
CF8Matrix* GetPoolMatrix(char *name);
Parameter:
idx: Index des gewünschten Pool- Elementes
name: Name des gewünschten Pool- Elementes
Beschreibung:
© XOn Siftware GmbH, 2008
1.2 Programmierreferenz
330
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls ein
entsprechendes Element im Datenpool existiert und vom Typ CMatrix ist, wird ein Zeiger darauf
zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:
Zeiger auf eine Matrix oder Null.
Beispiel:
int method::OnRun()
{
int typ;
CF8Matrix *pM;
typ=GetPoolType(0);
if (typ==5)
pM=GetPoolMatrix(0);
return 1;
}
© XOn Siftware GmbH, 2008
331
Referenzhandbuch
Index
-__cabs 16
_chdir 56
_filelength 1
_fileno 2
_fullpath 2
_getcwd 56
_getdcwd 56
_getw 2
_hypot 16, 17
_logb 16, 17
_makepath 3
_mkdir 57
_rmdir 57
_searchenv 57
_splitpath 3
_strdate 49
_strnicmp 22, 23
_strnset 22, 23
_strrev 22, 23
_strset 22, 23
_strtime 50
_strupr 22, 24
-Aacos 11
Add 60, 181
AddBar 121
AddDate 181
AddLayer 197
AddNode 147
AddPage 64
AddPie 163
AddTick 117
AddTime 181
AddTrace 133
AsExp 263
asin 11, 12
AsLin 263
AsPoly 263
atan 11, 12
atan2 11, 12
atof 22, 25
atoi 22, 24
atol 22, 24
Attribute 211
-BBeginTrans 76
Bessel-Funktionen 16, 17
beta 16, 18
betai 16, 18
binom 16, 19
Blackman 264
BlackmanHarries 264
-CC data type 95
cabs 16
CanBookmark 89
Cancel 77, 89
CanRestart 90
CanScroll 90
CanTransact 77, 90
CanUpdate 77
CAxisNode
AddTick 117
EmptyTicks 117
GetNodeAtt 118
SetNodeAtt 118
CBar2DNode
AddBar 121
AddLayer 122
GetNodeAtt 123
SetData 123
SetNodeAtt 124
CBar2DTrace
AddLayer 194
GetTraceAtt 194
RemoveLayer 194
SetTraceAtt 194
CBar3DTrace
AddLayer 197
GetTraceAtt 197
RemoveLayer 197
SetTraceAtt 198
© XOn Siftware GmbH, 2008
Index
CColorMap 60, 61
Add 60
GetColor 61
GetNr 61
GetVal 61
Reset 62
Sort 62
CContourNode
GetNodeAtt 126
SetData 127
SetNodeAtt 128
SetNodeData 130
CDatabase 75
BeginTrans 76
Cancel 77
CanTransact 77
CanUpdate 77
CDatabase 78
Close 78
CommitTrans 79
ExecuteSQL 79
GetBookmarkPersistence 79
GetConnect 80
GetCursorCommitBehavior 80
GetCursorRollbackBehavior 80
GetDatabaseName 81
IsOpen 81
m_hdbc 85
OnSetOptions 82
Open 82
OpenEx 83
Rollback 84
SetLoginTimeout 85
SetQueryTimeout 85
CDBVariant
CDBVariant 70
Clear 71
GetBinaryData 71
GetBinarySize 71
GetString 72
m_boolVal 72
m_chVal 72
m_dblType 73
m_dwType 73
m_fltVal 73
m_iVal 74
m_lVal 74
m_pbinary 74
m_pdate 74
© XOn Siftware GmbH, 2008
m_pstring
75
CDia
GetData 227
GetItem 228
GoFirst 228
GoNext 229
GoTo 229
Read 229
SetItem 229
CDibNode 132
CDTMatrix
Copy 318
Edit 318
GetAt 319
GetCols 319
GetData 319
GetDim 319
GetDims 320
GetRows 320
Max 320
Min 321
MinMax 321
SetAt 321
SetDims 321
CDTVector::Append
Append 252
CF4Vector 252, 260
Copy 253
Edit 253
FreeExtra 253
GetAt 253
GetData 254
GetSize 254
GetUpperBound 255
InsertAt 255
Max 256
Min 256
MinMax 257
RemoveAll 257
RemoveAt 258
SetAt 258
SetAtGrow 259
SetData 259
SetSize 260
ceil 11, 12
CF4Matrix
Copy 312
Edit 313
GetAt 313
332
333
Referenzhandbuch
CF4Matrix
GetCols 314
GetData 314
GetDim 314
GetDims 315
GetRows 315
Max 315
Min 316
MinMax 316
SetAt 317
SetDims 317
CF4Vector::Append
Append 243
CF4Vector 243, 251
Copy 243
Edit 244
FreeExtra 244
GetAt 244
GetData 244
GetSize 245
GetUpperBound 245
InsertAt 246
Max 247
Min 247
MinMax 248
RemoveAll 248
RemoveAt 248
SetAt 249
SetAtGrow 249
SetData 250
SetSize 250
CF8Matrix 300
Add 299
CompDiv 300
CompMult 300
Copy 300
Edit 301
GetAt 301
GetCols 302
GetData 301
GetDim 301
GetDims 302
GetRows 302
Invert 303
Max 303
Min 304
MinMax 304
Mult 304
SetAt 305
SetData 305
SetDims 306
Sub 306
Transpose 306
CF8Vector 265
Add 262
Append 262
AsExp 263
AsLin 263
AsPoly 263
Blackman 264
BlackmanHarries 264
Convolve 265
Copy 265
CosineTapered 265
CrossPower 266
Derivative 266
Div 267
Edit 267
ExactBlackman 267
ExpFit 268
Exponential 268
FFT 269
FHT 269
FIR 270
FIRPara 271
FlatTop 272
Force 272
FreeExtra 273
GaussWhiteNoise 273
GeneralCosine 273
GetAt 274
GetData 274
GetDim 274
GetSize 275
GetUpperBound 275
Hamming 276
Hanning 276
Histogram 277
IFFT 277
IIR 278
InsertAt 278
Integral 279
KaiserBessel 279
Let 280
LinFit 280
Max 281
Mean 281
Median 281
© XOn Siftware GmbH, 2008
Index
CF8Vector 265
Min 282
Moment 282
MrqFit 282
Mult 284
PolyFit 284
Power 285
RemoveAll 285
RemoveAt 285
Scalarproduct 286
SetAt 286
SetAtGrow 286
SetData 287
SetDim 288
SetSize 288
Sinus 288
Sort 289
Square 289
Sub 290
Triangle 290
TrianglePattern 291
Variance 291
CGLMaterial 62
Reset 62
SetAlpha 63
SetAmbient 62
SetDiffuse 63
SetEmission 63
SetShininess 63
SetSpecular 63
CGraf2DNode
AddTrace 133
DelTrace 134
GetNodeAtt 134
GetTrace 135
GetTraceIndex 135
SetNodeAtt 136
SetTraceData 137
CGraf3DNode
GetNodeAtt 140
SetData 141
SetNodeAtt 142
SetNodeData 144
CGrafDoc 64
AddPage 64
DelPage 64
EmptyTrash 65
GetDocAtt 65
GetNrPages 66
© XOn Siftware GmbH, 2008
GetPage 66
GetPageNr 66
GetRoot 66
Invalidate 67
MoveFirst 67
MoveLast 67
MovePage 68
Print 68
SetDocAtt 68
SetFH 69
CGrafNode
AddNode 147
Clear 148
DelNode 148
GetDocument 148
GetNodeAtt 148
GetPos 151
GetSize 151
GetSubAxis 151
GetSubLeg 152
GetSubNode 152
GetSubPie 153
GetSubPlane 153
GetSubSzene 154
GetSubText 154
GetSubTransform1D 154
GetSubTransform2D 155
OnEditBackground 155
OnEditColor 156
OnEditData 156
OnEditFont 156
OnEditName 156
OnEditPen 156
SetAbsPos 157
SetNodeAtt 157
SetPos 162
SetSize 162
Check 90
CheckRowsetError
chi2_p 16, 19
chi2_q 16, 19
CI4Matrix
Copy 307
Edit 307
GetAt 308
GetCols 308
GetData 309
GetDim 309
GetDims 309
91
334
335
Referenzhandbuch
CI4Matrix
GetRows 310
Max 310
Min 310
MinMax 311
SetAt 311
SetDims 312
CI4Vector::Append 242
Append 234
CI4Vector 234
Copy 234
Edit 234
FreeExtra 235
GetAt 235
GetData 240
GetSize 235
GetUpperBound 236
InsertAt 236
Max 237
Min 237
MinMax 241
RemoveAll 238
RemoveAt 238
SetAt 239
SetAtGrow 239
SetData 241
SetSize 240
CKurve2DTrace
GetTraceAtt 203
SetTraceAtt 203
CKurve3DTrace
GetTraceAtt 205
SetTraceAtt 205
Clear 71, 148
Close 78, 92, 230
CNamedObj 59
Copy 59
Edit 60
GetName 60
SetName 60
CObject 59
CODBC
Close 230
GetColumnName 230
GetColumnType 231
GetDSN 231
GetNrCols 231
GetTableName 232
GoFirstTable 232
GoNextTable 232
LoadColumn 232
Open 233
SetDSN 233
CommitTrans 79
CompDiv 300
CompMult 300
Convolve 265
Copy 59
CopyToPool 38
cos 11, 12
cosh 11, 13
CosineTapered 265
CPaintObj
GetTraceAtt 208
SetTraceAtt 209
CPie2DNode
AddPie 163
DelPie 163
GetNodeAtt 164
SetData 164
SetNodeAtt 165
CPlaneNode
GetNodeAtt
SetNodeAtt
167
168
CPPolyTrace
GetTraceAtt
SetTraceAtt
217
217
CRecordset 86
CanBookmark 89
Cancel 89
CanRestart 90
CanScroll 90
CanTransact 90
Check 90
CheckRowsetError 91
Close 92
CRecordset 92
FlushResultSet 93
GetBookmark 93
GetDefaultConnect 94
GetDefaultSQL 94
GetFieldValue 95
GetODBCFieldCount 97
GetODBCFieldInfo 97
GetRecordCount 97
GetRowsetSize 98
GetRowsFetched 98
© XOn Siftware GmbH, 2008
Index
CRecordset 86
GetRowStatus 99
GetSQL 100
GetStatus 99
GetTableName 100
IsBOF 101
IsDeleted 101
IsEOF 102
IsFieldDirty 102
IsFieldNull 103
IsOpen 103
m_hstmt 114
m_nFields 114
m_pDatabase 115
m_pParams 114
Move 104
MoveFirst 105
MoveLast 105
MoveNext 106
MovePrev 106
OnSetOptions 106
Open 107
RefreshRowset 110
Requery 110
SetAbsolutePosition 111
SetBookmark 112
SetLockingMode 112
SetRowsetCursorPosition 113
CRecordsetStatus 99
CRectNode
GetNodeAtt 170
SetNodeAtt 170
CSTRMatrix
Copy 322
Edit 323
GetAt 323
GetCols 323
GetDim 324
GetDims 324
GetRows 324
Max 325
Min 325
SetAt 326
SetDims 326
CSTRVector 293
Append 292
Copy 292
Edit 293
FreeExtra 293
© XOn Siftware GmbH, 2008
GetAt 293
GetSize 294
GetUpperBound 294
InsertAt 294
Max 295
Min 296
RemoveAll 297
RemoveAt 296
SetAt 297
SetAtGrow 297
SetSize 298
Sort 298
CSzene
GetNodeAtt
SetNodeAtt
172
173
CTabNode
GetData 176
GetNodeAtt 176
SetData 177
SetNodeAtt 177
CText 224
GetData 224
GetLen 225
CTextNode
Add 181
AddDate 181
AddTime 181
GetNodeAtt 181
SetData 225
SetNodeAtt 182
SetText 183
CTimeVect
GetData 327
GetLen 327
SetData 327
CTransform1D
GetNodeAtt 184
GetPhys 185
PUtoLU 185
SetMapMode 185
SetNodeAtt 186
SetPhys 188
CTransform2D
GetNodeAtt 188
GetPhys 189
GetTyp 189
PUtoLU 190
SetNodeAtt 190
SetPhys 191
336
337
Referenzhandbuch
CTransform2D
SetTyp 192
CVect2DTrace
GetTraceAtt
SetTraceAtt
218
218
CWhiskTrace
GetTraceAtt
SetTraceAtt
220
220
-DDateifunktionen 1
_filelength 1
_fileno 2
_fullpath 2
_getw 2
_makepath 3
_splitpath 3
CDia 225
CF8Matrix 299
CF8Vector 260
CODBC 230
CTimeVect 327
fclose 4
fdopen 4
feof 5
ferror 5
fflush 5
fgetc 6
fgetpos 6
fgets 6
fopen 6
fprintf 7
fputc 7
fputs 8
fread 8
fscanf 8
fseek 9
ftell 10
getc 10
putc 10
rewind 11
Datenpoolfunktionen 37
CopyToPool 38
GetPoolDia 38
GetPoolIndex 39
GetPoolMatrix 329
GetPoolMDT 39
GetPoolMF8 40
GetPoolMI4 40
GetPoolMSTR 41
GetPoolName 42
GetPoolODBC 42
GetPoolSize 42
GetPoolText 43
GetPoolTimeVect 328
GetPoolType 43
GetPoolVDT 44
GetPoolVector 329
GetPoolVF8 44
GetPoolVI4 45
GetPoolVSTR 46
RemoveFromPool 46
SetPoolName 46
Datum und Uhrzeit
_strdate 49
_strtime 50
difftime 50
KillTimer 50
mktime 50
SetTimer 51
strftime 51
time 52
49
DelNode 148
DelPage 64
DelPie 163
DelTrace 134
Derivative 266
difftime 50
Div 267
-EEdit 60
EmptyTicks 117
EmptyTrash 65
erf 16, 19
erfc 16, 20
Erweiterte Mathematikfunktionen
ExactBlackman 267
ExecuteSQL 79
exp 11, 13
ExpFit 268
Exponential 268
16
© XOn Siftware GmbH, 2008
Index
-Ff_distr 16, 20
fabs 11, 13
fclose 4
fdopen 4
feof 5
ferror 5
fflush 5
FFT 269
fgetc 6
fgetpos 6
fgets 6
FHT 269
FileDialog 52
FIR 270
FIRPara 271
FlatTop 272
floor 11, 13
FlushResultSet 93
fopen 6
Force 272
Formatstrings 51
fprintf 7
fputc 7
fputs 8
fread 8
free 49
frexp 16, 20
fscanf 8
fseek 9
ftell 10
-Ggammp 16, 20
gammq 16, 21
gasdedv 21
gasdev 16
GaussWhiteNoise 273
GeneralCosine 273
GetAt 301
GetBinaryData 71
GetBinarySize 71
GetBookmark 93
GetBookmarkPersistence
© XOn Siftware GmbH, 2008
79
GetBValue 55
getc 10
GetColor 61
GetColumnName 230
GetColumnType 231
GetConnect 80
GetCursorCommitBehavior
GetCursorRollbackBehavior
GetData 176
GetDatabaseName 81
GetDefaultConnect 94
GetDefaultSQL 94
GetDim 301
GetDocAtt 65
GetDocument 148
GetDSN 231
GetFieldValue 95
GetGValue 55
GetItem 228
GetLen 327
GetName 60
GetNodeAtt 170, 172
GetNr 61
GetNrCols 231
GetNrPages 66
GetODBCFieldCount 97
GetODBCFieldInfo 97
GetPage 66
GetPageNr 66
GetPhys 189
GetPoolDia 38
GetPoolIndex 39
GetPoolMatrix 329
GetPoolMDT 39
GetPoolMF8 40
GetPoolMI4 40
GetPoolMSTR 41
GetPoolName 42
GetPoolODBC 42
GetPoolSize 42
GetPoolText 43
GetPoolTimeVect 328
GetPoolType 43
GetPoolVDT 44
GetPoolVector 329
GetPoolVF8 44
GetPoolVI4 45
80
80
338
339
Referenzhandbuch
GetPoolVSTR 46
GetRecordCount 97
GetRoot 66
GetRowsetSize 98
GetRowsFetched 98
GetRowStatus 99
GetRValue 54
GetSQL 100
GetStatus 99
GetString 72
GetTableName 100, 232
GetTrace 135
GetTraceAtt 205
GetTraceIndex 135
GetTyp 189
GetVal 61
GlobalAlloc 47
GlobalFree 48
GlobalLock 48
GlobalUnlock 48
GoFirst 228
GoFirstTable 232
GoNext 229
GoNextTable 232
GoTo 229
Grafikelemente
Übersicht 115
Grafikobjekte 37
CAxisNode 116
CBar2DNode 121
CContourNode 126
CDibNode 132
CGraf2DNode 132
CGraf3DNode 140
CGrafNode 146
CPie2DNode 162
CPlaneNode 166, 169
CSzene 172
CTabNode 175
CTextNode 180
CTransform1D 184
CTransform2D 188
-HHamming 276
Hanning 276
Histogram
277
-IIFFT 277
IIR 278
Integral 279
Invalidate 53, 67
Invert 303
IsBOF 101
IsDeleted 101
IsEOF 102
IsFieldDirty 102
IsFieldNull 103
IsOpen 81, 103
-KKaiserBessel 279
KillTimer 50
Klassenreferenz
Dateifunktionen 1
Datenpoolfunktionen 37
Datum und Uhrzeit 49
Mathematifunktionen 11
Sonstige Funktionen 52
Stringmanipulation 22
-Llinear 118, 186
LinFit 280
LoadColumn 232
log 11, 13
log10 11, 14
logarithmisch 118, 186
Logit 118, 186
-Mm_boolVal 72
m_bRecordCountFinal
m_chVal 72
m_dblType 73
m_dwType 73
m_fltVal 73
m_hdbc 85
99
© XOn Siftware GmbH, 2008
Index
m_hstmt 114
m_iVal 74
m_lCurrentRecord 99
m_lVal 74
m_nFields 114
m_pbinary 74
m_pDatabase 115
m_pdate 74
m_pParams 114
malloc 49
Mathematifunktionen 11
_cabs 16
_hypot 17
_logb 17
acos 11
asin 12
atan 12
atan2 12
Bessel-Funktionen 17
beta 18
betai 18
binom 19
ceil 12
chi2_p 19
chi2_q 19
cos 12
cosh 13
erf 19
erfc 20
exp 13
f_distr 20
fabs 13
floor 13
frexp 20
gammp 20
gammq 21
gasdev 21
log 13
log10 14
modf 21
poisson 21
pow 14
ran1 14
rand 14
sin 14
sinh 15
sqrt 15
srand 15
student 22
© XOn Siftware GmbH, 2008
tan 15
tanh 15
Max 303
Mean 281
MessageBox 53
Min 304
mktime 50
modf 16, 21
Moment 282
Move 104
MoveFirst 67, 105
MoveLast 67, 105
MoveNext 106
MovePage 68
MovePrev 106
mpstring 75
Mult 304
-NNormalverteilung
118, 186
-OOnEditBackground 155
OnEditColor 156
OnEditData 156
OnEditFont 156
OnEditName 156
OnEditPen 156
OnSetOptions 82, 106
Open 82, 107, 233
OpenEx 83
-Ppoisson 16, 21
PolyFit 284
pow 11, 14
Power 285
Print 68
putc 10
PUtoLU 190
-Rran1
14, 16
340
341
Referenzhandbuch
rand 11, 14
Read 229
RefreshRowset 110
RemoveFromPool 46
RemoveLayer 197
Requery 110
Reset 62
rewind 11
Reziprok 118, 186
Reziprok verschoben 118, 186
RGB 55
Rollback 84
-SSertAmbient 62
SetAbsolutePosition 111
SetAbsPos 157
SetAlpha 63
SetAt 305
SetBookmark 112
SetData 141
SetDiffuse 63
SetDocAtt 68
SetDSN 233
SetEmission 63
SetFH 69
SetItem 229
SetLockingMode 112
SetLoginTimeout 85
SetMapMode 185
SetName 60
SetNodeAtt 170, 173
SetNodeData 144
SetPhys 191
SetPoolName 46
SetPos 162
SetQueryTimeout 85
SetRowsetCursorPosition 113
SetShininess 63
SetSize 162
SetSpecular 63
SetText 183
SetTimer 51
SetTraceAtt 205
SetTraceData 137
SetTyp 192
sin 11, 14
sinh 11, 15
Sinus 288
Sonstige Funktionen 52
Sort 62
Speichermanagement 47
GlobalAlloc 47
GlobalFree 48
GlobalLock 48
GlobalUnlock 48
sprintf 22, 25
SQL_BIGINT 95
SQL_BINARY 95
SQL_BIT 95
SQL_C_BINARY 95
SQL_C_BIT 95
SQL_C_CHAR 95
SQL_C_DOUBLE 95
SQL_C_FLOAT 95
SQL_C_SLONG 95
SQL_C_SSHORT 95
SQL_C_TIMESTAMP 95
SQL_C_UTINYINT 95
SQL_CHAR 95
SQL_DATE 95
SQL_DECIMAL 95
SQL_DOUBLE 95
SQL_ERROR 90, 91
SQL_FETCH_ABSOLUTE 104
SQL_FETCH_BOOKMARK 104
SQL_FETCH_FIRST 104
SQL_FETCH_LAST 104
SQL_FETCH_NEXT 104
SQL_FETCH_PRIOR 104
SQL_FETCH_RELATIVE 104
SQL_FLOAT 95
SQL_INTEGER 95
SQL_INVALID_HANDLE 90, 91
SQL_LOCK_EXCLUSIVE 110
SQL_LOCK_NO_CHANGE 110
SQL_LOCK_UNLOCK 110
SQL_LONGVARBINARY 95
SQL_LONGVARCHAR 95
SQL_NEED_DATA 90
SQL_NO_DATA_FOUND 90, 91
SQL_NUMERIC 95
SQL_REAL 95
© XOn Siftware GmbH, 2008
Index
SQL_ROW_ADDED 99
SQL_ROW_DELETED 99
SQL_ROW_ERROR 99
SQL_ROW_NOROW
99
SQL_ROW_SUCCESS 99
SQL_ROW_UPDATED 99
SQL_SMALLINT 95
SQL_STILL_EXECUTING 90, 91
SQL_SUCCESS 90, 91
SQL_SUCCESS_WITH_INFO 90, 91
SQL_TIME 95
SQL_TIMESTAMP 95
SQL_TINYINT 95
SQL_VARBINARY 95
SQL_VARCHAR 95
sqrt 11, 15
Square 289
srand 11, 15
sscanf 22, 29
strcat 22, 31
strchr 22, 31
strcmp 22, 32
strcoll 22, 32
strcpy 22, 32
strcspn 22, 33
strerror 22, 33
strftime 51
stricmp 22, 33
Stringmanipulation 22
_strnicmp 23
_strnset 23
_strrev 23
_strset 23
_strupr 24
atof 25
atoi 24
atol 24
sprintf 25
sscanf 29
strcat 31
strchr 31
strcmp 32
strcoll 32
strcpy 32
strcspn 33
strerror 33
stricmp 33
strlen 33
© XOn Siftware GmbH, 2008
strlwr 34
strncat 34
strncmp 34
strncpy 34
strpbrk 35
strrchr 35
strspn 35
strstr 36
strtok 36
strtol 36
strxfrm 37
strlen 22, 33
strlwr 22, 34
strncat 22, 34
strncmp 22, 34
strncpy 22, 34
strpbrk 22, 35
strrchr 22, 35
strspn 22, 35
strstr 22, 36
strtok 22, 36
strtol 22, 36
strxfrm 22, 37
student 16, 22
Sub 306
-Ttan 11, 15
tanh 11, 15
time 52
Transpose 306
Triangle 290
TrianglePattern 291
-VVariance 291
Verzeichnisfunktionen
55
-WWeibulverteilung
118, 186
-ZZeitachse
118, 186
342
Back Cover
Herunterladen