Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Umbrüche in Projektdateien (https://www.delphipraxis.net/211822-umbrueche-projektdateien.html)

freimatz 7. Nov 2022 13:59

Umbrüche in Projektdateien
 
Hallo,
ich habe ein Tool, das Projektdateien (*.dproj) ändert. Dazu benutze ich ein TStringDynArray. Nun habe ich Probleme mit den Umbrüchen. In der Regel und so auch jetzt schreibt das Tool CRLF als Umbruch in die Datei. (TFile.WriteAllLines(p_Filename, lines, TEncoding.UTF8)
Nun haben im Orginal zwischen <PostBuildEvent> und </PostBuildEvent> die Umbrüche nur ein CR. Das Tool macht dann auch hier CRLF daraus. Dann gibt es Fehler beim Builden.
Warum ist die IDE da so komisch? Wie kann ich das Problem lösen? (Ohne grossen Aufwand.)
ok ich könnte das Ergebnis nochmals nur als String behandeln und das korrigieren...

Bernhard Geyer 7. Nov 2022 14:32

AW: Umbrüche in Projektdateien
 
Die Delphi Projektdateien sind XMl-Dateien.
Lesen und Schreiben sollte man nur mit einem XML-Parser

Und ich vermute das diese "nur CR" absichtlich gewählt wurde.
Ein richtiger XML-Parser wird das auch wieder so herstellen und damit keine Probleme verursachen.

freimatz 8. Nov 2022 10:35

AW: Umbrüche in Projektdateien
 
Danke für die Antwort. XML ist mir zu aufwendig. Habe inzwischen eine Lösung mit Zeile mehr gefunden.
Delphi-Quellcode:
var
  all: string;
begin
  all := TFile.ReadAllText(p_Filename);
  //Umbrüche nur mit CR werden ignoriert, diese kommen zwischen "<PostBuildEvent> und </PostBuildEvent>" vor
  Result := all.Split([#$0D#$0A]);
end;

himitsu 8. Nov 2022 10:53

AW: Umbrüche in Projektdateien
 
Und wenn Emba mal wieder das Format der DPROJ ändert, dann raucht dein Code ab, was bei "richtiger" Verwendung von XML nicht passiert.

Und die haben schon mehrmals da ordentlich was dran geändert
* 'nen Indentlevel weniger
* Leerzeichen oder Tabs
* ...

* und dann pfuschen auch einige Fremdkomponenten dran rum und ändern dabei auch gern was am Format (z.B. Eurekalog hatte mal seine Settings hinten angehängt)

freimatz 9. Nov 2022 13:53

AW: Umbrüche in Projektdateien
 
Das kann auch bei "richtiger" Verwendung von XML passieren dass das Programm nicht mehr richtig funktioniert wenn die die Bedeutung von Tags ändern. Das "richtig" müsste auch erst mal einer defnieren, es hat noch keiner geschafft mir eine Beschreibung des dproj-Formates zu liefern.
Gegenüber das was Du aufzählst ist mein Programm tolerant. Es soll nur ein einziger Wert angepasst werden.
Es ist ja auch nur ein internes Tool um die "Arbeit" mit Delphi zu erleichtern weil Delphi nicht richtig funktioniert. (Mit Code der Kunden betrifft gehe ich ganz anders um.) Vielleicht ist auch Delphi vor der nächsten Änderung des dproj-Formates brauchbar - okok, die Hoffnung ... :evil: (wer Sarkasmus entdeckt darf es behalten ;-) )

himitsu 6. Okt 2023 14:52

AW: Umbrüche in Projektdateien
 
https://quality.embarcadero.com/browse/RSP-38278
sowie siehe https://www.delphipraxis.net/213449-...albuilder.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 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