(現在 過去ログ18 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■2617 / inTopicNo.1)  日付を自動的に入力したいのですが...
  
□投稿者/ 桐の初心者 -(2007/06/09(Sat) 17:34:41)
    みなさんはじめまして、桐のファイルにデータを入力するときの
    入力を楽にする方法があれば教えてください。

    表にデータを入力するのですが、2006年1月1日から、今日までの
    日付を自動的に入力する方法があればと思い考えたのですが、
    関数の組み合わせ方法などがうまく行かないのでエラーになって
    ばかりなので詳しい方からのアドバイスを頂ければと思います。

    よろしくお願い致します。

DATE.ZIP
/2KB
引用返信 [メール受信/OFF] 削除キー/
■2619 / inTopicNo.2)  Re[1]: 日付を自動的に入力したいのですが...
□投稿者/ アックン -(2007/06/09(Sat) 19:31:06)
    マニュアル操作でやるとすれば、必要な行数をあらかじめ作っておいてから、
    下の式で置換すればいいですよ。

    #日数加算( #直前値( [日付] , d"2005/12/31" ) , 1 )

    ちょうど作り置きの式が2006年1月1日からの式だったので、コピペしました。項目名が異なっていれば、修正してください。
    行追加の方法は、Ctrl+Alt+↓で改行方向を下向きに設定して、次にEnterを押し続けると、数百行ならすぐにできます。
引用返信 [メール受信/OFF] 削除キー/
■2620 / inTopicNo.3)  Re[1]: 日付を自動的に入力したいのですが...
□投稿者/ 今村 誠 -(2007/06/09(Sat) 20:56:00)
    アックンさん横レスすいません。表を新たに作る方法です。
    変数宣言 固有,文字列 {&S表名="ikatusyosinsya.tbl",&S項目名="日付"}\
         ,固有,長整数{&LFrom,&LTo,&Lday}
     手続き実行 numberset(&LFrom,"年を入力",2006)
     if (&LFrom)
      call   numberset(&LTo,"月を入力",1)
      if (&LTo)
       call  numberset(&Lday,"日を入力",1)
       if (&Lday)
        call 表作成(&S表名,"日時,"+&S項目名)
        call 表追加(&S表名,&S項目名,&LFrom,&LTo,&Lday)
       End
      End
     End
     表 &S表名 , 終了状態=&LTo
     表形式編集
     終了 表 *

    Proc numberset(参照 Long &N番号 , 文字列 &Sメッセージ , 長整数 &Lfirst )
    *桐8では開始位置↓を指定しないと構文エラーになった。知らなかった
      キー入力 (10,10),プロンプト = &Sメッセージ , モード = 無変換 \
      , 上書き = する ,初期値 = &Lfirst,終了状態 = &Lfirst,&N番号
    End

    Proc 表作成(Str &S名前,Str &S項目名データ型並び)
     変数宣言 Str{&Stmp作業="Temp.k3"}
     var 整数{&Iend=#L(&S項目名データ型並び),&Icount=#L(#S(&S項目名データ型並び,",",""))}
     var Int{&Iデータ要素数=(&Iend-&Icount+1)/2}
     印字開始 &Stmp作業, 終了状態=&Iend
     印字 "###"
     印字 "### WIN桐 00"
     印字 "###"
     For &Icount=1,&Iデータ要素数
      印字 """"+#対応文字列(&S項目名データ型並び,&Icount*2)+"""",","\
         ,""""+#対応文字列(&S項目名データ型並び,&Icount*2-1)+""""
     end
     印字終了 改頁=しない
     表作成 &S名前,定義ファイル=&Stmp作業,モード=専有,終了状態=&Iend
    手続き定義終了

    Proc 表追加(Str &S表名,Str &S項目名,Long &L開始,Long &L終了,Long &L日)
     var Long {&Lcount},Int{&Iend},date{&D開始}
     &D開始=#日時値(#Str(&L開始)+"/"+#str(&L終了)+"/"+#STR(&L日))
       繰り返し (&D開始<#日時値)
        行追加 終了状態=&Iend, &S項目名 = &D開始
        &D開始=#日数加算(&D開始,1)
       end
       終了 表 編集対象表
    End

引用返信 [メール受信/OFF] 削除キー/
■2623 / inTopicNo.4)  Re[2]: 日付を自動的に入力したいのですが...
□投稿者/ 桐の初心者 -(2007/06/10(Sun) 13:45:04)
    今村 誠さん、アックンさん

     早速のご回答に感謝しております。これで入力時の手間はずいぶん
    省けます。また、一括処理はハードルが高いので使いこなせておりませんが
    徐々に桐に馴れるようになりたいと思っております。

    親切なアドバイスに感謝しております。ありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -