トップページphp
983コメント364KB

<%= ASP総合 %> Part.4

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/07/03(日) 12:27:28ID:???
レガシASPについて語るスレです。質問や雑談もOK。
何より手軽なので社内イントラであればまだまだ第一線です。
ASP.net については専用スレッドでお願いします。

関連スレ:
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/

過去スレ:
==ASP== Part 3
http://pc8.2ch.net/test/read.cgi/php/1059401269/
==ASP== Part 2
http://pc2.2ch.net/php/kako/1028/10280/1028024916.html
==ASP==
http://pc.2ch.net/php/kako/984/984840107.html
0478nobodyさん2006/04/30(日) 20:32:41ID:???
wwwrootのフォルダのアクセス権だな。
Everyoneに読み取りと実行の権限がいるはず。
あと既定のwebサイトのプロパティでアプリケーション設定の実行アクセス権を
「スクリプトのみ」か「スクリプトおよび実行可能ファイル」にしてあるか確認。
04794642006/05/01(月) 01:40:32ID:???
>>478
動きました。(少し感動)
有難うございます。
0480nobodyさん2006/05/01(月) 21:20:33ID:G9IWAFk4
>>470-471についてお願いします。
0481nobodyさん2006/05/01(月) 22:42:43ID:???
>>480


function User_Agent (var1,var2) {

var user_agent = Request.ServerVariables("HTTP_USER_AGENT").Item();

// ex. DoCoMo/1.0/P209is/c10
if (user_agent.match(/DoCoMo/i)) {
platform = "DoCoMo";
agetPart = user_agent.split("/");
browser = "DoCoMo";
if (agetPart[1].match("(")) {// FOMA
// $agetPart[1] =~ /([0-9]\.[0-9])\s([^\(]*)(.*)/ ;←ここ意味不明?代入?正規表現?
browser_v = var1;
platform_v = var2;
} else {
browser_v = $agetPart[1];
platform_v = $agetPart[2];
}
if (platform_v=="") { platform_v = ""; }// ここ意味あるの?
}

return (platform, platform_v, browser, browser_v);
}

0482nobodyさん2006/05/01(月) 22:53:52ID:???
こうか?適当。ノーチェック。

function UserAgent(userAgent)
dim platform,agetPart,browser,regex,omatches,omatch
dim browserV,platformV
if instr(Ucase(userAgent),"DOCOMO") > 0 then
platform = "DoCoMo"
agetPart = split(userAgent,"/")
browser = "DoCoMo"
if instr(agetPart(0),"(") > 0 then
set regex = new RegExp
regex.pattern = "([0-9]\.[0-9])\s([^\(]*)(.*)"
set omatches = regex.execute(agetPart(0))
set omatch = omatches(0)
browserV = omatch.submatches(0)
platformV = omatch.submatches(1)
else
browserV = agetPart(0)
platformV = agetPart(1)
end if
end if
UserAgent = array(platform, platformV, browser, browserV)
end function
0483nobodyさん2006/05/02(火) 14:14:00ID:???
hoge1.aspにて

dim hoge
set hoge = new clsHoge

set session("sshoge") = hoge

hoge2.aspにて

dim hoge
set hoge = session("sshoge")
response.write hoge.hello()

というようにhoge2.aspでオブジェクトを取り出して
使いたいのですがhogeのhello()メソッドにアクセスできません。
どこに問題があるか分かる方がおられましたら
教えていただけないでしょうか?
0484nobodyさん2006/05/02(火) 15:34:41ID:???
>>483
hello()メソッドはどこで定義したの?
0485nobodyさん2006/05/02(火) 20:53:58ID:???
>>482
ありがとうござあいます
今日は酔ってるんで明日やってみます
0486nobodyさん2006/05/03(水) 00:24:06ID:???
>>483
超残念。
SessionにはVBScriptのオブジェクトは格納できない。
(厳密に言えば格納は出来るけど、それを取り出して使う事が出来ない)
SessionはIISのオブジェクトであって、VBScriptとは次元が違うから。

自力でserialize的な仕掛けでも作るしかないね。
0487nobodyさん2006/05/17(水) 17:39:34ID:???
Microsoft JScript 実行時エラー エラー '800a138f'

分かる人、助けてくらはい
0488nobodyさん2006/05/17(水) 20:24:32ID:???
せめてそのエラーを吐くソースを晒せ
0489nobodyさん2006/05/17(水) 23:51:46ID:???
>>487
ランタイムエラーを起こすJScriptコードがあるってことだな。
0490nobodyさん2006/05/18(木) 06:23:27ID:???
ちらっとぐぐってみたら
WindowsUpdateが絡んでいるようなのがちらほら。
だとしたらちょっと厄介な話かもね
0491nobodyさん2006/05/26(金) 09:32:16ID:???
引越ししたんだが、webサーバーに使ってたマシン(Win2000server)でaspを実行すると、
response.redirectで引っかかるようになってしまった。
別PCで動かした場合は今までどおり動くんだが、、、
IISとか設定いじった覚えもないし。

何か疑うような所ってあります??
0492nobodyさん2006/05/26(金) 16:10:20ID:???
IISの設定で親のパスを有効になってますか?
0493nobodyさん2006/05/29(月) 11:55:41ID:???
>>492
なってます。
ナンデダロ。。。。

response.redirectで別aspに飛ばすと、
内部エラー500で止まってしまう。
0494nobodyさん2006/05/29(月) 23:41:30ID:???
>>493
まずこれを試せ
http://support.microsoft.com/kb/261200/ja
04954912006/05/30(火) 09:33:53ID:???
「ISAPIアプリケーションをキャッシュする」のチェックが抜けてますた。。。
外した覚えもないんだけどな。。。

>>492,>>494様、サンクスです。

0496nobodyさん2006/06/08(木) 21:56:07ID:Ak1nru4j
初歩的なんですが、テキストの色を変えるために
Response.Write "<FONT color"red">hoge</FONT>"
ってやるとエラーになるんですが、どうすればいいんでしょうか?
0497nobodyさん2006/06/08(木) 23:44:25ID:???
>496
redの前後の"を""と二つ続ける

ウマー
0498nobodyさん2006/06/09(金) 00:24:28ID:ziVzofuc
>>497
サンクスです!
そっか、単純に"だと閉じちゃうのか。
0499nobodyさん2006/06/09(金) 02:24:04ID:ziVzofuc
また詰まってしましまいました。
Response.Write "<input type=""submit"" value=""hoge"">"
とすると「オブジェクトがありません」て言われました。
何がまずいんでしょうか?
05004992006/06/09(金) 02:35:40ID:???
自己解決です。
ただのタイプミスでした。スイマセン。
0501nobodyさん2006/06/09(金) 09:32:31ID:1vEHWatH
>>500
つか、TYPOくらい
ここにPOSTする前に
見直して確認しろよ。www
0502nobodyさん2006/06/22(木) 22:11:24ID:EZKQQCl5
http://www.itmedia.co.jp/help/howto/win/win2000/0007complus_vb/chap08/21.html

↑にページに

> Response.Redirectメソッドを呼び出しても,即座に引数に指定されたURLに飛ぶというわけではなく,
> ASPファイルに記載された処理はすべて実行されるので,十分に注意したい。

て書いてあるんだが、Response.Redirect以降の処理は実行されないんじゃなかったっけ?
0503nobodyさん2006/06/22(木) 23:46:17ID:???
そのはず
0504nobodyさん2006/06/22(木) 23:47:07ID:EZKQQCl5
>>503
「そのはず」 ってどっち?
0505nobodyさん2006/06/22(木) 23:52:08ID:EZKQQCl5
http://hp.vector.co.jp/authors/VA003334/vb/aspmostfastest/other.htm

こっちには 「以降に記述された処理は無意味」 って書いてあるな。
0506nobodyさん2006/06/23(金) 00:08:48ID:???
>>505
http://support.microsoft.com/kb/411613/ja
http://support.microsoft.com/kb/159402/ja

ここら辺に書いてあるけど、

Buffer=Trueの場合はサーバ内のバッファに溜めるから
サーバ側で以降のコードは実行されるけど、クライアント側では実行されない。

Buffer=Falseの場合はサーバ内でバッファリングしないから
サーバもクライアントも以降のコードは実行されない。

まぁ、結局は Server.Transfer にするか Response.End をつけろってことだな
0507nobodyさん2006/06/23(金) 01:55:36ID:???
>505
そこ「Response.End : スクリプトの実行を中止します」って何をデタラメ書いてんだ
0508nobodyさん2006/06/23(金) 19:40:18ID:???
---red1.asp---
<%
Session("HOGE") = "HOGE"
Response.Redirect "red2.asp"
Session("HOGE") = "HAGE"
%>

---red2.asp---
<%=Session("HOGE")%>

結果は各々の目で確かめましょう
0509nobodyさん2006/06/24(土) 16:27:07ID:NUoL74NB
ファイルのアップロードについてですが、BASP21を使わずにやれる方法ありませんでしょうか?
サンプルURLなどお願いします。
0510nobodyさん2006/06/24(土) 17:38:14ID:???
>>509
まずググれ。
0511nobodyさん2006/06/24(土) 23:19:08ID:???
>>509
BASP使わないとしてもADOの比較的新しいバージョンが必要。
あとはググれ
0512nobodyさん2006/06/24(土) 23:58:07ID:???
別解として自分で一からファイルアップロードコンポーネントを書いてしまうというのもあるな。
0513nobodyさん2006/06/25(日) 15:19:55ID:HTU8DLsE
ADO.Stream を使ってファイルをアップロードしたいのですが
どのように記述すればよいでしょうか?
お願いします。

鯖は2003です。
0514nobodyさん2006/06/25(日) 16:24:25ID:???
>>513
このスレを読み直せ
0515nobodyさん2006/06/25(日) 17:26:55ID:???
>>513
>>364-368
0516nobodyさん2006/07/06(木) 14:06:24ID:/8ybWcGq
textboxに数字以外の文字を入れた場合エラーを返すにはどうしたらいいですか?
VBSでお願いします。
0517nobodyさん2006/07/06(木) 21:31:04ID:???
>>516
正規表現
[0-9]*
05188922006/07/07(金) 14:18:20ID:SQksCJlc
使い方としてはこんな感じでよいですか?

chk = ○ '← なんか入れる。
if chk = [0-9] then
  ok
else
  error
end if


0519nobodyさん2006/07/07(金) 21:51:25ID:???
>>518
http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
0520nobodyさん2006/07/09(日) 07:12:27ID:???
お手軽にIsNumeric関数じゃダメかな?
判定基準に気をつける必要はあるけど
0521nobodyさん2006/07/09(日) 17:13:49ID:???
>>520
数値判定ならIsNumeric
数字判定なら正規表現
05225182006/07/09(日) 22:47:13ID:X7Dt+q6q
できました。ありがとうございます。
05235182006/07/09(日) 22:55:02ID:X7Dt+q6q
続けて質問で申し訳ないのですが、
ページをPDFで表示する場合ってどうやってやればいいでしょうか?
エクセル表示とかはわかるんですが・・・
0524nobodyさん2006/07/09(日) 22:57:13ID:DTwv2VIN
>>523

もうちょっと詳しく
05255182006/07/09(日) 23:20:58ID:X7Dt+q6q
説明が適当ですいません。

表を表示しているページをボタンを押下した時、そのページごとPDF出力して
印刷をかけたいのですがどうしたらよろしいでしょうか?
0526nobodyさん2006/07/10(月) 00:45:49ID:???
>>525
適当なOCX探してこいwww
0527nobodyさん2006/07/10(月) 06:40:20ID:???
>>518
事実上無理だから諦めなさい。

多分その調子でやっていたら実現するまでに
30スレ分くらいお前の質問で消費されるわ
0528nobodyさん2006/07/10(月) 23:11:34ID:iQivVhLt
>>525
AcrobatインストールすればIEのツールバーにAcrobatのアイコンができる。
そのボタンを押せば現在表示されているページがPDFで表示されるよん
0529nobodyさん2006/07/11(火) 15:37:13ID:???
>>525
翼システムのSVFとかは?
05305252006/07/12(水) 11:50:39ID:MVSuxQrd
ありがとうございます。色々試してみます。
0531nobodyさん2006/08/06(日) 17:19:21ID:???
レガシASPの開発環境でお勧めは何ですか?

Visual Studio .Net(2002/2003/2005)かVisual InterDev 6.0
を検討していますが、.Netでも補完機能やデバッガ
の使い勝手は良いですか?

Visual InterDev 6.0はデバッグがなかなか動かなくて…
0532nobodyさん2006/08/06(日) 18:29:19ID:???
>501
開発環境が.NetだとレガシASPなんてサポートしてないはず。
「いいじゃん、一緒にASPも.Netにシチャイナ? 」ってなもんで。
# VS.net入れたらレガシASPが動かなくなるってことではないので念のため。
0533nobodyさん2006/08/06(日) 22:33:54ID:???
デバッグはResponse.Writeデバッグで十分だと思う…。
05345312006/08/07(月) 22:55:50ID:???
>>532,, 533
回答ありがとうございます。

.Net2005のExpressEditionでごく単純なASPで試してみましたが、
Option Explicitが動かないほか、include先で定義している関数が
未定義扱いになってうまくいきませんでした。
ASP3.0用のbuildProviderがあればうまくいくのかもしれませんが。

Visual InterDev 6.0でなんとかやろうと思います。
新規開発ではないので、.Netにしちゃうと、全コード移行しないといけないので。
05355332006/08/08(火) 20:22:28ID:???
ちなみに俺はVisual InterDevのレスポンスの悪さに業を煮やし
程なくしてサクラエディタに乗り換えました。
たかがVBScript、MSDN Libraryさえ引ければ補完のメリットなんて
あってないようなもんだしw

フォルダ内全ファイル対象の置換は便利だけどねw>InterDev
0536nobodyさん2006/08/11(金) 21:57:33ID:yHgdeCQU
Windows2003Server、IIS6.0、SQLServer2003でメルマガ読者の管理を行う
プログラムを作っています。
上司に、メールアドレス入力欄にDOSコマンド?を入れると、
サーバ側で起動するから、それができないような処理を入れろ、
と言われたのですが、現象が再現できません。
(上司も誰かに突っ込まれたらしく、どうすれば実行できるのかわからないようです)

入力チェックは、一旦変数に格納した後、
正規表現でメールアドレス書式をチェックしており、
DB登録、検索時にはメールアドレスは暗号化しています。

現象が再現できれば、対応策も考えられると思うのですが、
どなたか、こういった問題をご存知の方、アドバイスいただけないでしょうか。
0537nobodyさん2006/08/11(金) 23:21:32ID:???
>>536
無視していいんじゃね?
多分セキュリティゴロの商売トークを真に受けてるだけだろ。

チェックするとしたらDB登録時のSQLインジェクションぐらいか。
commandオブジェクト使うとか、ちゃんとシングルクォートのエスケープをしていれば無問題。
0538nobodyさん2006/08/12(土) 02:29:08ID:xBjeg5WF
>>536
IISにおいて、フォームから適当なDOSコマンドを入れると
サーバ側で動き出すなんてありえない。

BASP21のExecとか、cgiがexeファイルとか、自作ISAPI使ってるっていうなら
ありえなくないが。
05395362006/08/12(土) 12:28:22ID:???
>>537,538
レスありがとうございます。
自分もずっと調べていたのですが、やはりソレらしい情報はないですね。
(Jetエンジンを使った問題がヒットしましたが、そもそもJet使ってないし
チェックで弾かれています)
とりあえず、SQL文をしっかり洗い出して、エスケープなどの抜けを
しっかり調べてみます。
お騒がせしました。
0540nobodyさん2006/08/18(金) 11:37:56ID:???
Dim hoge
Set hoge = Application("hoge")

とするとApplication("hoge")にまだ値が入っていないとき
オブジェクトがありません。というエラーになってしまいます。
事前に値が入っていないかチェックする方法はありますでしょうか?

よろしくお願いします。
0541nobodyさん2006/08/18(金) 21:23:55ID:???
isEmpty(Application("hoge"))

しかしApplicationにオブジェクトを格納するのは大抵ビミョウじゃぞ
0542nobodyさん2006/08/18(金) 21:32:54ID:???
>540
確かエラートラップするしかなかったと思う。
DictionaryみたくExistsメソッドとかありゃ便利なんだが……そう思った頃が俺にもありました。確かにorz
(関数一個書けばいい話ではあるが)

つーかApplicationやSessionにオブジェクト突っ込むのは基本的に禁じ手ですよ?
http://www.microsoft.com/japan/msdn/columns/server/server03272000.aspx
(世の中にMTAなCOMコンポーネントなんてそうそうありませんorz)
05435422006/08/18(金) 21:33:47ID:???
……前半は忘れてくりゃれorz
0544nobodyさん2006/08/18(金) 23:42:54ID:FoNP/zJS
>>540
Stringに強制変換させたりね
0545nobodyさん2006/08/19(土) 21:26:33ID:???
>>540
TypeName
0546nobodyさん2006/08/24(木) 15:03:40ID:aU8FJkVc
質問です。
Response.ContentType = "application/pdf"で
ページをPDF出力することってできないんですか?
0547nobodyさん2006/08/24(木) 21:34:05ID:???
>>546
それを送った後で、PDFのデータ実体を
ブラウザに送り出してやればOK
05485462006/08/25(金) 09:47:25ID:NQK5sUA1
>547
それってResponse.ContentType = "application/pdf"が書いてある
コードのページ自体をプラウザで表示してやれば、PDFに変換されたものが
でてくるって事ですよね?
できないんですが・・・
0549nobodyさん2006/08/25(金) 16:00:43ID:???
html→PDFの変換を自動でやらせるって事?
05505462006/08/25(金) 17:19:37ID:NQK5sUA1
そのとうりです!
0551nobodyさん2006/08/25(金) 18:38:37ID:???
できるよ
0552nobodyさん2006/08/25(金) 18:49:31ID:???
Response.ContentType = "application/pdf"って書いてpdfになると思ってる奴は
Response.ContentType = "audio/mpeg"って書いたら何が出ると思ってるんだろう

ちょっと考えれば出来るか出来ないか分かるだろうにな
05535462006/08/25(金) 19:44:31ID:NQK5sUA1
何をどう考えたらいいかわかりませーん。
もうすこしヒントを
0554nobodyさん2006/08/25(金) 21:32:10ID:???
>>553
単純には出来ません。
真っ当なやり方をするとしたらPDFlibとかの外部コンポーネントでも使って
頑張ってコツコツ作っていくしかない。
0555nobodyさん2006/08/26(土) 03:07:21ID:???
>>549-550
その発想はなかったわ・・・
0556nobodyさん2006/08/26(土) 15:16:53ID:???
>>548
PDFのデータ実体って、
バイナリデータだぞwww

誰がプレーンテキスト吐き出せって言ったよwww

久しぶりに超うけた。
0557nobodyさん2006/08/26(土) 15:18:28ID:???
>>556
脳みそかわいそうな子なのカナ?
0558nobodyさん2006/08/27(日) 01:50:09ID:???
>556
まぁスレともレスともあまり関係ないが
後学のためにテキストエディタで何か一つPDFファイルを開いて見てみることを勧める
0559nobodyさん2006/08/28(月) 01:03:57ID:7CABj+h0
>>553
リクエストがある度にPDF化するのは
サーバに負荷がかかるし、実際レスポンスも悪くなる。

事前にPDFに変換しとくか、
クライアントPCにAcrobatとかインストールして
IEのツールバーに表示されるPDF変換アイコンを押してもらうといいよ
0560nobodyさん2006/08/28(月) 02:39:29ID:???
PDFはバイナリーデータもサポートしてるけどな

まぁ>>556はそんな事どうでもいいくらいおバカだが…
0561nobodyさん2006/08/29(火) 12:02:00ID:???
Nowから秒より下の値を取得したいのですが
やりかたがわかりません。
たとえば
Year(Now)とすれば年が取れるのですが
yyyy/mm/dd hh:mm:ss.fff
のfffの部分を取得したいのですが
やり方があったら教えてください。よろしくお願いします。
0562nobodyさん2006/08/29(火) 19:12:23ID:???
>>561
Now()ってss以下、
1000分の1秒単位の精度の
戻り値があったっけ?

たしか
yyyy/mm/dd hh:mi:ss
までじゃなかったか?

100分の1秒で求めるなら、
Timer()使って.(ピリオド)から右側の値だけ
取得することは可能だと思うけど、
1000分の1秒ってのが厳しいな。
0563nobodyさん2006/08/30(水) 00:14:06ID:???
そもそもPCのタイマってそんなに精度ないよ
0564nobodyさん2006/08/30(水) 00:19:03ID:???
ネタ元がアレゲなんだが
「分解能の高いタイマ関数ほど実行に時間がかかる傾向がある」
と聞いたことがある。
0565nobodyさん2006/08/30(水) 01:05:53ID:F1Hs7Aoq
>>564
いや、普通に正しいだろ。
05665462006/08/30(水) 09:26:55ID:7QXl0OJH
やっぱりコツコツ作っていくしか無いんですね。
ありがとうございました。
0567nobodyさん2006/08/31(木) 16:00:10ID:???
java開発からASP開発に周り、ASP開発は初めてですが、
javaのstrutsのようなフレームワークみたいなコンポーネントってあるのでしょうか。
MVCになってなくても良いのですが、htmlの部品の表示などをもっと簡単にしたいです。
0568nobodyさん2006/08/31(木) 19:26:54ID:???
>>567
一つ確認。ASP?ASP.net?
0569nobodyさん2006/09/01(金) 10:34:28ID:???
>>568
ASPです。古いパッケージのカスタマイズ案件なので・・・
0570nobodyさん2006/09/01(金) 22:30:45ID:???
>>567
気の利いたフレームワークとかは無い。
自分でfunction作るしかないね。
不幸中の幸いとして

function hoge()
%>
<DIV>ほげほげ</DIV>
<%
end function

っていう書き方が出来るので
それを利用したりするとちょっとは楽できるかも。
0571nobodyさん2006/09/04(月) 11:45:39ID:???
ttp://www.aspin.com/のサイトにフリーなコンポーネントがあるそうですが、
よく使用するものや、お勧めとかはあるでしょうか?
0572nobodyさん2006/09/04(月) 11:55:36ID:???
XMLDOMってやつを見つけました。
数が少ないですが、探せば使えそうなものがいくつか出てきそうです。
0573nobodyさん2006/10/04(水) 00:11:43ID:SPPmb2Gu
ついに一ヶ月書き込みがない。。。
0574nobodyさん2006/10/05(木) 18:58:59ID:???
さすがに全ての面で枯れたな。

ASPとりあえず何でも出来てよく動くんだけどね。
VBScriptがあまりに非力過ぎるんだよなー。
0575nobodyさん2006/10/05(木) 22:06:52ID:???
ウチの社内じゃまだまだ現役だよ。
……はやいとこ.NETに移行したいんだけど、他にメンテできる人がいないから……
0576nobodyさん2006/10/05(木) 23:04:36ID:???
>>575
社外向けでも現役でつよ・・・
05775742006/10/06(金) 00:15:23ID:???
む、「枯れてる」と言ったのはテクニックとかそういった意味の話で。
今更スレの話題になるようなトピックは無いと言いたかっただけ。

ちなみに俺も今は昔売ったASPのシステムの保守で飯食ってます。
あと5年は無くならないだろうな…。
■ このスレッドは過去ログ倉庫に格納されています