| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Datensatz auf 8stellig auffüllen (1623 mal gelesen)
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 20. Dez. 2011 21:50 <-- editieren / zitieren --> Unities abgeben:
hallo, ich möchte beim auslesen eines Textes (Höhenzahl) diesen im Spaltenformat auf 8 Stellen auffüllen um so eine einfache Maske zum auslesen im Spaltenformat benutzen zu können. Die Zeile zur Übergabe in dei Datei sieht zur Zeit so aus: write-line (strcat " Station" "\t" txt1 "\t" "Höhe" "\t" txt2 "\t" " 00000000") f) Da aber der wert txt1 und txt2 mal 3,4 oder 6stellig ist wandern die werte in der spalte immer hin und her.... mist. Frage: kann ich in dem Sinne einen Text überhaupt mit einem Befehl wie (write-line (strcat (Praefix (txt1 txt2)) 8 "0") ) erweitern? Wenn ja , bitte ich um Hilfe. ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 20. Dez. 2011 22:36 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 22. Dez. 2011 21:12 <-- editieren / zitieren --> Unities abgeben:
da hab ich wohl mein Problem falsch beschrieben; Mit dem oben Ergänzung sehe ich zwar die augelesenen Daten im Fenster, aber im Datenfile stehen diese dann so Station 3.1245 Höhe 321.556 00000000 Station 105.1258 Höhe 322 00000000 Station 110 Höhe 323.1 00000000 also sehr versetzt. darum war die Frage wie ich diese so ausgeben kann und ob das mit so einem Text überhaupt geht Soll als Beispiel: Station 0003.125 Höhe 0321.556 00000000 Station 0105.126 Höhe 0322.000 00000000 Station 0110.000 Höhe 0323.100 00000000 oder alles rechtsbündig wäre auch ein Lösung wenn ich alle werte 3 Stellig auslese Hat jemand einen Vorschlag ob ich mit einer umstellung in der Zeile write-line (strcat " Station" "\t" txt1 "\t" "Höhe" "\t" txt2 "\t" " 00000000") f) dies erreiche. da ich in einer anderen LSP dies mit dem (Präfix) gesehen habe dachte ich dies ginge eventeull auch, allerdings werden dort Koordinatewerte ausgelesen ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 22. Dez. 2011 21:20 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 26. Dez. 2011 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Thomas, ich habe "nur so" den Code probiert, er funktioniert einwandfrei. Danach habe ich Schippsel davon verwendet, um eine Funktion von mir, die Leerzeichen auffüllt (war umständlicher), zu ersetzen. Danke Theodor
[Diese Nachricht wurde von Theodor Schoenwald am 26. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 26. Dez. 2011 18:26 <-- editieren / zitieren --> Unities abgeben:
habe eigentlich einiges an Einstellungen durchprobiert, hier mal die Zeilen, leider muss irgendwo in meiner lsp da was anders laufen, denn außer die Anzeige werden kein daten in die datei geschreiben, es gibt aber auch keine Fehlermeldung. Oder habe ich irgendeine Klammer übersehen. Da die Anzeige richtig ist, muss der Fehler wo anders liegen, oder bin ich blind und von den Weihnachstlichtern geblendet? (progn (alert (strcat " Station" "\t" (DT:STR-STRINGFILL txt1 "0" 8 'T) "\t" "Höhe" "\t" (DT:STR-STRINGFILL txt2 "0" 8 'T) "\t")) ;; (write-line (strcat txt1 "\t" txt2) f) ;; org (write-line (strcat " Station" "\t" (DT:STR-STRINGFILL txt1 "0" 8 'T) "\t" "Höhe" "\t" (DT:STR-STRINGFILL txt2 "0" 8 'T) "\t" "00000000" ) f) ;; (write-line (strcat " Station" "\t" (DT:STR-STRINGFILL txt1 "0" 8 nil) "\t" "Höhe" "\t" (DT:STR-STRINGFILL txt2 "0" 6 nil) "\t") f) ;; (write-line (strcat " Station" "\t" (DT:STR-STRINGFILL txt1 "0" 8 'T) "\t" "Höhe" "\t" (DT:STR-STRINGFILL txt2 "0" 8 'T) "\t") f) ;; (write-line (strcat " Station" "\t" txt1 "\t" " Höhe " "\t" txt2 "\t" " 00000000") f) ;; Station 3,1234 Höhe 100,123 00000000
(redraw txt1e 2) ;; wenn2 dann wird textwahl ausgeblendet (redraw txt2e 2) )
------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 26. Dez. 2011 19:19 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 29. Dez. 2011 11:38 <-- editieren / zitieren --> Unities abgeben:
der Hinweis war richtig, danke nachdem ich die Zeile (setq f (open (strcat "F:/Vermessung/punkte.txt") "a")) in (setq listnam (getfiled "Punktliste anlegen" "F:/Vermessung/Punkte" "txt" 1)) geändert habe läuft es , wieso ist unklar, da die datei garantiert bereits besteht. Jetzt kann ich jedoch die erstelle Datei erst öffnen bzw. verändern wenn ACAD geschlossen ist . Am Ende der LSP steht der erforderliche Befehl (close f) . ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Dez. 2011 12:41 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Leider wurde bisher auch der Code noch nicht ordentlich gepostet, SO macht das keinen Spaß EDIT: Wenn du das ganze in einer anderen (neu geöffneten) Datei machst, dann geht das sicher - du hast nur nicht immer schön dein (close f) beim Testen benutzt imho. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 29. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |