Built-in Functions
The library definition is a list of all functions that are available in the script language. It is used to generate code and to check if a function is available. Do not use any functions that are not in the function list.
Library definition
// Database and other connection related functions
namespace S {
void AddTEXT(int nTable, int nColumn, int nRecord, CString strText);
void AddMONEY(int nTable, int nColumn, int nRecord, CMoney Money1, Money Money2);
void AddDATETIME(int nTable, int nColumn, int nRecord, CDateTime Date1);
void AddDATE(int nTable, int nColumn, int nRecord, CDateTime Date1);
void AddDOUBLE(int nTable, int nColumn, int nRecord, double dValue);
void AddINT(int nTable, int nColumn, int nRecord, int nValue);
void AddCALCULATION(int nTable, int nColumn, int nRecord, CString strCalculation);
void AddFIBUMoneyInOut(CMoney mMoney, int nKassa, CString strText, int nMandant, int nKontoSoll, int nKontoHaben);
int AddJob(int nStep, int nRecord, CDateTime Date1, CDateTime Date2, int nPriority, int nBearbeiter, CString strNoteJob, CString strNoteProcess, CDateTime DatePlanBegin, CDateTime DatePlanEnd, BOOL bCreateIfExistsAlso, int nMandant, int nBranch);
int AddKassaMovement(CMoney mMoney, CString strText, int nPaymentMethod, CMoney mStatusNew, BOOL bGetNewTransactionNumber, int nKostenart, int nEinnahmenart, int nKostenstelle, int nProjekt, int nRessource, int nMitarbeiter, CString strText2);
void ChangeJobStart(int nStep, int nRecord, CDateTime DateBegin);
void ChangeJobEnd(int nStep, int nRecord, CDateTime DateEnd);
void ChangeJobPriority(int nStep, int nRecord, int nPriority);
void ChangeJobUser(int nStep, int nRecord, int nUser);
BOOL CheckRecordLimitForTable(int nTable, int* pLimit, int* pActualCount);
void ClearCachedTable(int nTable);
void CopyValue(int nTable, int nColumn1, int nColumn2, int nRecord);
void CloseSQLConnection(int nConn);
void CreateProtocol(int nTable, int nRecord, CString strText, int nProtocolType, int nStatisticValue1, int nStatisticValue2, int nStatisticValue3);
void DeleteRecordSpecial(CString strTable, int nRecord, int nConn);
void DeleteRecordVariable(CString strVarName);
void DoneJob(int nStep, int nRecord);
void DeleteJob(int nStep, int nRecord);
void DeleteSubtableRecord(int nTable, int nColumn, int nRecord, int nSubtableRecord);
void DeleteSubtableRecords(int nTable, int nColumn, int nRecord, CString strRecords);
void DeleteRecords(int nTable, CString strWhere, BOOL bDontUseTrash);
void DeleteOneRecord(int nTable, int nRecord, BOOL bDontUseTrash);
void DeleteMultipleRecords(int nTable, CString strRecords);
void ExtendSelect(CString strWhere, int nTable, BOOL bEigeneDS, BOOL bMandanten, BOOL bFilialen, BOOL bRecordPermissions);
int FindTable(CString strTableName);
CTable GetActualJobList();
CTable GetActualJobMergeList();
CTable GetActualJobRecordList();
CTable GetActualRecordSelection();
CString GetSelectedRecords();
CTable GetReport(int nTable, CString strCondition, CString strShow, CDateTime DateBegin, CDateTime DateEnd, int nAggregateColumn, int nAggregateType, int nComputeColumn, int nComputeType, CString strFormula, int nNameColumn1, int nNameColumn2, int nSortType);
CTable GetCachedRecord(int nTable, int nRecord);
CTable GetCachedTable(int nTable, int nColumn1, int nCondition1, int nColumn2, int nCondition2, BOOL bDontReload, BOOL bAllMandants);
CTable GetActualPrintTable();
int GetActualScriptNumber();
CString GetActualScriptName();
int GetActualBranchNumber(BOOL bAlwaysUseBranchRestriction);
CString GetActualRegistrationCode();
int GetActualMandantNumber();
int GetActualMandantNumber(BOOL bAlwaysUseMandantRestriction);
CString GetActualPersonalName();
int GetActualPersonalNumber();
CString GetActualUserName();
int GetActualUserNumber();
int GetActualUserCurrency();
int GetActualUserType();
int GetActualUserGroup();
int GetActualLockNumber();
CString GetAutoNumber(int nAutoNumberRecord, int nAutoNumberType, CString strAutoNumberText, CDateTime dtSpecialDate, BOOL bCountBackwards, int nSpecialMandant, BOOL bAutoNumberWithMandant);
CString GetAutoNumberForTable(int nTable, BOOL bCountBackwards, int nMandant1, int nAltNrCount, CDateTime dtDate);
CString GetAutoNumberSpecialRecord(int nAutoNumberTable, int nAutoNumberColumn, int nAutoNumberRecord, int nYear, int nStartNumber, int nConn, BOOL bUseConn, BOOL bCountBackwards);
CString GetColumnDatabaseName(int nTabNr, int nColumnNr);
CString GetIndividualisation(int nIndividualisationType, int nElementId, int nType);
CString GetLocaleParameterString(CString strParameter);
CString GetMessageText(int nMessage);
CString GetRegClientParameterString(CString strParameter);
CDateTime GetServerTime();
CString GetTableName(int nTabNr);
CString GetTextSelText(int nMessage);
void GetTextModule(m_bDontTranslate , int nTextModule, int nLanguage, BOOL bRichText);
CString GTM(m_bDontTranslate , int nTextModule, int nLanguage, BOOL bRichText);
void GetTextSelection(int nTextModule, int nLanguage);
CString GTS(int nTextModule, int nLanguage);
CString GetLanguageText(int nTable, int nRecord, int nLanguage, int nColNormal, int nColTable);
CString GetOptionSTRING(int nOption, BOOL bDecrypt, BOOL* pExists);
int GetOptionINT(int nOption, BOOL* pExists);
BOOL GetOptionBOOL(int nOption, BOOL* pExists);
double GetOptionDOUBLE(int nOption, BOOL* pExists);
CDateTime GetOptionDATE(int nOption, BOOL* pExists);
CMoney GetOptionMONEY(int nOption, BOOL* pExists);
CTable GetOptionTABLE(int nOption, BOOL* pExists);
CString GetCompanyValueSTRING(int nOption);
BOOL GetCompanyValueBOOL(int nOption);
int GetCompanyValueINT(int nOption);
double GetCompanyValueDOUBLE(int nOption);
CDateTime GetCompanyValueDATE(int nOption);
CMoney GetCompanyValueMONEY(int nOption);
CTable GetCompanyValueTABLE(int nOption);
BOOL GetRecordVariableBOOL(CString strVarName);
CString GetRecordVariableSTRING(CString strVarName);
int GetRecordVariableINT(CString strVarName);
double GetRecordVariableDOUBLE(CString strVarName);
CDateTime GetRecordVariableDATE(CString strVarName);
CMoney GetRecordVariableMONEY(CString strVarName);
CString GetSysVar(CString strName, BOOL bEncrypted);
BOOL HasUserRightsForTable(int nTable);
BOOL HasUserRightsForTableRecord(int nTable, int nRecord);
int InsertRecordSpecial(CString strTable, CTable* pTable, int nRow, int nConn);
int InsertMultipleRecords(int nTable, CTable* pTable);
int InsertRecord(int nTable, CTable* pTable, BOOL bNoNewJob, BOOL bNoScripts);
int InsertRowFromRecord(int nTable, CTable* pTable, int nRow, BOOL bNoNewJob, BOOL bNoScripts);
int InsertSubtableRecord(int nTable, int nColumn, int nRecord, CTable* pTable, int nRow);
CString InsertSubtableRecords(int nTable, int nColumn, int nRecord, CTable* pTable);
BOOL InsertSyncData(int nTable, CTable* pTable, int nMessageType);
int InsertDocument(CString strFileName, CString strDocTitle);
int InsertPicture(CString strFileName, CString strPictureTitle, int nTable, int nRecord);
BOOL IsActualRecordChangeable();
BOOL IsActualRecordLocked();
BOOL IsActionLocked(int nAction, int nRecord);
BOOL IsDialogDeletingForbidden(int nTable);
BOOL IsModuleActive(int nModule, BOOL bValue);
BOOL IsRecordDeletingForbidden(int nTable, int nRecord);
BOOL IsRecordLocked(int nTable, int nRecord);
BOOL IsRKActive();
void LoadPOSMoney(int nKassa);
CTable LoadLinkedTable(CString strTableName, CTable* pResultTable);
void LockActualRecord();
int LockRecord(int nTable, int nRecord, BOOL bTryOnly);
int LockAction(int nAction, int nRecord);
void LockJob();
void UnlockJob();
CTable MoveRecord(int nTable, CString strMoveType, int nActRecordNr, CTable ResultTable);
BOOL MailDownload(CString strServerPOP, CString strUsername, CString strPassword, CTable* pTable, CString* pstrError, BOOL bDeleteOnServer, int nPort, int nAuthMethod, BOOL* pbDownloadNotComplete);
void MailDownloadAndSave();
CString MailGetPOP3UserName();
CString MailGetPOP3Password();
CString MailGetPOP3Server();
CTable MailGetAllAccounts();
CString MailGetSMTPServer();
CString MailGetFrom();
void MailGetAttachments(CString strBody, CTable* pTable);
BOOL MailSend(CString strSMTPServer, CString strFrom, CString strTo, CString strCC, CString strBCC, CString strSubject, CString strBody, CString strAttachments, CString* pstrError, BOOL bSaveInDatabase, BOOL bAutoLink, int nCustomerLink, int nDelivererLink, BOOL bHtml, int nProspectLink);
void MailSerialLetter(CString strBodyFile, CTable* pTags, int nMailsPerHour);
int OpenSQLConnection(int nType, CString strDBString, CString strUsername, CString strPassword, CString* strError);
BOOL OptionExists(int nOption);
CTable QpidGetAllMessagesAfter(CString strUrl, CString strOptions, CString strQueue, CString strCondition);
BOOL QpidSendMessage(CString strUrl, CString strOptions, CString strQueue, CString strMessage);
void ReloadActualRecord(BOOL bForceReload);
void RequestSaveAndUnlock(int nTable, int nRecord);
void SavePOSMoney(int nKassa, CMoney mNewCashAmount);
BOOL SeeOnlyOwnRecordsInTable(int nTable);
BOOL SeeOnlyOwnRecords();
BOOL SeeOnlyMandantRecordsInTable(int nTable);
BOOL SeeOnlyMandantRecords();
BOOL SeeOnlyBranchRecordsInTable(int nTable);
BOOL SeeOnlyBranchRecords();
CTable Select(int nTable, CString strWhere, CString strShow, BOOL bShowInactives, int nCacheTimeSeconds, int nTop, CString strOrderBy, BOOL bOrderDesc, BOOL bOnlyDeleted);
CTable SelectRecord(int nTable, int nRecord);
CTable SelectRecordSpecial(CString strTable, CString strShow, CString strWhere, int nConn);
CTable SelectMultipleRecords(int nTable, CString strRecords, CString strShow);
CTable SelectMultipleCachedRecords(int nTable, CString strRecords);
CTable SearchRecords(int nTable, CString strTitle, BOOL bDontShowResultDialog, int nSearchMandant, int nSearchBranch, CString strStaticText);
int SearchPrintScriptNumber(CString strPrintScriptName);
CTable SendSQL(CString strSQL, int nConn, BOOL bUseActiveDatabase, BOOL bVarDataIsString);
BOOL SendSyncMessages(BOOL bDontDeleteMessages);
void SetAutoNumber(int nAutoNumberRecord, int nYear, int nNewValue, int nMandant);
void SetAutoNumberForTable(int nTable, int nYear, int nNewValue, int nMandant);
void SetAutoNumberSpecialRecord(int nTable, int nColumn, int nRecord, int nYear, int nNewValue);
void SetActualRecordUnchangeable();
void SetActualRecordChangeable();
void SetCachedRecord(int nTable, int nRecord, CTable* pTable);
void SetLocaleParameterString(CString strParameter, CString strValue);
void SetOptionSTRING(int nOption, CString strValue);
void SetOptionINT(int nOption, int nValue);
void SetOptionDOUBLE(int nOption, double dValue);
void SetOptionDATE(int nOption, CDateTime dtValue);
void SetOptionMONEY(int nOption, CMoney mValue);
void SetOptionTABLE(int nOption, CTable* pTable);
void SetRecordVariableBOOL(CString strVarName, BOOL bValue);
void SetRecordVariableSTRING(CString strVarName, CString strValue);
void SetRecordVariableINT(CString strVarName, int nValue);
void SetRecordVariableDOUBLE(CString strVarName, double dValue);
void SetRecordVariableDATE(CString strVarName, CDateTime dtValue);
void SetRecordVariableMONEY(CString strVarName, CMoney mValue);
BOOL SetSysVar(CString strName, CString strValue, BOOL bEncrypted);
void StartLogAllSql();
void StopLogAllSql();
int StartProcessJobs();
void SubstractMONEY(int nTable, int nColumn, int nRecord, CMoney Money1, Money Money2);
void SubstractDATETIME(int nTable, int nColumn, int nRecord, CDateTime Date1);
void SubstractDATE(int nTable, int nColumn, int nRecord, CDateTime Date1);
void SubstractDOUBLE(int nTable, int nColumn, int nRecord, double dValue);
void SubstractINT(int nTable, int nColumn, int nRecord, int nValue);
void SubstractCALCULATION(int nTable, int nColumn, int nRecord, CString strCalculation);
void SetTEXT(int nTable, int nColumn, int nRecord, CString strValue, BOOL bDontLock);
void SetSTRING(int nTable, int nColumn, int nRecord, CString strValue, BOOL bDontLock);
void SetTABLE(int nTable, int nColumn, int nRecord, CTable* pTable);
void SetMONEY(int nTable, int nColumn, int nRecord, CMoney Money1, Money Money2, BOOL bDontLock);
void SetDATETIME(int nTable, int nColumn, int nRecord, CDateTime Date1, BOOL bDontLock);
void SetDATE(int nTable, int nColumn, int nRecord, CDateTime Date1, BOOL bDontLock);
void SetDOUBLE(int nTable, int nColumn, int nRecord, double dValue, BOOL bDontLock);
void SetINT(int nTable, int nColumn, int nRecord, int nValue, BOOL bDontLock);
void SetCALCULATION(int nTable, int nColumn, int nRecord, CString strCalculation);
void SetActualPersonalNumber(int nPersonalNumber);
BOOL TableExists(int nTabNr);
void UpdateMultipleRecords(int nTable, CTable* ptTable, CString strUpdateColumns);
void UpdateRecordSpecial(CString strTable, CTable* pTable, int nRow, int nConn);
void UpdateRecord(int nTable, int nRecord, CTable* pTable, int nSourceRow, BOOL bUpdateCache, BOOL bDontLock, BOOL bTryInsert, BOOL bForcedUpdate, int nTryLockInSeconds, BOOL bUndelete);
void UpdateActualRecord();
void UnlockActualRecord();
void UnlockRecord(int nTable, int nRecord, int nLockNumber);
void UnlockAction(int nAction, int nRecord, int nLockNumber);
void UpdateActualJob();
void WaitForDataBaseAllRequestsServed();
};
//class representing a date and time object
class CDateTime {
public:
int CompareDate(CDateTime Date);
int Compare(CDateTime Date);
void CopyDate(CDateTime Date2);
void CopyTime(CDateTime Date2);
void DayPlus(int nValue);
void DayMinus(int nValue);
int GetYear();
int GetMonth();
int GetDay();
int GetHour();
int GetMinute();
int GetSecond();
double GetTotalYears();
double GetTotalMonths();
double GetTotalDays();
double GetTotalHours();
double GetTotalMinutes();
double GetTotalSeconds();
int GetCalendarWeek();
int GetWeekdayNumber();
CString GetWeekday(int nBracket);
int GetMonthDays();
int GetMonthWorkDays(int nDayStart, int nDayEnd, BOOL bCountSaturday);
int GetWorkDays(CDateTime dtEnd, BOOL bCountSaturday);
int GetDaysSince1900();
CString GetDateString(CString strValue, BOOL bSetNoBlank, BOOL bSetZeroForBlank, BOOL bShowZeroDate, int nLanguage);
CString GetTimeString(CString strValue);
int GetDayDifference(CDateTime Date);
CString GetMonthName(int nType, int nLanguage);
int GetSecondsDifference(CDateTime Date);
CString GetTimestamp(BOOL bDateOnly, BOOL bConvertToUTC, BOOL bRFC2445Variant, CString* pstrTimezone, BOOL bIgnoreTimeOffset);
CString GetWeekdayName(int nType, int nLanguage);
void GetUnixTime(*nDataType );
void HourPlus(int nValue);
void HourMinus(int nValue);
BOOL IsDateValid();
BOOL IsSet();
BOOL IsLeapYear();
BOOL IsHoliday(BOOL* pIsHalfHoliday, CDateTime* pTimeHalfHoliday, int nCountry);
void LocalToUtc();
void MonthPlus(int nValue);
void MonthMinus(int nValue);
void MinutePlus(int nValue);
void MinuteMinus(int nValue);
void SetYear(int nYear);
void SetMonth(int nMonth);
void SetDay(int nDay);
void SetHour(int nHour);
void SetMinute(int nMinute);
void SetSecond(int nSecond);
void SetTotalDays(double dDays);
void SetTotalHours(double dHours);
void SetActTime();
void SetActDateOnly();
void SetActTimeOnly();
void SetCalendarWeek(int nYear, int nWeek);
void SetNoTime();
void SetToTime(CDateTime Date);
BOOL SetTimestamp(CString strTimestamp, BOOL bRFC2445Variant);
void SetToTimeFromString(CString strValue);
void SetTimeUnixEpoch(int64_t nSeconds);
void SecondPlus(int nValue);
void SecondMinus(int nValue);
void UtcToLocal();
void YearPlus(int nValue);
void YearMinus(int nValue);
};
//dialog and GUI
namespace D {
BOOL AskUser(CString strText, CString strDefinedAnswerOption);
void Beep(int nHertz, int nMilliseconds);
void CancelLastUserCommand();
void ClearWaitCursor();
void CloseApplication();
void ChangeBackgroundColor(int nRed, int nGreen, int nBlue);
void ChangeBackgroundColorPage0(int nRed, int nGreen, int nBlue);
void ChangeElementPosition(int nElement, CString strXPos, CString strYPos, CString strWidth, CString strHeight, int nNamePosition, BOOL bRepaint);
void ChangeElementNextTab(int nElement, int nNextElement);
void ChangeElementParameter1(int nElement, double dParameter);
void ChangeElementScript(int nElement, int nScript);
void ChangeElementScriptOnChangeComplete(int nElement, int nScript);
void ChangeElementStaticName(int nElement, CString strName);
void ChangeElementStaticNameFromDataParameter(int nDataParameter1, int nDataParameter2, CString strName);
void ClearDashboard();
void CreateFormatingTableColumns(CTable* pTable1);
void DataViewerShow(int nDataViewer, BOOL bOnlyForActiveDialog, CString strTitle, BOOL bEnableEdit, CTable* pTable, int nXPos, int nYPos, int nWidth, int nHeight, int nColorColumn, int nColorColumnData, int nScriptOnDblClick, BOOL bDontClearActiveRow);
void DataViewerKill(int nDataViewer);
void DataViewerSetPos(int nDataViewer, int nXPos, int nYPos, int nWidth, int nHeight);
void DataViewerUpdate(int nDataViewer, CTable* pTable, BOOL bDontClearActiveRow);
BOOL DataViewerIsVisible(int nDataViewer);
void DataViewerGetTable(int nDataViewer, CTable* pTable);
void DisableEdit(int nFirstElement, int nLastElement);
int EditAppointmentRecurrence();
int EditInMask(CString strTitle, CString strStaticText, CTable* pDataTable, CTable* pDialogDesign, CTable* pListDesign, int nXPos, int nYPos, int nWidth, int nHeight, BOOL bRemoveNewline, CString strScripts, CTable tButtons);
void ElementEditLinkedRecord(int nElementNumber);
void ErrorMessage(CString strErrMsg);
void EnableEdit(int nFirstElement, int nLastElement);
void EditRecord(int nTable, int nRecord, BOOL bNoAutoSave);
int FindElementFromDataParameter(int nDataParam1, int nDataParam2);
int FindElement(CString strElementName);
int FindElementLinkedTable(int nTable);
void GetContent(int nElementId);
void GetActualColorBackground(int* pnRed, int* pnGreen, int* pnBlue);
void GetActualColorBackgroundPage0(int* pnRed, int* pnGreen, int* pnBlue);
void GetStandardColorBackground(int* pnRed, int* pnGreen, int* pnBlue);
void GetElementPosition(int nElement, CString* pstrXPos, CString* pstrYPos, CString* pstrWidth, CString* pstrHeight, CString* pstrName, int* pnNamePosition, int* pnNextTab, int* pnVisible);
CString GetTableElementText(int nElement, int nCol, int nRow);
CString GetTableSubtableText(int nElement, int nCol, int nRow, int nSubCol);
CTable GetTable(int nElement);
CTable GetTableReplaceLink(int nElement, BOOL bShowAllColumns);
void GetElementColumn(int nElement, int nColumn);
int GetActivePage();
CDateTime GetDateBox(CString strTitle, CString strStatic, CString strEditTitle, CDateTime Default, BOOL bCancelButton, BOOL* pCancelled);
int GetDate2Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CDateTime* pDate1, CDateTime* pDate2, BOOL bCancelButton, int nDateType1, int nDateType2);
int GetDate3Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString strEditTitle3, CDateTime* pDate1, CDateTime* pDate2, CDateTime* pDate3, BOOL bCancelButton);
int GetDateCal(CString strTitle, CString strStatic, CString strEditTitle1, CDateTime* pDate1, BOOL bCancelButton, BOOL bDontShowDateString);
int GetDate2Cal(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CDateTime* pDate1, CDateTime* pDate2, BOOL bCancelButton, BOOL bDontShowDateString);
int GetDate3Cal(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString strEditTitle3, CDateTime* pDate1, CDateTime* pDate2, CDateTime* pDate3, BOOL bCancelButton, BOOL bDontShowDateString);
int GetDate4Cal(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString strEditTitle3, CString strEditTitle4, CDateTime* pDate1, CDateTime* pDate2, CDateTime* pDate3, CDateTime* pDate4, BOOL bCancelButton, BOOL bDontShowDateString);
int GetDoubleNumber(CString strTitle, CString strStatic, CString strName1, double* pNumber1, BOOL bCancelButton);
int GetDoubleNumber2(CString strTitle, CString strStatic, CString strName1, CString strName2, double* pNumber1, double* pNumber2, BOOL bCancelButton);
int GetDoubleNumber3(CString strTitle, CString strStatic, CString strName1, CString strName2, CString strName3, double* pNumber1, double* pNumber2, double* pNumber3, BOOL bCancelButton);
int GetIntNumber(CString strTitle, CString strStatic, CString strName1, int* pNumber1, BOOL bCancelButton);
int GetIntNumber2(CString strTitle, CString strStatic, CString strName1, CString strName2, int* pNumber1, int* pNumber2, BOOL bCancelButton);
CDateTime GetTimeBox(CString strTitle, CString strStatic, CString strEditTitle, CDateTime Default, BOOL bCancelButton, BOOL* pCancelled);
double GetPercentBox(CString strTitle, CString strStatic, CString strEditTitle, double dDefault, BOOL bCancelButton, BOOL* pCancelled);
CDateTime GetDateTimeBox(CString strTitle, CString strStatic, CString strEditTitle, CDateTime Default, BOOL bCancelButton, BOOL* pCancelled);
CMoney GetMoneyBox(CString strTitle, CString strStatic, CString strEditTitle, CMoney mDefault, BOOL bCancelButton, BOOL* pCancelled);
int GetMoney2Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CMoney* pMoney1, CMoney* pMoney2);
int GetMoney3Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString strEditTitle3, CMoney* pMoney1, CMoney* pMoney2, CMoney* pMoney3);
int GetMoneyPercentBox(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CMoney* pMoney1, double* pPercent1, BOOL bCancelButton);
int GetRadioSelectionTable(CString strTitle, BOOL bCancelButton, int nWidth, int nHeight, CString strStatic, CTable* pTable);
int GetRadioSelectionText(CString strTitle, BOOL bCancelButton, int nWidth, int nHeight, CString strStatic, CString strText1, CString strText2, CString strText3, CString strText4, CString strText5, int nDefaultRow);
CString GetTextBox(CString strDialogTitle, CString strEditLabel, CString strInitialValue, CString strStatic, BOOL bCancelButton, BOOL bPassword, int nRed, int nGreen, int nBlue, int nWidth, int nHeight, int nStaticFontSize, int nTitleFontSize, BOOL bShowCapsLockWarning);
CString GetTextBoxHtml(CString strTitle, CString strName1, CString strText, CString strStatic, BOOL bCancelButton, int nWidth, int nHeight, int nStaticFontSize, int nTitleFontSize, BOOL bReadOnly, int nXPos, int nYPos);
CString GetTextBoxRich(CString strTitle, CString strNameRich, CString strTextRich, BOOL bCancelButton, int nWidth, int nHeight, int nXPos, int nYPos, BOOL bShowPlainTextField, CString strNamePlain, CString* strTextPlain);
CString GetTextBoxMultiline(CString strTitle, CString strName, CString strTextMultiline, CString strStatic, BOOL bCancelButton, int nWidth, int nHeight, int nStaticFontSize, int nTitleFontSize, BOOL bReadOnly, int nXPos, int nYPos);
int GetText2Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString* pstrText1, CString* pstrText2, BOOL bCancelButton, int nWidth, int nHeight, int nStaticFontSize, int nTitleFontSize, BOOL bShowCapsLockWarning);
int GetText3Box(CString strTitle, CString strStatic, CString strEditTitle1, CString strEditTitle2, CString strEditTitle3, CString* pstrText1, CString* pstrText2, CString* pstrText3, int nWidth, int nHeight, int nStaticFontSize, int nTitleFontSize, BOOL bShowCapsLockWarning);
CTable GetCheckSelection(CString strTitle, CTable* pTable, CString strColumns, CString strWidth, CString strStatic, BOOL bCheckTrue, BOOL bCancelButton, int nWidth, int nHeight, BOOL bModifyOriginalTable, CString strOKButtonLabel, CString strCancelButtonLabel, int nCheckCol, CString strNoEditCols, int nColorColumns, BOOL bDontAllowSort, CString strSearchColumns);
int GetListSelection(CString strTitle, CString strName1, CTable* pTable, BOOL bCancelButton, CString strStatic, int nWidth, int nHeight, BOOL bEnableEdit, int nNoEditCol, BOOL bEnableSort, int nShowStatistics, BOOL bDontDBlClickOK, BOOL bPrintPortrait, int nColorColumns, int nPrintTextHeight, int nRowHeight, BOOL bShowWeekdays, int nTreeItemLinkCol, CTable* pFormattingTable, BOOL bDontShowPrintListButton, int nListEditOnChangeScript, BOOL bForbidAddRemoveRow, BOOL bToggleCheckButton, CString strNoEditCols, CString strSearchColumns);
int GetListEdit(CString strTitle, CString strName1, CTable* pTable, CString strStatic, int nWidth, int nHeight, int nNoEditCol, int nOnChangeTextNr, BOOL bDontDblClkOK, CString strOnChangeText, BOOL bPrintPortrait, int nPrintTextHeight, BOOL bNoCancelButton, int nRowHeight, BOOL bShowWeekdays, int nShowStatistics, BOOL bAllowSort, BOOL bDefaultButton, int nColorColumns, BOOL bDontShowPrintListButton, int nListEditOnChangeScript, BOOL bForbidAddRemoveRow, CString strNoEditCols, CString strSearchColumns, CTable* pFormattingTable, CTable* ptElementParameters);
int GetTableSelection(CString strTitle, CTable* pTable1, CTable* pTable2, CString strShowCols, CString strStatic1, CString strStatic2);
int GetComboSelection(CString strTitle, CString strName1, CString strShowColumns, CTable* pTable, CString strStatic, BOOL bCancel, BOOL bShowListNever1);
int GetComboSelection2(CString strTitle, CString strName1, CString strName2, CString strShowColumns, CString strShowColumns2, CTable* pTable, CTable* pTable2, CString strStatic, BOOL bCancel, BOOL bShowListAlways1, BOOL bShowListAlways2);
int GetComboSelection_Date_Text(CString strTitle, CString strName1, CString strName2, CString strName3, CString strShowColumns, CTable* pTable, CDateTime* pDate, CString* pstrText, BOOL bCancel, int nDropDownHeight, BOOL bSort, CString strStatic, BOOL bShowListAlways);
int GetComboSelection_Date_Text2(CString strTitle, CString strName1, CString strName2, CString strName3, CString strName4, CString strShowColumns, CTable* pTable, CDateTime* pDate, CString* pstrText1, CString* pstrText2, BOOL bCancel, int nDropDownHeight, BOOL bSort, CString strStatic, BOOL bShowListAlways);
int GetLinkSelection(CString strTitle, CString strName1, int nTable, CString strStatic, BOOL bCancel, BOOL bSearchLink1, int nDefaultValue);
int GetLinkSelection2(CString strTitle, CString strName1, int nTable1, int* pnValue1, CString strName2, int nTable2, int* pnValue2, CString strStatic, BOOL bCancel, BOOL bSearchLink1, BOOL bSearchLink2);
int GetLinkSelection3(CString strTitle, CString strName1, int nTable1, int* pnValue1, CString strName2, int nTable2, int* pnValue2, CString strName3, int nTable3, int* pnValue3, CString strStatic, BOOL bCancel, BOOL bSearchLink1, BOOL bSearchLink2, BOOL bSearchLink3);
int GetSearchLinkSelection(CString strTitle, CString strName1, int nTable1, CString strStatic, BOOL bCancel, int nDefault);
int GetSelectedRecordNumber(int nElement);
int GetLastChangedListViewRow(int nListElement);
BOOL HasContentChanged();
BOOL HasElementChanged(int nElement);
BOOL HasDataChanged(int nCol);
void HideActualDialog();
void HideElement(int nElement);
void HideElementFromDataParameter(int nDataParameter1, int nDataParameter2);
void HTMLViewerShow(int nDataViewer, CString strTitle, CString strHTMLFile, CString strHTMLString, int nXPos, int nYPos, int nWidth, int nHeight, BOOL bKeepOldPosition);
void HTMLViewerKill(int nDataViewer);
void HTMLViewerSetPos(int nDataViewer, int nXPos, int nYPos, int nWidth, int nHeight);
void HTMLViewerUpdate(int nDataViewer, CString strHTMLFile, CString strHTMLString);
BOOL HTMLViewerIsVisible(int nDataViewer);
BOOL IsElementHidden(int nElement);
BOOL IsElementHiddenFromDataParameter(int nDataParameter1, int nDataParameter2);
void MarkAllRowsForUpdate(int nElement);
void Message(CString strMessage);
void MessageBoxOK(CString strMessage);
void MoveAllElements();
void MyDialogAddMessageHandler(int nElement, int nMessage, int nScript, double dValue2);
void MyDialogInitialise(BOOL bScrollable);
void MyDialogDestroy();
void MyDialogSetActiveRowForElement(int nElement, int nRow);
void MyDialogSetCurrency(int nCurrency);
void MyDialogSetFontHeight(int nFontHeight);
void MyDialogSetTitle(CString strTitle);
void MyDialogSetStatic(CString strStatic);
void MyDialogSetFirstFocus(int nElement);
void MyDialogHideElement(int nElement);
void MyDialogShowElement(int nElement);
void MyDialogSetElementWidth(int nElement, CString strWidth);
void MyDialogSetInternalParameter(int nElement, int nParameterNumber, int nInternalParameter);
void MyDialogUpdateElement(int nElement);
void MyDialogUpdateAllElements(int nStartElement, int nEndElement);
void MyDialogRewriteElement(int nElement);
void MyDialogRewriteAllElements(int nStartElement, int nEndElement);
int MyDialogAddCombo(CString strName, CString strXPos, CString strYPos, CString strWidth, CString strShowColumns, int nDropDownHeight, BOOL bSort, BOOL bShowListAlways, int nNamePosition);
int MyDialogAddElement(int nType, CString strName, CString strXPos, CString strYPos, CString strWidth, CString strHeight, BOOL bReadOnly, int nNamePosition, double dParameter1, double dParameter2, double dParameter3, CString strParameter4, CString strParameter5, CString strParameter6, int nDataParameter1, int nDataParameter2, BOOL bReturnSimulatesOkButton, CString strParameter7, int nParameter8, int nParameter9, int nParameter10);
int MyDialogAddText(int nType, CString strName, CString strXPos, CString strYPos, CString strWidth, CString strHeight, BOOL bReadOnly, double dParameter1);
int MyDialogDoModal(BOOL bCancelButton, BOOL bNoDefaultButton, int nLeft, int nTop, int nWidth, int nHeight);
void NavigateToRecord();
void NavigateToDialog();
void NavigateToSelector(int nSelectorNumber, int nFilterValue1, int nFilterValue2, int nFilterValue3, int nFilterValue4, int nFilterValue5, int nFilterValue6);
void NavigateToJob(int nProcess, int nJobRecord, BOOL bForceReload);
void NavigateToTimeTable(int nTimeTableId, CDateTime dtStart, CDateTime dtEnd, int nShowType, CString strRessourceSelection1, CString strRessourceSelection2, CString strRessourceSelection3, BOOL bHighlightFilter, CString strEntrySelection1, CString strEntrySelection2, CString strEntrySelection3, CString strEntrySelection4, CString strEntrySelection5, CString strEntrySelection6, CString strEntrySelection7, CString strEntrySelection8, CString strEntrySelection9, BOOL bSetCondition1, BOOL bSetCondition2, BOOL bSetCondition3, BOOL bSetCondition4, BOOL bSetCondition5);
void OpenMailSendDialog(CString strTo, CString strSubject, CString strBody, CString strCC, CString strBCC, CString strAttachmentList, BOOL bAutoLink, int nCustomerLink, int nDelivererLink, int nProspectLink, CString strFrom);
void ParentSimulateChangedMessage(int nDataCol);
void ProgressBarShow(int nSize, BOOL bSmooth);
void ProgressBarHide();
void ProgressBarSetText(CString strText);
void ProgressBarSetRange(int nRange);
void ProgressBarSetPos(int nPos);
void ProgressBarStepIt();
void ProgressBarStartMarquee();
void ProgressBarStopMarquee();
void RecordListUpdate();
void RecordListReload();
void RefreshAllElements();
void RefreshElement(int nElement, BOOL bDontLooseEditFocus);
void ReportViewerShow(CString strTitle, CTable* pTable, double dConstantValue, int nColumnWidth, int nColumnGap, int nAggregateGap, CTable* pTable2, CTable* pTable3, double dConstantValue2, BOOL bHideCharts, BOOL bDontHideDashboard);
void ReportViewerHide();
void RewriteAllElements();
void RewriteElement(int nElement);
void RewriteExternalVariables();
void SendChangedMessage();
void SetActiveRowForElement(int nElement, int nRow);
void SetDashboardReport(CString strReportTitle, CTable* ptTableData, int nType, CString strXPos, CString strYPos, CString strWidth, CString strHeight, BOOL bConvertTable, int nNameCol1, int nNameCol2, int nValueCol);
void SetHTMLContentOnMainPage(CString strValue, BOOL bDontSaveAsMainPage);
void SetReadOnly(int nElement);
void SetResultValue(int nValue);
void SetResultValueText1(CString strValue);
void SetResultValueText2(CString strValue);
void SetResultValueText3(CString strValue);
void SetResultValueTable1(CTable* pTable);
void SetResultValueTable2(CTable* pTable);
void SetResultValueTable3(CTable* pTable);
void SetResultValueVariable();
void SetFocus(int nElement);
void ShowLinkTable(CString strTitle, int nTable, CString strLinks, BOOL bEdit, CString strCols, CString strColWidths);
void ShowElement(int nElement);
void ShowElementFromDataParameter(int nDataParameter1, int nDataParameter2);
void ShowActiveElements(int nElement);
void ShowLinkedMail(int nMailID, int nCustomer, int nDeliverer);
void ShowTooltip(CString strContent, CString strPosition);
void SetWaitCursor();
void SimulateChangedMessage(int nElement);
void SetChanged(BOOL bChanged);
void SetElementChanged(int nElement);
void SetDataChanged(int nCol);
void SetContent(int nElement, auto Data);
void SetListViewElement(int nElement, int nCol, int nRow, CString strValue, BOOL bRecalculate, int nActRecNr);
void SetListViewElementCurrencyValues(int nElement, int nCurrency1, double dCurrencyValue1, int nCurrency2, double dCurrencyValue2);
void SetMoneyElementCurrencyValues(int nElement, int nCurrency1, double dCurrencyValue1, int nCurrency2, double dCurrencyValue2);
void SetTable(int nElement, CTable* pTable);
void SetTableSelection(int nElement, int nSelection);
void SaveAllTableChanges(BOOL bUnlock);
void SaveTableChanges(int nElement, BOOL bDontLooseEditFocus);
void SetBackgroundText(CString strBackgroundText);
void SetColorBackground(int nRed, int nGreen, int nBlue);
void SetColorElements(int nRed, int nGreen, int nBlue);
void SetColorStaticText(int nRed, int nGreen, int nBlue);
void SetColorElementsText(int nRed, int nGreen, int nBlue);
void SetFontWeight(int nWeight);
void SetFontHeight(int nHeight);
void SetFontPitchAndFamily(int nPitchAndFamily);
void SetFontFacename(CString strFacename);
void SetLeading(double dLeading);
void SetBorder(int nBorder);
void SetTitle(CString strTitle);
void SetPageBorder(int nLeft, int nTop, int nRight, int nBottom);
void SetCurrency(int nCurrency);
void SetSelection(int nElement, int nSelection);
void StatusMessage(CString strText, int nStatusMessagePosition);
void SetDefaultButton(int nElement);
void SetTimeTableSelections(int nTimeTableId, CString strSelectedEntries1, CString strSelectedEntries2, CString strSelectedEntries3);
void SpecialDialogSetStaticText1(CString strContent);
void SpecialDialogSetStaticText2(CString strContent);
void SpecialDialogSetStaticText3(CString strContent);
void SpecialDialogSetStaticText4(CString strContent);
void SpecialDialogSetStaticText5(CString strContent);
CString SpecialDialogGetStaticText1();
CString SpecialDialogGetStaticText2();
CString SpecialDialogGetStaticText3();
CString SpecialDialogGetStaticText4();
CString SpecialDialogGetStaticText5();
void SpecialDialogSetPictureRecord(int nPictureRecordNumber);
int SpecialDialogGetPictureRecord();
CTable SpecialDialogGetTable(int nInternalTable);
void SpecialDialogSetTable(int nInternalTable);
void UnsetReadOnly(int nElement);
void UpdateAllElements();
void UpdateElement(int nElement);
void ViewRecord(int nTable, int nRecord);
};
//filesystem
namespace F {
void Close(int nFile, CloseFileImpl(nFile); );
BOOL Copy(CString strSourceFile, CString strTargetFile, BOOL bOK);
BOOL CopyDir(CString strSourceDir, CString strTargetDir);
BOOL CreateDirectory(CString strDirectory);
BOOL FindFile(CString strPath);
BOOL FindFileNextFile();
CString FindFileGetFileName();
CString FindFileGetFilePath();
void FindFileClose();
void Flush(int nFile);
CString GetApplicationPath();
CString GetDocumentsPath();
CString GetScanExportPath();
CString GetLocalDataPath();
CString GetTempDirPath();
CString GetTempFilePath(CString strPrefix, int nUnique);
int GetFileAttribute(int nFile);
CString GetFileName(int nFile);
CString GetFilePath(int nFile);
CString GetFileTitle(int nFile);
int GetFileSize(int nFile);
int GetLength(int nFile);
CString GetFileNameFromUser(CString strDefault, BOOL bOpenFile, BOOL bAllowMultipleSelection, CString strDefaultPath, CString strFilter, CString strExtension);
CString GetPathFromUser(CString strTitle, CString strInitialFolder);
int GetPosition(int nFile);
CDateTime GetTimeCreated(int nFile);
CDateTime GetTimeLastAccessed(int nFile);
CDateTime GetTimeLastModified(int nFile);
BOOL IsDirectory(CString strPath);
BOOL LockRange(int nFile, int nPos, int nCount);
BOOL Move(CString strExistingFileName, CString strNewFileName, BOOL bReplaceExisting);
int Open(CString strFile, int nAccessMode, int nCreateMode, int nShareMode, int nByteMode);
BOOL OpenDirectory(CString strDirectory, CString strType);
BOOL ReadTotalFile(int nFile, CString* pstrLine);
BOOL ReadOneByteFromFile(int nFile, int* pnValue);
BOOL ReadOneCharFromFile(int nFile, CString* pstrLine);
BOOL ReadOneLineFromFile(int nFile, CString* pstrLine);
BOOL Remove(CString strFile1);
BOOL RemoveDirectory(CString strDir, BOOL bForced, BOOL bOK);
BOOL Rename(CString strFile1, CString strFile2);
int Seek(int nFile, int nPos, int nFrom);
void SeekToBegin(int nFile);
int SeekToEnd(int nFile);
void SetFileAttribute(CString strFile, int nAttribute);
BOOL SetLength(int nFile, int nFileLength);
BOOL UnlockRange(int nFile, int nPos, int nCount);
void WriteText(int nFile, CString strText, int nCodePage);
};
//helper (miscelaneous)
namespace H {
void ActualisePlace(int nArtikel, double dMenge, CString strPlaceIn, CString strPlaceOut, CTable* ptPlaces, CTable* ptBelegungen, double dArtikelProPalette, int nKunde, int nAuftrag, int nProjekt, int nBewegungsart, CString strBemerkungBewegung);
void AddAutoFillData(CString strValue1, CString strValue2, CString strValue3, CString strValue4, CString strValue5);
void AddCustomTextTrace(CString strTag, CString strText);
void AddLearningTaskCompletion(int nScriptID, int nDialogID, CString strCommand, int nRecordID);
void AddProcessStep(CTable* ptProcess, CTable* ptStep);
void AddToTableRowMONEY(CTable* ptTable, int nCol, int nSearchValue, int nValueCol, CMoney mValue);
void AddToTableRowINT(CTable* ptTable, int nCol, int nSearchValue, int nValueCol, int nValue);
void AddToTableRowDOUBLE(CTable* ptTable, int nCol, int nSearchValue, int nValueCol, double dValue);
void AddToTableRowDATE(CTable* ptTable, int nCol, int nSearchValue, int nValueCol, CDateTime dtValue);
CString ANSI2UTF8(CString* pstrAnsi);
int AsignTseStartTransaction(CString strBonId, CString strKassenId, int* pnTransactionNumber, CString* pstrTransactionGuid, CDateTime* pdtLogTime, CString* pstrSerialNumber, int* pnSignatureCounter, CString* pstrSignatureValue);
int AsignTseFinishTransaction(CString strBonId, CString strKassenId, int nTransactionNumber, CString strTransactionGuid, CString strProcessData, CString strProcessType, CString strAdditionalData, CDateTime* pdtLogTime, int* pnSignatureCounter, CString* pstrSignatureValue, CTable* ptDataTable, BOOL bCalculationBrutto);
BOOL AsignTseExportDataFilteredPeriodClientID(CString strFileName, CString strKassenID, CDateTime dtStart, CDateTime dtEnd, int nMaxRecords);
void BillingFindMietvertraege(CTable* ptGespraeche, CTable* ptID, CTable* ptIDRange);
void BillingFindArtikel(CTable* ptGespraeche, CTable* ptZonen);
void BillingFilterLocalAndSpecials(CTable* ptGespraeche, int nArtikelLokal, int nZoneLokal);
int BillingUpdateMietvertraege(CTable* ptGespraeche);
int BinaryStringToInt(CString strText);
void CalculateAppointmentMatrix(CString strMitarbeiter, CDateTime dtDateBegin, CDateTime dtDateEnd, CDateTime dtTimeBegin, CDateTime dtTimeEnd, CDateTime dtDauer, CTable* pResult);
double CalculateNumericValue(CString strCalculation);
void CalculatePlaceMoney(CDateTime today, CDateTime dtLastCalc, CTable* tLagerTemp, double dActMenge, CTable* tPositionenHilfeTemp, int nArtikel, double dArtikelProPalette, CTable* tTagesTabelle, CMoney mPalettengebuehrKunde, double* pdPalettenanzahlGesamt, *pdPalettenanzahlGesamt );
double CalculateWorkdays(CDateTime DateBegin, CDateTime DateEnd, int nWorkTimeModel, CTable* ptWorkTimeModels, double* pdHours, *pdHours );
CTable CalculateWorkTimeMonthList(CDateTime DateBegin, CDateTime DateEnd, CTable* ptZeiterfassung, CTable* ptAbwesenheit, int nWorkTimeModel, CTable* ptWorkTimeModels, BOOL bUrlaubAddHours, BOOL bUrlaubShowHoursInsteadOfDays, BOOL bShowFutureHours, int nRoundInterval, BOOL bRoundOutput, BOOL bWorseRoundingForEmployee, BOOL bFeiertagAddHours);
BOOL CheckIfPeriodeIsOpenFIBU(int nMandant, int nYear, int nPeriode);
BOOL CheckIfPeriodeIsOpenDateFIBU(int nMandant, CDateTime dtDate);
int CloseTcpIpConnection(int nErrorCode);
CString CreateGUID();
CTable CreateMaterialStocklist(int nArtikelID, double dMenge, CString* strError);
CString CreateSignature(CString strFilePath);
int CreateZipArchive(CString strZipFilePath, CString strFilesToAdd);
void CloseWordDocument(CString strFilename);
CDateTime CalculateWorkTimeFaktorRealValue(CDateTime TimeBegin, CDateTime TimeEnd, int nWorkTimeModel, CTable* ptWorkTimeModels);
void CalculateWorkTimeStatus(CTable* ptMitarbeiter, CTable* ptZeiterfassung, int nLastCalcCol, int nTimeStatusCol, int nWorkTimeCol, int nDailyWorkTableCol, int nDailyWorkTimeCol, int nMACol, int nTypeCol, int nType2Col, int nTimeCol, int nGebuchtCol, int nType2Del, CDateTime Today);
BOOL CheckPlacesIn(int nArtikel, double dMenge, CString strPlaceIn, CTable* ptPlaces, CTable* ptBelegungen, double dArtikelProPalette);
BOOL CheckPlacesOut(int nArtikel, double dMenge, CString strPlaceOut, CTable* ptPlaces, CTable* ptBelegungen, double dArtikelProPalette);
BOOL CheckPriceRowActive(CTable* pPriceTable, int nRow, int nColLink1, int nLink1, int nColLink2, int nLink2, int nColDate1, int nColDate2, CDateTime Date1, int nColMenge, double dMenge);
CString CheckRegistrationRights(CString strCode, BOOL bShowMessage);
double Ceil(double dValue1);
CString CalculateCheckSum(CString strCode, int nModulo, int nWeight1, int nWeight2);
void CalculateStock(int nArtikel, double* pdSumVorbestellt, double* pdSumNachbestellt, double* pdSumVorbestellt2, double* pdSumNachbestellt2, BOOL bUseCache, int nLager);
int CalculateStockArticleList(CTable* pTable, CString strLager);
CString ClipboardGetString(CString strResult);
void ClipboardSetString(CString strText);
void CloseSQLConnection(int nConn);
CString ConvertRecurrencyToRRule(CString strRecurrencyRule, CDateTime dtRecurrencyEnd);
CString ConvertRRuleToRecurrency(CDateTime dtRecurrentStart, CDateTime dtRecurrentEnd, CString* pstrRfc2445RRule, CDateTime* pdtRecurrencyEnd);
BOOL CopyPositionsFromVoucher(int nTable, int nRecord, BOOL bReturning, CTable* pPositions);
int CreateNewJobDialog(int nDialog, int nActRecord, int nDefaultReviser, BOOL bOnlySeenProcesses);
CString CTableToXML(CTable* pTable, BOOL bUseId);
CTable ConvertPdfToTiff(CString strPdfFilename, CString strOutputPath, BOOL bConvertAllPages, int nResolution);
CTable DetermineSuppliers(CTable* pArtikel, int nBestimmungsart);
int DeleteDoublesFromDatabase(int nDeleteTable, CTable* pDeleteTable, CTable* pCheckTable, int nDeleteCol1, int nDeleteCol2, int nDeleteCol3, int nDeleteCol4, int nDeleteCol5, int nCheckCol1, int nCheckCol2, int nCheckCol3, int nCheckCol4, int nCheckCol5, BOOL bSameTable);
void DebugStart();
void DebugStartCondition(BOOL bCondition);
void DebugStartVariableChange();
void DebugStop();
CString EAN13CalculateCheckSum(CString strCode);
BOOL EAN13CheckCheckSum(CString strCode);
void EditScript(int nScript);
BOOL EmbedZugferdXmlIntoPdf(CString strInvoiceXmlPath, CString strInvoicePdfPath, CString strOutputPdfPath, CString strAdditionalOptions);
BOOL ExtractZugferdXmlFromPdf(CString strZugferdPdfPath, CString strOutputXmlPath);
BOOL EnsureValidFilename(CString* pstrFilename, CString strReplacementChar);
void ExecuteScript(int nScript, CString strParam);
BOOL ExportPictureFile(CTable* pTable, CString strTargetFile, int nRow);
CTable ExtractAllFormFieldsFromWord(CString strFilename, BOOL bSaveFirst);
CString ExtractFullTextFromWord(CString strFilename, BOOL bSaveFirst);
void ExtractAllPicturesFromWord(CString strFilename, CTable* pPictures);
CString ExtractFirstLine(CString* pstrText);
CString ExtractFirstElementFromLine(CString* pstrText, CString strSeparator);
CString ExtendOldRegistration(CString strOldCode, CDateTime dtNewDate);
int FindFinancialYearFIBU(int nMandant, CDateTime dtDate);
int FindPeriodeFIBU(CDateTime dtDate);
double Floor(double dValue1);
BOOL FTPLogOnToServer(CString strServerName, CString strUserName, CString strPassword, int nPortNumber);
void FTPLogOffServer();
BOOL FTPMoveFile(CString strRemotePath, CString strLocalPath, BOOL bGet, BOOL bPassiv);
CTable FTPList(CString strPath, BOOL bPassiv);
BOOL FTPCwd(CString strPath);
BOOL FTPMakeDir(CString strPath);
BOOL FTPRemoveDir(CString strPath);
int FTPDelete(CString strFilename);
BOOL FTPCommand();
CString FTPGetAnswer();
CString GeneratePDFFilePath(int nTable, int nScript, CTable* pRecord, BOOL bWithFilename);
int GetArchivausleihe(int* pnSelection1, int* pnSelection2, CDateTime* pDate, CString* pstrText, CString strTitle, CString strStatic, CString strName1, CString strName2, CString strName3, CString strName4, CString strShowColumns1, CString strShowColumns2);
int GetCurrentWorkTimeModel(CDateTime dtDate, int nDefaultModel, CTable* ptWorkTimeModels);
CString GetDefaultTseKassenId();
int GetTaxType(int nTaxRecNr, int nRegistrierkassenType, BOOL bUstBefreit, BOOL bDifferenzbesteuert);
double GetTaxPercentFromType(int nTaxRecNr, int nRegistrierkassenType);
CString GetValueFromJson(CString strJson, CString strKey, int nIndex, BOOL bTrim);
int GetCharacterValue(CString strCharacter);
CString GetCustomTextTrace(CString strTag);
CTable GetCustomTextTraceTable(CString strTag);
int GetHash(CString strText, int nHashBasis);
CString GetNamedParameter(CString strLine, CString strParameter, CString strTabChar);
int GetRGBValue(int nRed, int nGreen, int nBlue);
void GetNextXMLPart(CString* pstrSource, CString* pstrXMLKey, CString* pstrXMLValue, CString* pstrXMLAttributes, int* pnStartPos, int* pnEndPos);
CString GetClientVersion();
int GetParserVersionNumber();
CString GetPictureDataAsBase64(CTable* pTable, int nRow);
CString GetPictureFileName(CTable* pTable, int nRow);
int GetPictureFileType(CTable* pTable, int nRow);
double GetSecondsFromString(CString strDauer);
CString GetLastAutomationFileName();
CString GetLocalTimezone();
CTable GetUserInputData(CTable* pResultTable, GetUserInputData(pResultTable); );
void GenerateAppointmentRecurrences(CTable* pAppointments, CDateTime dtFrom, CDateTime dtTo);
CString GenerateRecurrenceString(CTable* pAppointments, int nRow);
CString HTMLEntityDecode(CString strText);
CString HTMLEntityEncode(CString strText);
void HttpConfigureOAuth(CString strConsumerKey, CString strConsumerSecret, CString strTempEndpoint, CString strAuthEndpoint, CString strTokenEndpoint, CString strToken, CString strTokenSecret, int nOAuthType);
CString HttpGet(CString strURL, CTable* ptResultHeaders, BOOL bUseOAuth, CTable* ptRequestHeaders);
CString HttpPost(CString strURL, CString strData, CString strContentType, CTable* ptResultHeaders, BOOL bUseOAuth, CTable* ptRequestHeaders);
CString HttpDelete(CString strURL, CString strData, CString strContentType, CTable* ptResultHeaders, BOOL bUseOAuth, CTable* ptRequestHeaders);
CString HttpPut(CString strURL, CString strData, CString strContentType, CTable* ptResultHeaders, BOOL bUseOAuth, CTable* ptRequestHeaders);
CString HttpPatch(CString strURL, CString strData, CString strContentType, CTable* ptResultHeaders, BOOL bUseOAuth, CTable* ptRequestHeaders);
BOOL ImportCAMT053(CString strFileName, CTable* pTable, CString* pstrMessageId, CString* pstrCreationDateTime);
int ImportRecordsCSV(CString strFileName, CString strCols, CString strSeparator, int nTable, int nColArtikelnummer, int nColArtikelnummerDatabase, BOOL bCheckExisting, BOOL bReplaceQuotes, BOOL bDontParseScripts, BOOL bNoNewJob);
int ImportPLZ(CString strFile, CTable* pTablePLZ, CTable* pTableLand);
void ImportUpdateZip(CString strUpdateZipFilePath, CString* pstrOutput);
CString InvokeFFSoapDLL(CString strMethod, CString strParameters, CString strEndpoint, CString strDLLPath);
CString InvokeGoogle(CString strMethod, CString strParameters);
void IsDebug();
BOOL IsDialogVisible(int nDialog, BOOL bVisible);
BOOL IsThisScriptLocked();
BOOL IsJobInList(int nStep, int nRecord);
CString IntToBinaryString(int nInteger);
BOOL IsScriptLocked(int nScript);
BOOL IsVariableDefined(int nNumber, BOOL bOK);
BOOL IsTSEKassaActive();
double Log(double dValue1);
double Log10(double dValue1);
void LockThisScript();
CString MD5Encode(CString strText);
CString OMExportData(CString strSCUrl, CString strACMUrl, int nAcountingPartnerID, int nLotOwnerPartner, int nItSystemId, int nUserId, int nUserExecId, int nExecutivePartnerID, CString strSSLKeyfile, CString strSSLPass, CString strSSLCertFile, CString strSSLCertPath);
void OpenAutomationDocument(int nRecord, BOOL bDontOpenViewer, int nScriptToParseOnFinishedWatching, int nRecNrToParseScript, int nTabNrToParseScript);
int OpenSQLConnection(int nType, CString strDBString, CString strUsername, CString strPassword);
int OpenTcpIpConnection(CString strHost, CString strPort, int nTimeoutMilliseconds);
void OutlookExport(CTable* pExportTable, CTable* pResultTable, CString* pstrErrors);
int OutlookGetExportTable(CTable* pExportTable, int nTable, CTable* pDBTable, BOOL bAppend);
int OutlookGetImportAppointments(CTable* pImportTable, CString strFilter, BOOL bAppend, BOOL bNoItemSearch);
int OutlookGetImportContacts(CTable* pImportTable, CString strFilter, BOOL bAppend);
int OutlookGetImportTasks(CTable* pImportTable, CString strFilter, BOOL bAppend);
void OutlookImportAppointments(CTable* pImportTable, CTable* pResultTable, CString* pstrErrors);
void OutlookImportContacts(CTable* pImportTable, CTable* pResultTable, CString* pstrErrors);
void OutlookImportTasks(CTable* pImportTable, CTable* pResultTable, CString* pstrErrors);
void OutlookExportContacts();
void OutlookImportContacts();
void OutlookExportAppointment(CString strEntryID, CTable tAppointment, BOOL bPickFolder);
void OutlookImportAppointments();
void OutlookExportTask(CString strEntryID);
void OutlookImportTasks();
void OutlookExportContact(CString strEntryID, CTable Param1);
void OutlookNewAppointment(CTable Param1);
void OutlookNewTask(CTable Param1);
void OutlookShowContact(CString strEntryID);
void OutlookShowAppointment(CString strEntryID);
void OutlookShowTask(CString strEntryID);
void OutlookShowMail(CString strEntryID);
BOOL OutlookMailTo(CString strTo, CString strTitel, CString strText, CString strCC, CString strAttachment, CString strFrom);
void OutlookNewMail(CTable Param1, BOOL bSend, CString strAttachments, BOOL bHtmlBody, BOOL bDontThrowError, CString* pstrError);
void OutlookFindMail(CString strSearchString, BOOL bSearchAll);
BOOL OutlookSetFutureID(CString strMessageClass, CString strEntryId, CString strFutureId);
int OutlookSearchItems();
double Pow(double dBase, double dExponent);
double ParseFormulaString(CString strFormula);
BOOL PictureOpen(CString strName);
BOOL PictureClose();
BOOL PictureConvertToGrayScale();
BOOL PictureSave(CString strName, int nType1, int nQuality);
int PictureGetWidth(int nResult);
int PictureGetHeight(int nResult);
BOOL PictureResize(int nNewWidth, int nNewHeight);
BOOL PictureRotate(double dAngle);
BOOL PictureFlip(BOOL bResult);
BOOL PictureGreyscale(BOOL bResult);
BOOL PictureMirror(BOOL bResult);
BOOL PictureNegative(BOOL bResult);
CString PrepareForSQL(CString strString);
void ProcessMessages();
CString ProposeInPlace(int nArtikel, double dMenge, double dArtikelProPalette, CTable* ptPlaetzeLeer, int nLager, CTable* ptBelegungenArtikelÜbergabe, CTable* ptVorhandenePlätzeÜbergabe);
CString ProposeOutPlace(int nArtikel, double dMenge, int nLager, CTable* ptBelegungenArtikelÜbergabe, CTable* ptVorhandenePlätzeÜbergabe);
double Random();
int ReceiveTcpIpAnswer(CString* strAnswer, int nErrorCode);
void RecordUserInput(BOOL bRecord);
void RecordsZuordnen(CTable* ptRecords, int nIDCol, int nHashBasis, CTable* ptRecords1, CTable* ptRecords2, CTable* ptRecords3, CTable* ptRecords4, CTable* ptRecords5, CTable* ptRecords6, CTable* ptRecords7, CTable* ptRecords8, CTable* ptRecords9, CTable* ptRecords10, CTable* ptRecords11, CTable* ptRecords12, CTable* ptRecords13, CTable* ptRecords14, CTable* ptRecords15, CTable* ptRecords16, CTable* ptRecords17, CTable* ptRecords18, CTable* ptRecords19, CTable* ptRecords20);
CString RemoveScriptComments(CString strScript);
void RememberString(CString strKeyword, CString strRemember);
CString RecallString(CString strKeyword);
void RewriteGlobalsFromStack();
void RemoveNavigationFilter();
CString ReadFileAsBase64(CString strFilename, CString strBase64);
CTable ReadBarcodeFromImage(CString strFilepath, BOOL bEnhanceContrast, int nLeft, int nTop, int nWidth, int nHeight);
CString ReadTextWithOCR(int nTableID, int nRecordID, CString* pstrError, CString strWhiteList);
CString ReadRegistryValue(CString strRoot, CString strKey, CString strName);
CTable ReadSymbolScanner(CString* pstrError, int nCOMPort, BOOL bDontSetDeviceTime);
double Round(double dValue, int nPositions);
BOOL RunScriptInWorkerThread(int nScript);
void RunUnitTests(BOOL bSilent);
void RunUnitTestsIntegrated(BOOL bSilent, CString strDBKennung);
void ScheduleSynchronisation();
CString SearchRouterCode(CTable* ptRouten, CString strLand, CString strPLZ, CString* pstrRouterNummer, CString* pstrASort);
void SetOAuth2Token(CString strAccessToken, int nExpiresIn);
CString SendHttpRequest(CString strURL, CString strPayload, CTable* ptHeaders, DWORD dwForceSSLMode, int nTimeout);
BOOL SendStatisticInfo(int nType, CString strStatisticInfo, CString* pError);
CTable SendSQL(CString strSQL, int nConn);
int SendTcpIpMessage(CString strMessage, int nErrorCode);
void SetJobDate(int nStep, int nRecord, CDateTime DateBegin, CDateTime DateEnd);
void SetNamedParameter(CString* pstrLine, CString strParameter, CString strTabChar, BOOL bDontReplaceEscapeCharacters, CString strValue);
int SearchNearestDate(int nFilterValue1, int nFilterCol1, int nFilterValue2, int nFilterCol2, CDateTime dtDate, int nDateCol, CTable* pTable1);
int SerialOpenPort(int nPort, int nBaud, int nParity, int nDataBits, int nStopBits, int nFlowControl, BOOL bOverlapped);
void SerialClosePort(int nSerial);
int SerialGetWaitForSendSize(int nSerial);
int SerialGetWaitForReadSize(int nSerial);
int SerialReadint(int nSerial, int* pByte);
int SerialReadSHORT(int nSerial, int* pByte);
int SerialReadINT(int nSerial, int* pByte);
int SerialReadDOUBLE(int nSerial, double* pByte);
int SerialReadTEXT(int nSerial, int nLength);
int SerialWriteint(int nSerial, int nData);
int SerialWriteSHORT(int nSerial, int nData);
int SerialWriteINT(int nSerial, int nData);
int SerialWriteDOUBLE(int nSerial, double dData);
int SerialWriteTEXT(int nSerial, CString strData);
void SerialFlush(int nSerial);
void SerialCancelIo(int nSerial);
void SerialClearReadBuffer(int nSerial);
void SerialClearWriteBuffer(int nSerial);
void SetPictureLinkData(CTable* pTable, CString strFileName, CString strExportType, int nRow);
BOOL SetPictureData(CTable* pTable, CString strFileName, CString strExportType, int nRow);
void SetPictureDataFromTable(CTable* pTable, CString strExportType, int nCol, int nRow, CTable* pResult, int nDestRow);
CString SHA256Encode(CString strInput);
BOOL ShellExecute(CString strOperation, CString strParameters, CString strWorkingDir, int nCloseTimeoutMiliseconds, CString strVerb);
CString ShellExecuteReadOutput(CString strCommandline, BOOL bReadResults, BOOL* pbSuccess);
void SkypeAttach();
void SkypeDetach();
void SkypeMakeCall();
void Sleep(int nMiliseconds);
int SFTPBatch(CString strHost, int nPort, CString strUser, CString strPwd, CString strCommands, BOOL bContinueOnErrors);
int SFTPFileUpload(CString strHost, int nPort, CString strUser, CString strPwd, CString strLocalFileName, CString strRemoteAbsolutePath);
void TelephoneMakeCall(CString strNumber);
CTable TSECreateDataTable(BOOL bDayFinish);
void TSEAddDataTableEntryBusinesscases(CTable* pDataTable, int nPosition, CString strGVTyp, CString strGVName, CString strAgenturID, CString strUstSchluessel, CString strZUmsBrutto, CString strZUmsNetto, CString strZUst);
void TSEAddDataTableEntryPayment(CTable* pDataTable, int nPosition, CString strZahlartTyp, CString strZahlartName, CString strZZahlartBetrag);
void TSEAddDataTableEntryTransactions(CTable* pDataTable, int nPosition, CString strBonNr, CString strBonTyp, CString strBonName, CString strTerminalID, CString strBonStorno, CString strBedienerID, CString strBedienerName, CString strUMSBrutto, CString strKundeName, CString strKundeID, CString strKundeTyp, CString strKundeStrasse, CString strKundePLZ, CString strKundeOrt, CString strKundeLand, CString strKundeUstID, CString strBonNotiz);
void TSEAddDataTableEntryAllocationGroups(CTable* pDataTable, int nPosition, CString strAbrechnungskreis);
void TSEAddDataTableEntryTransactionsVat(CTable* pDataTable, int nPosition, CString strUstSchluessel, CString strBonBrutto, CString strBonNetto, CString strBonUst);
void TSEAddDataTableEntryDataPayment(CTable* pDataTable, int nPosition, CString strZahlartTyp, CString strZahlartName, CString strZahlWaehCode, CString strZahlWaehBetrag, CString strBasisWaehBetrag);
void TSEAddDataTableEntryLines(CTable* pDataTable, int nPosition, CString strPosZeile, CString strGutscheinNr, CString strArtikeltext, CString strPosTerminalID, CString strGVTyp, CString strGVName, CString strInHaus, CString strPStorno, CString strAgenturID, CString strArtNr, CString strGtin, CString strWarenGrID, CString strWarenGr, CString strMenge, CString strFaktor, CString strEinheit, CString strStkBr);
void TSEAddDataTableEntryLinesVat(CTable* pDataTable, int nPosition, CString strPosZeile, CString strUstSchluessel, CString strPosBrutto, CString strPosNetto, CString strPosUst);
void TSEAddDataTableEntryItemAmounts(CTable* pDataTable, int nPosition, CString strPosZeile, CString strTyp, CString strUstSchluessel, CString strPFBrutto, CString strPFNetto, CString strPFUst);
void TSEAddDataTableEntrySubItems(CTable* pDataTable, int nPosition, CString strPosZeile, CString strZiArtNr, CString strZiGtin, CString strZiName, CString strZiWarenGrID, CString strZiWarenGr, CString strZiMenge, CString strZiFaktor, CString strZiEinheit, CString strZiUstSchluessel, CString strZiBasispreisBrutto, CString strZiBasispreisNetto, CString strZiBasispreisUst);
void TSEAddDataTableEntryReferences(CTable* pDataTable, int nPosition, CString strPosZeile, CString strRefTyp, CString strRefName, CString strRefDatum, CString strRefZKasseID, CString strRefZNr, CString strRefBonID);
CString TSEDisplayErrorMessage(int nErrorCode1, int nErrorCode2, BOOL bSilent);
BOOL TseExportDSFinVK(CString strFileName, CDateTime dtStart, CDateTime dtEnd);
CTable TSEGetCaseDetails(int nKasseRecord, int nTable, int nRecord, int nScript, CString strTypes, BOOL bDontFollowLinks);
void TSEGetBonIdAndNumber(int nKasse, CString* pstrBonId, CString* pstrBonNr, int nMandant);
void TSEGetPaymentTypeAndName(int nPaymentType, CString* pstrPaymentType, CString* pstrPaymentName);
void TranslationOff();
void TranslationOn();
int TwainAcquireImage(CString strFileName, CString strFileType, int nResolution, BOOL bSelectSource, CString* pstrSelectSource);
void TwainSelectDefaultSource();
void TwainSelectSource(CString* pstrSelectedSource);
void TwainSetResolution(int nResolution);
void TraceMark(int nColor);
void TraceStart();
void TraceStop();
void UpdateArticle(int nArtikelID, CString* strError, int nDepth);
void UpdateHTMLView();
CString UrlEncode(CString strURL, int nCodePage);
CString UrlDecode(CString strURL, int nCodePage);
CString UTF2Latin1(CString* pstrUTF8, BOOL* pbSuccess);
int UnZipArchive(CString strZipFilePath, CString strDestinationPath);
BOOL UnZipArchive7z(CString strZipFilePath, CString strDestinationPath, CString strEncryptionPassword);
BOOL VerifySignature(CString strFilePath, CString strSignature);
CTable VouchersInCirculationStatistic(CDateTime dtBegin, CDateTime dtEnd);
void Wait(int nMillis);
int WebXMLRPCCall(CString strURL, CString strMethode, CString strMethode2, CTable* ptRequestParameters, CTable* ptResult, BOOL bMakeHTMLSaveCodes, BOOL bEncrypted, CString strUsername, CString strPassword);
void WebRobotSearchPage(CString strURL, CString strSearchStrings, BOOL bAnd, int nLinkTiefe, CTable* ptResult, CString strURLExclude, CString strURLInclude);
void WebRobotSearchPageMultiple(CString strURL, CTable* ptConditions, int nLinkTiefe, CTable* ptResult, CString strURLExclude, CString strURLInclude);
BOOL WebRobotSearchFile(CString strFile, CString strSearchStrings, BOOL bAnd);
void WebRobotSavePage(CString strURL, CString strPath, CString strName);
void WebRobotGetFirmenbuchEintragungen(CDateTime dtDate, CTable* ptResult);
void WebRobotGetFirmenByBranche(CString strURL, CTable* ptResult, CString strPageCountAppendixFormat);
void WebRobotGetFirmenByBranche11880com(CString strURL, CTable* ptResult, CString strPageCountAppendixFormat);
void WebRobotGetFirmenFromWKO(CString strURL, CTable* ptResult);
void WebRobotDownloadToFile(CString strURL, CString strFile, CString strUsername, CString strPassword, BOOL bSilent);
CString WebRobotDownloadToString(CString strURL, CString strUsername, CString strPassword, BOOL bSilent, BOOL bSetTimeout, int nTimeoutMilliseconds);
int WebRobotGetFileSize(CString strURL);
int WordGetPageCount(CString strFileName, CString* strError);
void WordRemoveComments(CString strFileName);
void WordProtect(CString strFileName);
void WordSave(CString strFileName, BOOL bVisible);
void WordShow(CString strFileName);
void WordUnprotect(CString strFileName);
BOOL WriteFileFromBase64(CString strFilename, CStringA strBase64);
void WriteRegistryValue(CString strRoot, CString strKey, CString strName, CString strValue, int nRegType);
CTable XMLToCTable(CString strXML);
int XmlNewDocument(TiXmlDocument* newXmlDoc);
int XmlNewElement(CString strNodeName);
int XmlParse(int nXmlDocHandle, CString strXml);
void XmlAddBody(int nDocHandle, int nElmHandle);
CString XmlGetDocumentAsString(int nHandle, CString strIndentation);
CString XmlGetElementAsString(int nHandle, CString strIndentation);
int XmlFirstChildElement(int nElmHandle, CString strNodeName);
int XmlNextSiblingElement(int nElmHandle, CString strNodeName);
int XmlCloneElement(int nElmHandle);
void XmlLinkEndChild(int nElmTargetHandle, int nElmSourceHandle);
void XmlSetAttribute(int nElmHandle, CString strAttribute, CString strValue);
CString XmlGetAttribute(int nElmHandle, CString strAttribute);
void XmlSetText(int nElmHandle, CString strValue);
CString XmlGetText(int nElmHandle);
CString XmlGetElementName(int nElmHandle);
void XmlDeleteDoc(int nHandle);
};
//class representing a money object
class CMoney {
void CalculateNewCurrency(int nNewCurrency);
int GetCurrency();
double GetCurrencyValue(int nCurrency);
double GetValue(int nCurrency, BOOL bDontRound);
double GetValueInUserCurrency();
CString GetText(CString strCurrency, BOOL bNoThousandPoint);
CString GetTextInCurrency(int nCurrency, BOOL bNoThousandPoint);
CString GetTextInUserCurrency(BOOL bNoThousandPoint);
CString GetTextFormat(CString strFormat, BOOL bNoThousandPoint);
CString GetTextFormatInCurrency(CString strFormat, int nCurrency, BOOL bNoThousandPoint);
CString GetTextFormatInUserCurrency(CString strFormat, BOOL bNoThousandPoint);
CString GetTextWithoutCurrencyString(CString strCurrency, BOOL bNoThousandPoint);
CString GetTextWithoutCurrencyStringInUserCurrency(BOOL bNoThousandPoint);
void Round(int nPositions);
void RoundFranken();
void SetCurrencyValue(int nCurrency, double dValue);
void SetValue(double dValue);
void SetCurrency(int nCurrency);
void SetMoney(CString strValue);
};
//class representing a string object
class CString {
void AddHtml(CString strSource, BOOL bDelimiterSourceInDiv);
void AddIntegerToString(int nValue);
void AddIntegersToString(CString strValues);
void AddRTF(CString strNewText);
void Any2HTML(BOOL bDontGenerateInlineHtml, BOOL bDontReplaceNumberedHtmlEntities);
int CompareNoCase(CString strParam1);
int Compare(CString strParam1);
void ConvertToBase64(bool bIsBinaryString);
void ConvertFromBase64(bool bMakeBinaryString, int nReadBytes);
void ConvertToHexString(CStringA straSource, CStringA straHex);
void ConvertFromQuotedPrintable(int* pData, long nLength);
int Delete(int nStart, int nCount);
void DeleteQuotes();
void Empty();
int Find(CString strParam1, int nStartPos);
int FindCaseInsensitive(CString strParam1, int nStartPos);
int FindLast(CString strParam1);
int FindOneOf(CString strParam1);
int GetLength();
int GetLineNumber();
int GetAt(int nPos);
void Get2Parts(CString* pstrLeft, CString* pstrRight, CString strTab);
BOOL HasQuotes();
int Insert(int nPosition, CString strValue);
void InsertHtml(CString strTarget, CString strSource, CString strPlaceholder, BOOL bDelimiterSourceInDiv);
BOOL IsIntegerInString(int nValue);
BOOL IsTagInString(CString strTag);
CString Left(int nCount);
void MakeMinLength(int nMinLength, CString strLastChar, BOOL bAddInFront);
void MakeLastChar(CString strLastChar);
CString Mid(int nStartPos, int nCount);
void MakeUpper();
void MakeUpperOneChar(int nPos);
void MakeLower();
void MakeLowerOneChar(int nPos);
void MakeReverse();
void MakeFromCHAR(int nChar, char cChar);
void MakeFromINT(int nValue, BOOL bThousandPoint, CString strNewString, strNewString.Format(_T("%i"), nValue));
void MakeFromDOUBLE(double dValue, int nPostComma, BOOL bThousandPoint);
void MakeFromPERCENT(double dValue, int nPostComma);
void PrepareStringForXML();
CString Right(int nCount);
void RemoveIntegerFromString(int nValue);
void RemoveIntegersFromString(CString strValues);
void ReplaceNoCase(CString strSearch, CString strReplace);
int Replace(CString strSearch, CString strReplace);
void ReplaceCharsNotInList(CString strCharList, CString strReplaceWith);
void ReplaceUmlaut(BOOL bReplaceHTMLCodes);
void RemoveLeadingZero();
void RemoveLeadingChar(CString strRemoveChar);
void RemoveTrailingChar(CString strRemoveChar);
void RTFSetFontSize(int nFontSize, int nStartPos, int nEndPos);
void RTFSetFontName(CString strName, int nStartPos, int nEndPos);
void RTFSetStyleBold(BOOL bBold, int nStartPos, int nEndPos);
void RTFSetTabStops(CString strTabStops, int nStartPos, int nEndPos);
void RTF2HTML(BOOL bIgnoreFontFace, BOOL bFontSizePoints, BOOL bParagraphAsLine);
void RTFTrim();
int ReplaceJoin(CString strTable, CString strToReplace, CString strJoin);
void SetAt(int nPosition, CString strValue);
void SetLastChars(CString strLastChar);
void StripHTML();
void StripRTF();
void Trim();
void TrimLeft();
void TrimRight();
};
//class representing a table object
//table is like a spreadsheet, contains rows and columns, each column can have a different type of data
class CTable {
int AddRow(CString strContent);
int AddColumn(CString strName, int nType, int nColumnParameter);
void AddColumnsFromTable(CTable* pTable1);
void AddElement(int nTargetCol, int nTargetRow, int nSourceCol, int nSourceRow, CTable* pTable1);
void AddElements(CString strTargetCols, int nTargetRow, CString strSourceCols, int nSourceRow, CTable* pTable1);
void AddAllRowsFromTable(CTable* pTable1);
void AddAllInexistentRowsFromTable(CTable* pTable1, int nIDCol);
int AddRowFromTable(int nSourceRow, CTable* pTable1);
void AddElementSTRING(int nColumn, int nRow, CString strValue);
void AddElementLINK(int nColumn, int nRow, int nLink);
void AddElementINT(int nColumn, int nRow, int nValue);
void AddElementDOUBLE(int nColumn, int nRow, double nValue);
void AddElementMONEY(int nColumn, int nRow, CMoney mValue);
void AddElementDATE(int nColumn, int nRow, CDateTime dtValue);
void Aggregate(int nColAggregate, int nColValue1, int nColValue2, int nColValue3, int nColValue4, int nColValue5, int nColValue6, int nColValue7, int nColValue8, int nColValue9, int nColValue10, int nColValue11, int nColValue12, int nColValue13, int nColValue14, int nColValue15, int nColValue16);
void AggregateEx(int nColAggregate, int nAggregateFunction, int nAggregateType);
void AggregateMultipleColumns(CString strColsAggregate, CString strColsValues);
CTable CalculateReport(int nAggregateColumn, int nAggregateType, int nComputeColumn, int nComputeType, CString strFormula, int nNameColumn1, int nNameColumn2, CDateTime PeriodeStart, CDateTime PeriodeEnd);
void ClearRow(int nRow);
void ClearColumnElements(int nCol);
void CopyRowFromTable(int nTargetRow, int nSourceRow, CTable* pTable1);
void CopyElement(int nTargetCol, int nTargetRow, int nSourceCol, int nSourceRow, CTable* pTable1);
void CopyElements(CString strTargetCols, int nTargetRow, CString strSourceCols, int nSourceRow, CTable* pTable1);
void CombineTable(CTable* pTable1, int nColIdentifier, int nColName, int nColAddValue1, int nColAddValue2, int nSortDir);
void CreateWordMailList(CString strFile);
void CreateFormatingTableColumns(CTable* pTable1);
BOOL Col1IsBeginningOfCol2(int nCol1, int nCol2, int nRow, BOOL bRemoveLeadingZero, BOOL bMustHaveContent);
void DeleteAll();
void DeleteAllRows();
void DeleteAllColumns();
void DeleteColumn(int nColumn);
void DeleteColumnByIdentifier1(int nIdentifier1);
void DeleteColumnByIdentifier2(int nIdentifier2);
void DeleteRow(int nRow);
int DeleteRowsColumnCondition(int nColumn1, double dCondition1, int nColumn2, double dCondition2);
int DeleteRowsColumnConditionNOT(int nColumn1, double dCondition1);
BOOL ExcelGetDocumentProperties(CString strFileName, CString* strError);
CString ExtractUniqueNumbers(int nColumn);
CString FormatStringFromContent(CString strFormat, CString strSeparator, int nRowStart, int nRowEnd, int nColumn);
int GetColumnType(int nColumn);
int GetColumnIdentifier1(int nColumn);
int GetColumnIdentifier2(int nColumn);
int GetColumnParameter(int nColumn);
int GetColumnPrecisionPreComma(int nColumn);
int GetColumnPrecisionPostComma(int nColumn);
CString GetColumnName(int nColumn);
int GetColumnNumber(CString strColumnName);
int GetColumnNumberInexact(CString strText1, int* pnExactStatus, int* pnTruncateLength);
int GetColumnNumberIdentifier1(int nID);
int GetColumnNumberIdentifier2(int nID);
int GetColumnNumberIdentifier(int nID1, int nID2);
int GetColumnCount();
int GetRowCount();
CString GetRowContent(int nRow);
CString GetRowXML(int nRow, CString strColumns, BOOL bStripRTF);
CString GetTableXML(CString strColumns, BOOL bStripRTF, CString strElementSeparator);
CString GetRowContentSelection(int nRow, CString strColumns);
CString GetTableAsText(BOOL bShowFirstColumn, BOOL bShowColumns, BOOL bDontCheckColType);
void GetElementSTRING(int nColumn, int nRow, int nCodePage);
CString GetElementTEXT(int nColumn, int nRow, int nCodePage);
CString GetElementDATA(int nColumn, int nRow);
CTable GetElementTABLE(int nColumn, int nRow);
BOOL GetElementBOOL(int nColumn, int nRow);
int GetElementINT(int nColumn, int nRow);
double GetElementDOUBLE(int nColumn, int nRow);
CDateTime GetElementDATE(int nColumn, int nRow);
CMoney GetElementMONEY(int nColumn, int nRow);
CTable GetElementLinkRecord(int nColumn, int nRow);
CString GetElementLinkText(int nColumn, int nRow, int nLinkColumn);
int GetLinkCount(int nColumn, int nRow);
double GetCount(int nColumn);
int GetMinRow(int nColumn, BOOL bDontAllowZero);
int GetMaxRow(int nColumn);
double GetMinDOUBLE(int nColumn, BOOL bDontAllowZero);
double GetMaxDOUBLE(int nColumn);
double GetSumDOUBLE(int nColumn);
double GetAverageDOUBLE(int nColumn);
CMoney GetMinMONEY(int nColumn, int cCurrency);
CMoney GetMaxMONEY(int nColumn, int cCurrency);
CMoney GetSumMONEY(int nCol, int cCurrency);
CMoney GetAverageMONEY(int nCol, int cCurrency);
CDateTime GetMinTIME(int nCol, BOOL bAllowZero);
CDateTime GetMaxTIME(int nCol);
CDateTime GetSumTIME(int nCol);
CDateTime GetAverageTIME(int nCol);
void ImportStringWithFormat(int nRow, CString strText, CString strFormat, CString strTrennzeichen);
void ImportStringWithFormatAllRows(CString* pstrText1);
int InsertColumn(int nPos, CString strName, int nType, int nColumnParameter);
int InsertRow(int nRow);
BOOL IsSameRow(int nThisRow, int nOtherRow, CTable* pOtherTable, CString strCompareCols);
BOOL IsSameTable(CTable* pOtherTable);
void LoadElementFromDisk(int nCol, int nRow, CString strFileName);
void MoveColumn(int nNewColumnNumber, int nOldColumnNumber);
void OpenDocumentReplaceText(CString strFile);
void ParseAssignmentString(CString strParseString);
void ParseAssignmentStringRow(CString strParseString, int nRow);
void ReadFromExcel(int nStartCol, int nStartRow, int nEndCol, int nEndRow, CString strFileName, int nSheet);
void ReadFileAsTable(CString strFileName, BOOL bNoHeader, int nScanLines, BOOL bAlwaysUseVarstring, int nStartRow, int nEndRow);
void RenumberAllColumnIdentifier2();
void SaveTableToDisk(CString strFileName, int nCodePage);
BOOL SaveTableAsTextToDisk(CString strFileName, BOOL bWriteColumnNames, BOOL bSetQuotes, CString strSeperator, BOOL bAppend, BOOL bUTF8);
void SaveElementToDisk(int nCol, int nRow, CString strFileName);
CTable SaveMailAttachmentsToDisk(int nRow, CString strPath);
int SearchLongestFit(CString strSearchText, int nCol, BOOL bBinary);
void SetSameColumns(CTable* pTable1);
void SetColumnsForTable(int nTable);
void SetColumnType(int nColumn, int nType);
void SetColumnName(int nColumn, CString strName);
void SetColumnIdentifier1(int nColumn, int nIdentifier);
void SetColumnIdentifier2(int nColumn, int nIdentifier);
void SetColumnAlign(int nColumn, int nAlign);
void SetColumnParameter(int nColumn, int nParameter);
void SetColumnWidth(int nColumn, int nWidth);
void SetColumnPrecisionPreComma(int nColumn, int nWidth);
void SetColumnPrecisionPostComma(int nColumn, int nWidth);
void SetColumnActive(int nColumn);
void SetColumnInActive(int nColumn);
void SetAllColumnParameter(int nParameter);
void SetAllColumnWidth(int nWidth, int nCols);
void SetAllColumnPrecisionPreComma(int nWidth, int nCols);
void SetAllColumnPrecisionPostComma(int nWidth, int nCols);
void SetAllColumnActive(int nCols);
void SetAllColumnInActive(int nCols);
void SetAllElementsINT(int nCol, int nValue);
void SetAllElementsSTRING(int nCol, CString strValue);
void SetFirstColumn(int nColumn);
void SetLastColumn(int nColumn);
void SetRowContent(int nRow, CString strContent);
void SetRowContentSelection(int nRow, CString strValues, CString strCols);
void SetElementDATA(int nColumn, int nRow, CString strContent);
void SetElementSTRING(int nColumn, int nRow, CString strContent);
void SetElementTEXT(int nColumn, int nRow, CString strContent);
void SetElementTABLE(int nColumn, int nRow, CTable* pTable1);
void SetElementBOOL(int nColumn, int nRow, BOOL bValue);
void SetElementint(int nColumn, int nRow, int nValue);
void SetElementINT(int nColumn, int nRow, int nValue);
void SetElementDOUBLE(int nColumn, int nRow, double nValue);
void SetElementMONEY(int nColumn, int nRow, CMoney mValue);
void SetElementDATE(int nColumn, int nRow, CDateTime dtValue);
void SetElementFromBase64(int nColumn, int nRow, CString strBase64);
void SortTable(int nDir, int nCol1, int nCol2, int nCol3, int nCol4, BOOL bSortAsTextAlways);
void SortTableSpecial(CString strOrder);
void SetActiveRow(int nRow);
void SetActiveRowFromItem(int nItem);
void SetActiveRowNone();
int SearchDate(CDateTime dtDate, int nCol, int nStartPos);
int SearchMoney(CMoney mValue, int nCol, int nStartPos);
int SearchNumber(int nNumber, int nCol, int nStartPos);
int SearchNumberLast(int nNumber, int nCol, int nMaxRow);
int Search2Numbers(int nNumber1, int nCol1, int nNumber2, int nCol2, int nStartPos);
int Search2NumbersLast(int nNumber1, int nCol1, int nNumber2, int nCol2);
int Search3Numbers(int nNumber1, int nCol1, int nNumber2, int nCol2, int nNumber3, int nCol3, int nStartPos);
int Search3NumbersLast(int nNumber1, int nCol1, int nNumber2, int nCol2, int nNumber3, int nCol3);
int SearchText(CString strText1, int nCol, int nStartPos, BOOL bBinary);
int SearchTextBeginning(CString strText1, int nCol, int nStartPos, BOOL bBinary);
int SearchTextBinary(CString strText1, int nCol, BOOL bBeginning, int* pnLastPosition);
int SearchNumberBinary(int nNumber, int nCol, int* pnLastPosition);
int SearchTextInexact(CString strText1, int nCol, int nStartPos, int* pnExactStatus, int* pnTruncateLength);
int SearchNumberAndMoney(int nNumber1, int nCol1, CMoney mMoney1, int nCol2, int nStartPos);
int SearchNumberAndText(int nNumber1, int nCol1, CString strText1, int nCol2, int nStartPos);
int Search2NumbersAndText(int nNumber1, int nCol1, int nNumber2, int nCol2, CString strText1, int nCol3, int nStartPos);
int Search3NumbersAndText(int nNumber1, int nCol1, int nNumber2, int nCol2, int nNumber3, int nCol3, CString strText1, int nCol4, int nStartPos);
int Search4NumbersAndText(int nNumber1, int nCol1, int nNumber2, int nCol2, int nNumber3, int nCol3, int nNumber4, int nCol4, CString strText1, int nCol5, int nStartPos);
int Search5NumbersAndText(int nNumber1, int nCol1, int nNumber2, int nCol2, int nNumber3, int nCol3, int nNumber4, int nCol4, int nNumber5, int nCol5, CString strText1, int nCol6, int nStartPos);
int SearchTextMultiple(CString strText1, CString strText2, CString strText3, CString strText4, CString strText5, int nCol1, int nCol2, int nCol3, int nCol4, int nCol5, int nStartPos);
void SetOutputCurrency(CString strCurrency, CMoney Money1, int nCurrency);
void SetOutputCurrencyNumber(int nCurrency);
void SetTableAsText(CString strText, BOOL bImportColumns);
BOOL WordGetDocumentProperties(CString strFileName, CString* strError);
void WordGetTextBetweenTagsAsRTF(CString strFile, BOOL bAutoClose);
void WordReplaceTextBetweenTags(CString strFile, BOOL bAutoClose, long nColTags, long nColReplacement, BOOL bFormat);
void WordReplaceTextBetweenTagsAsRTF(CString strFile, BOOL bAutoClose, long nColTags, long nColReplacement, BOOL bFormat);
void WordReplaceTextAsRTF(CString strFile, BOOL bAutoClose, BOOL bFormat);
void WordReplacePlaceholders(CString strFile, BOOL bAutoClose, long nColPlaceholder, long nColReplacement, BOOL bFormat);
void WordReplacePlaceholdersInTextboxes(CString strFile, BOOL bAutoClose, long nColPlaceholder, long nColReplacement, BOOL bFormat);
void WordReplacePlaceholdersInMaintext(CString strFile, BOOL bAutoClose, long nColPlaceholder, long nColReplacement, BOOL bFormat);
void WordReplacePlaceholdersInHeaders(CString strFile, BOOL bAutoClose, long nColPlaceholder, long nColReplacement, BOOL bFormat);
void WordReplaceFormFields(CString strFilename);
void WordInsertPictures(CString strFile);
void WordInsertTable(CString strFile, CString strPlaceholder, int nRowGroupSize, BOOL bBorderVisible);
void WriteToExcel(int nStartCol, int nStartRow, CString strSaveAs, CTable* pFormatTable, CString strSheetname, CString strOpenOriginalFile, BOOL bOnlyReplaceValidContent, int nSheetNumber);
};