ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE スライド作成/表示 /senkun (02/01/15(Tue) 00:21) [208]
......MESSAGE Re[1]: スライド作成/表示 /クジラ飛行机 (02/01/15(Tue) 11:19) [211]
......MESSAGE Re[1]: スライド作成/表示 /moka (02/01/15(Tue) 15:51) [215]
............MESSAGE Re[2]: スライド作成/表示 /senkun (02/01/15(Tue) 16:21) [216]
......MESSAGE (削除) / (02/01/17(Thu) 00:32) [232]
......MESSAGE Re[1]: スライド作成/表示 /senkun (02/01/17(Thu) 11:54) [233]
......MESSAGE 簡易スライドショー Ver 5.06β /senkun (02/01/21(Mon) 00:29) [261]
............MESSAGE Re[2]: 簡易スライドショー Ver 5.05β /にゃんこ (02/01/21(Mon) 03:51) [263]
..................MESSAGE ご報告に感謝。 /senkun (02/01/21(Mon) 10:17) [264]


親記事 / ▼[ 211 ] ▼[ 215 ] ▼[ 232 ] ▼[ 233 ] ▼[ 261 ]
NO.208  スライド作成/表示
□投稿者/ senkun -(2002/01/15(Tue) 00:21:57)
□U R L/
今回は、よく友人にデジカメでとった画像を、スライドにして、
渡したりするのですが、そのスライドを、だれでも作れるようにしました。

本当言うと、この掲示板に何か載せたくて、慌てて今日つくりました。
一応完成しましたが、バグ・可読性の低いソースはお許しください。

機能追加予定!)
@ちゃんとエラーチェックするようにする。
Aスライド間隔設定できるようにする。
Bスライドの切り替え処理を選択できるようにする。
Cタイトル・コメントを設定できるようにする。
D画面のデザインを格好よくする。
などなど・・・

本当は、作成中のグラフィック表示/編集ソフトにつける機能でしたが、
それを待っているとなかなかUPできそうにないので、とりあえずUP!
(おおお!もうmokaさんが、すごそうなのUPしてる!)

まだまだ色々機能不足ですが、よかったら試してください。

'---------------------------------------------------以下がソース

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー実行」処理を行うソースです //
'// ------------------------------------------------------- //

'// 初期設定処理
母艦の、可視は、オフ。
スライドショーの間隔=1
スライドテキストは、「スライド設定.csv」。
待機処理=「{スライドショーの間隔}秒、待つ。」
文字色は、灰色

*初期画面処理
オブジェクト全破壊。
黒色で、画面クリア。
母艦の、幅は、360
母艦の、高さは、200
母艦を、中央へ移動。
母艦の、リサイズは、オフ。
その、タイトルは、「簡易スライド」です。
センタリング。

(0,30)へ、移動する。
「簡易スライドアプリケーション」と、表示。

(0,80)へ、移動する。
作成ボタンを、ボタンとして、作成。
その、クリックした時を、作成ボタンをクリックした時の反応に、設定。
表示ボタンを、ボタンとして、作成。
その、クリックした時を、表示ボタンをクリックした時の反応に、設定。
終了ボタンを、ボタンとして、作成。
その、クリックした時を、終了ボタンをクリックした時の反応に、設定。

母艦の、可視は、オン。
待機。

*初期画面反応設定
*作成ボタンをクリックした時の反応
設定画面処理へ、飛ぶ。
*表示ボタンをクリックした時の反応
スライドショー開始へ、飛ぶ。
*参照ボタンをクリックした時の反応
読込ファイル選択。
選択ファイルは、それ。
選択ファイルの、要素数。{行数でも、同じ結果です!}

もし(それ=0)ならば、
   待機。
もし(読み込みファイル="")ならば、
   待機。
   
もし(それ=1)ならば、
   読み込みファイルは、選択ファイル。
   画像リストの、アイテムは、選択ファイル。

待機。
*終了ボタンをクリックした時の反応
おわり。

*スライドショー開始
母艦の、可視は、オフ。

母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。

読込データの、行数。
スライド数は、それ。

母艦全画面化。
オブジェクト全破壊。
画面クリア。

*スライドショー画面反応
母艦の、ダブルクリックした時を、母艦をダブルクリックした時の反応に、設定する。
母艦の、キー押した時を、母艦をキー押した時の反応に、設定する。
画像表示処理=""
母艦の、可視は、オン
2で、画面フェードアウト。
もし、(スライド数=1)ならば、(
   (0,0)へ、移動する。
   画像表示処理=「\『{読込データ#0}\』を、(デスクトップの幅,デスクトップの高さ)で、画像拡大表示。」
   画像表示処理を、ひまわりする。
   )
正=0
スライド数回(
   (0,0)へ、移動する。
   画像表示処理=「\『{読込データ#正}\』を、(デスクトップの幅,デスクトップの高さ)で、画像拡大表示。」
   画像表示処理を、ひまわりする。
   待機処理を、ひまわりする。
   正=正+1
)
待機。

*母艦をキー押した時の反応
もし、(押されたキー=27{Esc})ならば、
   (おわり。)
違えば、
   (待機。)
   
*母艦をダブルクリックした時の反応
おわり。

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー設定」処理を行う //
'// ※イベント処理方法がこれまでと異なるが、大きな意味なし! //
'// ------------------------------------------------------- //

*設定画面処理
母艦の、可視は、オフ。
オブジェクト全破壊。
センタリング解除。
母艦の、幅を、640に、設定。
母艦の、高さを、320に、設定。
母艦の、タイトルを、「スライドショー −設定−」に、設定。
母艦の、リサイズを、オフに、設定

黒色で、画面クリア
(10,10)へ、移動。
ファイルリストラベルを、ラベルとして、作成。
ファイルリストラベルは、「【 スライドショーリスト 】」。

ファイルリストを、リストとして、作成。
その、幅を、500に、設定。
その、高さを、265に、設定。
その、ダブルクリックした時を、一覧ダブルクリック押下時に、設定
(532,10)へ、移動。
処理ラベルを、ラベルとして、作成。
処理ラベルは、「【 処 理 】」。
(540,35)へ、移動。
参照ボタンを、ボタンとして、作成。
その、イベントを、参照押下時に、設定。
行削除ボタンを、ボタンとして、作成。
その、イベントを、行削除押下時に、設定。
クリアボタンを、ボタンとして、作成。
その、イベントを、クリア押下時に、設定。
(540,270)へ、移動。
終了ボタンを、ボタンとして、作成。
その、イベントを、終了押下時に、設定。

*一覧読込動作
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。
ファイルリストの、アイテムは、読込データ。
*初期状態完了時
母艦の、可視は、オン。
待機。
'###############################################################
*参照押下時
参照実行に、飛ぶ。
*行削除押下時
行削除実行に、飛ぶ。
*クリア押下時
クリア実行時に、飛ぶ。
*一覧ダブルクリック押下時
行削除実行に、飛ぶ。
*終了押下時
初期画面処理に、飛ぶ。
'###############################################################
*参照実行
母艦のパス& スライドテキストが、存在するか。
'もし、(それ=0)ならば、待機。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
既存データは、それ。
「JPEGファイル|*.jpg;*.jpeg|PNGファイル|*.png」の、読込ファイル選択。
既存データ=既存データ & それ。
それは、既存データ。
母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*行削除実行
母艦のパス& スライドテキストが、存在するか。
もし、(それ=0)ならば、待機。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。
ファイルリストの、値を、索引に、得る。
読込データの、索引行目を、行削除。
読込データは、それ。
それは、前後の空白削除(読込データ)

母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*クリア実行時
ファイルリストの、アイテムは、""。
それ=""
母艦のパス& スライドテキストへ、書く。
待機。




▲[ 208 ] / 返信無し
NO.211  Re[1]: スライド作成/表示
□投稿者/ クジラ飛行机 -(2002/01/15(Tue) 11:19:24)
□U R L/ http://www.text2music.com
スライドショー良いですね。
デジカメの写真が、画面一杯に表示されるので、
これ、スクリーンセイバーにしても良いですよね。

デジカメ画像なら、モニターの縦横幅にぴったりで、
かなりポイント高いのですが、適当なイラストを表示させたら、
縦横比が変わってしまってちょっとかっこ悪かったので、
それに対応したら、完璧だと思います!!



▲[ 208 ] / ▼[ 216 ]
NO.215  Re[1]: スライド作成/表示
□投稿者/ moka -(2002/01/15(Tue) 15:51:49)
□U R L/ http://www.geocities.jp/moka21/teatime/
●バグ?
「スライド設定.csv」がない状態で、設定画面に移ると、
リストに「0」と表示されます。
「参照」でファイルを追加すると、
1番目のパスが、「0C:\〜」となってしまいます。
うちだけでしょうか?(WinMe,ひまわり1.15)

●リストのファイルドロップ
リストのファイルドロップはすぐ出来そうなので、ぜひ欲しいです。

●ループ
最後まで表示したらループして最初から表示する機能。

●画像情報
画面隅に、現在の表示番号や画像ファイル名などの表示。

> もうmokaさんが、すごそうなのUPしてる!)

ひまわりの画像フィルタを、とにかく付け足しました。
レスなくて寂しいので、どうかよろしくお願いします。(^_^;)



▲[ 215 ] / 返信無し
NO.216  Re[2]: スライド作成/表示
□投稿者/ senkun -(2002/01/15(Tue) 16:21:06)
□U R L/
なるほど、まだまだ色々あるものですね・・・ 勉強になります!
レスいただき、本当にありがとうございました!

【予定】
@0表示の件
バグです。今は、クリアしてからでないと・・・
Aドラッグ&ドロップ
UP直前まで、対応していたのですが、バグがやまないので、
取り除いてUPしちゃいました。対応予定!
Bループ
環境設定項目を作るつもりですので、その一項目という感じですかね。
C画像情報
これは、タイトル機能として、コメントがでるようにする予定です。
ただ、写真によって、文字色等にも気を配らないといけないかなと思ってます。

ビューアーの方は、まだ堪能できていないので、
堪能した暁には、レスします!

そういえば、ミネさんが言っていた、縦横比の問題は、
まだ目処が立っていない・・・




▲[ 208 ] / 返信無し
NO.232  (削除)
□投稿者/ -(2002/01/17(Thu) 00:32:47)
□U R L/
この記事は削除されました



▲[ 208 ] / 返信無し
NO.233  Re[1]: スライド作成/表示
□投稿者/ senkun -(2002/01/17(Thu) 11:54:41)
□U R L/
Ver4.01として、UPします。
まだまだ、無視だらけですが良かったら、見てやってください!
(特に、例外処理してないので、やさしくつかってくださいね!)
<内容>
デジカメの画像を基本に、スライドを作成する。

<改良点>
キャンバスでなく、イメージオブジェクトを利用するよう変更!
そこで、以下のような機能追加しました。

@縦表示
Aセピア表示
B自動実行処理
(Esape で終了させれば、次回からは解除されます)
Cループ処理
(Esape で終了させれば、次回からは解除されます)

骨組みはだいたいできてきたので、後は、虫退治と画像加工具合
(縦のときの位置がおかしいかな?)等をしようと思います。
他にアイデアがあれば、お待ちしております!

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー実行」処理を行う //
'// ------------------------------------------------------- //

'// 初期設定処理
母艦の、可視は、オフ。
スライドショーの間隔=2
スライドテキストは、「スライド設定.csv」。

文字色は、灰色


*初期画面処理
オブジェクト全破壊。
黒色で、画面クリア。
母艦の、幅は、360
母艦の、高さは、240
母艦を、中央へ移動。
母艦の、リサイズは、オフ。
その、タイトルは、「簡易スライド」です。
センタリング。

(0,30)へ、移動する。
「簡易スライドアプリケーション」と、表示。

(0,70)へ、移動する。
作成ボタンを、ボタンとして、作成。
その、クリックした時を、作成ボタンをクリックした時の反応に、設定。
表示ボタンを、ボタンとして、作成。
その、クリックした時を、表示ボタンをクリックした時の反応に、設定。
終了ボタンを、ボタンとして、作成。
その、クリックした時を、終了ボタンをクリックした時の反応に、設定。

'センタリング解除。
(0,180)へ、移動。
チェック10を、チェックとして、作成。
その、テキストは、自動実行
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18

チェック11を、チェックとして、作成。
その、テキストは、ループ再生
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18

*初期ファイルの読込
『スライド.ini』の、INIファイル開く。
『ENV』の、Autoを、INIファイル読む。
チェック10の、値は、それ。
自動実行フラグ=それ
『ENV』の、Roopを、INIファイル読む。
チェック11の、値は、それ。
ループフラグ=それ
INIファイル閉じる。

もし、(自動実行フラグ=1)ならば、スライドショー開始へ、飛ぶ。

母艦の、可視は、オン。
作成ボタンに、注目。
待機。

*初期ファイル設定
『スライド.ini』の、INIファイル開く。
それ=チェック10
『ENV』の、Autoへ、INIファイル書く。
それ=チェック11
『ENV』の、Roopへ、INIファイル書く。
INIファイル閉じる。
戻る。

*初期画面反応設定
*作成ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
設定画面処理へ、飛ぶ。
*表示ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
スライドショー開始へ、飛ぶ。
待機。
*終了ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
おわり。

*スライドショー開始
母艦の、可視は、オフ。

母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。

読込データの、行数。
スライド数は、それ。

オブジェクト全破壊。
画面クリア。
(0,0)へ、移動。
母艦全画面化。

*スライドショー画面反応
母艦の、ダブルクリックした時を、母艦をダブルクリックした時の反応に、設定する。
母艦の、キー押した時を、母艦をキー押した時の反応に、設定する。
画像表示処理=""
母艦の、可視は、オン

表示用イメージを、イメージとして、作成。
その、可視は、オン。
'その、拡大機能は、オン。
その、サイズは、(0,0,デスクトップの幅,デスクトップの高さ)               

'2で、画面フェードアウト。
(0,0)へ、移動。
イメージ100を、イメージとして、作成。'-- 背景用
            
'// スライド用イメージの構築
正=0
スライド数回(
   もし、(読込データ#4#正=1){セピア化}ならば、(
      画像表示処理=「(0,0)へ、移動。
               イメージ{正}を、イメージとして、作成。
               その、可視は、オフ。
               その、画像は、\『{読込データ#0#正}\』。
               イメージ{正}を、茶色で、画像セピア。
               」
   )違えば、(
      画像表示処理=「(0,0)へ、移動。
               イメージ{正}を、イメージとして、作成。
               その、可視は、オフ。
               その、画像は、\『{読込データ#0#正}\』。
               」
   )   
   画像表示処理を、ひまわりする。
   正=正+1
)

'// スライドが1枚のときの例外処理
もし、(スライド数=1)ならば、(
   本表示=「イメージ0を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
   本表示を、ひまわりする。
   待機。
)

*スライド実行
正=0
スライド数回(
'      デフォルト=0
      '-- 右回転
      もし、(読込データ#2#正=1)ならば、(
         「イメージ{正}を、右回転。」を、ひまわりする。
         縦画面用の横幅=デスクトップの幅×3÷4
         縦画面用のX位置=(デスクトップの幅-縦画面用の横幅)÷2
         本表示=「イメージ100を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
         本表示を、ひまわりする。
         本表示=「イメージ{正}を、表示用イメージの、(縦画面用のX位置,0,デスクトップの高さ,縦画面用の横幅)に、イメージコピー。」
         本表示を、ひまわりする。描画処理反映。
         デフォルト=1      
         )
      違えば(
         本表示=「イメージ{正}を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
         本表示を、ひまわりする。
      )
      
      スライドショーの間隔=読込データ#1#正
      待機処理=「{スライドショーの間隔}秒、待つ。」
      待機処理を、ひまわりする。
      正=正+1
)
'もし、(ループフラグ=1)ならば、スライドショー開始へ、飛ぶ。
もし、(ループフラグ=1)ならば、スライド実行へ、飛ぶ。
待機。
*母艦をキー押した時の反応
もし、(押されたキー=27{Esc})ならば、
(
『スライド.ini』の、INIファイル開く。
それ=0
『ENV』の、Autoへ、INIファイル書く。
それ=0
『ENV』の、Roopへ、INIファイル書く。
INIファイル閉じる。
おわり。
)
'-- 自動実行モードの解除をしてからおわりにするつもり
   
*母艦をダブルクリックした時の反応
おわり。

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー設定」処理を行う //
'// ※イベント処理方法がこれまでと異なるが、大きな意味なし! //
'// ------------------------------------------------------- //

*設定画面処理

母艦の、可視は、オフ。
オブジェクト全破壊。
センタリング解除。
母艦の、幅を、700に、設定。
母艦の、高さを、320に、設定。
母艦の、タイトルを、「スライドショー −設定−」に、設定。
母艦の、リサイズを、オフに、設定

黒色で、画面クリア
現在行=""
(10,10)へ、移動。
ファイルリストラベルを、ラベルとして、作成。
ファイルリストラベルは、「【 スライドショーリスト 】」。

ファイルリストを、リストとして、作成。
その、幅を、400に、設定。
その、高さを、265に、設定。
その、クリックした時を、一覧クリック時に、設定
その、ダブルクリックした時を、一覧ダブルクリック時に、設定

(420,35)へ、移動。
スライド間隔を、ラベルとして、作成。
その、テキストは、「スライド間隔:」
(540,35)へ、移動。
秒表示ラベルを、ラベルとして、作成。
その、幅を、22に、設定。
その、テキストは、2{規定値}
間隔バーを、バーとして、作成。
その、Xは、445
その、Yは、61
その、向きを、「横」に、設定。
その、幅を、80に、設定。
その、高さを、22に、設定。
その、最小値を、1に、設定。
その、最大値を、10に、設定。
その、イベントを、秒表示に、設定。

(420,100)へ、移動。
チェック0を、チェックとして、作成。
その、テキストは、縦写真
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック1を、チェックとして、作成。
その、テキストは、XXXXXXXXX
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック2を、チェックとして、作成。
その、テキストは、セピア化
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18

(592,10)へ、移動。
処理ラベルを、ラベルとして、作成。
処理ラベルは、「【 処 理 】」。
(600,35)へ、移動。
参照ボタンを、ボタンとして、作成。
その、イベントを、参照押下時に、設定。
行削除ボタンを、ボタンとして、作成。
その、イベントを、行削除押下時に、設定。
クリアボタンを、ボタンとして、作成。
その、イベントを、クリア押下時に、設定。
(600,270)へ、移動。
終了ボタンを、ボタンとして、作成。
その、イベントを、終了押下時に、設定。

*一覧読込動作
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、(
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   読込データの、1列目を,表列削除。
   それの、1列目を,表列削除。
   それの、1列目を,表列削除。
   それの、1列目を,表列削除。
   リスト表示用データは、前後の空白削除(それ)
   'チェック表示用データは、それ。
   ファイルリストの、アイテムは、リスト表示用データ。
)
*初期状態完了時
母艦の、可視は、オン。
待機。
'###############################################################
*参照押下時
参照実行に、飛ぶ。

*行削除押下時
行削除実行に、飛ぶ。

*クリア押下時
クリア実行に、飛ぶ。
*一覧クリック時
更新実行に、飛ぶ。
*一覧ダブルクリック時
行削除実行に、飛ぶ。
*終了押下時
更新実行を、呼ぶ。
初期画面処理に、飛ぶ。

*秒表示
間隔バーの、値を、バーの値に、得る。
秒表示ラベルは、バーの値。
待機。
'###############################################################
*参照実行
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、(
   母艦のパス& スライドテキストを、読む。
   既存データは、前後の空白削除(それ)
)違えば、(
   既存データ=""
)   
「JPEGファイル|*.jpg;*.jpeg|PNGファイル|*.png」の、読込ファイル選択。
参照データは、それ。
正=0
参照データを、反復(
   参照データ#正=参照データ#正 & 「,2,0,0,0」
   正=正+1
)
既存データ= 既存データ &「\n」& 参照データ
それは、前後の空白削除(既存データ)。
母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*行削除実行
母艦のパス& スライドテキストが、存在するか。
もし、(それ=0)ならば、待機。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。
ファイルリストの、値を、索引に、得る。
読込データの、索引行目を、行削除。
読込データは、それ。
それは、前後の空白削除(読込データ)

母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*クリア実行
ファイルリストの、アイテムは、""。
それ=""
母艦のパス& スライドテキストへ、書く。
待機。

*更新実行
ファイルリストの、値を、索引に、得る。
もし、(索引=-1)ならば、戻る。

読込データ=""
もし、(現在行="")ならば、(
   '読込処理と、言う。
   ファイルリストの、値を、索引に、得る。
   現在行は、索引。
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   チェック0の、値は、読込データ#2#索引。
   チェック1の、値は、読込データ#3#索引。
   チェック2の、値は、読込データ#4#索引。
   
   間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。
   
   待機。
)違えば、(
   '"更新処理"と、言う。
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   索引は、現在行。
   リスト行退避=読込データ#0#索引
   '索引を、言う。
   'リスト行退避を、言う。
   読込データの、索引行目を、行削除。
   読込データは、それ。
   読込データの、要素数
   もし、(それ=索引)ならば(
      読込データ=読込データ&「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」
      )
   違えば(
      読込データの、索引行目へ、「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」を、行挿入。
      読込データは、それ。
   )
   それは、前後の空白削除(読込データ)
   母艦のパス& スライドテキストへ、書く。
   現在行=""
   
   '読込処理と、言う。
   ファイルリストの、値を、索引に、得る。
   現在行は、索引。
   
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   チェック0の、値は、読込データ#2#索引。
   チェック1の、値は、読込データ#3#索引。
   チェック2の、値は、読込データ#4#索引。
   
   間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。
   )
戻る。



▲[ 208 ] / ▼[ 263 ]
NO.261  簡易スライドショー Ver 5.06β
□投稿者/ senkun -(2002/01/21(Mon) 00:29:10)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】簡易スライドショー Ver 5.06β
【作 成 者】senkun
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.18
【転  件】可 (一声あると、ちょっとうれしい!)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(スライド.ini スライド.csv)
【コメント】
バグ報告・ご要望いただけると、幸いです。
【注意】
自動実行を解除するには、「Ecs」キーで、スライドを終了させてください。
【改修履歴】
1.00 :軽量版
5.00β:通常版(当初4.00と表示)
5.05β:バグ修正
:機能追加
       @BGM再生機能
       A読込待ち画面
      
【これから】
@エフェクトの追加
Aスライド作成画面の高機能化(D&D / ファイル順変更機能?)
Bスライドサイズの調整
--投稿フォームここまで---}

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー実行」処理を行う //
'// ------------------------------------------------------- //

'// 初期設定処理
母艦の、可視は、オフ。
スライドショーの間隔=2
スライドテキストは、「スライド設定.csv」。
BGMファイル=""
文字色は、灰色

*初期画面処理
オブジェクト全破壊。
黒色で、画面クリア。
母艦の、幅は、360
母艦の、高さは、300
母艦を、中央へ移動。
母艦の、リサイズは、オフ。
その、タイトルは、「簡易スライド」です。
センタリング。

(0,30)へ、移動する。
「簡易スライドアプリケーション」と、表示。

(0,70)へ、移動する。
作成ボタンを、ボタンとして、作成。
その、クリックした時を、作成ボタンをクリックした時の反応に、設定。
表示ボタンを、ボタンとして、作成。
その、クリックした時を、表示ボタンをクリックした時の反応に、設定。
BGM選択ボタンを、ボタンとして、作成。
その、クリックした時を、BGM選択ボタンをクリックした時の反応に、設定。
終了ボタンを、ボタンとして、作成。
その、クリックした時を、終了ボタンをクリックした時の反応に、設定。

'センタリング解除。
(0,210)へ、移動。
チェック10を、チェックとして、作成。
その、テキストは、自動実行
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック11を、チェックとして、作成。
その、テキストは、ループ再生
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック12を、チェックとして、作成。
その、テキストは、「BGM再生」
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18

*初期ファイルの読込
母艦のパス&『スライド.ini』の、INIファイル開く。
『ENV』の、Autoを、INIファイル読む。
チェック10の、値は、それ。
自動実行フラグ=それ
『ENV』の、Roopを、INIファイル読む。
チェック11の、値は、それ。
ループフラグ=それ
『ENV』の、BGMを、INIファイル読む。
チェック12の、値は、それ。
BGM再生フラグ=それ
『BGM』の、Fileを、INIファイル読む。
BGMファイル=それ

INIファイル閉じる。

もし、(自動実行フラグ=1)ならば、スライドショー開始へ、飛ぶ。

母艦の、可視は、オン。
作成ボタンに、注目。
待機。

*初期ファイル設定
母艦のパス&『スライド.ini』の、INIファイル開く。
それ=チェック10
『ENV』の、Autoへ、INIファイル書く。
それ=チェック11
『ENV』の、Roopへ、INIファイル書く。
それ=チェック12
『ENV』の、BGMへ、INIファイル書く。
INIファイル閉じる。
戻る。

*初期画面反応設定
*作成ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
設定画面処理へ、飛ぶ。
*表示ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
もし、(チェック12=1)かつ、(BGMファイル="")ならば、(
   「BGMが選択されていません。\nBGMなして再生してよろしいですか?」と、二択。
   もし、(それ=いいえ)ならば、待機。
   )
スライドショー開始へ、飛ぶ。
待機。
*BGM選択ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
BGMFile選択処理へ、飛ぶ。
待機。
*終了ボタンをクリックした時の反応
初期ファイル設定を、呼ぶ。
おわり。

*BGMFile選択処理
「音楽ファイル|*.mid;*.mp3」の、読込ファイル選択。
もし、(それ="")ならば、(待機。)
BGMファイルは、それ。

母艦のパス&『スライド.ini』の、INIファイル開く。
『BGM』の、Fileへ、INIファイル書く。
INIファイル閉じる。
チェック12の、値は、1。

BGM再生フラグ=1

戻る。

*スライドショー開始

母艦の、可視は、オフ。
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。

読込データの、行数。
スライド数は、それ。

オブジェクト全破壊。
画面クリア。
(0,0)へ、移動。
母艦全画面化。

*スライドショー画面反応
母艦の、ダブルクリックした時を、母艦をダブルクリックした時の反応に、設定する。
母艦の、キー押した時を、母艦をキー押した時の反応に、設定する。
画像表示処理=""
母艦の、可視は、オン

表示用イメージを、イメージとして、作成。
その、可視は、オン。
'その、拡大機能は、オン。
その、サイズは、(0,0,デスクトップの幅,デスクトップの高さ)               

2で、画面フェードアウト。
(0,0)へ、移動。
イメージ100を、イメージとして、作成。'-- 背景用
センタリング。
文字色は、白色。
「ファイル読み込み - 開始 -」と、表示。
描画処理反映。
センタリング解除。

'// スライド用イメージの構築
正=0
スライド数回(
   もし、(読込データ#4#正=1){セピア化}ならば、(
      画像表示処理=「(0,0)へ、移動。
               イメージ{正}を、イメージとして、作成。
               その、可視は、オフ。
               その、画像は、\『{読込データ#0#正}\』。
               イメージ{正}を、茶色で、画像セピア。
               」
   )違えば、(
      画像表示処理=「(0,0)へ、移動。
               イメージ{正}を、イメージとして、作成。
               その、可視は、オフ。
               その、画像は、\『{読込データ#0#正}\』。
               」
   )   
   画像表示処理を、ひまわりする。

   文字色は、白色。センタリング。
    黒色で、画面クリア
    「\nファイル読み込み中 ・・・{回数} / {スライド数}・・・\n\n{BGMファイル}」と、表示。
    描画処理反映。センタリング解除。

    正=正+1
)

文字色は、白色。センタリング。
黒色で、画面クリア
「\nスライド開始 ・・・」と、表示。
描画処理反映。センタリング解除。
2で、画面フェードイン。

'// スライドが1枚のときの例外処理
もし、(スライド数=1)ならば、(
   本表示=「イメージ0を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
   本表示を、ひまわりする。
   待機。
)
スライド周数=0
BGM再生を、呼ぶ。
*スライド実行
正=0
スライド数回(
'      デフォルト=0
      '-- 右回転(スライドが繰り返されるときは、右回を転実行しない。)
      もし、(読込データ#2#正=1)ならば、(
         もし、(スライド周数=0)ならば、(「イメージ{正}を、右回転。」を、ひまわりする。)
         縦画面用の横幅=デスクトップの幅×3÷4
         縦画面用のX位置=(デスクトップの幅-縦画面用の横幅)÷2
         本表示=「イメージ100を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
         本表示を、ひまわりする。
         本表示=「イメージ{正}を、表示用イメージの、(縦画面用のX位置,0,デスクトップの高さ,縦画面用の横幅)に、イメージコピー。」
         本表示を、ひまわりする。描画処理反映。
         デフォルト=1      
         )
      違えば(
         本表示=「イメージ{正}を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」
         本表示を、ひまわりする。
      )
      
      スライドショーの間隔=読込データ#1#正
      待機処理=「{スライドショーの間隔}秒、待つ。」
      待機処理を、ひまわりする。
      正=正+1
)

もし、(ループフラグ=1)ならば、(
   スライド周数=1
   スライド実行へ、飛ぶ。)
おわり。

*BGM再生
もし、(BGM再生フラグ=1)かつ、(BGMファイル<>"")ならば、(
   BGMファイルを、繰り返し演奏。
   )
戻る。
*母艦をキー押した時の反応
もし、(押されたキー=27{Esc})ならば、
(
母艦のパス&『スライド.ini』の、INIファイル開く。
それ=0
『ENV』の、Autoへ、INIファイル書く。
それ=0
『ENV』の、Roopへ、INIファイル書く。
INIファイル閉じる。
おわり。
)
'-- 自動実行モードの解除をしてからおわりにするつもり
   
*母艦をダブルクリックした時の反応
おわり。

'// ------------------------------------------------------- //
'// これ以下は、「スライドショー設定」処理を行う //
'// ※イベント処理方法がこれまでと異なるが、大きな意味なし! //
'// ------------------------------------------------------- //

*設定画面処理

母艦の、可視は、オフ。
オブジェクト全破壊。
センタリング解除。
母艦の、幅を、700に、設定。
母艦の、高さを、320に、設定。
母艦の、タイトルを、「スライドショー −設定−」に、設定。
母艦の、リサイズを、オフに、設定

黒色で、画面クリア
現在行=""
(10,10)へ、移動。
ファイルリストラベルを、ラベルとして、作成。
ファイルリストラベルは、「【 スライドショーリスト 】」。

ファイルリストを、リストとして、作成。
その、幅を、400に、設定。
その、高さを、265に、設定。
その、クリックした時を、一覧クリック時に、設定
その、ダブルクリックした時を、一覧ダブルクリック時に、設定

(420,35)へ、移動。
スライド間隔を、ラベルとして、作成。
その、テキストは、「スライド間隔:」
(540,35)へ、移動。
秒表示ラベルを、ラベルとして、作成。
その、幅を、22に、設定。
その、テキストは、2{規定値}
間隔バーを、バーとして、作成。
その、Xは、445
その、Yは、61
その、向きを、「横」に、設定。
その、幅を、80に、設定。
その、高さを、22に、設定。
その、最小値を、1に、設定。
その、最大値を、10に、設定。
その、イベントを、秒表示に、設定。

(420,100)へ、移動。
チェック0を、チェックとして、作成。
その、テキストは、縦写真
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック1を、チェックとして、作成。
その、テキストは、「XXXXXXXXX」
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18
チェック2を、チェックとして、作成。
その、テキストは、セピア化
その、背景色は、黒色
その、フォント色は、灰色
その、幅は、100
その、高さは、18

(592,10)へ、移動。
処理ラベルを、ラベルとして、作成。
処理ラベルは、「【 処 理 】」。
(600,35)へ、移動。
参照ボタンを、ボタンとして、作成。
その、イベントを、参照押下時に、設定。
行削除ボタンを、ボタンとして、作成。
その、イベントを、行削除押下時に、設定。
クリアボタンを、ボタンとして、作成。
その、イベントを、クリア押下時に、設定。
(600,270)へ、移動。
終了ボタンを、ボタンとして、作成。
その、テキストは、「戻る」
その、イベントを、終了押下時に、設定。

*一覧読込動作
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、(
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   読込データの、1列目を,表列削除。
   それの、1列目を,表列削除。
   それの、1列目を,表列削除。
   それの、1列目を,表列削除。
   リスト表示用データは、前後の空白削除(それ)
   'チェック表示用データは、それ。
   ファイルリストの、アイテムは、リスト表示用データ。
)
*初期状態完了時
母艦の、可視は、オン。
待機。
'###############################################################
*参照押下時
参照実行に、飛ぶ。

*行削除押下時
行削除実行に、飛ぶ。

*クリア押下時
クリア実行に、飛ぶ。
*一覧クリック時
更新実行に、飛ぶ。
*一覧ダブルクリック時
行削除実行に、飛ぶ。
*終了押下時
更新実行を、呼ぶ。
初期画面処理に、飛ぶ。

*秒表示
間隔バーの、値を、バーの値に、得る。
秒表示ラベルは、バーの値。
待機。
'###############################################################
*参照実行
母艦のパス& スライドテキストが、存在するか。
もし、(それ<>0)ならば、(
   母艦のパス& スライドテキストを、読む。
   既存データは、前後の空白削除(それ)
)違えば、(
   既存データ=""
)   
「JPEGファイル|*.jpg;*.jpeg|PNGファイル|*.png」の、読込ファイル選択。
参照データは、それ。
正=0
参照データを、反復(
   参照データ#正=参照データ#正 & 「,2,0,0,0」
   正=正+1
)
既存データ= 既存データ &「\n」& 参照データ
それは、前後の空白削除(既存データ)。
母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*行削除実行
母艦のパス& スライドテキストが、存在するか。
もし、(それ=0)ならば、待機。
もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。
読込データは、それ。
ファイルリストの、値を、索引に、得る。
読込データの、索引行目を、行削除。
読込データは、それ。
それは、前後の空白削除(読込データ)

母艦のパス& スライドテキストへ、書く。
一覧読込動作を、呼ぶ。
待機。

*クリア実行
ファイルリストの、アイテムは、""。
それ=""
母艦のパス& スライドテキストへ、書く。
待機。

*更新実行
ファイルリストの、値を、索引に、得る。
もし、(索引=-1)ならば、戻る。

読込データ=""
もし、(現在行="")ならば、(
   '読込処理と、言う。
   ファイルリストの、値を、索引に、得る。
   現在行は、索引。
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   チェック0の、値は、読込データ#2#索引。
   チェック1の、値は、読込データ#3#索引。
   チェック2の、値は、読込データ#4#索引。
   
   間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。
   
   待機。
)違えば、(
   '"更新処理"と、言う。
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   索引は、現在行。
   リスト行退避=読込データ#0#索引
   '索引を、言う。
   'リスト行退避を、言う。
   読込データの、索引行目を、行削除。
   読込データは、それ。
   読込データの、要素数
   もし、(それ=索引)ならば(
      読込データ=読込データ&「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」
      )
   違えば(
      読込データの、索引行目へ、「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」を、行挿入。
      読込データは、それ。
   )
   それは、前後の空白削除(読込データ)
   母艦のパス& スライドテキストへ、書く。
   現在行=""
   
   '読込処理と、言う。
   ファイルリストの、値を、索引に、得る。
   現在行は、索引。
   
   母艦のパス& スライドテキストを、読む。
   読込データは、それ。
   チェック0の、値は、読込データ#2#索引。
   チェック1の、値は、読込データ#3#索引。
   チェック2の、値は、読込データ#4#索引。
   
   間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。
   )
戻る。



▲[ 261 ] / ▼[ 264 ]
NO.263  Re[2]: 簡易スライドショー Ver 5.05β
□投稿者/ にゃんこ -(2002/01/21(Mon) 03:51:35)
□U R L/
> 【コメント】
> バグ報告・ご要望いただけると、幸いです。

とのことなので。。。
起動画面から、BGM選択ボタンを、クリックして、キャンセルしたら、

’=============

[エラー] himapad.bak(108行目): "`戻る`"は、単語登録されていないため、実行できません(;o;)<綴りミスに注意!

’=============

との、ことです。



▲[ 263 ] / 返信無し
NO.264  ご報告に感謝。
□投稿者/ senkun -(2002/01/21(Mon) 10:17:19)
□U R L/
さっそくのご指摘、ありがとうございます。

「戻る」→「待機」
で、ひとまず対応させていただきました。
なるべく、近いうちに、全体をテストして、βをとりたいと思います。





- Child Tree -