2017年5月26日金曜日

[UWSC]現在のタイムスタンプ(文字列)を返す関数

初心者のプログラミング導入のため、UWSCという開発ソフトを使って作り上げる作業を実際にやって見せるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、タイムスタンプを文字列で返す関数です。(以前作ったものの改良)

記事の内容

○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)

以前、このような関数を作ったのですが、自分で使ってて面倒くさいなと思ったので作り直しました。
タイムスタンプが文字列で返される関数です。以前のものは、自作関数でパラメータ指定するのを嫌ってフォーマットごとにバラバラに作成していましたが、この程度なら1関数にまとめた方が使いやすいので作り直しました。


現在のタイムスタンプを文字列で返す関数

t_stamp(mode)関数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FUNCTION t_stamp(mode)
         GETTIME()
         date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2
         time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2
      SELECT mode
      CASE 0
         RESULT=date
      CASE 1
         RESULT=time
      CASE 2
         RESULT=date+"_"+time
      DEFAULT
         RESULT="ポクエラー(time_stamp関数):定義されていないmodeが指定されました。"
      SELEND
FEND
プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,15行目1
15
FUNCTION t_stamp(mode)
FEND
t_stamp(mode)関数宣言
2016年5月4日20時36分44秒に呼び出された場合、
mode=0: 日付"20160504"を返す
mode=1: 時刻"203644"を返す
mode=2: 日付+時刻"20160504_203644"を返す
mode=other: エラーを返す
2行目2         GETTIME()
GETTIME()
UWSC標準関数。
3,4行目3
4
         date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2
         time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2
変数dateに、現在の 年(4桁)+月(2桁)+日(2桁) を代入。
変数timeに、現在の 時(2桁)+分(2桁)+秒(2桁) を代入。
5,14行目5
14
      SELECT mode
      SELEND
モードによる分岐命令。
6,7行目6
7
      CASE 0
         RESULT=date
mode=0を指定された場合
戻り値として、変数dateを返す。
8,9行目8
9
      CASE 1
         RESULT=time
mode=1を指定された場合
戻り値として、変数timeを返す。
10,11行目10
11
      CASE 2
         RESULT=date+"_"+time
mode=2を指定された場合
戻り値として、変数dateと変数timeを“_”(アンダーバー)でつなげたものを返す。
12,13行目12
13
      DEFAULT
         RESULT="ポクエラー(time_stamp関数):定義されていないmodeが指定されました。"
mode=それ以外を指定された場合
戻り値としてエラーを返す。

呼び出し側t_stamp//2017年2月20日の18時15分22秒に呼び出した場合、
R=t_stamp(0)//Rには"20170220"が代入される。
R=t_stamp(1)//Rには"181522"が代入される。
R=t_stamp(2)//Rには"20170220_81522"が代入される。
R=t_stamp(3)//Rにはエラーメッセージが代入される


動作確認

動作確認プログラム
1
2
3
FOR i=0 TO 3
   PRINT i+" "+t_stamp(i)
NEXT
プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,3行目1
3
FOR i=0 TO 3
NEXT
変数iを0~3までループ。
2行目2   PRINT i+" "+t_stamp(i)
変数it_stamp()関数の引数として渡し、変数iと関数の戻り値を並べて表示する。

結果(2017年5月26日23時17分50秒に実行)
0 20170526
1 231750
2 20170526_231750
3 ポクエラー(time_stamp関数):定義されていないmodeが指定されました。


記事の内容

記事の内容は伝わりましたでしょうか。
○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)


関数群のダウンロードはこちら
func_poku.uwsのコメント欄に呼び出し方が書いてあります。


【関連記事】[UWSC]firefoxやchromeを操作できるか試してみる関数
[UWSC]カンマ等で区切られたフィールドデータを扱う関数
[UWSC]タイムアウト関数(作り直し)
[UWSC]配列のサイズを変更する二【要素を挿入・追加】


スポンサーリンク



ブログ村へ blogramのブログランキング

ポク太郎の「俺の説明聞いてくれ」 コンテンツ
ポク太郎の「俺の説明聞いてくれ」最キラー記事 コンピュータ(ハード/ソフト)
映画・ドラマ・芸能
変人のつぶやきとトラブル
ホームへ戻る


0 件のコメント:

コメントを投稿