Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > สอบถามเรื่องการเขียนโปรแกรมสื่อการเรียนการสอนหน่อยครับ โดยใช้ Visual Basic



 

สอบถามเรื่องการเขียนโปรแกรมสื่อการเรียนการสอนหน่อยครับ โดยใช้ Visual Basic

 



Topic : 114091



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์




คือโปรแกรมของผมจะเป็นรูปแบบของโปรแกรมสื่อการเรียนการสอนเรื่องกราฟน่ะครับ
ในโปรแกรมมันมีอยู่ปุ่มนึงที่ีผมจะให้ User กดเข้าไปแล้วสร้างกราฟตามจินตนาการของเค้าเลยอ่ะครับ
แล้วจากนั้นผมจะให้ตัวโปรแกรมมันเช็คว่ากราฟที่ User สร้างนั้น
1. มีกี่จุด (Vertex)
2. มีกี่เส้น (Edge)
3. มีกี่เส้นเชื่อม (Degree)
4. แล้วก็เช็คว่าเป็นกราฟชนิดนั้นๆไหม (Euler , Hamilton , Connected Graph)
อันนี้คร่าวๆก่อนน่ะครับ พอจะมีใครรู้แนวทางการเขียนโค๊ดบ้างครับ ขอบคุณครับผม



Tag : .NET, VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-01-29 21:33:56 By : vengenz View : 1172 Reply : 12
 

 

No. 1



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

Excel น่าจะเป็น guideline ให้ได้ครับ
ทำเป็นรูปแบบ Array
จะตอบโจทย์ 1-3
ส่วนข้อ 4 ใช้เป็นแบบเลือกเอา(combobox)เพราะมันประเมิณค่อนข้างยาก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-30 08:37:34 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-01-30 08:37:34
รายละเอียดของการตอบ ::
พี่พอจะรู้แนวทางโค๊ดของเส้นไหมอ่ะครับ
ตอนนี้ผมต้องการโค๊ดแบบลากเส้นจากจุดหนึ่งไปอีกจุดหนึ่งอ่ะครับ
ผมหาเท่าไหร่ก็ไม่เจอ ทำตามหนังสือที่ซื้อมาก็ไม่ได้

ขอบคุณครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-30 21:17:10 By : vengenz
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 2 เขียนโดย : vengenz เมื่อวันที่ 2015-01-30 21:17:10
รายละเอียดของการตอบ ::
ที่ผมใช้อยู่เป็น line ครับ
แต่ในส่วนของ ชนิดของกราฟ ยังไม่เคยลองเล่นดู
Code (C#)
private void SetChart()
        {
           
            if (txtMean.Text == "" && txtSD.Text == "") { return; }

            PictureBox1.Top = 5; PictureBox1.Left = 10;
            PictureBox1.Width = ((aLS_F_711DataGridView.Rows.Count + 5) * SizeColumn > Panel1.Width) ? (aLS_F_711DataGridView.Rows.Count + 5) * SizeColumn : Panel1.Width;
            PictureBox1.Height = Panel1.Height - 30;

            // Set value 
            double _SD = double.Parse(txtSD.Text);
            double vMain = double.Parse(txtMean.Text);
            double vUp3SD = vMain + (3 * _SD);
            double vUp2SD = vMain + (2 * _SD);
            double vDwn2SD = vMain - (2 * _SD);
            double vDwn3SD = vMain - (3 * _SD);
            
            int lntMain = Convert.ToInt32(PictureBox1.Height / 2);
            int lntUp3SD = lntMain - Convert.ToInt32(lntMain / 1.2);
            int lntUp2SD = lntMain - Convert.ToInt32(lntMain / 2);
            int lntDwn2SD = lntMain + Convert.ToInt32(lntMain / 2);
            int lntDwn3SD = lntMain + Convert.ToInt32(lntMain / 1.2);
            double ddd = (lntDwn3SD - lntUp3SD) / (vUp3SD - vDwn3SD);
            b = new Bitmap((aLS_F_711DataGridView.RowCount + 5) * SizeColumn > Panel1.Width ? (aLS_F_711DataGridView.RowCount + 5) * SizeColumn : Panel1.Width, Panel1.Size.Height);
            using (Graphics g = Graphics.FromImage(b))
            {
                g.Clear(PictureBox1.BackColor);
                g.FillRectangle(Brushes.Black, new Rectangle(0, 0, b.Width, b.Height));
                // PanelPicResize();
                System.Drawing.Pen p;

                // Set line Main
                p = new System.Drawing.Pen(Brushes.Pink, 3);
                g.DrawLine(p, SizeColumn, lntMain, b.Width, lntMain);
                g.DrawString(string.Format("{0:0.0000}", vMain), this.Font, Brushes.Azure, 5, lntMain - 5);

                p = new System.Drawing.Pen(Brushes.Yellow, 2);
                //set line down 2SD
                g.DrawLine(p, SizeColumn, lntDwn2SD, b.Width, lntDwn2SD);
                g.DrawString(string.Format("{0:0.0000}", vDwn2SD), this.Font, Brushes.Azure, 5, lntDwn2SD - 5);
                //set line Up 2SD
                g.DrawLine(p, SizeColumn, lntUp2SD, b.Width, lntUp2SD);
                g.DrawString(string.Format("{0:0.0000}", vUp2SD), this.Font, Brushes.Azure, 5, lntUp2SD - 5);

                p = new System.Drawing.Pen(Brushes.Red, 2);
                //set line down 3SD
                g.DrawLine(p, SizeColumn, lntDwn3SD, b.Width, lntDwn3SD);
                g.DrawString(string.Format("{0:0.0000}", vDwn3SD), this.Font, Brushes.Azure, 5, lntDwn3SD - 5);
                //set line Up 3SD
                g.DrawLine(p, SizeColumn, lntUp3SD, b.Width, lntUp3SD);
                g.DrawString(string.Format("{0:0.0000}", vUp3SD), this.Font, Brushes.Azure, 5, lntUp3SD - 5);

                int x1 = 0;
                int y1 = 0;
                int x2 = 0;
                int y2 = 0;
                x1 = SizeColumn;
                x2 = SizeColumn + Convert.ToInt32(SizeColumn / 2.2);
                y1 = lntMain;
                y2 = 0;
                p = new System.Drawing.Pen(Brushes.Blue, 5);
                p.EndCap = System.Drawing.Drawing2D.LineCap.RoundAnchor;
                p.StartCap = System.Drawing.Drawing2D.LineCap.RoundAnchor;
                double c = (lntDwn3SD - lntUp3SD) / (vUp3SD - vDwn3SD);
                if (aLS_F_711DataGridView.RowCount < 1) { return; }
                for (int i = 0; i <= aLS_F_711DataGridView.RowCount - 1; i++)
                {
                    if (i > 0)
                    {
                        x2 = x2 + SizeColumn;
                    }
                    if (aLS_F_711DataGridView[1, i].Value != null)
                    {
                        try
                        {
                            y2 = (int)((ddd * (vUp3SD - (double)aLS_F_711DataGridView[3, i].Value)) + lntUp3SD);
                        }
                        catch { }
                        //y2 = ((int)(ddd * ((vUp3SD - (double)aLS_F_711DataGridView[1, i].Value)) + lntUp3SD));
                      
                        g.DrawLine(p, x1, y1, x2, y2);
                        g.DrawString(string.Format("{0:0.0000}", (double)aLS_F_711DataGridView[3, i].Value) + Environment.NewLine + string.Format("{0:dd/MM/yyyy}", (DateTime)aLS_F_711DataGridView[2, i].Value), this.Font, Brushes.White, x2 + 5, y2);
                        x1 = x2;
                        y1 = y2;
                    }

                }
            }
            PictureBox1.BackgroundImage = b;
            PictureBox1.Size = b.Size;
            // MessageBox.Show("dgdfhgfh");
        }



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 09:14:03 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


เป็นของ C# เดี๊ยวผมขอลองเล่นแปป

มีโค๊ดของ VB ไหมอ่ะครับ

ขอบคุณครับ

ปล. เอ่อพี่ครับ โทดทีๆ โค๊ดของพี่ผมต้องไปใส่ตรงไหนอ่ะครับ หน้า Windows Form เลยรึเปล่าครับ


ประวัติการแก้ไข
2015-01-31 13:58:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 13:35:12 By : vengenz
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : vengenz เมื่อวันที่ 2015-01-31 13:35:12
รายละเอียดของการตอบ ::
แปลง C# to vb
http://www.developerfusion.com/tools/convert/csharp-to-vb/

ส่วนโค้ดใส่เมื่อเราต้องการ refresh กราฟเราครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 14:12:37 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-01-31 14:12:37
รายละเอียดของการตอบ ::
ที่ผมหมายถึงโค๊ดของพี่ให้ใส่ตรงนี้ป่าวครับ

หน้าโค๊ดของ Windows Forms

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 14:41:30 By : vengenz
 


 

No. 7



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


นี่คือหน้าวาดกราฟของผมครับ แล้วจะให้ User ติ๊กเช๊คข้างๆแล้วขึ้น textbox ขึ้นมา แล้วกราฟจะให้วาดบน Panel ด้านข้างอ่ะครับ ผมสามารถใช้โค๊ดของพี่แปลงเป็น VB แล้ใช้ได้เลยไหมครับ

ขอบคุณครับ

หน้าวาดกราฟ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 14:58:51 By : vengenz
 


 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ทำไมไม่มีปุ่ม สำหรับ refresh ข้อมูลละครับ
งั้นเอาเป็นว่าทำตอนที่เราจะสร้างกราฟอ่าครับ
ผมเก็บไว้ในรูป void เพราะมันใช้งานง่าย

รูปแบบ แบบบ้านๆ ของผมคือ
1. เอาข้อมูลที่ได้มาทำเป็น array หรือ list เหมือน excel
2. ประมวลผลว่ามีกี่เส้น
3. เคลียร์ กราฟ
4. สร้างกราฟแต่ละ array

ถ้าถนัดด้าน object control ก็ลองสร้าง class กราฟ ดีกว่าครับมันจะจัดการได้ง่ายกว่า
ลดการเขียนโค๊ดลงไปโขเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 15:44:44 By : lamaka.tor
 


 

No. 9



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ปุ่ม Clear เดี๋ยวผมไว้เพิ่มทีหลังครับผม เพราะโค๊ดมันแยกกันนิครับ

ตอนนี้ผมแค่ต้องการให้ตรง Panel ลากเส้นกราฟได้อ่ะครับ

รบกวนชี้ทางโค๊ดหน่อยครับ

ขอบคุณมากครับ

ปล. ที่พี่บอกเอาข้อมูลที่ได้มาทำเป็น array หรือ list เหมือน excel ผมนี่นึกภาพไม่ออกจริงๆเลยน่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 15:54:11 By : vengenz
 


 

No. 10



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 9 เขียนโดย : vengenz เมื่อวันที่ 2015-01-31 15:54:11
รายละเอียดของการตอบ ::
ผมเอาข้มูลมาจาก database ครับ
ความจริง excel ก็มีรูปแบบข้ลมูลเหมือน array ครับ
จากงานก็น่าจะทำแบบ datagrid ไม่ใช่เหรอครับรึเอาข้อมูลจากที่อื่นครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 16:03:04 By : lamaka.tor
 


 

No. 11



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-01-31 16:03:04
รายละเอียดของการตอบ ::
ต้องทำเป็น Database เลยหรอครับ
ในความคิดผม ทำแค่ว่าวาดกราฟใน Panel แล้วเอาโค๊ดใน Panel ค่อยๆมาเช๊คทีล่ะอย่างๆ
หรือว่า VB ไม่สามารถทำ class มาอ้างคิดได้

ปล. ถ้าทำแบบพี่งี้ผมหนักเลยน่ะ ไม่รู้จะเริ่มยังไงเลย

ปล2. ขอเฟสติดต่อได้ไหมครับ



ประวัติการแก้ไข
2015-01-31 16:13:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 16:10:13 By : vengenz
 


 

No. 12



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 11 เขียนโดย : vengenz เมื่อวันที่ 2015-01-31 16:10:13
รายละเอียดของการตอบ ::
ผมเขียนกราฟที่ได้จาก ฐานข้อมูลpH,Abs,spectro ครับ
ที่ให้ทำเป็น array เพราะว่าง่ายสุดสำหรับทำกราฟครับ
ก็อย่างข้อมูลเราประมาณ 0.231,0.211,0.251,0.265,0.216 ฯลฯ รูปแบบมองยังไงก็เป็น array ครับ

face
mongkon phochaila

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 16:23:30 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการเขียนโปรแกรมสื่อการเรียนการสอนหน่อยครับ โดยใช้ Visual Basic
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่