Skip to main content
Skip table of contents

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.


ParameterBeschreibung

uKey:U

ID oder Textname des gesuchten Textbausteins

oTargetDataSet:O

Tabelle, die im Autovervollständigungs-Codeblock des gewählten Textbausteins verfügbar sein soll.
z. B. beim Übergeben der DAB065 (Memos) kann in der Textbaustein-Verwaltung im Autovervollständigungs-Codeblock auf diese Tabelle zugegriffen werden um beispielsweise den Text aus dem Feld 'MEMO' auszulesen und verändert zurück zu geben.

cTargetDataField:C

Feldname des Feldes in das der Textbaustein nach der Auswertung eingefügt werden soll.
Dies ist ein reiner Informationswert für den Autovervollständigungs-Codeblock in der Textbausteinverwaltung.


Rückgabewert

Alphanumerisch - Textbaustein nach Auswertung des Codeblocks

Beispiel


CODE
//##############################################################################
//##############################################################################
// 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,
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.