DEFINE fk_mi_2_dxf_or_and_dwg {** PARAMETER Art **} LOCAL Verz LOCAL Datn LOCAL Eingabe LOCAL String_in LOCAL String_out LOCAL String_tmp LOCAL Datei LOCAL Pfad LOCAL Posi LOCAL Wahl LOCAL Fehler_lad LOCAL Fehler LOCAL Fehler_str {** Den folgenden Pfad nach Bedarf anpassen bitte. Es wird eine Globale Variable erstellt*} LET Gv_tmpdir 'c:/tmp' LET Art 3 {** Voreingestellte Auswahl, die ist für den Zweck die Beste. **} LOOP READ STRING "Das 'Start-Verz.' antippen/eingeben oder den 'Suchbegriff' fuer das aktuelle Verz., event.mit Jokern * und ?, eingeben" Verz EXIT_IF (POS Verz '/' =0) BEEP DISPLAY ('Das Verzeichnistrennzeichen / ist nicht erlaubt. Muss \ sein. Eingabe war: '+Verz) END_LOOP IF ((POS Verz '\') OR (POS Verz ':')) READ STRING "Den 'Suchbegriff', event.mit Jokern * und ?, eingeben" Datn ELSE LET Datn Verz LET Verz '.\' END_IF IF (((POS '\' (SUBSTR Verz (LEN Verz) 1) ) =0) AND (Datn <> '')) LET Verz (Verz + '\') END_IF LET Eingabe (Verz+Datn) {** DOS-Befehle dir + tree **} IF (Art = 1) { Listet alle entsprechenden Verzeichnisse + Dateien inkl. aller Unterverzeichnisse } RUN GRAPHIC ('dir '+Eingabe+' /b /s > '+Gv_tmpdir+'\l_daten.m 2>&1') ELSE_IF (Art = 2) { Listet alle entsprechenden Verzeichnisse + Dateien } RUN GRAPHIC ('dir '+Eingabe+' /b > '+Gv_tmpdir+'\l_daten.m 2>&1') ELSE_IF (Art = 3) { Listet alle entsprechenden Dateien inkl. aller Unterverzeichnisse (Keine Verzeichnisnamen) } RUN GRAPHIC ('dir '+Eingabe+' /s /b /a:-d > '+Gv_tmpdir+'\l_daten.m 2>&1') ELSE_IF (Art = 4) { Listet alle entsprechenden Verzeichnisse inkl. aller Unterverzeichnisse } RUN GRAPHIC ('dir '+Eingabe+' /s /b /a:d > '+Gv_tmpdir+'\l_daten.m 2>&1') ELSE_IF (Art = 5) { Listet alle entsprechenden Verzeichnisse + Dateien inkl. aller Unterverzeichnisse als Baum } LET Verz (SUBSTR Verz 1 (LEN Verz-1)) RUN GRAPHIC ('tree '+Verz+' /f /a > '+Gv_tmpdir+'\l_daten.m 2>&1') END_IF NEW_SCREEN DISPLAY 'Jetzt werden die gefundenen Dateien zur Information gezeigt. Liste kann editiert werden.' DISPLAY 'Danach Me10-Editor mit CTRL+D verlassen oder Win-UI NotePad schliessen.' EDIT_FILE (Gv_tmpdir+'\l_daten.m') {** Liste fertig. Jetzt beginnt der 2.Teil. **} LET Fehler 0 LET Fehler_lad 0 LET Fehler_str '' READ NUMBER 'Uebersetzung nach DXF 1; nach DWG 2; beides 3' Wahl BEEP DISPLAY 'LOESCHE DEN BILDSCHIRMINHALT ! WEITER ? ODER ESC.' SPOTLIGHT OFF OPEN_INFILE 1 (Gv_tmpdir+'\l_daten.m') OPEN_OUTFILE 2 DEL_OLD (Gv_tmpdir+'\errorlog.m') LOOP EDIT_PART '/' DELETE ALL CONFIRM READ_FILE 1 String_in EXIT_IF (String_in = 'END-OF-FILE') LET String_tmp (LWC String_in) {** Was Me10 nicht laden soll, aber kann und das soll nicht sein. **} IF ((POS String_tmp '.jpg'=0) AND (POS String_tmp '.jpeg'=0) AND (POS String_tmp '.png'=0) AND (POS String_tmp '.bmp'=0) AND (POS String_tmp '.tif'=0) AND (POS String_tmp '.bdl'=0) AND (POS String_tmp '.dxf'=0) AND (POS String_tmp '.dwg'=0) AND (POS String_tmp '.igs'=0) AND (POS String_tmp '.iges'=0)) TRAP_ERROR LOAD String_in IF (CHECK_ERROR) LET Fehler_str (String_in+': '+ERROR_STR) WRITE_FILE 2 (Fehler_str) LET Fehler_lad (Fehler_lad + 1) END_IF IF ((POS Fehler_str 'ist keine gÏltige MI-Datei') >0) DISPLAY_NO_WAIT Fehler_str WAIT 1 ELSE WINDOW FIT {** LET Posi (LEN String_in) LOOP EXIT_IF ((SUBSTR String_in Posi 1) = '\') LET Posi (Posi -1) END_LOOP LET Datei (SUBSTR String_in (Posi+1) (LEN String_in -(Posi+1))) LET Pfad (SUBSTR String_in 1 (LEN String_in - Posi)) **} LET String_out String_in IF (POS String_in '.mi') LET String_out (SUBSTR String_in 1 ((POS String_in '.mi')-1)) END_IF IF ((Wahl = 2) OR (Wahl = 3)) TRAP_ERROR STORE DWG ALL DEL_OLD String_out IF (CHECK_ERROR) WRITE_FILE 2 (ERROR_STR) LET Fehler (Fehler + 1) END_IF END_IF IF ((Wahl = 1) OR (Wahl = 3)) TRAP_ERROR STORE DXF ALL DEL_OLD String_out IF (CHECK_ERROR) WRITE_FILE 2 (ERROR_STR) LET Fehler (Fehler + 2) END_IF END_IF IF (Fehler = 0) {** Kein Fehler => keine .log Datei **} PURGE_FILE (String_out+'.log') CONFIRM ELSE_IF (Fehler = 1) WRITE_FILE 2 ('Fehler beim Speichern von :'+String_out+'.dwg' ) ELSE_IF (Fehler = 2) WRITE_FILE 2 ('Fehler beim Speichern von :'+String_out+'.dxf' ) ELSE_IF (Fehler = 3) WRITE_FILE 2 ('Fehler beim Speichern von :'+String_out+'.dwg und .dxf') END_IF END_IF IF ( Fehler_lad OR Fehler) WRITE_FILE 2 ' ' END_IF LET Fehler 0 LET Fehler_lad 0 LET Fehler_str '' END_IF END_LOOP CLOSE_FILE 1 CLOSE_FILE 2 EDIT_FILE (Gv_tmpdir+'\errorlog.m') END_DEFINE