mach ich das so richtig mit den beiden ProcedureReturns oder was wäre warum richtiger/besser ?
Code: Alles auswählen
Procedure.s ugs_GetMediaType(thisdrive.s)
Define.s tempstr.s
Define.s devicestr.s
Define.s mtype.s = "kein Mounted media type gefunden"
Define.l cdrout
;devicestr = ugs_GetDeviceStr(thisdrive) ;das wäre echt
devicestr = "1,1,0" ;falls jemand ausm forum testen will ;)
Debug "devicestr: "+devicestr
If devicestr = "NoOptical"
ProcedureReturn "NoOptical"
Else
If OpenFile(3,"getMtype_kannweg.bat")
WriteString(3,"cdrecord dev="+devicestr+" -minfo >getMtype_kannweg.txt 2>&1")
CloseFile(3)
cdrout = RunProgram("getMtype_kannweg.bat", "", "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Hide)
WaitProgram(cdrout)
CloseProgram(cdrout)
If ReadFile(4,"getMtype_kannweg.txt")
While Eof(4) = 0
tempstr = ReadString(4)
If (Left(tempstr,19) = "Mounted media type:")
mtype = StringField(LTrim(RemoveString(tempstr,"Mounted media type:")),1," ")
ElseIf (FindString(tempstr, "entweder falsch geschrieben", 1))
mtype = "CDRecord entweder falsch geschrieben oder nicht gefunden"
EndIf
Wend
CloseFile(4)
DeleteFile("getMtype_kannweg.txt")
Else
mtype = "kann getMtype_kannweg.txt nicht öffnen"
EndIf
DeleteFile("getMtype_kannweg.bat")
Else
mtype = "keine getMtype_kannweg.bat geöffnet"
EndIf
ProcedureReturn mtype
EndIf
EndProcedure
Fehlermöglichkeiten Beachtung geschenkt

[/edit 1]
mDv... scholly