アプリ版:「スタンプのみでお礼する」機能のリリースについて

Solaris5.6上の Cシェルプログラムで、
bannerコマンドと whileと、clearコマンド使用して
文字が流れるようにしたいのですが、いまいち上手く
いきません。
何か良い方法があれば教えて下さい。

A 回答 (2件)

clearでなく、CRコードを使ってみた例です。

1文字ずつ左から右へ流れていきます。

---------------
#!/bin/csh

set N=20
set STR=$1

while ( $N > 0 )
 printf "$STR\015"
 @ N= $N - 1
 set STR=" $STR"
 sleep 1
end
---------------

ただし「sleep 1」だと動きが遅いため、流れているように見せるためには、msec単位でwaitできるモジュールをC等で作るか、while文でnopループを作る必要がありそうです。

sleepの代わりのnopループ例:
---------------
 set foo=100
 while ( $foo > 0 )
  @ foo= $foo - 1
 end
---------------
    • good
    • 0
この回答へのお礼

ありがとうございます。
とても参考になりました。

もうひとつ教えて頂ければなんですけど、
左から右へ文字が現れる様に
bannerコマンド風に printfで出来たり
しますか?無理であれば良いです。

お礼日時:2003/09/18 13:21

banner文字が「左から右へ」流れる、ということでしょうか…?



bannerだと流れの見え方があまりキレイではないですが、やるとしたらこんな感じでしょうか。
---------------
#!/bin/csh
set STR=$1
set LEN=11
set i=0
while ( $i < $LEN )
  clear
  banner "$STR"
  @ i= $i + 1
  set STR=" $STR"
end
-------

printfとか使うと少し見栄えが良いかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
できれば、printfバージョンも教えて頂けないでしょうか?宜しくお願いします。

お礼日時:2003/09/17 15:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!