358
XOn Software GmbH 2002 X1 Referenzhandbuch

X1 Referenzhandbuch - XOn

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: X1 Referenzhandbuch - XOn

XOn Software GmbH 2002

X1 Referenzhandbuch

Page 2: X1 Referenzhandbuch - XOn

X1 ReferenzhandbuchBeschreibung der CX1- Laufzeitbibliothek

Das Handbuch beschreibt alle Funktionen und Klassen der CX1-Laufzeitbibliothek

Page 3: X1 Referenzhandbuch - XOn

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

Page 4: X1 Referenzhandbuch - XOn

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

Page 5: X1 Referenzhandbuch - XOn

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

Page 6: X1 Referenzhandbuch - XOn

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

Page 7: X1 Referenzhandbuch - XOn

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

Page 8: X1 Referenzhandbuch - XOn

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

Page 9: X1 Referenzhandbuch - XOn

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

Page 10: X1 Referenzhandbuch - XOn

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

Page 11: X1 Referenzhandbuch - XOn

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

Page 12: X1 Referenzhandbuch - XOn

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

Page 13: X1 Referenzhandbuch - XOn

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

Page 14: X1 Referenzhandbuch - XOn

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

Page 15: X1 Referenzhandbuch - XOn

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

Page 16: X1 Referenzhandbuch - XOn

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:

Page 17: X1 Referenzhandbuch - XOn

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.

Page 18: X1 Referenzhandbuch - XOn

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.

Page 19: X1 Referenzhandbuch - XOn

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

Page 20: X1 Referenzhandbuch - XOn

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.

Page 21: X1 Referenzhandbuch - XOn

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:

Page 22: X1 Referenzhandbuch - XOn

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.

Page 23: X1 Referenzhandbuch - XOn

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.

Page 24: X1 Referenzhandbuch - XOn

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.

Page 25: X1 Referenzhandbuch - XOn

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.

Page 26: X1 Referenzhandbuch - XOn

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.

Page 27: X1 Referenzhandbuch - XOn

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:

Page 28: X1 Referenzhandbuch - XOn

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.

Page 29: X1 Referenzhandbuch - XOn

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.

Page 30: X1 Referenzhandbuch - XOn

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:

Page 31: X1 Referenzhandbuch - XOn

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

Page 32: X1 Referenzhandbuch - XOn

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

Page 33: X1 Referenzhandbuch - XOn

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.

Page 34: X1 Referenzhandbuch - XOn

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:

Page 35: X1 Referenzhandbuch - XOn

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

Page 36: X1 Referenzhandbuch - XOn

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:

Page 37: X1 Referenzhandbuch - XOn

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

Page 38: X1 Referenzhandbuch - XOn

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:

Page 39: X1 Referenzhandbuch - XOn

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]

Page 40: X1 Referenzhandbuch - XOn

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:

Page 41: X1 Referenzhandbuch - XOn

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

Page 42: X1 Referenzhandbuch - XOn

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.

Page 43: X1 Referenzhandbuch - XOn

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:

Page 44: X1 Referenzhandbuch - XOn

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]

Page 45: X1 Referenzhandbuch - XOn

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)

Page 46: X1 Referenzhandbuch - XOn

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ß

Page 47: X1 Referenzhandbuch - XOn

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.

Page 48: X1 Referenzhandbuch - XOn

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.

Page 49: X1 Referenzhandbuch - XOn

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:

Page 50: X1 Referenzhandbuch - XOn

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.

Page 51: X1 Referenzhandbuch - XOn

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

Page 52: X1 Referenzhandbuch - XOn

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

Page 53: X1 Referenzhandbuch - XOn

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:

Page 54: X1 Referenzhandbuch - XOn

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.

Page 55: X1 Referenzhandbuch - XOn

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

Page 56: X1 Referenzhandbuch - XOn

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++)

Page 57: X1 Referenzhandbuch - XOn

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 */

Page 58: X1 Referenzhandbuch - XOn

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.

Page 59: X1 Referenzhandbuch - XOn

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:

Page 60: X1 Referenzhandbuch - XOn

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;}

Page 61: X1 Referenzhandbuch - XOn

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:

Page 62: X1 Referenzhandbuch - XOn

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

Page 63: X1 Referenzhandbuch - XOn

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:

Page 64: X1 Referenzhandbuch - XOn

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.

Page 65: X1 Referenzhandbuch - XOn

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.

Page 66: X1 Referenzhandbuch - XOn

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

Page 67: X1 Referenzhandbuch - XOn

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

Page 68: X1 Referenzhandbuch - XOn

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

Page 69: X1 Referenzhandbuch - XOn

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

Page 70: X1 Referenzhandbuch - XOn

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

Page 71: X1 Referenzhandbuch - XOn

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:

Page 72: X1 Referenzhandbuch - XOn

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).

Page 73: X1 Referenzhandbuch - XOn

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:

Page 74: X1 Referenzhandbuch - XOn

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.

Page 75: X1 Referenzhandbuch - XOn

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:

Page 76: X1 Referenzhandbuch - XOn

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

Page 77: X1 Referenzhandbuch - XOn

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:

Page 78: X1 Referenzhandbuch - XOn

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:

Page 79: X1 Referenzhandbuch - XOn

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

Page 80: X1 Referenzhandbuch - XOn

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

Page 81: X1 Referenzhandbuch - XOn

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

Page 82: X1 Referenzhandbuch - XOn

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

Page 83: X1 Referenzhandbuch - XOn

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

Page 84: X1 Referenzhandbuch - XOn

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

Page 85: X1 Referenzhandbuch - XOn

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:

Page 86: X1 Referenzhandbuch - XOn

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.

Page 87: X1 Referenzhandbuch - XOn

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

Page 88: X1 Referenzhandbuch - XOn

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

Page 89: X1 Referenzhandbuch - XOn

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

Page 90: X1 Referenzhandbuch - XOn

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

Page 91: X1 Referenzhandbuch - XOn

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:

Page 92: X1 Referenzhandbuch - XOn

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

Page 93: X1 Referenzhandbuch - XOn

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

Page 94: X1 Referenzhandbuch - XOn

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

Page 95: X1 Referenzhandbuch - XOn

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:

Page 96: X1 Referenzhandbuch - XOn

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

Page 97: X1 Referenzhandbuch - XOn

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

Page 98: X1 Referenzhandbuch - XOn

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"..

Page 99: X1 Referenzhandbuch - XOn

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

Page 100: X1 Referenzhandbuch - XOn

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:

Page 101: X1 Referenzhandbuch - XOn

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

Page 102: X1 Referenzhandbuch - XOn

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.

Page 103: X1 Referenzhandbuch - XOn

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

Page 104: X1 Referenzhandbuch - XOn

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

Page 105: X1 Referenzhandbuch - XOn

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:

Page 106: X1 Referenzhandbuch - XOn

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.

Page 107: X1 Referenzhandbuch - XOn

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.

Page 108: X1 Referenzhandbuch - XOn

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.

Page 109: X1 Referenzhandbuch - XOn

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

Page 110: X1 Referenzhandbuch - XOn

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

Page 111: X1 Referenzhandbuch - XOn

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

Page 112: X1 Referenzhandbuch - XOn

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

Page 113: X1 Referenzhandbuch - XOn

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( );

Page 114: X1 Referenzhandbuch - XOn

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;

Page 115: X1 Referenzhandbuch - XOn

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.

Page 116: X1 Referenzhandbuch - XOn

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;

Page 117: X1 Referenzhandbuch - XOn

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:

Page 118: X1 Referenzhandbuch - XOn

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

Page 119: X1 Referenzhandbuch - XOn

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

Page 120: X1 Referenzhandbuch - XOn

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

Page 121: X1 Referenzhandbuch - XOn

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

Page 122: X1 Referenzhandbuch - XOn

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.

Page 123: X1 Referenzhandbuch - XOn

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

Page 124: X1 Referenzhandbuch - XOn

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

Page 125: X1 Referenzhandbuch - XOn

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( );

Page 126: X1 Referenzhandbuch - XOn

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

Page 127: X1 Referenzhandbuch - XOn

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:

Page 128: X1 Referenzhandbuch - XOn

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.

Page 129: X1 Referenzhandbuch - XOn

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

Page 130: X1 Referenzhandbuch - XOn

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.

Page 131: X1 Referenzhandbuch - XOn

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

Page 132: X1 Referenzhandbuch - XOn

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

Page 133: X1 Referenzhandbuch - XOn

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

Page 134: X1 Referenzhandbuch - XOn

119 Referenzhandbuch

© XOn Siftware GmbH, 2008

Mögliche Attributwerte, deren Argumenttyp, Bedeutung, zulässige Wertebereiche bzw. Werte,sowie deren Voreinstellungen :

Page 135: X1 Referenzhandbuch - XOn

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

Page 136: X1 Referenzhandbuch - XOn

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:

Page 137: X1 Referenzhandbuch - XOn

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

Page 138: X1 Referenzhandbuch - XOn

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:

Page 139: X1 Referenzhandbuch - XOn

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)

Page 140: X1 Referenzhandbuch - XOn

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

Page 141: X1 Referenzhandbuch - XOn

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:

Page 142: X1 Referenzhandbuch - XOn

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

Page 143: X1 Referenzhandbuch - XOn

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 :

Page 144: X1 Referenzhandbuch - XOn

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

Page 145: X1 Referenzhandbuch - XOn

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);

Page 146: X1 Referenzhandbuch - XOn

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;

Page 147: X1 Referenzhandbuch - XOn

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.

Page 148: X1 Referenzhandbuch - XOn

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;

Page 149: X1 Referenzhandbuch - XOn

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

Page 150: X1 Referenzhandbuch - XOn

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.

Page 151: X1 Referenzhandbuch - XOn

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)

Page 152: X1 Referenzhandbuch - XOn

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);

Page 153: X1 Referenzhandbuch - XOn

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

Page 154: X1 Referenzhandbuch - XOn

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

Page 155: X1 Referenzhandbuch - XOn

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

Page 156: X1 Referenzhandbuch - XOn

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:

Page 157: X1 Referenzhandbuch - XOn

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

Page 158: X1 Referenzhandbuch - XOn

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

Page 159: X1 Referenzhandbuch - XOn

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

Page 160: X1 Referenzhandbuch - XOn

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.

Page 161: X1 Referenzhandbuch - XOn

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

Page 162: X1 Referenzhandbuch - XOn

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

Page 163: X1 Referenzhandbuch - XOn

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):

Page 164: X1 Referenzhandbuch - XOn

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

Page 165: X1 Referenzhandbuch - XOn

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

Page 166: X1 Referenzhandbuch - XOn

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.

Page 167: X1 Referenzhandbuch - XOn

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);

Page 168: X1 Referenzhandbuch - XOn

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

Page 169: X1 Referenzhandbuch - XOn

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

Page 170: X1 Referenzhandbuch - XOn

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

Page 171: X1 Referenzhandbuch - XOn

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

Page 172: X1 Referenzhandbuch - XOn

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)

Page 173: X1 Referenzhandbuch - XOn

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:

Page 174: X1 Referenzhandbuch - XOn

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:

Page 175: X1 Referenzhandbuch - XOn

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:

Page 176: X1 Referenzhandbuch - XOn

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

Page 177: X1 Referenzhandbuch - XOn

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

Page 178: X1 Referenzhandbuch - XOn

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

Page 179: X1 Referenzhandbuch - XOn

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

Page 180: X1 Referenzhandbuch - XOn

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)

Page 181: X1 Referenzhandbuch - XOn

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:

Page 182: X1 Referenzhandbuch - XOn

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

Page 183: X1 Referenzhandbuch - XOn

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)

Page 184: X1 Referenzhandbuch - XOn

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:

Page 185: X1 Referenzhandbuch - XOn

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

Page 186: X1 Referenzhandbuch - XOn

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

Page 187: X1 Referenzhandbuch - XOn

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.

Page 188: X1 Referenzhandbuch - XOn

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

Page 189: X1 Referenzhandbuch - XOn

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-

Page 190: X1 Referenzhandbuch - XOn

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

Page 191: X1 Referenzhandbuch - XOn

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

Page 192: X1 Referenzhandbuch - XOn

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

Page 193: X1 Referenzhandbuch - XOn

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

Page 194: X1 Referenzhandbuch - XOn

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

Page 195: X1 Referenzhandbuch - XOn

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

Page 196: X1 Referenzhandbuch - XOn

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.

Page 197: X1 Referenzhandbuch - XOn

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

Page 198: X1 Referenzhandbuch - XOn

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:

Page 199: X1 Referenzhandbuch - XOn

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

Page 200: X1 Referenzhandbuch - XOn

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:

Page 201: X1 Referenzhandbuch - XOn

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.

Page 202: X1 Referenzhandbuch - XOn

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)

Page 203: X1 Referenzhandbuch - XOn

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:

Page 204: X1 Referenzhandbuch - XOn

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:

Page 205: X1 Referenzhandbuch - XOn

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

Page 206: X1 Referenzhandbuch - XOn

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.

Page 207: X1 Referenzhandbuch - XOn

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

Page 208: X1 Referenzhandbuch - XOn

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

Page 209: X1 Referenzhandbuch - XOn

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

Page 210: X1 Referenzhandbuch - XOn

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)

Page 211: X1 Referenzhandbuch - XOn

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;}

Page 212: X1 Referenzhandbuch - XOn

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.

Page 213: X1 Referenzhandbuch - XOn

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

Page 214: X1 Referenzhandbuch - XOn

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;}

Page 215: X1 Referenzhandbuch - XOn

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

Page 216: X1 Referenzhandbuch - XOn

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

Page 217: X1 Referenzhandbuch - XOn

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();

Page 218: X1 Referenzhandbuch - XOn

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

Page 219: X1 Referenzhandbuch - XOn

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");

Page 220: X1 Referenzhandbuch - XOn

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

Page 221: X1 Referenzhandbuch - XOn

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

Page 222: X1 Referenzhandbuch - XOn

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.

Page 223: X1 Referenzhandbuch - XOn

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)

Page 224: X1 Referenzhandbuch - XOn

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:

Page 225: X1 Referenzhandbuch - XOn

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

Page 226: X1 Referenzhandbuch - XOn

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

Page 227: X1 Referenzhandbuch - XOn

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

Page 228: X1 Referenzhandbuch - XOn

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)

Page 229: X1 Referenzhandbuch - XOn

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:

Page 230: X1 Referenzhandbuch - XOn

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

Page 231: X1 Referenzhandbuch - XOn

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:

Page 232: X1 Referenzhandbuch - XOn

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);

Page 233: X1 Referenzhandbuch - XOn

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:

Page 234: X1 Referenzhandbuch - XOn

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++)

Page 235: X1 Referenzhandbuch - XOn

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

Page 236: X1 Referenzhandbuch - XOn

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

Page 237: X1 Referenzhandbuch - XOn

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

Page 238: X1 Referenzhandbuch - XOn

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;}

Page 239: X1 Referenzhandbuch - XOn

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:

Page 240: X1 Referenzhandbuch - XOn

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.

Page 241: X1 Referenzhandbuch - XOn

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

Page 242: X1 Referenzhandbuch - XOn

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();

Page 243: X1 Referenzhandbuch - XOn

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.

Page 244: X1 Referenzhandbuch - XOn

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:

Page 245: X1 Referenzhandbuch - XOn

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:

Page 246: X1 Referenzhandbuch - XOn

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)

Page 247: X1 Referenzhandbuch - XOn

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:

Page 248: X1 Referenzhandbuch - XOn

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

Page 249: X1 Referenzhandbuch - XOn

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

Page 250: X1 Referenzhandbuch - XOn

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.

Page 251: X1 Referenzhandbuch - XOn

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:

Page 252: X1 Referenzhandbuch - XOn

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.

Page 253: X1 Referenzhandbuch - XOn

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);

Page 254: X1 Referenzhandbuch - XOn

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);

Page 255: X1 Referenzhandbuch - XOn

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

Page 256: X1 Referenzhandbuch - XOn

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

Page 257: X1 Referenzhandbuch - XOn

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

Page 258: X1 Referenzhandbuch - XOn

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

Page 259: X1 Referenzhandbuch - XOn

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.

Page 260: X1 Referenzhandbuch - XOn

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);

Page 261: X1 Referenzhandbuch - XOn

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;

Page 262: X1 Referenzhandbuch - XOn

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

Page 263: X1 Referenzhandbuch - XOn

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;

Page 264: X1 Referenzhandbuch - XOn

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:

Page 265: X1 Referenzhandbuch - XOn

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.

Page 266: X1 Referenzhandbuch - XOn

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

Page 267: X1 Referenzhandbuch - XOn

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

Page 268: X1 Referenzhandbuch - XOn

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

Page 269: X1 Referenzhandbuch - XOn

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);

Page 270: X1 Referenzhandbuch - XOn

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(){

Page 271: X1 Referenzhandbuch - XOn

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.

Page 272: X1 Referenzhandbuch - XOn

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:

Page 273: X1 Referenzhandbuch - XOn

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;

Page 274: X1 Referenzhandbuch - XOn

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

Page 275: X1 Referenzhandbuch - XOn

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 :

Page 276: X1 Referenzhandbuch - XOn

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

Page 277: X1 Referenzhandbuch - XOn

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.

Page 278: X1 Referenzhandbuch - XOn

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

Page 279: X1 Referenzhandbuch - XOn

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

Page 280: X1 Referenzhandbuch - XOn

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:

Page 281: X1 Referenzhandbuch - XOn

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

Page 282: X1 Referenzhandbuch - XOn

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:

Page 283: X1 Referenzhandbuch - XOn

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:

Page 284: X1 Referenzhandbuch - XOn

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

Page 285: X1 Referenzhandbuch - XOn

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.

Page 286: X1 Referenzhandbuch - XOn

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:

Page 287: X1 Referenzhandbuch - XOn

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

Page 288: X1 Referenzhandbuch - XOn

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);

Page 289: X1 Referenzhandbuch - XOn

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.

Page 290: X1 Referenzhandbuch - XOn

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

Page 291: X1 Referenzhandbuch - XOn

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

Page 292: X1 Referenzhandbuch - XOn

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

Page 293: X1 Referenzhandbuch - XOn

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;

Page 294: X1 Referenzhandbuch - XOn

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

Page 295: X1 Referenzhandbuch - XOn

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.

Page 296: X1 Referenzhandbuch - XOn

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

Page 297: X1 Referenzhandbuch - XOn

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:

Page 298: X1 Referenzhandbuch - XOn

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"));

Page 299: X1 Referenzhandbuch - XOn

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

Page 300: X1 Referenzhandbuch - XOn

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);

Page 301: X1 Referenzhandbuch - XOn

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.

Page 302: X1 Referenzhandbuch - XOn

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

Page 303: X1 Referenzhandbuch - XOn

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:

Page 304: X1 Referenzhandbuch - XOn

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

Page 305: X1 Referenzhandbuch - XOn

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

Page 306: X1 Referenzhandbuch - XOn

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:

Page 307: X1 Referenzhandbuch - XOn

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

Page 308: X1 Referenzhandbuch - XOn

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");

Page 309: X1 Referenzhandbuch - XOn

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.

Page 310: X1 Referenzhandbuch - XOn

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

Page 311: X1 Referenzhandbuch - XOn

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

Page 312: X1 Referenzhandbuch - XOn

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");

Page 313: X1 Referenzhandbuch - XOn

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

Page 314: X1 Referenzhandbuch - XOn

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()

Page 315: X1 Referenzhandbuch - XOn

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

Page 316: X1 Referenzhandbuch - XOn

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

Page 317: X1 Referenzhandbuch - XOn

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()

Page 318: X1 Referenzhandbuch - XOn

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:

Page 319: X1 Referenzhandbuch - XOn

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)

Page 320: X1 Referenzhandbuch - XOn

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;}

Page 321: X1 Referenzhandbuch - XOn

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:

Page 322: X1 Referenzhandbuch - XOn

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

Page 323: X1 Referenzhandbuch - XOn

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

Page 324: X1 Referenzhandbuch - XOn

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:

Page 325: X1 Referenzhandbuch - XOn

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);

Page 326: X1 Referenzhandbuch - XOn

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

Page 327: X1 Referenzhandbuch - XOn

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.

Page 328: X1 Referenzhandbuch - XOn

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

Page 329: X1 Referenzhandbuch - XOn

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

Page 330: X1 Referenzhandbuch - XOn

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);

Page 331: X1 Referenzhandbuch - XOn

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;

Page 332: X1 Referenzhandbuch - XOn

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:

Page 333: X1 Referenzhandbuch - XOn

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

Page 334: X1 Referenzhandbuch - XOn

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;}

Page 335: X1 Referenzhandbuch - XOn

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

Page 336: X1 Referenzhandbuch - XOn

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()

Page 337: X1 Referenzhandbuch - XOn

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

Page 338: X1 Referenzhandbuch - XOn

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

Page 339: X1 Referenzhandbuch - XOn

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);

Page 340: X1 Referenzhandbuch - XOn

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

Page 341: X1 Referenzhandbuch - XOn

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

Page 342: X1 Referenzhandbuch - XOn

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

Page 343: X1 Referenzhandbuch - XOn

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.

Page 344: X1 Referenzhandbuch - XOn

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:

Page 345: X1 Referenzhandbuch - XOn

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;}

Page 346: X1 Referenzhandbuch - XOn

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

Page 347: X1 Referenzhandbuch - XOn

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

Page 348: X1 Referenzhandbuch - XOn

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

Page 349: X1 Referenzhandbuch - XOn

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

Page 350: X1 Referenzhandbuch - XOn

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

Page 351: X1 Referenzhandbuch - XOn

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

Page 352: X1 Referenzhandbuch - XOn

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

Page 353: X1 Referenzhandbuch - XOn

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

Page 354: X1 Referenzhandbuch - XOn

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

Page 355: X1 Referenzhandbuch - XOn

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

Page 356: X1 Referenzhandbuch - XOn

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

Page 357: X1 Referenzhandbuch - XOn

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

Page 358: X1 Referenzhandbuch - XOn

Back Cover