Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
XOn Software GmbH 2002
X1 Referenzhandbuch
X1 ReferenzhandbuchBeschreibung der CX1- Laufzeitbibliothek
Das Handbuch beschreibt alle Funktionen und Klassen der CX1-Laufzeitbibliothek
IInhaltsverzeichnis
© XOn Siftware GmbH, 2008
Inhaltsverzeichnis
Kapitel I Programmierreferenz 1
................................................................................................................................... 11 Laufzeitbibliothek
......................................................................................................................................................... 1Datei-Funktionen
.................................................................................................................................................. 1_filelength
.................................................................................................................................................. 2_fileno
.................................................................................................................................................. 2_fullpath
.................................................................................................................................................. 2_getw
.................................................................................................................................................. 3_makepath
.................................................................................................................................................. 3_splitpath
.................................................................................................................................................. 4fclose
.................................................................................................................................................. 4fdopen
.................................................................................................................................................. 5feof
.................................................................................................................................................. 5ferror
.................................................................................................................................................. 5fflush
.................................................................................................................................................. 6fgetc
.................................................................................................................................................. 6fgetpos
.................................................................................................................................................. 6fgets
.................................................................................................................................................. 6fopen
.................................................................................................................................................. 7fprintf
.................................................................................................................................................. 7fputc
.................................................................................................................................................. 8fputs
.................................................................................................................................................. 8fread
.................................................................................................................................................. 8fscanf
.................................................................................................................................................. 9fseek
.................................................................................................................................................. 10ftell
.................................................................................................................................................. 10getc
.................................................................................................................................................. 10putc
.................................................................................................................................................. 11rewind
......................................................................................................................................................... 11Mathematische funktionen
.................................................................................................................................................. 11Mathematifunktionen
........................................................................................................................................... 11acos
........................................................................................................................................... 12asin
........................................................................................................................................... 12atan
........................................................................................................................................... 12atan2
........................................................................................................................................... 12ceil
........................................................................................................................................... 12cos
........................................................................................................................................... 13cosh
........................................................................................................................................... 13exp
........................................................................................................................................... 13fabs
........................................................................................................................................... 13floor
........................................................................................................................................... 13log
........................................................................................................................................... 14log10
........................................................................................................................................... 14pow
........................................................................................................................................... 14ran1
........................................................................................................................................... 14rand
........................................................................................................................................... 14sin
........................................................................................................................................... 15sinh
........................................................................................................................................... 15sqrt
ReferenzhandbuchII
© XOn Siftware GmbH, 2008
........................................................................................................................................... 15srand
........................................................................................................................................... 15tan
........................................................................................................................................... 15tanh
.................................................................................................................................................. 16Erweiterte Mathematikfunktionen
........................................................................................................................................... 16_cabs
........................................................................................................................................... 17_hypot
........................................................................................................................................... 17_logb
........................................................................................................................................... 17Bessel-Funktionen
........................................................................................................................................... 18beta
........................................................................................................................................... 18betai
........................................................................................................................................... 19binom
........................................................................................................................................... 19chi2_p
........................................................................................................................................... 19chi2_q
........................................................................................................................................... 19erf
........................................................................................................................................... 20erfc
........................................................................................................................................... 20f_distr
........................................................................................................................................... 20frexp
........................................................................................................................................... 20gammp
........................................................................................................................................... 21gammq
........................................................................................................................................... 21gasdev
........................................................................................................................................... 21modf
........................................................................................................................................... 21poisson
........................................................................................................................................... 22student
......................................................................................................................................................... 22String-Manipulation
.................................................................................................................................................. 23_strnicmp
.................................................................................................................................................. 23_strnset
.................................................................................................................................................. 23_strrev
.................................................................................................................................................. 23_strset
.................................................................................................................................................. 24_strupr
.................................................................................................................................................. 24atoi
.................................................................................................................................................. 24atol
.................................................................................................................................................. 25atof
.................................................................................................................................................. 25sprintf
.................................................................................................................................................. 29sscanf
.................................................................................................................................................. 31strcat
.................................................................................................................................................. 31strchr
.................................................................................................................................................. 32strcmp
.................................................................................................................................................. 32strcoll
.................................................................................................................................................. 32strcpy
.................................................................................................................................................. 33strcspn
.................................................................................................................................................. 33strerror
.................................................................................................................................................. 33stricmp
.................................................................................................................................................. 33strlen
.................................................................................................................................................. 34strlwr
.................................................................................................................................................. 34strncat
.................................................................................................................................................. 34strncmp
.................................................................................................................................................. 34strncpy
.................................................................................................................................................. 35strpbrk
.................................................................................................................................................. 35strrchr
.................................................................................................................................................. 35strspn
.................................................................................................................................................. 36strstr
.................................................................................................................................................. 36strtok
.................................................................................................................................................. 36strtol
.................................................................................................................................................. 37strxfrm
......................................................................................................................................................... 37Datenpoolfunktionen
IIIInhaltsverzeichnis
© XOn Siftware GmbH, 2008
.................................................................................................................................................. 38CopyToPool
.................................................................................................................................................. 38GetPoolDia
.................................................................................................................................................. 39GetPoolIndex
.................................................................................................................................................. 39GetPoolMDT
.................................................................................................................................................. 40GetPoolMF8
.................................................................................................................................................. 40GetPoolMI4
.................................................................................................................................................. 41GetPoolMSTR
.................................................................................................................................................. 42GetPoolName
.................................................................................................................................................. 42GetPoolODBC
.................................................................................................................................................. 42GetPoolSize
.................................................................................................................................................. 43GetPoolText
.................................................................................................................................................. 43GetPoolType
.................................................................................................................................................. 44GetPoolVDT
.................................................................................................................................................. 44GetPoolVF8
.................................................................................................................................................. 45GetPoolVI4
.................................................................................................................................................. 46GetPoolVSTR
.................................................................................................................................................. 46RemoveFromPool
.................................................................................................................................................. 46SetPoolName
......................................................................................................................................................... 47Speichermanagement
.................................................................................................................................................. 47GlobalAlloc
.................................................................................................................................................. 48GlobalFree
.................................................................................................................................................. 48GlobalLock
.................................................................................................................................................. 48GlobalUnlock
.................................................................................................................................................. 49malloc
.................................................................................................................................................. 49free
......................................................................................................................................................... 49Datum und Uhrzeit
.................................................................................................................................................. 49_strdate
.................................................................................................................................................. 50_strtime
.................................................................................................................................................. 50difftime
.................................................................................................................................................. 50KillTimer
.................................................................................................................................................. 50mktime
.................................................................................................................................................. 51SetTime
.................................................................................................................................................. 51strftime
.................................................................................................................................................. 52time
......................................................................................................................................................... 52Sonstige Funktionen
.................................................................................................................................................. 52FileDialog
.................................................................................................................................................. 53Invalidate
.................................................................................................................................................. 53MessageBox
.................................................................................................................................................. 54Print
.................................................................................................................................................. 54SetFH
.................................................................................................................................................. 54GetRValue
.................................................................................................................................................. 55GetGValue
.................................................................................................................................................. 55GetBValue
.................................................................................................................................................. 55RGB
......................................................................................................................................................... 55Verzeichnisfunktionen
.................................................................................................................................................. 56_chdir
.................................................................................................................................................. 56_getcwd
.................................................................................................................................................. 56_getdcwd
.................................................................................................................................................. 57_mkdir
.................................................................................................................................................. 57_rmdir
.................................................................................................................................................. 57_searchenv
................................................................................................................................... 582 Klassenebibliothek
......................................................................................................................................................... 58Klassenhierarchie
......................................................................................................................................................... 59Allgemeine Klassen
.................................................................................................................................................. 59CObject
ReferenzhandbuchIV
© XOn Siftware GmbH, 2008
........................................................................................................................................... 59CObject::GetClassName
.................................................................................................................................................. 59CNamedObj
........................................................................................................................................... 59CNamedObj::Copy
........................................................................................................................................... 60CNamedObj::Edit
........................................................................................................................................... 60CNamedObj::GetName
........................................................................................................................................... 60CNamedObj::SetName
.................................................................................................................................................. 60CColorMap
........................................................................................................................................... 60CColorMap::Add
........................................................................................................................................... 61CColorMap::CColorMap
........................................................................................................................................... 61CColorMap::GetColor
........................................................................................................................................... 61CColorMap::GetNr
........................................................................................................................................... 61CColorMap::GetVal
........................................................................................................................................... 62CColorMap::Reset
........................................................................................................................................... 62CColorMap::Sort
.................................................................................................................................................. 62CGLMaterial
........................................................................................................................................... 62CGLMaterial::Reset
........................................................................................................................................... 62CGLMaterial::SetAmbient
........................................................................................................................................... 63CGLMaterial::SetDiffuse
........................................................................................................................................... 63CGLMaterial::SetSpecular
........................................................................................................................................... 63CGLMaterial::SetEmission
........................................................................................................................................... 63CGLMaterial::SetShininess
........................................................................................................................................... 63CGLMaterial::SetAlpha
.................................................................................................................................................. 64CGrafDoc
........................................................................................................................................... 64CGrafDoc::AddPage
........................................................................................................................................... 64CGrafDoc::DelPage
........................................................................................................................................... 65CGrafDoc::EmptyTrash
........................................................................................................................................... 65CGrafDoc::GetDocAtt
........................................................................................................................................... 66CGrafDoc::GetNrPages
........................................................................................................................................... 66CGrafDoc::GetPage
........................................................................................................................................... 66CGrafDoc::GetPageNr
........................................................................................................................................... 66CGrafDoc::GetRoot
........................................................................................................................................... 67CGrafDoc::Invalidate
........................................................................................................................................... 67CGrafDoc::MoveFirst
........................................................................................................................................... 67CGrafDoc::MoveLast
........................................................................................................................................... 68CGrafDoc::MovePage
........................................................................................................................................... 68CGrafDoc::Print
........................................................................................................................................... 68CGrafDoc::SetDocAtt
........................................................................................................................................... 69CGrafDoc::SetFH
.................................................................................................................................................. 70CDBVariant
........................................................................................................................................... 70CDBVariant class members
........................................................................................................................................... 70Member Functions
...................................................................................................................................... 70CDBVariant::CDBVariant
...................................................................................................................................... 71CDBVariant::Clear
...................................................................................................................................... 71CDBVariant::GetBinaryData
...................................................................................................................................... 71CDBVariant::GetBinarySize
...................................................................................................................................... 72CDBVariant::GetString
........................................................................................................................................... 72Data Members
...................................................................................................................................... 72CDBVariant::m_boolVal
...................................................................................................................................... 72CDBVariant::m_chVal
...................................................................................................................................... 73CDBVariant::m_dblVal
...................................................................................................................................... 73CDBVariant::m_dwType
...................................................................................................................................... 73CDBVariant::m_fltVal
...................................................................................................................................... 74CDBVariant::m_iVal
...................................................................................................................................... 74CDBVariant::m_lVal
...................................................................................................................................... 74CDBVariant::m_pbinary
VInhaltsverzeichnis
© XOn Siftware GmbH, 2008
...................................................................................................................................... 74CDBVariant::m_pdate
...................................................................................................................................... 75CDBVariant::m_pstring
.................................................................................................................................................. 75CDatabase
........................................................................................................................................... 75CDatabase Class Members
........................................................................................................................................... 76Member Functions
...................................................................................................................................... 76CDatabase::BeginTrans
...................................................................................................................................... 77CDatabase::Cancel
...................................................................................................................................... 77CDatabase::CanTransact
...................................................................................................................................... 77CDatabase::CanUpdate
...................................................................................................................................... 78CDatabase::CDatabase
...................................................................................................................................... 78CDatabase::Close
...................................................................................................................................... 79CDatabase::CommitTrans
...................................................................................................................................... 79CDatabase::ExecuteSQL
...................................................................................................................................... 79CDatabase::GetBookmarkPersistence
...................................................................................................................................... 80CDatabase::GetConnect
...................................................................................................................................... 80CDatabase::GetCursorCommitBehavior
...................................................................................................................................... 80CDatabase::GetCursorRollbackBehavior
...................................................................................................................................... 81CDatabase::GetDatabaseName
...................................................................................................................................... 81CDatabase::IsOpen
...................................................................................................................................... 82CDatabase::OnSetOptions
...................................................................................................................................... 82CDatabase::Open
...................................................................................................................................... 83CDatabase::OpenEx
...................................................................................................................................... 84CDatabase::Rollback
...................................................................................................................................... 85CDatabase::SetLoginTimeout
...................................................................................................................................... 85CDatabase::SetQueryTimeout
........................................................................................................................................... 85Data Members
...................................................................................................................................... 85CDatabase::m_hdbc
.................................................................................................................................................. 86CRecordset
........................................................................................................................................... 86CRecordset Class Members
........................................................................................................................................... 89Member Functions
...................................................................................................................................... 89CRecordset::CanBookmark
...................................................................................................................................... 89CRecordset::Cancel
...................................................................................................................................... 90CRecordset::CanRestart
...................................................................................................................................... 90CRecordset::CanScroll
...................................................................................................................................... 90CRecordset::CanTransact
...................................................................................................................................... 90CRecordset::Check
...................................................................................................................................... 91CRecordset::CheckRowsetError
...................................................................................................................................... 92CRecordset::Close
...................................................................................................................................... 92CRecordset::CRecordset
...................................................................................................................................... 93CRecordset::FlushResultSet
...................................................................................................................................... 93CRecordset::GetBookmark
...................................................................................................................................... 94CRecordset::GetDefaultConnect
...................................................................................................................................... 94CRecordset::GetDefaultSQL
...................................................................................................................................... 95CRecordset::GetFieldValue
...................................................................................................................................... 97CRecordset::GetODBCFieldCount
...................................................................................................................................... 97CRecordset::GetODBCFieldInfo
...................................................................................................................................... 97CRecordset::GetRecordCount
...................................................................................................................................... 98CRecordset::GetRowsetSize
...................................................................................................................................... 98CRecordset::GetRowsFetched
...................................................................................................................................... 99CRecordset::GetRowStatus
...................................................................................................................................... 99CRecordset::GetStatus
...................................................................................................................................... 100CRecordset::GetSQL
...................................................................................................................................... 100CRecordset::GetTableName
...................................................................................................................................... 101CRecordset::IsBOF
...................................................................................................................................... 101CRecordset::IsDeleted
ReferenzhandbuchVI
© XOn Siftware GmbH, 2008
...................................................................................................................................... 102CRecordset::IsEOF
...................................................................................................................................... 102CRecordset::IsFieldDirty
...................................................................................................................................... 103CRecordset::IsFieldNull
...................................................................................................................................... 103CRecordset::IsOpen
...................................................................................................................................... 104CRecordset::Move
...................................................................................................................................... 105CRecordset::MoveFirst
...................................................................................................................................... 105CRecordset::MoveLast
...................................................................................................................................... 106CRecordset::MoveNext
...................................................................................................................................... 106CRecordset::MovePrev
...................................................................................................................................... 106CRecordset::OnSetOptions
...................................................................................................................................... 107CRecordset::Open
...................................................................................................................................... 110CRecordset::RefreshRowset
...................................................................................................................................... 110CRecordset::Requery
...................................................................................................................................... 111CRecordset::SetAbsolutePosition
...................................................................................................................................... 112CRecordset::SetBookmark
...................................................................................................................................... 112CRecordset::SetLockingMode
...................................................................................................................................... 113CRecordset::SetRowsetCursorPosition
........................................................................................................................................... 114Data Members
...................................................................................................................................... 114CRecordset::m_hstmt
...................................................................................................................................... 114CRecordset::m_nFields
...................................................................................................................................... 114CRecordset::m_nParams
...................................................................................................................................... 115CRecordset::m_pDatabase
......................................................................................................................................................... 115Grafkelemente
.................................................................................................................................................. 116CAxisNode
........................................................................................................................................... 117CAxisNode::AddTick
........................................................................................................................................... 117CAxisNode::EmptyTicks
........................................................................................................................................... 118CAxisNode::GetNodeAtt
........................................................................................................................................... 118CAxisNode::SetNodeAtt
.................................................................................................................................................. 121CBar2DNode
........................................................................................................................................... 121CBar2DNode::AddBar
........................................................................................................................................... 122CBar2DNode::AddLayer
........................................................................................................................................... 123CBar2DNode::GetNodeAtt
........................................................................................................................................... 123CBar2DNode::SetData
........................................................................................................................................... 124CBar2DNode::SetNodeAtt
.................................................................................................................................................. 126CContourNode
........................................................................................................................................... 126CContourNode::GetNodeAtt
........................................................................................................................................... 127CContourNode::SetData
........................................................................................................................................... 128CContourNode::SetNodeAtt
........................................................................................................................................... 130CContourNode::SetNodeData
.................................................................................................................................................. 132CDibNode
.................................................................................................................................................. 132CGraf2DNode
........................................................................................................................................... 133CGraf2DNode::AddTrace
........................................................................................................................................... 134CGraf2DNode::DelTrace
........................................................................................................................................... 134CGraf2DNode::GetNodeAtt
........................................................................................................................................... 135CGraf2DNode::GetTrace
........................................................................................................................................... 135CGraf2DNode::GetTraceIndex
........................................................................................................................................... 136CGraf2DNode::SetNodeAtt
........................................................................................................................................... 137CGraf2DNode::SetTraceData
.................................................................................................................................................. 140CGraf3DNode
........................................................................................................................................... 140CGraf3DNode::GetNodeAtt
........................................................................................................................................... 141CGraf3DNode::SetData
........................................................................................................................................... 142CGraf3DNode::SetNodeAtt
........................................................................................................................................... 144CGraf3DNode::SetNodeData
.................................................................................................................................................. 146CGrafNode
........................................................................................................................................... 147CGrafNode::AddNode
VIIInhaltsverzeichnis
© XOn Siftware GmbH, 2008
........................................................................................................................................... 148CGrafNode::Clear
........................................................................................................................................... 148CGrafNode::DelNode
........................................................................................................................................... 148CGrafNode::GetDocument
........................................................................................................................................... 148CGrafNode::GetNodeAtt
........................................................................................................................................... 151CGrafNode::GetPos
........................................................................................................................................... 151CGrafNode::GetSize
........................................................................................................................................... 151CGrafNode::GetSubAxis
........................................................................................................................................... 152CGrafNode::GetSubLeg
........................................................................................................................................... 152CGrafNode::GetSubNode
........................................................................................................................................... 153CGrafNode::GetSubPie
........................................................................................................................................... 153CGrafNode::GetSubPlane
........................................................................................................................................... 154CGrafNode::GetSubSzene
........................................................................................................................................... 154CGrafNode::GetSubText
........................................................................................................................................... 154CGrafNode::GetSubTransform1D
........................................................................................................................................... 155CGrafNode::GetSubTransform2D
........................................................................................................................................... 155CGrafNode::OnEditBackground
........................................................................................................................................... 156CGrafNode::OnEditColor
........................................................................................................................................... 156CGrafNode::OnEditData
........................................................................................................................................... 156CGrafNode::OnEditFont
........................................................................................................................................... 156CGrafNode::OnEditName
........................................................................................................................................... 156CGrafNode::OnEditPen
........................................................................................................................................... 157CGrafNode::SetAbsPos
........................................................................................................................................... 157CGrafNode::SetNodeAtt
........................................................................................................................................... 162CGrafNode::SetPos
........................................................................................................................................... 162CGrafNode::SetSize
.................................................................................................................................................. 162CPie2DNode
........................................................................................................................................... 163CPie2DNode::AddPie
........................................................................................................................................... 163CPie2DNode::DelPie
........................................................................................................................................... 164CPie2DNode::GetNodeAtt
........................................................................................................................................... 164CPie2DNode::SetData
........................................................................................................................................... 165CPie2DNode::SetNodeAtt
.................................................................................................................................................. 166CPlaneNode
........................................................................................................................................... 167CPlaneNode::GetNodeAtt
........................................................................................................................................... 168CPlaneNode::SetNodeAtt
.................................................................................................................................................. 169CRectNode
........................................................................................................................................... 170CRectNode::GetNodeAtt
........................................................................................................................................... 170CRectNode::SetNodeAtt
.................................................................................................................................................. 172CSzene
........................................................................................................................................... 172CSzene::GetNodeAtt
........................................................................................................................................... 173CSzene::SetNodeAtt
.................................................................................................................................................. 175CTabNode
........................................................................................................................................... 176CTabNode::GetData
........................................................................................................................................... 176CTabNode::GetNodeAtt
........................................................................................................................................... 177CTabNode::SetData
........................................................................................................................................... 177CTabNode::SetNodeAtt
.................................................................................................................................................. 180CTextNode
........................................................................................................................................... 181CTextNode::Add
........................................................................................................................................... 181CTextNode::AddTime
........................................................................................................................................... 181CTextNode::AddDate
........................................................................................................................................... 181CTextNode::GetNodeAtt
........................................................................................................................................... 182CTextNode::SetNodeAtt
........................................................................................................................................... 183CTextNode::SetText
.................................................................................................................................................. 184CTransform1D
........................................................................................................................................... 184CTransform1D::GetNodeAtt
........................................................................................................................................... 185CTransform1D::GetPhys
ReferenzhandbuchVIII
© XOn Siftware GmbH, 2008
........................................................................................................................................... 185CTransform1D::PUtoLU
........................................................................................................................................... 185CTransform1D::SetMapMode
........................................................................................................................................... 186CTransform1D::SetNodeAtt
........................................................................................................................................... 188CTransform1D::SetPhys
.................................................................................................................................................. 188CTransform2D
........................................................................................................................................... 188CTransform2D::GetNodeAtt
........................................................................................................................................... 189CTransform2D::GetPhys
........................................................................................................................................... 189CTransform2D::GetTyp
........................................................................................................................................... 190CTransform2D::PUtoLU
........................................................................................................................................... 190CTransform2D::SetNodeAtt
........................................................................................................................................... 191CTransform2D::SetPhys
........................................................................................................................................... 192CTransform2D::SetTyp
......................................................................................................................................................... 193Kurvenelemente
.................................................................................................................................................. 193CBar2DTrace
........................................................................................................................................... 194CBar2DTrace::AddLayer
........................................................................................................................................... 194CBar2DTrace::GetTraceAtt
........................................................................................................................................... 194CBar2DTrace::RemoveLayer
........................................................................................................................................... 194CBar2DTrace::SetTraceAtt
.................................................................................................................................................. 197CBar3DTrace
........................................................................................................................................... 197CBar3DTrace::AddLayer
........................................................................................................................................... 197CBar3DTrace::GetTraceAtt
........................................................................................................................................... 197CBar3DTrace::RemoveLayer
........................................................................................................................................... 198CBar3DTrace::SetTraceAtt
.................................................................................................................................................. 200CGraf3DTrace
........................................................................................................................................... 200CGraf3DTrace::GetTraceAtt
........................................................................................................................................... 200CGraf3DTrace::SetTraceAtt
.................................................................................................................................................. 203CKurve2DTrace
........................................................................................................................................... 203CKurve2DTrace::GetTraceAtt
........................................................................................................................................... 203CKurve2DTrace::SetTraceAtt
.................................................................................................................................................. 205CKurve3DTrace
........................................................................................................................................... 205CKurve3DTrace::GetTraceAtt
........................................................................................................................................... 205CKurve3DTrace::SetTraceAtt
.................................................................................................................................................. 207CPaintObj
........................................................................................................................................... 208CPaintObj::GetTraceAtt
........................................................................................................................................... 209CPaintObj::SetTraceAtt
........................................................................................................................................... 211Attribute
...................................................................................................................................... 211Attribute
...................................................................................................................................... 212Farben
...................................................................................................................................... 213Float
...................................................................................................................................... 213Font
...................................................................................................................................... 213Füllmuster
...................................................................................................................................... 214Integer
...................................................................................................................................... 214Long
...................................................................................................................................... 214Matrix
...................................................................................................................................... 215Stift
...................................................................................................................................... 215String
...................................................................................................................................... 216Symbol
...................................................................................................................................... 216Vector
.................................................................................................................................................. 216CPPolyTrace
........................................................................................................................................... 217CPPolyTrace::GetTraceAtt
........................................................................................................................................... 217CPPolyTrace::SetTraceAtt
.................................................................................................................................................. 218CVect2DTrace
........................................................................................................................................... 218CVect2DTrace::GetTraceAtt
........................................................................................................................................... 218CVect2DTrace::SetTraceAtt
.................................................................................................................................................. 220CWhiskTrace
IXInhaltsverzeichnis
© XOn Siftware GmbH, 2008
........................................................................................................................................... 220CWhiskTrace::GetTraceAtt
........................................................................................................................................... 220CWhiskTrace::SetTraceAtt
......................................................................................................................................................... 224Datenelemente
.................................................................................................................................................. 224CText
........................................................................................................................................... 224CText::GetData
........................................................................................................................................... 225CText::GetLen
........................................................................................................................................... 225CText::SetData
.................................................................................................................................................. 225CDia
........................................................................................................................................... 227CDia::GetData
........................................................................................................................................... 228CDia::GetItem
........................................................................................................................................... 228CDia::GoFirst
........................................................................................................................................... 229CDia::GoNext
........................................................................................................................................... 229CDia::GoTo
........................................................................................................................................... 229CDia::Read
........................................................................................................................................... 229CDia::SetItem
.................................................................................................................................................. 230CODBC
........................................................................................................................................... 230CODBC::Close
........................................................................................................................................... 230CODBC::GetColumnName
........................................................................................................................................... 231CODBC::GetColumnType
........................................................................................................................................... 231CODBC::GetDSN
........................................................................................................................................... 231CODBC::GetNrCols
........................................................................................................................................... 232CODBC::GetTableName
........................................................................................................................................... 232CODBC::GoFirstTable
........................................................................................................................................... 232CODBC::GoNextTable
........................................................................................................................................... 232CODBC::LoadColumn
........................................................................................................................................... 233CODBC::Open
........................................................................................................................................... 233CODBC::SetDSN
.................................................................................................................................................. 233CI4Vector
........................................................................................................................................... 234CI4Vector::Append
........................................................................................................................................... 234CI4Vector::CI4Vector
........................................................................................................................................... 234CI4Vector::Copy
........................................................................................................................................... 234CI4Vector::Edit
........................................................................................................................................... 235CI4Vector::FreeExtra
........................................................................................................................................... 235CI4Vector::GetAt
........................................................................................................................................... 235CI4Vector::GetSize
........................................................................................................................................... 236CI4Vector::GetUpperBound
........................................................................................................................................... 236CI4Vector::InsertAt
........................................................................................................................................... 237CI4Vector::Min
........................................................................................................................................... 237CI4Vector::Max
........................................................................................................................................... 238CI4Vector::RemoveAll
........................................................................................................................................... 238CI4Vector::RemoveAt
........................................................................................................................................... 239CI4Vector::SetAt
........................................................................................................................................... 239CI4Vector::SetAtGrow
........................................................................................................................................... 240CI4Vector::SetSize
........................................................................................................................................... 240CI4Vector::GetData
........................................................................................................................................... 241CI4Vector::SetData
........................................................................................................................................... 241CI4Vector::MinMax
........................................................................................................................................... 242CI4Vector::Sort
.................................................................................................................................................. 242CF4Vector
........................................................................................................................................... 243CF4Vector::Append
........................................................................................................................................... 243CF4Vector::CF4Vector
........................................................................................................................................... 243CF4Vector::Copy
........................................................................................................................................... 244CF4Vector::Edit
........................................................................................................................................... 244CF4Vector::FreeExtra
........................................................................................................................................... 244CF4Vector::GetAt
ReferenzhandbuchX
© XOn Siftware GmbH, 2008
........................................................................................................................................... 244CF4Vector::GetData
........................................................................................................................................... 245CF4Vector::GetSize
........................................................................................................................................... 245CF4Vector::GetUpperBound
........................................................................................................................................... 246CF4Vector::InsertAt
........................................................................................................................................... 247CF4Vector::Max
........................................................................................................................................... 247CF4Vector::Min
........................................................................................................................................... 248CF4Vector::MinMax
........................................................................................................................................... 248CF4Vector::RemoveAll
........................................................................................................................................... 248CF4Vector::RemoveAt
........................................................................................................................................... 249CF4Vector::SetAt
........................................................................................................................................... 249CF4Vector::SetAtGrow
........................................................................................................................................... 250CF4Vector::SetData
........................................................................................................................................... 250CF4Vector::SetSize
........................................................................................................................................... 251CF4Vector::Sort
.................................................................................................................................................. 251CDTVector
........................................................................................................................................... 252CDTVector::Append
........................................................................................................................................... 252CDTVector::CDTVector
........................................................................................................................................... 253CDTVector::Copy
........................................................................................................................................... 253CDTVector::Edit
........................................................................................................................................... 253CDTVector::FreeExtra
........................................................................................................................................... 253CDTVector::GetAt
........................................................................................................................................... 254CDTVector::GetData
........................................................................................................................................... 254CDTVector::GetSize
........................................................................................................................................... 255CDTVector::GetUpperBound
........................................................................................................................................... 255CDTVector::InsertAt
........................................................................................................................................... 256CDTVector::Max
........................................................................................................................................... 256CDTVector::Min
........................................................................................................................................... 257CDTVector::MinMax
........................................................................................................................................... 257CDTVector::RemoveAll
........................................................................................................................................... 258CDTVector::RemoveAt
........................................................................................................................................... 258CDTVector::SetAt
........................................................................................................................................... 259CDTVector::SetAtGrow
........................................................................................................................................... 259CDTVector::SetData
........................................................................................................................................... 260CDTVector::SetSize
........................................................................................................................................... 260CDTVector::Sort
.................................................................................................................................................. 260CF8Vector
........................................................................................................................................... 262CF8Vector::Add
........................................................................................................................................... 262CF8Vector::Append
........................................................................................................................................... 263CF8Vector::AsExp
........................................................................................................................................... 263CF8Vector::AsLin
........................................................................................................................................... 263CF8Vector::AsPoly
........................................................................................................................................... 264CF8Vector::Blackman
........................................................................................................................................... 264CF8Vector::BlackmanHarries
........................................................................................................................................... 265CF8Vector::CF8Vector
........................................................................................................................................... 265CF8Vector::Convolve
........................................................................................................................................... 265CF8Vector::Copy
........................................................................................................................................... 265CF8Vector::CosineTapered
........................................................................................................................................... 266CF8Vector::CrossPower
........................................................................................................................................... 266CF8Vector::Derivative
........................................................................................................................................... 267CF8Vector::Div
........................................................................................................................................... 267CF8Vector::Edit
........................................................................................................................................... 267CF8Vector::ExactBlackman
........................................................................................................................................... 268CF8Vector::ExpFit
........................................................................................................................................... 268CF8Vector::Exponential
........................................................................................................................................... 269CF8Vector::FFT
XIInhaltsverzeichnis
© XOn Siftware GmbH, 2008
........................................................................................................................................... 269CF8Vector::FHT
........................................................................................................................................... 270CF8Vector::FIR
........................................................................................................................................... 271CF8Vector::FIRPara
........................................................................................................................................... 272CF8Vector::FlatTop
........................................................................................................................................... 272CF8Vector::Force
........................................................................................................................................... 273CF8Vector::FreeExtra
........................................................................................................................................... 273CF8Vector::GaussWhiteNoise
........................................................................................................................................... 273CF8Vector::GeneralCosine
........................................................................................................................................... 274CF8Vector::GetAt
........................................................................................................................................... 274CF8Vector::GetData
........................................................................................................................................... 274CF8Vector::GetDim
........................................................................................................................................... 275CF8Vector::GetSize
........................................................................................................................................... 275CF8Vector::GetUpperBound
........................................................................................................................................... 276CF8Vector::Hamming
........................................................................................................................................... 276CF8Vector::Hanning
........................................................................................................................................... 277CF8Vector::Histogram
........................................................................................................................................... 277CF8Vector::IFFT
........................................................................................................................................... 278CF8Vector::IIR
........................................................................................................................................... 278CF8Vector::InsertAt
........................................................................................................................................... 279CF8Vector::Integral
........................................................................................................................................... 279CF8Vector::KaiserBessel
........................................................................................................................................... 280CF8Vector::Let
........................................................................................................................................... 280CF8Vector::LinFit
........................................................................................................................................... 281CF8Vector::Max
........................................................................................................................................... 281CF8Vector::Mean
........................................................................................................................................... 281CF8Vector::Median
........................................................................................................................................... 282CF8Vector::Min
........................................................................................................................................... 282CF8Vector::Moment
........................................................................................................................................... 282CF8Vector::MrqFit
........................................................................................................................................... 284CF8Vector::Mult
........................................................................................................................................... 284CF8Vector::PolyFit
........................................................................................................................................... 285CF8Vector::Power
........................................................................................................................................... 285CF8Vector::RemoveAll
........................................................................................................................................... 285CF8Vector::RemoveAt
........................................................................................................................................... 286CF8Vector::Scalarproduct
........................................................................................................................................... 286CF8Vector::SetAt
........................................................................................................................................... 286CF8Vector::SetAtGrow
........................................................................................................................................... 287CF8Vector::SetData
........................................................................................................................................... 288CF8Vector::SetDim
........................................................................................................................................... 288CF8Vector::SetSize
........................................................................................................................................... 288CF8Vector::Sinus
........................................................................................................................................... 289CF8Vector::Sort
........................................................................................................................................... 289CF8Vector::Square
........................................................................................................................................... 290CF8Vector::Sub
........................................................................................................................................... 290CF8Vector::Triangle
........................................................................................................................................... 291CF8Vector::TrianglePattern
........................................................................................................................................... 291CF8Vector::Variance
.................................................................................................................................................. 291CSTRVector
........................................................................................................................................... 292CSTRVector::Append
........................................................................................................................................... 292CSTRVector::Copy
........................................................................................................................................... 293CSTRVector::CSTRVector
........................................................................................................................................... 293CSTRVector::Edit
........................................................................................................................................... 293CSTRVector::FreeExtra
........................................................................................................................................... 293CSTRVector::GetAt
........................................................................................................................................... 294CSTRVector::GetSize
ReferenzhandbuchXII
© XOn Siftware GmbH, 2008
........................................................................................................................................... 294CSTRVector::GetUpperBound
........................................................................................................................................... 294CSTRVector::InsertAt
........................................................................................................................................... 295CSTRVector::Max
........................................................................................................................................... 296CSTRVector::Min
........................................................................................................................................... 296CSTRVector::RemoveAt
........................................................................................................................................... 297CSTRVector::RemoveAll
........................................................................................................................................... 297CSTRVector::SetAt
........................................................................................................................................... 297CSTRVector::SetAtGrow
........................................................................................................................................... 298CSTRVector::SetSize
........................................................................................................................................... 298CSTRVector::Sort
.................................................................................................................................................. 299CF8Matrix
........................................................................................................................................... 299CF8Matrix::Add
........................................................................................................................................... 300CF8Matrix::CompDiv
........................................................................................................................................... 300CF8Matrix::CompMult
........................................................................................................................................... 300CF8Matrix::Copy
........................................................................................................................................... 300CF8Matrix::CF8Matrix
........................................................................................................................................... 301CF8Matrix::Edit
........................................................................................................................................... 301CF8Matrix::GetAt
........................................................................................................................................... 301CF8Matrix::GetData
........................................................................................................................................... 301CF8Matrix::GetDim
........................................................................................................................................... 302CF8Matrix::GetDims
........................................................................................................................................... 302CF8Matrix::GetRows
........................................................................................................................................... 302CF8Matrix::GetCols
........................................................................................................................................... 303CF8Matrix::Invert
........................................................................................................................................... 303CF8Matrix::Max
........................................................................................................................................... 304CF8Matrix::Min
........................................................................................................................................... 304CF8Matrix::MinMax
........................................................................................................................................... 304CF8Matrix::Mult
........................................................................................................................................... 305CF8Matrix::SetAt
........................................................................................................................................... 305CF8Matrix::SetData
........................................................................................................................................... 306CF8Matrix::SetDims
........................................................................................................................................... 306CF8Matrix::Sub
........................................................................................................................................... 306CF8Matrix::Transpose
.................................................................................................................................................. 306CI4Matrix
........................................................................................................................................... 307CI4Matrix::Copy
........................................................................................................................................... 307CI4Matrix::CI4Matrix
........................................................................................................................................... 307CI4Matrix::Edit
........................................................................................................................................... 308CI4Matrix::GetAt
........................................................................................................................................... 308CI4Matrix::GetCols
........................................................................................................................................... 309CI4Matrix::GetData
........................................................................................................................................... 309CI4Matrix::GetDim
........................................................................................................................................... 309CI4Matrix::GetDims
........................................................................................................................................... 310CI4Matrix::GetRows
........................................................................................................................................... 310CI4Matrix::Max
........................................................................................................................................... 310CI4Matrix::Min
........................................................................................................................................... 311CI4Matrix::MinMax
........................................................................................................................................... 311CI4Matrix::SetAt
........................................................................................................................................... 312CI4Matrix::SetDims
.................................................................................................................................................. 312CF4Matrix
........................................................................................................................................... 312CF4Matrix::Copy
........................................................................................................................................... 313CF4Matrix::CF4Matrix
........................................................................................................................................... 313CF4Matrix::Edit
........................................................................................................................................... 313CF4Matrix::GetAt
........................................................................................................................................... 314CF4Matrix::GetCols
........................................................................................................................................... 314CF4Matrix::GetData
XIIIInhaltsverzeichnis
© XOn Siftware GmbH, 2008
........................................................................................................................................... 314CF4Matrix::GetDim
........................................................................................................................................... 315CF4Matrix::GetDims
........................................................................................................................................... 315CF4Matrix::GetRows
........................................................................................................................................... 315CF4Matrix::Max
........................................................................................................................................... 316CF4Matrix::Min
........................................................................................................................................... 316CF4Matrix::MinMax
........................................................................................................................................... 317CF4Matrix::SetAt
........................................................................................................................................... 317CF4Matrix::SetDims
.................................................................................................................................................. 317CDTMatrix
........................................................................................................................................... 318CDTMatrix::Copy
........................................................................................................................................... 318CDTMatrix::CDTMatrix
........................................................................................................................................... 318CDTMatrix::Edit
........................................................................................................................................... 319CDTMatrix::GetAt
........................................................................................................................................... 319CDTMatrix::GetCols
........................................................................................................................................... 319CDTMatrix::GetData
........................................................................................................................................... 319CDTMatrix::GetDim
........................................................................................................................................... 320CDTMatrix::GetDims
........................................................................................................................................... 320CDTMatrix::GetRows
........................................................................................................................................... 320CDTMatrix::Max
........................................................................................................................................... 321CDTMatrix::Min
........................................................................................................................................... 321CDTMatrix::MinMax
........................................................................................................................................... 321CDTMatrix::SetAt
........................................................................................................................................... 321CDTMatrix::SetDims
.................................................................................................................................................. 322CSTRMatrix
........................................................................................................................................... 322CSTRMatrix::Copy
........................................................................................................................................... 322CSTRMatrix::CSTRMatrix
........................................................................................................................................... 323CSTRMatrix::Edit
........................................................................................................................................... 323CSTRMatrix::GetAt
........................................................................................................................................... 323CSTRMatrix::GetCols
........................................................................................................................................... 324CSTRMatrix::GetDim
........................................................................................................................................... 324CSTRMatrix::GetDims
........................................................................................................................................... 324CSTRMatrix::GetRows
........................................................................................................................................... 325CSTRMatrix::Max
........................................................................................................................................... 325CSTRMatrix::Min
........................................................................................................................................... 326CSTRMatrix::SetAt
........................................................................................................................................... 326CSTRMatrix::SetDims
......................................................................................................................................................... 327Obsolet
.................................................................................................................................................. 327CTimeVect
........................................................................................................................................... 327CTimeVect::GetData
........................................................................................................................................... 327CTimeVect::GetLen
........................................................................................................................................... 327CTimeVect::SetData
.................................................................................................................................................. 328CVector
.................................................................................................................................................. 328CMatrix
.................................................................................................................................................. 328GetPoolTimeVect
.................................................................................................................................................. 329GetPoolVector
.................................................................................................................................................. 329GetPoolMatrix
Index 331
1 Referenzhandbuch
© XOn Siftware GmbH, 2008
1 Programmierreferenz
In dieser Dokumentation finden sie die Beschreibung der Laufzeitbibliothek und derKlassenbibliothek.
1.1 Laufzeitbibliothek
Die Laufzeitbibliothek gliedert sich in thematische UntergruppenDateifunktionenVerzeichnisfunktionenMathematische FunktionenStringfunktionenDatenpoolfunktionenSpeichermanagementDatum und UhrzeitSonstige
1.1.1 Datei-Funktionen
DateifunktionenDie 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:
21.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Fehlerfallliefert 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. Wennstream mehr als ein Handle zugeordnet ist, wird das beim ersten Öffnen des Stream vergebeneHandle 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 wirdin dem Zeichen-Array gespeichert, auf das buffer zeigt. buflen gibt an, wieviele Zeichen in buffergespeichert werden können._fullpath liefert NULL zurück, wenn der Puffer nicht groß genug für den absoluten Pfadnamen istoder der Pfad eine ungültige Laufwerksangabe enthält.Wenn buffer NULL ist, reserviert _fullpath einen Puffer mit bis zu _MAX_PATH Zeichen. DieserPuffer 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 absolutenPfadnamen 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. Einespezielle 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 oderferror folgen, um auf Dateiende oder Fehler zu prüfen.
3 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 = NAMEext = . EXT
Ist drive leer oder NULL, wird keine Laufwerksbezeichnung in den Pfadnamen eingefügt. Fehltnach 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 derabschließ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 derPunkt (.) 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 denkonstruierten Pfadnamen hat. Die Maximalgröße ist _MAX_PATH, wobei _MAX_PATH in stdlib.hdefiniert ist.
_makepath und _splitpath verhalten sich invers zueinander. Die Anwendung von _makepath aufdie durch _splitpath ermittelten Elemente eines vollständigen Pfadnamens ergeben wieder dasOriginal.
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 undext bezeichneten Strings gespeichert. (Alle fünf Parameter müssen übergeben werden, einzelnedavon 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 dieKonstanten _MAX_DRIVE, _MAX_DIR, _MAX_PATH, _MAX_FNAME und _MAX_EXT definiert.Dabei muß das abschließende Nullzeichen jeweils mitgezählt werden.
41.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 eineausreichende 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 aufdie durch _splitpath ermittelten Elemente eines vollständigen Pfadnamens ergeben wieder dasOriginal.
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 Pufferzuvor auf Diskette bzw. Platte geschrieben werden. Durch das System reservierte Puffer werdendurch fclose freigegeben. Puffer, die mit setbuf oder setvbuf zugeordnet wurden, werden nichtautomatisch freigegeben (es sei denn, beim Aufruf von setvbuf wurde als Pufferzeiger der WertNULL ü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, oderopen. erhalten wurde, einen Stream zu. Der Typ des Stream muß zum Modus des Datei-Handlepassen.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
5 Referenzhandbuch
© XOn Siftware GmbH, 2008
Binärmodus (b) bearbeitet werden soll. Die Angabe geschieht durch ein einfaches Anhängen desjeweiligen Buchstabens (also wb, w+b, rt, a+t etc.). Mit r+ und w+ erzeugte Dateien können sowohlgelesen als auch beschrieben werden:Zwischen einem Wechsel von "Schreiben" nach "Lesen" muß allerdingsein Aufruf von fseek oder rewind stattfinden.Zwischen einem Wechsel von "Lesen" nach "Schreiben" muß ebenfallsein Aufruf von fseek oder rewind stattfinden, es sei denn, dieLeseoperation hat das Dateiende erreicht.
Rückgabewert:fdopen liefert bei fehlerfreier Ausführung einen Zeiger auf den neu geöffneten Stream zurück, imFehlerfall 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 beimErreichen des Dateiendes automatisch gesetzt. Leseoperationen liefern dann solange dieses Flag,bis rewind aufgerufen oder die Datei geschlossen wird. Vor jeder Schreiboperation in diese Dateiwird das Flag gelöscht.
Rückgabewert:feof liefert einen Wert ungleich 0 zurück, wenn das Dateiende-Flag des angegebenen Streamgesetzt 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 Lesefehlerprüft. Das Fehler-Flag eines Stream bleibt nach einem Fehler solange gesetzt, bis entwederclearerr oder rewind aufgerufen oder der Stream geschlossen wird.
Rückgabewert:ferror liefert einen Wert ungleich null zurück, wenn das Fehler-Flag des angegebenen streamgesetzt 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, sorgtalso dafür, daß ausgegebene Daten in die zugehörige Datei geschrieben werden. Der durchstream 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.
61.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 ohneVorzeichenerweiterung und liefert diesen zurück. Bei Erreichen des Dateiendes oder im Fehlerfallwird 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 wirdspeziell codiert gespeichert und ist nur als Parameter für einen folgenden Aufruf von fsetpossinnvoll.
Rückgabewert:fgetpos liefert bei fehlerfreier Ausführung 0 zurück. Im Fehlerfall liefert fgetpos einen Wert ungleichnull und setzt die globale Variable errno auf:9 (EBADF) Ungültiges Handle22 (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, wennentweder ein Zeilenvorschub (\n) gelesen wird oder n-1 Zeichen gelesen wurden. DerZeilenvorschub wird am Ende von s gespeichert. Anschließend hängt fgets automatisch einNullzeichen (\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 desDateiendes 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ückgeliefertwird ein Zeiger auf diesen Stream, über den weitere Operationen mit diesem Stream ausgeführtwerden können.Der Parameter mode kann einen der folgenden Werte annehmen:
7 Referenzhandbuch
© XOn Siftware GmbH, 2008
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) oderbinary (b) bearbeitet werden soll. Die Angabe geschieht durch ein einfaches Anhängen desjeweiligen Buchstabens (also wb, w+b, rt, a+t etc.). Im Parameter mode kann bei fopen dasZeichen t bzw. b auch zwischen den Buchstaben und dem Pluszeichen eingefügt werden. So istbeispielsweise rt+ identisch mit r+t. Mit r+ und w+ erzeugte Dateien können sowohl gelesen alsauch beschrieben werden:Zwischen einem Wechsel von "Schreiben" nach "Lesen" muß allerdingsein Aufruf von fseek oder rewind stattfinden.Zwischen einem Wechsel von "Lesen" nach "Schreiben" muß ebenfallsfseek oder rewind stattfinden, es sei denn, die Leseoperation hat dasDateiende erreicht.
Rückgabewert:fopen liefert bei fehlerfreier Ausführung einen Zeiger auf den neu geöffneten Stream, im Falleeines 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.
HinweisWeitere Details über Formatierungsanweisungen finden Sie unter sprintf. fprintf übernimmt eineFolge von Argumenten, wendet auf jedes die im Formatstring (Parameter format) festgelegteFormatierungsanweisung an und schreibt die formatierten Daten in einen Stream. Die Anzahl derFormatierungsanweisungen und der Argumente muß übereinstimmen.
Rückgabewert:fprintf liefert bei fehlerfreier Ausführung die Anzahl der ausgegebenen Bytes, im Fehlerfall denWert -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.
81.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Funktionerzeugt keinen automatischen Zeilenvorschub am Ende der Ausgabe und das abschließendeNullzeichen (\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 angegebenenStream 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öglicherweise0) 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 denFormatierungsanweisungen, die fscanf im Formatstring format übergeben wurden, wird jedes Feldgelesen, formatiert und an einer Adresse gespeichert, die nach format übergeben wurde. DieAnzahl der Formatierungsanweisungen, der übergebenen Adressen und der Eingabefeldermü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 denLesevorgang vollständig abbrechen. Die möglichen Ursachen hierfür werden unter sscanferläutert.
Rückgabewert:fscanf liefert die Anzahl der fehlerfrei gelesenen und gespeicherten Felder zurück. Gelesene, abernicht gespeicherte Felder werden nicht mitgezählt. Der Versuch, über das Ende einer Dateihinauszulesen, ergibt den Wert -1 (EOF). Wenn überhaupt keine Felder gespeichert wurden, wird0 zurückgeliefert.
9 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 derdurch whence angegebenen Dateiposition entfernt ist. Für Streams im Textmodus sollte offset 0sein oder ein Wert, der von ftell geliefert wurde. Die Art der Positionierung wird über drei Werte fürwhence festgelegt:
Kürzel Wert Dateiposition
SEEK_SET (Wert 0) Relativ zum Dateianfang
SEEK_CUR (Wert 1) Relativ zur aktuellen Position
SEEK_END (Wert 2) Relativ zum Dateiende
Mit ungetc zurückgestellte Zeichen sind nach fseek nicht mehr erreichbar. Benutzen Sie fseek fürStream-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.
101.1 Programmierreferenz
© XOn Siftware GmbH, 2008
Es ist möglich, daß fseek 0 zurückliefert, obwohl bei der Ausführung der Funktion ein Fehleraufgetreten ist. Dies liegt daran, daß der Zeiger letztendlich von DOS gesetzt und das Ergebnisder Positionierung nicht überprüft wird. fseek gibt nur für ungeöffnete Dateien oder Geräte einenFehlercode zurück. Im Fehlerfall wird die globale Variable errno auf einen der folgenden Wertegesetzt:
EBADF (9) Ungültiger Dateizeiger
EINVAL (22) Ungültiges Argument
ESPIPE (29) Suche auf diesem Gerät nicht möglich
1.1.1.22 ftell
Headerint ftell(FILE* stream);
BeschreibungLiefert den aktuellen Dateizeiger.
ftell liefert den aktuellen Dateizeiger von stream zurück. Die Position wird relativ zum Dateianfangin Bytes gemessen (falls es sich um eine Binärdatei handelt). Der von ftell zurückgelieferte Wertkann bei einem nachfolgenden Aufruf von fseek verwendet werden.
Rückgabewertftell 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 beidenfolgenden 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 denDateizeiger 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 Vorzeichenerweiterungzurück. Am Dateiende oder im Fehlerfall liefert die Funktion EOF zurück.
1.1.1.24 putc
Headerint putc(int c,FILE* stream);
BeschreibungSchreibt ein Zeichen in einen Stream.Das Makro putc schreibt das Zeichen c in den durch stream angegebenen Stream.
Rückgabewertputc liefert bei fehlerfreier Ausführung das übergebene Zeichen c zurück.
11 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
MathematifunktionenDie 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 vonacos 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.
121.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 eingegebenenWerts 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 sichder ergebende Winkel p/2 oder -p/2 nähert (den Polstellen der Tangensfunktion, für Werte von xnahe 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 Argumentund liefert den dazugehörigen Cosinus zurück.
Rückgabewert:
13 Referenzhandbuch
© XOn Siftware GmbH, 2008
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.
141.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 dieArgumente nicht innerhalb der zulässigen Grenzen halten, so wird ein Überlauf erzeugt oder dasErgebnis 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 Modulo-Operation), 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 Argumentund liefert den dazugehörigen Sinus zurück.
15 Referenzhandbuch
© XOn Siftware GmbH, 2008
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. Durchden Aufruf von srand mit einem bestimmten Parameter seed kann er auf einen neuen Startwertgesetzt 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 Argumentund 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:
161.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 MathematikfunktionenDiese 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ßendefiniert:
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 undimaginä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 undsetzt die globale Variable errno aufERANGE Ergebnis außerhalb des Rechenbereichs
17 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 undAnkathete die Längen x bzw. y haben.
Rückgabewert:Bei fehlerfreier Ausführung wird z als double (hypot) zurückgeliefert. Im Falle eines Fehlers (zumBeispiel bei einem Überlauf) liefert hypot HUGE_VAL zurück, und die globale Variable errno wirdauf 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 nichtnormalisiert 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 _j0(double x);double _j1(double x);double _jn(int n, double x);double _y0(double x);double _y1(double x);double _yn(int n, double x);double _i0(double x);double _i1(double x);double _in(int n, double x);double _k0(double x);double _k1(double x);double _kn(int n, double x);
Beschreibung:Diese Funktionen berechnen die Bessel- Funktionen. Die Funktionen _j0, _j1 und _jn berechnendie Besselfunktionen der ersten Art mit Ordnung 0,1 oder n. Die Funktionen _y0, _y1 und _ynberechnen Besselfunktionen der zweiten Art mit Ordnung 0,1 oder n. Die zugrundeliegendenFunktionen lauten
181.1 Programmierreferenz
© XOn Siftware GmbH, 2008
(Besselfunktion erster Art)
(Besselfunktion zweiter Art)Die Funktionen _i0, _i1 und _in berechnen die modifizierten Besselfunktionen der ersten Art mitOrdnung 0,1 oder n. Die Funktionen _k0, _k1 und _kn berechnen die modifiziertenBesselfunktionen der zweiten Art mit Ordnung 0,1 oder n.
(modifizierte Besselfunktion erster Art)
(modifizierte Besselfunktionzweiter Art)Das Argument x muß positiv sein. Eine detailierte Beschreibung der Besselfunktionen findet sich inmathematischen Formelsammlungen wie Taschenbuch der Mathematik (Bronstein/ Semendjajew;Verlag Harri Deutsch; Thun und Frankfurt/Main). Diese Funktionen finden allgemein Verwendungin 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.
19 Referenzhandbuch
© XOn Siftware GmbH, 2008
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. DiesesVerfahren ist für großes n schneller als die direket Berechnung der Binomialsumme. DerZusammenhang 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:
201.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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.5und kleiner als 1.0 ist) und den Integerwert n so, daß die Gleichung x = m * 2n gilt. Der Exponent nwird 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
21 Referenzhandbuch
© XOn Siftware GmbH, 2008
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-Anteilzurü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:
221.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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
StringmanipulationDie 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
23 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 zwischenGroß- und Kleinschreibung.strnicmp vergleicht (in einem signed-Vergleich) maximal maxlen Zeichen von s1 und s2miteinander. Es wird kein Unterschied zwischen Groß- und Kleinschreibung gemacht. Beginnendmit dem ersten Zeichen wird zeichenweise verglichen, bis die korrespondierenden Zeichenungleich 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 nZeichen ü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 undbricht erst beim abschließenden Nullzeichen ab.
Rückgabewert:
241.1 Programmierreferenz
© XOn Siftware GmbH, 2008
_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. Eswerden also die Buchstaben a bis z in die Buchstaben A bis Z konvertiert und alle anderenZeichen (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 diefolgenden 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ückgabewertatoi liefert das Ergebnis der Konvertierung oder 0, wenn der zu interpretierende String nicht zueinem 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 folgendenElemente (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]
25 Referenzhandbuch
© XOn Siftware GmbH, 2008
Die Konvertierung endet beim ersten nicht interpretierbaren Zeichen. Eine Prüfung auf eventuelleÜberläufe findet nicht statt (die Funktionsergebnisse sind dann undefiniert). Rückgabewertatol liefert das Ergebnis der Konvertierung zurück. Wenn der zu interpretierende String nicht zueinem 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 Ergebnisals double. Die Funktion erkennt dabei folgende Elemente in der Zeichendarstellung derGleitkommazahl:· 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 _strtoldarbeiten ähnlich wie atof, erlauben aber eine bessere Fehlerbehandlung und werden daher inmanchen Anwendungen bevorzugt. RückgabewertDie 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). DieRoutine _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, aufdie jeweils eine Formatieranweisung angewendet wird. Die Formatieranweisungen sind in demString enthalten, auf den format zeigt. Die so formatierten Daten werden in den durch bufferangegebenen String geschrieben.sprintf wendet die erste Formatieranweisung auf das erste Argument an, die zweite auf das zweiteArgument 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 Nullzeichennicht mitgezählt wird. Im Fehlerfall ist das Funktionsergebnis -1 (EOF).
Formatieranweisungen:Die Formatieranweisungen für sprintf haben die folgende Syntax:
261.1 Programmierreferenz
© XOn Siftware GmbH, 2008
% [flags] [width] [.prec] [F|N|h|l|L] type_charJede Anweisung beginnt mit einem Prozentzeichen (%). Auf dieses Zeichen folgen (in derangegebenen Reihenfolge) optionale Bestandteile des Format-Strings. In der folgenden Tabellesind die optionalen Bestandteile einer Formatieranweisung und ihre Bedeutung aufgelistet:
[flags]Nutzung: optionalWirkung: Flag-Zeichen Ausrichtung der Ausgabe, Vorzeichen, Dezimalpunkt, folgende Nullen,oktale und hexadezimale Präfixe
[width]Nutzung: optionalWirkung: Width specifier Minimalzahl der ausgegebenen Zeichen, notfalls mit Leerzeichen oderNullen aufgefüllt
[prec]Nutzung: optionalWirkung: Präzisionsangabe Maximalzahl der ausgegebenen Zeichen. Bei Integerwerten dieMinimalzahl der ausgegenbenen Ziffern
[F|N|h|l|L]Nutzung: optionalWirkung: Größenmodifizieres Verändern der Standardgröße des Arguments:
N near- Zeiger
F far-Zeiger
h short int
l long
type_charNutzung: optionalWirkung: 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 Flagnicht gesetzt ist, wird das Ergebnis linksbündig dargestellt und von rechts mit Nullen oderLeerzeichen aufgefüllt.+Wirkung: Die Ergebnisse von vorzeichenbehafteten Konvertierungen beginnen immer mit einemPlus- oder Minuszeichen (+ oder -).
LeerzeichenWirkung: Bei nicht-negativen Werten beginnt die Ausgabe immer mit einem Leerzeichen und nichtmit 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 widthDie Breitenangabe legt die minimale Zahl auszugebender Zeichen fest. Die Breite kann auf zweiArten festgelegt werden:direkt, innerhalb des Format-Stringsindirekt, über ein Sternchen (*).Bei der Verwendung von * erwartet sprintf ein zusätzliches Argument, das in der Liste direkt vordem auszugebenden Wert stehen und den Typ int haben muß. Wenn eine Ausgabe wenigerZeichen erzeugt als durch die Breitenangabe festgelegt ist, dann fügt sprintf (abhängig von den
27 Referenzhandbuch
© XOn Siftware GmbH, 2008
Flags) führende bzw. abschließende Leerzeichen ein; erzeugt die Ausgabe dagegen mehrZeichen, als durch die Breitenangabe festgelegt ist, dann wird diese einfach ignoriert. Ausgabenwerden durch die Breitenangabe in keinem Fall begrenzt oder abgeschnitten.
nWirkung: sprintf gibt mindestens n Zeichen aus und stellt nötigenfalls Leerzeichen voran(Standard) bzw. fügt abschließende Leerzeichen an (Flag -).
0nWirkung: sprintf gibt mindestens n Zeichen aus und stellt nötigenfalls eine entsprechende Anzahlführender Nullen voran.
*Wirkung: Die Breitenangabe steht in der Parameterliste direkt vor dem auszugebenden Wert.
PräzisionsangabenDie sprintf -Präzisionsangaben setzen die maximale Anzahl der zu druckenden Zeichen (oder diemiminale Anzahl von Integer-Ziffern). Eine sprintf-Präzisionsangabe wird immer mit einemDezimalpunkt (.) 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-Stringsindirekt, über ein Sternchen (*).Wenn Sie ein * für die Präzisionsangabe verwenden, gibt das nächste Argument im Aufruf (als intbehandelt) die Präzision an. Wenn Sie Sternchen für die Breite, für die Präzision oder für beidesverwenden, muß das Breitenargument unmittelbar hinter den Angaben folgen, danach dasPrä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
.0Wirkung: Standardwerte für d,i,o,u und x, keine Ausgabe des Dezimalpunkts für e,E und f.
.nWirkung: Ausgabe von n Zeichen bzw. n signifikanten Dezimalstellen. Falls der Ausgabewert mehrals 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 demauszugebenden Wert stehen.Für ein Feld wird kein numerisches Zeichen ausgegeben (d.h., das Feld ist leer), wenn diefolgenden Bedingungen zutreffen:wenn eine Präzision explizit mit 0 angegeben wirdwenn 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 Wirkung von [.prec] (.n) auf die Konvertierung
d Mindestens n Ziffern werden ausgegeben.
i Nötigenfalls stellt sprintf führende Nullen voran.
o Falls der auszugebende Wert mehr Stellen umfaßt.
u als durch n angeggeben, wird der angegebene
x,X Wert nicht abgeschnitten.
281.1 Programmierreferenz
© XOn Siftware GmbH, 2008
e,E n legt die Mindestanzahl der Stellen nach dem Komma
E fest. Die letze Stelle wird gerundet.
f,g,Gn legt die Mindestanzahl signifikanter Dezimalstellen fest (inklusiveder Stellen vor dem Komma).
c Die Ausgabe von n hat keine Wirkung.
s Es werden höchstens n Zeichen ausgegeben.
GrößenmodifiziererDie folgenden Modifizierer legen fest, wie printf-Funktionen das nächste Argument arg[f]interpretieren.
Modifizierer Typ von arg Wirkung auf die Interpretation von arg
F Zeiger (p, s,und n) Ein far-Zeiger
N " Ein near-Zeiger
h d i o u x X Ein short int
l d i o u x X Ein long int
L e E f g G 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 korrespondierendenEingabearguments 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 undL überschreiben die Standardgröße der numerischen Dateneingabeargumente. Weder h noch lbeeinflussen Zeichen- (c,s) oder Zeigertypen (p,n).
Typ-Konvertierungszeichen:Die Information in dieser Tabelle basiert auf der Annahme, daß in der FormatieranweisungkeineFlag-Zeichen, Breitenangaben, Präzisionsangaben, oder Größenmodifizierer enthalten waren.Hinweis: Bestimmte Konventionen begleiten einige dieser Formatieranweisungen.Numerische Werte:
Typzeichen Erwartete Eingabe Ausgabeformat
d Integer signed int (dezimal)
i Integer signed int (dezimal)
o Integer unsigned int (oktal)
u Integer unsigned int (dezimal)
x Integer unsigned int (hexadezimal), Buchstaben a bis f
X Integer unsigned int (hexadezimal), Buchstaben A bis F
f Gleitkommavorzeichenbehafteter Wert der Form[-]dddd.dddd.
e Gleitkommavorzeichenbehafteter Wert der Form[-]d.dddde[+/-]ddd
g Gleitkomma vorzeichenbehafteter Wert im e- oder f-Format.
E Gleitkommasiehe e, aber mit dem Zeichen E vor demExponenten
G Gleitkommasiehe e, aber mit dem Zeichen E vor demExponenten
Hinweis zu g: Präzision gibt die Anzahl signifikanter Ziffern an. Abschließende Nullen undDezimalpunkt werden nur ausgegeben, wenn es nötig ist.
Zeichen:
29 Referenzhandbuch
© XOn Siftware GmbH, 2008
Typzeichen Erwartete Eingabe Ausgabeformat
c Zeichen einzelnes Zeichen
s String-ZeigerAusgabe bis NULL oder bisZeichenzahl=[.prec]
% (nichts) Ausgabe des Zeichens %
Zeiger:
Typzeichen Erwartete Eingabe Ausgabeformat
n *intSpeichert an der Position, auf die dasEingabeargument zeigt, die Anzahlderbis jetzt ausgegebenen Zeichen.
p Zeiger
Gibt das Eingabeargument als Zeigerin hexadezimaler Form aus (near-Zeiger als YYYY, far-Zeiger alsXXXX: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 angegebenenString. Auf jedes Feld wird dann die entsprechende Formatieranweisung angewendet, die imdurch format angegebenen Format-String enthalten ist. Gelesene Eingaben werden an denAdressen gespeichert, die in den Parametern hinter format übergeben werden. Die Anzahl vonEingabefeldern 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 denLesevorgang 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 Endedes Strings hinauszulesen, liefert den Wert EOF. Wurden keine Felder gespeichert, so wird 0zurü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: OptionalWirkung:Zeichen für Zuweisungsunterdrückung. Unterdrückt die Zuweisung des nächstenEingabefeldes.
[width]Nutzung: OptionalWirkung: Breitenangabe. Maximale Anzahl der zu lesenden Zeichen. Es können weniger Zeichengelesen werden, wenn die ...scanf-Funktion auf ein Whitespace- Zeichen oder ein nicht-auswertbares Zeichen trifft .
[F|N]
301.1 Programmierreferenz
© XOn Siftware GmbH, 2008
Nutzung: OptionalWirkung: Zeigergrößenmodifikation. Überschreibt die Standardgröße der Adresse:N = near-ZeigerF = far-Zeiger
[h|l|L]Nutzung: OptionalWirkung: Argumenttypmodifikation :
h short int
llong int, wenn type_char eine Integer-Konvertierung festlegt.
ldouble, wenn type_char eineGleitkommakonvertierung festlegt.
Llong double, (nur mitGleitkommakonvertierung zulässig)
type_charNutzung: ObligatorischWirkung: Typzeichen
Zeichen für ZuweisungsunterdrückungDas Zeichen für die Zuweisungsunterdrückung ist ein Sternchen (*), nicht zu verwechseln mit demZeiger-Operator * von C. Wenn in einer Formatieranweisung dem Stern ein Prozentzeichen (%)folgt, wird das nächste Eingabefeld gelesen, jedoch nicht dem nächsten Adressenargumentzugewiesen. Es wird davon ausgegangen, daß die unterdrückten Eingabedaten von dem Typ sind,die das Typzeichen nach dem Stern angibt.
BreitenangabenDie Breitenangabe (n), ein dezimaler Integer-Wert, gibt die maximale Anzahl von Zeichen an, dievom aktuellen Eingabefeld gelesen werden sollen. Es werden bis zu n Zeichen gelesen,konvertiert und im Argument der aktuellen Adresse gespeichert. Wenn das Eingabefeld wenigerals n Zeichen enthält, liest die ...scanf-Funktion alle Zeichen im Feld und fährt dann mit demnächsten Feld und der nächsten Formatieranweisung fort. Die Auswirkungen der Suche nachzeichenmäßiger Übereinstimmung und die Auswirkungen der unterdrückten Zuweisungen sindnicht exakt bestimmbar. Wenn die ...scanf-Funktion auf ein Whitespace-Zeichen oder ein nicht-konvertierbares Zeichen trifft, ehe sie "width" Zeichen gelesen hat, werden die bis dahin gelesenenZeichen gelesen, konvertiert und gespeichert, woraufhin die nächste Formatieranweisung gesuchtwird. Ein nicht-konvertierbares Zeichen ist eines, das nicht im angegebenen Format konvertiertwerden kann (8 oder 9 im oktalen Format; J oder K im hexadezimalen oder dezimalen Formatusw.).
TypzeichenDie Information in der folgenden Tabelle basiert auf der Annahme, daß keine optionalen Zeichen,Anweisungen oder Modifikationen (*, Breite oder Größe) in der Formatieranweisung enthaltensind.
Hinweis:Einige Formatieranweisungen erwarten bestimmte Konventionen.
Zahlen
Typ Erwartete Eingabe Argumenttyp
d Dezimal Integer Zeiger auf int (int *arg)
D Dezimal Integer Zeiger auf long (long *arg)
e,E Gleitkomma Zeiger auf float (float *arg)
f Gleitkomma Zeiger auf float (float *arg)
g,G Gleitkomma Zeiger auf float (float *arg)
o Oktal Integer Zeiger auf int (int *arg)
31 Referenzhandbuch
© XOn Siftware GmbH, 2008
O Oktal Integer Zeiger auf long (long *arg)
iDezimal, oktal oder hexadezimalInteger
Zeiger auf int (int *arg)
I Dezimal, oktal, od. hexadezimal Integer Zeiger auf long (long *arg)
u Dezimal Integer vorzeichenlos Zeiger auf unsigned int (unsigned int *arg)
U Dezimal Integer vorzeichenlosZeiger auf unsigned long (unsignedlong*arg)
x Hexadezimal Integer Zeiger auf int (int *arg)
X Hexadezimal Integer Zeiger auf int (int *arg)
Zeichen
Typ Erwartete Eingabe Argumenttyp
s Zeichen-String Zeiger auf Array mit chars (char arg[])
c Zeichen
Zeiger auf char (char *arg), wenn eineFeldbreite zusammen mit dem Zeichen c(z.B. %5c) gegeben ist. Zeiger auf Array mitW-Zeichen (char arg[W])
% %-Zeichen Keine Konvertierung; % wird gespeichert
Zeiger
Typ Erwartete Eingabe Argumenttye
nZeiger auf int (int *arg): Die Anzahl dererfolgreich gelesenen Zeichen (bis zu %n)wird in int gespeichert.
pHexadezimale Form : YYYY:ZZZZ oderZZZZ
Zeiger auf ein Objekt (far* or near*)%pStandardkonvertierung, Zeigergrößeabhä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ängedes 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 demersten Zeichen von s beginnt. strchr findet die erste Fundstelle des Zeichens c im String s. Dasabschließende Nullzeichen wird zum Inhalt des String gezählt und als letztes verglichen, so daß
321.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 WertNULL, 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 Unsigned-Vergleich durch. Beginnend mit dem ersten Zeichen werden die beiden Strings zeichenweiseverglichen, bis zwei korrespondierende Zeichen ungleich sind oder das Ende der Strings erreichtwird.
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.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 inder Kategorie 1 (LC_COLLATE) der aktuellen Locale-Einstellung gesetzte Vergleichsreihenfolgeverwendet.
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.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 angegebenenSpeicherbereich. Das abschließende Nullzeichen von src wird als letztes Zeichen kopiert.
Rückgabewert:strcpy liefert dest zurück.
33 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zeichenmengeenthält.strcspn liest den String s1 zeichenweise bis eines der in s2 enthaltenen Zeichen auftritt. DieAnzahl der in s1 gelesenen Zeichen bildet den Rückgabewert. Das abschließende Nullzeichenwird 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 nichtvorkommen.
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 statischenString 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 statischenPuffer 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 demersten Zeichen wird solange zeichenweise verglichen, bis die korrespondierenden Zeichenungleich sind oder das Ende der Strings erreicht wird. Beim Vergleich werden Groß- undKleinbuchstaben nicht unterschieden. Zurückgeliefert wird ein Wert(<0, 0 oder >0) der auf demVergleich 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.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.
341.1 Programmierreferenz
© XOn Siftware GmbH, 2008
Rückgabewert:strlen liefert die Anzahl der Zeichen des Strings s zurück. Das abschließende Nullzeichen wirddabei 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 einenKleinbuchstaben. 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 vonsrc erreicht ist. Als letztes schreibt strncat grundsätzlich ein Nullzeichen in dest. Die maximaleLä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 dieersten maxlen Zeichen von s1 und s2 miteinander. Beginnend mit dem ersten Zeichen wirdzeichenweise verglichen, bis die korrespondierenden Zeichen ungleich sind oder maxlen Zeichenuntersucht worden sind.
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.23 strncpy
Syntax:char *strncpy(char *dest, const char *src, int maxlen);
Beschreibung:
35 Referenzhandbuch
© XOn Siftware GmbH, 2008
Kopiert eine bestimmte Anzahl von Bytes von einem String in einen anderen, wobei strncpy kopiertbis zu maxlen Zeichen des über src angegebenen Strings in den durch dest angegebenenSpeicherbereich. strncpy schreibt immer genau maxlen Zeichen - wenn src weniger als maxlenZeichen 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 einabschließ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 s2enthaltenen Zeichens ab.
Rückgabewert:Die Funktion liefert einen Zeiger auf die erste Fundstelle eines Zeichens aus s2 zurück. Erscheintkein 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 demletzten Zeichen von s beginnt. Das abschließende Nullzeichen wird zum Stringinhalt gerechnet undals erstes verglichen.
Rückgabewert:strrchr liefert einen Zeiger auf das letzte Vorkommen des Zeichens c in s zurück bzw. den WertNULL, 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 angegebenenZeichen besteht.Beginnend mit dem ersten Zeichen überprüft die Funktion strspn, ob die Zeichen in s1 Bestandteilvon 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 s2enthalten sind.
361.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 s2in 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 Stringdefiniert sind. strtok betrachtet den über s1 angegebenen String als Folge von null oder mehrZeichenfolgen (Token), die voneinander durch eines oder mehrere der in s2 definierten Zeichengetrennt sind. Der erste Aufruf von strtok liefert einen Zeiger auf den Beginn der erstengefundenen Zeichenfolge in s1 zurück und setzt ein Nullzeichen unmittelbar hinter das Ende derZeichenfolge. Folgende Aufrufe von strtok mit dem Wert NULL anstelle des Arguments s1 lieferndie 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 keineweitere 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ß daherals 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. Liegtradix zwischen 2 und 36, so wird s im Zahlensystem zur Basis radix interpretiert. Ist radix 0, solegen die ersten Zeichen von s die verwendete Basis fest:
1. Zeichen 2. Zeichen Interpretation
0 1 bis 7 Oktalsystem
0 x oder X Hexadezimalsystem
1 bis 9 Dezimalsystem
37 Referenzhandbuch
© XOn Siftware GmbH, 2008
Ist radix gleich 1, kleiner als 0 oder größer als 36, so wird der Parameter als ungültiger Wertinterpretiert. Bei Ausgabe ungültiger Werte für radix liefert die Funktion Null zurück und setzt denZeiger *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 interpretiertwerden, werden nur die Zeichen 0 bis 9 erkannt. Falls der Wert in s als Zahl eines Zahlensystemszu einer anderen Basis interpretiert werden soll, werden nur die Zeichen, die zur Repräsentationvon Zahlen dieses Zahlensystems verwendet werden, erkannt. (Beispielsweise nur die Zeichen 0bis 4, wenn radix gleich 5 ist, ist radix gleich 20, werden nur die Zeichen 0 bis 9 und A bis Jerkannt)Wenn endptr ungleich NULL ist, dann wird *endptr auf die Adresse des ersten nicht analysierbarenZeichens 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 Stringtarget, daß die Funktion strcmp, angewendet auf die Ergebnisstrings der Funktion, dieselbenWerte zurückliefert wie die Funktion strcoll, angewendet auf die Ausgangsstrings. Einschließlichdes abschließenden Nullzeichens werden maximal n Zeichen von source transformiert. DerErgebnisstring richtet sich nach der Kategorie 1 (LC_COLLATE) der aktuellen Locale-Einstellung(siehe setlocale). Der generierte Spezial-String kann mit anderen Strings desselben Typsbyteweise (beispielsweise per strcmp) verglichen werden. Die Vergleichsergebnisse entsprechendann der aktuellen Locale- Einstellung für Vergleiche. Diese Spezial-Strings können als Schlüsseloder Symbol Strings ("tokenized strings") aufgefaßt werden und sind jeweils nur innerhalb einerLocale-Einstellung sinnvoll.Die in target enthaltenen Token werden anhand der von strcoll verwendetenVergleichsgewichtungen aus den Vergleichstabellen der aktuellen Locale-Einstellung erzeugt. DieFunktion wird beendet, wenn alle Ebenen bearbeitet wurden oder wenn die Länge des Symbol-String den Parameter n erreicht. Alle überflüssigen Token werden aus der Token-Menge jederEbene entfernt. Der Puffer für den Symbol- String muß groß genug sein. Seine Größe hängt vonder Länge des String source, von der Anzahl der Vergleichsebenen, von den Regeln für jedeEbene sowie vom Auftreten von Sonderzeichen ab. Bestimmte Sonderzeichen verursachenzusä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 aufzwei Vergleichsgewichtungen erweitert wird. Teil-Strings mit Ersetzungen benötigen ebenfallszusätzlichen Platz. Für die Berechnung des benötigten Speicherplatzes gibt es keineallgemeingü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 wirdnicht mitgezählt. Ist der zurückgelieferte Wert gleich oder größer als n, dann ist der Inhalt vontarget unbestimmt.
1.1.4 Datenpoolfunktionen
DatenpoolfunktionenDie hier behandelten Funktionen ermöglichen den Zugriff auf Datenpoolelemente.
siehe auch:· GetPoolType· GetPoolSize· GetPoolIndex
381.1 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 Element erfolgreich kopiert
-1 Elementname schon vergeben
-2 Element von unzulässigem Typ
-3 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:
39 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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 einentsprechendes Element im Datenpool existiert und vom Typ CDia ist, wird ein Zeiger daraufzurü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 vorhandenist.
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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRMatrixist, 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 entsprechendeElement 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.
401.1 Programmierreferenz
© XOn Siftware GmbH, 2008
*/ 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CF8Matrixist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:Zeiger auf einen Matrix mit Gleitkommazahlen (CF8Matrix) oder NULL, falls das entsprechendeElement 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
41 Referenzhandbuch
© XOn Siftware GmbH, 2008
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CI4Matrixist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:Zeiger auf einen Matrix mit Gleitkommazahlen (CI4Matrix) oder NULL, falls das entsprechendeElement 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRMatrixist, 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 nichtexistiert 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++)
421.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls einentsprechendes Element im Datenpool existiert und vom Typ CODBC ist, wird ein Zeiger daraufzurü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 */
43 Referenzhandbuch
© XOn Siftware GmbH, 2008
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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls einentsprechendes Element im Datenpool existiert und vom Typ CText ist, wird ein Zeiger daraufzurü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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Liefert den Type des Eintrages im Datenpool mit Index idx oder Namen name. Der Index beginntbei Null. Falls kein Element mit entsprechendem Index oder Namen vorhanden ist, wird 0zurückgeliefert.
Rückgabewert:
0Fehler: Kein Element mit diesem Index oder Namenvorhanden.
441.1 Programmierreferenz
© XOn Siftware GmbH, 2008
1 CODBC
2 CDia
3 CText
4 CF8Vector
5 CF8Matrix
6 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CDTVectorist, 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 entsprechendeElement 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:
45 Referenzhandbuch
© XOn Siftware GmbH, 2008
Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CF8Vectorist, wird ein Zeiger darauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
Rückgabewert:Zeiger auf einen Vektor mit Gleitkommazahlen (CF8Vector) oder NULL, falls das entsprechendeElement 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- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CI4Vectorist, 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 entsprechendeElement 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;}
461.1 Programmierreferenz
© XOn Siftware GmbH, 2008
1.1.4.16 GetPoolVSTR
Syntax:CSTRVector* GetPoolVSTR(const char* szPoolName);CSTRVector* GetPoolVSTR(int nPoolID);Parameter:nPoolID: Index des gewünschten Pool- ElementesszPoolName: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index nPoolID oder dem NamenszPoolName. Falls ein entsprechendes Element im Datenpool existiert und vom Typ CSTRVectorist, 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 Elementnicht 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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Löscht das Datenpoolelement mit Index idx oder dem Namen name aus dem Datenpool, falls einentsprechendes Element im Datenpool existiert.
Rückgabewert:
0 Element nicht gefunden
1 Element erfolgreich gelöscht
1.1.4.18 SetPoolName
Syntax:int SetPoolName(int idx,char *name);
Parameter:
47 Referenzhandbuch
© XOn Siftware GmbH, 2008
idx: Index des gewünschten Pool- Elementesname: neuer Name des Elementes
Beschreibung:Setzt den Namen des Pool- Elementes mit Index idx.auf name Der Index beginnt bei 0.
Rückgabewert:
0 OK
-1 unzulässiger Index
-2 unzulässiger Name
-3 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
SpeichermanagementDas 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
0x2000belegt Speicher, der mit anderen Applikationengeteilt werden kann. Dieses Flag wird nur für DDEbenutzt.
0x0100belegt Speicher, der verworfen werden kann. DiesesFlag kann mit 0x0002 kombiniert werden
0x0000 belegt festen Speicher.
0x0002 belegt beweglichen Speicher.
0x0010 verhindert Komprimierung oder Verwerfung zur
481.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 werdenkonnte.
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 denSperrzähler um eins und sperrt den Speicher. Gesperrter Speicher kann nicht verworfen oderverschoben 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 ermitteltwerden 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 derSperrzähler um eins erniedrigt. Erst wenn der Sperrzähler Null ist, ist das Speicherobjektvollständig freigegeben.
Rückgabewert:
49 Referenzhandbuch
© XOn Siftware GmbH, 2008
0 Sperrzähler wurde auf Null gesetzt
1 Sperrzähler ungleich Null
1.1.5.5 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. Konnteder 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 UhrzeitDie 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 bufangegebenen Puffer. buf muß mindestens 9 Zeichen lang sein. Der String ist durch einNullzeichen abgeschlossen und hat das Format MM/DD/YY. MM, DD und YY sind Zahlen mitjeweils zwei Ziffern und geben Monat, Tag und Jahr an.
Rückgabewert:Der Rückgabewert von _strdate ist buf, die Adresse des Datum-Strings.
501.1 Programmierreferenz
© XOn Siftware GmbH, 2008
1.1.6.2 _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 bufangegebenen Puffer. buf muß mindestens 9 Zeichen lang sein. Der String wird durch einNullzeichen abgeschlossen und hat das folgende Format:HH:MM:SSHH, 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 Formatder Funktion time. Die ursprünglichen Werte der Felder tm_sec, tm_min, tm_hour, tm_mday undtm_mon sind nicht auf den durch die tm-Struktur festgelegten Bereich beschränkt. Befinden sichdie Felder nicht im korrekten Bereich, werden sie angepaßt. Die Werte der Felder tm_wday undtm_yday werden nach der Anpassung der anderen Felder berechnet. Kann die Kalenderzeit nichtdargestellt werden, liefert mktime -1 zurück. Die zulässige Bereich für die Kalenderzeit liegtzwischen dem 1. Januar 1970 00:00:00 und dem 19. Januar 2038 03:14:07.
Rückgabewert:Siehe Beschreibung.
51 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 OnTimerdes Bildes gerufen. Timer sind globale Resourcen. Es ist daher unbedingt nötig den Rückgabewertvon SetTimer auf Gültigkeit zu prüfen um sicherzustellen, daß der von ihnen gewünschte Timerauch erhältlich ist. Geben sie ihren Timer wieder frei, indem sie die Funktion KillTimer mit demRü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 szeigt. Bei der Formatierung werden die in fmt enthaltenen Formatieranweisungen angewandt. DerFormat-String besteht aus null oder mehr Anweisungen und normalen Zeichen. Wie bei printfbesteht eine Anweisung aus dem Zeichen %, gefolgt von dem Zeichen für das einzusetzendeFormat. Alle normalen Zeichen werden unverändert kopiert. Es werden maximal maxsize Zeichennach s geschrieben.Die folgende Tabelle beschreibt die ANSI-definierten Formatieranweisungen für den Format-String, der mit strftime verwendet wird.
Formatieranweisung Ersetzungen
%% %- Zeichen
%a Abgekürzter Wochentagname
%A Vollständiger Wochentagname
%b Abgekürzter Monatsname
%B Vollständiger Monatsname
%c Datum und Uhrzeit
%d Zwei Ziffern für den Tag im Monat (01 - 31)
%H Zwei Ziffern für die Stunde (00 - 23)
%I Zwei Ziffern für die Stunde (01 - 12)
%j Drei Ziffern für den Tag im Jahr (001 - 366)
%m Zwei Ziffern für den Monat als Dezimalzahl (1 - 12)
%M Zwei Ziffern für die Minute (00 - 59)
%p AM oder PM (vormittags oder nachmittags)
%S Zwei Ziffern für die Sekunde (00 - 59)
%UZwei Ziffern für die Wochenzahl, wobei Sonntag ersterWocheentag ist (00 - 53)
%w Wochentag, wobei 0 dem Sonntag entspricht (0 - 6)
%W Zwei Ziffern für die Wochenzahl, wobei Montag erster
521.1 Programmierreferenz
© XOn Siftware GmbH, 2008
Wochentag ist (00 - 53)
%x Datum
%X Uhrzeit
%y Zwei Ziffern für das Jahr ohne Jahrhundert (00 - 99)
%Y Jahr mit Jahrhundert
%ZName der Zeitzone oder keine Zeichen, wenn keine Zeitzonefestgelegt ist
Rückgabewert:strftime liefert die Anzahl der Zeichen zurück, die nach s geschrieben wurden. Ist die Anzahl derbenö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. Januar1970, 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 FunktionenDie 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
53 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Fehler
1 OK
1.1.7.3 MessageBox
Syntax:int MessageBox(int Typ,char *fmt,...);
Parameter:Typ: Typ der Messagebox
0 mit OK- Taste
1 mit OK/Abbrechen- Tasten
2 mit Wiederholen/Abbrechen- Tasten
3 mit Ja/Nein- Tasten
4 mit Ja/Nein/Abbrechen- Tasten
5 mit Abbrechen/Widerholen/Ignorieren- Tasten
fmt: Formatstring
Siehe auch:sprintf
Beschreibung:Zeigt ein Fenster mit einer Meldung an. Die Meldung wird zusammengesetz aus den imFormatstring beschriebenen Komponenten.
Rückgabewerte:
0 Abbrechen Taste wurde gedrückt
1 Unterbrechen Taste wurde gedrückt
2 Ignorieren Taste wurde gedrückt
3 JaTaste wurde gedrückt
4 Nein Taste wurde gedrückt
5 OK Taste wurde gedrückt
6 Wiederholen Taste wurde gedrückt
<0 Fehler
541.1 Programmierreferenz
© XOn Siftware GmbH, 2008
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 aktiven View sofort drucken
1 Druckerdialog durchführen
Beschreibung:Druckt die aktuelle Seite und/oder führt einen Druckerdialog durch.
Rückgabewerte:
0 Fehler
1 OK
1.1.7.5 SetFH
Syntax:void SetFH(int nWhat,char *pFmt);
Parameter:nWhat:0: Kopfzeile bei Grafikausdruck1: Fußzeile bei Grafikausdruck2: Kopfzeile bei Textausdruck3: 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
55 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 WerteR, G und B müssen im Bereich 0 bis 255 liegen.
Rückgabewert:Farbwert
1.1.8 Verzeichnisfunktionen
VerzeichnisfunktionenZum Zugriff auf Verzeichnisstrukturen stehen Ihen folgende Funktionen zur Verfügung:
Funktionen:· _chdir· _chdrive· _getcwd· _getdcwd· _mkdir· _rmdir· _searchenv
561.1 Programmierreferenz
© XOn Siftware GmbH, 2008
1.1.8.1 _chdir
Syntax:int chdir(char *path);
Beschreibung:Wechselt das aktuelle Verzeichnis._chdir setzt das durch path bezeichnete Verzeichnis als aktuelles Arbeitsverzeichnis. DerParameter 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 aktiveLaufwerk selbst.
Rückgabewert:Wenn das angegebene Verzeichnis gesetzt werden konnte, liefert chdir den Wert 0; ansonstenwird -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 (inklusivedes Laufwerks) als String an der durch buf bezeichneten Adresse. Die Maximallänge desPfadnamens wird durch den Parameter buflen begrenzt. Ist der vollständige Pfadnameeinschließlich des abschließenden Nullzeichens länger als buflen Bytes, so wird ein Fehlererzeugt.Wenn der als buf übergebene Zeiger den Wert NULL hat, reserviert _getcwd über einen Aufrufvon malloc selbständig einen Bereich von buflen Bytes. Später können Sie diesen reservierteSpeicherbereich 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 NULLzurückgeliefert.Ist buf bei der Eingabe gleich NULL, liefert _getcwd bei fehlerfreier Ausführung einen Zeiger aufden 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 angegebenenLaufwerk (einschließlich des Laufwerknamens) als String in buffer zurück, dessen Maximallängedurch den Parameter buflen gesetzt wird. Ist der vollständige Pfadname einschließlich desabschließenden Nullzeichens länger als buflen Bytes, so wird ein Fehler erzeugt. Für denParameter drive gilt: 0 = aktuelles Laufwerk, 1 = A, 2 = B, etc.Wenn der als buffer übergebene Zeiger den Wert NULL hat, reserviert _getdcwd einen Puffer vonmindestens buflen Bytes. Später kann dieser Speicherbereich durch Übergabe desRückgabewerts von _getdcwd an die Funktion free wieder freigegeben werden.
Rückgabewert:
57 Referenzhandbuch
© XOn Siftware GmbH, 2008
_getdcwd liefert bei fehlerfreier Ausführung einen Zeiger auf den Puffer zurück, der den Namendes aktuellen Verzeichnisses im angegebenen Laufwerk enthält. Im Fehlerfall liefert _getdcwd denWert 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, wenndieses Verzeichniskeine Einträge enthält,nicht das aktuelle Arbeitsverzeichnis ist undnicht das Stammverzeichnis der Diskette/Festplatte darstellt.
Rückgabewert:_rmdir liefert 0 zurück, wenn das Verzeichnis erfolgreich gelöscht wurde. Im Fehlerfall ist derRü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 denParameter file angegebenen Namen. Bleibt die Suche erfolglos, dann liest die Funktion diePfadangaben in der Umgebungsvariable varname des Betriebssystems und durchsucht sämtlichedarin enthaltenen Verzeichnisse der Reihe nach (typische Umgebungsvariablen sind PATH, LIBoder INCLUDE).Wenn die Datei gefunden wurde, wird der vollständige Dateiname (Laufwerk, Verzeichnis undDateiname) im durch den Parameter buf angegebenen Puffer gespeichert. Dieser String kannbeispielsweise bei einem folgenden Aufruf von fopen oder exec... verwendet werden. Der Puffermuß groß genug sein, um jeden möglichen Dateinamen aufzunehmen. Kann die Datei nichtgefunden werden, zeigt buf auf einen leeren String (der nur ein Nullzeichen enthält).
581.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2 Klassenebibliothek
Der Anwender von X1 hat über die Programmierschnittstelle die Möglichkeit auf verschiedensteObjekte 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:
59 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 allenachfolgend 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.
601.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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 Farbwertgespeichert dann wird dieser überschrieben.
Siehe auch:
61 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
621.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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:
63 Referenzhandbuch
© XOn Siftware GmbH, 2008
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:
641.2 Programmierreferenz
© XOn Siftware GmbH, 2008
CGLMaterial Übersicht | Hierarchie
1.2.2.5 CGrafDoc
Diese Klasse bildet das Interface zum X1-Dokument. Die Klasse bietet Methoden zurSeitenverwaltung (anlegen, löschen, blättern). Außerdem beinhaltet diese Klasse dieTrashverwaltung.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 desDokumentes eingefügt. Ist Pos > Seitenanzahl, so wird die Seite am Ende des Dokumentesangefü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
65 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 eineVariable auf eines dieser Objekte verweisen, dann wird sie durch diesen Aufruf ungültig und darfnicht mehr verwendet werden! Der Aufruf dieser Methode ist im allgemeinen nicht nötig, da derMü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 erzeugenund 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
String
4100 Kopfzeile
Format der Kopfzeile. Folgende Platzhalter sind definiert:&P: Seitenzahl&T: Uhrzeit&D: Datum&F: Dateiname
4101 Fußzeile
Format der Fußzeile. Folgende Platzhalter sind definiert:&P: Seitenzahl&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
661.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 anderenObjekte 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, KlassenhierarchieCGrafNode
67 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
681.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
69 Referenzhandbuch
© XOn Siftware GmbH, 2008
String
4100 Kopfzeile
Format der Kopfzeile.Folgende Platzhaltersind definiert:&P: Seitenzahl&T: Uhrzeit&D: Datum&F: Dateiname
4101 Fußzeile
Format der Fußzeile.Folgende Platzhaltersind definiert:&P: Seitenzahl&T: Uhrzeit&D: Datum&F: Dateiname
4102 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: Kopfzeile3: 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
701.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.2.6 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 aufDaten einer Tabellenspalte zugreifen. Da der Datentyp der Spalte zur Laufzeit unbekannt seinkann, benutzt GetFieldValue ein CDBVariant Objekt um die Daten der Spalte zu speichern.
Siehe auch:CRecordset, CRecordset::GetFieldValue, CRecordset::GetBookmark, CRecordset::SetBookmarkClass Members | Hierarchy Chart
1.2.2.6.1 CDBVariant class members
Daten Members
m_dwType Enthält den Datentyp des aktuell gespeicherten Wertes. Type DWORD.
m_boolVal Enthält einen Wert vom Typ BOOL.
m_chVal Enthält einen Wert vom Typ unsigned char.
m_iVal Enthält einen Wert vom Typ short.
m_lVal Enthält einen Wert vom Typ long.
m_fltVal Enthält einen Wert vom Typ float.
m_dblVal Enthält einen Wert vom Typ double.
m_pdate Enthält einen Zeiger auf eine Objekt vom Typ TIMESTAMP_STRUCT.
m_pstring Enthält einen Zeiger auf eine Objekt vom Typ CString.
m_pbinary Enthält einen Zeiger auf eine Objekt vom Typ CLongBinary.
Konstruktion
CDBVariant Erzeugt ein CDBVariant Objekt.
Operationen
Clear Löscht den Inhalt eines CDBVariant Objekts.
GetBinaryData Kopiert die Daten aus dem Member m_pbinary.
GetBinarySize Liefert die Menge der Daten im Member m_pbinary.
GetString 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:
71 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 derWert von m_dwType DBVT_DATE, DBVT_STRING, oder DBVT_BINARY, dann gibt Clear denentsprechenden Speicher frei. Clear setzt m_dwType auf DBVT_NULL.Der CDBVariant Destruktor ruft Clear.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Ü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 derWert 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_dwTypeCDBVariant Ü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 Datenzu erhalten. Ist der Wert von m_dwType nicht DBVT_BINARY, dann gibt die Funktion den Wert 0zurück.
Rückgabewert:Die Anzahl der in m_pbinary gespeicherten Daten.
721.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Siehe auch:CDBVariant::m_dwTypeCDBVariant Ü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 derWert 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_dwTypeCDBVariant Ü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. Wennm_dwType den Wert DBVT_BOOL hat, dann enthält m_boolVal einen gültigen Wert; andernfallsliefert der Zugriff auf m_boolVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Ü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 einerunion. Prüfen sie vor dem Zugriff auf m_chVal den Wert von CDBVariant::m_dwType. Wennm_dwType den Wert DBVT_UCHAR hat, dann enthält m_chVal einen gültigen Wert; andernfallsliefert der Zugriff auf m_chVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Übersicht | Class Members | Hierarchy Chart
73 Referenzhandbuch
© XOn Siftware GmbH, 2008
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_dwTypeden Wert DBVT_DOUBLE hat, dann enthält m_dblVal einen gültigen Wert; andernfalls liefert derZugriff auf m_dblVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Ü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 dengültigen union - Member zu ermitteln. This data member contains the data type for the value that iscurrently 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 sievor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType denWert DBVT_SINGLE hat, dann enthält m_fltVal einen gültigen Wert; andernfalls liefert der Zugriffauf m_fltVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Overview | Class Members | Hierarchy Chart
741.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 sievor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType denWert DBVT_SHORT hat, dann enthält m_iVal einen gültigen Wert; andernfalls liefert der Zugriffauf m_iVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant 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 sievor dem Zugriff auf m_boolVal den Wert von CDBVariant::m_dwType. Wenn m_dwType denWert DBVT_LONG hat, dann enthält m_lVal einen gültigen Wert; andernfalls liefert der Zugriff aufm_lVal ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant 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 siedie Methode GetBinaryData bzw. GetBinarySize. Der m_pbinary data member gehört zu einerunion. Prüfen sie vor dem Zugriff auf m_pbinary den Wert von CDBVariant::m_dwType. Wennm_dwType den Wert DBVT_BINARY hat, dann enthält m_pbinary einen gültigen Wert; andernfallsliefert der Zugriff auf m_pbinary ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Ü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 zueiner union. Prüfen sie vor dem Zugriff auf m_pdate den Wert von CDBVariant::m_dwType. Wennm_dwType den Wert DBVT_DATE hat, dann enthält m_pdate einen gültigen Wert; andernfallsliefert der Zugriff auf m_pdate ein zufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Overview | Class Members | Hierarchy Chart
75 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.2.6.3.10 CDBVariant::m_pstring
Beschreibung:Speichert eine Variable vom Typ CString. Um Auf diesen Member zuzugreifen verwenden sie dieMethode GetString. Der m_pstring data member gehört zu einer union. Prüfen sie vor dem Zugriffauf m_pstring den Wert von CDBVariant::m_dwType. Wenn m_dwType den Wert DBVT_STRINGhat, dann enthält m_pstring einen gültigen Wert; andernfalls liefert der Zugriff auf m_pstring einzufälliges Resultat.
Siehe auch:CDBVariant::m_dwTypeCDBVariant Overview | Class Members | Hierarchy Chart
1.2.2.7 CDatabase
Ein CDatabase Gegenstand stellt einen Anschluß zu einer Datenquelle dar, durch die Sie dieDatenquelle zugreifen können. Eine Datenquelle ist ein spezifischer Instance der Daten, die aufeinem Datenbankmanagementsystem (DBMS) beruht. Beispiele hierfür sind Microsoft SQLServer, Microsoft Access, Borland® dBASE® und xBASE. Sie können einen oder mehrCDatabase Gegenstände auf einmal zugreifen. Um CDatabase zu verwenden, konstruieren Sie einen CDatabase Gegenstand und verwenden Sieseine OpenEx Funktion.
Siehe auch:CRecordsetClass Members | Base Class
1.2.2.7.1 CDatabase Class Members
Data Members:
m_hdbc Open Database Connectivity (ODBC) connectionhandlezu einer Datenquelle. Type HDBC.
Konstruktoren:
CDatabase Erstellt ein CDatabase object. Sie müssen das Objektinitialisieren, indem Sie OpenEx oder Open aufrufen.
Open Stellt einen Anschluß zu einer Datenquelle her (durcheinen ODBC Treiber).
OpenEx Stellt einen Anschluß zu einer Datenquelle her (durcheinen ODBC Treiber).
Close Beendet eine Datenverbindung
Datenbankattribute:
GetConnect Bringt die ODBC connect Zeichenkette zurück, die
761.2 Programmierreferenz
© XOn Siftware GmbH, 2008
benutztwird, um den CDatabase Objekt an eineDatenquelle anzuschließen.
IsOpen Bringt ungleich Null zurück, wenn des CDatabaseObjekt z.Z. an eine Datenquelle angeschlossen wird.
GetDatabaseName Bringt den Namen der Datenbank z.Z. im Gebrauch istzurück.
CanUpdate Bringt ungleich Null zurück, wenn der CDatabaseObjektupdatable ist(nichtRead-only).
CanTransact Bringt ungleich Null zurück, wenn die Datenquelletransactions unterstützt.
SetLoginTimeout 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 bookmarkPersistencen enthalten.
GetCursorCommitBehavior Indentifieziert den Effekt einer transaktion auf einemgeöffneten recordset Objekt.
GetCursorRollbackBehavior Indentifieziert den Effekt einer Rolback transaktion aufeinem geöffneten recordset Objekt.
Datenbantoperationen:
BeginTrans Startet eine transaktion zu einer angebundenDatenquelle.
CommitTrans Führt eine transaktion durch, die von BeginTransdurchgeführt wird.
Rollback Macht alle Änderungen rückgängig, die während deraktuellen Transaktion ausgeführt wurden. DieDatenquelle erhält den Zustand, der beim Aufruf von BeginTrans herrschte.
Cancel bricht einen asynchronen Betrieb oder ein Prozeß voneinemzweiten Thread ab.
ExecuteSQL Führt eine SQL Aussage durch. Keine Datensätzewerden zurückgegeben.
Database Overridables
OnSetOptions Aufgerufen durch das , um standart connect Optionenzu setzen.
CDatabase Overview | Base Class Members
1.2.2.7.2 Member Functions
1.2.2.7.2.1 CDatabase::BeginTrans
Syntax:
77 Referenzhandbuch
© XOn Siftware GmbH, 2008
BOOL BeginTrans();
Rückgabewert:Ungleich Null, wenn der Anruf erfolgreich war und Änderungen werden nur manuell committed; 0andernfalls.
Bemerkung:Verwenden Sie diese Funktion um eine transaktion mit einer verbunden Datenquelle zu starten. .
Siehe auch:CDatabase::CommitTrans, CDatabase::Rollback, CRecordset::CanTransactCDatabase Overview | Class Members
1.2.2.7.2.2 CDatabase::Cancel
Syntax:void Cancel( );
Bemerkung:Benennen Sie diese Mitgliedsfunktion, um zu verlangen daß dasDatenquelle abgebrochen wird. Entweder durch ein asynchrone Operation oderein 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, transaktionenerlauben; 0 andernfalls.
Siehe auch:CDatabase::BeginTrans, CDatabase::CommitTrans, CDatabase::RollbackCDatabase 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
781.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.2.7.2.5 CDatabase::CDatabase
Syntax:CDatabase( );
Bemerkung:Konstruktor eines CDatabase Objekts. Nachdem Sie das Objekt erstellt haben, müssen SieOpenEx 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 neededCDatabase* 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::OpenCDatabase 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 verbundensind, bevor Sie diese Funktion aufrufen.
Beispiel:// Close the current connectionm_dbCust.Close( );// Perhaps connect the object to a// different data sourcem_dbCust.OpenEx("DSN=MYDATASOURCE;UID=JOES");
Siehe auch: CDatabase::OpenEx, CDatabase::OpenCDatabase Overview | Class Members
79 Referenzhandbuch
© XOn Siftware GmbH, 2008
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::RollbackCDatabase 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, CRecordsetCDatabase 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 Objektfortbestehen.
Bemerkung:Benutzen Sie diese Funktion, um die persistence der Bookmarks auf einem recordset Objekt nachbestimmten 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 einerLöschungoeration aufdieser 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
801.2 Programmierreferenz
© XOn Siftware GmbH, 2008
einem Rolltback.
SQL_BP_UPDATE Das Bookmark für eine Reihe ist nach einerUpdateOperation auf dieser Reihe gültig.
SQL_BP_OTHER_HSTMT Die Bookmarks, die mit einem recordset Objekt verbundensind, sindauf einem zweiten recordset gültig.
Siehe auch:CRecordset, CRecordset::CanBookmark, CRecordset::GetBookmark, CRecordset::SetBookmarkCDatabase 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::OpenCDatabase 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. MehrInformationen finden sie unter Bemerkung.
Bemerkung:Rufen sie diese Funktion um Information über die Auswirkung von CommitTrans- Operationen aufoffenen Recordsets zu erhalten.Die folgende Tabelle zeigt die möglichen Rückgabewerte von GetCursorCommitBehavior unddie 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, CRecordsetCDatabase Overview | Class Members
1.2.2.7.2.12 CDatabase::GetCursorRollbackBehavior
Syntax:
81 Referenzhandbuch
© XOn Siftware GmbH, 2008
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öffnetenrecordset Gegenständen wirkt.Die folgende Tabelle verzeichnet die möglichen Rückholwerte für GetCursorRollbackBehaviorund der entsprechende Effekt auf dasgeöffnete recordset.
Rückgabewert Auswirkung auf das CRecordset Objekt
SQL_CB_CLOSE Anruf CRecordset::Requery direkt nach dem VerhandlungRollback.
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, CRecordsetCDatabase 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::GetConnectCDatabase 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 Datenquelleangeschlossen ist.
Siehe auch:CDatabase::OpenEx, CDatabase::OpenCDatabase Overview | Class Members
821.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 ExecutenSQLFunktion durchführt. CRecordset::OnSetOptions ruft diese Funktion auch auf.OnSetOptions stellt den login timeaut Wert ein.Wenn es vorhergehende Anrufe zumSetQueryTimeout gegeben hat und Funktionen arbeiten, reflektiert OnSetOptions diegegenwärtigen Werte; andernfalls stellt es Default-Werte ein.
Siehe auch:CDatabase::ExecuteSQL, CDatabase::SetQueryTimeout, CRecordset::OnSetOptionsCDatabase Overview | Class Members
1.2.2.7.2.16 CDatabase::Open
Syntax:BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE );
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 derSystemsteuerung). Wurde ein DSN- Wert im Parameter lpszConnect angegeben, dann darf erim lpszConnect nichtmehr angegeben werden. In diesem Fall sollte lpszDSN NULL sein. Wirdkeine Datenquelle angegeben geht ein Dialogfenster auf, das die nötigen Informationen vomAnwender abfragt.
· bExclusive:Dieser Parameter wird in der aktuellen Version von CDatabase noch nicht unterstützt. Ist derParameter 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- TreiberDer connect string mit Mit "ODBC;" beginnen. Der String "ODBC;" zeigt an, daß es sich um eineODBC- Datenquelle handelt. Dies dient zur Aufwärtskompatibilität gegenüber anderenDatenquellen.
· bUseCursorLib:TRUE wenn sie die ODBC Cursor Library DLL laden wollen. Die Cursor-Bibliothek verdecktetwas Funktionalität des zugrundeliegenden ODBC Treibers und verhindert den Gebrauch vondynasets (Falls der Treiber dies unterstützt). Die einzigen Cursor, die sie mit der ODBC CursorLibrary verwenden können sind statische Snapshots und forward-only Cursor. Der Default-Wert
83 Referenzhandbuch
© XOn Siftware GmbH, 2008
ist TRUE. Wenn sie planen, einen CRecordset Objekt direkt vonCRecordset zu erstellen, ohnevon 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 zukonstruieren.
Anmerkung:Der Aufruf der OpenEx Funktion ist die bevorzugte Weise, sich mit einer Datenquelle zuverknüpfen und Ihren Datenbankgegenstand zu initialisieren.Wenn die Parameter in Ihrem Open Aufruf nicht genügende Informationen enthalten, um dieVerknüpfung herzustellen, öffnet der ODBC Treiber ein Dialogfeld, um die notwendigenInformationen vom Benutzer einzuholen.Wenn Sie wünschen, können Sie Ihr eigenes Dialogfeld öffnen, bevor Sie Open aufrufen, umInformationen vom Benutzer zu erhalten wie etwa ein Kennwort. Diese Information übergeben siedann im Parameter lpszConnect der Open- Methode.
Beispiel:// Embed a CDatabase object// in your document classCDatabase m_dbCust;// Connect the object to a// data source (no password)// the ODBC connection dialog box// will always remain hiddenm_dbCust.Open( _T( "MYDATASOURCE" ), FALSE, FALSE, _T( "ODBC;UID=JOES" ),// ...Or, query the user for all// connection informationm_dbCust.Open( NULL );
Siehe auch:CDatabase::OpenEx, CDatabase::CDatabase, CDatabase::Close, CRecordset::OpenCDatabase 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 derSystemsteuerung). Wurde ein DSN- Wert im Parameter lpszConnect angegeben, dann darf erim lpszConnect nichtmehr angegeben werden. In diesem Fall sollte lpszDSN NULL sein. Wirdkeine Datenquelle angegeben geht ein Dialogfenster auf, das die nötigen Informationen vomAnwender abfragt.
· dwOptions:Ein Bitmaske, welche eine Kombination der folgenden Werte spezifiziert.Der voreingestellteWert ist 0, meaning that the database will be opened as shared with write access, the ODBCCursor Library DLL will not be loaded, and the ODBC connection dialog box will display only ifthere 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"..
841.2 Programmierreferenz
© XOn Siftware GmbH, 2008
- CDatabase::useCursorLib: Laden Sie das ODBC Cursor-Bibliothek DLL. Die Cursor-Bibliothek verdeckt etwas Funktionalität des zugrundeliegenden ODBC Treibers und verhindertden Gebrauch von dynasets.- CDatabase::noOdbcDialog: Zeigen Sie das ODBC Anschluß-Dialogfeld, nicht unabhängigdavon 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 zukonstruieren.
Anmerkung:Der Aufruf der OpenEx Funktion ist die bevorzugte Weise, sich mit einer Datenquelle zuverknüpfen und Ihren Datenbankgegenstand zu initialisieren.Wenn die Parameter in Ihrem Open Aufruf nicht genügende Informationen enthalten, um dieVerknüpfung herzustellen, öffnet der ODBC Treiber ein Dialogfeld, um die notwendigenInformationen vom Benutzer einzuholen.Wenn Sie wünschen, können Sie Ihr eigenes Dialogfeld öffnen, bevor Sie Open aufrufen, umInformationen vom Benutzer zu erhalten wie etwa ein Kennwort. Diese Information übergeben siedann im Parameter lpszConnect der Open- Methode.
Beispiel:// Embed a CDatabase object// in your document classCDatabase m_dbCust;// Connect the object to a// read-only data source where// the ODBC connection dialog box// will always remain hiddenm_dbCust.OpenEx( _T( "DSN=MYDATASOURCE;UID=JOES" ), CDatabase::openReadOnly | CDatabase::noOdbcDialog );
Siehe auch:CDatabase::Open, CDatabase::CDatabase, CDatabase::Close, CRecordset::OpenCDatabase 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 einRollbackanruf fehlgeschlagen, die Datenquelle und Transaktionszustände sind unbestimmt. WennRollback 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 werdenrückgängig gemacht zu dem vorherigen Zustand.Nach dem Aufruf von Rollback ist die Transaktion beendet. Für eine weitere Transaktion müssensie erneut BeginTrans aufrufen.
Siehe auch:CDatabase::BeginTrans, CDatabase::CommitTransCDatabase Overview | Class Members
85 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Timeout 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::SetQueryTimeoutCDatabase 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::SetLoginTimeoutCDatabase 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 zumachen. 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 APIFunktionen Klasse CDatabase direkt erstellen müssen, können Sie einen connection handle alsParameter benötigen.Siehe Code Beispiel
Beispiel:
861.2 Programmierreferenz
© XOn Siftware GmbH, 2008
// Using m_hdbc for a direct ODBC API call.// m_db is the CDatabase object; m_hdbc is// its HDBC member variablenRetcode = ::SQLGetInfo( m_db.m_hdbc, SQL_ODBC_SQL_CONFORMANCE, &nValue, sizeof( nValue ), &cbValue );
Siehe auch:CDatabase::OpenEx, CDatabase::Open, CDatabase::CloseCDatabase 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 DynasetModus synchronisiert die Daten mit den Datenbankänderungen der anderen Benutzer. EinSnapshot ist eine statische Ansicht der Daten, die Daten weden eingefrohen, zu dem Zeitpunkt alsdas 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önnendann:· 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 Objektdessen Constructor einen Zeiger zu Ihrer CDatabase Klasse übergeben wird. Dann rufen Sie dieMethode Open der recordsets Klasse auf und geben Sie an ob sie Dynasets oder Snapshotsverwenden 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 Datenelementedes 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" implementierthaben. 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 ElementeConstructionRecordset AttributeRecordset Navigation OperationenAndere Recordset Operationen
87 Referenzhandbuch
© XOn Siftware GmbH, 2008
Recordset Overridables
Daten Elemente:
m_hstmt Enthält den ODBC Statement Handler für das Recordset.Type HSTMT.
m_nFields Enthält die Anzahl von Datenfeldern im Recordset. Type UINT.
m_nParams Enthält die Anzahl der Parameter im Recordset. Type UINT.
m_pDatabase Enthält einen Pointer auf das CDatabase Object welchesmit dem Recordset verbunden ist.
Konstruktion:
CRecordset Erstellt eine CRecordset Objekt. Ihre abgeleitete Klassemuß einen Constructor zur Verfügung stellen.
Open Öffnet das recordset indem die Tabelle oder führt dieAbfrage aus die durch das Recordset dargestellt wird.
Close Schliest das Recordset und die ODBC HSTMT Verbindungmit ihm.
Recordset Attribute:
CanBookmark Gibt nicht Null zurück wenn das RecordsetBookmarks unterstützt.
CanRestart Holt nicht Null, wenn Requery die Recordset queryerneut ausführen kann.
CanScroll Gibt nicht Null, wenn es möglich ist durch dieRecords zu scrollen.
CanTransact Holt nicht Null, wenn die Datenquelle Transaktionenunterstützt.
GetODBCFieldCount Holt die Anzahl der Felder des Recordsets.
GetRecordCount Gibt die Anzahl von Records, die sich im Recordsetbefinden.
GetStatus Gibt den Status des recordset: den Index desaktuellen Satzes und ob ein abschließenderZählerstand der Sätze ereicht worden ist.
GetTableName Holt den Namen der Tabelle aufwelchen die Tabelleberuht.
GetSQL Gibt den SQL String der dieen Recordset selectiert.
IsOpen Gibt nicht 0 zurück, wenn Open has been calledpreviously.
IsBOF Gibt nicht Null zurück wenn der Datenzeiger vor demersten Datensatz steht.
IsEOF Gibt nicht Null zurück wenn der letzte Datensatzüberschritten ist.
IsDeleted Gibt nicht null zurück, wenn das Returns nonzero ifthe recordset is positioned on a deleted record.
881.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Recordset Navigationsoperationen:
GetBookmark Weist den Bookmarkwert eines Datensatzes einParameter Objekt zu.
Move Wechselt zu einen bestimmten, durch eine Nummerangegebenen, Datensatz des Recordsets.
MoveFirst Wechselt zum ersten Datensatz im Recordset. Testezuerst mitels IsBOF.
MoveLast Wechselt zum letzten Datensatz des Recordsets. Testevorher mittels IsEOF.
MoveNext Wechselt zum nächsten Datensatz im Recordset. Testevorher mittels IsEOF.
MovePrev Wechselt zum vorhergehenden Datensatz. Teste vorhermittels IsBOF.
SetAbsolutePosition Gibt die Position des Datensatzes im Recordset, mittelseiner Nummer zurück.
SetBookmark Bringt das recordset auf den Datensatz in Position, derdurch das Bookmark spezifiziert wurde.
Andere Recordset Operationen:
Cancel Bricht eine asynchrone Operation ab.
FlushResultSet Bringt ungleich Null zurück, wenn es ein anderes ResultatSet gibt, wenn eine vorbestimmte Query verwendet wird.
GetFieldValue Gibt den Wert eines Datenfeldes zurück.
GetODBCFieldInfo Gibt eine spezielle Art der Information über ein Datenfeldzurück.
GetRowsetSize Gibt die Zahl Sätzen zurück, die während eines einzelnenVorgangs zurückgeholt werden.
GetRowsFetched Returns the actual number of rows retrieved during a fetch.
GetRowStatus Returns the status of the row after a fetch.
IsFieldDirty Bringt ungleich Null zurück, wenn das spezifizierteDatenfeld im aktuellen Datensatz geändert worden ist.
IsFieldNull Bringt ungleich Null zurück, wenn das spezifizierte Feld imaktuellen Datensatz Null ist (hat keinen Wert).
RefreshRowset Erneuert die Daten und den Status des spezifizierten Zeile(n).
Requery Läßt die Abfrage der recordsets wieder weiter laufen, umdie ausgewählten Sätze zu erneuern.
SetLockingMode Stellt den sperrenmodus auf "optimistic" Sperrung (default)oder "pessimistic" Sperrung ein. Stellt fest, wie dieDatensätze für Aktualisierungsvorgänge gesperrt sind.
SetRowsetCursorPosition Bringt den Cursor auf die spezifizierte Zeile innerhalb desZeilensets in Position.
Recordset
Overridables
89 Referenzhandbuch
© XOn Siftware GmbH, 2008
Check Called to examine the return code from an ODBC API function.
CheckRowsetError Called to handle errors generated during record fetching.
GetDefaultConnect Called to get the default connect string.
GetDefaultSQL Called to get the default SQL string to execute.
OnSetOptions 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 dwOptionsParameter der Open Funktion. CanBookmark zeigt an, ob der gegebene ODBC TreiberBookmarks unterstützen. CRecordset::useBookmarks zeigt an, ob Bookmarks vorhanden sind,vorausgesetzt das sie unterstützt werden.
Siehe auch:CRecordset::GetBookmark, CRecordset::SetBookmarkCRecordset 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 anderenthreads abzubrechen.
Siehe auch:CRecordset Overview | Class Members
901.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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::RequeryCRecordset 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::RollbackCRecordset 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:
91 Referenzhandbuch
© XOn Siftware GmbH, 2008
Verwenden Sie diese Funktion um den ODBC API Rückgabewert zu ermitteln. Die folgendenTabelle listet die möglichen Werte für RetCode auf.
nRetCode Description
SQL_SUCCESS Funktion erfolgreich durchgeführt;es sind keinezusätzlichen Informationen vorhanden.
SQL_SUCCESS_WITH_INFO Funktion führte zum erfolgreich, vielleicht mit einemkleinen Fehler. Zusätzliche Informationen können durchden 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ätzlicheInformationen können durch den Aufruf von SQL-Errorermittelt werden.
SQL_INVALID_HANDLE Function failed due to an invalid environment handle,connection handle, or statement handle. This indicatesa programming error. No additional information isavailable from SQLError.
SQL_STILL_EXECUTING Eine asynchronously Funktion ist noch am laufen.
SQL_NEED_DATA Bei der Verarbeitung einer Anweisung, stellte derTreiber fest, daß die Anwendung Parameterdatenwertesenden 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 denBenutzer interesant sind. Es ist möglich die CheckRowsetError Funktion außer Funktion zusetzen um eine eigene Fehlerbehandlung zu implementieren.CheckRowsetError wird automatisch in einer Zeiger Navigations Operations wie beispielsweiseOpen, Requery, oder einem Move aufgerufen. Es wird eine entsprechende ODBC API FunktionSQLExtendedFetch zurückgegeben. Die volgende Tabelle listet die möglichen Werte fürnRetCode auf..
nRetCode Description
SQL_SUCCESS Funktion erfolgreich durchgeführt;es sind keinezusätzlichen Informationen vorhanden.
SQL_SUCCESS_WITH_INFO Funktion führte zum erfolgreich, vielleicht mit einemkleinen Fehler. Zusätzliche Informationen können durchden Aufruf von SQL-Error ermittelt werden.
SQL_NO_DATA_FOUND Alle möglichen Datensätze vom Ergebnis wurdengeholt.
SQL_ERROR Funktionsaufruf ist fehlgeschlagen. ZusätzlicheInformationen können durch den Aufruf von SQL-Errorermittelt werden.
921.2 Programmierreferenz
© XOn Siftware GmbH, 2008
SQL_INVALID_HANDLE Funktionsaufruf ist fehlgeschlagen aufgrund einesungültigen Datenhandlers, Verbindungshandlers, oderAnweisungs Handlers. Dieses zeigt einenProgrammierung Fehler an. Zusätzliche Informationenkönnen nicht durch den aufruf von SQL-Error ermitteltwerden.
SQL_STILL_EXECUTING Eine asynchronously Funktion ist noch am laufen.
Siehe auch:CRecordset::GetRowsetSize, CRecordset::MoveCRecordset 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 dervom Framework verwendet wird, wird freigegeben.Sie können Open aufrufen nachdem Close aufgerufen wurde. Dies öffnet Ihr Recordset Objekterneut. Dioes ist eine Alternative zu Requery.
Beispiel:// Example for CRecordset::Close// Construct a snapshot objectCCustSet rsCustSet( NULL );if( !rsCustSet.Open( ) ) return FALSE;// Use the snapshot ...// Close the snapshotrsCustSet.Close( );// Destructor is called when the function exits
Siehe auch:CRecordset::CRecordset, CRecordset::Open, CRecordset::RequeryCRecordset 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 istund die Open- Methode des Datenbankobjektes nicht aufgerufen wurde versucht dasRecordsetobjekt die Datenbank zu öffnen während des aufrufs von CRecordset::Open. Wennsie NULL übergeben wird ein Datenbankobjekt angelegt und anhand derVerknüpfungsinformationen mit einer Datenbank verbunden.
Bemerkung:Legt ein CRecordset object an.
93 Referenzhandbuch
© XOn Siftware GmbH, 2008
Übergeben sie NULL an den CRecordset- Konstruktor damit automatisch ein CDatabase Objektangelegt und verknüpft wird. Dies ist eine nützliche Abkürzung um nicht im Vorraus einDatenbankobjekt anlegen und verknüpfen zu müssen.
Siehe auch:CRecordset OverviewCRecordset::Open, CRecordset::CloseClass 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 (storedprocedure), if there are multiple result sets. You should call FlushResultSet onlywhen you are completely finished with the cursor on the current result set. Note thatwhen you retrieve the next result set by calling FlushResultSet, your cursor is notvalid on that result set; you should call the MoveNext member function after callingFlushResultSet.
If a predefined query uses an output parameter or input/output parameters, you mustcall FlushResultSet until it returns FALSE (the value 0), in order to obtain theseparameter values.
FlushResultSet calls the ODBC API function SQLMoreResults. If SQLMoreResultsreturns SQL_ERROR or SQL_INVALID_HANDLE, then FlushResultSet will throwan exception. For more information about SQLMoreResults, see the ODBC SDKProgrammer'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.
941.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Wenn Sie feststellen wollen ob Bookmarks unterstützt weder rufen Sie CanBookmark auf. UmBookmarks 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 anderenDatensatz 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::GetBookmarkPersistenceCRecordset 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 aufdem 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 recordsetbasiert. Diese kann ein Tabelle Name oder eine SQL SELECT Anweisung sein.Sie definieren indirekt die default SQL Anweisung, indem Sie Ihre recordset Klasse mitClassWizard 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öffnetwurde basiert rufen Sie GetSQL auf, der die SQL Anweisung zurückgibt. Sie können die defaultSQL Zeichenkette in der Ihrer Klasse mittels GetdefaultSQL überschreiben.
Hinweis:Der Tabellenname ist leer, wenn das Framework nicht einen Tabellennamen kennzeichnen
95 Referenzhandbuch
© XOn Siftware GmbH, 2008
konnte, wenn mehrfache Tabellennamen angegeben wurden oder wenn eine Aufrufanweisungnicht interpretiert werden konnte. Beachten Sie, daß, wenn Sie ein CALL Stement verwenden, Siekeine Leerzeichen zwischen der lockigen Klammer und dem AUFRUF-Schlüsselwort einsetzendürfen. Ausserdem sollten Sie Leerzeichen vor der geschweiften Klammer oder vor dem SELECTSchlüsselwort in einer SELECT Anweisung einsetzen.
Siehe auch:CRecordset::GetSQLCRecordset Overview | Class Members
1.2.2.8.2.14 CRecordset::GetFieldValue
Syntax:void GetFieldValue( const char* lpszName, CDBVariant* varValue, int nFieldType = DEFAULT_FIELD_TYPE );void GetFieldValue( int nIndex, CDBVariant& varValue, int nFieldType = DEFAULT_FIELD_TYPE );void GetFieldValue( const char* lpszName, char* strValue, int nLen );void GetFieldValue( int nIndex, 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 thefield'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 SQL-Datentyp anhand nachfolgender Tabelle. Andernfalls können sie den Datentyp direkt angebenoder 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_FLOATSQL_DOUBLE
SQL_C_TIMESTAMP SQL_DATESQL_TIMESQL_TIMESTAMP
SQL_C_CHAR SQL_NUMERICSQL_DECIMALSQL_BIGINTSQL_CHARSQL_VARCHARSQL_LONGVARCHAR
SQL_C_BINARY SQL_BINARYSQL_VARBINARYSQL_LONGVARBINARY
Weitere Informationen über ODBC- Datentypen finden sie unter anderem in den Kapiteln "SQL
961.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Data Types" und "C Data Types" im Anhang D der ODBC SDK Programmer's Reference vonMicrosoftâ.
Bemerkung:Rufen sie diese Funktion auf um daten aus dem aktiven Record zu erhalten. Sie können ein Feldentweder mit Namen oder mit Index identifizieren. Sie können den Feldwert entweder in einemCDBVariant oder in einem String ablegen.
Sie können GetFieldValue verwenden um zur laufzeit dynamisch auf die Daten zugreifen zukönnen. GetFieldValue ruft die ODBC API Funktion SQLGetData. Wenn ihr Treiber SQL_NO_TOTAL alsLä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 libraryCDatabase 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 requiredCRecordset rs( &db );rs.Open( CRecordset::forwardOnly, _T( "SELECT * FROM SomeTable" ) );// Create a CDBVariant object to// store field dataCDBVariant varValue;// Loop through the recordset,// using GetFieldValue and// GetODBCFieldCount to retrieve// data in all columnsshort 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 OverviewCRecordset::GetODBCFieldCount, CRecordset::GetODBCFieldInfo, CRecordset::SetRowsetCursorPositionClass Members | Hierarchy Chart
97 Referenzhandbuch
© XOn Siftware GmbH, 2008
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::GetFieldValueCRecordset 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. EineVersion der Funktion läßt Sie ein Feld namentlich angeben. Die andere Version läßt Sie ein Felddurch einen Index angeben.
Siehe auch:CRecordset::GetFieldValueCRecordset 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 derRekordzä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::GetStatusCRecordset Overview | Class Members
981.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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ährendeiner Abfrage erhalten würden. Wenn Sie bulk row fetching verwenden, ist dies die default rowsetGröße (25), wenn das recordset geöffnet ist. Andernfalls ist dies 1. Um bulk row fetching zuimplementieren, müssen Sie die CRecordset::useMultiRowFetch Option im dwOptions Parameterder Open Funktion spezifizieren.
Siehe auch:CRecordset::Open, CRecordset::CheckRowsetErrorCRecordset 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ückgegenwerden. 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 4festgelegt; nun springen Sie mit MoveNext bis Sie das Ende (EOF) ereichen; Sie haben nun 2Datensätze bekommen.Um bulk row fetching zu verwenden müßen sie dies mittel CRecordset::useMultiRowFetch indwOptions Parameter der Open Funktion angeben.
Beispiel:MultiRowSet rs;// Set the rowset sizers.SetRowsetSize( 5 );// Open the recordsetrs.Open( CRecordset::dynaset, NULL, CRecordset::useMultiRowFetch );// loop through the recordset by rowsetswhile( !rs.IsEOF( ) ){ for( int rowCount = 0; rowCount < (int)rs.GetRowsFetched( ); rowCount++ ) { // do something } rs.MoveNext( );}rs.Close( );
99 Referenzhandbuch
© XOn Siftware GmbH, 2008
Siehe auch:CRecordset::CheckRowsetErrorCRecordset 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 undder 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, seitsie 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::RefreshRowsetCRecordset 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, aberunter 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;
1001.2 Programmierreferenz
© XOn Siftware GmbH, 2008
};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 dieseVariable AFX_CURRENT_RECORD_UNDEFINED (–2). Ist IsBOF ist gleich TRUE (leeresrecordset oder es wurde vor den ersten Satz gescrollt), dann m_lCurrentRecord ist gesetzt mitAFX_CURRENT_RECORD_BOF (–1). Ist es auf dem ersten recard, dann wird es auf denzweiten gestetzt, Und so weiter.
· m_bRecordCountFinal ist ungleich Null, wenn die Gesamtzahl der Sätzen im recordsetfestgestellt worden ist. Im Allgemeinen wird dieses erreicht, indem man am Anfang desrecordset beginnt und Movennext aufruft, bis Is-EOF ungleich Null zurückbringt.
Siehe auch:CRecordset::GetRecordCountCRecordset 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 dieDatensätze der recordsets auszuwählen, als es geöffnet wurde. Dieses ist im Allgemeinen eineSQL 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::OpenCRecordset 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 dasrecordset 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 Abfragedes Recordsets basiert.Gettablename ist nur gültig, wenn das recordset auf einer Tabelle, nichtjoin, 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.
101 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 erstenSatz gescrollt haben; 0 andernfalls.
Bemerkung:Benutzen sie diese Funktion, bevor Sie von Satz zu Satz scroll, um zu erkennen, ob Sie vor denerste Satz des recordset gegangen sind. Sie können Is-BOF zusammen mit Is-EOF auchverwenden, um festzustellen, ob das recordset irgendwelche Sätze enthält oder leer ist. Nachdemsie Open aufgerufen haben und das recordset keine Sätze enthält, bringt Is-BOF ungleich Nullzurück. Wenn Sie ein recordset öffnen, das mindestens einen Satz hat, ist der erste Satz deraktuelle Satz und die Is-BOF Rückgabe 0.Wenn der erste Satz der aktuelle Satz ist und Sie MovePrev aufrufen, gibt IsBOF nachher truezurück. Wenn IsBOF true zurückgibt und Sie MovePrev aufrufen, tritt ein Fehler auf. Wenn IsBOFtrue zurückgibt, ist der aktuelle Satz unbestimmt, und jede mögliche Tätigkeit, die einen aktuellenSatz benötigt, ergibt einen Fehler.
Beispiel:Dieses Beispiel verwendet IsBOF und IsEOF, um die Begrenzungen auf ein recordset beimscrollen durch das recordset in beiden Richtungen zu entdecken.// Open a recordset; first record is currentCRecordSet 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 currentwhile ( !rsCustSet.IsEOF( ) ) rsCustSet.MoveNext( );// Move to the last recordrsCustSet.MoveLast( );// Scroll to beginning of the recordset, before// the first record, so no record is currentwhile( !rsCustSet.IsBOF( ) ) rsCustSet.MovePrev( );// First record is current againrsCustSet.MoveFirst( );
Siehe auch:CRecordset::IsEOF, CRecordset::MoveFirst, CRecordset::MovePrevCRecordset Overview | Class Members
1.2.2.8.2.25 CRecordset::IsDeleted
Syntax:BOOL IsDeleted( ) const;
1021.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Siezu einem Satz scroll und IsDeleted TRUE (ungleich Null) zurückgibt, dann müssen Sie zu einemanderen Satz scrollen, bevor Sie irgendwelche anderen recordset Operationen durchführenkönnen.Beachten Sie, daß das Resultat IsDeleted von vielen Faktoren, wie Ihrem recordset Typen, , obSie die CRecordset::skipDeletedRecords Option spezifiziert haben und ob es mehrere Benutzergibt abhängt.Für mehr Informationen zu CRecordset::skipDeletedRecords und Treibereinstellungen sieheOpen Funktion.
Hinweis:Wenn sie "bulk row fetching" vrwenden, sollten sie IsDeleted nicht aufrufen, verwenden Siealternativ GetRowStatus.
Siehe auch: CRecordset::IsBOF, CRecordset::IsEOFCRecordset 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 letztenDatensatz hinaus gescrollt haben; 0 andernfalls.
Bemerkung:Benutzen Sie diese Funktion, wenn Sie von Satz zu Satz scroll, um festzustellen, ob Sie über demletzten Satz des recordset hinaus gegangen sind. Sie können IsEOF auch verwenden, umfestzustellen, ob das recordset irgendwelche Sätze enthält oder leer ist. Nachdem Sie Openaufgerufen haben und das recordset keine Sätze enthält, bringt IsEOF ungleich Null zurück. WennSie ein recordset öffnen, das mindestens einen Satz hat, ist der erste Satz der aktuelle Satz undder IsEOF Rückgabewert 0.Wenn der letzte Satz der aktuelle Satz ist und Sie Movennext aufrufen, bringt IsEOF nachherungleich Null zurück. Wenn IsEOF ungleich Null zurückgibt und Sie MoveNext aufrufen, tritt einFehler auf. Wenn IsEOF ungleich Null zurückgibt, ist der aktuelle Satz unbestimmt, und jedemögliche Tätigkeit, die einen aktuellen Satz benötigt, ergibt einen Fehler.
Beispiel:Siehe IsBOF.
Siehe auch:CRecordset::IsBOF, CRecordset::MoveLast, CRecordset::MoveNextCRecordset Overview | Class Members
1.2.2.8.2.27 CRecordset::IsFieldDirty
Syntax:
103 Referenzhandbuch
© XOn Siftware GmbH, 2008
BOOL IsFieldDirty( void* pv );
Rückgabewert:Nicht Null wenn das ausgewählte Datenfeld sich seit dem Aufruf von AddNew oder Edit geänderthat; Andernfalls 0.
Parameter:· pv:
Ein Pointer auf ein Datenfeld, dessen Status überprüft werden soll, oder NULL um festzustellenob irgendein Feld geändert wurde.
Bemerkung:Rufen Sie diese Funktion auf um festzustellen ob ein ausgewähltes Datenfeld seit dem Aufruf vonEdit oder AddNew geändert wurde. Diese Funktion ist nicht auf recordsets anwendbar, die bulkrow fetching verwenden.
Siehe auch:CRecordset::IsFieldNullCRecordset 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,obirgendwelche der Felder ungültig sind.
Bemerkung:Benutzen Sie diese Funktion, um festzustellen, ob das spezifizierte Datenfeld eines recordset alsNull 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::IsFieldDirtyCRecordset 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 übergebenworden 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
1041.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 forwardor 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 wFetchTypeholt 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 (thedefault value)
Das rowset startet mit nRowsZeile(n) vom erstenDatensatz aus.
SQL_FETCH_NEXT Der Nächste Datensatz,nRows wird ignoriert.
MoveNext
SQL_FETCH_PRIOR Der vorhergehendeDatensatz, rRows wirdignoriert.
MovePrev
SQL_FETCH_FIRST Das erste Datensatz, nRowswird ignoriert.
MoveFirst
SQL_FETCH_LAST Der letzte kompletteDatensatz, nRows wirdignoriert.
MoveLast
SQL_FETCH_ABSOLUTE Ist nRows > 0, dann startetdas Rowset nRows Zeilennach dem Beginn desRecordsets. Ist nRows > 0,dann startet das RowsetnRows Zeilen vor dem Endedes Recordsets.. Ist nRows =0, dann wird eine beginning-of-file (BOF) Bedingungzurückgegeben.
SetAbsolutePosition
SQL_FETCH_BOOKMARK Das Rowset startet an derStelle die durch dasLesezeichen makiert wurde..
SetBookmark
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 5rs.SetRowsetSize( 5 );// Move to the first record
105 Referenzhandbuch
© XOn Siftware GmbH, 2008
// in the recordsetrs.MoveFirst( );// Move to the sixth recordrs.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::CheckRowsetErrorCRecordset 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::IsEOFCRecordset 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. DieseMethode 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::IsEOFCRecordset Overview | Class Members
1061.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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::IsEOFCRecordset 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::IsEOFCRecordset 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 CursorAnsteuerungen und stellt die Optionen der recordsets dementsprechend ein.Setzen Sie über OnSetOptions ausser Kraft, um zusätzliche Optionen zum Treiber oder zurDatenquelle 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
107 Referenzhandbuch
© XOn Siftware GmbH, 2008
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, DWORD dwOptions = none );
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 undSortierung der Records werden ermittelt wenn das Recordset geöffnet wird. Änderungen durchandere Anwender sind sichtbar nach fetch- Operationen.
CRecordset::snapshot: Ein statisches Recordset mit bidirektionalem Rollen. Die Zugehörigkeitund Sortierung der Records werden ermittelt wenn das Recordset geöffnet wird. Die Datenwertewerden ermittelt wenn die Records festgelegt werden. Änderungen durch andere Anwenderwerden 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 gerolltwerden kann.
Für CRecordset ist der Defaultwert CRecordset::snapshot.
· lpszSQL:Ein string mit folgendem InhaltEin 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). Achtensie 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 derDatenquelle 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 derNavigation. Bookmarks sind nicht verfügbar. Automatische "dirty field"- Überprüfung wirdangelegt.
CRecordset::appendOnly: Erlaubt nicht die Anwendung von Edit oder Delete auf demRecordset. Lässt lediglich AddNew zu. Diese Option schließt die Option CRecordset::readOnly aus.
CRecordset::readOnly: Öffnet das Recordset aussschließlich zum Lesen. Diese Optionschließt die Option CRecordset::appendOnly aus.
1081.2 Programmierreferenz
© XOn Siftware GmbH, 2008
CRecordset::optimizeBulkAdd: Benutzt eine vorbereitete SQL-Anweisung um das Einfügenmehrere Records auf einmal zu optimieren. Die Optimierung wirkt sich nicht aus wenn sieSQLSetPos zur Aktualisierung des Recordset verwenden. Bei der ersten Aktualisierung wirdfestgestellt, welche Felder verändert wurden. Diese Option schließt die Option CRecordset::useMultiRowFetch aus.
CRecordset::useMultiRowFetch: Wählt die Strategie "bulk row fetching" um mehrereDatensätze mit einer Zugriffsoperation zu erhalten. Dies ist eine erweiterte Eigenschaft zurVerbesserung der Performance. Diese Option schließt die Option CRecordset::optimizeBulkAdd aus. Beachten sie, dass sie mit der Option CRecordset::useMultiRowFetchauch automatisch die Option CRecordset::noDirtyFieldCheck setzen ("double buffering" istdann 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 alldeleted records when navigation im Recordset. Diese Option verringert die Performance einigerrelativer Zugriffsoperationen. Diese Option ist unzulässig auf "forward-only" Recordsets.Beachten sie, dass CRecordset::skipDeletedRecords identisch ist mit "driver packing"; diesbedeutet, dass gelöschte Datensätze aus dem Recordset entfernt werden. Natürlich entfernt ihrTreiber nur Records die sie selber löschen. Von anderer Benutzer gelöschte Datensätze werdennicht aus dem Recordset entfernt, solange dies geöffnet ist.
CRecordset::useBookmarks: Lesezeichen können auf dem Recordset verwendet werdensofern dies vom ODBC- Treiber unterstützt wird. Lesezeichen bremsen die Datenübertragungaber beschleunigen die Navigation im Recordset. Die Option ist unzulässig auf "forward-only"-Recordsets.
CRecordset::noDirtyFieldCheck: Schaltet die automatische überprüfung auf veränderte Felderab (double buffering). Dies verbessert die Performance. Allerdings müssen sie dann selbstFelder als "verändert" markieren mit den Methoden SetFieldDirty und SetFieldNull. Beachtensie 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. Beachtensie, dass mit der Option CRecordset::useMultiRowFetch automatisch auch die OptionCRecordset::noDirtyFieldCheck gesetzt wird. Ausserdem können SetFieldDirty undSetFieldNull nicht auf Recordsets mit "bulk row fetching" verwendet werden.
CRecordset::executeDirect: Verwendet keine vorbereitete SQL-Anweisung. Verwenden siediese Option zur verbesserung der Performance, wenn sie die Methode Requery nichtverwenden.
CRecordset::useExtendedFetch: Aktiviert SQLExtendedFetch anstatt SQLFetch. DieseOption ermöglicht "bulk row fetching" auf "forward-only" Recordsets. Wenn sie die Option CRecordset::useMultiRowFetch auf ein "forward-only" Recordset anwenden wird die OptionCRecordset::useExtendedFetch automatisch gewählt.
CRecordset::userAllocMultiRowBuffers: Der Benutzer legt den Datenspeicher selbst an.Verwenden sie diese Option zusammen mit CRecordset::useMultiRowFetch wenn sie ihreneigenen Speicher anlegen wollen. Andernfalls legt die Klasse automatisch den nötigen Speicheran. Beachten sie dass die Option CRecordset::userAllocMultiRowBuffers ohne die OptionCRecordset::useMultiRowFetch zu einem Fehler führt.
Bemerkung:Sie müssen diese Methode ausführen um eine Abfrage auszuführen. Vor dem Aufruf von Openmü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
109 Referenzhandbuch
© XOn Siftware GmbH, 2008
GetDefaultConnect um das Datenbankobjekt zu öffnen. Wenn sie NULL an den Konstruktor desRecordsets übergeben, legt der Konstruktor ein Datenbankobjekt an und öffnet es. Für Detailszum Schliessen von Recordset und die Verknüpfung unter diesen unterschiedlichen Umständensiehe Close.
Hinweis:Der Zugriff auf eine Datenquelle über ein CRecordset Objekt ist immer "shared". Sie können einCRecordset 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 Auswahl der Datensätze Beispiel
NULL Der string der von GetDefaultSQLzurückgegeben wird.
SQL Tabellenname Alle Spalten der Tabelle. "Customer"
Name einer vordefinierteAbfrage (stored procedure)
Die Spalten die durch die Abfragefestgelegt werden.
"{call OverDueAccts}"
SELECT column-list FROMtable-list
Die explizit angegebenen Spalten derausgewählten Tabelle(n).
"SELECT CustId, CustNameFROM Customer"
Hinweis:Achten sie darauf keine zusätzlichen Leerzeichen in ihren SQL- Anweisung einzufügen. Wenn sieetwa zwischen der führenden Klammer und der Schlüsselwort CALL ein Leerzeichen einfügenwird 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 einenErgebnisparameter liefern. Weiterhin dürfen sie weder vor der öffnenden Klammer in einer CALL-Anweisung noch vor dem Schlüsselwort SELECT in einer SELECT- Anweisung ein Leerzeicheneinfügen.
Unabhängig davon was sie als lpszSQL- Parameter an die Methode übergeben erzeugt Openeinen 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ültigenString wird die Abfrage ausgeführt. Den endgültigen String können sie mit der Methode GetSQLabfragen (nach dem Aufruf von Open).
Die Felddaten des Recordsets sind verknüpft mit den Spalten der ausgewählten Daten. Wennirgendwelche 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 diesnach 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 dieMethode 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 checkingrs.Open( CRecordset::snapshot, NULL, CRecordset::useBookmarks | CRecordset::noDirtyFieldCheck );// Pass a complete SELECT statement// and open as a dynaset
1101.2 Programmierreferenz
© XOn Siftware GmbH, 2008
rs.Open( CRecordset::dynaset, _T( "Select L_Name from Customer" ) );// Accept all defaultsrs.Open( );
Siehe auch: CRecordset::CRecordset, CRecordset::Close, CRecordset::GetDefaultSQL, CRecordset::GetSQL, CRecordset::RequeryCRecordset 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 zuder Größe des rowset reichen.
· wLockType:Ein Wert, der angibt wie die Daten gesperrt wurden nachdem, sie neu geladen wurden. FürDetails siehen Sie Anmerkungen.
Anmerkungen:Benutzen Sie diese Funktion, um die Daten und den Status für eine Reihe im aktuellen rowset zuaktualisieren. Wenn Sie einen Wert von null für wRow angeben, dann wird jeder Datensatz imrowset erneuert.Um RefreshRowset zu verwenden,muß "bulk row fetching" implementiert und mittelsCRecordset::useMulitRowFetch in der Methode Open spezifiziert sein.RefreshRowset verwendet die ODBC API Function SQLSetPos. Der wLockType Parameterspecifziert den "lock Status" eines Datensatzes nachdem SQLSetPos gewechselt hat. DieNachfolgende Tabelle beschreibt die möglichen Werte für wLockType.
wLockType Description
SQL_LOCK_NO_CHANGE(Defaultwert)
Der Treiber oder die Datenquelle stellt sicher, daß derDatensatz gesperrten oder entsperrten Zustand ist, diesie war, bevor SetRowsetCursorPosition aufgerufenwurde
SQL_LOCK_EXCLUSIVE Der Treiber oder die Datenquelle sperrt die Reiheausschließlich. Nicht alle Datenquellen unterstützendiesen Typen der Verriegelung.
SQL_LOCK_UNLOCK Der Treiber oder die Datenquelle entsperrt die Reihe.Nicht alle Datenquellen unterstützen diesen Typen derVerriegelung.
Siehe auch:CRecordset::SetRowsetCursorPositionCRecordset Overview | Class Members
1.2.2.8.2.38 CRecordset::Requery
Syntax:BOOL Requery( );
111 Referenzhandbuch
© XOn Siftware GmbH, 2008
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ätzezurü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 datasource, you must rebuild the recordset by calling Requery. If the recordset is a dynaset, it automaticallyreflects updates that you or other users make to its existing records (but not additions). If the recordset is asnapshot, 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 filteror sort, or new parameter values. Set the new filter or sort property by assigning new values to m_strFilterand m_strSort before calling Requery. Set new parameters by assigning new values to parameter datamembers before calling Requery. If the filter and sort strings are unchanged, you can reuse the query, whichimproves performance.
If the attempt to rebuild the recordset fails, the recordset is closed. Before you call Requery, you candetermine whether the recordset can be requeried by calling the CanRestart member function. CanRestartdoes 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::RequeryCCustSet rsCustSet( NULL );// Open the recordsetrsCustSet.Open( );// Use the recordset ...// Set the sort order and Requery the recordsetrsCustSet.m_strSort = "District, Last_Name";if( !rsCustSet.CanRestart( ) ) return; // Unable to requeryif( !rsCustSet.Requery( ) ) // Requery failed, so take action
Siehe auch:CRecordset::CanRestartCRecordset 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
1121.2 Programmierreferenz
© XOn Siftware GmbH, 2008
der spezifizierten Rekordzahl entspricht.SetAbsolutePosition verschiebt den aktuellenDatensatzzeiger, 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 imrecordset 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 diePosition der Recordsets vom Ende des Recordset ausgewertet. Z.B. verschiebtSetAbsolutePosition(-1) den aktuellen Satzzeiger auf den letzten Satz im Recordset.
Kommentar: Absolute Position soll nicht als stellvertretende Rekordzahl verwendet werden. Bookmarks sindnoch die empfohlene Methode des beibehaltens und des zurückspringen zu einer gegebenenPosition, da die Position eines Satzes sich ändern kann, wenn vorangehende Sätze gelöschtwerden. Zusätzlich können Sie nicht versichert werden, daß ein gegebener Datensatz die gleicheabsolute Position hat, wenn das recordset wieder neu geladen wird, weil die Ordnung dereinzelnen Sätze innerhalb eines recordset nicht garantiert wird, es sei denn sie mit einer SQLAnweisung mit einer ORDER BY Klausel erstellt wird.
Siehe auch:CRecordset::SetBookmarkCRecordset 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 Recordbeinhaltet.
Bemerkung:Rufen Sie die Klassenfunktion auf, um das recordset auf den Datensatz zu positionieren, der dasspezifizierte 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üssenSie die CRecordset::useBookmarks Option im dwOptions Parameter der geöffneten OpenFunktion setzen.Zuerst holen Sie das Bookmark für den aktuellen Satz(aufruf GetBookmark, ) zurück, der denBookmarkwert zu ein CDB-Variant Objekt speichert.Später können Sie zu diesem Satz zurückkommen, indem Sie SetBookmark mit dem gesichertenBookmarkwert aufrufen.
Siehe auch:CRecordset::CanBookmark, CRecordset::GetBookmark, CRecordset::SetAbsolutePosition,CDatabase::GetBookmarkPersistenceCRecordset Overview | Class Members
1.2.2.8.2.41 CRecordset::SetLockingMode
Syntax:
113 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 ihngesperrt 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 derGröße des Recordsets varieren.
· wLockType:Dieser Wert gibt an wie die Zugrifssperre für die nächste Zeile aussieht. Für Details sieheBemerkung.
Bemerkung:Rufen Sie diese Funktion auf, um den Cursor auf eine Zeile innerhalb des aktuellen rowset zuverschieben. Wenn "bulk row fetching" implementiert ist, werden Datensätze durch rowsetszurückgeholt, wenn der erste Datensatz im rowset der aktuelle Satz ist. Um einen anderen Satzinnerhalb des rowset den aktuellen Satz zu bilden, rufen Sie SetRowsetCursorPosition auf. AlsBeispiel können Sie SetRowsetCursorPosition mit GetFieldValue kombinieren.
Um SetRowsetCursorPosition zu verwenden,muß "bulk row fetching" implementiert und mitelsCRecordset::useMulitRowFetch in der Methode Open spezifiziert sein.
SetRowsetCursorPosition ruft die ODBC API Function SQLSetPos auf. Der wLockTypeParameter 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 (derDefaultwert)
Der Treiber oder die Datenquelle stellt sicher, daß derDatensatz gesperrten oder entsperrten Zustand ist, diesie war, bevor SetRowsetCursorPosition aufgerufenwurde.
SQL_LOCK_EXCLUSIVE Der Treiber oder die Datenquelle sperrt die Reiheausschließlich. Nicht alle Datenquellen unterstützendiesen Typen der Verriegelung.
1141.2 Programmierreferenz
© XOn Siftware GmbH, 2008
SQL_LOCK_UNLOCK Der Treiber oder die Datenquelle entsperrt die Reihe.Nicht alle Datenquellen unterstützen diesen Typen derVerriegelung.
Siehe auch:CRecordset::RefreshRowsetCRecordset 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 demrecordset. 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ürdirekte Ausführung der SQL Anweisungen benötigen. Die ExecuteSQL Funktion der KlasseCDatabase liefert ein Beispiel des Verwendens von von m_hstmt.
Siehe auch:CDatabase::ExecuteSQLCRecordset 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 recordsetvon der Datenquelle ausgewählt wurden. Der Konstruktor der Recordset Klasse muß m_nFieldsmit 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 recordsetKlasse zu deklarieren.Sie können sie auch manuell schreiben.
Das Framework verwendet diese Zahl, um Interaktion zwischen den Felddaten und denentsprechenden Spalten des aktuellen Satzes auf der Datenquelle zu handhaben.
Siehe auch:CRecordset::m_nParamsCRecordset 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 auf0. Wenn Sie Parameterdaten hinzufügen, was Sie manuell tun müssen, müssen Sie eineInitialisierung 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
115 Referenzhandbuch
© XOn Siftware GmbH, 2008
m_strSort Zeichenkette).Das Framework verwendet diese Zahl, wenn es die Abfrage des Recordsets parameterisiert.
Siehe auch:CRecordset::m_nFieldsCRecordset 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 Datenquelleangeschlossen 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 speichertCRecordset den Zeiger in dieser Variable.Normalerweise brauchen Sie nicht direkt den Zeiger zu benutzen, der im m_pDatabasegespeichert 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 alleMethoden der Basisklassen, von denen sie abstammen. So kann z.B. die Position eines jedenGrafikelementes auf der Arbeitsfläche mit der Methode SetPos eingestellt werden. Diese Methodeist in der Klasse CGrafNode vereinbart.
1161.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
117 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 derBeschriftungstabelle einen neuen Eintrag hinzu. Dieser Eintrag wird an der Achse nur dannsichtbar, 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
1181.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.1.3 CAxisNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CAxisNode Übersicht
1.2.3.1.4 CAxisNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
Liste der Parameterleisten siehe:CGrafNode::SetNodeAtt
119 Referenzhandbuch
© XOn Siftware GmbH, 2008
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,sowie deren Voreinstellungen :
1201.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Typ ID Bedeutung Wertebereich
Integer
1000Sichtbarkeit des Grafikelementesein/aus
0=unsichtbar, 1=sichtbar
1100 Abbildungsfunktion
0=linear1=logarithmisch2=Weibulverteilung3=Normalverteilung4=Zeitachse5=Reziprok6=Reziprok verschoben7=Logit
1101 Anzahl der Ticks größer/gleich 0
1102 Anzahl der Subticks größer/gleich 0
1200 Achsenorientierung
0= unten1=oben2=links3=rechts
1201 Gitter0=kein Gitter1=grobes Gitter2=feines Gitter
1202 PfeilspitzeBit1: links/oben ein/ausBit2: rechts/unten ein/aus
1203 Strategie für Ticks0: äquidistant1: optimiert
1204 Strategie für Beschriftung0: algorithmisch1: manuell
1205 Hauptmarkierung innen0: aus1: ein
1206 Hauptmarkierung außen0: aus1: ein
1207 Untermarkierung innen0: aus1: ein
1208 Untermarkierung außen0: aus1: ein
1209 Autoskalierung1: ein0: aus
Float
3100Anfangswert desSkalierungsintervalls
Mit diesem Attribut wird der Anfangswertdes Skalierungsintervalls gesetzt. DerWert wird erst übernommen, wenn derEndwert des Skalierungsintervalls (3101)gesetzt wird. Falls das Wertepaar nichtzur eingestellten Skalierung paßt wird dieSkalierung entsprechend angepaßt. ZumBeispiel sind Werte kleiner oder gleichNull bei logarithmischer Skalierung unzulässig.
3101 Endwert des Skalierungsintervalls
Mit diesem Attribut wird der Endwert desSkalierungsintervalls gesetzt undAngangswert (3100) und Endwert (3101)werden in die Skalierung übernommen.Sie müssen also unbedingt das Attribut3100 gesetzt haben bevor Sie dasAttribut 3101 festlegen! Falls dasWertepaar nicht zur eingestelltenSkalierung paß wird die Skalierungentsprechend angepaßt. Zum Beispielsind Werte kleiner oder gleich Null beilogarithmischer Skalierung unzulässig.
3102 Länge der Pfeilspitze Länge der Pfeilspitze in [mm]
String
4000 Name des Grafikelementes Bezeichner
4200 Achsentitel
4201Formatstring für dieAchsenbeschriftung
4202Name der Bezugsachse für dasGitter
Font
5000 Standardschriftart
5200 Schriftart des Achsentitels
5201 Schriftart der Achsenbeschriftung
Linienart
6000 Standard-Linienartfür eine Liste der Linienarten sieheGrafNode:SetNodeAtt
6200 grobes Gitter
6201 feines Gitter
6202 Hauptmarkierunge
6203 Untermarkierungen
Füllmuster
7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001 Farbe der Standardschriftart
8200 Farbe des Achsentitels
8201 Farbe der Achsenbeschriftung
121 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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. DieWerte der Stapelbalken werden in Form einer Matrix gespeichert. Diese Matrix kann maximal16250 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ürSchichten 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 dieDatenmatrix eine Spalte an.Diese Funktion ändert nicht die Anzahl der Reihen der Datenmatrix. Sollte der Vektor mehr Reihenwie 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 fehlendenEinträge mit Nullen aufgefüllt.
Parameter:
1221.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 bisdahin bestehenden aufgesetzt. Je nach gewählter Funktionsvariante werden für nicht angegebeneParameter 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 Voreinstellung
lpszNameL "Lay"+[Folgenzahl]
lbStyle 1=keine Textur, 2=Textur 1
lbHatch
0=horizontal, 1=vertikal,2=diagonal45, 3=diagonal-45,4=gekreuzt,5=diagonalgekreuzt
4
nHatchColor [0,15]Index der nächstennichthäufigsten Farbe ausFarbtabelle
nBackColor [0,15]Index der nächstennichthäufigsten Farbe ausFarbtabelle
Rückgabewert:0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:Klassenhierarchie, CBar2DNode Übersicht
123 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.3.2.3 CBar2DNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 imallgemeinen Fall dadurch geänderten Dimensionen der Datenmatrix werden die Attributwerte fürSchichten 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:
1241.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Klassenhierarchie, CBar2DNode Übersicht
1.2.3.2.5 CBar2DNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100 Anzahl der Y-Ticks
1101 Anzahl der Y-Subticks
1102Winkel derBalkenbeschriftung inZehntel Grad
1103 Opaque-Modus ein/aus0=transparent,1=opaque
1104Y-Achse darstellen ein/aus
0=unsichtbar,1=sichtbar
1105Y-Ticks darstellen ein/aus
0=unsichtbar,1=sichtbar
1106Balkensummendarstellen ein/aus
0=unsichtbar,1=sichtbar
1107Legende darstellen ein/aus
0=unsichtbar,1=sichtbar
1108Anordnung derLegende
0=links, 1=rechts
1109Abstand der Legende-Zeilen
0=automatisch, 1=Zeile
1150Anzahl der Schichten (nur lesen!)
1151Aktuelle Schicht (ID4150 bezieht sichhierauf)
125 Referenzhandbuch
© XOn Siftware GmbH, 2008
1160Anzahl der Balken (nurlesen!)
1161Aktueller Balken (ID4160.. bezieht sichhierauf)
Float
3100Verhältnis vonBalkenzwischenraumzu Balkenbreite
größer/gleich 0
3101prozentuale Breite derLegende
0..100
String
4000Name desGrafikelementes
Bezeichner
4100 Name der Y-Achse
4101Formatstring der Y-Achsenbeschriftung
4150Schicht-Name (siehe ID1151)
4160Balken-Name (siehe ID1161)
4161Balken-Formatstring(siehe ID 1161)
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster
7000 Standard-Füllmuster
7150Füllmuster der Schicht(siehe ID 1151)
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
8150Hintergrundfarbe derSchicht (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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CBar2DNode Übersicht
1261.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.3 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 einezweidimensionale Transformation verwendete, wie man sie für krummlinige Koordinatensystemebenötigt.
Methoden:· CContourNode::SetNodeAtt· CContourNode::GetNodeAtt· CContourNode::SetData· CContourNode::SetNodeData
1.2.3.3.1 CContourNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:
127 Referenzhandbuch
© XOn Siftware GmbH, 2008
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- Wertewerden 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 Zkopiert.
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 Mkopiert. Die Werte in X- und Y- Richtung ergeben sich als xi=x0+i*dx bzw. yi=y0+i*dy.
3. Varianteint SetData(double x0,double dx,double y0,double dy,char* link);
Parameter:· x0: Startwert in X- Richtung
1281.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 linkbezeichneten 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 nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
Eine detaillierte Liste der Parameterleisten finden sie unter CGrafNode::SetNodeAtt.
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,sowie deren Voreinstellungen :
129 Referenzhandbuch
© XOn Siftware GmbH, 2008
Typ ID Bedeutung Wertebereich
Integer1000
Sichtbarkeit des Grafikelementes ein/aus
0=unsichtbar, 1=sichtbar
1100 Abbildungsfunktion
0=linear/linear, 1=linear/Bogenmaß,2=linear/Gradmaß, 3=Weibul,4=polar/Bogenmaß, 5=polar/Gradmaß
1200 Position der X-Achse 0=oben, 1=mittig, 2=unten
1201 Position der Y-Achse 0=links, 1=mittig, 2=rechts
1202 Position der Pfeilspitze an der X-Achse 0=rechts, 1=links
1203 Position der Pfeilspitze an der Y-Achse 0=oben, 1=unten
1204 Gitter der X-Achse0=kein Gitter, 1=grobes Gitter,2=feines Gitter
1205 Gitter der Y-Achse0=kein Gitter, 1=grobes Gitter,2=feines Gitter
1206 Anzahl der X-Ticks größer/gleich 0
1207 Anzahl der Y-Ticks größer/gleich 0
1208 Anzahl der X-Subticks größer/gleich 0
1209 Anzahl der Y-Subticks größer/gleich 0
1300 Interpolation der Höhenlinien 0=linear, 1=bikubischer Spline
1301 Markierung der Minimafür eine Liste der MarkierungstypenCGrafNode::SetNodeAtt
1302 Markierung der Maximafür eine Liste der MarkierungstypenCGrafNode::SetNodeAtt
1303Markierungsgröße der Minima inHundertstel Millimeter
1304Markierungsgröße der Maxima inHundertstel Millimeter
Float 3100 X0, Anfangswert der X-Achse
3101DX, Breite der X-Achse (Endwert=X0+DX)
3102 Y0, Anfangswert der Y-Achse
3103DY, Breite der Y-Achse (Endwert=Y0+DY)
3300 Abstand der Höhenlinien in Z-Richtung größer/gleich 0
String 4000 Name des Grafikelementes Bezeichner
4200 Name der X-Achse
4201 Name der Y-Achse
4202Formatstring für die Beschriftung der X-Achse
4203Formatstring für die Beschriftung der X-Achse
4300Formatstring für die Beschriftung derMinima
4301Formatstring für die Beschriftung derMaxima
Font 5000 Standardschriftart
5300Schriftart für die Beschriftung derMinima
5301 Schriftart für die Beschriftung der
1301.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Maxima
Linienart6000 Standard-Linienart
für eine Liste der Linienarten sieheGrafNode:SetNodeAtt
6300 Linienart für die Höhenlinienfür eine Liste der Linienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe 8000 Hintergrundfarbe
8001 Farbe der Standardschriftart
8300Farbe der Minima-Markierung undBeschriftung
8301Farbe der Maxima-Markierung undBeschriftung
Für weitere Attribute siehe CGrafNode::SetNodeAtt , CPlaneNode::SetNodeAtt
RückgabewertDie 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
-4 zu schreibender Wert außerhalb des erlaubten Bereiches
-5 unzulässiger Formatstring (bei Übergabe von Formatstrings)
Siehe auch:Klassenhierarchie, CContourNode Übersicht
1.2.3.3.4 CContourNode::SetNodeData
Syntax:int SetNodeData(int nID,double v0,double dv);int SetNodeData(int nID,int dim,double *pV);int SetNodeData(int nID,int dimX,int dimY,double *pV);int SetNodeData(int nID,char *link);int SetNodeData(int nID,CF8Vector *pV);int SetNodeData(int nID,CF8Matrix *pM);
Beschreibung:Mit diesen Methoden können die X-, Y- und Z- Werte separat konfiguriert werden. Die Bedeutungder einzelnen Varianten finden sie im Anschluß.
1. Varianteint 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);
131 Referenzhandbuch
© XOn Siftware GmbH, 2008
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- Werte1: Y- Werte2: Z- Werte
· link: Name eines Datenpoolelementes. Für X- und Y- Werte muß dieses Element vom TypCVector 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- Werte1: 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;
1321.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 nochkeine eigenen Methoden. Es können aber die Methoden der Klasse CGrafNode angewendetwerden, 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 mitverschiedenen Transformationen zur Verfügung.
133 Referenzhandbuch
© XOn Siftware GmbH, 2008
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öglicheObjekte sind hierbei CKurve2DTrace, CBar2DTrace, CVect2DTrace, CWhiskTrace, CPPolyTrace,CKurve3DTrace und CBar3DTrace. Diese Methode ist eine Neuerung der Version 1.5. DieParametrierung der einzelnen Kurvenobjekte erfolgt mit den Methoden des Kurvenobjekts.
Die beiden anderen Varianten entstammen der Version 1.0. Sie legen ein Objekt vom TypCKurve2DTrace an, verknüpfen es wahlweise mit zwei Achsen oder einer Ebene und tragen es indie Legende ein. Die Parameter XAchse und YAchse müssen Namen von Objekten des TypsCAxisNode sein, die Achsen müssen in diesem Fall die entsprechende Ausrichtung besitzen. DerParameter Ebene muß der Name eines Objekts vom Typ CPlaneNode oder CContourNode sein.Die neu angelegte Kurve ist gleichzeitig auch die aktuelle Kurve (Attribut 1104). Dieentsprechenden Attributierungsfunktionen beziehen sich also auf diese Kurve. Um Kurvenwertefestzulegen 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;
1341.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 anhandihres Index identifiziert werden. Der Index einer Kurve kann mit der Methode GetTraceIndexermittelt werden.
Rückgabewert:0: Kurve nicht gefunden1: Kurve gefunden und gelöscht
Siehe auch:Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.3 CGraf2DNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenen
135 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 vonName oder Index identifiziert werden. Wird kein Parameter angegeben, so wird das fokusierteObjekt 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 mehrereKurven mit gleichem Namen existieren, wird der Index der ersten Kurve mit diesem Namenzurückgeliefert.
Rückgabewert:Index der Kurve oder -1, falls die Kurve nicht gefunden wurde.
1361.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Siehe auch:Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.6 CGraf2DNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100Legende zeichnen ein/aus
0=unsichtbar,1=sichtbar
1101Ausrichtung derLegende
0=links, 1=rechts
1102Zeilenabstand derLegendenzeilen
0=automatisch, 1=eineZeile
1103Anzahl der Kurven (nurlesen!)
1104 Aktuelle Kurve
1150Interpolation der Kurve(siehe ID 1104)
0=konstant, 1=linear,2=Spline
1151Punktmarkierung derKurve (siehe ID 1104)
siehe Tabelle weiterunten
1152Markierungsgröße inHundertstel Millimeter(siehe ID 1104)
1153 Referenz-Typ0=Achsen,1=Zeichenebene
String
4000Name desGrafikelementes
Bezeichner
4150Referenz-X-Achse derKurve (siehe ID 1104)
4151Referenz-Y-Achse derKurve (siehe ID 1104)
137 Referenzhandbuch
© XOn Siftware GmbH, 2008
4152Referenz-Zeichenebene derKurve (siehe ID 1104)
4153Name der Kurve in derLegende (siehe ID1104)
Font 5000 Standardschriftart
Linienart
6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
6150Linienart der Kurve(siehe ID 1104)
für eine Liste derLinienarten sieheGrafNode:SetNodeAtt
6151Linienart derMarkierungen derKurve (siehe ID 1104)
für eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CGraf2DNode Übersicht
1.2.3.5.7 CGraf2DNode::SetTraceData
Syntax:int SetTraceData(int nRef,double v0,double dv,int len);int SetTraceData(int nRef,double* pV,int len);int SetTraceData(int nRef,CVector* pV);int SetTraceData(int nRef,long* pV,int len);int SetTraceData(int nRef,CTimeVect* pT);int SetTraceData(int nRef,char *nPool);
Beschreibung:mit diesen Methoden können die X- und Y- Werte einer Kurve gesetzt werden. Die Werte könnenimplizit oder explizit vorliegen oder aus dem Datenpool stammen. Im Anschluß finden sie einedetailierte Beschreibung der einzelnen Varianten.
1. Varianteint SetTraceData(int nRef,double v0,double dv,int len);
1381.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 hatnur eine Bedeutung, falls sowohl die X- als auch die Y- Werte implizit festgelegt werden. In diesemFall 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 setzen1: 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. Diezugehörige Achse darf keine Datumsachse sein.
3. Varianteint SetTraceData(int nRef,CVector* pV);
Parameter:· nRef:
0: X- Werte setzen1: Y- Werte setzen
· pV: Zahlen- Werte
Beschreibung:legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Vektor pV kopiert. Diezugehörige Achse darf keine Datumsachse sein.
4. Varianteint SetTraceData(int nRef,long* pV,int len);
Parameter:· nRef:
0: X- Werte setzen1: 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. Diezugehörige Achse muß eine Datumsachse sein.
5. Varianteint SetTraceData(int nRef,CTimeVect* pT);
Parameter:· nRef:
0: X- Werte setzen1: Y- Werte setzen
139 Referenzhandbuch
© XOn Siftware GmbH, 2008
· pV: Datum/Zeit- Werte
Beschreibung:legt die entsprechenden Werte explizit fest. Die Werte werden aus dem Zeit-Vektor pV kopiert. Diezugehörige Achse muß eine Datumsachse sein.
6. Varianteint SetTraceData(int nRef,char *nPool);
Parameter:· nRef:
0: X- Werte setzen1: 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
1401.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.6 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 nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CGraf3DNode Übersicht
141 Referenzhandbuch
© XOn Siftware GmbH, 2008
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- Wertewerden 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 Zkopiert. Die Werte ergeben sich als.
2. Varianteint 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 Mkopiert. Die Werte in X- und Y- Richtung ergeben sich als.
3. Varianteint 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 linkbezeichneten Datenpoolelement entnommen. Die Werte in X- und Y- Richtung ergeben sich als.
Beispiel:
1421.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1200Höhenlinien in der XY-Ebene ein/aus
0=unsichtbar,1=sichtbar
1201Höhenlinien in der XZ-Ebene ein/aus
0=unsichtbar,1=sichtbar
1202Höhenlinien in der YZ-Ebene ein/aus
0=unsichtbar,1=sichtbar
143 Referenzhandbuch
© XOn Siftware GmbH, 2008
1203Höhenlinien in derKurve ein/aus
0=unsichtbar,1=sichtbar
1204Gitterlinien auf derKurve ein/aus
0=unsichtbar,1=sichtbar
1205 Füllmodus0=monochrom,1=beleuchtet,2=kartographisch
1206 Anzahl der Höhenlinien
1207Anzahl der Farben inder Farbtabelle
1208Aktuelle Farbe (in derFarbtabelle)
0..[ID 1207]
Float
3100 Anfangswert X-Achse
3101 Endwert X-Achse
3102 Anfangswert Y-Achse
3103 Endwert Y-Achse
3104 Anfangswert Z-Achse
3105 Endwert Z-Achse
3106 Perspektive 0.0=keine, 20.0=stark
3107Blickwinkel der X-Achse in Radiant
0..2p
3108Blickwinkel der Y-Achse in Radiant
0..2p
3109Blickwinkel der Z-Achse in Radiant
0..2p
3250Prozentwert für dieaktuelle Farbe (ID1208)
0..100
String
4000Name desGrafikelementes
Bezeichner
4100Formatstring fürBeschriftung der X-Achse
4101Formatstring fürBeschriftung der Y-Achse
4102Formatstring fürBeschriftung der Z-Achse
4103 Titel der X-Achse
4104 Titel der Y-Achse
4105 Titel der Z-Achse
Font 5000 Standardschriftart
Linienart
6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
6200 Linienart Gitterlinienfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
6201Linienart derHöhenlinien in den
für eine Liste derLinienarten siehe
1441.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Ebenen GrafNode:SetNodeAtt
6202Linienart derHöhenlinien in derKurve
für eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
8250Farbe der aktuellenFarbe in derFarbtabelle (ID 1208)
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CGraf3DNode Übersicht
1.2.3.6.4 CGraf3DNode::SetNodeData
Syntax:int SetNodeData(int nID,double v0,double dv);int SetNodeData(int nID,int dim,double *pV);int SetNodeData(int nID,int dimX,int dimY,double *pV);int SetNodeData(int nID,char *link);int SetNodeData(int nID,CVector *pV);int SetNodeData(int nID,CMatrix *pM);
Beschreibung:Mit diesen Methoden können die X-, Y- und Z- Werte separat konfiguriert werden. Die Bedeutungder einzelnen Varianten finden sie im Anschluß.
1. Varianteint SetNodeData(int nID,double v0,double dv);
Parameter:· nID: Datenbezug:
0: X- Werte1: Y- Werte
· v0: Anfangswert· dv: Schrittweite
Beschreibung:legt die entsprechende Werte implizit fest. Die Werte ergeben sich als
145 Referenzhandbuch
© XOn Siftware GmbH, 2008
2. Varianteint SetNodeData(int nID,int dim,double *pV);
Parameter:· nID: Datenbezug
0: X- Werte1: 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. Varianteint 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. Varianteint SetNodeData(int nID,char *link);
Parameter:· nID: Datenbezug
0: X- Werte1: Y- Werte2: Z- Werte
· link: Name eines Datenpoolelementes. Für X- und Y- Werte muß dieses Element vom TypCF8Vector sein, für Z- Werte vom Typ CF8Matrix.
Beschreibung:legt die entsprechenden Werte als Datenpoolwerte fest.
5. Varianteint SetNodeData(int nID,CVector *pV);
Parameter:· nID: Datenbezug
0: X- Werte1: Y- Werte
· pV: Werte- Vektor
Beschreibung:legt die entsprechenden Werte explizit fest. Der Inhalt des Vektors wird kopiert.
6. Varianteint 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.
1461.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Methodenwie etwa das Verstellen von Position und Größe, welche sich auf alle abgeleiteten Klassenvererben.
Methoden:· AddNode· Clear· DelNode· GetDocument· GetNodeAtt· GetPos· GetSize· GetSubAxis· GetSubLeg
147 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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
1481.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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, obSie die in dieses Objekt eingebetteten Unterobjekte ebenfalls löschen wollen. Werden dieUnterobjekte nicht gelöscht (bWithKids==0), dann werden die Unterobjekte im Vorgängereingefü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 einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit derBedeutung 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):
149 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Schriftattributeo Bit1: fetto Bit2: kursiv
1501.2 Programmierreferenz
© XOn Siftware GmbH, 2008
o Bit3: unterstricheno Bit4: durchgestrichen
· pAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechterDarstellung.
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 Schraffuro 1: mit Schraffuro 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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
151 Referenzhandbuch
© XOn Siftware GmbH, 2008
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 demNamen szName.
1521.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 demNamen 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 demNamen szName.
Beispiel:int method::OnRun(){ CGrafNode *pN=ROOT0.GetSubNode("NODE"); if (pN) pN->SetNodeAtt(1000,1);
153 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 demNamen 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 demNamen szName.
Beispiel:int method::OnRun(){ CPlaneNode *pN=ROOT0.GetSubLeg("PLANE"); if (pN) pN->SetNodeAtt(1000,1); return 1;}
Siehe auch:Klassenhierarchie, CGrafNode Übersicht
1541.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 NamenszName.
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 demNamen 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
155 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 demNamen 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 demNamen 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
1561.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
157 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 dabeiimmer 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 einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit derBedeutung 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)
1581.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Schriftattributeo Bit1: fetto Bit2: kursivo Bit3: unterstricheno Bit4: durchgestrichen
· nAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechterDarstellung
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:
159 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Liniendurchgezogen. Im Falle einer Liniendicke von0 wird die dünnste mögliche Linie desAusgabemediums verwendet.
Bedeutung von Markierungsart-Attributen:
Wert Bedeutung
0 keine
1 Quadrat
2 Dreieck mit Spitze nach oben
3 Kreuz
4 Dreieck mit Spitze nach unten
5 Raute
6 gefülltes Quadrat
8 gefülltes Dreieck mit Spitze nach oben
9 gefülltes Dreieck mit Spitze nach unten
10 gefüllte Raute
11 Punkt
12 Kreis
13 gefüllter Kreis
14 Kreuz
15 horizontale Linie
16 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 Schraffuro 1: mit Schraffuro 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:
1601.2 Programmierreferenz
© XOn Siftware GmbH, 2008
nHatch Schraffur
0 diagonal -45°
1 senkrecht gekreuzt
2 diagonal gekreuzt
3 diagonal 45°
4 horizontal
5 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 Farbeneines True-Color-Systems zur Verfügung. Da es auf Systemen mit geringerer Farbauflösung zuProblemen bei der Darstellung von Mischfarben kommen kann, ist in diesem Falle dieVerwendung 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:
161 Referenzhandbuch
© XOn Siftware GmbH, 2008
Typ ID Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1001 Linie unten0=unsichtbar,1=sichtbar
1002 Linie rechts0=unsichtbar,1=sichtbar
1003 Linie oben0=unsichtbar,1=sichtbar
1004 Linie links0=unsichtbar,1=sichtbar
1005Diagonale unten linksnach oben rechts
0=unsichtbar,1=sichtbar
1006Diagonale oben linksnach unten rechts
0=unsichtbar,1=sichtbar
Float
3000 Breite des Objektes Angabe in 1/1000 Inch
3001 Höhe des Objektes Angabe in 1/1000 Inch
3002Horizontale Positiondes Objektes
Angabe in 1/1000 Inch
3003Vertikale Position desObjektes
Angabe in 1/1000 Inch
String 4000Name desGrafikelementes
Bezeichner
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienart
Füllmuster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie, CGrafNode Übersicht
1621.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Positionbezieht 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. DieDaten der Torte werden in einer vektorähnlichen Struktur verwaltet. Die maximale Anzahl vonTortenstücken beträgt 1999.
Methoden:· CPie2DNode::AddPie· CPie2DNode::DelPie· CPie2DNode::SetData· CPie2DNode::SetNodeAtt· CPie2DNode::GetNodeAtt
163 Referenzhandbuch
© XOn Siftware GmbH, 2008
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. DieEinfügeposition wird im Parameter nInd spezifiziert. Den neuen Tortenstücken werdenvoreingestellte Attributwerte für Farbe, Formatstring ihrer Beschriftungen und Expositionzugewiesen. 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 bestehendenangehä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 jeweilsletzte Tortenstück gelöscht wird.
Rückgabewert:0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:Klassenhierarchie , CPie2DNode Übersicht
1641.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.8.3 CPie2DNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 dieTorte durch einen "SetData" - Aufruf vergrößern erhalten die neu hinzugekommenen Stücke,abgesehen von ihrer Größe, voreingestellte Werte zugewiesen. Bei einer Verkleinerung gehennicht 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
165 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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 nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100Winkel der Perspektivein Zehntel Grad
1101Startwinkel des erstenStückes
1102 Interpretationsmodus0=absolut,1=prozentual
1103 Texthintergrundmodus0=transparent,1=opaque
1104Anzahl derTortenstücke (nurlesen!)
1105 aktuelles Tortenstück
Float
3100Verhältnis derTortenhöhe zurTortenbreite
größer/gleich 0
3150Größe des aktuellenTortenstücks (siehe ID1105)
3151Exposition desaktuellen Tortenstücks(siehe ID 1105)
1661.2 Programmierreferenz
© XOn Siftware GmbH, 2008
String
4000Name desGrafikelementes
Bezeichner
4150Name des aktuellenTortenstücks (siehe ID1105)
4151Formatstring desaktuellen Tortenstücks(siehe ID 1105)
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster
7000 Standard-Füllmuster
7150Füllmuster desaktuellen Tortenstücks(siehe ID 1105)
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
8150Hintergrundfarbe desaktuellen 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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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:
167 Referenzhandbuch
© XOn Siftware GmbH, 2008
Eine Plane ist eine zweidimensionale Transformation, wie man sie für krummlinigeKoordinatensysteme benötigt.
Methoden:· CPlaneNode::SetNodeAtt· CPlaneNode::GetNodeAtt
1.2.3.9.1 CPlaneNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie , CPlaneNode Übersicht
1681.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.9.2 CPlaneNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100 Abbildungsfunktion
0=linear/linear,1=linear/Bogenmaß,2=linear/Gradmaß,3=Weibul, 4=polar/Bogenmaß, 5=polar/Gradmaß
1200 Position der X-Achse0=oben, 1=mittig,2=unten
1201 Position der Y-Achse0=links, 1=mittig,2=rechts
1202Position der Pfeilspitzean der X-Achse
0=rechts, 1=links
1203Position der Pfeilspitzean der Y-Achse
0=oben, 1=unten
1204 Gitter der X-Achse0=kein Gitter, 1=grobesGitter, 2=feines Gitter
1205 Gitter der Y-Achse0=kein Gitter, 1=grobesGitter, 2=feines Gitter
1206 Anzahl der X-Ticks größer/gleich 0
1207 Anzahl der Y-Ticks größer/gleich 0
1208 Anzahl der X-Subticks größer/gleich 0
1209 Anzahl der Y-Subticks größer/gleich 0
Float
3100X0, Anfangswert der X-Achse
3101DX, Breite der X-Achse(Endwert=X0+DX)
169 Referenzhandbuch
© XOn Siftware GmbH, 2008
3102Y0, Anfangswert der Y-Achse
3103DY, Breite der Y-Achse(Endwert=Y0+DY)
String
4000Name desGrafikelementes
Bezeichner
4200 Name der X-Achse
4201 Name der Y-Achse
4202Formatstring für dieBeschriftung der X-Achse
4203Formatstring für dieBeschriftung der X-Achse
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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:
1701.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.3.10.1 CRectNode::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
1.2.3.10.2 CRectNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
Liste der Parameterleisten siehe:CGrafNode::SetNodeAtt
171 Referenzhandbuch
© XOn Siftware GmbH, 2008
Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,sowie deren Voreinstellungen :
Typ ID Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100 Abbildungsfunktion
0=linear/linear,1=linear/Bogenmaß,2=linear/Gradmaß,3=Weibul, 4=polar/Bogenmaß, 5=polar/Gradmaß
1200 Position der X-Achse0=oben, 1=mittig,2=unten
1201 Position der Y-Achse0=links, 1=mittig,2=rechts
1202Position der Pfeilspitzean der X-Achse
0=rechts, 1=links
1203Position der Pfeilspitzean der Y-Achse
0=oben, 1=unten
1204 Gitter der X-Achse0=kein Gitter, 1=grobesGitter, 2=feines Gitter
1205 Gitter der Y-Achse0=kein Gitter, 1=grobesGitter, 2=feines Gitter
1206 Anzahl der X-Ticks größer/gleich 0
1207 Anzahl der Y-Ticks größer/gleich 0
1208 Anzahl der X-Subticks größer/gleich 0
1209 Anzahl der Y-Subticks größer/gleich 0
Float
3100X0, Anfangswert der X-Achse
3101DX, Breite der X-Achse(Endwert=X0+DX)
3102Y0, Anfangswert der Y-Achse
3103DY, Breite der Y-Achse(Endwert=Y0+DY)
String
4000Name desGrafikelementes
Bezeichner
4200 Name der X-Achse
4201 Name der Y-Achse
4202Formatstring für dieBeschriftung der X-Achse
4203Formatstring für dieBeschriftung der X-Achse
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
1721.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 dessenKonfiguration zur Verfügung, Alle dreidimensionalen Grafikelemente (z.B. der 3D-Graf) basierenauf dieser Klasse.
Methoden:· CSzene::SetNodeAtt· CSzene::GetNodeAtt
1.2.3.11.1 CSzene::GetNodeAtt
Syntax:int GetNodeAtt(int nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
173 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie , CSzene Übersicht
1.2.3.11.2 CSzene::SetNodeAtt
Syntax:int SetNodeAtt(int nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100
Fest vorgegebeneBeschriftungen (FixTicks) an der X-Achse verwenden
1=ja, 0=nein
1101
Fest vorgegebeneBeschriftungen (FixTicks) an der Y-Achse verwenden
1=ja, 0=nein
1102Fest vorgegebeneBeschriftungen (FixTicks) an der Z-
1=ja, 0=nein
1741.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Achse verwenden
1103X-Achse automatischskalieren
1=ja, 0=nein
1104Y-Achse automatischskalieren
1=ja, 0=nein
1105Z-Achse automatischskalieren
1=ja, 0=nein
1106Gitter parallet zur X-Achse
0=keines, 1=grob,2=fein
1107Gitter parallet zur Y-Achse
0=keines, 1=grob,2=fein
1108Gitter parallet zur Z-Achse
0=keines, 1=grob,2=fein
1109Clipping durch obereund untere XY-Ebene
1=ja, 0=nein
1110Clipping durch linkeund rechte ZX-Ebene
1=ja, 0=nein
1111Clipping durch linkeund rechte YZ-Ebene
1=ja, 0=nein
1112Gehäuse um Szenezeichnen
1=ja, 0=nein
1113XY- Begrenzungsebeneder Szene zeichnen
1=ja, 0=nein
1114YZ- Begrenzungsebeneder Szene zeichnen
1=ja, 0=nein
1115ZX- Begrenzungsebeneder Szene zeichnen
1=ja, 0=nein
Float
3100 Anfangswert X-Achse
3101 Endwert X-Achse
3102 Anfangswert Y-Achse
3103 Endwert Y-Achse
3104 Anfangswert Z-Achse
3105 Endwert Z-Achse
3106 Perspektive 0=keine, 20=stark
3107Blickwinkel der X-Achse in Radiant
0..2PI
3108Blickwinkel der Y-Achse in Radiant
0..2PI
3109Blickwinkel der Z-Achse in Radiant
0..2PI
String
4000Name desGrafikelementes
Bezeichner
4100Formatstring fürBeschriftung der X-Achse
4101Formatstring fürBeschriftung der Y-Achse
4102Formatstring fürBeschriftung der Z-
175 Referenzhandbuch
© XOn Siftware GmbH, 2008
Achse
4103 Titel der X-Achse
4104 Titel der Y-Achse
4105 Titel der Z-Achse
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Muster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 derTabelle werden in einer matrixähnlichen Struktur verwaltet. Diese Matrix kann maximal 16250Einträ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 dentatsä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 Zeilenumbruchan Wortgrenzen durchgeführt, jedoch kein Trennalgorithmus innerhalb von Worten. Es stehen 3Schriftarten für Tabellenüberschrift, normalen Tabellentext sowie hervorgehobenen Tabellentextzur Verfügung. Diese sind alle mit der Standardschriftart vorbesetzt.
Methoden:· CTabNode::SetData
1761.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5 unzulässiger Formatstring (bei Übergabe von
177 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 ReihenCol: Nullbasierter Index der zu setzenden SpaltelpszDataVal: 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 nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar, 1=sichtbar
1100Anzahl der Zeilen inder Tabelle
größer 0
1101Anzahl der Spalten inder Tabelle
größer 0
1102 aktive ZeileMit den Attributen 1102 und1103 wird die aktive Zelle
1781.2 Programmierreferenz
© XOn Siftware GmbH, 2008
festgelegt. Ist das Attribut1103 auf 0 gesetzt, so wirdder Basisstiel einer ganzeZeile selektiert. Sind dieAttribute 1102 und 1103auf 0 gesetzt, so wird derBasisstiel der ganzenTabelle selektiert. Attributewie Rahmen, Farben,Fonts e.t.c. werden in diehier selektierte Zelle oderBasisstiel geschrieben. Istfür eine Zelle kein Stielfestgelegt, so wird derzugehörige Basisstielverwendet, falls vorhanden.
1103 aktuelle Spaltesiehe Beschreibung von ID1102
1104 aktive Zellenkante
1. alle Kanten2. linke Kante3. rechte Kante4. obere Kante5. untere KanteLinienattribute (ID 6100)beziehen sich auf die hierfestgelegte Kante einerZelle.
1105 Fließende Zelle (float)
0=aus, 1=einDer Inhalt dieser Zelle kannbei Bedarf in Nachbarzellenfließen, falls diese leer sindund das flood- Atrribut (ID1106) gesetzt haben
1106 Fließende Zelle (flood)
0=aus, 1=einDiese Zelle kann bei Bedarfvon Nachbarzellenüberschrieben werden fallsdiese float- Attribut (ID1105) gesetzt haben
Float 3160relative Spaltenbreiteder aktuellen Spalte
größer 0
String
4000Name desGrafikelementes
Bezeichner
4100
Legt den Text einerZelle fest. Die Zellewird mit Attribut1102/1103ausgewählt.
Font 5100 Schriftart
Legt die Schriftart einerZelle fest. Die Zelle wird mitAttribut 1102/1103ausgewählt.
Linienart 6100 Kante-LinienartLegt die Linienart fest, mitder eine Zellenkantegezeichnet wird. Legen sie
179 Referenzhandbuch
© XOn Siftware GmbH, 2008
vorher mit dem Attribut1104 fest, welcheZellenkante siebeschreiben wollen und mitden Attributen 1102 und1103, auf welche Zelle siesich beziehen.
Füllmuster 7100 Zellen- Füllmuster
Legt das Füllmuster fest,mit dem eine Zelleausgemalt wird. Die Zellewird mit Attribut 1102/1103ausgewählt
Farbe
8100 Hintergrundfarbe
Legt die Hintergrundfarbeeiner Zelle fest. Die Zellewird mit Attribut 1102/1103ausgewählt
8101 Textfarbe
Legt die Textfarbe einerZelle fest. Die Zelle wird mitAttribut 1102/1103ausgewä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 Tab.SetNodeAtt(5100, // Font setzen "Arial", // szName="Arial" 18, // nHeight=18 3, // nMode=3: 0x01 | 0x02 (Bit1 und Bit zwei gesetzt) // bold, italic 0); // nAngle=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
1801.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Tab.SetNodeAtt(1104,-1);// alle Kanten Tab.SetNodeAtt(6100, //Linienart für die Kanten: 1, //Durchgezigene Linie 0, //Dicke 0 0,0,0); //Farbe schwarz Tab.SetNodeAtt(5100, // Font setzen "Arial", // szName="Arial" 12, // nHeight=12 0, // nMode=0 0); // nAngle=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 dieMöglichkeit zur Manipulation von Text, Font, Farbe...
Methoden:· CTextNode::SetText· CTextNode::Add· CTextNode::AddDate· CTextNode::AddTime· CTextNode::SetNodeAtt· CTextNode::GetNodeAtt
181 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 kanndies 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 nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
Detaillierte Liste der Parameterleisten siehe CGrafNode::GetNodeAtt.
1821.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
Siehe auch:Klassenhierarchie , CTextNode Übersicht
1.2.3.13.5 CTextNode::SetNodeAtt
Syntax:int SetNodeAtt(int nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 IDBedeutung
Wertebereich
Integer
1000
Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100Ausrichtung desTextes
0=links1=zentriert2=rechts
1101
Typ derDatenquelle für dasTextelement
1=explizit2=Pool
183 Referenzhandbuch
© XOn Siftware GmbH, 2008
String
4000Name desGrafikelementes
Bezeichner
4100
beiexplizitemTyp: TextdesElementes,bei Pool-Typ: Namedes Pool-Links
Font 5000Standardschriftart
Linienart 6000Standard-Linienart
für eineListe derLinienartensieheGrafNode:SetNodeAtt
Füllmuster 7000Standard-Füllmuster
Farbe
8000Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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:
1841.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Achsendurchfü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 nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
185 Referenzhandbuch
© XOn Siftware GmbH, 2008
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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 KlasseCAxisNode 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 Abbildungsfunktionder Transformation Datum/Zeit (Item 1100, Wert 2), dann muß der physikalische Wert alsZeitpunkt (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 transformiert1: Werte im Bereich [w0,w1] werden logarithmisch auf den Bildbereich transformiert. Es mußgelten 0<w0<w1!
Siehe auch:
1861.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Klassenhierarchie , CTransform1D Übersicht
1.2.3.14.5 CTransform1D::SetNodeAtt
Syntax:int SetNodeAtt(int nID,int nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer
1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar,1=sichtbar
1100 Abbildungsfunktion
0=linear1=logarithmisch2=Weibulverteilung3=Normalverteilung4=Zeitachse5=Reziprok6=Reziprok verschoben7=Logit
1101 Anzahl der Ticks größer/gleich 0
1102 Anzahl der Subticks größer/gleich 0
Float 3100Anfangswert desSkalierungsintervalls
Mit diesem Attribut wirdder Anfangswert desSkalierungsintervallsgesetzt. Der Wert wirderst übernommen,wenn der Endwert desSkalierungsintervalls(3101) gesetzt wird.Falls das Wertepaarnicht zur eingestelltenSkalierung paßt wirddie Skalierungentsprechendangepaßt. Zum Beispielsind Werte kleiner odergleich Null beilogarithmischerSkalierung unzulässig.
187 Referenzhandbuch
© XOn Siftware GmbH, 2008
3101Endwert desSkalierungsintervalls
Mit diesem Attribut wirdder Endwert desSkalierungsintervallsgesetzt undAngangswert (3100)und Endwert (3101)werden in dieSkalierungübernommen. Siemüssen also unbedingtdas Attribut 3100gesetzt haben bevorSie das Attribut 3101festlegen! Falls dasWertepaar nicht zureingestellten Skalierungpaß wird die Skalierungentsprechendangepaßt. Zum Beispielsind Werte kleiner odergleich Null beilogarithmischerSkalierung unzulässig.
3102 Temporäre Koordinate
Mit SetNodeAtt setzensie eine physikalischeKoordinate x. MitGetNodeAtt erhaltensie die zugehörigelogische Koordinate y =p2l(x)
String 4000Name desGrafikelementes
Bezeichner
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe
8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
1881.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 KlasseCAxisNode 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 Planesdurchfü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 nID,int *pVal);int GetNodeAtt(int nID,long *pVal);int GetNodeAtt(int nID,float *pVal);int GetNodeAtt(int nID,double *pVal);int GetNodeAtt(int nID,char *pVal,int nSize);int GetNodeAtt(int nID,char *nName,int *pHeight,int *pMode,int *pAng);int GetNodeAtt(int nID,int *pStyle,int *pWidth,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pStyle,int *pHatch,int *pR,int *pG,int *pB);int GetNodeAtt(int nID,int *pR,int *pG,int *pB);
Beschreibung:
189 Referenzhandbuch
© XOn Siftware GmbH, 2008
Die Funktion GetNodeAtt dient zum Lesen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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:
1901.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 logischenPunkt 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 nID,short nVal);int SetNodeAtt(int nID,long nVal);int SetNodeAtt(int nID,float nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nVal);int SetNodeAtt(int nID,double nVal);int SetNodeAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetNodeAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetNodeAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetNodeAtt(int nID,int nR,int nG,int nB);
Beschreibung:Die Funktion SetNodeAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Funktion mit verschiedenenParameterleisten.
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 Bedeutung Wertebereich
Integer 1000Sichtbarkeit desGrafikelementes ein/aus
0=unsichtbar, 1=sichtbar
1100 Abbildungsfunktion
· 0: linear/linear· 1: linear/Bogenmaß· 2: linear/Gradmaß· 3: Weibul· 4: polar/Bogenmaß· 5: polar/Gradmaß· 6: Smith- Chart
Float 3100 X0, Anfangswert der
191 Referenzhandbuch
© XOn Siftware GmbH, 2008
X-Achse
3101DX, Breite der X-Achse (Endwert=X0+DX)
3102Y0, Anfangswert derY-Achse
3103DY, Breite der Y-Achse (Endwert=Y0+DY)
String 4000Name desGrafikelementes
Bezeichner
Font 5000 Standardschriftart
Linienart 6000 Standard-Linienartfür eine Liste derLinienarten sieheGrafNode:SetNodeAtt
Füllmuster 7000 Standard-Füllmuster
Farbe 8000 Hintergrundfarbe
8001Farbe derStandardschriftart
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
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
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ähltenTransformation nicht vereinbar sein werden geeignete Voreinstellungen gewählt. Die Werte derVoreinstellungen 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.
1921.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 dessenBedeuting sind in der folgenden Tabelle aufgeführt.
Wert Bedeutung
0 lineare Abbildung(Voreinstellung)
1
polare Koordinaten in kartesischem System. DieX - Koordinaten beschreiben den Radius, die Y -Koordinaten den Winkel des Ortsvektors zumaktuellen Datenpunkt mit der X - Achse imPolarsystem.Y -Werte werden im Bogenmaßerrechnet.
2 wie 1, jedoch Y - Werte im Gradmaß
3
Weibultransformation.Die X - Werte werdenlogarithmisch , die Y - Wertedoppellogarithmisch abgebildet. Der zugrundeliegende Logarithmnus ist derZehnerlogarithmus.
4Polartransformation. Die X - Werte werden alsRadius, die Y - Werte als Winkel zur X - Achseangezeigt. Y - Werte sind im Bogenmaß.
5 wie 4, jedoch Y - Werte im Bogenmaß.
6Smith- Chart. Die Positive complexe Halbebene(Re > 0) wird abgebildet auf den complexeneinheitskreis 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 x0 x1 y0 y1
1 0 100 0 100
2 0 100 0 2
3 0 100 0 360
4 0.1 100 0.1 99.9
5 0 100 0.5 0.5
6 0 100 90 90
Rückgabewert:0 wenn erfolgreich, sonst ein Fehlercode < 0.
Siehe auch:Klassenhierarchie , CTransform2D Übersicht
193 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 denunterschidlichen Diagramminhalten. Allen Klassen gemeinsam ist eine große Menge vonAttributierungsfunktionen. Diese sind in der Basisklasse CPaintObj implementiert. EineBeschreibung 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 einzelnenKlassen:
Methoden:· SetTraceAtt· GetTraceAtt· AddLayer· RemoveLayer
1941.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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. FolgendeAttributierungsbefehle 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 Bedeutung Wertebereich
Integer
1200
Layer:Dieses Attribut gibt denaktiven Layer einesmehrschichtigenStapelbalkens an.Angaben wieSchichtfarbe,Schichtfüllmuster ...beziehen sich dann aufdiese Schicht derStapelbalkenkurve
1201
Orientierung:Mit diesem Attributgeben Sie an ob dieBalken vertikal (0) oder
0,1
195 Referenzhandbuch
© XOn Siftware GmbH, 2008
horizontal (1)ausgerichtet werden.
1202
Stapelung:Mit diesem Attributlegen Sie beiStapelbalken fest, obdie Balkennebeneinander (0) oderübereinander (1)gezeichnet werden
0,1
1203
Beschriftungsmodus:Legt fest ob dieBeschriftung derBalkenschichtentransparent (0) oderopaque (1) ist. KeineBeschriftung erhaltenSie, wenn Sie einenleeren Formatstringübergeben (Attribut4200)
0,1
Float 3200
Balkenbreite inEinheiten desverwendetenDiagramms
String
4200
Balkenbeschriftung:Formatstring für dieHöhenbeschriftung inden Balken. EinFormatstring "%.1f" gibtdie Balkenhöhe miteiner Nachkommastelleaus
4201
Schichtname:Name der aktivenBalkenschicht (siehe1200). Dieser Namewird in der LegendeVerwendet. Wird keinName eingetragen,dann wird die Schichtauch in der Legendenicht beschrieben.
Font 5200Font für dieBeschriftung in denBalken
Linienart 6200
Balkenrand:Linienart für dieumrandung der aktivenBalkenschicht (siehe1200)
Muster 7200
Balkenmuster:Füllmuster für dieBalken der aktivenSchicht (siehe 1200)
1961.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Farbe
8200
Balkenhintergrund:Hintergrundfarbe für dieBalken der aktivenSchicht (siehe 1200)
8201Farbe der Schrift für dieBeschriftung in denBalken
8202Hintergrundfarbe derBeschriftung in denBalken
Vector
10000
Koordinaten für dieBalkenmittelpunkte. Istdie Ausrichtung derBalken vertikal, dannwerden diese Werte alsX- Koordinatenbetrachtet, sonst als Y-Koordinate.
10001Balkenhöhen deraktiven Schicht (siehe1200)
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eineLegende mit Namen LEG definiert. Die nachfolgende Methode zeichnet zweischichtige Balken vonzufä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;}
197 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.4.2 CBar3DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnenKlassen:
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. FolgendeAttributierungsbefehle 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.
1981.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.4.2.4 CBar3DTrace::SetTraceAtt
Typ ID Bedeutung Wertebereich
Integer
1260
Layer:Dieses Attribut gibt denaktiven Layer einesmehrschichtigenStapelbalkens an.Angaben wie Schichtfarbe,Schichtfüllmuster ...beziehen sich dann aufdiese Schicht derStapelbalkenkurve
1261
Layout:Mit diesem Attribut stellensie die Darstellung der Balken ein. Zur Auswahlstehen· Balken: Die Elemente
werden als Quaderdargestellt
· Zylinder: Die Elementewerden als Zylinderdargestellt
· Kegel: Die Elementewerden als Kegeldargestellt
· Band-X: Die Schichtenwerden als Bänderentlang der X-Achsegezeichnet
· Band-Y: Die Schichtenwerden als Bänderentlang der Y-Achsegezeichnet
0: Balken1: Zylinder2: Kegel3: Band-X4: Band-Y
Float
3260
Balkenbreite (X-Richtung)in Einheiten desverwendetenKoordinatensystems
3261Balkentiefe (Y-Richtung) inEinheiten des verwendetenKoordinatensystems
String 4260
Schichtname:Name der aktivenBalkenschicht (siehe1260). Dieser Name wirdin der Legende Verwendet.Wird kein Nameeingetragen, dann wird dieSchicht auch in derLegende nichtbeschrieben.
Linienart 6200Balkenrand:Linienart für dieumrandung der aktiven
199 Referenzhandbuch
© XOn Siftware GmbH, 2008
Balkenschicht (siehe 1260)
Muster 7200
Balkenmuster:Füllmuster für die Balkender aktiven Schicht (siehe1260)
Farbe 8200
Balkenhintergrund:Hintergrundfarbe für dieBalken der aktiven Schicht(siehe 1260)
Vector
10060Koordinaten derBalkenmitte in X- Richtung
10061Koordinaten derBalkenmitte in Y- Richtung
Matrix 11060Balkenhöhen der aktivenSchicht (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;}
2001.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.4.3 CGraf3DTrace
Klicken Sie auf die Felder der Objekthierarchie für detaillierte Informationen zu den einzelnenKlassen:
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 Bedeutung Wertebereich
Integer
1280
InterpolationsfunktionDieses Attribut gibt an,mit welcher Funktiondie Stützpunkte einerKurve interpoliertwerden
0: konstant1: linear2: Bikubisch
1281StyleDarstellungsart
0: Oberfläche1: Wasserfall2: Gitter
1282 Fill0: diskret1: kontinuierlich
1283
Wasserfall XWasserfalldiagrammentlang der X-Achsedarstellen DiesesAttribut hat nurAuswirkungen, wennals Darstellungsart Wasserfall gewählt ist.
0,1
1284
Wasserfall YWasserfalldiagrammentlang der Y-Achsedarstellen. DiesesAttribut hat nurAuswirkungen, wennals Darstellungsart
0,1
201 Referenzhandbuch
© XOn Siftware GmbH, 2008
Wasserfall gewählt ist.
1285
ProjektionProjektion derOberfläche auf die X/Y-Ebene der Szene. DieProjektion zeigt dieFärbung derOberfläche als IntensityChart. Dieses Attributhat nur Auswirkungen,wenn alsDarstellungsart Oberfläche gewählt ist.
0,1
1286
SymbolDieses Attribut gibt an,ob und mit welchemSymbol die Stützstellenmarkiert werden
0: keine Markierung1: Würfel2: Kugel3: Kegel4: Zylinder
Double 2280
SymbolgrößeDieses Attribut gibt an,wie groß die Symbolean den Stützpunktengezeichnet werden
Prozentuale Größe (0-100) in Relation zurSzene
String
4280 Wasserfall X, Name
Bezeichner desWasserfalldiagrammsin X-Richtung.Erscheint in derLegende
4281 Wasserfall Y, Name
Bezeichner desWasserfalldiagrammsin Y-Richtung.Erscheint in derLegende
Linienart
6280 Linienart der Gitterlinien
6281
Linienart Wasserfall XDieses Attribut legt dieWasserfall-Begrenzungslinien fürWasserfalldiagrammeentlang der X-Achsefest.
6282
Linienart Wasserfall YDieses Attribut legt dieWasserfall-Begrenzungslinien fürWasserfalldiagrammeentlang der Y-Achsefest.
Color 8280
SymbolfarbeWenn sie dieStützpunkte mit einemSymbol markieren(Attribut 1286), könnensie über dieses Attributdie Symbolfarbe
2021.2 Programmierreferenz
© XOn Siftware GmbH, 2008
vorgeben
Color
8281
Wasserfall X FarbeFarbe derWasserfallflächeentlang der X- Achse
8282
Wasserfall Y FarbeFarbe derWasserfallflächeentlang der Y- Achse
Vector
10080X- Koordinaten (Xi) derOberflächenstzpunkte
10081Y- Koordinaten (Yj) derOberflächenstzpunkte
Matrix 11080
Z- Koordinaten (Zi,j)derOberflächenstzpunkteEin Stützpunkt Pi,j istdefiniert als (Xi,Yj,Zi,j)
ColorMap 12080Farbtabelle zur färbungder Oberfläche.
Material 12081Eigenschaften derdargestelltenOberfläche.
Mit diesem Parameterkönnen sieEigenschaften derdargestelltenOberflä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 LEGdefiniert. 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();
203 Referenzhandbuch
© XOn Siftware GmbH, 2008
//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 einzelnenKlassen:
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 Bedeutung Wertebereich
Integer
1150
InterpolationsfunktionDieses Attribut gibt an,mit welcher Funktiondie Stützpunkte einerKurve interpoliertwerden
0: konstant1: linear2: Spline3: Akima
1151
Punktmarkierung:Mit diesem Attribut wirddas Symbol derPunkmarkierungvorgegeben, falls essich um eines derZeichen 32,...,47 ausdem Font X1-Symhandelt. Mit demAttribut 9220 können
0,...,150: keine Markierung1: Quadrat.....15: Linie
2041.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Sie ebenfalls dasSymbol festlegen.
1152
Punktgröße:Größe des Symbols zurPunktmarkierung in[1/100 mm]. Siehe auchAttribut 9220.
1155
Linienfüllung:Gibt an, ob bei unterbrochenenLinientypen (gestrichelt,gepunktet ..., sieheAttribut 6221) dieZwischenräume mit derFüllfarbe (Attribut 8221)gefüllt werden sollen.
0: Zwischenräume nichtfüllen1: Zwischenräumefarbig füllen
Linienart6220
Linienart für dieUmrandung derMarkierungssymbole
6221 Linienart für die Kurve
Muster 7220Füllmuster für dieMarkierungssymbole
Farbe
8220Hintergrundfarbe für dieMarkierungssymbole
8221Füllfarbe fürunterbrochene Linien(siehe Attribut 1155)
Symbol 9220Symbol für dieMarkierung derStützpunkte
Vector
10020Koordinaten derStützpunkte in X-Richtung
10021Koordinaten derStützpunkte in Y-Richtung
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eineLegende mit Namen LEG definiert. Die nachfolgende Methode zeichnet eine Zufallskurve in dasDiagramm 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");
205 Referenzhandbuch
© XOn Siftware GmbH, 2008
// 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 einzelnenKlassen:
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
Integer
1251
InterpolationsfunktionDieses Attribut gibt an,mit welcher Funktiondie Stützpunkte einerKurve interpoliertwerden
0: konstant1: linear2: Spline3: Akima
1252
SymbolDieses Attribut gibt an,ob und mit welchemSymbol die Stützstellen
0: keine Markierung1: Würfel2: Kugel3: Kegel
2061.2 Programmierreferenz
© XOn Siftware GmbH, 2008
markiert werden 4: Zylinder
Double 2250
SymbolgrößeDieses Attribut gibt an,wie groß die Symbolean den Stützpunktengezeichnet werden
Prozentuale Größe (0-100) in Relation zurSzene
Linienart
6250
Linienart für dieräumliche Kurve. Solldie räumliche Kurvenicht gezeichnetwerden sondern nurihre Projektionen aufdieBegrenzungsflächender verwendetenSzene, dann tragen Sieals Linienart keine Linieein.
6251
Linienart für dieProjektion derräumlichen Kurve aufdie X/Y- Ebene. Soll dieProjektion nichtgezeichnet werden,dann tragen Sie alsLinienart keine Linieein.
6252
Linienart für dieProjektion derräumlichen Kurve aufdie Y/Z- Ebene. Soll dieProjektion nichtgezeichnet werden,dann tragen Sie alsLinienart keine Linieein.
6253
Linienart für dieProjektion derräumlichen Kurve aufdie X/Z- Ebene. Soll dieProjektion nichtgezeichnet werden,dann tragen Sie alsLinienart keine Linieein.
Color
8250
SymbolfarbeWenn sie dieStützpunkte mit einemSymbol markieren(Attribut 1252), könnensie über dieses Attributdie Symbolfarbevorgeben
Linienart für dieProjektion der
207 Referenzhandbuch
© XOn Siftware GmbH, 2008
räumlichen Kurve aufdie Z/X- Ebene. Soll dieProjektion nichtgezeichnet werden,dann tragen Sie alsLinienart keine Linieein.
Vector
10050X- Koordinaten derKurvenstützpunkte
10051Y- Koordinaten derKurvenstützpunkte
10052Z- Koordinaten derKurvenstützpunkte
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:In einem X1- Dokument ist eine Szene mit Namen SZENE und eine Legende mit Namen LEGdefiniert. Die nachfolgende Methode zeichnet eine Schraubenlinie in die Szene und Projeziert dieSchraubenlinie 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 Attributierungsmethodenimplementiert. Eine Beschreibung finden Sie auf den folgenden Seiten. Jedoch bietet diese Klassenur für wenige allgemeine Attribute ein Interface (Diagrammbezug, Name). Die allermeistenAttribute werden von den abgeleiteten Klassen zur Verfügung gestellt. Eine Beschreibung findenSie in den entsprechenden Kapiteln.
2081.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Methoden:· SetTraceAtt· GetTraceAtt
1.2.4.6.1 CPaintObj::GetTraceAtt
Syntax:int GetTraceAtt(int nID,short* nVal);int GetTraceAtt(int nID,int* nVal);int GetTraceAtt(int nID,float* nVal);int GetTraceAtt(int nID,double* nVal);int GetTraceAtt(int nID,char* nVal,int nSize);int GetTraceAtt(int nID,char* nName,int* nHeight,int* Mode,int* nAng);int GetTraceAtt(int nID,int* nStyle,int* nWidth,int* nR,int* nG,int* nB);int GetTraceAtt(int nID,int* nStyle,int* nHatch,int* nR,int* nG,int* nB);int GetTraceAtt(int nID,int* nR,int* nG,int* nB);int GetTraceAtt(int nID,char* face,int* symb);int GetTraceAtt(int nID,CColorMap* pMap);
Beschreibung:Die Funktion GetTraceAtt dient zum Lesen verschiedenster Attribute. Für die unterschiedlichenTypen 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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
209 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.4.6.2 CPaintObj::SetTraceAtt
Syntax:int SetTraceAtt(int nID,short nVal);int SetTraceAtt(int nID,int nVal);int SetTraceAtt(int nID,float nVal);int SetTraceAtt(int nID,double nVal);int SetTraceAtt(int nID,char *nVal);int SetTraceAtt(int nID,char *nName,int nHeight,int Mode,int nAng);int SetTraceAtt(int nID,int nStyle,int nWidth,int nR,int nG,int nB);int SetTraceAtt(int nID,int nStyle,int nHatch,int nR,int nG,int nB);int SetTraceAtt(int nID,int nR,int nG,int nB);int SetTraceAtt(int nID,char* face,int symb)int SetTraceAtt(int nID,double v0,double dv,int len);int SetTraceAtt(int nID,double* pf,int len);int SetTraceAtt(int nID,CF8Vector* pV);int SetTraceAtt(int nID,double v0,double dvc,double dvr,int lenc,int lenr);int SetTraceAtt(int nID,double* pf,int lenc,int lenr);int SetTraceAtt(int nID,CF8Matrix* pM);int SetTraceAtt(int nID,CColorMap* pMap);
Beschreibung:Die Methode SetTraceAtt dient zum Setzen verschiedenster Attribute. Da nicht alle Attribute einesGrafikelementes vom gleichen Typ sind, gibt es diese Methode mit verschiedenenParameterleisten. Im Anschluß finden Sie eine Liste aller möglichen Parameterleisten mit derBeschreibung 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 Beschreibung
-1 allgemeiner, undefinierbarer Fehler
-2 ID-Nummer unzulässig
-3 zu lesende Daten unzulässig oder nicht definiert
-4zu schreibender Wert außerhalb des erlaubtenBereiches
-5unzulässiger Formatstring (bei Übergabe vonFormatstrings)
siehe auch:· Integer· int· Float· String· Font· Stift· Füllmuster· Farben· Symbol· Vector· Matrix· ColorMap
Liste möglicher Parameterwerte:
2101.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Typ ID Bedeutung Wertebereich
Integer
1153
DarstellungsreferenzDieses Attribut gibt an,bezüglich welches Typsvon Koordinaten dasObjekt dargestelltwerden soll. MöglicheWerte sind
0: kein Bezug1: Achsenpaar2: 2D-Szene (Plane)3: 3D- Szene
1154
SichtbarkeitMit diesem Attributkann man das Objektein- oder ausblenden
0: unsichtbar1: sichtbar
String
4150
X-AchseName der X-Achse,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei zweidimensionalenObjekten Sinn.Außerdem muß eine Y-Achse angegebenwerden.
4151
Y-AchseName der Y-Achse,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei zweidimensionalenObjekten Sinn.Außerdem muß eine X-Achse angegebenwerden.
4152
2D-SzeneName der 2D-Szene,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei zweidimensionalenObjekten Sinn.
4153
3D-SzeneName der 3D-Szene,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei dreidimensionalenObjekten Sinn.
4154
NameDieser Name dientdazu das Objekt zuidentifizieren bei einemZugriff mit der
211 Referenzhandbuch
© XOn Siftware GmbH, 2008
Methode CGraf2DNode::GetTrace(char *Name).Weiterhin erscheint derName 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. DieBasisklasse CPaintObj bietet nur für einige allgemeine Attribute ein Interface. Diese Attributekönnen von allen abgeleiteten Klassen verwendet werden.
Typ ID Bedeutung Wertebereich
Integer
1153
DarstellungsreferenzDieses Attribut gibt an,bezüglich welches Typsvon Koordinaten dasObjekt dargestelltwerden soll. MöglicheWerte sind
0: kein Bezug1: Achsenpaar2: 2D-Szene (Plane)3: 3D- Szene
1154
SichtbarkeitMit diesem Attributkann man das Objektein- oder ausblenden
0: unsichtbar1: sichtbar
String
4150
X-AchseName der X-Achse,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei zweidimensionalenObjekten Sinn.Außerdem muß eine Y-Achse angegebenwerden.
4151
Y-AchseName der Y-Achse,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei zweidimensionalenObjekten Sinn.Außerdem muß eine X-Achse angegebenwerden.
4152
2D-SzeneName der 2D-Szene,bezüglich der dasObjekt gezeichnetwerden soll. Dieser
2121.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Parameter macht nurbei zweidimensionalenObjekten Sinn.
4153
3D-SzeneName der 3D-Szene,bezüglich der dasObjekt gezeichnetwerden soll. DieserParameter macht nurbei dreidimensionalenObjekten Sinn.
4154
NameDieser Name dientdazu das Objekt zuidentifizieren bei einemZugriff mit derMethode CGraf2DNode::GetTrace(char *Name).Weiterhin erscheint derName 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 Farbeneines True-Color-Systems zur Verfügung. Da es auf Systemen mit geringerer Farbauflösung zuProblemen bei der Darstellung von Mischfarben kommen kann, ist in diesem Falle dieVerwendung von Systemfarben vorzuziehen. Diese werden immer korrekt dargestellt.
Einige Systemfarben:
Farbe Rot-Wert Grün-Wert Blau-Wert
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
213 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
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 fettBit2 kursivBit3 unterstrichenBit4 durchgestrichen
· nAng: Winkel der Textdarstellung in Zehntel Grad (0...3600), 0 entspricht waagerechterDarstellung
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)
2141.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· nB: Schraffurfarbe Blauanteil (0..255)
Bedeutung des Parameters nHatch:
nHatch Schraffur
0 diagonal -45°
1 senkrecht gekreuzt
2 diagonal gekreuzt
3 diagonal 45°
4 horizontal
5 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 nID,double v0,double dvc,double dvr,long lenc,long lenr);int SetTraceAtt(int nID,double* pf,int lenc,int lenr);int SetTraceAtt(int nID,CF8Matrix* pM);int SetTraceAtt(int 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:
215 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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 Zeilenoder· 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 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 Liniendurchgezogen. Im Falle einer Liniendicke von0 wird die dünnste mögliche Linie desAusgabemediums 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
2161.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Markierungssymboleangeben. Wenn Sie Symbole möglichst schnell ausgeben möchten, dann verwenden Sie eines derZeichen 32-47 aus dem Font X1-Sym.
1.2.4.6.3.12 Vector
Syntax:int SetTraceAtt(int nID,double v0,double dv,long len);int SetTraceAtt(int nID,double* pf,long len);int SetTraceAtt(int nID,CF8Vector* pV);int SetTraceAtt(int 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 pfoder· 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 einzelnenKlassen:
217 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Bedeutung Wertebereich
Integer 1240
Layout:- Bit1: 0 Winding, 1Alternate- Bit2: 0 umgandet, 1gefüllt
0,...,3
Linienart 6240
Polygonrand:Linienart für dieUmrandung derPolygone
Muster 7240Polygonmuster:Muster für die Füllungder Polygone
Farbe 8240Hintergrundfarbe:Hintergrundfarbe für dieFüllung der Polygone
Vector
10040Polygonkoordinaten inX- Richtung
10041Polygonkoordinaten inY- Richtung
10042Längen der einzelnenKoordinatenvektorenbei PolyPolygonen
Weitere Attribute siehe CPaintObj::SetTraceAtt.
Beispiel:In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eineLegende mit Namen LEG definiert. Die nachfolgende Methode zeichnet zehn gefüllte Polygone imalternierend, 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);
2181.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 einzelnenKlassen:
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 Bedeutung Wertebereich
Linienart6210
Pfeilstift:Diese Linienart wirdverwendet um dasPfeilsymbol zuumranden
6211 Zentrumsstift:
219 Referenzhandbuch
© XOn Siftware GmbH, 2008
Diese Linienart wirdverwendet um dasSymbol an derPfeilmitte zu umranden
Muster
7210
Pfeilmuster:Diese Muster wirdverwendet um dasPfeilsymbol zu füllen
7211
Zentrumsmuster:Diese Muster wirdverwendet um dasSymbol an derPfeilmitte zu füllen
Farbe
8210Pfeilfarbe:Hintergrundfarbe fürdas Pfeilsymbol
8211
Zentralfarbe:Hintergrundfarbe fürdas Symbol an derPfeilmitte
Symbol
9210
Pfeilsymbol:Dieses Symbol kann inder Größe verändertund um den Gitterpunktrotiert werden
9211
Zentralsymbol:Dieses Symbol wird amGitterpunkt gezeichnet.Es markiert diePfeilmitte
Vector
10010Koordinaten derGitterpunkte in X-Richtung
10011Koordinaten derGitterpunkte in Y-Richtung
Matrix
11010
Pfeillänge inmetrischen Einheitendes verwendetenDiagramms.
11011Pfeilwinkel zur X-Achseim Bogenmaß
Weitere Attribute siehe CPaintObj::SetTraceAtt .
Beispiel:In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eineLegende mit Namen LEG definiert. Die nachfolgende Methode zeichnet in das Diagramm einVektorfeld 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++)
2201.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 einzelnenKlassen:
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 Bedeutung Wertebereich
Integer
1230Layout:Bit 0: IntervallBit 1: Whisker
0,...,3
1231Symbolgröße in [1/100mm]
Float 3230 Breite der Whiskerbox
221 Referenzhandbuch
© XOn Siftware GmbH, 2008
in Einheiten desverwendetenKoordinatensystems
3231Einrückung in derWhiskermitte in [%]
String
4230
Name des oberenIntervallsymbols für dieLegende. Wird keinName angegeben,dann wird das Symbolnicht in der Legendebeschrieben.
4231
Name des mittlerenIntervallsymbols für dieLegende. Wird keinName angegeben,dann wird das Symbolnicht in der Legendebeschrieben.
4232
Name des unterenIntervallsymbols für dieLegende. Wird keinName angegeben,dann wird das Symbolnicht in der Legendebeschrieben.
4233
Name des oberenWhiskerfeldes für dieLegende. Wird keinName angegeben,dann wird das Symbolnicht in der Legendebeschrieben.
4234
Name des unterenWhiskerfeldes für dieLegende. Wird keinName angegeben,dann wird das Symbolnicht in der Legendebeschrieben.
Linienart
6230Stift für die Umrandungdes oberenIntervallsymbols
6231Stift für die Umrandungdes mittlerenIntervallsymbols
6232Stift für die Umrandungdes unterenIntervallsymbols
6233 Stift für die Intervallinie
6234Stift für die Umrandungder oberen Whiskerbox
6235Stift für die Umrandungder unteren
2221.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Whiskerbox
Muster
7230Füllmuster für dasobere Intervallsymbol
7231Füllmuster für dasmittlere Intervallsymbol
7232Füllmuster für dasuntere Intervallsymbol
7233Füllmuster für die obereWhiskerbox
7234Füllmuster für dieuntere Whiskerbox
Farbe
8230Hintergrundfarbe fürdas obereIntervallsymbol
8231Hintergrundfarbe fürdas mittlereIntervallsymbol
8232Hintergrundfarbe fürdas untereIntervallsymbol
8234Hintergrundfarbe deroberen Whiskerbox
8235Hintergrundfarbe derunteren Whiskerbox
Symbol
9230 Oberes Intervallsymbol
9231MittleresIntervallsymbol
9232 Unteres Intervallsymbol
Vector
10030 X- Koordinaten
10031UntereIntervallkoordinate
10032MittlereIntervallkoordinate
10033ObereIntervallkoordinate
10034UntererWhiskerboxwert
10035MittlererWhiskerboxwert
10036 Oberer Whiskerboxwert
Weitere Attribute siehe CPaintObj::SetTraceAtt.Beispiel:In einem X1- Dokument sind eine X-Achse Namens AX, eine Y-Achse Namens AY und eineLegende mit Namen LEG definiert. Die nachfolgende Methode zeichnet in das Diagramm eineBoxwhiskerkurve mit Intervall.
int method::OnRun(){ double v0[10],v1[10],v2[10],v3[10],v4[10],v5[10],v; int j; //Zufallsdaten erzeugen
223 Referenzhandbuch
© XOn Siftware GmbH, 2008
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;}
2241.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.5 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 anderenKlassen sind von ihr abgeleitet. Alle abgeleiteten Klassen besitzen insbesondere alle Methoden derBasisklassen, von denen sie abstammen. So kann z.B. der Name eines jeden Poolelementes mit der MethodeSetName 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 nurgültig bis zur nächsten Ausführung einer SetData- Methode des Textelementes. Legen Sie also umgehendeine Kopie des Strings an, falls Sie später auf seinen Inhalt zugreifen wollen
Beispiel:
225 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Headerbesitzt eine Reihe von Items, die durch ihre Nummer gekennzeichnet sind. Eine Liste der Itemsfindet sich in den folgenden Tabellen.
2261.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Allgemeine Dateiheadereinträge:
Item Bedeutung Datentyp
101 Datensatzbezeichnung char*
102 Datensatzkommentar char*
103 Sachbearbeiter char*
104 Datum char*
105 Uhrzeit char*
110 Zeitformat bei ASCII-Dateien char*
111 Wert der NoValues float
130 Reserve1 char*
131 Reserve2 char*
132 Reserve3 char*
133 Reserve4 char*
Kanalheaderdaten:
Item Kanalbeschreibung Datentyp
200 Kanalname char*
201 Kommentar char*
210 Kanalart long
211 Dateiname char*
213 Speicherart long
214 Datentyp long
220 Anzahl der Werte long
221 Zeiger auf 1.Wert long
222 Offset 1) long
223 lokaler ASCII- Zeiger long
230 Separator char
231 Dezimalzeichen char
232 Exponentialzeichen char
240 Startwert/ Offset float
241 Schrittweite/Kalibrierfaktor float
250 Minimalwert des Kanals float
251 Maximalwert des Kanals float
252 NoValues 2) long
260 Darstellungsform 3) long
300 Reserve 1 char*
301 Reserve 2 char*
1) Offset für ASCII- Blockdateien mit Separator CR/LF oder Binär- Blockdateien mit Header2) 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
227 Referenzhandbuch
© XOn Siftware GmbH, 2008
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::ReadCDia::GoFirstCDia::GoNextCDia::GoToCDia::GetItemCDia::SetItemCDia::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- Headerfilegelesen und die beiden ersten Kanäle des Headers werden als X- und Y- Koordinaten eingelesenund 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();
2281.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 itemNr,char* result);int CDia::GetItem(int itemNr,long* result);int CDia::GetItem(int itemNr,float* result);int CDia::GetItem(int itemNr,double* result);
Parameter:itemNr: Nummer des Dia- Itemsresult: Ergebnisbufferzeiger
Beschreibung:Liest einen Item aus dem Dia- Header, falls 99<itemNr<200 oder aus dem aktuell focusiertenKanalheader, falls 200<=itemNr<303. Je nach Item muß ein Ergebniszeiger von geeignetem Typverwendet 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 GetDatabeziehen sich auf den jeweils fokusierten Kanal.
Rückgabewert:1 falls mindestens ein Kanal in der Kanalliste aufgeführt ist, sonst 0.
229 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.5.2.4 CDia::GoNext
Syntax:int GoNext();
Beschreibung:Legt den Focus auf den nächsten Kanalheader. Die Methoden GetItem, SetItem und GetDatabeziehen 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 beziehensich 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 itemNr,char value);int CDia::SetItem(int itemNr,char* value);int CDia::SetItem(int itemNr,long value);int CDia::SetItem(int itemNr,float value);int CDia::SetItem(int itemNr,double value);
Parameter:
2301.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 focusiertenKanalheader, falls 200<=itemNr<303. Auskunft über den Ergebnistyp geben die Tabellen amAnfang 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 auseiner Datenbank Tabellen selektiert werden, und aus einer selektierten Tabelle Spalten als Pool-Vektoren eingelesen werden.
Die Methoden dieser Klasse stellen nur grundlegende Datenbankfunktionen zur Verfügung. Fürvolle ODBC- und SQL-Unterstützung können sie von der XOn Software GmbH eine zusätzlicheDatenbank-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:
231 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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 demODBC-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 SpalteType: 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 ODBC-Datenpoolelement 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 kopiertihn 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 ODBC-Datenpoolelement 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)
2321.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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-Datenpoolelementverknü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üpftenODBC-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üpftenODBC-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 ODBC-Datenpoolelement verknüpften ODBC-Datenbank als Pool -Vektor. Es können numerische undDatum/Zeit-Spalten geladen werden.
Rückgabewert:
233 Referenzhandbuch
© XOn Siftware GmbH, 2008
· <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 SetDSNkeine 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
2341.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 Nutzererlaubt.
Rückgabewert:int-Wert, ob erfolgreich oder nicht.
Siehe auch:CI4Vector Übersicht | Hierarchie
235 Referenzhandbuch
© XOn Siftware GmbH, 2008
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.
2361.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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:
237 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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. ImGegensatz 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.
2381.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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-BoundIndex 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);
239 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 FunktionSetAtGrow().
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);
2401.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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, wennnötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wirdfreigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nichtverwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen undKopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dassFragmentierung 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 Elementegibt, wird 0 zurückgegeben.
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alleFehler direkt auf den Vector aus.
Rückgabewert:Pointer auf ein Vectorelement.
Siehe auch:CI4Vector Übersicht | Hierarchie
241 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 maximalenWert im Vector.
Rückgabewert:0, wenn nicht erfolgreich1, 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
2421.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.5.4.20 CI4Vector::Sort
Header:int CI4Vector::Sort(int flag);
Parameter:flag: typ int
Bedeutung von flag
Bezeichner Wert Beschreibung
SORT_DESC 1Sortierung in fallenderReihenfolge
Beschreibung:Diese Methode sortiert die Elemente des CI4Vectors. Ist das Flag SORT_DESC gesetzt, erfolgtdie 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
243 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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
2441.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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, sonstVariante 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 Elementegibt, wird 0 zurückgegeben.
245 Referenzhandbuch
© XOn Siftware GmbH, 2008
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alleFehler 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 derhö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);
2461.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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. ImGegensatz 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;
247 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
2481.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 maximalenWert 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-BoundIndex 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;
249 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 FunktionSetAtGrow().
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:
2501.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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ückgabewert1 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, wennnötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wirdfreigegeben.
251 Referenzhandbuch
© XOn Siftware GmbH, 2008
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nichtverwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen undKopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dassFragmentierung 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 Beschreibung
SORT_ASC 0Sortierung in aufsteigenderReihenfolge
SORT_DESC 1Sortierung in fallenderReihenfolge
Beschreibung:Diese Methode sortiert die Elemente des CF4Vectors. Ist das Flag SORT_DESC gesetzt, erfolgtdie 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
2521.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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
253 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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, sonstVariante 2: Wert beim Index nIndex
2541.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Elementegibt, wird 0 zurückgegeben.
Direkter Zugriff auf die Vectorelemente ermöglicht schnelleres Arbeiten, allerdings wirken sich alleFehler 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 derhö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);
255 Referenzhandbuch
© XOn Siftware GmbH, 2008
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. ImGegensatz 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(){
2561.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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.
257 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 maximalenWert im Vector.
Rückgabewert:0, wenn nicht erfolgreich1, 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:
2581.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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-BoundIndex 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 FunktionSetAtGrow().
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;
259 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 0newElement: 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 Vorbelegungpval: 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
2601.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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, wennnötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wirdfreigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nichtverwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen undKopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dassFragmentierung 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 Beschreibung
SORT_ASC 0Sortierung in aufsteigenderReihenfolge
SORT_DESC 1Sortierung in fallenderReihenfolge
Beschreibung:Diese Methode sortiert die Elemente des CDTVectors. Ist das Flag SORT_DESC gesetzt, erfolgtdie 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 :
261 Referenzhandbuch
© XOn Siftware GmbH, 2008
·· 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
2621.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 sindalso 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.
263 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 sichbesonders 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 sichbesonders 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 sichbesonders einfach das Ergebnis der Methode PolyFit darstellen. Die Werte xi werden
umgerechnet in die Werte yi mit der Formel
2641.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 yiergeben 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
265 Referenzhandbuch
© XOn Siftware GmbH, 2008
-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 inpResult 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:
2661.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Gewichtet den Vektor mit der zugespitzten Cosinus- Fensterfunktion. Die gewichteten Werte yiergeben 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 dientfür 0 <= i < n
für 0 <= i < nwerden die Werte left und right angegeben, so giltX-1 = left
Xn = right
andernfalls giltX-1 = Xn = 0
267 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Wertesind 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 Nutzererlaubt.
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 yiergeben sich aus den ungewichteten Werten xi nach der Formel
n ist die Länge des Vektors.
Beispiel:
2681.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Formf(x) = a ebx + cso, 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 gewichtetenWerte yi ergeben sich aus den ungewichteten Werten xi nach der Formel
mit
n ist die Länge des Vektors, f ist der Endwert
Beispiel:
269 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zeitreihegelten 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 inpResultRe abgelegt, der Imaginärteil in pResultIm. Ist die Länge der Ausgangsvektoren eineZweierpotenz, 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 derFormel
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
2701.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 derFormel
Die erneute Anwendung des FHT- Algorithmus auf die Transformierte liefert wieder anAusgangsvektor. 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. DieFilterparameter werden in der Variablen pPara übergeben. Filterparameter können beispielsweisedurch 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 Schrittengefiltert 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.
271 Referenzhandbuch
© XOn Siftware GmbH, 2008
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: Tiefpass1: Hochpass2: Bandpass3: Bandsperr
· win:0: keine Fensterfunktion1: Hanning2: Hamming3: Dreieck4: Blackman5: exakter Blackman6: 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 indiesem 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:
2721.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
273 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 gewichtetenWerte 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);
2741.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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. Istder 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.
275 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 derhö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
2761.2 Programmierreferenz
© XOn Siftware GmbH, 2008
1.2.5.7.33 CF8Vector::Hamming
Syntax:int Hamming();
Beschreibung:gewichtet den Vektor mit der Hamming- Fensterfunktion. Die gewichteten Werte yi ergeben sichaus 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 sichaus 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
277 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 dieAnzahl der Werte, die im Intervall liegen. Als Anzahl der Intervalle wird die Länge von pResultangenommen. 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 Spektrumsgelten 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 inpResultRe abgelegt, der Imaginärteil in pResultIm. Ist die Länge der Ausgangsvektoren eineZweierpotenz, 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 derFormel
Rückgabewert:0: Operation erfolgreich-1: unzulässige Vektordimension
Siehe auch:CF8Vector Übersicht | Hierarchie
2781.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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. DieFilterparameter werden in der Variablen a und b übergeben. Das Filtrat errechnet sich nach derFormel
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. ImGegensatz 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;
279 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 sichnach der Formel
für 0 <= i < nwerden die Werte left und right angegeben, so giltX-1 = left
Xn = right
andernfalls giltX-1 = Xn = 0
Rückgabewert:-1: Dimension des Vektors ist zu klein0: 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 ergebensich aus den ungewichteten Werten xi nach der Formel
2801.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Erfolgkleiner 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 Formf(x) = a x + bso, 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.
281 Referenzhandbuch
© XOn Siftware GmbH, 2008
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/100oder einen linear interpolierten Zwischenwert. Die Liste der Parameter ist mit einer 0Labzuschließ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
2821.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 wirddas k-te zentrale Moment mi berechnet, andernfalls das k-te Moment ai . Die Größen ergeben sichnach 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 dieRegressionsparameter einer benutzerdefinierten Funktion bestimmt. Mit Hilfe der nichtlinearenFunktion fgauss soll zwischen Zufallswerten ein Ausgleichgraph entstehen.Die zugrundeliegende Formel lautet:
283 Referenzhandbuch
© XOn Siftware GmbH, 2008
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"));
2841.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Wertesind also Xi *Yi oder Xi*f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. DasErgebnis 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 wirddie 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
285 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zweierpotenzist.
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-BoundIndex wird dekrementiert, aber es wird kein Speicher freigegeben.
Beispiel:int method::OnRun(){ CF8Vector V; V.Append(2.2);
2861.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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.
287 Referenzhandbuch
© XOn Siftware GmbH, 2008
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, demInhalt 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
2881.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 erfolgreich0, 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, wennnötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wirdfreigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nichtverwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen undKopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dassFragmentierung 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:
289 Referenzhandbuch
© XOn Siftware GmbH, 2008
· 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 derFormel
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 Beschreibung
SORT_DESC 1Sortierung in fallenderReihenfolge
Beschreibung:Diese Methode sortiert die Elemente des CF8Vectors. Ist das Flag SORT_DESC gesetzt, erfolgtdie 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
2901.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 Wertesind also Xi -Yi oder Xi-f. Der Vektor Y muß die gleiche Dimension wie dieser Vektor haben. DasErgebnis 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 sichaus 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
291 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 denFormeln
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:
2921.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
293 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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");
2941.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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.
295 Referenzhandbuch
© XOn Siftware GmbH, 2008
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. ImGegensatz 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
2961.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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-BoundIndex 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
297 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 FunktionSetAtGrow().
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");
2981.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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, wennnötig.
Ist die neue Größe kleiner als die alte, wird der Vector verkleinert. Unbenötigter Speicher wirdfreigegeben.
Es empfielt sich, diese Funktion zu verwenden, bevor der Vector benutzt wird. Wird SetSize() nichtverwendet, wird beim Hinzufügen von Elementen umverteilt und kopiert. Häfiges Umverteilen undKopieren sind unrationell und fragentieren den Speicher.
Wird für nGrowBy der DEFAULT-Wert -1 benutzt, wird Speicher so reserviert, dassFragmentierung 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 Beschreibung
SORT_DESC 1Sortierung in fallenderReihenfolge
SORT_CS 2Bei Sortierung Groß-/Kleinschreibung beachten
Beschreibung:Diese Methode sortiert die Elemente des CSTRVectors. Ist das Flag SORT_DESC gesetzt, erfolgtdie Sortierung in absteigender reihenfolge, sonst in aufsteigender Reihenfolge. Ist das FlagSORT_CS gesetzt, so erfolgt die Sortierung case-sensitiv. Soll z.B. absteigend und case-sensitivsortiert werden, so lautet der Aufruf: Sort(CSTRVector::SORT_DESC | CSTRVector::SORT_CS);Der Aufruf
299 Referenzhandbuch
© XOn Siftware GmbH, 2008
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::AddCF8Matrix::CopyCF8Matrix::CF8MatrixCF8Matrix::EditCF8Matrix::SubCF8Matrix::MultCF8Matrix::CompMultCF8Matrix::CompDivCF8Matrix::GetDimCF8Matrix::GetDataCF8Matrix::GetDimsCF8Matrix::GetColsCF8Matrix::GetRowsCF8Matrix::SetDataCF8Matrix::GetAtCF8Matrix::SetAtCF8Matrix::MinCF8Matrix::MaxCF8Matrix::MinMaxCF8Matrix::InvertCF8Matrix::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()
3001.2 Programmierreferenz
© XOn Siftware GmbH, 2008
{ 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 Zeilenund 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ß gleichvieleZeilen 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
301 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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 Zeilen0 <= 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ältman die Zahl der Spalten.
Siehe auch:CF8Matrix Übersicht | Hierarchie
3021.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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()
303 Referenzhandbuch
© XOn Siftware GmbH, 2008
{ 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 Pivotsuche1: mit Pivotsuche
Beschreibung:Invertiert die Matrix. Mit dem Parameter pivot kann eine Pivotsuche eingeschaltet werden. Diesemacht den Algorithmus numerisch stabiler aber auch langsamer. Mit dieser Operation lassen sichbeispielsweise 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:
3041.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 derSpalten muß mit der Zeilenzahl von M übereinstimmen.2. Variante: (Matrix * Vektor)
305 Referenzhandbuch
© XOn Siftware GmbH, 2008
Multiplizirt diese Matrix mit dem Vektor V und legt das Ergebnis im Vektor V ab. Die Zahl derSpalten 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 Zeilen0 <= 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 pValsin die Matrix. pVals muß auf einen Speicherbereich von mindestens dim1*dim2 Gleitkommazahlenzeigen. 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 valvor. 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;}
3061.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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:
307 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
Siehe auch:CI4Matrix Übersicht | Hierarchie
3081.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Zeilen0 <= 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
309 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 mandie 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:
3101.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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);
311 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zeilen0 <= col < Zahl der Spalten
Siehe auch:CI4Matrix Übersicht | Hierarchie
3121.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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.
313 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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 Zeilen0 <= 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
3141.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 mandie 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
315 Referenzhandbuch
© XOn Siftware GmbH, 2008
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);
3161.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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;
317 Referenzhandbuch
© XOn Siftware GmbH, 2008
}
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 Zeilen0 <= 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:
3181.2 Programmierreferenz
© XOn Siftware GmbH, 2008
· 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 Nutzererlaubt.
Siehe auch:CDTMatrix Übersicht | Hierarchie
319 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zeilen0 <= 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 mandie Zahl der Spalten.
Beispiel:int method::OnRun(){ CDTMatrix M2; M2.SetDims(2,13); int i=M2.GetDim(1); printf("%i\n",i); return 1;}
3201.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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
321 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Zeilen0 <= 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:00vorbelegt.
Beispiel:int method::OnRun()
3221.2 Programmierreferenz
© XOn Siftware GmbH, 2008
{ 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
323 Referenzhandbuch
© XOn Siftware GmbH, 2008
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 Nutzererlaubt.
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
3241.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 mandie 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);
325 Referenzhandbuch
© XOn Siftware GmbH, 2008
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
3261.2 Programmierreferenz
© XOn Siftware GmbH, 2008
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 Zeilen0 <= 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
327 Referenzhandbuch
© XOn Siftware GmbH, 2008
1.2.6 Obsolet
Einige Klassen sind aus Kompatibilität mit älteren Versionen von X1 enthalten. Diese Klassensollten 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 Datenblocklen: Anzahl der Daten im Datenblock
3281.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Beschreibung:
Setzt die Länge des Datum/Zeit- Kanals auf len und kopiert die Werte aus data.
Rückgabewert:
0 zu viele Daten1 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 Typdefinitionkö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 Typdefinitionkö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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls einentsprechendes Element im Datenpool existiert und vom Typ CTimeVect ist, wird ein Zeigerdarauf zurückgeliefert, andernfalls wird Null zurückgeliefert.
329 Referenzhandbuch
© XOn Siftware GmbH, 2008
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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls einentsprechendes Element im Datenpool existiert und vom Typ CVector ist, wird ein Zeiger daraufzurü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- Elementesname: Name des gewünschten Pool- Elementes
Beschreibung:
3301.2 Programmierreferenz
© XOn Siftware GmbH, 2008
Liefert einen Zeiger auf das Datenpoolelement mit Index idx oder dem Namen name. Falls einentsprechendes Element im Datenpool existiert und vom Typ CMatrix ist, wird ein Zeiger daraufzurü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;}
Referenzhandbuch331
© XOn Siftware GmbH, 2008
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
- A -acos 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
- B -BeginTrans 76
Bessel-Funktionen 16, 17
beta 16, 18
betai 16, 18
binom 16, 19
Blackman 264
BlackmanHarries 264
- C -C 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
Index 332
© XOn Siftware GmbH, 2008
CColorMap 60, 61Add 60
GetColor 61
GetNr 61
GetVal 61
Reset 62
Sort 62
CContourNode GetNodeAtt 126
SetData 127
SetNodeAtt 128
SetNodeData 130
CDatabase 75BeginTrans 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
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
Referenzhandbuch333
© XOn Siftware GmbH, 2008
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 300Add 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 265Add 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
Index 334
© XOn Siftware GmbH, 2008
CF8Vector 265Min 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 62Reset 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 64AddPage 64
DelPage 64
EmptyTrash 65
GetDocAtt 65
GetNrPages 66
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 91
chi2_p 16, 19
chi2_q 16, 19
CI4Matrix Copy 307
Edit 307
GetAt 308
GetCols 308
GetData 309
GetDim 309
GetDims 309
Referenzhandbuch335
© XOn Siftware GmbH, 2008
CI4Matrix GetRows 310
Max 310
Min 310
MinMax 311
SetAt 311
SetDims 312
CI4Vector::Append 242Append 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 59Copy 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 167
SetNodeAtt 168
CPPolyTrace GetTraceAtt 217
SetTraceAtt 217
CRecordset 86CanBookmark 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
Index 336
© XOn Siftware GmbH, 2008
CRecordset 86GetRowStatus 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 293Append 292
Copy 292
Edit 293
FreeExtra 293
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 172
SetNodeAtt 173
CTabNode GetData 176
GetNodeAtt 176
SetData 177
SetNodeAtt 177
CText 224GetData 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
Referenzhandbuch337
© XOn Siftware GmbH, 2008
CTransform2D SetTyp 192
CVect2DTrace GetTraceAtt 218
SetTraceAtt 218
CWhiskTrace GetTraceAtt 220
SetTraceAtt 220
- D -Dateifunktionen 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 37CopyToPool 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 49_strdate 49
_strtime 50
difftime 50
KillTimer 50
mktime 50
SetTimer 51
strftime 51
time 52
DelNode 148
DelPage 64
DelPie 163
DelTrace 134
Derivative 266
difftime 50
Div 267
- E -Edit 60
EmptyTicks 117
EmptyTrash 65
erf 16, 19
erfc 16, 20
Erweiterte Mathematikfunktionen 16
ExactBlackman 267
ExecuteSQL 79
exp 11, 13
ExpFit 268
Exponential 268
Index 338
© XOn Siftware GmbH, 2008
- F -f_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
- G -gammp 16, 20
gammq 16, 21
gasdedv 21
gasdev 16
GaussWhiteNoise 273
GeneralCosine 273
GetAt 301
GetBinaryData 71
GetBinarySize 71
GetBookmark 93
GetBookmarkPersistence 79
GetBValue 55
getc 10
GetColor 61
GetColumnName 230
GetColumnType 231
GetConnect 80
GetCursorCommitBehavior 80
GetCursorRollbackBehavior 80
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
Referenzhandbuch339
© XOn Siftware GmbH, 2008
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 37CAxisNode 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
- H -Hamming 276
Hanning 276
Histogram 277
- I -IFFT 277
IIR 278
Integral 279
Invalidate 53, 67
Invert 303
IsBOF 101
IsDeleted 101
IsEOF 102
IsFieldDirty 102
IsFieldNull 103
IsOpen 81, 103
- K -KaiserBessel 279
KillTimer 50
Klassenreferenz Dateifunktionen 1
Datenpoolfunktionen 37
Datum und Uhrzeit 49
Mathematifunktionen 11
Sonstige Funktionen 52
Stringmanipulation 22
- L -linear 118, 186
LinFit 280
LoadColumn 232
log 11, 13
log10 11, 14
logarithmisch 118, 186
Logit 118, 186
- M -m_boolVal 72
m_bRecordCountFinal 99
m_chVal 72
m_dblType 73
m_dwType 73
m_fltVal 73
m_hdbc 85
Index 340
© XOn Siftware GmbH, 2008
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
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
- N -Normalverteilung 118, 186
- O -OnEditBackground 155
OnEditColor 156
OnEditData 156
OnEditFont 156
OnEditName 156
OnEditPen 156
OnSetOptions 82, 106
Open 82, 107, 233
OpenEx 83
- P -poisson 16, 21
PolyFit 284
pow 11, 14
Power 285
Print 68
putc 10
PUtoLU 190
- R -ran1 14, 16
Referenzhandbuch341
© XOn Siftware GmbH, 2008
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
- S -SertAmbient 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 47GlobalAlloc 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
Index 342
© XOn Siftware GmbH, 2008
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
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
- T -tan 11, 15
tanh 11, 15
time 52
Transpose 306
Triangle 290
TrianglePattern 291
- V -Variance 291
Verzeichnisfunktionen 55
- W -Weibulverteilung 118, 186
- Z -Zeitachse 118, 186
Back Cover