element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE Support (Deutsch) Attribute mit '\' in ULPs
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 7 replies
  • Subscribers 179 subscribers
  • Views 581 views
  • Users 0 members are here
Related

Attribute mit '\' in ULPs

Former Member
Former Member over 12 years ago

Hallo

 

Wenn in einem Attribut ein '\' (Backslash) vorkommt so verschwindet

dieser Backslash wenn das Attribut in einem ULP gelesen wird:

 

     if(schematic)

     {

         schematic(S)

         {

             S.parts(P)

             {

                 P.attributes(A)

                 {

                     if(A.name == "DATENBLATT")

                     {

                         dlgMessageBox(A.value);

                     }

                 }

             }

         }

     }

 

Im Attribut steht "\Bourns\SRU1038.pdf" und in der Messagebox nur noch

BournsSRU1038.pdf. Ich konnte nirgends eine Dokumentation des Verhaltens

finden und halte das für einen Fehler.

 

Matthias Weißer

 

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    Former Member over 12 years ago

    Am 23.01.2013 17:27, schrieb Matthias Weißer:

    Hallo

     

    Wenn in einem Attribut ein '\' (Backslash) vorkommt so verschwindet

    dieser Backslash wenn das Attribut in einem ULP gelesen wird:

     

         if(schematic)

         {

             schematic(S)

             {

                 S.parts(P)

                 {

                     P.attributes(A)

                     {

                         if(A.name == "DATENBLATT")

                         {

                             dlgMessageBox(A.value);

                         }

                     }

                 }

             }

         }

     

    Im Attribut steht "\Bourns\SRU1038.pdf" und in der Messagebox nur noch

    BournsSRU1038.pdf. Ich konnte nirgends eine Dokumentation des Verhaltens

    finden und halte das für einen Fehler.

     

    Matthias Weißer

     

    Hallo Herr Weißer,

     

    ein Backslash ist ein Einführungzeichen für eine Escape-sequenz und

    wird in dlgLabel() so wie in dlgMessageBox() auch so behandelt.

    Um die Backslash zu sehen, müssen sie im ULP verdoppelt werden.

    Steht in einem String z.B. "der\nicht", würde dafür

    der

    icht

    angezeigt werden, da ja \n die Escape-Sequenz für New-Line ist,

    so wie \t für ein Tabulator-Zeichen, usw.

     

    Hier eine kleine Funktion die den Backslash verdoppelt:

     

    string dbackslash(string v) { // Backslash verdoppeln

       string s[];

       int cnts = strsplit(s, v, '
    ');

       v = s[0];

       int n = 1;

       while(s[n]) v = "

    "
    s[n++];  // hier muß für jedes Backslash eine

                                        // Verdoppelung stattfinden, da ja

                                        // der C-Parser ein Backslash auch

                                        // wiederum als Einführung einer

                                        // Escape-Sequenz sieht!

                                        // Also "
    " pro Backslash für den

                                        // C-Parser, und "
    " pro Backslash

                                        // für die Ausgabe-Funktion ergiebt:

                                        // "

    " -> C-Parser => "
    "

                                        // -> Ausgabenfunktion => "\"

       return v;

    }

     

    Lesen Sie dazu bitte auch unter

    HELP | User Language | Builtins | Datei-Funktionen | fileglob() ***

    HELP | User Language | Syntax | Whitespace

    HELP | User Language | Syntax | Konstanten | Escape-Sequenzen

    HELP | User Language | Dialoge | Escape-Zeichen

     

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    ______________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Thomas Liratsch

    ______________________________________________________________

     

    EAGLE V6.3 availabe now!

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Former Member
    Former Member over 12 years ago

    Am 23.01.2013 17:27, schrieb Matthias Weißer:

    Hallo

     

    Wenn in einem Attribut ein '\' (Backslash) vorkommt so verschwindet

    dieser Backslash wenn das Attribut in einem ULP gelesen wird:

     

         if(schematic)

         {

             schematic(S)

             {

                 S.parts(P)

                 {

                     P.attributes(A)

                     {

                         if(A.name == "DATENBLATT")

                         {

                             dlgMessageBox(A.value);

                         }

                     }

                 }

             }

         }

     

    Im Attribut steht "\Bourns\SRU1038.pdf" und in der Messagebox nur noch

    BournsSRU1038.pdf. Ich konnte nirgends eine Dokumentation des Verhaltens

    finden und halte das für einen Fehler.

     

    Matthias Weißer

     

    Hallo Herr Weißer,

     

    ein Backslash ist ein Einführungzeichen für eine Escape-sequenz und

    wird in dlgLabel() so wie in dlgMessageBox() auch so behandelt.

    Um die Backslash zu sehen, müssen sie im ULP verdoppelt werden.

    Steht in einem String z.B. "der\nicht", würde dafür

    der

    icht

    angezeigt werden, da ja \n die Escape-Sequenz für New-Line ist,

    so wie \t für ein Tabulator-Zeichen, usw.

     

    Hier eine kleine Funktion die den Backslash verdoppelt:

     

    string dbackslash(string v) { // Backslash verdoppeln

       string s[];

       int cnts = strsplit(s, v, '
    ');

       v = s[0];

       int n = 1;

       while(s[n]) v = "

    "
    s[n++];  // hier muß für jedes Backslash eine

                                        // Verdoppelung stattfinden, da ja

                                        // der C-Parser ein Backslash auch

                                        // wiederum als Einführung einer

                                        // Escape-Sequenz sieht!

                                        // Also "
    " pro Backslash für den

                                        // C-Parser, und "
    " pro Backslash

                                        // für die Ausgabe-Funktion ergiebt:

                                        // "

    " -> C-Parser => "
    "

                                        // -> Ausgabenfunktion => "\"

       return v;

    }

     

    Lesen Sie dazu bitte auch unter

    HELP | User Language | Builtins | Datei-Funktionen | fileglob() ***

    HELP | User Language | Syntax | Whitespace

    HELP | User Language | Syntax | Konstanten | Escape-Sequenzen

    HELP | User Language | Dialoge | Escape-Zeichen

     

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    ______________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Thomas Liratsch

    ______________________________________________________________

     

    EAGLE V6.3 availabe now!

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube