出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ディレクトリ内のファイルを表示→ソート   Tomitomiさん [2001/10/24 11:45:48] [793]
  発言者により削除されました!! 北岳さん [2001/10/24 20:06:38] [794]
  解答例:BASP21使用のソート   北岳さん [2001/10/24 20:18:46] [795]
    Re:解答例:BASP21使用のソート   Tomitomiさん [2001/10/25 10:15:19] [796]

[793] ディレクトリ内のファイルを表示→ソート
投稿者:Tomitomiさん 2001/10/24 11:45:48
こんにちは、質問するのははじめてのTomitomiです。


現在、CSVファイルを保管しているディレクトリの中身を表示→ダウンロード Or 削除する
ASPを作成中です。


'==============================================================================
sub F_Data()
Response.Write "<table border='0'>"
Set Get_Dir = oFile.GetFolder(Dir_Path)

For Each I In Get_Dir.Files

Response.Write "<tr><td>" & I.Name & "</td>"
Response.Write "<td><P><form method='POST' action='download.asp'>"
Response.Write "<input type='hidden' name='data' value='" & I.Name & "'>"
Response.Write "<input type='submit' value='   ダウンロード   '>"
Response.Write "</form></P></td>"
Response.Write "<td><P><form method='POST' action='main.asp'>"
Response.Write "<input type='hidden' name='AC' value='DELL'>"
Response.Write "<input type='hidden' name='CD' value='" & I.Name & "'>"
Response.Write "<input type='submit' value='削除'>"
Response.Write "</form></P></td></tr>"
Next
Response.Write "</table></td></tr></table>"
end sub
'==============================================================================
のような形で単純に表示していますが、ちょっと問題が発生しました。
それは、表示されるファイルのソートがファイル名 or 更新日で昇順になっているようなって
いるのです。


20010611.csv
20010614.csv
20010616.csv
20011023.csv
20011024.csv


のような感じです。これを以下のような降順にしたいのです。


20011024.csv
20011023.csv
20010616.csv
20010614.csv
20010611.csv


「FileSystemObject」か「GetFolder」にソートを変えるプロパティとかあるでしょうか?
または、やっぱり力作業にてソートするしかないのでしょうか?
ご教授よろしくお願いいたします。

[794] 解答例:BASP21使用のソート
投稿者:北岳さん 2001/10/24 20:06:38
発言者により削除されました!!

[795] 解答例:BASP21使用のソート
投稿者:北岳さん 2001/10/24 20:18:46
こんばんわ。
ソートは、リファランス本により配列に入れれば、BASP21のSORTメソドでできることが判りました。
私はBASPでのソートはやったことがなかったので(力技ソート)、今回練習問題として取り組んでみました。
(察するにTomitomi さんは、ヒントだけ期待されていると思いますが、)以下、完結した解答例です。Tomitomi さんのを自由に改変しました。
>ご教授
などしている気はありませんが、完結しているほうが大勢に便利と考えるため。
(飛ばし先のdownload.asp、main.aspまでは作りませんでしたが)
どなたもご自由に改変して下さい。
 
---------------------
basp.Sort(fyl、0、0、0)
最初の0:昇順、1:降順
2番目の0:文字列比較開始位置
3番目の0:比較対象文字列長さで、0は全長さ
 
--------------- dnld.asp (スクリプト権) ------------------
<html><body bgcolor="#fffbf0">
<%
dq=chr(34)
alias="/fol/subfol" '設定(読取フォルダ)
Path1 = Server.mapPath(alias)
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fld = fs.GetFolder(Path1)
Set fls = fld.files
su=fls.count
%>
<p>folder: <b><%= alias %></b>
<br>files: <b><%= su %></b><%
dim fnam()
redim fnam(su-1)
i=0
for each fl in fls
fnam(i)=fl.name
i=i+1
next
fn= fnam
Set basp=Server.CreateObject("basp21")
dummy=basp.Sort(fn,0,0,0) '昇順
'dummy=basp.Sort(fn,1,0,0) '降順
%>
<table border="1" >
<%
i=0
For each fm in fn
i=i+1
vals="<a href=" & dq & alias & "/" & fm & dq & ">" & fm & "</a>"
%>
<tr><td> <%= i %> </td><td><%= vals %></td>
<td><p><form method="POST" action="download.asp">
<input type="hidden" name="data" value="<%= fm %>">
<input type="submit" value=" ダウンロード ">
</form></p></td>
<td><p><form method="POST" action="main.asp">
<input type="hidden" name="AC" value="DELL">
<input type="hidden" name="CD" value="<%= fm %>">
<input type="submit" value="削除">
</form></p></td></tr>
<% Next %>
</td></tr></table>
</body></html>

[796] Re:解答例:BASP21使用のソート
投稿者:Tomitomiさん 2001/10/25 10:15:19
こんにちは、Tomitomiです。
今日は遅刻せずに会社にこれました。w

北岳さんレスありがとうございます。


> ソートは、リファランス本により配列に入れれば、BASP21のSORTメソドでできることが判りました。
> 私はBASPでのソートはやったことがなかったので(力技ソート)、今回練習問題として取り組んでみました。
> (察するにTomitomi さんは、ヒントだけ期待されていると思いますが、)以下、完結した解答例です。Tomitomi さんのを自由に改変しました。
> >ご教授
> などしている気はありませんが、完結しているほうが大勢に便利と考えるため。


いやいや、完結のほうが助かります。w
Basp21でできるのですね。調べ方が足りなかった。ありがとうございます。
最初力技でやろうとしまして、ファイル数が膨大(多分100程度)になった場合のレスポンスを
心配しておりましたが、Basp21ならレスポンスも問題ないかな。


> (飛ばし先のdownload.asp、main.aspまでは作りませんでしたが)


main.aspがこのスクリプトです。
「download.asp」は、CSVファイルをダウンロードさせるためのものです。
IE5.5までは、ただ http://XXXXX/test.csv 等にリンクを飛ばせばダウンロードできたのですが、
IE5.5sp2,IE6 からは、上記方法ではダウンロードせずそのまま開いてしまうため、
「download.asp」なるもので、ダウンロードさせるようにしました。
今のところ、IE6で確認中ですが、ダウンロードできています。
「download.asp」もほしい方は、公開しますので、申し出てください。





TreeBBS For ASP V.0.1.3
Program By YasNet