AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

strings und zeilenumbruch

Ein Thema von venice2 · begonnen am 21. Feb 2021 · letzter Beitrag vom 22. Feb 2021
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

strings und zeilenumbruch

  Alt 21. Feb 2021, 22:20
Mein String.

Delphi-Quellcode:
          DialogStr := gM.Title +
          { ' ' + Duration + } #13#10 + gM.release_date + #13#10 +
            gM.genre_ids + #13#10#13#10#13#10#13#10#13#10#13#10 + gM.overview;
Gibt es eine andere Möglichkeit für die Umbrüche?

#13#10#13#10#13#10#13#10#13#10#13#10
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.249 Beiträge
 
Delphi 12 Athens
 
#2

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:29
Es kommt drauf an.

#10
#13#10
#13 (macht z.B. intern das RichEdit, wobei TRichEdit "teilweise" es zu sLineBreak ändert/stringreplaced ... und sogar MacOS inzwischen standardmäßig von #13 zu #10 gewechselt ist)
sLineBreak

An ein TMemo oder eine TStringList kann man auch nur #10 übergeben, da es bei Übergabe automatisch zu #13#10 wird. (TStringList erlaubt alles im Eingang)
Auch MessageBox und Co. erlauben sowohl #10 als auch #13#10.

Man kann auch StringReplace von irgendeinem Zeichen nach #10/#13#10/sLineBreak machen, wenn man den String nicht "unterbrechen" will.

Aber manche APIs/Funktionen wollen ausschließlich #13#10 und behandeln #10 wie ein Zeichen, also nicht als Zeilenumbruch. (z.B. bekannt vom alten Windows-Notepad oder einigen Canvas-DrawText-Funktionen)

.............



Und wie wäre es mit Delphi-Referenz durchsuchenFormat?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Feb 2021 um 22:48 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:40
Wenn ich jetzt 12 Zeilenumbrüche erstellen will um zwischen einen String platz zu schaffen bin ich gezwungen die komplette Zeile zu übergeben.
Ist das so?

#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10 Wenn ja.. Schade das man das nicht kürzen kann.

bsp. LineBreak(12)
  Mit Zitat antworten Zitat
TKanne

Registriert seit: 6. Aug 2007
Ort: Berlin
24 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:40
Moin,

mich nervt auch immer das #13#10 getippe, habe mir delhalb in meine Unit mit diversen Stringroutinen eine kleine Funktion geschrieben:

Delphi-Quellcode:
function NewLine(Anzahl: Integer): string;
begin
  Result := '';
  if Anzahl > 0 then
    Result := DupeString(#13#10, Anzahl);
end;
Aufruf dann z.B.:
ShowMessage('a' + NewLine(2) + 'b');
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#5

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:43
Moin,

mich nervt auch immer das #13#10 getippe, habe mir delhalb in meine Unit mit diversen Stringroutinen eine kleine Funktion geschrieben:

Delphi-Quellcode:
function NewLine(Anzahl: Integer): string;
begin
  Result := '';
  if Anzahl > 0 then
    Result := DupeString(#13#10, Anzahl);
end;
Aufruf dann z.B.:
ShowMessage('a' + NewLine(2) + 'b');
Ahh
Selbst ist der Mann. Vielen Danke!

Genau das meinte ich.
  Mit Zitat antworten Zitat
TKanne

Registriert seit: 6. Aug 2007
Ort: Berlin
24 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:44
Oder man schreibt gleich
S := 'a' + DupeString(#13#10, 2) + 'b';
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#7

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 22:55
Zitat:
Oder man schreibt gleich
Ja wenn man es einmalig braucht.

Habe die umbenannt funktioniert gut. Danke nochmals.
Delphi-Quellcode:
function LineBreak(Count: Integer): string;
begin
  Result := '';
  if Count > 0 then
    Result := DupeString(#13#10, Count);
end;
Delphi-Quellcode:
          
DialogStr := gM.Title + LineBreak(1) + gM.release_date + LineBreak(1) +
  gM.genre_ids + LineBreak(8) + gM.overview;
Vorher hätte das so ausgesehen.
Delphi-Quellcode:
          
DialogStr := gM.Title + #13#10 + gM.release_date + #13#10 +
  gM.genre_ids + #13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10 + gM.overview;
Genug platz ohne diese #13#10 Umbruchstrings.
Kann jetzt adverage und vote dazwischen packen.

Geändert von venice2 (24. Feb 2021 um 02:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.249 Beiträge
 
Delphi 12 Athens
 
#8

AW: strings und zeilenumbruch

  Alt 21. Feb 2021, 23:07
Delphi-Quellcode:
function LineBreak(Count: Integer=1): string; // oder gleich LB
begin
  Result := '';
  if Count > 0 then
    Result := DupeString(sLineBreak, Count);
end;
?
Delphi-Quellcode:
DialogStr := gM.Title + LineBreak + gM.release_date + LineBreak +
  gM.genre_ids + LineBreak(8) + gM.overview;
Noch kürzer und keine MagicNumbers im Code.



Aber warum dort überhaupt ein Freiraum von unhandlicher Größe?
Zwei Texte ... der Eine von unten und der Andere von oben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Feb 2021 um 23:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
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