AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

Ein Thema von SearchBot · begonnen am 26. Nov 2024 · letzter Beitrag vom 28. Nov 2024
Antwort Antwort
SearchBot
Online

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
316 Beiträge
 
Delphi 12 Athens
 
#1

Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 26. Nov 2024, 14:23
Delphi-Version: 12 Athens
Hi,

bei Delphi 12 habe ich als Neuerung gelesen, daß ich Stringlisten im Quelltext einfach anlegen kann, wenn ich sie mit 3 Hochkommas (Hochkommata) einleite und beende.

Es ist aber unglaublich schwierig, hierzu eine Erläuterung in der Hilfe zu finden, weil ''' als Suchbegriff irgendwie nicht funktioniert.
Ich weiß nämlich gerade nicht, wie ich es korrekt im Quelltext reinschreibe, damit die IDE es versteht und mir nicht als Fehler ankreidet.

Delphi-Quellcode:
  Stringliste1.AddStrings(
  '''
Zeile1
Zeile2
'''
  ); // <---- mag die Klammer da nicht? "E2192 Konstanten dürfen nicht für offene Array-Argumente verwendet werden"
Geht das überhaupt so (ich habe mehr als 2 Zeilen, natürlich), oder wie wo finde ich die genaue Syntax (weiß nicht, wie man diese Schreibweise nennt)?
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.613 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 26. Nov 2024, 14:30
Nein, nicht so, aber Du kannst den String auf die Text-Property zuweisen.
Thomas Mueller
  Mit Zitat antworten Zitat
SearchBot
Online

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
316 Beiträge
 
Delphi 12 Athens
 
#3

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 26. Nov 2024, 14:48
Ah, danke.

Zwischenzeitlich habe ich die Stelle wieder gefunden, wo ich es gelesen hatte:
https://docwiki.embarcadero.com/RADS...tring-Literale

Dort heißt es noch, "Weitere Informationen zu langen und mehrzeiligen String-Literalen und den Einzugsregeln finden Sie auf unserer Dokumentationsseite zu String-Typen."

Nein, findet man dort derzeit nicht!
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.613 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 26. Nov 2024, 15:53
Das Beispiel dort ist auch ein einzelner String, die Zeilen mit "[" und "]" sind Teil des Multline-Stringliterals.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 26. Nov 2024, 16:10
AddStrings will eine Liste (String-Array oder TStrings/TStingList)
Add will "einen" String

Du hast einen String, der mehrere Zeilen darstellt.



Wenn es eine "Datei" oder ein TMemo ist, dann
Add statt AddStrings

oder du mußt den MultiString splitten und als Array oder StringList an AddStrings übergeben.
Delphi-Quellcode:
  {$TEXTBLOCK LF} 
  StringListe1.AddStrings(
    '''
Zeile1
Zeile2
'''.Split([#10])
  );
ABER, wenn in der StringList anschließend, ohne Speichern und Neuladen, durch die Lines glaufen werden soll, dann klappt das mit dem Add(MultiLineString) nicht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (26. Nov 2024 um 16:19 Uhr)
  Mit Zitat antworten Zitat
SearchBot
Online

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
316 Beiträge
 
Delphi 12 Athens
 
#6

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 27. Nov 2024, 16:31
Oh, das mit dem .split() finde ich interessant. Danke für diesen Tipp.

In meinem Fall habe ich es StringList.text zugewiesen.
Danach konnte ich wie gewünscht auf die Elemente zugreifen (zB. StringList[1]).
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.064 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 28. Nov 2024, 14:01
Ich verstehe nicht, warum für mehrzeilige Strings eine neue Syntax eingeführt wurde. Es besteht keine Verwechslungsgefahr mit irgendeiner bestehenden Syntax, wenn man einfach mehrzeilige Strings mit bestehender Syntax erlaubt hätte. Sieht vielleicht blöd aus, wenn die erste Zeile direkt hinter dem Hochkomma steht.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.463 Beiträge
 
Delphi 12 Athens
 
#8

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 28. Nov 2024, 14:06
Das hätte aber die Möglichkeit genommen, die weiteren Zeilen eingerückt darzustellen ohne diese Einrückung in den String zu übernehmen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringlisten erzeugen mit 3 Hochkommata ''' im Quelltext

  Alt 28. Nov 2024, 14:37
Ich hätte eher das doppelte " verwendet, dann hätte man das NichtEscapen von ' auch bei Einzeilig gehabt.

Vorteil am MultiLineString ist, dass man ' darin nicht verdoppeln muß,
bzw., wenn ''' oder mehr im String vorkommen, dann entsprechend die umgebenden ''' verlängern, also ''''', ''''''' usw. (ungerade Anzahl)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:25 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