Hallo,
irgendwie habe ich mich hier total verfranzt ...
die FileMove Funktion geht nicht FileCopy aber schon.
Ich vermute mal das die Datei noch verwendet wird an der Stelle wo ich die verschieben will aber ich weis sehe grade nicht so wirklich wo ...
Es handelt sich um das zweite FileMove() das erste geht
Kann mir da vieleicht jemand weiterhelfen ? Danke schon mal...
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Alle HL7 Dateien finden
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$search = FileFindFirstFile("*.hl7")
; suche erfolgreich
If $search = -1 Then
MsgBox(0, "Fehler", "keine passenden Dateien gefunden")
Exit
EndIf
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Xml öffnen und Anfang schreiben
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ConsoleWrite('<?xml version="1.0" encoding="ISO-8859-1" ?> ' & @CRLF)
ConsoleWrite('<patientenliste> ' & @CRLF)
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;nächste Datei nehmen
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
While 1
$datei = FileFindNextFile($search)
If @error Then ExitLoop
;überprüfung auf sem Datei
$sem = StringSplit($datei, ".")
if FileExists($sem[1] & ".sem") Then ;wenn da dann weiter
$file = FileOpen($datei , 0)
if $file = -1 Then
MsgBox(0, "Fehler", "Kann " & $datei & " nicht öffnen!")
;Fehler Datei enfernen
FileMove($datei, "\ging_net\" ,8)
;XML schliesen
ConsoleWrite('</patientenliste> ' & @CRLF)
Exit
EndIf
;beginne mit lesen der Zeilen
While 1
$line1 = FileReadLine($file)
if @error = -1 then ExitLoop
;splitten wenn MSH am Anfang
$result = StringInStr($line1,"MSH",1,1)
if $result = 1 then
; Zeile in Bestandteile zerlegen delimiters ist |
$lineArray = StringSplit($line1,"|")
;checke Inhalt
if $lineArray[9] = "ADT^A01" then
;fertige Datei verschieben
FileMove($datei, "\ging\" ,8)
EndIf
XML() ;gehe zu XML()
EndIf
WEnd
EndIf
WEnd