Einzelnen Beitrag anzeigen

Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Formatierter Text und String zusammenfügen

  Alt 18. Feb 2016, 11: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 = 'Jthen
      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ügenthen
       satz := Satz + Suchwort + '; '
    else
    if dmMain.ibqryOptionen.FieldByName('DIAGNOSE').AsString = 'Nur ICD 10 Code einfügenthen
       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
  Mit Zitat antworten Zitat