AGB  ·  Datenschutz  ·  Impressum  







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

Umbrüche in Projektdateien

Ein Thema von freimatz · begonnen am 7. Nov 2022 · letzter Beitrag vom 6. Okt 2023
Antwort Antwort
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#1

Umbrüche in Projektdateien

  Alt 7. Nov 2022, 14:59
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...

Geändert von freimatz ( 7. Nov 2022 um 16:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Umbrüche in Projektdateien

  Alt 7. Nov 2022, 15:32
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umbrüche in Projektdateien

  Alt 8. Nov 2022, 11:35
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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Umbrüche in Projektdateien

  Alt 8. Nov 2022, 11:53
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Umbrüche in Projektdateien

  Alt 9. Nov 2022, 14:53
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 ... (wer Sarkasmus entdeckt darf es behalten )
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Umbrüche in Projektdateien

  Alt 6. Okt 2023, 15:52
https://quality.embarcadero.com/browse/RSP-38278
sowie siehe https://www.delphipraxis.net/213449-...albuilder.html
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 05:28 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