コメント

このコメントは、池ちゃんの汎用関数2へのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/10/18 22:10/18/12)
少し惜しいですね

この関数では日付しか判定に含んでいないため
1ヶ月後の同日に再度利用した場合
別の日であるにもかかわらずfalseとなってしまいます。

#0埋め
def addZero(n, b)
  l = 0; c = n; r = ""; b = b - 1
  while c > 9
      c = floor(c / 10); l = l + 1
  end
  while l < b
      r = r + "0"; l = l + 1
  end
  r = r + n
  return r
end
#1日1回限定判定
def LoginCheckToday() 
  r = false
  
  #現在の年月日を取得する
  t = getServerCurrentDate()
  
  #年月日を文字列に変更
  ymd = ""
  ymd = ymd + addZero(t[0],4) #年
  ymd = ymd + addZero(t[0],2) #月
  ymd = ymd + addZero(t[0],2) #日
  
  #初期値の登録
  #-- 通常変数を使用する場合は --
  #-- 絶対に誰も使用しないような変数名を使う --
  if !getVariable("IkeChan_LoginChk")
    setVariable("IkeChan_LoginChk", "00000000")
  end
  
  #前回の年月日と異なる場合
  if getVariable("IkeChan_LoginChk") != ymd
    r = true
    setVariable("IkeChan_LoginChk", ymd)
  end
  
  return r
end

}}}

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/10/18 22:10/18/12)
少し惜しいですね

この関数では日付しか判定に含んでいないため
1ヶ月後の同日に再度利用した場合
別の日であるにもかかわらずfalseとなってしまいます。

#0埋め
def addZero(n, b)
  l = 0; c = n; r = ""; b = b - 1
  while c > 9
      c = floor(c / 10); l = l + 1
  end
  while l < b
      r = r + "0"; l = l + 1
  end
  r = r + n
  return r
end
#1日1回限定判定
def LoginCheckToday() 
  r = false
  
  #現在の年月日を取得する
  t = getServerCurrentDate()
  
  #年月日を文字列に変更
  ymd = ""
  ymd = ymd + addZero(t[0],4) #年
  ymd = ymd + addZero(t[0],2) #月
  ymd = ymd + addZero(t[0],2) #日
  
  #初期値の登録
  #-- 通常変数を使用する場合は --
  #-- 絶対に誰も使用しないような変数名を使う --
  if !getVariable("IkeChan_LoginChk")
    setVariable("IkeChan_LoginChk", "00000000")
  end
  
  #前回の年月日と異なる場合
  if getVariable("IkeChan_LoginChk") != ymd
    r = true
    setVariable("IkeChan_LoginChk", ymd)
  end
  
  return r
end

}}}