![]() |
Kopierte Codes aus der DP "sind fehlerhaft"
Hallo zusammen,
ich habe schon mehrfach festgestellt, das wenn ich Code Teile aus der DP kopiere und sie in Delphi einfüge, Delphi dann nix mit dem Code anfangen kann. Optisch sieht alles Super aus. Es werden dann anscheinden Nicht sichtbar Steuerzeichen mit kopiert - Vermutlich die "TAB-Zeichen". Lösche ich die Leerzeichen davor bzw im Code selbst, klappt der Code ohne Problem :) So ist die Deklaration der Variablen schon fehlerhaft. Liegt das an meinem Delphi XE2, Windows 10 oder (was ich weniger glaube) an der Homepage? Oder ist das ein Moderner Kopierschutz? :-D Gruß Torsten |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Hier wäre sicherlich ein Beispiel hilfreich. Am besten mit Link, wo Du Quelltext rauskopiert hast. :glaskugel: Des Weiteren wäre es auch noch hilfreich zu wissen, mit welchen Browser Du arbeitest.
Ich habe bis jetzt noch nie Probleme mit Quelltext von der DP gehabt, außer der Quelltext war an sich fehlerhaft. |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Um zu verhindern, dass Steuerzeichen in den Quellcode mit kopieren werden kopiere ich Quellcode vom Browser vorab immer in den (Text)Editor. Von da aus wieder kopieren und dannin die Unit einfügen.
|
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Tab-Zeichen sollten in Delphi kein Problem machen. Spezielle Leerzeichen wie das "halbe Leerzeichen" schon.
Aber das Problem hatte ich bisher nur mit Firefox mal. In Chrome, Edge und IE nie. |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Mit dem Edge-Browser habe ich das Problem permanent - in so gut wie allen Foren.
Wie schon vorgeschlagen: Vorher in Notepad oder einen beliebigen anderen Editor kopieren und dann erst in Delphi einfügen. |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Hm, stimmt, nur bei Edge kommt dieser Fehler...
Aber der Tipp mit Notepad ist auch gut :) Danke! |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Stimmt, Edge kopiert das Unicodezeichen A0, also "nicht umbrechbares Leerzeichen". Das kann man in Delphi aber als Identifier benutzen und zählt dort nicht als Leerzeichen.
|
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Edge ist ja auch kein Browser... Edge ist alter Wein in neuen Schläuchen. Dazu noch mit fest verdrahtetem Flash. Also eher die Mutter aller Sicherheitsrisiken. Aber ich glaube die Edge Diskussion ist durch, und wer den verwendet, kann halt nicht anders - von wegen Industriestandard und so.
Gegen sonderzeichen in Delphi hilft im Übrigen die Quellcodeformatierung bestens. Es sieht danach nicht nur hübsch aus, sondern alle unbequemen Zeichen sind weg. Sherlock |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Wenn dieses Zeichen für Bezeichner zugelassen ist, dann hätte die Quelltextformatierung aber einen Bug, wenn sie wirklich dieses Zeichen stillschweigend entfernt.
|
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Ich bin mir sehr sicher, daß "Steuerzeichen" keine zugelassenen Zeichen sind.
Sherlock |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Ein kleiner 'copy-to-clipboard'-Butten recht oben über dem Zitat, würde das Problem möglicherweise gut lösen können. Wäre manches mal auch nicht ganz unpraktisch.
Gruß Hobbycoder |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Zitat:
Sherlock |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
NBSP ist per-se aber kein Steuerzeichen, auch wenn es schon einen steuernden Character besitzt.
Das Leerzeichen ist ja auch kein Steuerzeichen. Für die Namensconvention von Typbezeichnern zählt #160 scheinbar nicht als Punctiation, SpaceCharacter oder ControlCharacter und ist somit erlaubt. Für die Namensconvention von Component-Bezeichnern zählt er als SpaceSeparator. (Ddlphieigene Implementation siehe IsValidIdent bzw. Character.pas > InternalGetUnicodeCategory und TCharacter.GetUnicodeCategory) |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Oh, Hell no! Das hab ich ja erst beim zweiten Lesen erfasst! Man kann #160 als Typbezeichner verwenden? Das würde ich ja als Bug bewerten. :shock:
Sherlock |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Bezeichner mit Leerzeichen? Geil, möge das Schlachtfest beginnen :twisted::stupid:
|
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Liste der Anhänge anzeigen (Anzahl: 2)
Wieso?
Es ist ja kein richtiges Leerzeichen, aber wer unbedingt will, es gibt noch andere "unsichtbare" Zeichen im Unicodesystem. Und auch so kann man seinen Spaß haben. Vorallem mit Chinesisch, Russisch und paar anderen Sprachen, kannst du gaaaaaaaaanz viele Variablen, Parameter und Typen definieren und obwohl jeder nur ein Zeichen lang ist, kommt man dennoch aktuell auf bestimmt um die 35.000 Zeichen/Bezeichner. Selbst Smilies gibt es, aber mit Standardschrift/-schriffgröße sehen die im Code-Editor blöd aus. ☺ ☻ ☃ ☕ ☂ 。◕‿◕。 PS: Man kann das S und/oder die 1 im Beispielcode auch weglassen. Man kann auch fett schreiben, da es im Unicode extra Zeichen für Formatierungen gibt. ![]()
Delphi-Quellcode:
PS: Quellcode per Skype verschicken macht auch keinen Spaß mehr, seitdem die 2014 die neuen Formatierungen eingebaut haben ... da verschwindet auch schonmal ein Teil vom Code.
// die Forensoftware macht aber aus #160 beim Speichern ein *.
procedure TForm4.FormCreate(Sender: TObject); var S*1: string; C: TUnicodeCategory; ☺: Byte; // neuer Name für ShowMessage ☻: Byte; ☃: Byte; ☕: Byte; // neuer Name für Sleep ☂: Byte; // neuer Name für Except-ionbehandlung 。◕‿◕。: Byte; begin S*1 := #160; C := TCharacter.GetUnicodeCategory(S*1[1]); if C = TUnicodeCategory.ucSpaceSeparator then ; end; |
AW: Kopierte Codes aus der DP "sind fehlerhaft"
Das nenn' ich mal sprechende Bezeichner!
:lol: lg Caps Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz