検索
ホームページphp教程php手册MyKTVプロジェクト概要

MyKTVプロジェクト概要

Jul 06, 2016 pm 01:30 PM
名前要約するガイドシステムプロジェクト

プロジェクト名:KTVソングリクエストシステム--インストラクターのユアン・ユーミンが1週間以上かけて私のKTVプロジェクトを完成させました。正直に言うと、このプロジェクトを行うことで多くのことが得られ、多くの困難もありましたが、多くの試練を経ました。ついに終わりました。単純じゃない! このプロジェクトは主にフロントエンドとバックエンドに分かれています。 フロントデスクが実装する主な機能は、歌手からの曲リクエスト、ピンイン

です。

1週間以上経って、やっとKTV

のプロジェクトを完成させることができました。正直に言うと、このプロジェクトを行うことで得たものはたくさんありましたが、多くの困難を経て、ようやく乗り越えることができました。単純じゃない!

このプロジェクトは主にフロントエンドとバックエンドに分かれています。

フロントデスクが実装する主な機能は、歌手による曲のリクエスト、ピンインによる曲のリクエスト、単語数による曲のリクエストです。 タイプ選択、ゴールデンソングランキング、一部カット曲、デュエット、オーダー曲リスト、これらが主な機能です。 バックグラウンドで実装される主な機能は、歌手の追加、曲の追加、曲のパスの変更、歌手の画像パスの変更です。

まずはフロントデスクを見てみましょう:

フロントデスクコアクラス:

SqlHelper

クラス (データベースへの接続を担当):

リーリー

KtvHelper

クラス (曲を保存するディレクトリ、歌手の写真を保存するディレクトリ) リーリー

ソングクラス (曲情報と曲ステータスを達成するためのスイッチ

(

再生

;未再生

;再生;カットソング)): リーリー PlayListクラス(曲の再生のコアコンテンツ、機能

(

再生の実装

カット曲リプライ)): リーリー フォームのドラッグを実装するコード (対応するイベントを見つけてダブルクリック): リーリー メインインターフェース: (

FrmMain

)

リーリー

歌手の曲のリクエスト (Frmbyswangetsong):

 <span style="color: #008000;">//</span><span style="color: #008000;">画像インデックス</span>
        <span style="color: #0000ff;">パブリック</span> <span style="color: #0000ff;">int</span> インデックス=<span style="color: #800080;">0</span><span style="color: #000000;">;
        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span>index_singer = <span style="color: #800080;">0</span><span style="color: #000000;">;

       </span><span style="color: #008000;">//</span><span style="color: #008000;">ロードイベント</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> Frmbyswangetsong_Load(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            </span><span style="color: #008000;">//</span><span style="color: #008000;">現在のフォームを表示するとき、2 番目の lvlist と 3 番目の lvlist のコントロールが表示されないようにします</span>
            lvlisttwo.Visible = <span style="color: #0000ff;">false</span><span style="color: #000000;">;
            lvlistthere.Visible </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">;


            </span><span style="color: #0000ff;">#region</span> データを最初のリストビューにバインドします
            <span style="color: #008000;">//</span><span style="color: #008000;">データと画像を listview1 にバインドします</span>
            ListViewItem lv = <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">組み合わせ</span><span style="color: #800000;">"</span>, <span style="color: #800080;">0</span><span style="color: #000000;">);
            lv.タグ</span>= <span style="color: #800000;">「</span><span style="color: #800000;">組み合わせ</span><span style="color: #800000;">」</span><span style="color: #000000;">;
            ListViewItem lv1 </span>= <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">女性歌手</span><span style="color: #800000;">"</span>, <span style="color: #800080;">1</span><span style="color: #000000;">);
            lv1.タグ</span>= <span style="color: #800000;">「</span><span style="color: #800000;">女</span><span style="color: #800000;">」</span><span style="color: #000000;">;
            ListViewItem lv2 </span>= <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">男性歌手</span><span style="color: #800000;">"</span>, <span style="color: #800080;">2</span><span style="color: #000000;">);
            lv2.タグ</span>= <span style="color: #800000;">「</span><span style="color: #800000;">男性</span><span style="color: #800000;">」</span><span style="color: #000000;">;
            lvlistone.Items.Add(lv);
            lvlistone.Items.Add(lv1);
            lvlistone.Items.Add(lv2);
            </span><span style="color: #0000ff;">#エンドリージョン</span><span style="color: #000000;">

        }



       </span><span style="color: #008000;">//</span><span style="color: #008000;">lvlistone の項目をクリックするとイベントがトリガーされます</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> lvlistone_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;">送信者、EventArgs e)
        {
            </span><span style="color: #008000;">//</span><span style="color: #008000;"> lvlistone コントロール内の項目が選択されていない場合、2 番目のフォームは表示されません
            </span><span style="color: #008000;">//</span><span style="color: #008000;">2番目に出現するlvlisttwoとlvlistoneを同じ位置に表示させます</span>
            lvlisttwo.Location =<span style="color: #000000;"> lvlistone.Location;
            </span><span style="color: #008000;">//</span><span style="color: #008000;"> 1 つの項目を選択すると、2 番目の llvlisttwo が表示されます
            </span><span style="color: #008000;">//</span><span style="color: #008000;">2番目のlvlisttwoを表示させます</span>
            lvlisttwo.Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">;
            </span><span style="color: #0000ff;">if</span> (lvlistone.SelectedItems[<span style="color: #800080;">0</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;">データを 2 番目のリストビュー コントロールに動的にバインドする方法</span>
<span style="color: #000000;"> lvlisttwoadd();
               
            }
           
        }</span><span style="color: #008000;">//</span><span style="color: #008000;"> 2 番目のリストビュー コントロールにデータを動的にバインドするメソッド lvlisttwoadd();</span>
        <span style="color: #0000ff;">プライベート</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> lvlisttwoadd()
        {
            SqlConnection コン </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str);
            </span><span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select * from singer_type</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql, con);
            </span><span style="color: #0000ff;">試してみる</span><span style="color: #000000;">
            {
                con.Open();
                SqlDataReader dr </span>=<span style="color: #000000;"> cmd.ExecuteReader();
                </span><span style="color: #0000ff;">if</span> (dr != <span style="color: #0000ff;">null</span><span style="color: #000000;">)
                {
                    </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (Dr.HasRows)
                    {
                        </span><span style="color: #0000ff;">ながら</span><span style="color: #000000;"> (dr.Read())
                        {
                            </span><span style="color: #0000ff;">string</span> singertype_group = dr[<span style="color: #800000;">"</span><span style="color: #800000;">singertype_name</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #0000ff;">int</span> id = Convert.ToInt32(dr[<span style="color: #800000;">"</span><span style="color: #800000;">singertype_id</span><span style="color: #800000;">"</span><span style="color: #000000;">]);
                            ListViewItem lv </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ListViewItem();
                            lv.ImageIndex </span>= インデックス++<span style="color: #000000;">;
                            lv.テキスト </span>=<span style="color: #000000;"> 歌手タイプ_グループ;
                            lv.タグ</span>=<span style="color: #000000;"> ID;
                           </span><span style="color: #008000;">//</span><span style="color: #008000;"> MessageBox.Show(lvlisttwo.Tag.ToString());</span>
<span style="color: #000000;"> lvlisttwo.Items.Add(lv);
                        }
                    }
                }
            }
            </span><span style="color: #0000ff;">キャッチ</span><span style="color: #000000;"> (例外)
            {

                MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">ネットワーク異常!</span><span style="color: #800000;">"</span><span style="color: #000000;">);
            }
            </span><span style="color: #0000ff;">ついに</span><span style="color: #000000;">
            {
                con.Close();
            }
        }</span><span style="color: #008000;">//</span><span style="color: #008000;"> 03 lvlisttwo の項目がクリックされたときにトリガーされるイベント</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> lvlisttwo_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {

            lvlistthere.Items.Clear();
            </span><span style="color: #008000;">//</span><span style="color: #008000;"> lvlisttwo コントロール内の項目が選択されていない場合、3 番目のフォームは表示されません
            </span><span style="color: #008000;">//</span><span style="color: #008000;">項目を選択すると、2番目のllvlistが表示されます</span>
            <span style="color: #0000ff;">if</span> (lvlisttwo.SelectedItems[<span style="color: #800080;">0</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                lvlisttwo.Visible </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">3番目に出現するlvlistthereとlvlistoneを同じ位置に表示させます</span>
                lvlistthere.Location =<span style="color: #000000;"> lvlistone.Location;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">3番目のlvlistを表示させてください</span>
                lvlistthere.Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">ユーザーがクリックした最初のリストビューを取得して、それが男性歌手、女性歌手、グループのいずれであるかを判断します</span>
                <span style="color: #0000ff;">string</span> singer_group = lvlistone.SelectedItems[<span style="color: #800080;">0</span><span style="color: #000000;">].Tag.ToString();
                </span><span style="color: #008000;">//</span><span style="color: #008000;">ユーザーが 2 番目のリストビューをクリックした地域の ID を取得します</span>
                <span style="color: #0000ff;">int</span> cityid = Convert.ToInt32(lvlisttwo.SelectedItems[<span style="color: #800080;">0</span><span style="color: #000000;">].Tag);
                SqlConnection コン </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str);
                </span><span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select singer_name,singer_photo from singer_info where singer_sex ='</span><span style="color: #800000;">"</span> + singer_group + <span style="color: #800000;">"</span><span style="color: #800000;">' and singertype_id=</span><span style="color: #800000;">"</span>+cityid+<span style="color: #800000;">"</span> <span style="color: #800000;">「</span><span style="color: #000000;">;」
                SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql,con);
                </span><span style="color: #0000ff;">試してみる</span><span style="color: #000000;">
                {
                    con.Open();
                  SqlDataReader dr</span>=<span style="color: #000000;"> cmd.ExecuteReader();
                    </span><span style="color: #0000ff;">if</span>(dr!=<span style="color: #0000ff;">null</span><span style="color: #000000;">)
                    {
                    </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(Dr.HasRows)
                    {
                        </span><span style="color: #0000ff;">ながら</span><span style="color: #000000;"> (dr.Read())
                        {
                            </span><span style="color: #008000;">//</span><span style="color: #008000;">歌手の名前と歌手の写真パスを取得します</span>
                            <span style="color: #0000ff;">string</span>歌手名 = dr[<span style="color: #800000;">"</span><span style="color: #800000;">歌手名</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #0000ff;">string</span> singer_photo_url = dr[<span style="color: #800000;">"</span><span style="color: #800000;">singer_photo</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #008000;">//</span><span style="color: #008000;">パスを接続</span>
                            <span style="color: #0000ff;">string</span> URL = KtvHelper.singer_photoURL +<span style="color: #000000;"> singer_photo_url;
                            imgsingerinfo .Images.Add(Image.FromFile(URL));
                            ListViewItem lv </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ListViewItem();
                            lv.テキスト</span>=<span style="color: #000000;">歌手名;
                            lv.ImageIndex </span>=index_singer++<span style="color: #000000;">;
                            lvlistthere.Items.Add(lv);

                        }
                    }
                    }

                }
                </span><span style="color: #0000ff;">キャッチ</span><span style="color: #000000;"> (例外)
                {

                    MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">ネットワーク異常!</span><span style="color: #800000;">"</span><span style="color: #000000;">);
                }
                </span><span style="color: #0000ff;">ついに</span><span style="color: #000000;">
                {
                    con.Close();
                }
                
           
              }

        }
           
       </span><span style="color: #008000;">//</span><span style="color: #008000;">メインインターフェイスのボタンをクリックするとトリガーされるイベント</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnmain_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            FrmByValue.frM.Show();
            </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Close();
            
        }

       </span>

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)