学校計算ドリルテストその4

Syntax Highlitでプログラムを再掲する。

学校計算ドリルテストその4

Syntax Highlitでプログラムを再掲する。

Sub チェック()
    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」
    Dim myTemporary As Long    'あまりの処理
    Dim myAmari As Long
    Dim myGANS As Long   'Counter Good Answer
    Dim SRT_BS As Long   'Displacement Count Area
    Dim ST_PTR As Long   '生徒のラインナンバー
    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない
    ' Code
    myGANS = 0  'Initialize
    myANSWR = False
    Sheets("Sheet1").Select 'Select Sheet1
    myOperator = Cells(1, 10).Value
    
    For i = ORG_CLM To DST_CLM
        'A列の値とC列の値の和がE列に入力された答えと正しいか判定
        If myOperator = "+" Then
            SRT_BS = 5
            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "-" Then
            SRT_BS = 10
            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "*" Then
            SRT_BS = 15
            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myGANS = myGANS + 1
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
            End If
        End If
        If myOperator = "/" Then
            SRT_BS = 20
            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then
                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に
                myANSWR = True
               
            Else
                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に
                
            End If
             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)
             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value
             If Cells(i, AMAR_RW).Value = myAmari Then
                 Cells(i, AMAR_RW).Font.Color = vbBlue
                 If myANSWR = True Then
                    myGANS = myGANS + 1
                 End If
             Else
                 Cells(i, AMAR_RW).Font.Color = vbRed
             End If
        End If
    Next i
    If myGANS = SEIKAI_SU Then
        MsgBox "全問正解です。おめでとう!"
    Else
        MsgBox "もうちょっと!"
    End If
    
    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator
    Sheets("Sheet2").Select
    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location
    ST_PTR = Cells(1, 14).Value     'Current 生徒の行
    Cells(1, 15).Value = SRT_BS '横のLocation
    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる
    Sheets("Sheet1").Select 'Change Manage Page To Question Page
End Sub

Sub リセット()
    Dim i As Long            'カウンタ変数
    Dim myTemporary As Long
    UserForm3.Show  'Show List2
    Sheets("Sheet2").Select 'Select Sheet2
    If IsNumeric(Cells(1, 11).Value) Then
       ' MsgBox "True"
        If Cells(1, 11).Value = 0 Then
            ST_NUM = 4
            Cells(1, 11).Value = ST_NUM
        Else
            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用
            'MsgBox ST_NUM
        End If
    Else
        ST_NUM = 4 '生徒ライン番号初期化
        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化
        MsgBox ST_NUM  'for debug
    End If
    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?
        Do While Cells(1, 12).Value <> "End" '後でENDをセットするルーチンを作る事
            If Cells(1, 12).Value = "End" Then  '登録作業エンド
                 Sheets("Sheet2").Select 'Select Sheet2
            End If
            Cells(1, 10).Value = "Error" 'Error Flag On?
            Do While Cells(1, 10).Value = "Error"
                FRM_USER.Show   'User Form Show Registry ID
            Loop
            Cells(1, 10).ClearContents 'Error Flag On?
        Loop    'New Loop End
    Else
        MsgBox "今回は登録しません。"
        Sheets("Sheet2").Select
        Cells(1, 12).Value = "End"
    End If
    '問題出題
        Sheets("Sheet2").Select 'Servey Loop End
        If Cells(1, 12).Value = "End" Then
            Cells(1, 12).ClearContents  'For debug
            Sheets("Sheet1").Select 'Select Sheet1
            UserForm1.Show  'UserForm1 Show 加減乗除
            UserForm2.Show  '桁数セット
        End If
        Sheets("Sheet1").Select 'Select Sheet1
        myBias = Cells(1, 11).Value      'WorkCell for Bias Value
        myOperator = Cells(1, 10).Value  'Workarea for Operator
    
        For i = ORG_CLM To DST_CLM
            Cells(i, ANSW_RW).ClearContents        '値をクリア
            Cells(i, AMAR_RW).ClearContents
            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に
            Cells(i, AMAR_RW).Font.Color = vbBlack
            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる
            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力
            If myOperator = "-" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                End If
            End If
            If myOperator = "/" Then
            myTemporary = Cells(i, NUM1_RW)
                If Cells(i, NUM1_RW) < Cells(i, NUM2_RW) Then
                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)
                    Cells(i, NUM2_RW) = myTemporary
                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                Else
                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide
                        Cells(i, NUM2_RW) = 1
                    End If
                End If
            End If
        Next i
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

Option Explicit
Dim strMSG As String
Public ST_NUM As Long
Private Sub TextBox2_Change()
MsgBox "Box2"
Unload Me
End Sub

Private Sub TextBox3_Change()
MsgBox "Box3"
Unload Me
End Sub

Private Sub FRM_USER()
    MsgBox "FRM_USER()"
    Unload Me
End Sub
Private Sub CMD_OK_Click()  'UserForm_Click()
    'MsgBox "Execute _Click() on Registry"
    Sheets("Sheet2").Select 'Select Sheet2
    If OptionButton1.Value = True Then      '登録終了
        Cells(1, 12).Value = "End"
    End If
    If OptionButton2.Value = True Then
        Cells(1, 12).ClearContents
    End If
    If OptionButton3.Value = True Then
        Cells(1, 13).Value = "指定" 'Fix Row
    End If
    '入力内容のチェック
    If Trim$(TXT_NAME.Text) = "" Then
        strMSG = "氏名が入力されていません。"
    ElseIf Trim$(TXT_CODE.Text) = "" Then
        strMSG = "生徒Noが入力されていません。"
    ElseIf Trim$(TXT_SCLNM.Text) = "" Then
        strMSG = "学校名が入力されていません。"
    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) <> True Then
        strMSG = "生徒Noが数字ではありません。"
    ElseIf Len(Trim$(TXT_CODE.Text)) <> 5 Then
        strMSG = "生徒Noは5桁で入力してください。"
    ElseIf Trim$(TXT_CODE.Text) < 10000 Then
        strMSG = "生徒Noは10000以上で入力してください。"
    End If
    Sheets("Sheet2").Select 'Select Sheet2
    If Trim$(strMSG) <> "" Then
        Cells(1, 10).Value = "Error" 'Set Error Flag
        MsgBox strMSG
    Else
        Cells(1, 10).ClearContents 'Clear Error Flag
        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット
        
        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名
        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No
        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名
        ST_NUM = ST_NUM + 1 'Sheet2の行No
        Cells(1, 11).Value = ST_NUM 'Save 生徒No
    End If
    Unload Me
End Sub

Option Explicit
Public myOperator As String
Const OPR_RW As Integer = 2


Private Sub CommandButton1_Click()   'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
        If OptionButton1.Value = True Then
            myOperator = "+"
        End If
        If OptionButton2.Value = True Then
            myOperator = "-"
        End If
        If OptionButton3.Value = True Then
            myOperator = "*"
        End If
        If OptionButton4.Value = True Then
            myOperator = "/"
        End If
        'MsgBox myOperator
        Cells(1, 10).Value = myOperator   'Save Operator as String
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    'UserForm.Show
'    MsgBox "Before CommandButton1"
'End Sub
Private Sub UserForm_Click()

End Sub


Option Explicit
Public myBias As Long
Public SRT_RW As Long
Private Sub CommandButton1_Click()  'UserForm_Click()
         Sheets("Sheet1").Select 'Select Sheet1
         SRT_RW = 0 'Initialize Operator Bias Location
        'MsgBox "Before CommandButton1"
        If OptionButton1.Value = True Then  '1桁
            myBias = 10
            SRT_RW = SRT_RW + 0
        End If
        If OptionButton2.Value = True Then  '2桁
            myBias = 100
            SRT_RW = SRT_RW + 1
        End If
        If OptionButton3.Value = True Then  '3桁
            myBias = 1000
            SRT_RW = SRT_RW + 2
        End If
        If OptionButton4.Value = True Then  '4桁
            myBias = 10000
            SRT_RW = SRT_RW + 3
        End If
        'MsgBox myBias
        Cells(1, 11).Value = myBias  'Save 桁数
        Cells(1, 13).Value = SRT_RW
        Unload Me
End Sub

'Private Sub UserForm_Click()
'    MsgBox "Here is UserForm2"
    'UserForm2.Show
'End Sub
Private Sub UserForm_Click()

End Sub
Option Explicit

Private Sub CommandButton1_Click()
    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List
    'Unload Me
End Sub
Private Sub ListBox1_Click()
    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No
    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4
    Sheets("Sheet2").Select
    Cells(1, 14).Value = ListBox1.ListIndex + 4
    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR
End Sub

散歩道に咲いた小さな花

↑人気ブログランキングに参加しています。ポチっと1票を!

セッションの管理

SQLが手に入らないのでセッションの管理コードだけでも埋め込もうと、丸2日間かかって仕上げた。

セッションの管理

SQLが手に入らないのでセッションの管理コードだけでも埋め込もうと、丸2日間かかって仕上げた。
一番苦労したのは「Method Not Allowed」になってしまうことだった。
トラッパーやトレーサじみたコードを入れてアイソレートしていった。
テストした項目は
①login成功・失敗
②logout
③ルートへのジャンプ
④login後の他HTMLへのジャンプ。
⑤demo28.pyからのパラメータの引継ぎ
⑥login中の各振る舞い
⑦logout中のふるまい
など多岐にわたってテストした。

/login

login成功で’/’入力

データの引き渡し

logoutの状態で「/」を入力

demo28.py関連プログラム

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo28.py sessin managed
from flask import Flask, redirect, request, render_template, url_for, session

app = Flask(__name__)

@app.route(‘/login’, methods=[‘GET’, ‘POST’])
def login():
・・if request.method == ‘POST’:
・・・・session[‘username’] = request.form[‘username’]
・・・・return redirect(url_for(‘index’))
・・return render_template(‘check28.html’)

@app.route(‘/reset’, methods=[‘GET’, ‘POST’])
def reset():
・・session[‘username’] = ‘zako’
・・return render_template(‘check28.html’)

@app.route(‘/’)
def func():
・・if ‘username’ in session:
・・・・html = render_template(‘demo03.html’,name = str(session[‘username’]))
・・・・return html
・・return ‘You are not logged in’

@app.route(‘/check’, methods=[‘GET’, ‘POST’])
def check():
・・if request.method == ‘POST’:
・・・・session[‘username’] = request.form[‘username’]
・・・・return redirect(url_for(‘func’))
・・return render_template(‘check28.html’)

@app.route(‘/’,methods=[‘POST’])
def index():

・・success = False
・・name = request.form[“username”]
・・passwd = request.form[“pass”]
・・my_message = “「セッション処理のプログラムはどうでしたか?」”

・・user_data = [{“id”:”zako”, “pass”:”week_pass”},{“id”:”ikarochan”, “pass”:”kawaii”},{“id”:”yoshiko”, “pass”:”ok”},{“\
\
id”:”miku”, “pass”:”hatsune”}]

・・for i in range(0, 4):
・・・・if user_data[i][“id”] == name:
・・・・・・if user_data[i][“pass”] == passwd:
・・・・・・・・success = True
・・・・・・・・session[‘username’] = name
・・・・・・・・return render_template(‘index28.html’,suc=success,name=name,pas=passwd,msg=my_message)
・・・・・・else:
・・・・・・・・continue
・・・・else:
・・・・・・continue
・・success = False
・・return render_template(‘index28.html’,suc=success,name=name,pas=passwd,msg=my_message)

@app.route(‘/logout’)
def logout():
・・session.pop(‘username’, None)
・・return redirect(url_for(‘func’))

app.secret_key = ‘A0Zr98j/3yX R~XHH!jmN]LWX/,?RT’

if __name__ == ‘__main__’:
・・app.run(debug=True)
****************************************
<!DOCTYPE html> <!– check28.html –>
<html lang=”ja”>
<head>
・・<meta charset=”UTF-8″>
・・<title>Loginフォーム</title>
<!– <link rel=”stylesheet” type=”text/css” href=”{{url_for(‘static’, filename=’style.css’)}}” /> –>
・・<link rel=”stylesheet” type=”text/css” href=”static/css/style.css” />
</head>
<body>

・・<form action=”/” method=”post”>
・・・・<h1>Login</h1>
・・・・<input type=”text” name=”username” placeholder=”Username” required/>
・・・・<input type=”password” name=”pass” placeholder=”Password” required/>
・・・・<input type=submit value=Login>
・・</form>

</body>
</html>
****************************************
<!DOCTYPE html> <!– index28.html –>
<html lang=”ja”>
・・<head>
・・・・<meta charset=”UTF-8″>
・・・・<title>Login</title>
<!– <link rel=”stylesheet” type=”text/css” href=”style.css” /> –>
・・・・<link rel=”stylesheet” type=”text/css” href=”static/css/style-07.css” />
・・・・<!–&#91;if lt IE 9&#93;>
・・・・<script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script>
・・・・<!&#91;endif&#93;–>
・・</head>
・・<body>
・・・<h1>Login終了</h1>
・・・{% if suc %}
・・・<h1>Login OK</h1>
・・・<h1>Username is {{ name }}</h1>
・・・{% else %}
・・・Invalid Username or Password. Debug {{ name }},{{ pas }}
・・・{% endif %}
・・・</br>
・・・demo28.pyからのメッセージは:</br>
・・・{{ msg }}です。

・・</body>
</html>
****************************************
<!DOCTYPE html>
<html lang=”ja”>
<head>
・・<meta charset=”UTF-8″>
・・<link rel=”stylesheet” href=”/static/css/style-03.css”>
・・<title>Deep Learning second TEST</title>
</head>
<body>
・・<title>Hello from Flask</title>
・・{% if name %}
・・・<h2>{{ name }}さん!テンプレートからのHello Worldだよ!</h2>
・・{% else %}
・・・<h2>テンプレートからのHello Worldだよ!</h2>
・・{% endif %}

・・<p>
・・・<img src=”/static/images/plant_3.jpg” alt=”pic03″>
・・</p>

・・<script src=”/static/js/main.js”></script>
</body>
</html>
****************************************
(function(){
・・’use strict’;

・・alert(‘アラートですよ〜。’);

})();
****************************************

↑人気ブログランキングに参加しています。よろしければ1票を!

5ヶ年計画

リンクをクリックすると私の5ヶ年計画の文書が見られます。目標、目的はあえて述べません。それは私自身の能力によるからです。

2018-08-17-5ヶ年計画.markdown
上のリンクをクリックすると私の5ヶ年計画の文書が見られます。
目標、目的はあえて述べません。それは私自身の能力によるからです。
1.Atomのパッケージのインストールで
・markdown-writer
・markdown-scroll-sync
・tool-bar
・tool-bar-markdown-writer
を入れておく
2.Atomでmarkdownの文書を作る
3.プレビューする
4.プレビュー画面で右クリック
5.HTML文書作成をクリック
6.Wordpressテキスト画面にHTML文書をドラッグ・アンド・ドロップする
7.リンクが貼られます
以上です。

↑人気ブログランキングに参加しています。よろしければ1票を!

CORE2Duo-VAIOへのLinuxのインストール

CORE2Duo-VAIOへのLinuxのインストールを行った。家での稼働する一番古いPCである。Linuxように東芝製の中古のPCが届いたのであるがこれがまた素晴らしい内容のPCで入っていたWindows10とOffice2016を殺すのが忍びなく倅のPCと交換したわけである。開発環境の構築の方はPIP,PIP3,Python3.6,IPython,Jupyter notebook,Anaconda,Atom,GIMP,emacs,LaTeX,FlightGearをインストールして完了できた。

CORE2Duo-VAIOへのLinuxのインストール

昨日、CORE2Duo-VAIOへのLinuxのインストールを行った。家での稼働する一番古いPCである。Linuxように東芝製の中古のPCが届いたのであるがこれがまた素晴らしい内容のPCで入っていたWindows10とOffice2016を殺すのが忍びなく倅のPCと交換したわけである。先日書いたスペックよりも型番はB553ではなくB554でレビューで書かれたようなOfficeを自分でインストールする必要もなく(プリインストールされていた)なにせHomeエディションでなくパワーポイントも入ったビジネスエディションであった。ハードウェアはキーボートも使用感はなく、WiFiアダプターが予めセットされていて天板に多少擦れ傷のある他は宣伝どおり新品のようであった。ただし底板のビスが1つ外れそうになっていたことを除けば、望外の品物であった。これからこのマシンをLinuxで潰すのは忍びなく冒頭のVAIOの使用と相成った。
実際のインストールは付録についていたDVDよりのインストールであったが途中でLOOPに入ってしまいやめようと思うたびDVD装置がちょっと動くのでやめるわけも行かず、4時間ほど時間が経ってしまった。また選択のボタンが途中画面の下に隠れてしまうなどのトラブルもあり、先日作ったUSBメモリのISOイメージのインストールメディアがあったのでそれを起動ディスクにしたら小一時間でインストールは終了した。ラッキーだったのは東芝でだめな外部装置からの起動がVAIOではBOOTデバイスとして指定できたことだった。このためUSBメモリを使ったISOイメージがBOOTデバイスになり得たことである。しかしアイキャッチ画像にもあるとおり1パーティションの構成になってしまった。
開発環境の構築の方はPIP,PIP3,Python3.6,IPython,Jupyter notebook,Anaconda,Atom,GIMP,emacs,LaTeX,FlightGearをインストールして完了できた。

Atomでのsinカーブの表示、jupyter notebookでの数々のデモ・プログラムの実行・IPythonの実行、Jupyter notebook環境での.ipynbモジュールの.pyモジュールへの変換、及びそのモジュールをAtom環境下での実行確認、それぞれでうまくいった。

実施でのトラブルはJupyter notebookでの実行時モジュールが0バイトだとJSON Unreadableになってしまうことであった。これはインターネットでかなり調べた。

↑人気ブログランキングに参加しています。よろしければ1票を!

CORE2Duo-vaio
CORE2Duo-vaio

(写真はネットより借用)

clipboard using Hydrogen in Atom

clipboard using Hydrogen in Atom

Ipythonで作ったモジュールをAtom環境のリポジトリに持ってくることはすでに述べた。
そこで「Shift + Enter」でデバッグする際結果を表示する。
この際結果の表示のコピーができるがそれはテキストに限定される。
グラフなどはコピーされない。
ひとまず「Screenshot」を使うのが次善の策である。
当ブログもそうしている。
それを再掲載する。
※AtomでのmarkdownやJupyter notebookのフル機能を使っていないのでなんとも今の時点で言えないが。

クリップボードを使った例


↑人気ブログランキングに参加しています。よろしければ1票を!

WALKMAN操作手順

WALKMAN操作手順最終回

目次(WALKMAN操作手順)
2018/01/03

はじめに
WALKMAN NW-S780Seriesサマリー・P1
AudioCD WALKMAN PC 相関図(iTunes,Media GO)・P2
Craving Explorerの実施(#1)・P3
Craving Explorerの入力画面・P4
Craving Explorerのmp3選択カスケードメニュー・P5
Craving Explorerでmp3データを取った後WALKMANに落とす方法(#2)・P6
Craving Explorerでダウンロードしたmp3をMedia GOのプレイリストに挿入する手順・P7
NW-S784にCD(iTunesで作った)からアルバム/ファイルを送る方法(#3)・P8
iTunesでmp3データを使ってAudio CDを作成する(#4)・P9
iTunesダイアログ・P10
「プレイリストからディスクを作成」画面・P11
AudioCD,CD-Textを含める、「ディスクを作成」画面・P12
プレイリストの作成(マニュアル-Media GOのHelp)・P13~P16-1
iTunes作成-曲名リスト(サンプル)・P17
iTunesで音楽CDを作成(#5)・P18
iTunesでプレイリストの作成手順(図)・P19
iTunesで曲の順番を変える(図)・P20
iTunes作成-曲名リスト(サンプルその2)・P21
市販CDから曲名を印刷しWALKMANに転送する方法(#6)・P22
P22のCaution画面・P23
Media GOでのプレイリストへの楽曲の追加(#7)・P24

はじめに

一度WALKMANに登録された楽曲はどうやってもMedia GOでは削除できない。*1
PCに残っている楽曲、ファイルはPCから削除できる。
このことを心にとめて操作願います。

ソフトウェアはPC上でMedia GO、iTunesを使いますがそれぞれの特性を知ってください。iTunesはWALKMANにデータを送れません。Media GOは曲名を印書できません。音楽のCDを作るにはiTunesを、また音楽データの読み込みもiTunesが良いでしょう。プレイリストの編集はMedia GOでやるとよいと思います。iTunesのアルバムからMedia GOのプレイリストへDrag & Dropできます。一度Media GOからWALKMANに送った楽曲は新たなプレイリストで同じ曲があったとしても二重には送られません。原曲だけがWALKMAN上に残ります。

 内部で扱うデータの方はmp3に統一するとよいかも知れませんが扱えれば別にかまいません。WALKMANで表示される「アルバム」、「プレイリスト」はABC順です。順位は
1. 数字0~9順(?:数字を付けたことがないのでクエスチョンです)
2. 英字A~Z順
3. かな 「ア」~「ン」
4. 漢字 一応(ANSI?)コード順
です。
アルバム名はWALKMANでは変更不能ですから、「プレイリスト」で聞きたい順になるように名前を付けるとよいと思います。同じプレイリストに多数の楽曲を含めることができるので「プレイモード(WALKMAN演奏時オプションボタンで)」の「シャッフルリピート」で日がな一日を過ごすのもよいでしょう。
*1 Media GOでは削除できないがWALKMANと繋がっている状態でPCのExplorerを使ってMUSIC内のフォルダーないしは音楽ファイルを削除することができる。

 このドキュメントはWindowsPCでWALKMAN NW-S780シリーズをお使いの皆さんに書いています。やっつけ仕事で書きましたから間違いも多々あるでしょう。まずお詫びしておきます。ご参考になれば何よりです。

↑人気ブログランキングに参加しています。よろしければ1票を!

Sony WALKMAN操作ガイドその2

Sony WALKMAN操作ガイドその2

操作はすべて自己責任でお願いします。当文書で行ったすべての操作の結果について当サイトはいかなる責任も負いかねます。
ダウンロードした楽曲は個人で楽しむ以外は違法です。
iTunesで音楽CDを作成(#5)

2017/12/29
1. Explorerから曲を選んで新規にCDを作成する場合
① デスクトップ上のiTunesアイコンをダブルクリック
② ファイル・メニュー→新規→プレイリストを選択(クリック)
③ サイド・バーの「プレイリスト」にex.「select-one」を入力
④ Explorerを使ってPC→…→mp3のファイルをex.「select-one」にDrag & Drop
⑤ リスト上でDrag & Dropで曲順(上下)を変える
⑥ 曲上で右クリック不要な曲を削除→曲数、演奏時間を調整
⑦ ファイル・メニュー→「プレイリストからディスクを作成」をクリック
⑧ オーディオCDを選択(CD-Textを含めるにチェック☑)
⑨ ディスクを作成
⑩ 複数枚のCDが必要→OKのときそのままOK
⑪ mp3にしてOKのときmp3でOK
⑫ CDの書き込み中が表示
⑬ 出来上がったらそれ用のプログラムで再生

2. すでにある大きなプレイリスト選択してCDを作成する場合
① デスクトップ上のiTunesアイコンをダブルクリック
② 既存の大きめのプレイリストを表示し曲目を選んでおく
③ ファイル・メニュー→新規→「選択した項目からプレイリスト」をクリック
④ 画面の上の「プレイリスト」にex.「select-two」を入力
⑤ 上の1.の⑤~⑬を実施

3. iTunesとMedia GO(以降M.G.と表記)
① 両方とも曲の順番を変えられる
② M.G.では曲の削除ができる
③ M.G.ではプレイリストの名前の変更が可能(iTunesでは削除後新規作成)
④ M.G.ではタイトル・アーティスト・アルバム名など編集できる
⑤ iTunesのプレイリストは編集できないが印刷はできる

↑人気ブログランキングに参加しています。よろしければ1票を!