初心者です。

●Request.Formatで配列が取得できるのがベスト
●MID関数の代替手段(代替ロジック)

下記の処理を行いたいのですが、どうのようにコーディングしていいのか分かりません。VB SCRIPTでは、MID関数がサポートされていないようなのですが、他の代替手段が思い付きません。どなたか宜しくアドバイス願います。

「delObject」はHTML上で一覧表示する為の1カラムで、行単位に配列で値をもってます。Request.Formatでとれればベストなのですが、配列は取得できませんでした。そのかわり、下記コーディングでstrDelCondの中にカンマ(,)区切りで値が取得できたので、それをMID関数で一文字ずつ取得しようとしました。が、MID関数がサポートされていないようで行き詰まってしまってます。宜しくお願いします。


dim strStr
dim strSeq(100)
dim nLen

strDelCond = Request.Form("delObject")
nLen = Len(strDelCond)
ii=0
for i=0 to nLen
strSeq(ii)=""
strStr = Mid(strDelCond,i,1)
if strStr = "," then
ii = ii + 1
else
strSeq(ii) = strSeq(ii) + strStr
strSeq[ii] = strStr
end if
next

このQ&Aに関連する最新のQ&A

A 回答 (1件)

VBScriptでMid関数はサポートされていますよ(参考URL)


ただ、URLクエリーの値をカンマ区切りにした場合

Dim strSeq(100)
For i=1 To Request.Form("delObject").Count
  If UBound(strSeq) >= i Then
    strSeq(i) = Request.Form("delObject")(i)
  Else
    Exit For
  End If
Next

で、strSeq() に代入してあげた方がスマートかな?
私が勘違いしていれば訂正お願いします。

参考URL:http://www.microsoft.com/japan/developer/scripti …

この回答への補足

If UBound(strSeq) >= i Then
の行で、「文字が正しくない」というコンパイルエラーになるのですが
何が悪いのでしょうか。

補足日時:2001/08/22 23:42
    • good
    • 0
この回答へのお礼

すみません、上記の補足は無視して下さい。
うまくいきました。
本当に助かりました。ありがとうございました。

お礼日時:2001/08/22 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QIISのログっていつ消えるんですか?(IIS5.0,IIS6.0)

IIS ログ形式で日毎にログが落ちる設定に
しているのですが・・・

ふと思って、いつこのログって消えるのでしょうか?
1年経ったものから消えていくとかの設定が
ないようなので・・・

どなたか教えてください。
よろしくお願いします。

Aベストアンサー

イベントログ等と違って、消さない限り何年でも残ります。

QRequest.Querystringについて

ASPについて教えてください。
基本的な質問です。プログラム初心者です。

プログラムを前の方へ辿っていっても、
以下のスクリプトでRequest.QueryStringする"YM"や"MOVE"が定義されているところが見当たりません。
環境変数?にもそのようなものは、無さそうなのですが。

この"YM"や"MOVE"はどのようなものと考えれば良いでしょうか?
スクリプトなので上から順番に処理されていくと理解していたのですが、
そもそも間違いでしょうか?

<%
sYM = Request.QueryString("YM")
If sYM = "" Then
iYear = Year(Now())
iMonth = Month(Now())
Else
iYear = Left(sYM,4)
iMonth = Right(sYM,2)
End If
sMove = Request.QueryString("MOVE")
If sMove <> "" Then
If sMove = "Next" Then
ix = 1
Else
ix = -1
End If
iTmp = DateSerial(iYear, iMonth + ix, 1)
iYear = Year(iTmp)
iMonth = Month(iTmp)
End If

iLastDay = Day(DateSerial(iYear, iMonth + 1, 1 - 1))
iDay = 1 - Weekday(DateSerial(iYear, iMonth, 1)) + 1
Response.Write ""
Response.Write ""
Response.Write ""
sPrg = "calendar.asp?YM=" & iYear & Right("00" & iMonth, 2)
Response.Write ""
Response.Write ""
Response.Write ""

For x = 0 To 6
If x = 0 Then
sCol = "#EECCCC"
Else
sCol = "#EEEEEE"
End If
Response.Write ""
Next
For y = 0 To 5
Response.Write""
For x = 0 To 6
If x = 0 Then
sCol = "#FFCCCC"
Else
sCol = "WHITE"
End If
If Date() = DateSerial(iYear, iMonth, iDay) Then
sCol = "#FFE6CC"
fToday = True
Else
fToday = False
End If
If iDay > 0 Then
Response.Write ""
Else
Response.Write ""
End If
iDay = iDay + 1
If iDay > iLastDay Then
Exit For
End If
Next
Response.Write ""
If iDay > iLastDay Then
Exit For
End If
Next
Response.Write "

ASPについて教えてください。
基本的な質問です。プログラム初心者です。

プログラムを前の方へ辿っていっても、
以下のスクリプトでRequest.QueryStringする"YM"や"MOVE"が定義されているところが見当たりません。
環境変数?にもそのようなものは、無さそうなのですが。

この"YM"や"MOVE"はどのようなものと考えれば良いでしょうか?
スクリプトなので上から順番に処理されていくと理解していたのですが、
そもそも間違いでしょうか?

<%
sYM = Request.QueryString("YM")
If sYM = "" Then
iYear = Year(Now...続きを読む

Aベストアンサー

こん竹輪。(もぐもぐ。
いや。でも、やっぱおでんは白滝。。。(知らん。


>>Request.QueryString

んー。まず、コレを誤解?してる?

http://www.site-cooler.com/kwl/asp/10.htm#QueryString

QueryString
っちゅーと、「URLの後ろにくっついたパラメータを取得するためのもの」
ぐらいの認識でいいと思います。

なので。。。


>>"YM"や"MOVE"が定義されているところ

YMやMOVEはあらかじめ定義しておく変数。
ってわけではない。
って事になります。。。かね。
(あえて言うなら、前のページで定義して送られてくる?かな?


なので。。。
このソースのASPページにアクセスされた時点で

ttp://www...hogehogehoge.asp?YM=201209&MOVE=Next

のようなURLでアクセスされてきている。ことになるかと思います。


で、アクセスされてきたら。。。

sYM = Request.QueryString("YM")

で、URLパラメータの中から「YM」を取得し、「sYM」に「201209」を格納。

sMove = Request.QueryString("MOVE")

で、URLパラメータの中から「MOVE」を取得し、「sMove」に「Next」を格納。


となる事になります。

特に例外処理のようなものもないので。。。
YMとMOVEが必ず渡ってくるようにするつもりで作り込まれているようではありますね。


なので。。。

>>プログラムを前の方へ辿っていっても、

コレの疑問を解決するのならば、このASPページの前画面のページのソースを追う必要がある。
ですかね。

こん竹輪。(もぐもぐ。
いや。でも、やっぱおでんは白滝。。。(知らん。


>>Request.QueryString

んー。まず、コレを誤解?してる?

http://www.site-cooler.com/kwl/asp/10.htm#QueryString

QueryString
っちゅーと、「URLの後ろにくっついたパラメータを取得するためのもの」
ぐらいの認識でいいと思います。

なので。。。


>>"YM"や"MOVE"が定義されているところ

YMやMOVEはあらかじめ定義しておく変数。
ってわけではない。
って事になります。。。かね。
(あえて言うなら、前のページで定義して送...続きを読む

QApacheあるいはIISで受けたリクエストをIIS6.0に転送する方法

いつもお世話になっております。

WEBサーバーにApache、アプリケーションサーバーにTomcat、といった構成が一般的にある構成だと思っております。

今回、上記構成のアプリケーションサーバー部分をIIS6.0に置き換えた構成で構築できないかと、いろいろ方法を模索しているところですが、なかなか良い方法が見つかりません・・・。

アプリケーションサーバーをWindowsServer2003のIIS6.0にすることができれば、WEBサーバーは何でもよいと考えております。(Linux系でも)

解決の糸口等ございましたらご教授いただけますでしょうか。

足りない情報がございましたらご指摘下さい。
よろしくお願い致します。

Aベストアンサー

解決なさったようですね。

ここのサイトの利用者のためにポインタを。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=37998

って回答は規約違反なのかな・・・

参考URL:http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=37998

QIIS5で作成したASPをIIS7でデバッグしたい

Windows2000+SQLServer2000Standard+IIS5環境で作成したASPを
Windows2008+SQLServer2005Express+IIS7環境に移植したところ、
いくつかのASPでエラーが出るようになりました。

IIS5の環境ではエラーになった行数や詳細が表示されていましたが、IIS7では「500-内部サーバーエラーです」程度しか表示されず、どこが悪いのかわかりません。
IIS5では動いているし、IIS7上でもきちんと動作しているASPもあるので、どこが悪いのかわからず困っています。せめてエラーになっている行がわかれば、と思うのですが・・・

IIS5のようにエラーの詳細情報を表示させる設定か、または別のデバッグ方法をご存知の方がいらっしゃいましたらご教示お願いいたします。
開発はVisualInterDev6.0です。

お手数をおかけいたしますが、宜しくお願いします。

Aベストアンサー

エラーページの500の設定を
"機能設定の編集"で"詳細なエラー"にしたら表示されませんか?

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています


おすすめ情報