News/บทความ(VB): ควบคุม Webbrowser ด้วย VB6 ตอน โปรแกรมโพสต์เว็บบอร์ด (read more... แสดงความเห็น?)
(read more... แสดงความเห็น?)
เมื่อ Monday 18 May 09@ 20:07:03 ICT (1932 ครั้ง)
News/บทความ(VB): เขียนโปรแกรมทั้งทีเอาดีให้ได้ (read more... แสดงความเห็น?)
(read more... แสดงความเห็น?)
เมื่อ Wednesday 29 Apr 09@ 11:24:17 ICT (2853 ครั้ง)
News/บทความ(VB): Set/Get html data ด้วย VB6 ต่อ... (read more... )
(read more... )
เมื่อ Tuesday 12 Feb 08@ 21:03:55 ICT (2747 ครั้ง)
News/บทความ(VB): Set/Get html data ด้วย VB6 (read more... )
(read more... )
เมื่อ Monday 04 Feb 08@ 21:27:14 ICT (2736 ครั้ง)
News/บทความ(VB): TimerX ActiveX control (ภาคต่อ class) (read more... )
Anonymous บันทึก "(read more... )"
เมื่อ Tuesday 18 Dec 07@ 21:24:55 ICT (2449 ครั้ง)
News/บทความ(VB): Visual Basic Advance ตอน class หัวใจของ OOP ตอนจบ (read more... )
Anonymous บันทึก "(read more... )"
เมื่อ Wednesday 12 Dec 07@ 22:07:43 ICT (3291 ครั้ง)
News/บทความ(VB): Visual Basic Advance ตอน Class หัวใจของ OOP ตอนที่ 1 (read more... )
Anonymous บันทึก "(read more... )"
เมื่อ Monday 10 Dec 07@ 16:09:29 ICT (4673 ครั้ง)
News/บทความ(VB): Parallel port OCX บายแมงเม่า (read more... )
Anonymous บันทึก " บทความนี้น่าจะเหมาะสำหรับผู้ที่อยากเขียนโปรแกรมผ่านพอร์ตขนานฉบับลัดครับ โดยทั่วไปการเขียนโปรแกรม Visual Basic ควบคุมผ่านพอร์ตขนานค่อนข้างจะสับสนสำหรับมือใหม่ เพราะจะต้องดึงฟังก์ชันที่เก็บอยู่ในไฟล์ IO เช่น inpout32.dll, io.dll หรือ iodll.dll ในที่นี้ขออ้างถึง inpout32.dll เพราะว่านิยมใช้กันมาก ขั้นตอนโดยทั่วไปก็เป็นดังนี้ครับ 1. ดาวโหลดไฟล์ inpout32.dll มาเก็บใน system322. ประกาศฟังก์ชันอินพุตและโพรซีเยอร์เอาท์พุต 3. เรียกใช้ฟังก์ชันอินพุตและโพรซีเยอร์เอาท์พุต เออ ค่อนข้างจะยุ่งยากน่าดู ผมก็เลยจับมารวมใน ActiveX control แล้วสร้างอีเวนต์ (ฟังก์ชัน) 2 ตัวคือ - pout : มีรูปแบบการใช้งาน paraport1.outp &Haddress, data เช่น paraport1.outp &H378, 10- inpt : มีรูปแบบการใช้งาน paraport1.intp &Haddress เช่น MyInput = paraport1.intp (&H379) ก่อนอื่นให้ดาวน์โหลดไฟล์ setup จากลิงค์ฝากไฟล์ 1. ติดตั้ง (Setup) 2. เมื่อติดตั้งเสร็จจะมี shortcut ของโปเจคตัวอย่างบน desktop3. ให้เปิดโปรเจค ไฟล์ paraport.ocx ในโปเจคมีโค้ดดังนี้ Private Sub Command1_Click()paraport1.outp &H378, 1End Sub Private Sub Timer1_Timer()Label1.Caption = paraport1.inpt(&H379)End Sub 4. กดรันและกดสวิตซ์อินพุต(หรือใช้การจัมพ์สายไฟก็ได้) การดีโค้ดสวิตซ์อินพุต ไม่มีการกด 0111 1111 = 127กด S5 0110 1111 = 111 กดปุ่ม command1 แบบนี้การเขียนโปรแกรมควบคุมพอร์ตขนานก็ไม่ยากแล้วใช่ไหมครับ บทความโดย : แมงเม่า(read more... )"
เมื่อ Saturday 15 Sep 07@ 09:35:17 ICT (4298 ครั้ง)
News/บทความ(VB): รับค่าจาก RS-232 ด้วย VB (HW interface ตอนที่1) (read more... )
Anonymous บันทึก "ช่วงนี้มีโอกาสเขียนโปรแกรมควบคุมฮาร์ดแวร์ทั้งพอร์ตขนานและพอร์ตอนุกรมเลยกะว่าจะเอามาลงให้เพื่อน ๆ ได้ลองเล่นตามกันแต่คงไม่ละเอียดมากนักเพราะส่วนใหญ่ท่านผู้เชี่ยวชาญได้นำมาลงไว้หมดแล้ว โดยคาดว่าจะแบ่งออกเป็น 2 ตอนครับ 1. การเขัยนโปรแกรมรับค่าจาก RS-232 จากอุปกรณ์ได ๆ เช่นมัลติมิเตอร์ เป็นต้น2. การเขียนโปรแกรมติดต่อพอร์ตขนานโดยใช้ซับรูทีน portout และฟังก์ชัน portin ในไฟล์ไลบรารี io.dll ผมเลือกตัวนี้แทน inpuot.dll (พัฒนาโดย Jan AxelSon) เนื่องจากมันมีฟังก์ชันให้เล่นมากกว่าน่ะครับ ตอนที่ 1 การเขัยนโปรแกรมรับค่าจาก RS-232 1. ข้อกำหนดพื้นฐานสำหรับการทดลองรับส่งข้อมูลผ่านพอร์ตอนุกรม1.1 การต่อสายลิงค์ข้อมูลระหว่างคอเนคเตอร์ DB9 ตัวเมียกับตัวเมียสามารถส่งข้อมูลระหว่างเครื่องคอมพิวเตอร์ได้(คอนเนคเตอร์ด้านคอมพิวเตอร์จะเป็นตัวผู้)1.2 ถ้าต้องการทดสอบการรับส่งข้อมูลบนคอมพิวเตอร์เครื่องเดียวให้เชื่อมภาคส่ง (Tx) และภาครับ (Rx) โดยการต่อขา 2 และขา 3 ของปลายสายด้านที่ไม่ต่อเข้ากับคอมพิวเตอร์เข้าด้วยกัน1.3 สามารถใช้โปรแกรม Hyper Terminal ทดสอบการรับส่งข้อมูลได้เช่นกัน สำหรับ VB จะมีคอนโทรล Mscomm สำหรับการรับส่งข้อมูลผ่านพอร์ตอนุกรม ซึ่งจะถูกติดตั้งมาแล้วเมื่อลงโปรแกรมแต่จะไม่อยู่ในดีฟอลท์ของทูลบ๊อกซ์ เราจะต้องเพิ่มเข้ามาเองโดยกด ctrl+T ใน VBIDE และเลือก Microsoft Comm Control 6.0 2. ใช้ Hyper Terminal สำหรับการตรวจสอบข้อมูลจากดิจิตอลมัลติมิเตอร์ 2.1 ต่อมิเตอร์เข้ากับพอร์ตอนุกรมของคอมพิวเตอร์ 2.2 ต่อ probe เข้ากับ power supply จากรูป power supply มันรุ่นเก่าครับเลย display ไม่ตรง 5555 มิเตอร์อ่านได้ +15.32 โวลต์ 2.3 กดปุ่ม RS-232 บนมิเตอร์แล้วรันโปรแกรม Hyper terminal ซึ่งในฟอร์แมทนี้เราจะอ่านได้ 21532<40= โดย 2 คือแสดง display แบบ 2 digit 1532 คือแรงดัน 15.32 โวลต์ <40= คือหน่วยวัดแรงดันไฟฟ้ากระแสตรง 3. ทีนี้เราก็มาออกแบบโปรแกรมของเรากันล่ะ Option ExplicitPrivate Sub Form_Load() MSCom.Settings = "2400,N,7,1" 'กำหนด setting ให้ตรงกับ manual ของมิเตอร์ MSCom.RThresholdv = 1 'กำหนดให้เกิด event OnComm MSCom.CommPort = 1 'เลือกพอร์ตEnd Sub Private Sub cmdOpenPort_Click() MSCom.PortOpen = True 'เปิดพอร์ตEnd Sub Private Sub cmdSend_Click()If MSCom.PortOpen Then MSCom.Output = txtSend.Text & vbCrLf 'ส่งค่าจาก txtSend txtSend.Text = "" txtReceive.Refresh txtSend.SetFocusEnd IfEnd Sub Private Sub MSCom_OnComm() 'อันนี้สำคัญมากนะDim buffer As VariantDim msg As IntegerIf MSCom.CommEvent = comEvReceive Then 'ตรวจสอบการมาถึงของข้อมูลโดยการตรวจจาก event comEvReceive buffer = MSCom.Input txtReceive.Text = txtReceive.Text & buffer txtReceive.RefreshEnd IfEnd Sub 4. จากนั้นก็รันโปรแกรม จะเห็นว่าเราจะได้ข้อมูลเหมือนกับการใช้โปรแกรม Hyper Terminal ทีนี้เราก็สามารถนำเอาไปประยุกต์ใช้ในงานต่าง ๆ ได้ เช่นทำเครื่อง auto testing เป็นต้น บางคนอาจจะสงสัยว่ามิเตอร์อาจต้องสุดหรู จริง ๆ ใช้อะไรก็ได้ที่มีเอาท์พุตออกมาจาก RS-232 น่ะครับ มิเตอร์ตัวที่ผมใช้คิดว่าน่าจะประมาณ 3000 บาทไม่เพงเลยครับเมื่อเทียบกับบางเครื่องที่มีความสามารถเช่นเดียวกันแต่ราคาสูงลิบเลย บทความโดย: แมงเม่า(read more... )"
เมื่อ Wednesday 22 Aug 07@ 23:13:14 ICT (11792 ครั้ง)
News/บทความ(VB): การเปรียบเทียบภาพและ motion detection ด้วย Visual Basic (read more... )
Anonymous บันทึก " สืบเนื่องมาจากเรื่องการเปรียบเทียบภาพกับ motion detection ด้วย Visual Basic ครับ ไม่จบไม่สิ้นซักที 5555 วันนี้ผมจะเอาบทความเรื่องการเปรียบเทียบภาพ ลิงค์นี้ อันก่อนมาดัดแปลงครับ เพื่อจุดประสงค์อธิบายเรื่องเปรียบเทียบรูปภาพกับ motion detection ทั้ง 2 ส่วนนี้ผมจะใช้โค้ดเดียวกันครับ ซึ่งหลักการก็มีดังนี้ (ความเข้าใจส่วนตัวอย่าเอาไปอ้างอิงล่ะ) 1.การเปรียบเทียบเทียบรูป อันนี้ต้องเป๊ะ ดังนั้นเราจะต้อง scan pixel ใน scale ที่ละเอียด2.Motion detection เราจะ scan pixel แบบหยาบ ประมาณว่าเปลี่ยนหน่อย ๆ ก็ใช้ได้แล้ว3.รูปเดียวกันมาเปรียบเทียบยังไงมันก็เหมือนกัน ดังนั้นจากโค้ดเดิมผมเปลี่ยนใหม่ดังนี้ (ไม่อธิบายในโค้ดแล้วนะ)1.จาก scan แบบ Do-While เปลี่ยนเป็น For-Next เพราะผมต้องการระยะทางที่แน่นอน เพื่อเอามาซอยหาระยะ (scale) ที่ต้องการ scan เช่น ทุก 10, 50, 100 หรือ 200 pixel เป็นต้น ถ้าไม่กำหนดระยะที่แน่นอนมันจะแบ่งไม่ได้น่ะครับ2.จำนวนจุดที่ต้องการจะเท่ากับความกว้างและความยาวของ picture box หารด้วย scale ที่ต้องการ scan3.จุดที่ต้องการอ่านสีจะต้องคูณด้วย scale ที่ต้องการให้ scan ด้วย เช่น Picture1.Point(x * inten, y * inten) ทบระยะกันไปเรื่อย ๆ4.การโหลดภาพจะใช้การดับเบิลคลิกบน pixture box5.เพิ่มฟังก์ชัน GetTickCount สำหรับจับเวลาการประมวณผลเพื่อหาระยะที่เหมาะสมเทียบกับความถูกต้องที่ได้6.กำหนดขนาด picture box w = 4000, h = 25001.ออกแบบหน้าตา 2.โค้ดของโปรแกรมในโมดูล Function RGB_get(ByVal CVal As Long, r As Long, B As Long, G As Long)G = Int(CVal / 65536)B = Int((CVal - (65536 * G)) / 256)r = CVal - (65536 * G + 256 * B)End FunctionFunction Diff(Result As Integer, R1 As Long, R2 As Long, B1 As Long, B2 As Long, G1 As Long, G2 As Long, Tol As Long)If R1 > R2 + Tol Or B1 > B2 + Tol Or G1 > G2 + Tol Or _R1 < R2 - Tol Or B1 < B2 - Tol Or G1 < G2 - Tol ThenResult = 0 'FalseElseResult = 1 'TrueEnd IfEnd Function ในฟอร์ม Private Declare Function GetTickCount Lib "kernel32" () As LongDim LastTime As LongPrivate Sub Command1_Click()Dim inten As IntegerDim x As Long, y As LongDim c As Long, d As LongDim p1 As Long, p2 As LongDim R1 As Long, B1 As Long, G1 As LongDim R2 As Long, B2 As Long, G2 As LongDim t As Long, r As IntegerDim per As Long, msg As Stringt = Val(Text1.Text)inten = Val(Text2.Text)Picture3.ClsLabel4.Caption = "Scan on X points: " & Picture1.Width / inten & " Scan on Y points: " & Picture1.Height / intenLastTime = GetTickCountFor y = 0 To Picture1.Height / inten - 1 For x = 0 To Picture1.Width / inten - 1DoEventsp1 = Picture1.Point(x * inten, y * inten)p2 = Picture2.Point(x * inten, y * inten)RGB_get p1, R1, B1, G1RGB_get p2, R2, B2, G2Diff r, R1, R2, B1, B2, G1, G2, tIf r = 0 Thend = d + 1Picture3.PSet (x * inten, y * inten), vbBlueElsePicture3.PSet (x * inten, y * inten), vbRedEnd Ifc = c + 1Next xNext yper = 100 - ((d / c) * 100)msg = msg & "RESULTS" & vbCrLfmsg = msg & "=============" & vbCrLfmsg = msg & "Total Pixles Scanned: " & c & vbCrLfmsg = msg & "Total Different Pixles: " & d & vbCrLfmsg = msg & "Total Similar Pixles: " & (c - d) & vbCrLfmsg = msg & "Percent Similar: " & per & " %" & vbCrLfmsg = msg & "Completed in: " & GetTickCount - LastTime & "mS" & vbCrLfIf per > 75 Thenmsg = msg & "The computer has judged this as: SIMILAR"Elsemsg = msg & "The computer has judged this as: DIFFERENT"End IfLabel1.Caption = msgEnd SubPrivate Sub Picture1_DblClick()CommonDialog1.ShowOpenPicture1 = LoadPicture(CommonDialog1.FileName)End SubPrivate Sub Picture2_DblClick()CommonDialog1.ShowOpenPicture2 = LoadPicture(CommonDialog1.FileName)End Sub 3..ดับเบิลคลิกที่ picture box1 เพื่อโหลดภาพรูปแรกเป็นรูปแถบขาวดำส่วนรูปสองเป็นสีขาวทั้งหมด 4. จากนั้นกดเปรียบเทียบ ผมอธิบายผลที่ผมดังนี้จำนวน pixel ที่ scan = 4000/10(picture1.width) * 2500/10(picture1.height) = 4000*2500/100 = 100,000 จุดความถูกต้อง 67 %ใช้เวลา 4032 มิลิวินาที ( 4 วินาทีกว่า) 5. จากนั้นผมเปลี่ยน scale ใหม่เป็นการ scan ทุก 100 pixel ผมได้ผลใหม่ดังนี้จำนวน pixel ที่ scan = 4000/100(picture1.width) * 2500/100(picture1.height) = 4000*2500/10000 = 1,000 จุดความถูกต้อง 65 %ใช้เวลา 31 มิลิวินาที ( 0.0031 วินาที)จะเห็นว่าเวลาการประมวลผลต่างกัน 99.2 % แต่ความถูกต้องลดลง 2.98 % เป็นใคร ๆ ก็เลือกแบบนี้ 5555 ดังนั้นที่ scale 100 เรายังใช้เปรียบเทียบรูปได้ 6. จากนั้นผมเปลี่ยน scale ใหม่เป็นการ scan ทุก 250 pixel ผมได้ผลใหม่ดังนี้จำนวน pixel ที่ scan = 4000/250(picture1.width) * 2500/250(picture1.height) = 4000*2500/(250*250) = 160 จุดความถูกต้อง 69 %ใช้เวลา 16 มิลิวินาที ( 0.0016 วินาที)จะเห็นว่าเวลาการประมวลผลต่างกันไม่มากเทียบกับที่ scale 100 แต่เปอร์เซนต์ผิดพลาดมากว่าดังนั้นเราสามารถเลือก scale 250 สำหรับทำ motion detection ได้ 7. ลองรูปอื่นที่เหมือนกันที่ scale 10 ที่ scale 100 สังเกตุว่ายังไงมันก็เหมือนกันอยู่ดี ผมถึงได้บอกว่าถ้า scan รูปที่เหมือนกันแล้วอ่านมาต่างกันคือทำผิดครับ ลองอีกทีสิที่ scale 10 ที่ scale 100 คิดว่าแจ่มแจ้งพอสมควรนะครับ หุหุบทความโดย: แมงเม่า(read more... )"
เมื่อ Sunday 05 Aug 07@ 10:31:08 ICT (7836 ครั้ง)
News/บทความ(VB): Mask ฟอร์มด้วย ActiveX คอนโทรล (read more... )
แมงเม่า บันทึก "บทความนี้เป็นภาคต่อของ สร้าง MaskForm ด้วย Visual Basic 6.0 แต่ผมเอามาดัดแปลงและยัดใส่คอนโทรลและเพิ่มฟังก์ชันการอ่านสีที่ต้องการ Mask (GetPixel จากตำแหน่ง pointer ปัจุบัน) ว่าแล้วก็เริ่มเลย 1. ดาวน์โหลด ActiveX คอนโทรลจากลิงค์นี้ ดาวน์โหลด2. เปิดโปรแกรม Visual Basic ให้กำหนดขนาดฟอร์มประมาณรูปที่ต้องการ 2. แตกไฟล์ rar จากนั้นให้ก็ออปี้ไฟล์ MaskForm.ocx ไปวางไว้ใน C:WINDOWSsystem323. รีจิสเตอร์ลงใน system32 โดยคลิกที่ Start > run แล้วพิมพ์ regsvr32 "ezVidC60.ocx" 4. โหลดคอนโทรลลงใน tool box 5. ลากไปเพิ่มลงบนฟอร์ม 6. ให้ Insert ภาพที่ต้องการ Mask ลงบนฟอร์ม(สีพื้นของภาพต้องเป็นสีเดียวนะครับ) และให้เพิ่มคอนโทรลลาเบลอีกซักอัน 7. เลือกสีที่ต้องการ Mask โดยเลื่อนเคอร์เซอร์ไปที่สีพื้นจากนั้นก็จำค่าสี Hex code นั้นไว้ จากรูปข้างล่างผมใช้ photoshop ทำสีพื้นให้เป็นสีขาว ถ้าลองเอาเคอร์เซอร์ไปวางตรงสีพื้นก็จะได้ Hex Code 00FFFFFF 8. กำหนดพร็อพเพอร์ตี้ MaskColor เป็น 00FFFFFF หรือจะกำหนดจาก code ก็ได้ Private Sub Form_Load()MaskFormX1.MaskColor = &HFFFFFFEnd Sub 9. ให้เพิ่มโค้ดย้ายสำหรับการฟอร์มดังนี้ (เวอร์ชันต่อไปจะเพิ่มลงในคอนโทรล) Option ExplicitPrivate XPos As LongPrivate YPos As LongPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) XPos = X YPos = YEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then Me.Left = Me.Left - (XPos - X) Me.Top = Me.Top - (YPos - Y) End IfEnd Sub 10. รันโปรแกรม ถ้าไม่ต้องการให้คอนโทรลแสดงบนฟอร์มให้กำหนด visible เป็น false เพียงเท่านี้เราก็มีฟอร์มสวย ๆ หรือทำเป็นฟอร์ม splash ได้แล้วครับ บทความ: แมงเม่า(read more... )"
เมื่อ Sunday 29 Jul 07@ 08:04:30 ICT (3343 ครั้ง)
News/บทความ(VB): Upgrade Visual Basic GUI ด้วย Skincrafter dll (read more... )
Anonymous บันทึก "เราจะ upgrade Visual Basic GUI ให้มีหน้าตาที่ทันสมัย โดยการใช้ Skincrafter 1.8 เป็นเวอร์ชันจะถือว่าเก่าก็ไม่เชิง ถึงแม้ว่า Skincrafter จะแบ่งเป็นหลายรุ่นก็จริง แต่การ support skin ก็แบ่งเป็น 2 กลุ่มเท่านั้นคือ วอร์ชัน 1.x และ 2.x วันนี้เราจะใช้เวอร์ชัน 1 ก่อนแล้ววันหน้าจะเอาเวอร์ชันใหม่ ๆ มาลง Skin ในเวอร์ชัน 2.x 1. ให้ดาวน์โหลดไฟล์ setup และ patch ตามลิงค์นี้ http://www.uploadtoday.com/download/?caefa8ba12d5e31e98a331e9adac7873 2. เมื่อแตกไฟล์ rar แล้วเราก็จะได้ 2 ไฟล์ดังนี้ 3. ให้ติดตั้งไฟล์โดยดับเบิลคลิกที่ SkinCrafter_v1.8.2_Demo.msi จากนั้นก็คลิก ๆ ไปจนเสร็จ4. จากนั้นให้ก็อปปี้ไฟล์ dmsoft.skincrafter.activex.v1.82-patch.exe ไปวางที่ C:Program FilesSkinCrafterSkinCrafter_ActiveX5. กดรันไฟล์ patch จากนั้นก็เสียบหูฟัง ผมชอบเพลงของ team นี้จริง ๆ 5555 มันส์สุดยอด 6. กดปุ่ม patch เพื่อปลดล็อคคอนโทรล 7. ให้รันตัวอย่างจากโฟลเดอร์ C:Program FilesSkinCrafterSample ProjectsVB Project8. รัน Skin โดยเลือกจากโฟลเดอร์ C:Program FilesSkinCrafterSkins จากนั้นก็เลือก Skin ตามใจชอบ เลือก Mechanic นอกจากนี้สามารถดาวน์โหลด Skin เพิ่มเติมได้จากลิงค์ http://www.skincrafter.com/skingal.php ตัวอย่าง Skin ที่ support เวอร์ชัน 1.x เหมือนเคยครับ ไฟล์นี้เหมาะสำหรับการพัฒนาเพื่อการเรียนรู้เท่านั้นนะครับ บทความ: แมงเม่า(read more... )"
เมื่อ Saturday 07 Jul 07@ 08:58:31 ICT (4700 ครั้ง)
News/บทความ(VB): Rapid search engine หาไฟล์ที่ไหนก็เจอ (read more... )
Anonymous บันทึก "ช่วงนี้คึกคักน่าดู วันนี้ผมจะโพสต์โปรแกรมสำเร็จที่ผมเขียนมาจาก VB นะครับ เป็นโปรแกรมง่าย ๆ แต่ได้ผลดีทีเดียว หลักการคือใช้ google search engine หาไฟล์ในเวปไซต์เฉพาะ เช่น rapidshare,megaupload,megashares,เวปแชร์ไฟล์และลิงค์ไฟล์อื่น ๆ ครับ ก่อนอื่นให้ดาวน์โหลดไฟล์ setup มาติดตั้งก่อน แนะนำว่าควรจะเป็น XP เท่านั้นครับ 1. เมื่อติดตั้งแล้วก็สามารถรันไฟล์ RapidSearchEngine.exe 2. Set ค่าอื่น ๆ เช่น domain ของ google,จำนวนไฟล์ที่ต้องการให้แสดง จากนั้นใส่ keyword ที่ต้องการ search เช่นผมต้องการโปรแกรม nod32 3. รอ..... 4. เลือกลิงค์ที่ต้องการ แนะนำว่าลิงค์ของเวป blog ดีที่สุด ส่วนใหญ่จะเป็นไฟล์ full และไม่มี spyware 5. เปิดลิงค์เข้าไป check หาไฟล์ที่ต้องการ 6. จากนั้นก็ดาวน์โหลดลิงค์ 7. ลองดาวน์โหลดไฟล์อื่น ๆ เช่นผมหา activex control ของ codejock เวอร์ชันล่าสุด ++++ตัวอย่าง screenshot โปรเจค VB++++ 8. ผมก็ลอง search โดยใช้ keyword codejock activex 9. เปิดลิ้งค์เพื่อดาวน์โหลด(สังเกตว่าไปหาในเวปจีนนู่น) 10. ข้อแนะนำครับว่า 10.1 ถ้าจะหาไฟล์ในประเทศไทยให้ใช้โดเมน co.th 10.2 ถ้าจะหาไฟล์ทั่วไปให้เลือก check box under groud ออก เพราะการเลือก check box ผมให้ search เฉพาะบางเวปเท่านั้น 10.3 การค้นหาไฟล์ถ้าต้องการ result มาก ๆ ควรตั้งค่า result ไว้ที่ 50 หรือ 100 10.4 ควรใช้โดเมน .com สำหรับการหาไฟล์แบบทั้วไป 10.5 สามารถหาไฟล์ เพลง หนัง และเกมได้ 10.6 ไม่ควรเข้าเวปที่มีการออกตัวอย่างโจ่งแจ้งว่า hack,crack,keygen เพราะพวกนี้จะมีไวรัสและspyเยอะ 10.7 ถ้าเครื่องโดนไวรัสแล้วเสียหาย อันนี้ตัวใครตัวมันนะครับ บทความโดย:แมงเม่า(read more... )"
เมื่อ Sunday 20 May 07@ 00:02:10 ICT (5833 ครั้ง)
News/บทความ(VB): อ่านตัวอักษร(text)จากรูป(image)ด้วย ocr.dll (read more... )
Anonymous บันทึก "ไม่ได้โพสต์โปรแกรมมิ่งซะนานเลยครับ วันนี้จะเขียนโปรแกรมอ่าน text หรือ barcode จากไฟล์รูปภาพออกมาในรูปของตัวอักษร(text) ดัวย ocr.dll ก่อนอื่นขอเกริ่นซักหน่อยว่าเทคนิคของการเขียนโปรแกรมแบบเพียว ๆ ที่ดึงตัวอักษรจากรูปภาพมาเป็น text เรียกว่าเทคนิค OCR - Optical character recognition ดูความหมายและประวัติของโอซีอาร์ในสารานุกรมวิกิพีเดีย หลักการคร่าว ๆ ตามความหมายของโปรแกรมมิ่งนะครับ1. นำภาพตัวอักษรมาแบ่งสเกลเล็ก ๆ(รูปขาวดำดีที่สุด)2. ตั้งค่า format มาตรฐานของตัวอักษรแต่ละตัว 3. นำรูปตัวอักษรที่ต้องการมาหาจุดสีตามสเกล4. นำ format ที่ได้มาเปรียบเทียบกัน ถ้าเข้ารูป format ไหนก็ถือว่าเป็นอักษรตัวนั้น ๆ การเขียนโปรแกรมก็ไม่ง่ายซะทีเดียว ดังนั้นใช้ทางลัดดีที่สุด555 ActiveX ที่ผมเอามาในเล่นเป็น shareware ที่ถูกปลดล็อค(crack)แล้วใช้ได้ไม่จำกัด แต่จุดประสงค์ผมคือให้นำไปศึกษาครับ มะควรเอาไปใช้ในงานส่วนตัว เริ่มเขียนโปรแกรม1. ให้ดาวน์โหลด dll ไฟล์ 3 ตัวไปวางในโฟลเดอร์เดียวกับโปรเจค ที่นี่ 2. สร้างฟอร์มดังรูป 2. เขียนโค๊ด Option Explicit Private Declare Function OCR Lib "OCR.dll" (ByVal file As String, ByVal imageType As Long) As StringPrivate Declare Function OCRBarCodes Lib "OCR.dll" (ByVal file As String, ByVal imageType As Long) As StringPrivate Declare Function OCRpart Lib "OCR.dll" (ByVal file As String, ByVal imageType As Long, ByVal startX As Long, ByVal startY As Long, ByVal width As Long, ByVal height As Long) As String Private Sub Command1_Click()Dim sText As StringDim sFile As String sFile = App.Path & "img est8.png" sText = OCR(sFile, -1) 'OCR(ImagePath , imageFileType) txtdisplay.Text = sTextEnd Sub 3. ในที่นี้ผมโหลดรูป test8.png จากโฟล์เดอร์ imgรูปนี้ครับ 4. จากนั้นก็รันโปรเจค ก็จะได้ตัวอักษรที่มาจากรูปภาพจากนั้นก็ตรวจสอบว่าถูกต้องทั้งหมดหรือไม่ 5. ทีนี้ผมลองใช้รูปบาร์โค๊ดครับ (คอนโทรลตัวนี้มีฟังก์ชันอยู่แล้ว) 6. รันโปรเจค ลองดัดแปลงเป็น application เช่นการอ่านหมายเลขจากการ์ดหรืออ่านบาร์โค๊ดแบบอื่น ๆ บทความโดย:แมงเม่า(read more... )"
เมื่อ Monday 07 May 07@ 20:12:19 ICT (10625 ครั้ง)
News/บทความ(VB): โปรแกรมคลิก ๆ แล้วได้ตังค์... (read more... )
Anonymous บันทึก "ไม่ได้เข้ามาซะนาน วันนี้ไม่ได้มาแนะนำเขียนโปรแกรม แต่จะเอาโปรแกรมที่ทำไว้มาลงให้ดาวน์โหลดเล่น (ถ้าสนใจนะ) เป็นโปรแกรมที่ผมทำไว้เมื่อต้นปีเอามาลงที่วราทีนึงแล้ว แต่เงียบหายไปเลยไม่รู้ว่าเวปมาสเตอร์ได้รับหรือเปล่า พอดีเมื่อวันก่อนมีน้องคนนึงเขียนเมล์มาขอโปรแกรม auto click เอาไปคลิกหาเงินทางอินเตอร์เนต ไหน ๆ ก็ไหน ๆ แล้วก็เอามาลงที่นี่จะได้เอาไปใช้กันได้หลาย ๆ คน แต่จะได้ตังค์หรือเปล่าผมก็ไม่รู้นะ ผมลองหาตัวอย่างที่น่าจะเชื่อถือได้มาก็มีของ Google AdSense ลองดูกันเองครับ ถ้าได้เอามาแบ่งกันก็ดี 5555 search จาก google: อันนี้เป็นรูป check ที่ว่าได้กันจริง ๆ(หรือเปล่า) ส่วนนี่ก็รูปโปรแกรมป๋มเอง ดาวน์โหลดโปรแกรม http://fileho.com/download/24f8ed700324/setup.zip.html ผมคิดว่าต้องลง VB6 runtime ด้วยครับจะรันโปรแกรมนี้ได้ http://www.thaiware.com/main/info.php?id=3214 บทความ:แมงเม่า(read more... )"
เมื่อ Sunday 29 Apr 07@ 11:31:53 ICT (5673 ครั้ง)
News/บทความ(VB): แปลงโฉม VB6 ให้เป็น XP ใช้ OsenXPsuite2004 (read more... )
Anonymous บันทึก " วันนี้จะแนะนำการใช้ XP ActiveX control ของ OsenXPsuite แบบ Full registered สำหรับ visual basic6 ไฟล์ตัวนี้ผมเพิ่งได้มาเมื่อประมาณกลางปีก่อนจากเวปใต้ดิน(ไปอยู่ใต้ดินไงหว่า) ผมอัพโหลดไว้ที่ลิงค์นี้ครับ http://rapidshare.com/files/14971505/Distribute_to_WARA.rar เมื่อดาวน์โหลดมาแล้วให้ extract ด้วย password "www.wara.com"เมื่อ extract มาแล้วก็จะมีไฟล์ดังรูป ให้ดับเบิลคลิก importme.reg เพื่อ register serial key ให้ลอง check จาก registry window ก็จะมี serial ที่ register เข้าไป จากนั้นก็ register activeX เข้าสู่ system32 แค่นี้ก็เป็นอันเรียบร้อย ต่อไปก็ทดลองเพิ่มคอมโพเน้นต์ในโปรเจค ก็จะปรากฎโคนโทรลต่าง ๆ ดังรูป จากนั้นก็กลับมาที่ตัวอย่างโปรเจคที่ผมแนบไปด้วยก็มีอยู่ 4 ตัวอย่าง(ดาวน์โหลดไปใช้เลยง่ายดี) ตัวอย่าง: Listbox demo ให้รันโปรเจคแล้วก็ทดลองคลิก ๆ ให้ได้ตามรูป design time: รันดูสิ1: แสดง WinXP blue (สังเกตุว่าโปรเจครันบน win9x environment) รันดูสิ2: แสดง WinXP Olive green รันดูสิ3: แสดง WinXP silver ตัวอย่าง: Msgbox demo ให้รันโปรเจคแล้วก็ทดลองคลิก ๆ ให้ได้ตามรูป design time: รันดูสิ1: รันดูสิ2: ตัวอย่าง: Menu popup demo ให้รันโปรเจคแล้วก็ทดลองคลิก ๆ ให้ได้ตามรูป design time: รันดูสิ1: ตัวอย่าง: Barcode demo ให้รันโปรเจคแล้วก็ทดลองคลิก ๆ ให้ได้ตามรูปโปรเจคนี้น่าสนใจเพราะจะแนะนำการใช้ MyAdoc design time: รันดูสิ1: รันดูสิ2: เรียกฐานข้อมูล รันดูสิ3: ทดสอบ sql รันดูสิ4: สร้าง barcode list รันดูสิ4: สร้าง barcode แค่นี้แหละ ดูเหมือนจะยากแต่โค๊ดไม่กี่บรรทัดเพราะตัว active support ให้แล้ว Let's fun! บทความ: แมงเม่า (read more... )"
เมื่อ Monday 05 Feb 07@ 14:33:50 ICT (4537 ครั้ง)
News/บทความ(VB): แปลงโฉม VB ในรูปแบบ XP (read more... )
Anonymous บันทึก "อีก 3 วันก็จะเข้าสู่ปีใหม่ 2550 แล้วเย้ว ๆๆๆ แต่วันนี้ผมก็ยังมาทำงานอยู่(คนอื่นเค้าลากันไปหมดแล้ว(' *|) ว่าง(มาก)เลยลองค้นโปรเจคเก่า ๆ ดูในคอมจะเอามาโพสต์ก็เจอคอนโทรล 2 ตัวที่น่าสนใจ(แต่ยังมีอีกเยอะนะ5555) เป็นคอนโทรลที่ทำให้ VB ที่ไร้เดียงหน้าตาแบบ window เก๋ากึ๊กให้ upgrade ขึ้นมาเป็น WinXP ซึ่งดูดีกว่ากันเยอะ คอนโทรล 2 ตัวนี้ผมคอมไพล์มาจากไฟล์ ctl แล้วก็เอามาสับ ๆ หั่น ๆ รวมกัน ตัวแรก: WinXPC Engine.ocx คอนโทรลตัวนี้มันจะ map คอนโทรล Win9x ให้เป็น XP อีกต่อเมื่อมีการรันโปรเจค แต่มันไม่ map ฟอร์ม ดังนั้นผมก็เลยหาอีกตัวมาช่วยตัวสอง: SENXPCTL.ocx ตัวนี้สำหรับฟอร์มและปุ่ม(button) ซึ่งทำเป็น XP แล้วดังนั้นแค่แดรกลงบนฟอร์มก็จะแสดงเป็น XP เลย ผมฝากไฟล์ คอนโทรล 2 ตัว(ผมรีเนมเป็น *.oca กันพลาด) + โปรเจค source code ไว้ที่ http://www.uploadtoday.com/download.php?06a485a10d34c01cb5e32bfca2df7bbc ไฟล์ฝากได้ 3 เดือนแค่นั้นนะครับเกินกว่านั้นจะถูกลบทิ้ง การใช้คอนโทรล1. เมื่อดาวน์โหลดมาแล้วก็เอาไปแหมะที่ C:WINDOWSsystem32 แล้วก็ register 2. โหลดตัว WinXPC Engine.ocx มาทดลอง 3.แดรกคอนโทรลมาวางบนฟอร์ 4. ดับเบิลคลิกบนฟอร์มแล้วพิมพ์ตามโค๊ด 5. จากนั้นก็เอาคอนโทรลจิปาถะมาวาง 6. ทีนี้ก็กดปุ่มรันโปรเจคจะได้ผลลัพท์ดังรูปว่ามันเป็น XP ไปบางส่วนแล้ว 7. สังเกตว่าฟอร์มันไม่ยักกะเปลี่ยน เราก็ต้องหาตัวช่วยอีกตัวสิ(ของฟรีก็ลำบากหยั่งงี้แหละ) ให้โหลดคอนโทรลของเราอีกตัวเข้ามา 8. จากนั้นก็แดรกคอนโทรลฟอร์ม(รูปดาว)ไปวางบนฟอร์ม จะมีฟอร์มเครดิตเล็กๆขึ้นมาให้ดูเล่นๆ(ถ้าใครไม่ชอบวันหลังผมจะเอาออกให้) 9. ขยายให้เต็มคอนโทรล จากนั้นก็รันโปรเจคอีกทีก็จะได้ตามรูปซึ่งเป็น Win9x ในคราบ XP 555 10. เนื่องจากคอนโทรลตัวนี้จะมีปุ่ม(button) มาให้ด้วย สามารถ add icon สวยๆ ได้ด้วยผมจึงขอเอาปุ่มของเดิมออกแล้วเอาตัวนี้ไปวางแทนจากนั้นคลิกขวาเลือก properties 11. จะมี icon มากมายให้เลือกและรูปแบบว่าต้องการให้วางแบบไหน 11. เอาเพิ่มอีกปุ่ม 12. จากนั้นก็กดปุ่มรันโปรเจค ก็จะได้โปรเจคสวยๆ แบบนี้ไง 13. โปรเจคนี้ผมได้แนบ source กับไฟล์ที่ให้ดาวน์โหลดมาตอนแรกแล้วครับ 14. ลองรันโปรเจคสังเกต theme ข้างหลังจะเป็น Win9x แต่โปรเจคเราจะแสดงเป็น XP 15. พวก message หรือ input box ก็จะเป็น XP เหมือนครับ ทั้งหมดก็มีแค่นี้แล ขอให้มีความสุขปีใหม่ 2550 ครับ บทความโดย: แมงเม่า(read more... )"
เมื่อ Thursday 28 Dec 06@ 15:18:33 ICT (6521 ครั้ง)
News/บทความ(VB): improvement เวปแคมกับ OOP ด้วย Visual Basic 6.0 (read more... )
แมงเม่า บันทึก "จริง ๆ ชื่อบทความกับเนื้อหาจะไม่ค่อยตรงกันเท่าไหร่ มันค่อนข้างเน้นหนักไปทางเวปแคมมากกว่าการรู้จัก OOP แต่ไม่รู้จะเสนอเรื่องอะไรดี 555 โดยทั่วไปการเรียน OOP ก็จะมีตัวอย่างที่คลาสสิกเช่น student class หรือ profile class ซึ่งอาจารย์หรือโปรแกรมเมอร์ส่วนใหญ่มักเอามานำมาเป็นตัวอย่าง(ไม่รู้ทำไมเหมือนกัน 555) ใครที่ยังไม่รู้ว่า OOP มันคืออะไรก็เข้าไปอ่านบทความของคุณ anuwat โพสต์ไว้ตามลิ้งนี้ครับ http://www.wara.com/modules.php?name=News&file=article&sid=225&mode=&order=0&thold=0 ไหน ๆ ผมโพสต์เรื่องเวปแคมไปตั้งหลายครั้งแล้ว ก็เลยเอาเรื่องนี้มาโพสต์อีกทีและก็เอาโค้ดมาปรับปรุ่งนิดหน่อย และทำเป็น class module เพื่อที่ให้คนที่ไม่ชอบเขียนโค้ดยาว ๆ เอาไปใช้ได้เลยตัวอย่างโปรเจค motion detection (http://www.wara.com/modules.php?name=News&file=article&sid=439&mode=&order=0&thold=0) ผมใช้ timer รับภาพจากคลิปบอร์ดทำให้ภาพที่แสดงบน picture box ค่อนข้างดีเลย์เพราะมันทำงานหลายต่อ ส่วนโปรแจคตัวนี้ ให้มันดึงภาพจาก api โดยตรงทำให้ภาพที่ได้จะค่อนข้าง real time(>25 fps) เริ่มโปรเจค 1. เปิดโปรเจคใหม่แดรก picture box และ command button 2 ตัวมาวางบนฟอร์ม 2. เพิ่ม bas module,class module และตั้งชื่อให้ตรงโค้ด หรือใครจะใช้ default ก็ได้ครับ 3. ใน bas module ให้พิมพ์โค้ดตามนี้ครับ 4. ส่วนนี่ก็โค้ดใน class module 5. สุดท้ายก็โค้ดในฟอร์ม 6. เสร็จแล้วครับ ต่อไปก็ทดลองรันโปรเจค 7. สังเกตว่าภาพที่แสดงบน picture box จะค่อนข้างใกล้เคียงกับการเคลื่อนไหวจริงมากกว่าการใช้วิธีการวนลูปของ timer เป็นไงครับเจ๋งสุด ๆ 5555 บทความโดย: แมงเม่า(read more... )"
เมื่อ Monday 13 Nov 06@ 15:21:04 ICT (5953 ครั้ง)
News/บทความ(VB): ทำคอนโทรลให้โปร่งใส ด้วย Visual Basic 6.0 (read more... )
Anonymous บันทึก "โปรเจคนี้ผมโพสต์ในเวปบอร์ด thaiio เมื่อปีก่อน(ลิงค์นี้กั๊บ http://thaiio.com/forum/viewtopic.php?t=1315&postdays=0&postorder=asc&start=30) เป็นการทำให้คอนโทรลของ visual basic มีลักษณะโปร่งใส น่าสนใจดีมั้ยครับ 555 ออกแบบโปรเจค 1. เอาคอนโทรลมาวางบนฟอร์ม ก็แล้วแต่ว่าใครจะออกแบบยังไง 2. เพิ่มฟอร์มโมดูล แล้วพิมพ์โค้ดข้างล่างนี้ครับ 2.1 ส่วนการประกาศ 2.2 ส่วนของฟังก์ชัน 3. ที่หน้าต่างฟอร์มให้พิมพ์โค้ดข้างล่าง 4. ทดสอบรันโปรแกรม ทดสอบที่ bAlpha = 50 ทดสอบที่ bAlpha = 120 ทดสอบที่ bAlpha = 200 ง่าย ๆ แค่นี้ก็ทำฟอร์มให้สวย ๆ ได้แล้วครับ บทความโดย: แมงเม่า(read more... )"
เมื่อ Saturday 11 Nov 06@ 13:30:20 ICT (5430 ครั้ง)
News/บทความ(VB): การใช้คอมพิวเตอร์กับเสียง ตอนที่2(Visual basic6.0) (read more... )
แมงเม่า บันทึก "ตอนที่สองค่อนข้างจะสั้นก็เลยขอทบทวนเรื่องการ training เพิ่มเติมกันจั๊กหน่อย ก่อนการเขียนโปรแกรม เอ้า! เริ่มเรยยละกัน 1. คลิกขวาที่ icon ของ MS voice เลือก optional training 2. จะมี dialog ของบทความให้เลือกอ่าน เลือเอาซักอันละกัน 3. เมื่อปรากฎ dialog ก็คลิกต่อไป 4. เมื่อปรากฎ dialog ของบทความขึ้นมาก็ให้อ่านจนจบ เหมือนตอนที่1 ครับ เริ่มเขียนโปรแกรม5. เปิดโปรเจคใหม่ 6. เพิ่มคอมโพเน้น Direct speech recognition engine 7. จะปรากฎคอมโพเน้นท์รูปหูบน toolbar 8. แดรกคอมโพเน้นลงบนฟอร์ม 9. แดรก command button มาวางบนฟอร์ม เอามาใช้ simulation ครับไม่ค่อยเกี่ยวกับโปรเจคเท่าไหร่ 10. rename คอมโพเน้น ใช้ชื่ออะไรก็ได้ หรือจะใช้ default ก็ได้ครับ 11. สร้างแกรมมาไฟล์(ใน notepad) แล้วบันทึกชื่อ gramma.txt เก็บไว้ที่โฟลเดอร์เดียวกับโปรเจค 12. เขียนโปรแกรม สั้น ๆ ครับ 13. เสร็จแล้วก็รันโปรแกรมครับ ตัวอย่างผมพูดว่า OK เห็นไหมครับ ง่ายนิดเดียว 555 บทความโดย: แมงเม่า(read more... )"
เมื่อ Friday 03 Nov 06@ 20:00:34 ICT (4422 ครั้ง)
|
[ 1 | 2 ] ![]() |

