Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Fragen / Anregungen zur DP (https://www.delphipraxis.net/29-fragen-anregungen-zur-dp/)
-   -   Kopierte Codes aus der DP "sind fehlerhaft" (https://www.delphipraxis.net/191928-kopierte-codes-aus-der-dp-sind-fehlerhaft.html)

Metschu 4. Mär 2017 13:46

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

RWarnecke 4. Mär 2017 14:08

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.

lowmax_5 4. Mär 2017 14:13

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.

jaenicke 4. Mär 2017 14:23

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.

Daniel 4. Mär 2017 14:25

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.

Metschu 4. Mär 2017 16:37

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!

jaenicke 5. Mär 2017 04:59

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.

Sherlock 6. Mär 2017 08:16

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

himitsu 6. Mär 2017 09:26

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.

Sherlock 6. Mär 2017 11:00

AW: Kopierte Codes aus der DP "sind fehlerhaft"
 
Ich bin mir sehr sicher, daß "Steuerzeichen" keine zugelassenen Zeichen sind.

Sherlock

Hobbycoder 6. Mär 2017 11:03

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

Sherlock 6. Mär 2017 11:04

AW: Kopierte Codes aus der DP "sind fehlerhaft"
 
Zitat:

Zitat von Hobbycoder (Beitrag 1363304)
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.

Das Feature würde ich unterstützen!

Sherlock

himitsu 6. Mär 2017 11:58

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)

Sherlock 6. Mär 2017 12:26

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

bra 6. Mär 2017 13:08

AW: Kopierte Codes aus der DP "sind fehlerhaft"
 
Bezeichner mit Leerzeichen? Geil, möge das Schlachtfest beginnen :twisted::stupid:

himitsu 6. Mär 2017 13:47

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.
http://qaz.wtf/u/convert.cgi?text=Delphi+ist+toll

Delphi-Quellcode:
// 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;
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.

Caps 9. Mär 2017 09:05

AW: Kopierte Codes aus der DP "sind fehlerhaft"
 
Das nenn' ich mal sprechende Bezeichner!

:lol: lg Caps


Zitat:

Zitat von himitsu (Beitrag 1363330)
Wieso?

Selbst Smilies gibt es, aber mit Standardschrift/-schriffgröße sehen die im Code-Editor blöd aus.
☺ ☻ ☃ ☕ ☂
。◕‿◕。

Delphi-Quellcode:
// 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;
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.



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