Check that file exists: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) |
m (→{{header|Phix}}: added syntax colouring the hard way, phix/basics) |
||
Line 2,058: | Line 2,058: | ||
=={{header|Phix}}== |
=={{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}} |
{{out}} |
||
<pre> |
<pre> |
||
input.txt |
file input.txt exists. |
||
directory docs exists. |
directory docs exists. |
||
/input.txt does not exist. |
/input.txt does not exist. |