SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

VB テクニック編24 - 任意文字カウント、文字列反転、スクロールバー

■SAK 関数利用規程

  ・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。
  ・著作権明示部分の改編は認めない。
  ・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや
    プログラムを開発することは自由です。
  ・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、
    その他有償プロダクトとして配布・販売するには、私の許可が必要です。
    (無償のフリーソフトウェアなら、自由に配布しても良い。)
  ・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は
    賠償しません。

■任意文字カウント

  ・文字列に含まれる任意文字列の出現数をカウントするには、次のようにする。
    空白の検索など、様々に応用できる。
    (空白文字検索、指定文字列数、テキスト検索)

  dim ct as long

  ct = CntStr("abcdefabgabh", "ab")

Public Function CntStr(s as string, org as string) as long

  dim i as long
  dim j as long
  dim k as long

  k = len(org)
  i = 1
  j = 0
  do
    i = instr(i, s, org)
    if i > 0 then
     i = i + k
     j = j + 1
    end if
  loop until i = 0

  CntStr = j

end Function

  ・テキストファイルを対象に任意文字列の出現数をカウントするには、
    次のようにする。

  dim ct as long

  ct = CntStrFile("g:\tmp\test.txt", "ab")
  if ct = -1 then msgbox "ファイルがオープンできない。"

Public Function CntStrFile(fnm as string, org as string) as long

  dim fno as integer
  dim rec as string
  dim i as long

  CntStrFile = -1

  i = 0
  on local error resume next
  fno = freefile
  open fnm for input as fno len = 32000
  if err <> 0 then exit function
  do until eof(fno)
    line input #fno, rec
    i = i + CntStr(rec, org)
  loop
  close fno
  if err <> 0 then exit function

  CntStrFile = i

end Function

■文字列反転

  ・文字列を反転して得るには、次のようにする。

  msgbox RevStr("abcdef")

public function RevStr(s) as string

  dim a as string
  dim i as long

'** 文字列反転
  for i = len(s) to 1 step -1
    a = a & mid(s, i, 1)
  next
  RevStr = a

end function

■ASP での数値ゼロ埋め編集

  ・ASP では、format が使用できないので、ゼロ埋めが面倒である。
    次の関数を使用すれば、format と同等のゼロ埋めができる。

  response.write(FixZero(123, 6))
                         |    |_ 整数ゼロ埋め桁
                         |_ 数値変数、数値 DB 項目

  response.write(FixZero(rs("得意先CD"), 4))

function FixZero(n, l) 'as string

'** ゼロ埋め
  FixZero = right(string(l, "0") & n, l)

end function

■スクロールバーコントロール

  ・HScrollbar、VScrollbar は、次のように制御します。
    尚、実際のスクロールコードは、HScroll1_Change、VScroll1_Change イベ
    ントに記述します。

  HScroll1.Max = 100         '最大値
  HScroll1.Min = 1           '最小値
  HScroll1.SmallChange = 10  '矢印クリック移動量
  HScroll1.LargeChange = 20  'バークリック移動量
  HScroll1.Value = 50        '現値

  VScroll1.Max = 100         '最大値
  VScroll1.Min = 1           '最小値
  VScroll1.SmallChange = 10  '矢印クリック移動量
  VScroll1.LargeChange = 20  'バークリック移動量
  VScroll1.Value = 50        '現値

Private Sub HScroll1_Change()
  ...
End Sub

Private Sub VScroll1_Change()
  ...
End Sub

■VB テクニック編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK