![]() |
MessageDlg : Anzeigetext mit Datenbankfeldern - Code kürzen?
Hallo,
ich gebe in meinem Programm an verschiedenen Stellen Fehlermeldungen / Hinweistext nach folgendem "Strickmuster" aus:
Delphi-Quellcode:
Es ist möglich, einen Text als Konstante zu definieren, und dann den Code
if MessageDlg('Der (Vor-/Nach)Name wurde geändert.' + #13#10#10 +
'alter Eintrag :' + Patname_Oldvalue + ' ' + VName_Oldvalue + #13#10 + 'neuer Eintrag :' + SQL_PatientPATNAME.AsString + ' ' + SQL_PatientVNAME.AsString + #13#10#10 + 'Soll diese Änderung rückgängig gemacht werden? ' + #13#10, mtWarning, [mbYes, mbNo], 0) = mrYes then.... folgendermasen zu verkürzen:
Delphi-Quellcode:
Gibt es eine Möglichkeit eine Konstante o.ä. zu definieren und die variablen Teile
if MessageDlg (Ausgabetext,mtWarning,[mbYes,mbNo],0...
nachträglich einzutragen? Oder lös' ich das Problem mit einer Funktion? Hintergrund: Der Code ist inzwischen sehr unübersichtlich - aber ich muß bei verschiedenen Fehlern richtige Romane schreiben....! Vielen Dank für Eure Hilfe Ines |
Re: MessageDlg : Anzeigetext mit Datenbankfeldern - Code kür
wenn du mit Format arbeitest könntest du den Formatstring als Constante declarieren.
|
Re: MessageDlg : Anzeigetext mit Datenbankfeldern - Code kür
Hallo,
schreibe eigene Funktion MBError, die intern das gewünschte tut.
Delphi-Quellcode:
Und die Funktino kannst du dann überladen,
procedure MBError(const Msg1: String);
begin Screen.Cursor:= crDefault; MessageDlg(Msg1, mtError, [mbOk], 0); end; um ähnliche Sachen anzuzeigen. Heiko |
Re: MessageDlg : Anzeigetext mit Datenbankfeldern - Code kür
Delphi-Quellcode:
Um den Vorschlag mit Format mal etwas zu präzisieren.
ResourceString/Const
coForenameChanged = 'Der (Vor-/Nach)Name wurde geändert.'#13#10#10'alter Eintrag : %s %s'#13#10 + 'neuer Eintrag : %s %s'#13#10#10'Soll diese Änderung rückgängig gemacht werden? '#13#10; ... Begin if MessageDlg(Format(coForenameChanged, [Patname_Oldvalue, VName_Oldvalue, SQL_PatientPATNAME.AsString, SQL_PatientVNAME.AsString]), mtWarning, [mbYes, mbNo], 0) = mrYes then.... |
Re: MessageDlg : Anzeigetext mit Datenbankfeldern - Code kür
Vielen Dank für Eure schnelle Hilfe!
Den Hinweis von Sir Thornberry habe ich dank des Codes von Muetze1 bereits in mein Programm eingebaut. Heiko: Das mit dem Überladen der Funktion muß ich mir nochmals durch den Kopf gehen lassen - ganz verstanden hab' ich es noch nicht. Grüße Ines |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz