goo blog サービス終了のお知らせ 

職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

本格アプリの作り方-その2/データセット

2020年03月04日 | VB2017
【開発環境】
os:Windows 10 (64ビット)
IDE(統合開発環境):VisualStudio 2017
言語;VB

【参考書】
株式会社秀和システム「作って覚えるVisualBasic2017」
著者:萩原 博之/宮崎 昭世

【登録画面に分類コンポボックスに表示するデータを格納するデータセット作成】

ⅰ)プロジェクトのコンテキストメニューを表示
「家計簿」プロジェクトを右クリックし、[追加]-[新しい項目]を選択する


ⅱ)データセットを作成
名前の欄に「CategoryDataSet.xsd」と記入し、「追加」ボタンを押す。


ⅲ)データセットデザイナーを確認する


ⅳ)Datatableコントロールをツールボックスからドラッグ&ドロップする


ⅴ)Datatableコントロールの設定と列を追加する

①Datatableコントロール
Nameプロパティ=CategoryDataTable

②Columnコントロール
Nameプロパティ=分類
DataTypeプロパティ=System.String

③Columnコントロール
Nameプロパティ=入出金分類
DataTypeプロパティ=System.String

ⅵ)Datatableコントロールの完成


ⅶ)プロジェクトをビルドする


ⅷ)登録画面を表示し、ツールボックスに「CategoryData」が追加された事を確認

Ⅸ)登録画面の[ComboBox]コントロールのスマートタグ表示し、設定する

①[データバンド項目を使用する]のチェックボックスをチェックする
②データソース→⬇ボタンをクリックし、[他のデータソース]から「CategoryDataSet」の「CategoryDataTable」を選ぶ

Ⅹ)表示メンバ
⬇ボタンをクリックし、「分類」を選ぶ








コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

本格アプリの作り方-その1/概要編

2020年03月04日 | VB2017
本格アプリの作り方



【開発環境】
os:Windows 10 (64ビット)
IDE(統合開発環境):VisualStudio 2017
言語;VB

【参考書】
株式会社秀和システム「作って覚えるVisualBasic2017」
著者:萩原 博之/宮崎 昭世

【目的】
簡易家計簿アプリを通して本格的なアプリの作り方を学ぶ事。どのようにプログラミングを進めていくか?を考える。

●アプリを作る目的
→パソコンで家計簿を作る

●家計簿に必要な機能をまとめる
→1.日々の買い物・金額などのデータを入力する機能
→2.入力データの確認や、合計を表示する機能
→3.入力データを保存する機能
→4.入力データを合計する機能
→5.間違えたデータを修正・削除する機能
→6.買い物を月ごとに集計・計算する機能

●処理
機能に実行するプログラムを考える。コントロールの選定などやプログラムなど

【画面デザイン】
こんな感じにする。画面は登録画面とメイン画面の2画面を用意する。


■メイン画面の設定

コントロールの配置
①Formコントロール
Textプロパティ=家計簿

②MenuStripコントロール
(Name)プロパティ=mainMenu
③DataGridViewコントロール
(Name)プロパティ=dgy

④Buttonコントロール
(Name)プロパティ=buttonAdd
Textプロパティ=追加

⑤Buttonコントロール
(Name)プロパティ=buttonChange
Textプロパティ=変更

⑥Buttonコントロール
(Name)プロパティ=buttonDelete
Textプロパティ=削除

⑦Buttonコントロール
(Name)プロパティ=buttonEnd
Textプロパティ=終了

■登録画面
登録用のフォームを作成する
①プロジェクトの[追加]から「Windowファーム」を選択する


②[新しい項目の追加]ダイアログボックスから、「Windowファーム」を選択し、
名前の項目に「ItemForm」と記入し、「追加ボタン」を押す


③「ItemForm」フォームに各コントロールを配置して登録画面を作る


[ItemFormのコントロール設定]
①Formコントロール
Textプロパティ=登録

②MonthCalenderコントロール
(Name)プロパティ=MonCalender

③Labelコントロール
Textプロパティ=分類

④Labelコントロール
Textプロパティ=品名

⑤Labelコントロール
Textプロパティ=金額

⑥Labelコントロール
Textプロパティ=備考

⑦ComboBoxコントロール
(Name)プロパティ=cmbCategory
DropDownStyleプロパティ=DropDownList

⑧TextBoxコントロール
(Name)プロパティ=txtItem

⑨MaskedTextBoxコントロール
(Name)プロパティ=mtxtMoney
Maskプロパティ=999999(6桁)
TextAlign=Right

⑩TextBoxコントロール
(Name)プロパティ=txtRemarks

⑪Buttonコントロール
(Name)プロパティ=buttonOK
Textプロパティ=登録
DialogResultプロパティ=OK

⑫Buttonコントロール
(Name)プロパティ=buttonCancel
Textプロパティ=キャンセル
DialogResultプロパティ=Cancel

【メインのメニュー項目の作成】
・ファイル

・編集

・表示

・ヘルプ

※区切り線は[ここへ入力]の横の↓をクリックし、リストから[Separator]を選ぶ

【データセット】
登録画面で追加したデータをメインの一覧画面に反映させたい場合に、このデータを格納する領域が必要となる。そのため、VBでは複数のデータを扱うデータセットという仕組みがある。
ここでは型付きデータセットを使う。
①ソリューションエクスプローラーにある家計簿を右クリックし、[追加]-[新しい項目]を選択する


②「テンプレート」-[データセット]を選択し、名前の欄に「MoneyDataSet.xsd」と記入し、「追加」ボタンを押す


③ツールボックスから[DataTabel]コントロールをドラック&ドロップして画面に貼る


④[DataTabel]コントロールを右クリックし、[追加]-[列]をクリックし、下図のように作成する


■それぞれのColumn(列)コントロール


①Data Tableコントロール
Nameプロパティ=moneyDataTable

②Columnコントロール
Nameプロパティ=日付
DataTypeプロパティ=System.DateTime

③Columnコントロール
Nameプロパティ=分類
DataTypeプロパティ=System.String

④Columnコントロール
Nameプロパティ=品名
DataTypeプロパティ=System.String

⑤Columnコントロール
Nameプロパティ=金額
DataTypeプロパティ=System.In32

⑥Columnコントロール
Nameプロパティ=備考
DataTypeプロパティ=System.String

⑤MoneyDataSetのビルド


⑥ビルドの確認


【DataGridViewコントロールにデータセットを結びつける】
1)一覧画面のDataGridViewコントロールのスマートタグをクリックする


2)DataGridViewタスクから[meneyDataTable]を選択する。


3)列が表示される












コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

デバックモード

2020年01月08日 | VB2017
VBのデバックについて


【開発環境】
os:Windows 10
IDE(統合開発環境):VisualStudio 2017
言語;VB

【参照サイト】
第42回 初めてのデバッグ

【準備】
① Sound2005.lzhを参照サイトからダウンロードし、解凍して「Sound.dll」ファイルを作成する。

②[プロジェクト]メニューの[参照の追加]をクリックし、表示されるウィンドウの[参照]タブをクリックして先ほど解凍した「Sound.dll」ファイルを指定する。

③フォームにボタンを貼る。


【コーデング】
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim CmdSound As String '楽譜を表す文字列
Dim Reader As IO.StringReader '楽譜を順番に読むオブジェクト
Dim Octarb As Integer '次に弾く音のオクターブ
Dim Sign As String '次に弾く音の♯だの♭だのの調合。#は"+"、♭は"-"で表す。
Dim Length As String '次に弾く音の長さ。四分音符は4、8部音符は8。ただし4の場合は省略可能。
Dim Note As String '次に弾く音の音階。ドレミファソラシは順にCDEFGABで表す。
Dim Player As New RLaboratory.Windows.Sound '音を発するクラス。楽器。

'●前処理

'楽器・楽譜の初期設定

'音色にシンセリードを指定。
'MIDIデバイスがない環境ではこの指定は無効で、常にビープ音によって演奏される。
Player.Instrument =RLaboratory.Windows.Instruments.FifthsLead

'このコメントをはずすとMIDIデバイスがあってもビープ音による演奏が行われる。
'Player.SoundMode =RLaboratory.Windows.Sound.SoundeModes.Beep

'大きな古時計の楽譜(最初のフレーズのみ)
CmdSound = "DGF+8G8AG8A8B8B8B8EA8A8GG8G8F+E8F+8G2"

'●メイン処理

'楽譜から一音ずつ取り出して演奏する

Reader = New IO.StringReader(CmdSound)

Do While Reader.Peek '楽譜の最後に到達するまでループを実行

Note =Chr(Reader.Read) '楽譜の次の音階を読む。

'▼読み込んだのが音階ではなくオクターブを変える記号の場合
If Note = "<" Then
Octarb += 1
ElseIf Note = ">" Then
Octarb -= 1
End If

'▼次の文字が-+(調号)の場合は"C+", "B-"のように音階と一緒にする。
Sign =Chr(Reader.Peek)
If Sign = "+" OrElse Sign = "-" Then
Note &= Sign
End If

'▼次の文字が数字の場合は"C8","F+8"のように音階と一緒にする。
Length =Chr(Reader.Peek)
If IsNumeric(Length) Then
Note &= Length

'▼その次の文字も数字の場合も同様。たとえば"D+16"などの場合
Length = Chr(Reader.Peek)
If IsNumeric(Length) Then
Note &= Length
End If

End If

'▼読み込んだ音を発音する。
Player.PlayString(Note, Octarb)

Loop

'●後処理

Reader.Close()
Player.Close()

End Sub

【実行】
「演奏する」ボタンを押す

エラー表示される


【デバック】
デバックはブレークポイントやウォッチウィンドウ、ビジュアライザー、エディットコンティニューといったツールを用いてやる。



【デバック完了後のコード】
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim CmdSound As String '楽譜を表す文字列
Dim Reader As IO.StringReader '楽譜を順番に読むオブジェクト
Dim Octarb As Integer '次に弾く音のオクターブ
Dim Sign As String '次に弾く音の♯だの♭だのの調合。#は"+"、♭は"-"で表す。
Dim Length As String '次に弾く音の長さ。四分音符は4、8部音符は8。ただし4の場合は省略可能。
Dim Note As String '次に弾く音の音階。ドレミファソラシは順にCDEFGABで表す。
Dim Player As New RLaboratory.Windows.Sound '音を発するクラス。楽器。

'●前処理

'楽器・楽譜の初期設定

'音色にシンセリードを指定。
'MIDIデバイスがない環境ではこの指定は無効で、常にビープ音によって演奏される。
Player.Instrument = RLaboratory.Windows.Instruments.FifthsLead

'このコメントをはずすとMIDIデバイスがあってもビープ音による演奏が行われる。
'Player.SoundMode =RLaboratory.Windows.Sound.SoundeModes.Beep

'大きな古時計の楽譜(最初のフレーズのみ)
CmdSound = "DGF+8G8AG8A8B8B8B8EA8A8GG8G8F+E8F+8G2"

'●メイン処理

'楽譜から一音ずつ取り出して演奏する

Reader = New IO.StringReader(CmdSound)
'楽譜の最後に到達するまでループを実行
'Do While Reader.Peekを変更する
Do Until Reader.Peek = -1

Note = Chr(Reader.Read) '楽譜の次の音階を読む。

'▼読み込んだのが音階ではなくオクターブを変える記号の場合
If Note = "<" Then
Octarb += 1
ElseIf Note = ">" Then
Octarb -= 1
End If

'▼次の文字が-+(調号)の場合は"C+", "B-"のように音階と一緒にする。
Sign = Chr(Reader.Peek)
If Sign = "+" OrElse Sign = "-" Then
Note &= Sign
Reader.Read() '追加
End If

'▼次の文字が数字の場合は"C8","F+8"のように音階と一緒にする。
Length = Chr(Reader.Peek)
If IsNumeric(Length) Then
Note &= Length
Reader.Read() '追加

'▼その次の文字も数字の場合も同様。たとえば"D+16"などの場合
Length = Chr(Reader.Peek)
If IsNumeric(Length) Then
Note &= Length
Reader.Read() '追加
End If

End If

'▼読み込んだ音を発音する。
If Note <> "<" AndAlso Note <> ">" Then '←この行を追加する
Player.PlayString(Note, Octarb)

End If

Loop

'●後処理

Reader.Close()
Player.Close()

End Sub
End Class
以上



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

メールチェッカーの作成

2019年12月05日 | VB2017
メールチェッカーの作成



【開発環境】
os:Windows 10
IDE(統合開発環境):VisualStudio 2017
言語;VB
Gmailが使える状態


【参考書】
株式会社秀和システム「作って覚えるVisualBasic2017」
著者:萩原 博之/宮崎 昭世


【画面デザイン】
フォームコントロールに各種コントロールを貼る



①Form1コントロール
Form1.text = Gメールチェッカー

②Label1コントロール
Label1.text = メールアドレス

③Label2コントロール
Label2.text = パスワード

④TextBox1コントロール
プロパティの設定なし

⑤TextBox2コントロール
TextBox2.PasswordCheck = ●

⑥TextBox3コントロール
TextBox3.MUltiline = True

⑦Buttonコントロール
Button.text = チェック開始

タイマー
Timer1コントロール
Timer1.lnterval = 60000

アイコン
NOtifylonコントロール
NOtifylon1.Iconを下記のように指定


【アイコンの作り方】
参照サイト→Windows10でアイコンファイルを作成する方法


【パッケージの取得】
NuGetパッケージマネージャーから「pop3」パッケージのOpenPoP.NETを選ぶ。



【コーデング】
Public Class Form1
Private count As Integer = -1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Enabled = True

End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
' OpenPop.netのインスタンスを作成
Dim client As New OpenPop.Pop3.Pop3Client()

'Gmailに接続
client.Connect("pop.gmail.com", 995, True)

'メルアドとパスを入力
client.Authenticate(TextBox1.Text, TextBox2.Text)

'
Dim messageCount As Integer = client.GetMessageCount()
If (count = -1) Then
count = messageCount
End If

For i As Integer = messageCount To count + 1 Step -1
TextBox3.Text += client.GetMessage(i).Headers.Subject + vbCrLf '改行
NotifyIcon1.BalloonTipIcon = ToolTipIcon.Info
NotifyIcon1.BalloonTipTitle = "メールが届きました"
NotifyIcon1.BalloonTipText = client.GetMessage(i).Headers.Subject
NotifyIcon1.ShowBalloonTip(3000)
Next i
count = messageCount


End Sub

End Class

以上
うまく行かないときは自分で調べよ。それからGmailからブロックされるよ


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「Twitter投稿」アプリ

2019年11月19日 | VB2017
「Twitter投稿」アプリを作ってみた


【開発環境】
os:Windows 10
IDE(統合開発環境):VisualStudio 2017
言語;VB

【参考書】
株式会社秀和システム「作って覚えるVisualBasic2017」
著者:萩原 博之/宮崎 昭世

【Twitter投稿アプリ】
デザイン画面


◆コントロールを貼る
①Button1コントロール
Button1.Text="Twitter投稿"
②TextBox1コントロール

③Button2コントロール
Button2.Text="PIN入力"

④TextBox2コントロール
TextBox2.Multiline="True"

⑤Button3コントロール
Button3.Text="ツイート"
追伸
Form1コントールのTextはTwitter投稿にしてね

【Twitter】
Twitter Developerの開発者申請とAPIキー取得方法について
【仮登録】
デジナビのTwitter Developerの開発者申請を参照にしてください

注意1) Internet Explorer 11では不具合が生じるよ。Chromeが良いかも
注意2)携帯電話が登録してないと、認証コードがSNSメールで送られて来ないよ
注意3)デジナビと違った点を下記に記す

1

2

3

4

5

この後はデジナビを参照のこと!

【本登録】
Twitterから届くメールを確認して本登録を完了
1

2

3確認したら、「create」ボタンを押す

4キー取得


◆CoreTweetのインストール
NUGetパッケージマネージャーを利用し、TwitterAPI を扱うためのライブラリCoreTweetをインストールする。
1.NUGetパッケージマネージャーを開く

2.NUGetパッケージマネージャー表示

3.検索ボックスに「CoreTweet」と入力し、該当プロジェクトにチェックし、「インストール」ボタンを押す

4.変更を確認するダイアログが表示されたら、「OK」ボタンをクリックする


【コーデング】
Public Class Form1
Private session As CoreTweet.OAuth.OAuthSession
Private Tokens As CoreTweet.Tokens

'twitterのアプリ認証
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

'AIPキーとSecretキーをセットする
Dim AIP_key As String = "☓☓☓☓"
Dim Secret_key As String = "☓☓☓☓"

'アプリケーションの認証
session = CoreTweet.OAuth.Authorize(AIP_key, Secret_key)
'Pinコードの取得
Process.Start(session.AuthorizeUri.ToString())
End Sub

'Pin番号の入力
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Tokens = CoreTweet.OAuth.GetTokens(session, TextBox1.Text)
End Sub

'twitter投稿
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Tokens.Statuses.Update(TextBox2.Text)
End Sub
End Class

【twitter投稿アプリの操作】
1.操作画面の「twitter投稿」ボタンをクリックする


2.ブラウザーに「アカウントのアクセス許可をしますか」と表示される


3.PINコード表示
「連帯アプリを認証」ボタンをクリックすると


4.アプリにPINコードを入力し、「PIN入力」ボタンを押す


5.ツイート投稿

テキストに適当な文書を書いたら、「ツイート」ボタンをクリックする

6.結果

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする