Deutsch
Forum

Unbekannte Escape-Sequenz

 
- Seite 1 -



Frank
Abbing
XPSE mechert hier: Unbekannte Escape-Sequenz:
KompilierenMarkierenSeparieren
 {$cleq}
 {$res icon "G:IconsxpsHardwareCamera16.ico"}
Cls
End

Ist ein gültiger Windows-Pfad, warum also meckern? Wurde in früheren Versionen auch nie bemängelt.
 
16.12.2008  
 



 
- Seite 1 -



Frank
Abbing

Es macht aber keinen Sinn Kompilerschalter um dieses Feature zu berauben, da man sowieso überall im Code Doppelbackslash oder Slash bei Pfadangaben eingeben muss. Das wäre dann ja auch uneinheitlich und müsste erklärt werden...


Nein, sollst du ja auch gar nicht. Eventuell eignet sich das noch in Zukunft.
Meine Codes sind ja schnell angepasst. Wollte das nur ingesamt abgeklärt wissen.
 
16.12.2008  
 



Die Überprüfung greift halt bei allen "Stringkonstanten" da diese aussortiert und sonderbehandelt werden.
 
16.12.2008  
 




E.T.
Hm, versteh ich nicht ganz: Ich hab bei mir z.Bsp. stehen:
{$RUNTIME E:XPROFAN-RUNTIMESP11PRFRUN11.FFWV.EXE},
und das funzt.

Oder meckert XPSE nicht, weil ich keine "" hab ??

Das übergebene nach {$RUNTIME  ist doch aber trotz alledem ein String, wird dieser nicht nach "Esc-Sequenzen" durchsucht ???
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
16.12.2008  
 



Das betrifft halt Kompilerschalter welche mehrere Parameter erwarten und wobei mindestens ein Parameter ein Pfad sein sollte. {$runtime erwartet nur einen Parameter, hier reicht der Abschluss per }.
 
16.12.2008  
 




Michael
Wodrich
Es steht zwar nicht explizit in der Hilfedatei, aber die Buchstaben bei den Ersatzzeichen werden klein geschrieben. Das geht leider nicht eindeutig  aus der Tabelle der Ersatzzeichen hervor.

Das Roland inzwischen überall Warnschilder in der Hilfe aufgestellt hat ("Bitte Backslashes in Strings verdoppeln, wenn es keine Escapesequenzen werden sollen") hat ja seinen Grund.

Es hat zu den Ersatzzeichen bereits mehrfach Ergänzungen gegeben und wer sich nicht an die Verdoppelung hält muß dann halt alle entsprechenden Codes neu durchsehen.

Großschreibung der Pfad-/Dateinamen ist auch keine Lösung. Erstens sieht es nicht unbedingt gut aus und zweitens: Was passiert wohl wenn mal großgeschriebene Ersatzzeichen hinzukommen.

Wie Ihr Euch auch windet - richtig fehlerfrei funktionieren die Pfadangaben in Stringliteralen nur, wenn die Backslashes verdoppelt werden.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
16.12.2008  
 




E.T.
Michael
Wie Ihr Euch auch windet - richtig fehlerfrei funktionieren die Pfadangaben in Stringliteralen nur, wenn die Backslashes verdoppelt werden.


Jo, hab ich mir (gottseidank) seid meiner letzten dummen Esc-Sequenzen-Misere auch tunlichst angewöhnt.

Worum es mir hier ging:
Warum unterscheidet XPSE zwischen Kompiler-Schalter mit "" und ohne "" ??
Wenn die String-Literale schon überprüft werden, warum dann nicht alle ??

Ich habs grad probiert, die Kompiler-Schalter ohne "", aber mit \ funktionieren genau so wie , also würde ich es begrüßen, wenn selbige mit auch bemängelt würden (das fördert auch bei XPSE-Nutzern die Verwendung von \ ).
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
16.12.2008  
 




Michael
Wodrich
Ja, gute Idee.

Kennzeichnung als "sollte nicht mehr verwendet werden weil..." - das ließe sich dann auf alle "deprecated"-Identifier anwenden.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
16.12.2008  
 



 
- Seite 2 -


Die Überprüfung findet nur in Stringkonstanten statt, nicht grundsätzlich in "Kompilerschaltern" oder sonstwo im Code.
 
16.12.2008  
 




Frank
Abbing

Wie Ihr Euch auch windet - richtig fehlerfrei funktionieren die Pfadangaben in Stringliteralen nur, wenn die Backslashes verdoppelt werden.


Falsch! Der einfache Slash funktioniert ebenfalls überall fehlerfrei. Ich benutze ihn immer (nur grad hier mal nicht, weil ich den Pfad kopiert hatte)
 
17.12.2008  
 




Michael
Wodrich
Und der einfache Slash ist "wirklich" Betriebssystem-unabhängig??

Beweise!

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
17.12.2008  
 



Frank Abbing
Falsch! Der einfache Slash funktioniert ebenfalls überall fehlerfrei.


Bei der Escape-Sequenzen-"Diskussion" sollte man die Pfadangaben rauslassen.

Das im Dateisystem Slash und Backslash funktioniert ist eher Kompatibilität, z.B. zu anderen Protokollen bzw. Adress-Formaten wie auch von Unix-Systemen vorgesehen, zuzuschreiben. Man sollte aber nicht immer davon ausgehen, dass diese Kompatibilität auch immer vom Windows-System hergestellt wird. Darum halte ich es immer für besser, die korrekte Schreibweise für das Ziel"System" zu benutzen.

Microsoft-Produkte und Dateisystem erwarten in erster Linie den Backslash .

Aber völlig unabhängig vom Dateisystem gibt es in "allen" (nur einige Wenige ausgenommen) Programmiersprachen Escape-Sequenzen in Stringkonstanten - und die haben "immer" die selbe Bedeutung.

Roland lässt "unbekannte" Sequenzen halt durchrasseln, vlt. für mehr Abwärtskompatibilität.

Auf diese Kompatibilität würde ich keine neuen Sources aufbauen sondern immer korrekte Sequenzen schreiben.
 
17.12.2008  
 




Frank
Abbing
Michael Wodrich
Und der einfache Slash ist "wirklich" Betriebssystem-unabhängig??

Beweise!

Schöne Grüße
Michael Wodrich


Ich produziere Programme für Windows und alle meine Progs/Dlls benutzen ausschliesslich den Slash.
Linux und Co sind eh uninteressant für mich, da ich sie nicht mit XProfan 11 ansprechen kann. Ob z.B. Wine kompatibel ist zum Slash weiss ich nicht. Aber laut MS ist der Slash ebenso wie der Backslash vorgesehen. Allen Unkenrufen zum Trotz.

Hier eine interessante Diskussion: [...] 

Und hier: [...] 

Michael Wodrich
Theres an article titled "File Name Conventions", in "Platform SDK:
File Storage", which contains this comment:

Use the backslash (), the forward slash (/), or both to separate
components in a path.

No doubt there are other similar passages. I found that article in
the October 2001 library simply by searching for "path separator".
 
17.12.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

12.447 Betrachtungen

Unbenanntvor 0 min.
H.Brill01.08.2021
p.specht02.02.2018
Ernst07.05.2016
Andreas Koch24.05.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie