Check that file exists: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring the hard way, phix/basics
m (→‎{{header|Phix}}: added syntax colouring the hard way, phix/basics)
Line 2,058:
 
=={{header|Phix}}==
{{libheader|Phix/basics}}
<lang Phix>constant fd = {"file","directory"}
<!--<lang Phix>-->
 
<span style="color: #008080;">procedure</span> <span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #004080;">string</span> <span style="color: #000000;">name<span style="color: #0000FF;">)</span>
procedure check(string name)
<span style="color: #004080;">bool</span> <span style="color: #000000;">bExists</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">file_exists<span style="color: #0000FF;">(<span style="color: #000000;">name<span style="color: #0000FF;">)<span style="color: #0000FF;">,</span>
object d = dir(name)
<span style="color: #000000;">bDir</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">get_file_type<span style="color: #0000FF;">(<span style="color: #000000;">name<span style="color: #0000FF;">)<span style="color: #0000FF;">=<span style="color: #004600;">FILETYPE_DIRECTORY</span>
if sequence(d) then
<span style="color: #004080;">string</span> <span style="color: #000000;">exists</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff<span style="color: #0000FF;">(<span style="color: #000000;">bExists<span style="color: #0000FF;">?<span style="color: #008000;">"exists"<span style="color: #0000FF;">:<span style="color: #008000;">"does not exist"<span style="color: #0000FF;">)<span style="color: #0000FF;">,</span>
d = (find('d',d[1][D_ATTRIBUTES])!=0)
<span style="color: #000000;">dfs</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff<span style="color: #0000FF;">(<span style="color: #000000;">bExists<span style="color: #0000FF;">?<span style="color: #008080;">iff<span style="color: #0000FF;">(<span style="color: #000000;">bDir<span style="color: #0000FF;">?<span style="color: #008000;">"directory "<span style="color: #0000FF;">:<span style="color: #008000;">"file "<span style="color: #0000FF;">)<span style="color: #0000FF;">:<span style="color: #008000;">""<span style="color: #0000FF;">)</span>
printf(1,"%s %s exists.\n",{fd[1+d],name})
<span style="color: #7060A8;">printf<span style="color: #0000FF;">(<span style="color: #000000;">1<span style="color: #0000FF;">,<span style="color: #008000;">"%s%s %s.\n"<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">dfs<span style="color: #0000FF;">,<span style="color: #000000;">name<span style="color: #0000FF;">,<span style="color: #000000;">exists<span style="color: #0000FF;">}<span style="color: #0000FF;">)</span>
else
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
printf(1,"%s does not exist.\n",{name})
end if
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"input.txt"<span style="color: #0000FF;">)</span>
end procedure
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"docs"<span style="color: #0000FF;">)</span>
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"/input.txt"<span style="color: #0000FF;">)</span>
check("input.txt")
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"/docs"<span style="color: #0000FF;">)</span>
check("docs")
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"/pagefile.sys"<span style="color: #0000FF;">)</span>
check("/input.txt")
<span style="color: #000000;">check<span style="color: #0000FF;">(<span style="color: #008000;">"/Program Files (x86)"<span style="color: #0000FF;">)
check("/docs")
<!--</lang>-->
check("/pagefile.sys")
check("/Program Files (x86)")</lang>
{{out}}
<pre>
file input.txt does not existexists.
directory docs exists.
/input.txt does not exist.
7,806

edits