Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Lisp
  set_tile für text in DCL: Leerstellenproblem

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  set_tile für text in DCL: Leerstellenproblem (622 mal gelesen)
Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3882
Registriert: 15.10.2003

Win 10 bzw. 11 / 64 Pro
AutoCAD MAP 3D 2023
BricsCAD 24

erstellt am: 23. Okt. 2009 17:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ein nicht so wichtiges, aber anscheinend seltsames Problem:

Standard:
Ich habe im DCL ein Feld als ":text { " definiert und spreche es über Lisp mit set_tile an.
Das funktioniert alles gut; Leerstellen werden angezeigt.
Weil der Text sehr lang werden kann, habe ich einen Textkürzer eingebaut - die Textvariable schaut dann so aus:

Code:
"c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein_langer_test.xls"

Das funktioniert alles gut, solange es keine Leerstellen gibt.

Problem:
Befinden sich in dem abgekürzten Text Leerstellen, dann wird die Anzeige(!) an der Leerstelle unterbrochen, obwohl die Variable vollständig ist.

Also: Die Variable

Code:
(setq  x "c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein langer test.xls")

wird in der Befehlszeile mit
Code:
!x "c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein langer test.xls"
angezeigt, im Dialogfenster verbleibt nur
Code:
c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein"

Bug? Oder Feature? Oder vergessener Parameter?

Schönes Wochenende

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

archtools
Mitglied



Sehen Sie sich das Profil von archtools an!   Senden Sie eine Private Message an archtools  Schreiben Sie einen Gästebucheintrag für archtools

Beiträge: 991
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 23. Okt. 2009 18:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Peter2:
Ein nicht so wichtiges, aber anscheinend seltsames Problem:
Also: Die Variable
Code:
(setq  x "c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein langer test.xls")

wird in der Befehlszeile mit
Code:
!x "c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein langer test.xls"
angezeigt, im Dialogfenster verbleibt nur
Code:
c:\\daten\\blibla1\\blibla2\\bl......a34\\blibla35\mein"

Bug? Oder Feature? Oder vergessener Parameter?


Erstens: Leerzeichen im String sind kein Problem. Probier's mal mit (setq x "1 2 3 4").

Zweitens: ich kann mich dunkel erinnern, dass es bei der Übergabe von Strings aus Lisp an DCL ein Limit gibt - vermutlich dürften es 128 oder 256 Zeichen sein. Probier's mal mit verschieden langen Strings aus. Dasselbe Limit gibt's beispielsweise auch bei Strings in Xdata, bei Pfadnamen im GETFILED-Dialog usw.. Da hat sich Autodesk die Programmiererei wohl recht einfach gemacht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3882
Registriert: 15.10.2003

Win 10 bzw. 11 / 64 Pro
AutoCAD MAP 3D 2023
BricsCAD 24

erstellt am: 23. Okt. 2009 19:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von archtools:
Erstens: Leerzeichen im String sind kein Problem. Probier's mal mit (setq x "1 2 3 4").

Ja, das schrieb ich auch - es funktioniert gut in der Grundversion ("normale Texte"). Aber die Zusammensetzung aus Punkten und Backslash reagiert anders.

Zitat:
Original erstellt von archtools:
...dass es bei der Übergabe von Strings aus Lisp an DCL ein Limit gibt - vermutlich dürften es 128 oder 256 Zeichen sein. ...

Meine Strings haben maximal 100 Zeichen (eben weil sie bei Überlänge gekürzt werden).

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Anzeige:Infos zum Werbeplatz >>

BlechCAD Verlegeplan CAD APP für AEC - Architektur-, Ingenieur- und Bauwesen, Blechverarbeitung

Metallbau- Fassadenbau- Planer, die aus einer Gebäudedraufsicht (Grundriss) die Flachdachbleche in freien selbst definierten Formen als Plan und Abwicklungen uns Listen erzeugen

MZjochen
Mitglied
Techniker


Sehen Sie sich das Profil von MZjochen an!   Senden Sie eine Private Message an MZjochen  Schreiben Sie einen Gästebucheintrag für MZjochen

Beiträge: 18
Registriert: 14.02.2006

ACAD 2010, WIN XP/Vista

erstellt am: 23. Okt. 2009 20:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Hallo Peter2
folgendes habe ich beobachtet:
- ist der Text (ohne Leerzeichen) länger als der dafür vorgesehene
  Platz im Dialog
  wird er ab der Stelle einfach abgeschnitten
- hat der Text jedoch Leerzeichen wird er am ersten Leerzeichen
  abgeschnitten

übergeb deinen Text zum testen doch mal so:
(ACET-STR-REPLACE " " "" X)
oder so:
(ACET-STR-REPLACE " " "_" X)


Gruß
Jochen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz