Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Zeilenumbruch verbessern (https://www.delphipraxis.net/200942-zeilenumbruch-verbessern.html)

EWeiss 10. Jun 2019 11:58


Zeilenumbruch verbessern
 
Wie kann man das besser lesbar machen.. Mich stören die vielen "#13#10"

Delphi-Quellcode:
    sYear := FormatDateTime('yyyy', Date);
    MessageStr := 'Version 1.00' + #13#10#13#10 + 'Author Not Yet' + #13#10 + 'copyright (c) ' +
          sYear + #13#10 + 'wwww.yourweb.com' + #13#10#13#10#13#10#13#10#13#10#13#10#13#10 +
          'SK_AERO Library' + #13#10 + 'BrewIdeas©Emil Weiss';
Gibt es da keine andere Art der Formatierung für die Umbrüche?
bsp. n\n\n\\n

gruss

peterbelow 10. Jun 2019 12:19

AW: Zeilenumbruch verbessern
 
Zitat:

Zitat von EWeiss (Beitrag 1434269)
Wie kann man das besser lesbar machen.. Mich stören die vielen "#13#10"

Delphi-Quellcode:
    sYear := FormatDateTime('yyyy', Date);
    MessageStr := 'Version 1.00' + #13#10#13#10 + 'Author Not Yet' + #13#10 + 'copyright (c) ' +
          sYear + #13#10 + 'wwww.yourweb.com' + #13#10#13#10#13#10#13#10#13#10#13#10#13#10 +
          'SK_AERO Library' + #13#10 + 'BrewIdeas©Emil Weiss';
gruss

Du kannst anstelle #13#10 die sLinebreak-Konstante verwenden, aber das ändert das Grundproblem natürlich nicht. Der IDE Editor erlaubt aber keine String-Konstanten, die mehrere Zeilen enthalten, bei denen also die im Editor eingegebenen Zeilenumbrüche Teil des Strings sein sollen.

Was man natürlich machen kann ist innerhalb der Konstante einen Platzhalter zu verwenden, z. B. "|". Denn muß man dann per StringReplace durch einen Zeilenumbruch ersetzen, bevor man den String irgendwo verwendet.

Delphi-Quellcode:
   
const
  BreakPlaceholder = '|';
  Version = 'Version 1.00||Author Not Yet|copyright (c) %s|wwww.yourweb.com'
     + '|||||||SK_AERO Library|BrewIdeas©Emil Weiss';

function MakeMultilineText(const aTemplate: string): string);
begin
  result := StringReplace(aTemplate, BreakPlaceholder, sLinebreak, [rfReplaceAll]);
end;


 ...
 sYear := FormatDateTime('yyyy', Date);
 MessageStr := Format(MakeMultilineText(Version),[sYear]);

EWeiss 10. Jun 2019 12:23

AW: Zeilenumbruch verbessern
 
Danke Peter sieht gut aus werde das mal testen.

PS:
Funktioniert Super.. Macht zwar das gleiche ;) ist aber lesbarer\Verständlicher.

gruss

p80286 10. Jun 2019 13:44

AW: Zeilenumbruch verbessern
 
Wer gibt denn die Message aus?
Je nachdem kannst Du z.B. den VT (x0B) verwenden.

Gruß
K-H

Delphi.Narium 10. Jun 2019 15:48

AW: Zeilenumbruch verbessern
 
Wie wäre es denn mit sowas?
Delphi-Quellcode:
const
  csVersion = 'Version 1.00%1:s%1:sAuthor Not Yet%1:scopyright (c) %0:s%1:swwww.yourweb.com'
            + '%1:s%1:s%1:s%1:s%1:s%1:s%1:sSK_AERO Library%1:sBrewIdeas©Emil Weiss';
...
var
        MessageStr : String;
        sYear     : String;
begin
...
  sYear := FormatDateTime('yyyy', Date);
  MessageStr := Format(csVersion,[sYear,sLinebreak]);
  ShowMessage(MessageStr);
...
end;

EWeiss 10. Jun 2019 17:38

AW: Zeilenumbruch verbessern
 
Die Lösung von Peter ist gut für mich..
Danke.

gruss

EWeiss 11. Jun 2019 04:14

AW: Zeilenumbruch verbessern
 
Fertisch..

Es geht nur um das Interface..
Es gibt keine ausführende Funktionen

So werden die Button für das Menu erstellt.
Daraus ergibt sich dann einer dieser Einträge.

Delphi-Quellcode:
      btnMenu := CTRL_PushButtonCreate;
      btnMenu.ImagePath := SpriteResPath + 'BTN_Push.png';
      btnMenu.Text := PWideChar(sLabel);
      btnMenu.Left := 1 + 20;
      btnMenu.Top := Step;
      btnMenu.Width := w - (2 + 20);
      btnMenu.Height := Height;
      btnMenu.DlgItemID := ID;
      btnMenu.TextCol := gSprMenuC.GD_ARGB(255, 255, 255, 255);
      btnMenu.Label3D := -1;
      btnMenu.TextAlligment := Left;
      btnMenu.ImageStateMax := 0;
      btnMenu.ImageFrontPath := sResource;
      btnMenu.ImageFrontX := 4;
      btnMenu.ImageFrontY := 1;
      btnMenu.TextLeft := btnMenu.Left + 8;
      btnMenu.CreateWindow(HSprMenuC);
      btnMenu.Enabled := true;
      SKAERO_SetZorder(HSprMenuC, HWND_TOP);
      ShowWindow(btnMenu.Handle, SW_HIDE);

      if UseCheck then
      begin
        btnMenu.SetPrivateFont(SpriteResPath + 'Marlett.ttf', MarletFontName, 22,
          FontStyleRegular, gSprMenuC.GD_ARGB(255, 0, 0, 0), PWideChar(sCheck),
          w - (Height + 20), 2, Height - 4, 22, ID, SKAERO_BTNTEXTCOLOR,
          false, BS_LABEL_LEFT, -1, btnMenu.Handle);
      end;
gruss

EWeiss 12. Jun 2019 19:29

AW: Zeilenumbruch verbessern
 
Könnte mal bitte jemand das teil testen?
Es geht mir darum ob das Menu Flicker frei bei euch läuft.

Danke.

PS:
Seid so fair und gebt doch bitte eine Rückmeldung wenn ihr den Kram schon ladet. Thanks!
Andernfalls macht es keine sinn die Datei überhaupt runter zu laden.


Danke für das testen. (Anhang gelöscht)

gruss

holger_barntrup 13. Jun 2019 07:13

AW: Zeilenumbruch verbessern
 
Läuft bei mir leider nicht. Die Datei Graphics.dcu wird nicht gefunden.

TraumTaenzerDieter 13. Jun 2019 07:33

AW: Zeilenumbruch verbessern
 
Auf Win7x64 läuft es und auch flickerfrei.
Nur wenn ich die Fensterhöhe per Titlebar verändere
dann tun mir "die Augen weh".


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz