Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Prüfen, ob Datei vorhanden ist

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 PTC CREO
Autor Thema:  Prüfen, ob Datei vorhanden ist (1529 mal gelesen)
Tom R
Mitglied
Technischer Zeichner


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

Beiträge: 274
Registriert: 02.11.2003

Solid Edge ST7
mit SMAP Piping
OSDD 2006
unter Win 7

erstellt am: 28. Mrz. 2012 10:15    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 zusammen!

Ich muss mich noch einmal melden. Ich wüsste gern, wie man am einfachsten prüfen kann, ob eine Datei (keine mi-Datei) vorhanden ist. Ich kenne also Pfad und Dateinamen. Muss man jetzt versuchen, die Datei zu öffnen und schauen, ob ein Fehler zurückgegeben wird oder kann man das einfach abfragen?
Es wäre nett, wenn mir da jemand auf die Sprünge helfen könnte.

Viele Grüße
Tom

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

friedhelm at work
Mitglied
Techniker Aluminium Profile


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

Beiträge: 882
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 28. Mrz. 2012 15: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 Tom R 10 Unities + Antwort hilfreich

Hallo Tom,
einfach abfragen, na ja 

Merkwürdigerweise gibt es eine Funktion DIRECTORY_EXISTS (vorhanden in: v17+16 ja; v15 ?; v14 Nicht)
die das Vorhandensein eines Verzeichnisses prüft, aber etwas vergleichbares für Dateien ist mir nicht bekannt.
Du kannst das aber per Macro lösen. Habe in den Beispielen reele Pfad\Dateinamen verwendet.
Die Befehle erstellen Dateien, deren Inhalt gelesen und ausgewertet werden kann.

1. Me10-Code
CATALOG 'S:\users\fhk\d_work' DETAIL_INFO SELECT 'FILE_NAME' = 'ok_macro.m' DEL_OLD 'c:\tmp\Dateiabfrage.m'

Antwort in Datei 'c:\tmp\Dateiabfrage.m'
Wenn Datei 'ok_macro.m' vorhanden:
================================================================================
FILE_NAME: ok_macro.m
PHYS_NAME: ok_macro.m
FILE_DESC: Reg
FILE_TYPE: Reg
FILE_SIZE: 1367
MODIFY_DATE: 26-Mar-2012 10:16:16
NUM_ACCESS: 0
================================================================================

Antwort wenn nicht vorhanden:
Leere Datei

2. Über DOS-befehl
RUN GRAPHIC ('dir S:\users\fhk\d_work\ok_macro.m /b > c:\tmp\Dateiabfrage2.m 2>&1')

Antwort in Datei 'c:\tmp\Dateiabfrage2.m'
Wenn Datei 'ok_macro.m' vorhanden:
ok_macro.m
Wenn nicht vorhanden:
File Not Found (oder ähnlich)

Die entstandenen Dateien kannst du dann mit folgenden Befehlen lesen lassen:
OPEN_INFILE 1 'c:\tmp\Dateiabfrage.m'
READ_FILE 1 Variable { Wobei jedes READ_FILE jeweils eine Zeile liest und der Variable zuordnet }
CLOSE_FILE 1

Eine leere Datei oder das Ende der Datei wird 'END-OF-FILE' gelesen
Die Variable kannst du analysieren und deine Schlussfolgerungen ziehen.
Hoffe, dass hilft dir weiter 

------------------
    Gruss Friedhelm

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

Tom R
Mitglied
Technischer Zeichner


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

Beiträge: 274
Registriert: 02.11.2003

Solid Edge ST7
mit SMAP Piping
OSDD 2006
unter Win 7

erstellt am: 28. Mrz. 2012 15: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

Nochmal hallo! 

Ich wollte das Problem mal etwas präzisieren: ich möchte mit PURGE_FILE Dateien löschen, wüsste aber gerne, ob die Datei vorher überhaupt vorhanden war und anschließend, ob sie auch tatsächlich gelöscht wurde (falls jemand die gerade geöffnet hat, geht das ja nicht).
Wenn ich jedenfalls mit obigem Befehl rumspiele, kann ich mit meinen bescheidenen Mitteln nicht feststellen, ob tatsächlich die Datei gelöscht wurde oder nicht. Mir scheint es, dass es herzlich egal ist, ob die zu löschende Datei wirklich vorhanden ist.

Scheint mir eine faule Programmiersprache zu sein: "Datei nicht da? Na prima, muss ich ja nix tun. Fehler meld' ich auch nicht, ich leg mich wieder hin." 
Wäre schön, wenn noch jemand eine Idee hätte.

Viele Grüße
Tom

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

Tom R
Mitglied
Technischer Zeichner


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

Beiträge: 274
Registriert: 02.11.2003

Solid Edge ST7
mit SMAP Piping
OSDD 2006
unter Win 7

erstellt am: 28. Mrz. 2012 15:49    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 Friedhelm!

Da haben sich unsere Beiträge gerade überschnitten. 

Ja, vielen Dank, mit deinem Ansatz kann ich was tun. Ist zwar völlig anders, als ich erwartet hätte, spielt aber keine Rolle.
Super, wieder ein Problem gelöst. Dann leg ich mich jetzt auch wieder hin. 

Viele Grüße
Tmo

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

friedhelm at work
Mitglied
Techniker Aluminium Profile


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

Beiträge: 882
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 28. Mrz. 2012 16: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 Tom R 10 Unities + Antwort hilfreich

Noch etwas nachbessern 
Help/Programmierhandbuch sagt:
Code:

--->(PURGE_FILE)->|Dateiname|->+-+------------------>+->+->+-->(CONFIRM)-->+->
                                | |                  |  |  |              |
                                | `<-|Ausd|-(SELECT)<-'  |  '-->(SCREEN)--->'
                                |                        |
                                '--->(RECURSIVE)-------->'

Mit der Option SCREEN wird der integrierte Bildschirm-Editor (siehe EDITOR) aufgerufen, der es Ihnen ermöglicht, die Datei- und Verzeichnisliste zu überprüfen; Änderungen des Bildschirminhalts werden hierbei ignoriert. Bei einem Abbruch (ESC) der Editor-Sitzung wird nichts verändert.


Im Klassischen UI muss der Löschvorgang mit CTRL+D bestätigt werden. ESC bricht ab.
! Wird das Notepad-Fenster im Windows-UI geschlossen werden die gewählten Dateien gelöscht.
Nix mit Abbruch (ESC)
Getestet in v17 M025

------------------
    Gruss Friedhelm

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

Tom R
Mitglied
Technischer Zeichner


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

Beiträge: 274
Registriert: 02.11.2003

Solid Edge ST7
mit SMAP Piping
OSDD 2006
unter Win 7

erstellt am: 29. Mrz. 2012 08: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

Hallo Friedhelm!

Nochmal danke für deine Mühe. Aber diese Option habe ich gesehen und so verstanden, dass ich aktiv eingreifen kann. So ist es aber nicht geplant. Ich muss lediglich die Rückmeldungen auswerten, die ich aus deinem ersten Vorschlag ableite, um für den Benutzer bei Bedarf eine Meldung auszugeben.
Ich denke, mit dem, was du mir bisher geliefert hast, komme ich ans Ziel. Sollte noch was sein, melde ich mich wieder. Das ist durchaus als Drohung zu verstehen. 

Viele Grüße
Tom

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

r.hoffmann
Mitglied
Techniker


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

Beiträge: 127
Registriert: 07.12.2006

OSD 13.2 20.4

erstellt am: 29. Mrz. 2012 16: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 Nur für Tom R 10 Unities + Antwort hilfreich

Hallo Tom,

auf www.me10-makros.de  gibt's das Makro eva_file_exists,
das nach Aufruf mit dem Dateinamen incl. komplettem Pfad
in der globalen Variablen eva_file_existiert den Wert 1
zurückgibt, falls die Datei existiert.
Ansonsten hat diese Variable den Wert 0.
Ich hoffe, daß dies die Lösung Deines Problems ist.

MfG Robert

------------------
Homepage: www.me10-makros.de

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

Tom R
Mitglied
Technischer Zeichner


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

Beiträge: 274
Registriert: 02.11.2003

Solid Edge ST7
mit SMAP Piping
OSDD 2006
unter Win 7

erstellt am: 30. Mrz. 2012 07:45    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 Robert!

Vielen Dank für deinen Tipp. Genau das wäre es. Mittlerweile habe ich aber Friedhelms Ansatz verwirklicht und es läuft bestens.
Trotzdem danke sehr, solche Infos sind immer wertvoll und vielleicht profitiert ja ein anderer noch davon.

Viele Grüße
Tom

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

friedhelm at work
Mitglied
Techniker Aluminium Profile


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

Beiträge: 882
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 30. Mrz. 2012 10:53    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 Tom R 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Tom R:
solche Infos sind immer wertvoll und vielleicht profitiert ja ein anderer noch davon.

Ja, ich.
Habe demnächst wieder was zu tippen, da werde ich es auf diese Weise machen.
Danke Robert   

------------------
    Gruss Friedhelm

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

ME10-Faultier
Mitglied



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

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 30. Mrz. 2015 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 Nur für Tom R 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von friedhelm at work:
Hallo Tom,
einfach abfragen, na ja  

Merkwürdigerweise gibt es eine Funktion DIRECTORY_EXISTS (vorhanden in: v17+16 ja; v15 ?; v14 Nicht)
die das Vorhandensein eines Verzeichnisses prüft, aber etwas vergleichbares für Dateien ist mir nicht bekannt.
Du kannst das aber per Macro lösen. Habe in den Beispielen reele Pfad\Dateinamen verwendet.
Die Befehle erstellen Dateien, deren Inhalt gelesen und ausgewertet werden kann.

[b]1. Me10-Code
CATALOG 'S:\users\fhk\d_work' DETAIL_INFO SELECT 'FILE_NAME' = 'ok_macro.m' DEL_OLD 'c:\tmp\Dateiabfrage.m'

Antwort in Datei 'c:\tmp\Dateiabfrage.m'
Wenn Datei 'ok_macro.m' vorhanden:
================================================================================
FILE_NAME: ok_macro.m
PHYS_NAME: ok_macro.m
FILE_DESC: Reg
FILE_TYPE: Reg
FILE_SIZE: 1367
MODIFY_DATE: 26-Mar-2012 10:16:16
NUM_ACCESS: 0
================================================================================

Antwort wenn nicht vorhanden:
Leere Datei

Eine leere Datei oder das Ende der Datei wird 'END-OF-FILE' gelesen
Die Variable kannst du analysieren und deine Schlussfolgerungen ziehen.
Hoffe, dass hilft dir weiter  


Danke, daß hat mir sehr geholfen. Ich hatte es schon mit TRAP_ERROR und FILE_INPUT versucht wie in dem Makro eva_file_exists von www.me10-makros.de, aber da bekam ich immer eine ERROR-ENCODING-Fehlermeldung.

Gruß

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