三流君のソースコード置き場

三流プログラマーが作成したコードが置いてあります。ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)※古くさいコードが多いです・・・

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
(※詳細は[三流君 三流プログラマーとは?]を見てください)


広告:


[記事一覧、バックナンバーを見る]

asp081.html 三流君ASP:Split関数で複数キーワードをスペースで分解する

元の三流解説は、
三流君ASP:Split関数で複数キーワードをスペースで分解する
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



ソースコード

<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>キーワード分解 Replace関数とSplit関数とUBound関数</title>
</head>
<body>
<h1>キーワード分解 Replace関数とSplit関数とUBound関数</h1>
test081-1.asp<br>
スペースで区切って好きな言葉を入れてください(全角半角スペースまぜてね)<br>
<FORM ACTION="test081-1.asp" METHOD="POST">
  <INPUT TYPE="text" SIZE="60" NAME="DATA" VALUE="AB 型 三流君 ←全角"><BR>
  <INPUT TYPE="submit" VALUE="分割実行">
  <INPUT TYPE="reset"  VALUE="クリア">
</FORM>
分割実行ボタンを押すとReplace関数で全角スペースを半角に置換してから<br>
Split関数とUBound関数を使用してデータ分割表示します<br>
<br>
<%  '入力パラメーターDATAがあるかチェックする
  If IsEmpty(Request.Form("DATA")) = False Then
      Response.Write "<hr><b>テスト結果</b><br>"
      'データが入力されていたら、バラして表示する
      Dim strMOTO
      strMOTO = Request.Form("DATA")  'Postで受け取ったデータ
      Response.Write "元のデータは、[" & strMOTO & "]です<br>"
      '全角スペース□を半角スペースに置き換える
      strMOTO = Replace(strMOTO, " "," ")
      'スペースでデータをバラす
      strBOX = Split(strMOTO, " ")  '区切り文字にスペース指定
      'ループでデータを表示させる
      For i = 0 To UBound(strBOX)   'UBound使用インデックス最大値までループ
        Response.Write "<BR>"
        Response.Write "strBOX(" & i & ") -- "  '変数名表示
        Response.Write strBOX(i)                '中身を表示
      Next
  End If
%>
<hr>
処理概要:<br><code>
全角スペース□を半角スペースにReplace関数で置換する<br>
strMOTO = Replace(strMOTO, " "," ")<br>
その後、Split関数を使用して、スペース指定で配列を作成する<br>
strBOX = Split(strMOTO, " ")<br>
Split関数で配列を作成後、<br>
'ループでデータを表示させる<br>
For i = 0 To UBound(strBOX)   'UBound使用インデックス最大値までループ<br>
とUBound関数で配列の要素数を判断、ループさせてます。</code><br>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test081-1.asp実行する



ソースコード

<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>キーワードをスペースで分解するサンプル</title>
</head>
<body>
<h1>キーワードをスペースで分解するサンプル</h1>
test081-2.asp<br>
スペースで区切って好きな言葉を入れてください(全角半角スペースまぜてね)<br>
<FORM ACTION="test081-2.asp" METHOD="POST">
  <INPUT TYPE="text" SIZE="60" NAME="DATA"
   VALUE=" 背が高い お金持ち   高学歴    マンション "><BR>
  <INPUT TYPE="submit" VALUE="分割実行">
  <INPUT TYPE="reset"  VALUE="クリア">
</FORM>
分割実行ボタンを押すとReplace関数で全角スペースを半角に置換してから<br>
Split関数とUBound関数を使用してデータ分割表示します<br>
<br>
<%  '入力パラメーターDATAがあるかチェックする
  If IsEmpty(Request.Form("DATA")) = False Then
      Response.Write "<hr><b>テスト結果</b><br>"
      'データが入力されていたら、バラして表示する
      Dim strMOTO
      strMOTO = Request.Form("DATA")  'Postで受け取ったデータ
      Response.Write "元のデータは、[" & strMOTO & "]です<br>"
      '前後のスペースを取り除くためTrimを使用する
      strMOTO = Trim(strMOTO)
      '全角スペース□を半角スペースに置き換える
      strMOTO = Replace(strMOTO, " "," ")
      'さらに、半角スペースn個を半角スペース1個にする
      For rCNT = 1 To 10 '複数スペースを最大10までカット(1つに)する
         strMOTO = Replace(strMOTO, "  "," ")
      Next
      'スペースでデータをバラす
      strBOX = Split(strMOTO, " ")  '区切り文字にスペース指定
      'ループでデータを表示させる
      For i = 0 To UBound(strBOX)   'UBound使用インデックス最大値までループ
        Response.Write "<BR>"
        Response.Write "strBOX(" & i & ") -- "  '変数名表示
        Response.Write strBOX(i)                '中身を表示
      Next
  End If
%>
<hr>
処理概要:<br><code>
前後のスペースを取り除くためTrimを使用する<br>
strMOTO = Trim(strMOTO)<br>
<br>
全角スペース□を半角スペースにReplace関数で置換する<br>
strMOTO = Replace(strMOTO, " "," ")<br>
<br>
スペースn個を1つのスペースにする<br>
For rCNT = 1 To 10 '複数スペースを最大10までカット(1つに)する<br>
 strMOTO = Replace(strMOTO, "  "," ")<br>
Next<br>
<br>
その後、Split関数を使用して、スペース指定で配列を作成する<br>
strBOX = Split(strMOTO, " ")<br>
Split関数で配列を作成後、<br>
'ループでデータを表示させる<br>
For i = 0 To UBound(strBOX)   'UBound使用インデックス最大値までループ<br>
とUBound関数で配列の要素数を判断、ループさせてます。</code><br>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test081-2.asp実行する



↑コードの三流解説は、
三流君ASP:Split関数で複数キーワードをスペースで分解する
を見て、笑ってやってください。

今回は、
キーワードの分解処理に挑戦してみました。
Split関数を使用するのですが、その前に、データをキレイにするのに手間取りました。

Split単: http://www.ken3.org/cgi-bin/test/test024-2.asp (Splitのみ全角SP不可)
途中 : http://www.ken3.org/cgi-bin/test/test081-1.asp (スペースn個未対応)
最終版 : http://www.ken3.org/cgi-bin/test/test081-2.asp (前後スペース、対応)
で、テストできます。遊んでみてください。

もっと、想定外の操作ってあったりするけど、
何かの参考となれば幸いです。




ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・

asp080.html 三流君ASP:Microsoft Text Driver (*.txt; *.csv) で接続してみた

元の三流解説は、
三流君ASP:Microsoft Text Driver (*.txt; *.csv) で接続してみた
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



ソースコード

<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>ADO Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=で接続</title>
</head>
<body>
<h1>ADO Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=で接続</h1>
test080-1.asp<br>
ASPからADOを使用してテキストファイル(*.csv)に接続を行う<br>
ファイル名はtest080.csvで、データは,カンマで区切られてます。<br>
<pre>
<Font Color='Green'>'SQLのテーブル名には、ファイル名を指定します。</Font>
strSQL = &quot;select * from test080.csv&quot;
<Font Color='Green'>'接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する</Font>
Con = &quot;Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=&quot; &amp; _
      Server.MapPath(&quot;.&quot;) &amp; &quot;;&quot;
'↑MapPathに(&quot;.&quot;)を渡し、カレントディレクトリを渡す
</pre><br>
こんな感じで作成してみました。(詳細は下のほうにあるソースを見てください)
<hr>
<%

  'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん
  Set rs=Server.CreateObject("ADODB.Recordset")

  'SQLのテーブル名には、ファイル名を指定します。
  strSQL = "select * from test080.csv"
  '接続情報の作成 ドライバーの指定と、DBQには、パスのみを指定する
  Con = "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & _
        Server.MapPath(".") & ";"
  '↑MapPathに(".")を渡し、カレントディレクトリを渡す

  Response.Write "使用する接続文字列は<br>"
  Response.Write "<STRONG><CODE>" & Con & "</CODE></STRONG><br>"
  Response.Write "発行するSQL文字列は<br>"
  Response.Write "<STRONG><CODE>" & strSQL & "</CODE></STRONG><hr>"

  '接続文字列、SQLを渡して、レコードセットを開く
  rs.Open strSQL, Con, 0  '0=adOpenForwardOnly

  'データの表示をテーブルで行う
  Response.Write "<TABLE Border='1'>"

  '見出しを(フィールド名を)そのまま書き込む
  Response.Write "<TR>"
  For Each fld_A In rs.Fields 'フィールドのアイテムに対してループ
     Response.Write "<TH>" & fld_A.Name & "</TH>" '←.Nameでフィールド名
  Next
  Response.Write "</TR>"

  'お約束のEOFまでループは(データが無くなるまでループ)、
  Do While rs.EOF = False   'レコードセットの.EOFがFalseの間
    Response.Write "<TR>"   '内容を表示する
    For Each fld_A In rs.Fields 'フィールドのアイテムに対してループ
       Response.Write "<TD>" & fld_A.Value & "</TD>" '←.Valueでフィールドの値
    Next
    Response.Write "</TR>"
    rs.MoveNext    '次のレコードに移動する
  Loop

  Response.Write "</TABLE></SAMP>"  'テーブルは終わりです

  '後始末
  rs.Close '開いていたレコードセットを閉じる
  Set rs = Nothing 'お行儀よくオブジェクトも開放しましょう

%>
<hr>
[<a Href="test080.csv" TARGET="_blank">元ファイルtest080.csvを開く</a>]<br>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test080-1.asp実行する



↑コードの三流解説は、
三流君ASP:Microsoft Text Driver (*.txt; *.csv) で接続してみた
を見て、笑ってやってください。



ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・

asp078.html 三流君ASP:Server.URLEnCodeで文字列をエンコードする

元の三流解説は、
三流君ASP:Server.URLEnCodeで文字列をエンコードする
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



ソースコード

<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>Server.URLEnCodeを使い、エンコードして表示する</title>
</head>
<body>
<h1>Server.URLEnCodeを使い、エンコードして表示する</h1>
<br>
Server.URLEnCode(文字列)でエンコードしただけです(笑)<br>
※詳細は、ソースと詳細解説のページを見てください。<br>
<hr>
<%
  CHK_DATA = Request.Form("DATA") 'パラメータの代入
  '長さをチェックする
  If Len(CHK_DATA) <> 0 Then '文字が入っていたら
    Response.Write "受け取ったデータは["
    Response.Write Server.HTMLEncode(CHK_DATA) & "]です<br>"
    '*エンコードした結果を表示する
    Response.Write "Server.URLEnCodeでエンコードした結果は、<BR>[<b>"
    Response.Write Server.URLEnCode(CHK_DATA) & "</b>]です<BR>" & vbCRLF
  End If
%>
<HR>
<FORM ACTION="test078-1.asp" METHOD="POST">
調査したい文字列を入力してください。<br>
<INPUT TYPE="text" SIZE="30" NAME="DATA" VALUE="<%=CHK_DATA%>">
<INPUT TYPE="submit" VALUE="Server.URLEnCode 開始"><br>
↑いろいろと遊んでみてください↑
</FORM>

<br>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test078-1.asp実行する



↑コードの三流解説は、
三流君ASP:Server.URLEnCodeで文字列をエンコードする
を見て、笑ってやってください。



ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・



三流君へ メッセージを送る

全ての質問に答えることはできませんが、
ダメもとで、気軽に質問、感想、メッセージを送ってくださいね・・・

感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)
例:[XXXXさんへ回答例]←みたいに回答していたり...


Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。
・[Excel/Access VBA]の解説
・[ASP(Active Server Pages)]の解説。
・[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
・[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
三流君を踏み台にする
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。

三流解説動画の再生リスト
https://www.youtube.com/user/ken3video/playlists

本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)