Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
397 Beiträge
Delphi 10.4 Sydney
|
AW: Formatierter Text und String zusammenfügen
18. Feb 2016, 12:13
Hier mal meine Procedure wie ich es bislang gelöst habe. Leider verlieren ich hier alle Schriftattribute.
Delphi-Quellcode:
procedure TRechnungsSerienDruckFrm.AktualisiereRechnungDiagnose;
var Satz : String;
Suchwort : String;
LetztesDatum : String;
begin
TempQry.Close;
TempQry.SQL.Text := 'Select BEHANDLUNGSDATUM, GebuehNr, Suchwort, Text from tbl_Rechnungspositionen '
+ 'where RechnungNr = :RechnungNr and Typ = ''D'' ';
TempQry.ParamByName('RechnungNr').AsInteger := RechnungQry.FieldByName('RechnungNr').AsInteger;
TempQry.Open;
DiagnoseEdit.Clear; //
LetztesDatum := '';
While not TempQry.Eof do
begin
satz := '';
if dmMain.ibqryOptionen.FieldByName('DIAGNOSEDATUM').AsString = 'J' then
if LetztesDatum <> FormatDateTime('dd.mm.yyyy', TempQry.FieldByName('Behandlungsdatum').AsDatetime) then
begin
LetztesDatum := FormatDateTime('dd.mm.yyyy', TempQry.FieldByName('Behandlungsdatum').AsDatetime);
Satz := FormatDateTime('dd.mm.yyyy', TempQry.FieldByName('Behandlungsdatum').AsDatetime) + ': ';
end;
ManuelleDiagnoseEdit.AsString := TempQry.FieldByName('Text').AsString;
Suchwort := StringReplace(ManuelleDiagnoseEdit.Text, #13#10, ' ', [rfReplaceAll]);
if Suchwort = '' then
Suchwort := TempQry.FieldByName('Suchwort').AsString;
if dmMain.ibqryOptionen.FieldByName('DIAGNOSE').AsString = 'Diagnose einfügen' then
satz := Satz + Suchwort + '; '
else
if dmMain.ibqryOptionen.FieldByName('DIAGNOSE').AsString = 'Nur ICD 10 Code einfügen' then
satz := Satz + TempQry.FieldByName('GebuehNr').AsString + '; '
else
begin
if TempQry.FieldByName('GebuehNr').AsString > '' then
satz := Satz + TempQry.FieldByName('GebuehNr').AsString + ', ' + Suchwort + '; '
else
satz := Satz + Suchwort + '; '
end;
DiagnoseEdit.CPPosition := MaxInt;
DiagnoseEdit.InputString(Satz);
TempQry.Next;
end;
if TempQry.IsEmpty then
DiagnoseEdit.AsString := PatientQry.FieldByName('PatDiagnose').AsString; //Abwärtskompatibilität
TempQry.Close;
DiagnoseEdit.SelectAll;
DiagnoseEdit.CurrAttr.FontName := ProgOptions.Texteditor.FontName;
// DiagnoseEdit.CurrAttr.Size := ProgOptions.Texteditor.FontSize;
// if ProgOptions.Texteditor.Bold then
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style + [afsBold]
// else
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style - [afsBold];
// if ProgOptions.Texteditor.Italic then
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style + [afsItalic]
// else
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style - [afsItalic];
// if ProgOptions.Texteditor.Underline then
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style + [afsUnderline]
// else
// DiagnoseEdit.CurrAttr.Style := DiagnoseEdit.CurrAttr.Style - [afsUnderline];
if pgcRechnungen.ActivePage = TabEinzel_Rechnungen then
begin
RechnungQry.Edit;
RechnungQry.FieldByName('Diagnose').asString := DiagnoseEdit.AsString;
RechnungQry.Post;
end;
if pgcRechnungen.ActivePage = TabSammelRechnungen then
begin
if PatientQry.FieldByName('PATIENTNR').Value = Patientnr then
begin
UpdateSammeldiagnoseQry.ParamByName('RECHNUNGNR').Value := RechnungQry.FieldByName('RECHNUNGNR').Value;
UpdateSammeldiagnoseQry.ParamByName('PATIENTNR').Value := Patientnr;
UpdateSammeldiagnoseQry.ParamByName('DIAGNOSE').AsString := DiagnoseEdit.AsString;
UpdateSammeldiagnoseQry.ExecSQL;
end
else
begin
InsSammeldiagnose.ParamByName('SAMMELDIAGNOSENR').Value := dmMain.GetGeneratorWert('GEN_TBL_SAMMELDIAGNOSE');
InsSammeldiagnose.ParamByName('RECHNUNGNR').Value := RechnungQry.FieldByName('RECHNUNGNR').Value;
InsSammeldiagnose.ParamByName('PATIENTNR').Value := PatientQry.FieldByName('PATIENTNR').Value;
InsSammeldiagnose.ParamByName('DIAGNOSE').AsString := DiagnoseEdit.AsString;
InsSammeldiagnose.ExecSQL;
Patientnr := PatientQry.FieldByName('PATIENTNR').Value;
end;
end;
end;
Walter Landwehr Mfg
Walter
|
|
Zitat
|