Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ELCAD
  Symbole ASCII-Export plus Manipulation

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
  
IEC 61850: Substations zukunftsgerecht planen
Autor(16237) Thema:  Symbole ASCII-Export plus Manipulation (2531 mal gelesen)
HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

ELCAD 7.11.0 SP1(KEINE "CL"-Lizenz, KEIN "Studio")
ELCAD-Autodidakt seit Version 5.8.x
Elcad : 02.2000 bis 11.2018
==================================
EPLAN P8 2.6 HF4 (Professional)
Menüumfang: Expert (Autodidakt)
EPlan: : 31.7.2010 bis 11.2018
===================================
DDS-CAD: 3.12.2018 - 30.11.2020
===================================
Trimble nova: Seit 04.01.2021 (Version 16.2P6)
===================================
AutoCAD-Erstkontakt: April 2012 in der VHS
===================================
Moderator im ELCAD-Forum: 08.11.11 - 19.03.17
Moderator im "Trimble Nova"-Forum: Seit dem 18.01.2021

erstellt am: 02. Jun. 2009 09:43    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

Moin,

im Tread 'Menge' im Symbol,
wurde auch darüber berichtet, das man beim ASCII-Export der Symbolik diese auch manipulieren kann.

Würde folgendes auf diesem Wege möglich sein?
- Wenn Menge = 0 oder leer dann Menge = 1
- Wenn Code 151,150,105 nicht vorhanden am Symbolende ergänzen

Wenn ja, wie?

MfG
Heiko

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

s.koni
Mitglied
Elektrotechnischer Zeichner


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

Beiträge: 317
Registriert: 17.06.2002

ELCAD 7.8.0
EPLAN P8 2.4.4

erstellt am: 02. Jun. 2009 11:03    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 HRompel 10 Unities + Antwort hilfreich

Hallo Heiko,

habe ASCII schon öfters manipuliert.
Am Simpelsten machst du die ASCII Datei in einem Editor auf und suchst von Hand die Codenummer für Menge. Entsptechend deinen Wünschen modifizierst du den Eintrag. ASCII wieder einlesen (natürlich in eine neues Projekt!) - Fertig. Ist aber recht aufwendig.

Einfacher ist es mit Hilfe eines Scriptprogramms. Ich verwende gerne  AutoIt dazu.
AutoIt ist eine Programmiersprache die recht einfach und vor allem KOSTENLOS ist. Damit lese ich die ASCII Datei Zeilenweise ein und suche ob der entsprechende Wert enthalten ist. Wenn Ja, schreibe ich eine geänderte Zeile in eine neue ASCII Datei. Ist der gesuchte Wert nicht enthalten, schreibe ich die Zeile unverändert in die neue Datei.
Dann die geänderte Datei in ELCAD einlesen.

Prinzipiell funktioniert dass auch mit jedem anderen Scriptprogramm (EXCEL-VBA, ACCESS-VBA, usw.) AutoIt finde ich für diesen Zweck am einfachsten.


Gruß
Steffen

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

HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

erstellt am: 02. Jun. 2009 11:29    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

Hallo Steffen,

Zitat:
Original erstellt von s.koni:
Hallo Heiko,

habe ASCII schon öfters manipuliert.
Am Simpelsten machst du die ASCII Datei in einem Editor auf und suchst von Hand die Codenummer für Menge. Entsptechend deinen Wünschen modifizierst du den Eintrag. ASCII wieder einlesen (natürlich in eine neues Projekt!) - Fertig. Ist aber recht aufwendig.



Genau, deshalb will ich das vermeiden.
Zitat:

Einfacher ist es mit Hilfe eines Scriptprogramms. Ich verwende gerne  AutoIt dazu.


Dann könnte ich mir auch was in Delphi programmieren.

Aber, mich interessiert die Mächtigkeit des ASCII-Export wie er in dem Anderen Tread beschrieben wurde.

MfG
Heiko

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

s.koni
Mitglied
Elektrotechnischer Zeichner


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

Beiträge: 317
Registriert: 17.06.2002

ELCAD 7.8.0
EPLAN P8 2.4.4

erstellt am: 02. Jun. 2009 11:55    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 HRompel 10 Unities + Antwort hilfreich

Zitat:

Aber, mich interessiert die Mächtigkeit des ASCII-Export wie er in dem Anderen Tread beschrieben wurde.

Was meinst du mit Mächtigkeit des ASCII-Export???

Gruß
Steffen

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

HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

erstellt am: 02. Jun. 2009 13:59    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

Hallo Steffen,

Zitat:
Original erstellt von s.koni:
Was meinst du mit Mächtigkeit des ASCII-Export???

Lese Dir doch mal die im OP genannten Thread durch.
Man kann dem ASCII-Export eine KommandoDatei übergeben.

MfG
Heiko

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

s.koni
Mitglied
Elektrotechnischer Zeichner


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

Beiträge: 317
Registriert: 17.06.2002

ELCAD 7.8.0
EPLAN P8 2.4.4

erstellt am: 02. Jun. 2009 14:43    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 HRompel 10 Unities + Antwort hilfreich

Alles klar!
Nur zur Info - habe den im OP genannten Thread schon vorher gelesen!!!!!

Bin nur von etwas anderem ausgegangen. Du möchtest die SYMBOLE ändern. Ich
dachte an die manipulation eines vorhandenen PROJEKTES.

Wenn du die Vorbelegung eines Symbols änders, heißt dass nicht, dass in einem vorhandenen Projekt die Vorbelegungen ebenfalls ergänzt werden.
Denke aber du weißt dass sicher schon!!!!

Gruß
Steffen

[Diese Nachricht wurde von s.koni am 02. Jun. 2009 editiert.]

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

HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

erstellt am: 02. Jun. 2009 15:47    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

Hallo Steffen,

Zitat:
Original erstellt von s.koni:
Alles klar!
Du möchtest die SYMBOLE ändern.

Wenn du die Vorbelegung eines Symbols änders, heißt dass nicht, dass in einem vorhandenen Projekt die Vorbelegungen ebenfalls ergänzt werden.
Denke aber du weißt dass sicher schon!!!!


JA, das weiß ich.
Es geht darum, das unsere Symbolik bescheiden ist.
Die 149 ist leer oder auf 0, 151,150 und 105 fehlen fast überall
und bei variablen Symbolen fehlt die 4003.

Grade die 149er-Sache ist nervig, da man dadurch immer wieder Artikel "übersieht", da sie nicht in der Stückliste auftauchen.

MfG
Heiko

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

unterStrom
Mitglied
Elektro-Konstruktionsingenieur


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

Beiträge: 378
Registriert: 06.04.2005

Win 7,
Ruplan 4.72
EVU

erstellt am: 02. Jun. 2009 22:26    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 HRompel 10 Unities + Antwort hilfreich

Hallo Heiko,
Manipulation per ascii-Schnittsetlle? Da fühle ich mich angesprochen!!

Den 149 wenn er "0" oder leer ist auf 1 setzen geht mit einer Regular Expression (RE) in einem "guten" Editor (vi    )
Suchen nach: (DIALOG,[0-9]+,149,".*",")[0]*(")
Ersetzen durch: \11\2
Die Schwierigkeit ist dass die laufende Nummer des Dialoges unbekannt ist und auch die Beschreibung variieren kann. Mit der RE kannst Du ein Muster angeben ( [0-9]+ ) und den Inhalt dieses Musters merken (mit den beiden () ). Beim Ersetzen den ersten Inhalt des Musters mit \1 ausgeben, dann die gewünschte Nummer (1) und dann den Rest mit \2. Sollte in dem Dialog weder 0 stehen, noch nichts wird mit dem * nach den [0] festgelegt. Damit bleiben alle anderen Mengen unangetastet.

Dein zweites Problem, anfügen von zusätzlichen Zeilen wenn diese noch nicht vorhanden sind, würde ich mit dem awk lösen (ist Teil jeder Unix-Distribution, also auch alle Linuxe). Zu erkennen, ob der Dialog 150, 151 oder 105 fehlt und sie bei Bedarf zuzufügen ist noch kein großes Problem. Schwierig wirds, die richtigen Dialognummern einzufügen. Dafür ist die Anzahl der aktuell vorhandenen Dialoge mitzuzählen und die neuen dann mit den darauf folgenden Nummern anzufügen. Ist möglich, wird aber einige Stunden Aufwand bedeuten.

Jürgen

------------------
Der Tag, an dem Du nicht lächelst, ist ein verlorener Tag (C. Chaplin)

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

Pelle Bootsmann
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2156
Registriert: 24.03.2004

erstellt am: 03. Jun. 2009 09:44    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 HRompel 10 Unities + Antwort hilfreich


AsciiSyntax.txt

 
Hallo Heiko,

das geht auch mit ELCAD-Bordmitteln.
Es gibt eine Scriptsprache zur Manipulation der ASCII-Datei bei der Ausgabe.
Die vollstandige Syntax hängt als Anhang an diesem Beitrag dran.

Das Vorgehen :
Du schreibt mit irgendeinem Texteditor ein passendes Script, z.B:


if (not exist (151))
add 151,"Bedeutung","Vorbelegung";
endif

set default 149,"1";

und speicherst dieses z.B. unter dem Namen script.txt

Dann gehst Du in den Symbolbau in die Kommandozeile und ruft
die ASCII-Ausgabe auf : ascii_write(script.txt)

Nach Überprüfung des Ergebnisses kann man nun diese Datei wieder einlesen.

Bitte die Symboldatei vorher sichern !


------------------
Viele Grüsse von Saltkråkan
Pelle Bootsmann

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

HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

ELCAD 7.11.0 SP1(KEINE "CL"-Lizenz, KEIN "Studio")
ELCAD-Autodidakt seit Version 5.8.x
Elcad : 02.2000 bis 11.2018
==================================
EPLAN P8 2.6 HF4 (Professional)
Menüumfang: Expert (Autodidakt)
EPlan: : 31.7.2010 bis 11.2018
===================================
DDS-CAD: 3.12.2018 - 30.11.2020
===================================
Trimble nova: Seit 04.01.2021 (Version 16.2P6)
===================================
AutoCAD-Erstkontakt: April 2012 in der VHS
===================================
Moderator im ELCAD-Forum: 08.11.11 - 19.03.17
Moderator im "Trimble Nova"-Forum: Seit dem 18.01.2021

erstellt am: 03. Jun. 2009 09:51    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

Hallo Pelle,

Zitat:
Original erstellt von Pelle Bootsmann:
Hallo Heiko,

das geht auch mit ELCAD-Bordmitteln.
Es gibt eine Scriptsprache zur Manipulation der ASCII-Datei bei der Ausgabe.
Die vollstandige Syntax hängt als Anhang an diesem Beitrag dran.


Super, genau das habe ich gesucht.
Noch eine Frage: Die Anweisungen beziehen sich auf jeweils ein Symbol oder?
Das Heißt, wenn ich frage ob Code 150 vorhanden ist, dann bezieht sich das nur auf das aktelle als ASCII zu exportierenden Symbol und nicht auf die ganze Symbolik - oder?

MfG
Heiko

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

Bodo_M
Moderator





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

Beiträge: 5299
Registriert: 15.11.2001

erstellt am: 03. Jun. 2009 10:20    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 HRompel 10 Unities + Antwort hilfreich

moin,

das hab ich schonmal, vor wenigen jahren, beschrieben.   

http://ww3.cad.de/foren/ubb/Forum38/HTML/000210.shtml#000013

------------------
tschüss aus hannover
bodo m

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

Bodo_M
Moderator





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

Beiträge: 5299
Registriert: 15.11.2001

erstellt am: 03. Jun. 2009 10:23    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 HRompel 10 Unities + Antwort hilfreich

hallo,

die anweisungen beziehen sich auf alle symbole die in
der bibliothek sind, die du über das script ausgibst.
wie du in meinem beispiel siehst, kannst du nach symboltypen
filtern.

------------------
tschüss aus hannover
bodo m

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

Rolf K.
Moderator
CAD-Konstrukteur


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

Beiträge: 1730
Registriert: 10.12.2002

ELCAD 2020 SP2
e3.2018
Windows 10
zuhause:
Paintshop Pro 2020
Cray XT4
Privileg SR 12 PR
Chivers Lemon Jelly

erstellt am: 03. Jun. 2009 10:24    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 HRompel 10 Unities + Antwort hilfreich

Hallo Bodo,

schon damals habe ich mir die ganze Synthax gewünscht. Endlich bin ich erhört worden. 

------------------
Es grüsst
Rolf K.

   

[Diese Nachricht wurde von Rolf K. am 03. Jun. 2009 editiert.]

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

HRompel
Ehrenmitglied V.I.P. h.c.
Technischer Systemplaner - Elektrotechnik



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

Beiträge: 3416
Registriert: 02.11.2001

erstellt am: 03. Jun. 2009 11:24    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

Hallo Bodo,

Zitat:
Original erstellt von Bodo_M:
hallo,

die anweisungen beziehen sich auf alle symbole die in
der bibliothek sind, die du über das script ausgibst.


Mistverständnis.
Wenn ich z.B. Frage ob Code 149 vorhanden ist,
wird dann nur geguckt ob in der GANZEN Symbolik 1x die 149 vorhanden ist (wäre Mist) oder ob im jeden Symbol die 149 vorhanden ist?

Du verstehst den Unterschied und mein "Problem"?

MfG
Heiko

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

Pelle Bootsmann
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2156
Registriert: 24.03.2004

erstellt am: 03. Jun. 2009 11:28    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 HRompel 10 Unities + Antwort hilfreich

Hallo Heiko,

Bodos Beschreibung ist wohl etwas missverständlich.
Das Script wird natürlich für jedes Symbol einzeln ausgeführt.
Man kann also in allen Symbolen in denen Code 149 fehlt dieses dort zufügen.

------------------
Viele Grüsse von Saltkråkan
Pelle Bootsmann

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

unterStrom
Mitglied
Elektro-Konstruktionsingenieur


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

Beiträge: 378
Registriert: 06.04.2005

Win 7,
Ruplan 4.72
EVU

erstellt am: 04. Jun. 2009 17:03    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 HRompel 10 Unities + Antwort hilfreich

Hallo Heiko,
meine Lösung für dein Problem mit awk:
(ohne Tab´s ist nicht sehr schön zum lesen, aber es funktioniert)

# awk Script zum anfügen von Dialogen an Elcad Symbol-ascii-Datei

BEGIN { FS = "," # Field Separator; Komma
n=0 # Dialogzähler
d105=0                                          # Anzahl 105
d149=0 # Anzahl 149
d150=0 # Anzahl 150
d151=0 # Anzahl 151
}

$1  ~ /^ *DIALOG/ && $3 == "149" { d105++ } # "wichtigen" Dialog gefunden
$1  ~ /^ *DIALOG/ && $3 == "149" { d149++ }
$1  ~ /^ *DIALOG/ && $3 == "150" { d150++ }
$1  ~ /^ *DIALOG/ && $3 == "151" { d151++ }

$1  ~ /^ *DIALOG/ { n++; # Dialog gefunden
print $0 # ausgeben
  }

$1 !~ /^ *DIALOG/ { if (n>0 && d105==0) # vorher waren Dialogzeilen, in denen aber kein Dialog 105 war
  { print "  DIALOG," ++n ",105,\"Bezeichnung 2\",\"1\""; } # 149 zuf¸gen
                   
                    if (n>0 && d149==0) # vorher waren Dialogzeilen, in denen aber kein Dialog 149 war
  { print "  DIALOG," ++n ",149,\"Menge\",\"1\""; } # 149 zuf¸gen

if (n>0 && d150==0) # vorher waren Dialogzeilen, in denen aber kein Dialog 150 war
  { print "  DIALOG," ++n ",150,\"Bezeichnung\",\"\""; } # 150 zuf¸gen

if (n>0 && d151==0) # vorher waren Dialogzeilen, in denen aber kein Dialog 151 war
  { print "  DIALOG," ++n ",151,\"Hersteller\",\"\""; } # 151 zuf¸gen

print $0 # aktuelle Zeile (NAME, SYMBOLTYP, REC, ENDE, ... ausgeben

n=0 # Dialogzähler zurücksetzen
                    d105=0                      # Anzahl 105 zurücksetzen
d149=0 # Anzahl 149 zurücksetzen
d150=0 # Anzahl 150 zurücksetzen
d151=0 # Anzahl 151 zurücksetzen
  }

END { }

Jürgen

------------------
Der Tag, an dem Du nicht lächelst, ist ein verlorener Tag (C. Chaplin)

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


Ex-Mitglied

erstellt am: 09. Jun. 2009 23:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von Pelle Bootsmann:
if (not exist (149))
add 149,"Bedeutung","Vorbelegung";
endif

set default 149,"1";


Hallo Pelle,

das habe ich gerade mal probiert, scheint aber nicht zu gehen... Wenn man den
Dialog mit Code 149 zufügt, kann man ihn danach nicht gleich beschreiben.
Elcad scheint den Code 149 da noch nicht zu erkennen.

Wenn ich die Bibliothek ausgebe mit "Code 149 zufügen", dann wieder einlese,
und noch mal ausgebe mit "Code 149 editieren", dann geht es.

------------------
Viele Grüße
Uli

       

Pelle Bootsmann
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2156
Registriert: 24.03.2004

erstellt am: 10. Jun. 2009 09:23    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 HRompel 10 Unities + Antwort hilfreich

Hallo Uli,

das war wohl ein unglückliches Beispiel von mir.

Wenn der Code 149 noch nicht da ist, erzeugt und belegt man ihn mit dem Kommando add.
Wenn Code 149 schon da ist, ändert man die Vorbelegung mit set default.

------------------
Viele Grüsse von Saltkråkan
Pelle Bootsmann

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)2024 CAD.de | Impressum | Datenschutz