GetTextMod()
GetTextMod() – Ermitteln eines Textbausteins
Ermittelt einen Textbaustein anhand der übergebenen Daten.
Hierbei wird auch der eventuell im Textbausteinfenster hinterlegte Codeblock des Textbausteins ausgeführt.
Parameter | Beschreibung |
---|---|
uKey:U | ID oder Textname des gesuchten Textbausteins |
oTargetDataSet:O | Tabelle, die im Autovervollständigungs-Codeblock des gewählten Textbausteins verfügbar sein soll. |
cTargetDataField:C | Feldname des Feldes in das der Textbaustein nach der Auswertung eingefügt werden soll. |
Rückgabewert
Alphanumerisch - Textbaustein nach Auswertung des Codeblocks
Beispiel
//##############################################################################
//##############################################################################
// Beschreibung: Testprogramm für die Funktion GetTextMod() mit Anzeige der
// Ergebnisse in einem RichEdit
//##############################################################################
//##############################################################################
|
m_oForm, m_oRichEdit, m_oInputPanel, m_oID, m_oTextName,
m_oMemTable, m_oGetTextModButton, m_oMemTableDataSource
|
//##############################################################################
//##############################################################################
// Funktionen
//##############################################################################
//##############################################################################
//******************************************************************************
// Erstellt eine Memtable die unter das RichEdit gelegt wird.
// @Result: null
//******************************************************************************
function OpenDataBase()
m_oMemTable := CreateObject('TMemCalcTable', 'TEXTMODTABLE', m_oForm, m_oForm),
MyAddMemField(m_oMemTable, 'MEMOFIELD', 'ftMemo', 9, ),
m_oMemTable.Active := True,
DBAppend(m_oMemTable),
m_oMemTable:MEMOFIELD := 'TESTTEXT',
DBPost(m_oMemTable),
m_oMemTableDataSource := CreateObject('TDataSourceEx', 'MEMDS', m_oForm, m_oForm),
m_oMemTableDataSource.DataSet := m_oMemTable,
end,
//##############################################################################
//##############################################################################
// Eventhandler
//##############################################################################
//##############################################################################
//******************************************************************************
// Beim Klicken auf den Button wird die Funktion GetTextMod ausgelöst und
// das Ergebnis in das Feld unter dem RichEdit geschrieben.
// @Result: null
//******************************************************************************
function DoOnGetTextModButtonClick()
| cTextModResult |
cTextModResult := '',
// Validierung
if empty(m_oID.Text) and empty(m_oTextName.Text) then
MessageDlg('Bitte eine ID oder einen Textbaustein-Namen eintragen'),
endif,
if not empty(m_oID.Text) then
cTextModResult := GetTextMod(Val(m_oID.Text), m_oMemTable, 'MEMOFIELD')
else if not empty(m_oTextName.Text) then
cTextModResult := GetTextMod(Trim(m_oTextName.Text), m_oMemTable, 'MEMOFIELD')
endif,
endif,
DBEdit(m_oMemTable),
m_oMemTable:MEMOFIELD := cTextModResult, ,
DBPost(m_oMemTable),
m_oID.Text := '',
m_oID.Text := '',
end,
//##############################################################################
//##############################################################################
// Oberflächen-Funktionen
//##############################################################################
//##############################################################################
//******************************************************************************
// Erstellt die Oberfläche
// @Result: null
//******************************************************************************
function CreateGUI()
m_oForm := CreateObject('TFormEx', 'TEXTMODFORM'),
m_oForm.OrigCapt := 'Anzeige des Ergebnis-Strings aus GetTextMod()',
m_oForm.Font.Name := 'Segoe UI',
m_oRichEdit := CreateObject('TBeRichEditEx', 'RICHEDT', m_oForm, m_oForm),
m_oRichEdit.AlignWithMargins := True,
m_oRichEdit.Align := alClient,
m_oRichEdit.Enabled := False,
m_oRichEdit.DataSource := m_oMemTableDataSource,
m_oRichEdit.DataField := 'MEMOFIELD',
m_oInputPanel := CreateObject('TBePanel', 'OptionsPanel', m_oForm, m_oForm),
m_oInputPanel.BevelOuter := bvNone,
m_oInputPanel.AlignWithMargins := True,
m_oInputPanel.Margins.Top := 0,
m_oInputPanel.Align := alBottom,
m_oInputPanel.Height := 27,
m_oID := CreateObject('TBeEdit', 'IDEDIT', m_oInputPanel, m_oInputPanel),
m_oID.Picture.PictureMask := '*[#]', // Nur Zahlen bei ID
m_oID.Text := '',
m_oID.TextHintProperties.TextHint := 'Hier eine ID eintragen',
m_oTextName := CreateObject('TBeEdit', 'TNEDIT', m_oInputPanel, m_oInputPanel),
m_oTextName.Width := 300,
m_oTextName.Left := 127,
m_oTextName.Text := '',
m_oTextName.TextHintProperties.TextHint := 'oder hier einen Textbaustein-Namen',
m_oGetTextModButton := CreateObject('TBeBitBtn', 'GETTXTMODBTN', m_oInputPanel, m_oInputPanel),
m_oGetTextModButton.Align := alRight,
m_oGetTextModButton.Width := 150,
m_oGetTextModButton.Caption := 'Textbaustein auswerten',
AssignEvent(m_oGetTextModButton, 'OnClick', 'DoOnGetTextModButtonClick'),
end,
//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
startseq
OpenDataBase(),
CreateGUI(),
ShowModal(m_oForm)
onerror
MessageDlg('Fehler im Programm ' + ProgName() + GetErrorText(), mtError),
stopseq,