ツリー一括表示

Nomal メモ・エデイタに記入した内容をメール送... /かみひこうき (16/09/24(Sat) 19:49) [#7693]
Nomal Re[1]: メモ・エデイタに記入した内容を... /雪乃☆雫 (16/09/25(Sun) 10:31) [#7694]
  ├Nomal Re[2]: メモ・エデイタに記入した内容を... /かみひこうき (16/09/25(Sun) 23:45) [#7697]
  └Nomal Re[2]: メモ・エデイタに記入した内容を... /とけい (16/09/25(Sun) 23:06) [#7696]
    └Nomal Re[3]: メモ・エデイタに記入した内容を... /かみひこうき (16/09/26(Mon) 00:09) [#7699] 解決済み!


親記事 / ▼[ 7694 ]
/ 親階層)  メモ・エデイタに記入した内容をメール送信完了後二択表示をさせたいがうまくいきません
□投稿者/ かみひこうき 【118.86.67.33】(2016/09/24(Sat) 19:49:02)

    お世話になります

    メモ・エデイタに記入した内容を
    書換え後、メール送信(Yahooメールより)して
    送信完了後
    二択ではいなら「保存ボタンを出す」メッセージ表示
    いいえなら「終了」させたいのですが

    次のように記述していると
    #---------------------------
    # メール送信サンプル改造版 メモより転送するには

    記事メモとはメモ
    そのテキストは「テスト記事を記入します」

    タイトル記入とはエディタ
    タイトル記入の幅は200。
    タイトル記入のテキストは「テストタイトルをご記入願います」#これがそれ変数に入っている


    投稿ボタンとはボタン
    投稿ボタンをクリックした時は
     メール記事=記事メモ
     1秒待つ
     メール記事を言う
     タイトル記入を言う
      記事投稿  #メール送信用の定義関数

    記事投稿が「完了」なら
     「保存しますか?」と二択
      もし、はいならば「保存ボタンを押して下さい」という
      もし、いいえならば終わる 
      
    #メール送信用の定義関数 インデントに注意 戻り値は「完了」?
    ●記事投稿 
      メールホストは 「smtp.mail.yahoo.co.jp」
      ACCOUNT=「abcdefg@yahoo.co.jp」
      PASSWORD=「9999aaa」
      メール差出人=「abcdefg@yahoo.co.jp」
      メール宛先=「pppost@b****.jp」# 送信先アドレス
      メール件名=「{タイトル記入}」
      メール本文=「{メール記事}
             <a href="http://yahoo.co.jp" target="_blank">yahooへ飛ぶ</a>」
      ACCOUNTのPASSWORDでYAHOOメール送信。
      2秒待つ
       「送信が終わりました」という
      「完了」で戻る
       
    /*実行すると 先ず送信してしまい、
    そのあと二択表示 はい・いいえにかかわらず「保存ボタンを押して下さい」
    メッセージしか表われない
    終わらない
    */

    #------------------------------


    まず、メモ・エデイタに書き込みを開始する前に
    メール送信処理が起動し
    その後、二択メッセージがでますが
    はいでもいいえでも
    「保存ボタンを出す」メッセージ表示にしかなりません
    (なお保存ボタンはまだ設定しておりません)

    定義関数の終了を監視する方法が
    わからないので
    条件分岐できないようです
    解決法についてアドバイスいただければありがたく
    存じます




    *(2016/09/24(Sat) 19:52:06 編集[投稿者])
[ □ Tree ] 返信 削除キー/
[ □ Tree ] 返信

▲[ 7693 ] / ▼[ 7697 ] ▼[ 7696 ]
/ 1階層)  Re[1]: メモ・エデイタに記入した内容をメール送信完了後二択表示をさせたいがうまくいきません
□投稿者/ 雪乃☆雫 【106.160.123.108】(2016/09/25(Sun) 10:31:19)

http://nadesiko.g.hatena.ne.jp/snowdrops89/
     まず第一に、このサンプルだと、投稿ボタンを設置したら、次にはすぐ
    #-----------------------------------------------------------
    記事投稿が「完了」なら
     「保存しますか?」と二択
      もし、はいならば「保存ボタンを押して下さい」という
      もし、いいえならば終わる 
    #-----------------------------------------------------------
     この部分が実行されることになってます。
     それは、書いてるとうりの正しい動作なんで、エラーだって出やしません。
     メモ・エデイタに書き込みを行い、投稿ボタンを押してからこの部分を実行させたいなら、これは「投稿ボタンをクリックした時は」の中に入れなきゃダメでしょ?
     こうゆう、どんな順番でプログラムが実行されていくか的なことは、よく理解してないと大きいプログラムとかムリなんで、もう一度よく確認してみて。
     または、分かってたんだけど、インデントを間違えちゃったよ〜ンとゆう場合は、単なるバグなので、このくらいは自力で発見出来るようにならんとね。


     第二に、二択でどっちを選んでも同じメッセージになっちゃうのは、単に「それ」が抜けてるからじゃないですか?

[ 親 7693 / □ Tree ] 返信 削除キー/
[ 親 7693 / □ Tree ] 返信

▲[ 7694 ] / 返信無し
/ 2階層)  Re[2]: メモ・エデイタに記入した内容をメール送信完了後二択表示をさせたいがうまくいきません
□投稿者/ かみひこうき 【118.86.67.33】(2016/09/25(Sun) 23:45:36)

    貴重なアドバイスを頂きありがとうございます


    >  まず第一に、このサンプルだと、投稿ボタンを設置したら、次にはすぐ
    > #-----------------------------------------------------------
    > 記事投稿が「完了」なら
    >  「保存しますか?」と二択
    >   もし、はいならば「保存ボタンを押して下さい」という
    >   もし、いいえならば終わる 
    > #-----------------------------------------------------------
    >  この部分が実行されることになってます。


    実行の速度を最高にゆっくりにして
    ステップ実行したら
    確かに投稿ボタンが生成されるとそのままメール送信に
    遷移することがわかりました


    フローチャートを書いて
    プログラムを書いたことがないので
    実行順序を間違えていました。


    ご指摘の通りイベント発生で二択を組み込む
    という点が抜け落ちでした。

    >  メモ・エデイタに書き込みを行い、投稿ボタンを押してからこの部分を実行させたいなら、これは「投稿ボタンをクリックした時は」の中に入れなきゃダメでしょ?
    >  こうゆう、どんな順番でプログラムが実行されていくか的なことは、よく理解してないと大きいプログラムとかムリなんで、もう一度よく確認してみて。

    おかげさまで
    この部分を修正すると期待した動作になりました。

    また、二択で明示的に それが を記述していなかった
    ために
    はい・いいえにかかわらず
    「保存ボタンを押して下さい」メッセージしか表示されない
    こともわかりました。

    こんな豆プログラムでも
    おたおたしているばかりです
    これからは
    フローチャートを書いてから
    取り組むようこころがけたいと思います

    ご指導、有益なアドバイス
    ありがとうございました


[ 親 7693 / □ Tree ] 返信 削除キー/
[ 親 7693 / □ Tree ] 返信

▲[ 7694 ] / ▼[ 7699 ]
/ 2階層)  Re[2]: メモ・エデイタに記入した内容をメール送信完了後二択表示をさせたいがうまくいきません
□投稿者/ とけい 【61.4.165.43】(2016/09/25(Sun) 23:06:16)

    > その後、二択メッセージがでますが
    > はいでもいいえでも
    > 「保存ボタンを出す」メッセージ表示にしかなりません
    > (なお保存ボタンはまだ設定しておりません)

    × もし、はいならば
    ○ もし、それがはいならば
    省略できません。 なでしこ触りたてだとかなりよく見かけるミス。
    "もし、はいならば"という書き方は
    "もし、1ならば"と同じであり
    "もし、1が1ならば"と同じといえばイメージしやすいかも。つまりいつでも実行されます。


    > 定義関数の終了を監視する方法が
    > わからないので
    この場合、監視する必要がありません。
    プログラムは関数になっている部分を呼んだら、戻ってくるまで処理は進みません。
    記事投稿が最後まで終わってから呼び出し元に戻って、続きを処理します。


    #------------------------------
    投稿ボタンとはボタン
    投稿ボタンをクリックした時は〜
     メール記事=記事メモ  //← 本当は●記事投稿のなかに入れたほうがよい
     1秒待つ
     メール記事を言う
     タイトル記入を言う
     //記事投稿  //←返ってきた値が使われないのでここはカット
     
     //← 字下げして クリックした時は〜 のイベントの中に入れないとすぐ実行されちゃう
     もし記事投稿が「完了」ならば//●記事投稿を実行して、戻ってきた値と比較
      「保存しますか?」と二択//←ここも字下げ
      もし、それがはいならば //←「それ」と比較。省略できません。
       「保存ボタンを押して下さい」という
      違えば // ←"もし、それがいいえならば"だと、「それ」の中身が変わっていることがある
       終わる
      
    #------------------------------
[ 親 7693 / □ Tree ] 返信 削除キー/
[ 親 7693 / □ Tree ] 返信

▲[ 7696 ] / 返信無し
/ 3階層)  Re[3]: メモ・エデイタに記入した内容をメール送信完了後二択表示をさせたいがうまくいきません
□投稿者/ かみひこうき 【118.86.67.33】(2016/09/26(Mon) 00:09:45)

    とけいさん補足説明ありがとうございます

    二択について、明示的にそれが を使わないと
    どのようになるのかわかりました
    だから。1ということで即実行になってしまう
    ということだったのですね



    > × もし、はいならば
    > ○ もし、それがはいならば
    > 省略できません。 なでしこ触りたてだとかなりよく見かけるミス。


    てっきり定義関数になにか
    戻り値を設定してから
    その値を検出するようにして監視するのかと
    思っておりました

    >>定義関数の終了を監視する方法が
    >>わからないので

    > この場合、監視する必要がありません。
    > プログラムは関数になっている部分を呼んだら、戻ってくるまで処理は進みません。
    > 記事投稿が最後まで終わってから呼び出し元に戻って、続きを処理します。

    たとえばこんな感じです

    ●記事投稿
      関数定義したい内容 // インデントに注意
       「完了」で戻る  //戻り値に「完了」とか設定が必要かと思いました


    どうも
    記事投稿が「完了」なら  //関数定義の戻り値として完了使っていました

    「保存しますか?」と二択
      もし、はいならば「保存ボタンを出して下さい」という
      もし、いいえならば終わる 

    単純に
    記事投稿が完了なら は
    実行されたら と同じ意味と考えて良かったようです



    最後にシンプルに記述した修正プログラムも
    教えていただきありがとうございました

    勉強になりました


解決済み!
[ 親 7693 / □ Tree ] 返信 削除キー/
[ 親 7693 / □ Tree ] 返信


Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版