| ดูกระทู้ก่อนนี้
:: ดูกระทู้ถัดไป
|
| ผู้ส่ง |
ข้อความ |
voyager
เข้าร่วมเมื่อ: 18 สค. 2005 ตอบ:
68 ที่อยู่: เชียงใหม่
|
ตอบ: พ. สค. 24, 2005 2:17
pm ชื่อกระทู้:
ห้องVBส่วนตัวของแมงเม่า |
 |
|
กระทู้เกี่ยวกับ visual basic 6.0 ทั้งที่เป็น hardware
interface หรือ miscellaneous ถ้าไม่มีใคร post ก็จะมา post เอง
555555 มีเรื่องราวหลากหลายทิป เทคนิคที่เพื่อนๆสามารถนำไปประยุกต์ใช้ในการพัฒนาโปรแกรมได้ไม่ว่าจะเป็นด้าน vision,webcam, การเขียนโปรแกรมติดต่อ Hardware และ Network โดยใช้VB,VC+ รวมถึง โครงงาน คอมพิวเตอร์เชื่อมต่ออุปกรณ์ภายนอกการเขียนโปรแกรมด้วย วิชวลเบสิก(visual basic),วิชวลซี(visual C++assembly และ ไมโครคอนโทรลเลอร์ เพื่อ ควบคุม หรือ เชื่อมต่อสื่อสาร ฮาร์ดแวร์ รวมถึงการเขียนโปรแกรมผ่าน winsock,API
| |
| กลับไปข้างบน |
|
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. มค. 23, 2006 8:32
pm ชื่อกระทู้:
|
 |
|
เมื่อวันอาทิตย์ที่ผ่านมาได้ไปจัดงานวันเด็กให้น้อง
ๆ ที่โรงเรียนตำรวจตระเวนชายแดนที่แม่แจ่มก็เลยขอเอารูปมาลง
ออกจากหอพักบริษัท
พักเติมพลังที่ปตท.แม่แจ่ม
ถึงซะที
ทั้งโรเรียนก็มีอยู่แค่นี้แหละ
ได้เวลาหม่ำ
แม่งานที่แสนดี
แกล้งน้อง
ธิดาดอย
บ้องแบ๊ว
 | |
| กลับไปข้างบน |
|
 |
piggyครับ บุคคลทั่วไป
|
ตอบ: พฤ. มค. 26, 2006
7:12 pm ชื่อกระทู้:
ใช้VBติดต่อODBCยังไงครับ |
 |
|
ผมต้องการใช้Comboboxเพื่อเรียกดูข้อมูลทั้งหมดผ่านODBCที่เขียนโดยMySQLครับ
ผมใช้DbDataเป็นตัวเรียกข้อมูลแต่ในช่องconnectมันไม่มีSQLครับไม่ทราบว่าจะดึงข้อมูลยังไงครับ(Accessมันใช้ได้นะครับ)จะใช่objectตัวใหนครับ | |
| กลับไปข้างบน |
|
 |
komate
เข้าร่วมเมื่อ: 01 พค. 2004 ตอบ:
4
|
ตอบ: อาทิตย์ มค. 29, 2006
7:17 pm ชื่อกระทู้:
remote ควบคุมแทนคีย์บอร์ด |
 |
|
คือรับทางrs232
ได้มาแล้วเป็นเลข2ตัว จะทำอย่างไรครับให้มันทำงานแทนคีย์บอร์ด
และรันตลอดเวลาแม้จะเปิดโปรแกรมอื่นอย่างงัยครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อาทิตย์ มค. 29, 2006
9:59 pm ชื่อกระทู้:
|
 |
|
แนะนำเวปฟังเพลง online
ขอผ่าน MSN
http://www.sawasdeejj.com/
ถ้าใครไม่เข้าไม่ต้องตอบคำถามให้(DJ เค้า
requestมา) | |
| กลับไปข้างบน |
|
 |
parapata
เข้าร่วมเมื่อ: 13 มค. 2006 ตอบ:
2
|
ตอบ: จ. มค. 30, 2006 3:52
pm ชื่อกระทู้: ขอโค๊ด
vb ควบคุม portprinter คุมไฟ led |
 |
|
พี่ครับครั้งที่แนะนำผมครั้งนั้น
ผมนำโค๊ดที่แนะนำไป แก้ไขใช้ได้ครับ
แต่ผมก็ยังติดที่หนึ่งครับเป็นส่วนของสวิตซ์ครับ คือว่า
เมื่อ กดสวิตซ์ไฟแล้ว ไฟที่หลอด LED มันติด
แต่ถ้าหากปล่อยก็จะดับ และถ้าหากกดสวิตซ์พร้อมกันหลายตัว
ไฟที่หลอด LED มันก็จะไม่ติด ไม่รู้จะทำยังไงครับเพื่อที่จะทำให้
เวลาที่กดสวิตซ์ลงไปแล้วไฟที่หลอด LED จะติด
และเวลาปล่อยก็ยังติด
แต่ถ้าหากเรากดที่สวิตซ์ตัวเดิมหลอดไฟก็จะดับ และที่สำคัญคับ
จะทำยังไงให้หลอดแต่ละตัวแยกการทำงานกันเป็นอิสระ
ไม่ว่าจะกดสวิตซ์ที่ 1 ติด ที่ 3 ติด และที่ 4 ติด และเวลากดปิด
หลอดที่ 3 ดับ หลอดที่4 ดับ เป็นต้นคับ ช่วยหาให้ผมที่นะครับ
ขอบคุมครับพี่แมงเม่า | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: จ. มค. 30, 2006
10:01 pm ชื่อกระทู้:
|
 |
|
รบกวนพี่แมงเม่าอีกรอบครับ
จากคำถามที่ผมถามไว้ในความเห็นที่ http://thaiio.com/forum/viewtopic.php?p=3313#3313
และที่พี่ช่วยเข้ามาตอบ http://thaiio.com/forum/viewtopic.php?p=3338#3338
ตอนนี้ผมพอจะเข้าใจเกี่ยวกับการตั้งชื่อเป็นวันที่แล้ว
ที่ยังไม่เข้าใจคือ 1. การเซฟรูปภาพครับ
ต้องใช้คำสั่งอะไรถึงจะเซฟรูปภาพได้
เพราะจากที่ผมเอาโค้ดของพี่ไปลอง
ปรากฏว่าไม่มีส่วนคำสั่งการเซฟรูป แต่มีปุ่มสำหรับเซฟไว้ด้วย
2. การเซฟที่เอาเวลาที่เซฟมาเป็นชื่อไฟล์ใช้หลักการเดียวกับ
คำตอบที่พี่มาตอบไว้รึป่าวครับ ช่วยอธิบายที
รบกวนพี่ช่วยตอบคำถามผมอีกซักรอบนะครับ
ขอบคุณมากครับผม | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. มค. 31, 2006 1:35
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
| กดสวิตซ์ลงไปแล้วไฟที่หลอด LED จะติด
และเวลาปล่อยก็ยังติด
แต่ถ้าหากเรากดที่สวิตซ์ตัวเดิมหลอดไฟก็จะดับ |
1. กำหนดให้ caption ของปุ่มกดเป็น "ON"
และ "OFF" ให้เปลี่ยนสลับกันทุกครั้งที่มีการกด เช่น
Static i As Integer i = i + 1 i = i Mod 2
With Cmd1 If i <> 0 Then .Caption = "ON"
Else .Caption = "OFF" End If
แล้ว select
case ของ caption เช่นถ้า "ON" ให้ out 01 และ "OFF" ให้ out
00
| คำพูด: |
| และที่สำคัญคับ
จะทำยังไงให้หลอดแต่ละตัวแยกการทำงานกันเป็นอิสระ
ไม่ว่าจะกดสวิตซ์ที่ 1 ติด ที่ 3 ติด และที่ 4 ติด
และเวลากดปิด หลอดที่ 3 ดับ หลอดที่4 ดับ
เป็นต้นคับ |
2. ใช้ตรรกะ AND เพื่อเปรียบเทียบ output
ให้เอา output มาเปรียบเทียบบิตต่อบิต
Bit1 =
Inp(PortAddress) And &H1 Bit2 = Inp(PortAddress) And
&H2 Bit3 = Inp(PortAddress) And &H4 Bit4 =
Inp(PortAddress) And &H8
เมื่อมา And
กันแล้วค่าที่ได้ก็จะไม่มีผลกับ output อื่น ๆ
If Bit1 =
&H1 Then led0.BackColor = vbRed Else
led0.BackColor = vbWhite End If
'++++++++++++++++++ If Bit2 = &H2 Then
led1.BackColor = vbRed Else led1.BackColor =
vbWhite End If '++++++++++++++++++ If Bit3 =
&H4 Then led2.BackColor = vbRed Else
led2.BackColor = vbWhite End If
'++++++++++++++++++ If Bit4 = &H8 Then
led3.BackColor = vbRed Else led3.BackColor =
vbWhite End If | |
| กลับไปข้างบน |
|
 |
บุคคลทั่วไป
|
ตอบ: อ. มค. 31, 2006 1:40
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
1. การเซฟรูปภาพครับ
ต้องใช้คำสั่งอะไรถึงจะเซฟรูปภาพได้
เพราะจากที่ผมเอาโค้ดของพี่ไปลอง
ปรากฏว่าไม่มีส่วนคำสั่งการเซฟรูป
แต่มีปุ่มสำหรับเซฟไว้ด้วย |
SavePicture imgsrc.Picture,
SystemDirectory & "\Pic_name.jpg"
| คำพูด: |
2.
การเซฟที่เอาเวลาที่เซฟมาเป็นชื่อไฟล์ใช้หลักการเดียวกับ
คำตอบที่พี่มาตอบไว้รึป่าวครับ
ช่วยอธิบายที" |
ใช่แล้ว | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. มค. 31, 2006 1:43
pm ชื่อกระทู้:
|
 |
|
Save ใน Location เดียวกับ
Project
SavePicture imgsrc.Picture, App.path &
"\Pic_name" & counter & ".jpg" | |
| กลับไปข้างบน |
|
 |
birdcom13 บุคคลทั่วไป
|
ตอบ: อ. มค. 31, 2006 7:51
pm ชื่อกระทู้:
ถามเรื่อง Data Report โชว์กระดาษ A4 |
 |
|
:wink: ผมทำเรื่องระบบ
Barcode ห้องสมุด โปรเจ็คนะครับ ให้ทำ barcode output
หลายตัวๆนะครับ ขอขอบคุณล่วงหน้านะครับ :oops: | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: ส. กพ. 04, 2006 6:57
am ชื่อกระทู้:
|
 |
|
ต้องกลับมาอีกรอบครับ
คือผมตามที่พี่แนะนำนะครับ โดยเขียนโค้ดแบบนี้
| คำพูด: |
Private Sub cmdSave_Click()
SavePicture imgsrc.Picture, App.path &
"\Pic_name" & counter & ".jpg" Counter =
Counter + 1 End Sub
|
แรากฏว่าไม่ได้เลยลองแบบนี้ดู
| คำพูด: |
Private Sub cmdSave_Click() Dim bm
As Image SendMessage hHwnd, WM_CAP_EDIT_COPY, 0, 0
ClosePreviewWindow picCapture.Picture =
Clipboard.GetData CommonDialog1.CancelError = True
CommonDialog1.FileName = "Webcam1"
CommonDialog1.Filter = "Bitmap |*.bmp|JPEG |*.jpeg"
On Error GoTo NoSave CommonDialog1.ShowSave
SavePicture picCapture.Image, CommonDialog1.FileName
NoSave: cmdStop.Enabled = False
cmdSave.Enabled = False cmdStart.Enabled = True
End Sub |
ก็ไม่ได้อีกเช่นกัน พี่ๆ
ช่วยดูโค้ดให้ผมหน่อยนะครับ
ผมไม่ค่อยมีความรู้ด้านเขียนโปรแกรมซักเท่าไหร่
รบกวนพี่ๆ แนะนำให้ทีนะครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: ส. กพ. 04, 2006
11:40 am ชื่อกระทู้:
|
 |
|
| น้องติดต่อกล้องได้รึเปล่า
ถ้าได้ ทั้ง 2 วิธีก็ใช้ได้ | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: ส. กพ. 04, 2006 9:03
pm ชื่อกระทู้:
|
 |
|
ผมติดต่อกล้องได้ครับพี่
กดปุ่ม Start ภาพก้อมา กด Stop ภาพก้อหาย
แต่กดปุ่มเซฟแล้ว debug ขึ้นทุกที
เด่วผมเอาโค้ดที่ผมทำให้ดูนะครับ
| คำพูด: |
Const WM_CAP As Integer = &H400
Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP + 10
Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP + 11
Const WM_CAP_EDIT_COPY As Long = WM_CAP + 30
Const WM_CAP_SET_PREVIEW As Long = WM_CAP + 50
Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP + 52
Const WM_CAP_SET_SCALE As Long = WM_CAP + 53
Const WS_CHILD As Long = &H40000000 Const
WS_VISIBLE As Long = &H10000000 Const SWP_NOMOVE
As Long = &H2 Const SWP_NOSIZE As Integer = 1
Const SWP_NOZORDER As Integer = &H4 Const
HWND_BOTTOM As Integer = 1
Dim iDevice As Long '
Device ID Dim hHwnd As Long ' Handle to preview
window
Private Declare Function SendMessage Lib
"user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal
wMsg As Long, ByVal wParam As Long, lParam As Any) As
Long Private Declare Function SetWindowPos Lib
"user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As
Long, ByVal x As Long, ByVal y As Long, ByVal cx As
Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function DestroyWindow Lib "user32"
(ByVal hndw As Long) As Boolean Private Declare
Function capCreateCaptureWindowA Lib "avicap32.dll"
(ByVal lpszWindowName As String, ByVal dwStyle As Long,
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long,
ByVal nHeight As Integer, ByVal hWndParent As Long,
ByVal nID As Long) As Long Private Declare Function
capGetDriverDescriptionA Lib "avicap32.dll" (ByVal
wDriver As Long, ByVal lpszName As String, ByVal cbName
As Long, ByVal lpszVer As String, ByVal cbVer As Long)
As Boolean
Private Sub Form_Load()
LoadDeviceList
If lstDevices.ListCount >
0 Then lstDevices.Selected(0) = True Else
cmdStart.Enabled = False lstDevices.AddItem ("No
Device Available") End If
cmdStop.Enabled =
False cmdSave.Enabled = False End Sub
Private Sub LoadDeviceList() Dim strName As
String Dim strVer As String Dim iReturn As
Boolean Dim x As Long x = 0 strName =
Space(100) strVer = Space(100) Do iReturn =
capGetDriverDescriptionA(x, strName, 100, strVer, 100)
If iReturn Then lstDevices.AddItem Trim$(strName)
x = x + 1 Loop Until iReturn = False End Sub
Private Sub cmdStart_Click() iDevice =
lstDevices.ListIndex OpenPreviewWindow
OpenPreviewWindow End Sub
Private Sub
OpenPreviewWindow()
hHwnd =
capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD,
0, 0, 320, 240, picCapture.hwnd, 0)
If
SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0)
Then
SendMessage hHwnd, WM_CAP_SET_SCALE, True,
0 SendMessage hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0
SendMessage hHwnd, WM_CAP_SET_PREVIEW, True, 0
cmdSave.Enabled = True cmdStop.Enabled =
True cmdStart.Enabled = False Else
DestroyWindow hHwnd cmdSave.Enabled = False
End If End Sub
Private Sub
ClosePreviewWindow()
SendMessage hHwnd,
WM_CAP_DRIVER_DISCONNECT, iDevice, 0 DestroyWindow
hHwnd 'ÍÍ¡¨Ò¡ window End Sub
Private Sub
cmdStop_Click() ClosePreviewWindow
cmdStop.Enabled = False cmdSave.Enabled = False
cmdStart.Enabled = True End Sub
Private
Sub cmdSave_Click() ส่วนนี้คือที่ทดลองใส่โค้ดแล้วมันไม่ได้ครับ
End Sub
| | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อาทิตย์ กพ. 05, 2006
8:28 am ชื่อกระทู้:
|
 |
|
งั้นก็แบบนี้
1. ใช้
Timer ส่งภาพจาก picCapture.Picture มาที่ PicSave.Picture
แล้วให้ save ทุก 100 mS
2. ใน sub timmer ให้ใช้ code
นี้
PicSave.Picture = picCapture.Picture DoEvents
SavePicture PicSave.Picture, App.path & "\Pic_name"
& counter & ".jpg" Counter = Counter + 1
แบบนี้น่าจะได้ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อาทิตย์ กพ. 05, 2006
3:22 pm ชื่อกระทู้:
|
 |
|
วันอาทิตย์สบายๆ
ก็อยากงดเรื่องปวดหัว เอาเรื่องแปลก ๆมาให้อ่านเล่น
The Mike the Headless
Chicken Days(17 พฤษภา, วัน MIke ไก่ไร้หัว)
นี่คือเรื่องจริง! ไก่ไม่มีหัวแต่ใช้ชีวิตได้นานถึง 18
เดือน! ไก่ตัวนี้มีชื่อว่า ไมค์(Mike) ครับ.
เรื่องมันมีอยู่ว่าเจ้าของฟาร์มคิดจะทำไก่ย่างในวันขอบคุณพระเจ้า
เลยเลือกเจ้าไมค์จะมาทำไก่ย่าง
ซึ่งในตอนที่เอาขวานฟันลงไปที่คอของเจ้าไมค์(อึ๋ย)หัวของมันขาดลงมาสงบนิ่งอยู่ที่พื้น
แต่ตัวมันน่ะซิครับมันกลับกระโดดลงมาจากเขียงแล้ววิ่งพล่านไปทั่ว
เล้าจนหายไปไหนก็ไม่รู้ เลยต้องเอาไก่อีกตัวมาทำ
ในวันรุ่งขึ้นเจ้าของกลับว่าเจ้าไมค์กลับมาอยู่เล้าทั้งๆที่ไม่มีหัว
แล้วยังทำท่าคุ้ยเขี่ยหาอาหารเหมือนกับไก่ทั่วๆไปผิดแต่ว่ามันไม่มีหัวเท่านั้นเอง!
เจ้าของเลยสงสัยว่ามันอยู่ไปได้อีกนานเท่าไหร่ก็เลยเลี้ยงไปเรื่อยๆ
โดยให้อาหารด้วยที่หยอดตาผ่านทางหลอดอาหาร
แน่ละครับเรื่องนี้ไปเข้าหูพวกสื่อมวลชนโดยนิตรสารTIME
มาขอทำเรื่องนี้ทำให้เจ้าไมค์ดังเป็นพลุแตกเลย
ยังผลทำให้มีคนเลียนแบบทั่วประเทศก็เลยทำให้ทุกบ้านมีไก่ย่างกินเป็นอาหารเย็นกันทุกวันแต่ก็ไม่มีใครทำได้สำเร็จ
และในช่วงสุดท้ายของชีวิตของไมค์ตายโดยเมล็ดข้าวโพดเข้าไปติดหลอดลมตายซึ่งนับจากวันที่หัวขาดจนวันตายนับได้ประมาณ
18 เดือนพอดี
พอเจ้าไมค์ตายเจ้าของก็เสียใจมากเลยจัดตั้งวัน
ไมค์ไก่ไร้หัว (Mike the headless Chicken Day) ขึ้นมาทุกๆปี
เดี๋ยวนี้ก็ยังมีอยู่จนถึงปัจจุบัน
ฟังดูมันจะเป็นไปได้อย่างไรแต่วิทยาศาสตร์เค้าก็อธิบายเอาไว้ด้วยครับว่า
"So how was Mike able to survive? Scientists examined him
and determined that Mr. Olsen had not done a very good job at
chopping Mike's head off. Most of the head was actually
removed, but one ear remained intact. The slice actually
missed the jugular vein and a clot prevented him from bleeding
to death. Apparently, most of a chicken's reflex actions are
located in the brain stem, which was also largely untouched.
Mike was also examined by the officers of several humane
societies and was declared to have been free from suffering."
แปลกจริง ๆ เรยยยย
 | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: อาทิตย์ กพ. 05, 2006
5:05 pm ชื่อกระทู้:
|
 |
|
พี่คับผมทำให้เซฟได้แล้วครับ
ใช้โค้ดนี้ครับ
| คำพูด: |
Private Sub cmdSave_Click()
cmdStart.Enabled = False Dim bm As Image
SendMessage hHwnd, WM_CAP_EDIT_COPY, 0, 0
picCapture.Picture = Clipboard.GetData
SavePicture picCapture.Image, App.Path &
"\Pic_name" & Counter & ".jpg" Counter =
Counter + 1 End Sub |
แต่ยังมีอยู่จุดนึงคือ เวลาเซฟภาพมันเซฟภาพชื่อ Pic_name.jpg
อย่างเดียวครับ ไม่ยอมเซฟตาม Counter
เราต้องแก้ไขยังไงครับพี่
ผมกะว่าเดี๋ยวพอมันเซฟแล้วเพิ่มเรื่อยๆ ได้แล้ว
จะทดลองเขียนให้มันเซฟด้วยชื่อวันที่และเวลาที่เซฟตามที่พี่สอน
ยังไงรบกวนพี่ช่วยเป็นที่ปรึกษาผมหน่อยนะค๊าบ ^
^ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อาทิตย์ กพ. 05, 2006
5:54 pm ชื่อกระทู้:
|
 |
|
ถามมาก
ๆจะทำให้น้องเสียความมั่นใจนะ
Dim counter As Integer
Private Sub cmdSave_Click()
SendMessage hHwnd,
WM_CAP_EDIT_COPY, 0, 0 picCapture.Picture =
Clipboard.GetData SavePicture picCapture.Image, App.Path
& "\Pic_name" & counter & ".jpg" counter =
counter + 1
End Sub
ข้อระวัง
เนื่องจากกำหนดให้ตัวแปร counter เป็น integer
ดังนั้นการโหลดโปรแกรมใหม่แต่ละครั้ง counter
เริ่มแรกจะมีค่าเป็น 0 ซึ่งจะทำให้ชื่อใหม่ไปซ้ำกับชื่อเก่า
ถ้าไม่ต้องการให้ซ้ำต้องใช้วันที่และ/หรือเวลามาตั้งชื่อร่วมด้วย
ส่วนการตั้งชื่อไม่น่ายาก ลองผิดลองถูกเองน่าจะได้ครับ
 | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: อาทิตย์ กพ. 05, 2006
6:20 pm ชื่อกระทู้:
|
 |
|
ไม่เสียความมั่นใจหรอกครับ ถ้าจะให้พูดตรงๆ
ผมไม่มีความรู้ด้านการเขียนโปรแกรมเลย ได้แต่ลองผิดลองถูกเอา
เพื่อนสอนมั่ง มั่วเองมั่ง
แต่ตอนนี้ผมมั่วการเซ็ทชื่อที่เซฟเป็นวันที่ได้ละครับ
| คำพูด: |
cmdStart.Enabled = False Dim bm As
Image SendMessage hHwnd, WM_CAP_EDIT_COPY, 0, 0
picCapture.Picture = Clipboard.GetData Dim Fname
As String dd = Day(Date) mm = Month(Date) yy
= Year(Date) hh = Hour(Time) mn = Minute(Time)
ss = Second(Time) Fname = "Date" & yy &
"-" & mm & "-" & dd & "Time" & hh
& "." & mn & "." & ss SavePicture
picCapture.Image, App.Path & "\Image\" & Fname
& ".jpg" |
แต่ถ้าผมต้องการให้เวลาที่กดปุ่มเซฟแค่ครั้งเดียว
อยากให้เซฟภาพออกมา 3 ภาพเลย เราต้องทำยังไงมั่งครับพี่
รบกวนพี่อีกรอบนะครับ | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: อาทิตย์ กพ. 05, 2006
6:54 pm ชื่อกระทู้:
|
 |
|
ลองใช้ Loop
ครับแต่ไม่เป็นผล เซฟได้แต่ออกมารูปเดียว
| คำพูด: |
Private Sub cmdSave_Click() Dim i As Integer For i = 1
To 3 Step 1 cmdStart.Enabled = False Dim
bm As Image . . . . . .
Fname = "Date" & yy & "-" & mm & "-"
& dd & "Time" & hh & "." & mn &
"." & ss SavePicture picCapture.Image, App.Path
& "\Image\" & Fname & ".jpg" Next i End
Sub | | |
| กลับไปข้างบน |
|
 |
Toomerlalu
เข้าร่วมเมื่อ: 05 กพ. 2006 ตอบ:
5
|
ตอบ: อาทิตย์ กพ. 05, 2006
10:41 pm ชื่อกระทู้:
|
 |
|
จะต่อสวิตช์(1-4ตัว)กับคอม
เขียนโปรแกรมควบคุมด้วยVB จำเป็นต้องใช้ร่วมกับไมโครฯ
ด้วยรึป่าวครับ รึว่าวสามารถต่อกับคอมได้โดยตรง
ช่วยตอบคำถามหน่อยนะครับ ถ้ามีตัวอย่างให้ดูจะดีมากๆ
เลยครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. กพ. 06, 2006
10:28 am ชื่อกระทู้:
|
 |
|
ไม่จำเป็นครับ
378
output ==> ส่ง 379 input ==> รับค่าจาสวิตซ์
ควรวงจร optical separate กันระหว่างคอมพิวเตอร์และ
Hardware | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. กพ. 06, 2006
11:28 am ชื่อกระทู้:
|
 |
|
ผมเคยดาวน์โหลด AxtiveX(ocx)
มาเล่นดูเหมือนกัน เป็นฟรี control ที่สุดยอดมาก ๆ แต่
properties มันเยอะมากไปหน่อย ก็เลยไม่ค่อยมีใครเอาไปใช้
จะให้ดีต้องไปแก้ที่ไฟล์ .ctr เลยจะได้ถูกใจโจ๋
การกำหนดชื่อไฟล์,path,เวลาที่ capture สามารถกำหนดที่
properties ได้เลย
Private Sub Form_Load()
ezVidCap1.TimeLimitEnabled = True ezVidCap1.TimeLimit
= 5 'หน่วยเป็นวินาทีอยู่แล้ว End Sub
Private
Sub CmdSatart_Click() ezVidCap1.CaptureFile = txtAVI.Text
End Sub
Private Sub CmdStop_Click()
ezVidCap1.CaptureEnd End Sub
properties
สำคัญอื่น ๆ เช่น Audio, frame rate
ก็ลองเล่นดูละกัน | |
| กลับไปข้างบน |
|
 |
DeusEx
เข้าร่วมเมื่อ: 06 กพ. 2006 ตอบ:
2
|
ตอบ: จ. กพ. 06, 2006 7:34
pm ชื่อกระทู้:
|
 |
|
ตามมาจากอีกกระทู้คับ
| คำพูด: |
Private Sub CmdSatart_Click()
ezVidCap1.CaptureFile = txtAVI.Text End
Sub |
งงตรง txtAVI.Text
ตรงส่วนนี้มันคืออะไรอะพี่ ไม่เข้าใจเลย
พี่ช่วยอธิบายเพิ่มหน่อยนะงับ เป็นส่วนกำหนดชื่อไฟล์เหรอคับ
รึว่าใช้ทำอะไร พี่ยกตัวอย่างด้วยจะดีมากๆ
เลยครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. กพ. 06, 2006
10:39 pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
| งงตรง txtAVI.Text
ตรงส่วนนี้มันคืออะไรอะพี่ |
textbox สำหรับใส่ชื่อ path + ชื่อไฟล์
โดยจะกำหนด default ไปเลยก็ได้ เช่น
Private Sub
Form_Load()
txtAVI.Text = App.path & "\Test.avi"
End Sub
เวลา save ก็จะได้ไฟล์ชื่อ Test.avi
อยู่ใน folder เดียวกับ project | |
| กลับไปข้างบน |
|
 |
HusPlus
เข้าร่วมเมื่อ: 07 สค. 2005 ตอบ:
9
|
ตอบ: อ. กพ. 07, 2006 8:33
am ชื่อกระทู้:
|
 |
|
พี่ครับผมกลับมาถามต่อหน่อยนะ
จากที่ผมถามพี่ว่าผมอยากให้มันเซฟภาพ 3
รูปเลยในการกดครั้งเดียวเลย โดยการใช้ Loop แต่ผลลัพธ์ที่ได้
ก็ยังได้ออกมารูปเดียวเหมือนเดิม
ตรงนี้ผมคิดว่าเกิดอยากความเร็วในการทำงานของโปรแกรม
ที่มันไม่เกิน 1 วินาที ในการทำงานทำให้ 3
รูปที่ควรจะได้ออกมาเป็นรูปเดียว
ดังนั้นผมอยากเพิ่มชื่อไฟล์ให้เพิ่มส่วน มิลลิวินาที
เข้าไปอีก แต่ผมลองทำคล้ายๆ กับอันแรกคือเพิ่ม
ms = Millisecond(Time)
แต่สรุปแล้ว VB มันไม่รู้จักครับ
ผมปกติเวลาพิมอันอื่น พอเริ่มพิมวงเล็บเปิด ( VB
จะขึ้นตัวหนังสือเหลืองๆ มาเลยว่เป็น (Date) หรือ (Time)
เราพอจะมีทางไหนครับพี่ ถ้าอยากให้ VB
ระบุเวลาเป็นหน่วยมิลลิวินาทีได้ด้วย | |
| กลับไปข้างบน |
|
 |
งง บุคคลทั่วไป
|
ตอบ: อ. กพ. 07, 2006 9:56
am ชื่อกระทู้:
|
 |
|
คือผมมี ActiveX Control
อยู่ ตัวหนึ่ง ซึ่งจำเป็นต้องใช้มากๆ คือ TigerChart ครับ
ใช้สำหรับ Plot Graph แบบ Real-Time แต่ว่าตัวที่ผมมีนี้
เป็นตัว Unregister ที่แถมมากับหนังสือ วม Controller
อ่ะครับ
เนื่องจากเป็นตัว unregister จึงทำให้ Plot
ได้ไม่เกินตาราง แกน X และ Y 100 ครับ
เลยอยากทราบว่ามีใครที่ใช้ TigerChart อยู่บ้างหรือเปล่า
ถ้าไม่เป็นการรบกวนเกินไปจะขอ Crack ได้มั๊ยๆๆ
เพราะว่า Search หาบนเนทแล้วหายังไงก็หาไม่เจอครับ
ส่งมาที่ tonlore@hotmail.com ครับ
หรือจะนำมาโพสต์ในนี้ก็ได้ครับ
ขอบคุณล่วงหน้ามากๆครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. กพ. 07, 2006 9:57
am ชื่อกระทู้:
|
 |
|
| คำพูด: |
พี่ครับผมกลับมาถามต่อหน่อยนะ
จากที่ผมถามพี่ว่าผมอยากให้มันเซฟภาพ 3
รูปเลยในการกดครั้งเดียวเลย โดยการใช้ Loop
แต่ผลลัพธ์ที่ได้ ก็ยังได้ออกมารูปเดียวเหมือนเดิม
|
กดทีเดียว save 3 รูป ทดสอบแล้ว
Private Sub Command1_Click() Dim counter As
Integer For counter = 1 To 3 Step 1 DoEvents Fname
= "Date" & yy & "-" & mm & "-" & dd &
"Time" & hh & "." & mn & "." & ss
SavePicture Picture1.Image, "D:\image\" & Fname &
counter & ".jpg" Next counter End Sub | |
| กลับไปข้างบน |
|
 |
โปรแกรมบัตรคิว บุคคลทั่วไป
|
ตอบ: อ. กพ. 07, 2006
12:46 pm ชื่อกระทู้:
th.sakuragi |
 |
|
| อยากทราบว่าเมื่อคลิก switch
ครั้งที่หนึ่งเป็น 1 คลิกครั้งที่สองเป็น 2
ทำอย่า่งไรครับ | |
| กลับไปข้างบน |
|
 |
rung2005 บุคคลทั่วไป
|
ตอบ: อ. กพ. 07, 2006 3:17
pm ชื่อกระทู้:
ขอความช่วยเหลือด้วย |
 |
|
อยากถามว่าใน VB ตรง MsgBox
สามารถทำให้มีหลายบรรทัดได้หรือเปล่าถ้าทำได้รบกวนขอโค๊ดด้วยนะครับ
ขอบคุณครับ......... | |
| กลับไปข้างบน |
|
 |
ช่วยแนะนำหน่อยครับ บุคคลทั่วไป
|
ตอบ: อ. กพ. 07, 2006
11:56 pm ชื่อกระทู้:
ทำไมมันถึงไม่หลุดจากลูปครับ |
 |
|
อ้างอิงถึงเว็บนี้คับพี่
http://www.g2gnet.com/Inside/news_item.asp?NewsID=7
ผมทดลองทำตามที่อธิบายไว้ครับ
แต่ว่าโปรแกรมไม่ทำงานตามที่คิด คือไม่ได้หน่วงเวลา 2
วินาทีเลย ผมทดลองเช็คดู โปรแกรมมันไปวนลูปอยู่ที่
While Timer1.Interval
> 0 DoEvents Wend
ตลอดเลยครับไม่ยอมหลุดจากลูปซักที ลองเปลี่ยนค่าตรง
Timer1.Interval = 1000
* Sec
เป็น
Timer1.Interval = 10 * Sec
แล้วทดลองรันแบบ Step Into
โปรแกรมก้อยังวนอยู่ในลูปนั้นอยู่
ผมเลยอยากให้ช่วยอธิบายหน่อยครับ
ไปค้นในหนังสือที่มีก้อไม่เจอคำสั่ง
While .
. Wend
อยู่เลย
ยังไงช่วยแนะนำด้วยนะครับ | |
| กลับไปข้างบน |
|
 |
เด็กใหม่ บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006 2:40
am ชื่อกระทู้:
|
 |
|
ผมจะเขียน vb
ให้รับค่าจากMCU PIC 16F628 โดยผ่านทาง
พอร์ตอนุกรมรับค่าจากเซ็นเซอร์ ds1820 อีกทีนึงครับ แต่ผมเขียน
vb ยังไงก็รับข้อมูลที่ pic ส่งมาไม่ได้ครับ ช่วยผมด้วย
ต้องส่งแล้ว
หรือมีตัวอย่างในลักษณะนี้ขอให้บอกด้วยได้มั้ยครับ
คือผมไม่ค่อยมีความรู้เรื่อง vb เท่าไหร่อ่ะครับ
ศึกษาเอาเองได้ไม่คล่องเท่าไหร ในตัวของ PIC 16F628
จะมีซอร์ตโค้ดดังนี้ครับ
#include <16F628A.h>
#device *=16 #use delay(clock=4000000) #use
rs232(baud=2400, xmit=PIN_B2,rcv=PIN_B1) #fuses NOWDT,XT,
PUT, NOPROTECT, NOBROWNOUT, MCLR, NOLVP, NOCPD //#define
DQ PIN_B0 #define DQ PIN_A1 #define LED PIN_B4
void Get_temp(void); void WriteByte(char outbyte);
char ReadByte(void); void Treset (void); void
Tconvert (void); void ReadSerial(void); void
Print_temp(void); void Send_temp(void); void
Send_Scrap(void); void Manchester(char inbyte); char
Scrap[10]; char Manout[2];
//--------------------------------------------------------
// For reset ds18s20
//--------------------------------------------------------
void Treset (void) { //set_tris_b(0xFE);
output_low(DQ); //drive Low 800 uS delay_us(600);
output_float(DQ); //float to high. delay_us(6);
while(input(DQ)); while(!(input(DQ))); //wait for Low
present pulse. delay_ms(2); }
//--------------------------------------------------------
// For start to convert temperatur on ds18s20
//--------------------------------------------------------
void Tconvert (void) { treset (); writebyte
(0xcc); // skip rom writebyte (0x44); // start convert
}
//--------------------------------------------------------
// For get temp from ds18s20 then keep in Hbyte,Lbyte
//--------------------------------------------------------
void Get_temp(void){ int8 i; Tconvert();
delay_ms(900); Treset(); delay_ms(10);
WriteByte(0xcc); // skip rom WriteByte(0xbe); // read
scrapterpad for(i=0;i<=9;i++){ //read all 9 byte in
scrapterpad. Scrap[i] = ReadByte(); } //Lbyte =
ReadByte(); // temp LSB byte. //Hbyte = ReadByte(); //
temp MSB byte. Treset();
}
//--------------------------------------------------------
// print temp from Hbyte,Lbyte to serial port. format:
+nnn.n C
//--------------------------------------------------------
void Print_temp(void){ char TH,TL; char point=0;
TH=Scrap[0]; TL=Scrap[1]; // calculate temp.
if(TH==0xff){ //negative temperature putc('-');
TL = (~TL) + 1; // 2 complement. }else{ //
positive temperature putc('+'); }
if(bit_test(TL,0)){ point = '5'; }else{ point
= '0'; } TL >>= 1; printf("%3d.%c
C",TL,point); }
//--------------------------------------------------------
// For send Preamble & temp data.
//--------------------------------------------------------
void Send_temp(void) { int8 i;
for(i=1;i<=10;i++) { putc(0xAA); // send
preamble for Xmit's AGC stable. } putc('j');
putc('U'); Print_temp(); printf("\r\n"); //new
line. */ }
//--------------------------------------------------------
// For send Preamble & scrapterpad data 9 byte in
// Manchester format. // Format: Pre,manc(Code
check),manc(Data 9 bytes)
//--------------------------------------------------------
void Send_Scrap(void) { int8 i;
for(i=1;i<=10;i++) { putc(0xAA); // send
preamble for Xmit's AGC stable. } Manchester('j');
putc(Manout[0]); putc(Manout[1]); Manchester('U');
putc(Manout[0]); putc(Manout[1]);
for(i=0;i<=8;i++) { Manchester(Scrap[i]);
putc(Manout[0]); putc(Manout[1]);
}
//Print_temp(); printf("\r\n"); //new line. */
}
//--------------------------------------------------------
// For convert 1 byte into Manchester Format 2 byte return
// by : Manout[0],Manout[1]
//--------------------------------------------------------
void Manchester(char inbyte){ int8 i,j;
for(i=0;i<=3;i++){ // lsb 4 bit.
if(bit_test(inbyte,0)){ //1->10
bit_set(Manout[0],7); bit_clear(Manout[0],6);
}else{ // 0-> 01 bit_clear(Manout[0],7);
bit_set(Manout[0],6); } inbyte >>= 1; //next
bit.
if(i<3){ Manout[0] >>= 2; }
} for(i=0;i<=3;i++){ //msb 4 bit.
if(bit_test(inbyte,0)){ //1->10
bit_set(Manout[1],7); bit_clear(Manout[1],6);
}else{ // 0-> 01 bit_clear(Manout[1],7);
bit_set(Manout[1],6); } inbyte >>= 1; //next
bit.
if(i<3){ Manout[1] >>= 2; }
}
}
//--------------------------------------------------------
// For Write 1 byte to ds18s20
//--------------------------------------------------------
void WriteByte(char outbyte){ int8 i;
for(i=0;i<8;i++){ output_low(DQ); delay_us(5);
if(bit_test(outbyte,0)){ //write 1 time slot.
output_high(DQ); } delay_us(70);
output_float(DQ); outbyte >>= 1;
delay_us(5); } }
//--------------------------------------------------------
// For Read 1 byte from ds18s20
//--------------------------------------------------------
char ReadByte(void){ char data=0; int8 i=0;
do{ output_low(DQ); delay_us(2);
output_float(DQ); delay_us(5); if(input(DQ)){
bit_set(data,7); } output_float(DQ);
delay_us(80); i++; if(i< { data
>>= 1; } }while(i< ;
return(data); }
//--------------------------------------------------------
// For Read serial number
//--------------------------------------------------------
void ReadSerial(void){ int8 i=0; char Data=0xff;
Treset(); delay_us(100); WriteByte(0x33); // Read
rom serial delay_us(10); for(i=0;i<8;i++){ Data
= ReadByte(); // serial printf("%2x",Data); }
Treset(); }
void main() { int i;
set_tris_a(0x0c); // A0,A1 are out.
setup_comparator(NC_NC_NC_NC); set_tris_b(0xef);
//RB2,RB1 are SET for TX,RX., //printf("\r\n Test %2d
",i); //ReadSerial(); while(1){
Get_temp();
for(i=1;i<=1;i++){ output_high(LED);
output_high(PIN_A0); //Send_temp(); Send_Scrap();
output_low(LED); output_low(PIN_A0);
delay_ms(100); }
//Print_temp();
//printf("\r\n");
} }
โดยผมจะเขียน vb
ให้ออกมาในลักษณะนี้ครีบ
แสดงค่า อุณหภูมิ
เลือกช่วง ดีเลย์
แค่นี้ครับ
[/img][/quote][/code] | |
| กลับไปข้างบน |
|
 |
เด็กน้อย บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006
11:37 am ชื่อกระทู้:
ผมมีปัญหาเรื่องการดึงกราฟเส้นให้ออกมาซ้อนกันช่วยหน่อยคับ |
 |
|
การทำงานของตัวโปรแกรมคือรับค่า Weighing
Indicator ผ่านเข้ามาทาง PortRS232c
ซึ่งผมสามารถดึงค่ามาเก็บในdatabase
ได้แต่ผมไม่สามารถดึงการเก็บค่า ในครั้งแรก กับครั้งที่2
มาเปรียบเที่ยบในกราฟเดี่ยวกันโดยให้ขึ้นเป็นเส้น 2
เส้นคือเส้นแรกคือครั้งแรกอีกเส้นคือครั้งที่2
รบกวนพี่แมลงเม่าช่วยผมหน่อยคับ ขอบคุณคับ  | |
| กลับไปข้างบน |
|
 |
บุคคลทั่วไป บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006
12:32 pm ชื่อกระทู้:
|
 |
|
| สวัสดีครับพี่ ๆ ทุกท่าน
ผมอยากจะรบกวนถามเรื่องการดักจับข้อมูลหน่อยครับ
คืออยากจะรู้ว่าเกมส์ออนไลน์ที่เราเล่นอยู่ เมื่อเรารู้ ip/port
ที่ติดต่อกันแล้วเนี่ย เราจะเขียนโปรแกรมขึ้นมาดักจับข้อมูลที่
รับ-ส่ง กันได้ไหมครับ
คืออยากจะรู้ว่ามันส่งข้อมูลอะไรกันมั่งน่ะครับ ไม่ทราบว่าพี่ ๆ
พอจะมี source code ตัวอย่างไหมครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006 1:03
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
| อยากทราบว่าเมื่อคลิก switch
ครั้งที่หนึ่งเป็น 1 คลิกครั้งที่สองเป็น 2
ทำอย่า่งไรครับ |
Private Sub CmdStatic_Click()
Static i As Integer i = i + 1 i = i Mod 2 With
CmdStatic Select Case i Case 0 .Caption = "1"
Case 1 .Caption = "2" End Select End With
End Sub | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006 1:08
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
อยากถามว่าใน VB ตรง MsgBox
สามารถทำให้มีหลายบรรทัดได้หรือเปล่าถ้าทำได้รบกวนขอโค๊ดด้วยนะครับ
ขอบคุณครับ......... |
Private Sub Cmdmultiline_Click()
MsgBox "Hello" & vbCr & "MangMao", , "Test
Multiline" End Sub | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. กพ. 08, 2006 6:18
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
ผมทดลองทำตามที่อธิบายไว้ครับ
แต่ว่าโปรแกรมไม่ทำงานตามที่คิด
คือไม่ได้หน่วงเวลา 2 วินาทีเลย ผมทดลองเช็คดู
โปรแกรมมันไปวนลูปอยู่ที่
While Timer1.Interval
> 0 DoEvents Wend |
ดูจากโปรแกมแล้ว ผมว่าไม่น่าจะทำงานได้นะ
เพราะ statement While ===>Wend มันไม่มีการเคลื่อนไหว
คำว่า While === Wend คล้าย ๆ กับ ถ้า === ก็
เช่น
hint = Int(InputBox("Guess number 1 to 9", "Random"))
While hint <> answer ' ถ้าไม่ตรงก็ให้ใส่ค่าอื่นต่อไป hint
= Int(InputBox("Incorrect,Try again ", "")) cnt = cnt + 1
Wend
จากตัวอย่าง hint
จะต้องเปลี่ยนเพื่อนให้เข้าเงื่อนไข แต่ Timer1.Interval = 2000
มันเป็นค่าคงที่ เมื่อไม่เข้าเงื่อนไขมันก็เลยไม่ออก loop ซักที
ผมว่าใช้ sleep น่าจะดีกว่า
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long) Private Sub Command1_Click()
Me.Caption = Time$ Shape1.BackColor = vbGreen
Sleep 2000 ' ' กำหนดการหน่วงเวลาที่ 2 วินาที
Me.Caption = Time$ Shape1.BackColor = vbRed End
Sub[/b] | |
| กลับไปข้างบน |
|
 |
t บุคคลทั่วไป
|
ตอบ: พ. กพ. 15, 2006 5:55
pm ชื่อกระทู้:
|
 |
|
ผมมีปัญหาเกี่ยวกับ error
ครับในการจัดเก็บเป็น .exe
คือมันเกิดปัญหาตอนเอาไปใช้งานครับผมต้องทำอย่างไรมันจึงจะทำงานเกี่ยวกับไฟล์ได้ครับ
component 'MSCOMM32.ocx or one of its dependencies not
correctly registered : a files is missing or
invalid | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. กพ. 15, 2006 7:27
pm ชื่อกระทู้:
|
 |
|
[quotecomponent
'MSCOMM32.ocx or one of its dependencies not correctly
registered : a files is missing or invalid[/quote]
ทำตัว setup ใหม่แล้วก็ add 'MSCOMM32.ocx' ด้วย
หรือไม่ก็ลองทำแบบนี้
1. ก็อปปี้ MSCOMM32.OCX
ไปเก็บที่โฟลเดอร์ SYSTEM32.
2. Register โดยคลิกที่
start ==> run แล้วพิมพ์ regsvr32 "mscomm32.ocx" ถ้า
register ได้ก็จะมี popup ว่า registered
successfully | |
| กลับไปข้างบน |
|
 |
aspilinn บุคคลทั่วไป
|
ตอบ: พฤ. กพ. 16, 2006
5:53 pm ชื่อกระทู้:
ขอความช่วยเหลือหน่อยครับ |
 |
|
มันเป็นโปรแกรมเล่นไฟล์ .avi
ครับ คือผมอยากจะฟิกตำแหน่งภาพที่มันขึ้นมาจะทำยังไงครับ
ปกติมันขึ้นชิดขอบจอด้านซ้ายบนครับ
Option Explicit
Private Sub cmdOpen_Click() MMControl1.Command =
"close" CommonDialog1.Filter = "All
medias|*.avi;*.mid;*.wav|Video" & _ "(*.avi)
|*.avi|Sond(wav,midi) |*.wav;*.mid" CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then MsgBox "Please
select file name" Exit Sub End If
MMControl1.FileName = CommonDialog1.FileName
MMControl1.Command = "open"
End Sub
Private Sub Command1_Click() 'Play
MMControl1.Command = "Play"
End Sub
Private Sub Command2_Click() 'Pause
MMControl1.Command = "Pause"
End Sub
Private Sub Command3_Click() 'Stop
MMControl1.Command = "Stop"
End Sub
Private Sub Command4_Click() 'Play Loop
MMControl1.Command = "Play"
End
Sub | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: ศ. กพ. 17, 2006 2:54
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
มันเป็นโปรแกรมเล่นไฟล์ .avi ครับ
คือผมอยากจะฟิกตำแหน่งภาพที่มันขึ้นมาจะทำยังไงครับ
ปกติมันขึ้นชิดขอบจอด้านซ้ายบนครับ
|
มีอยู่หลายวิธี
1. กำหนดจาก
StartupPosition - Manual - CenterOwner -
CenterScreen - Windows defult
2. กำหนด Manual จาก
Form Laout Window(เมนู View==>Form Laout Window) 3.
กำหนดโดยวิธีคำนวน
เช่น Center Form
Private Sub
Form_Load() Me.Top = (Screen.Height - Me.Height) / 2
Me.Left = (Screen.Width - Me.Width) / 2 End Sub
ถ้าอยากได้ตำแหน่งต่าง ๆ
ก็ใช้คณิตศาสตร์แบบพิกัดจุดคำนวนได้
4. แบบนี้ Advance
ที่สุดโดยการเอาขนาดและตำแหน่งของForm ไปเก็บใน Registry
โดยใช้ฟังก์ชัน Savesetting และ Getsetting
Private
Const APP_NAME As String = "howto_persist_position"
Private Sub Form_Load() Me.Move _
GetSetting(APP_NAME, "Settings", "Left", Me.Left), _
GetSetting(APP_NAME, "Settings", "Top", Me.Top), _
GetSetting(APP_NAME, "Settings", "Width", _ Me.Width),
_ GetSetting(APP_NAME, "Settings", "Height", _
Me.Height) End Sub
Private Sub
Form_Unload(Cancel As Integer) SaveSetting APP_NAME,
"Settings", "Left", Me.Left SaveSetting APP_NAME,
"Settings", "Top", Me.Top SaveSetting APP_NAME,
"Settings", "Width", Me.Width SaveSetting APP_NAME,
"Settings", "Height", Me.Height End Sub | |
| กลับไปข้างบน |
|
 |
adirek
เข้าร่วมเมื่อ: 15 กพ. 2006 ตอบ:
4
|
ตอบ: ส. กพ. 18, 2006 7:07
pm ชื่อกระทู้:
|
 |
|
| พี่ครับ รบกวนช่วยทีครับ
คือค่าอินพุตที่รับมทาง serail port ามันไม่ตรงกับที่ส่งมาครับ
แต่ถ้ารับจาก hyper terminal ข้อมูลถูกต้อง
แต่ทำไมรับในวีบีแล้วเพี้ยนหมดเลย เซทบอดเรทตรงแล้วนะครับ
ค่าที่รับได้เหมือนถูกแปลงกลายเป็นภาษาไทยครับ
(ค่าที่รับได้เป็นภาษาไทยมั่วๆ) ช่วยทีครับ
ขอบคุณมากๆครับ | |
| กลับไปข้างบน |
|
 |
rapter
เข้าร่วมเมื่อ: 20 กพ. 2006 ตอบ:
7
|
ตอบ: จ. กพ. 20, 2006
11:31 am ชื่อกระทู้:
*-* |
 |
|
Embarassed Const WM_CAP
As Integer = &H400 *&H400 คือไรครับ
Const
WM_CAP_DRIVER_CONNECT As Long = WM_CAP + 10 *ตัวเลข+10
คือไรครับ เห็นมีทั้ง +11 +50 +52 อยากทราบว่าคือไรครับ
Const SWP_NOMOVE As Long = &H2 *&H2 คือไรครับ
hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or
WS_CHILD, 0, 0, 320, 240, picCapture.hwnd, 0) ตัวเลข
ที่ส่งค่าไป มานคือไรบ้างครับ 0,0,320,240 และทำไรได้งับ
Private Const GET_FRAME As Long = 1084 ค่า
1084คือค่าไรครับเปลี่ยนค่าแล้วมานจะใช้ไม่ได้
เลยอยากรู้านคือไรงับ Private Const COPY As Long = 1054 ค่า
1054 เหมือนค่า get_frame
แล้ว (ByVal lpszWindowName As
String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As
Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal
hwndParent As Long, ByVal nID As Long) มานคืออ้างจากใน system
หรอครับ
อยากรู้ครับ ช่วยกรุณาอธิบาย
พอให้เข้าใจทีนะครับพี่ | |
| กลับไปข้างบน |
|
 |
rapter
เข้าร่วมเมื่อ: 20 กพ. 2006 ตอบ:
7
|
ตอบ: จ. กพ. 20, 2006
12:49 pm ชื่อกระทู้:
T_T |
 |
|
อยากให้เปิด flash บนหน้าจอของ vb ได้ไหมครับ เพราะให้แสดงบน
ole แล้วมานไม่ขึ้นภาพ ต้องดับเบิ้ลคลิกถึงจะเรียก flash
อยากให้มานแสดงภาพตรง vb เลยครับ
มีวิธีไหมครับพี่ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
|
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. กพ. 21, 2006
10:54 pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
อยากให้เปิด flash บนหน้าจอของ vb
ได้ไหมครับ เพราะให้แสดงบน ole แล้วมานไม่ขึ้นภาพ
ต้องดับเบิ้ลคลิกถึงจะเรียก flash
อยากให้มานแสดงภาพตรง vb เลยครับ
มีวิธีไหมครับพี่ |
ใช้ Flash control | |
| กลับไปข้างบน |
|
 |
rapter
เข้าร่วมเมื่อ: 20 กพ. 2006 ตอบ:
7
|
ตอบ: พ. กพ. 22, 2006 9:19
am ชื่อกระทู้:
|
 |
|
ขอบคุณครับ
ถามอีกนะครับ อิๆ ทำอย่างไร ถ้านำข้อมูลจากใน list box
ที่มีข้อมูลทั้งหมด ไปแสดง ใน หน้า ฟอม ต่อไปครับ เช่น เลือก
ข้อมูลไว้ มานจะเก็บอยู่ใน list box
พอกดปุ่มเปลี่ยนหน้่าฟอมต่อไป ข้อมูลที่อยู่ใน list box
ที่ได้เลือกไว้ ก็จะไปแสดง หน้า ฟอม
ใหม่ในที่ที่เรากำหนดไว้ด้วยครับ มีวิธีไหมครับ พี่แมงเม่า
ขอบคุณ กับคำถามที่พี่ตอบให้นะครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. กพ. 22, 2006 1:11
pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
ถามอีกนะครับ อิๆ ทำอย่างไร
ถ้านำข้อมูลจากใน list box ที่มีข้อมูลทั้งหมด ไปแสดง ใน
หน้า ฟอม ต่อไปครับ เช่น เลือก ข้อมูลไว้
มานจะเก็บอยู่ใน list box พอกดปุ่มเปลี่ยนหน้่าฟอมต่อไป
ข้อมูลที่อยู่ใน list box ที่ได้เลือกไว้ ก็จะไปแสดง หน้า
ฟอม ใหม่ในที่ที่เรากำหนดไว้ด้วยครับ มีวิธีไหมครับ
พี่แมงเม่า ขอบคุณ
กับคำถามที่พี่ตอบให้นะครับ |
1. เก็บไว้ใน data base
หรือ
2. เรียกผ่าน Module | |
| กลับไปข้างบน |
|
 |
rapter
เข้าร่วมเมื่อ: 20 กพ. 2006 ตอบ:
7
|
ตอบ: พ. กพ. 22, 2006 1:36
pm ชื่อกระทู้:
|
 |
|
ถ้าเรียกผ่าน module
พอจะแสดงตัวอย่าง ให้ดูได้ไหมครับ ผมไม่ได้ใช้ เก็บใน database
แล้ว พี่ จบที่ไหนมาหรอครับ อิๆ แสดงให้ดูหน่อยนะครับ
 | |
| กลับไปข้างบน |
|
 |
เด็กตาดำๆ บุคคลทั่วไป
|
ตอบ: พฤ. กพ. 23, 2006
12:01 pm ชื่อกระทู้:
|
 |
|
พี่แมงเม่ารบกวนเรื่อง
Motion detect อีกทีครับ คือผมจะกำหนดขนาดรูปภาพยังไงครับ
จากโค้ด
Private Sub Timer2_Timer()
Label1.Caption = vbCrLf & "
à»ÍÃìૹµì¡ÒÃà¤Å×è͹äËÇ(PCDR):
" & Int(Wo / (Ri + Wo) * 100) & " % " If Int(Wo /
(Ri + Wo) * 100) > 3 And Check1.Value = Checked Then
SavePicture
Picture1.Image, App.Path & "\img\img" & Counter &
".gif" <<--ผมแก้ตรงนี้ใช่ป่าว
ต้องเขียนยังไงครับเพื่อกำหนดขนาด เอาเล็กๆ
เท่าขนาดหน้าจอมือถือ Counter = Counter + 1 end
if end sub | |
| กลับไปข้างบน |
|
 |
เด็กน้อย บุคคลทั่วไป
|
ตอบ: ศ. กพ. 24, 2006
10:37 am ชื่อกระทู้:
รบกวนหน่อยครับ |
 |
|
| ผมต้องการให้โปรแกรมดึงข้อมูลตัวเลขที่อยู่ในฐานข้อมูล
ที่มีค่ามากที่สุดเพียง1ค่า มาทำการแสดงใน Textbox
ต้องเขียนแบบไหนคับ รบกวนหน่อยคับ | |
| กลับไปข้างบน |
|
 |
YaGuZaa
เข้าร่วมเมื่อ: 24 กพ. 2006 ตอบ:
2
|
ตอบ: ศ. กพ. 24, 2006
12:08 pm ชื่อกระทู้:
|
 |
|
ขอโค๊ดการแปลงค่าจากตัวเลขเป็นเงินหน่อยคัม
--------------------------------------------------------------------------------
เช่น ป้อนค่า 100 แล้วให้โชว์เป็นค่าเงิน หนึ่งร้อยบาท
123.50 เป็น หนึ่งร้อยยี่สิบสามบาทห้าสิบสตางค์
ประมาณนี้นะคัม ใครขอจะมีโค๊ดบ้างคัม ขอหน่อยคัม
ขอบคุณล่วงหน้าคัม
 | |
| กลับไปข้างบน |
|
 |
umasa บุคคลทั่วไป
|
ตอบ: ส. กพ. 25, 2006 2:18
pm ชื่อกระทู้:
|
 |
|
ช่วยหน่อยครับ ผมทำโปรแจค
GPS อยู่ครับ ติดที่แผนที่ ทำไมได้ครับ โปรแจคของผมก็
เวลาเดินไปทางไหนก็จะมีจุดกระพิบตามแผนที่ (แผนที่ในมหาลัย)
โดยที่ผมคิดๆอยู่ตอนนี้คือ นำแผนที่น่ะครับ
แล้วจำลองเป็นตารางขึ้นมาครับแล้ว จุด X= ค่าละติจูด ส่วน Y=
ลองติจูด มาคำนวนในแต่ละจุดว่ามีค่า xและ y เท่ากับเท่าไหร่
แล้วนำค่ามาเปรียบเทียบกับค่า ละติจูด ลองติจูด
ที่รับมาปัจจุบันแล้วแสดงตำแหน่ง ช่วยหน่อยนะครับ ขอบคุณครับ
surawee_ib@hotmail.com
 | |
| กลับไปข้างบน |
|
 |
เบด บุคคลทั่วไป
|
ตอบ: จ. กพ. 27, 2006 4:54
pm ชื่อกระทู้:
|
 |
|
| อยากใช้ winsock
ส่งข้อมูลข้ามเครือข่ายอะครับ จาทามยังไงดี ปกติใช้ TCP,UDP
มานก้อได้แค่ในเครือข่ายเดวกาน
ลองข้ามเครือข่ายมันไม่ได้อะครับ | |
| กลับไปข้างบน |
|
 |
kirua บุคคลทั่วไป
|
ตอบ: พฤ. มีค. 02, 2006
3:00 pm ชื่อกระทู้:
การนำเสียงมาสร้างกราฟ |
 |
|
| พี่แมงเม่าครับ
พี่พอจะมีตัวอย่าง code การนำเสียงมาสร้างกราฟบ้างหรือเปล่าครับ
รบกวนพี่แนะนำหน่อยนะครับ ขอบคุณครับ | |
| กลับไปข้างบน |
|
 |
nea บุคคลทั่วไป
|
ตอบ: ศ. มีค. 10, 2006
10:52 pm ชื่อกระทู้:
ช่วยผมด้วยครับ |
 |
|
| ถ้าเราจะถึงข้อมูลจากฐานข้อมูล table A ไปอัพเดท
ที่ table B และ C แล้วดึงข้อมูลที่อัฟเดทนั้นมันแสดงใน Dbgrid
จะทำยังไงครับ คือว่าจะไห้ A เป็นราคาจริง แต่ B เป็นรายละเอียด
ของ A และฐานข้อมูลอื่นอะครับ | |
| กลับไปข้างบน |
|
 |
บุคคลทั่วไป
|
ตอบ: พ. มีค. 15, 2006
6:58 pm ชื่อกระทู้:
|
 |
|
ทำไมส่ง ascii code ผ่าน
serial port
ถึงส่งได้แค่ทีละตัวอักษรล่ะครับแล้วต้องทำยังไงถึงจะส่งได้ทีล่ะหลายๆตัวอักษรอ่ะคับ
คุณ แมงเม่า แล้วก็คนอื่นด้วยก้อได้ครับ ขอบคุณล่วงหน้าครับ
Private Sub Form_Load() MSComm1.Settings =
"9600,N,8,1" MSComm1.CommPort = 1 MSComm1.InputLen = 1
MSComm1.PortOpen = True MSComm1.RThreshold = 1
End Sub
Private Sub MSComm1_OnComm() Dim
StrData As Variant StrData = MSComm1.Input RXText.Text
= StrData End Sub
Private Sub SendKey_Click()
MSComm1.Output = TextSEND.Text TextSEND.Text = ""
End Sub | |
| กลับไปข้างบน |
|
 |
microsssss บุคคลทั่วไป
|
ตอบ: ศ. มีค. 17, 2006
4:51 pm ชื่อกระทู้:
อยากทราบวิธีการที่การเขียนโปรแกรม VB ติดต่อกับ
MicroControlr |
 |
|
| อยากทราบวิธีการที่การเขียนโปรแกรม VB ติดต่อกับ
Micro Controlr MCS51 ผ่านทาง Lan
เหมือนกับที่ตามศูนย์อาหารตามห้างเขาทำกันอะครับ ว่า HW/SW
ต้องทำยัง อยากรู้ หาความรู้ใส่ตัว ครับ ขอบคุณครับ | |
| กลับไปข้างบน |
|
 |
gotgi
เข้าร่วมเมื่อ: 01 ธค. 2005 ตอบ:
6
|
ตอบ: จ. มีค. 20, 2006
11:41 am ชื่อกระทู้:
|
 |
|
| คำพูด: |
แสดงภาพ
SendMessage CamHwnd,
1084, 0, 0 SendMessage CamHwnd, 1054, 0, 0
Picture1.Picture = Clipboard.GetData
เปิดพอร์ต
Winsock1.Close
Winsock1.LocalPort = 4444 Winsock1.Listen
Stream ภาพ
Dim Streaming As String
If Winsock1.State = sckConnected Then
SavePicture Picture1.Picture, App.Path &
"\temp.bmp" Streaming = GetFile(App.Path &
"\temp.bmp") DoEvents Winsock1.SendData
Streaming End If
| ผมไปค้นเจอใน บอร์ดที่พี่ไปตอบไว้ เรื่อง
เขียนVB ดึงภาพจาก webcam ผ่าน LAN คือผมไม่เก่ง vb
จึงไม่รู้ว่า code ที่พี่ให้มาใช้อย่างไร ต้องสร้าง form
อะไรบ้าง และต้องมีปุ่มอะไร หน้าตายังไง อะไรทำนองนี้ครับ ผมทำ
project เรื่อง ควบคุมกล้อง ผ่าน internet แต่ตอนนี้ยัง ดึง
webcam ผ่านlanยังไม่ได้เลยครับ จึงอยากรบกวนหน่อยครับ
เพราะผมไม่เป็นจริงๆ ขอบคุณล่วงหน้าครับพี่  _________________ +-------GOTGI-------+ | |
| กลับไปข้างบน |
|
 |
บุคคลทั่วไป
|
ตอบ: พ. มีค. 22, 2006
9:55 pm ชื่อกระทู้:
ตอน Setup แล้ว Error ทำไงดีครับ ช่วยทีครับ... |
 |
|
Setup Setup cannot
continue because some system files are out of date on your
system. Click OK if you would like
setup to update
these files for you now. You will need to restart Windows
before you can run setup again.
Click cancel to exit
setup without updating system files.
*******************************************
มันจะขึ้นแบบนี้นะ
และอีกแบบหนึ่งคือเมื่อเราเอา File .exe
ไปรันที่เครื่องอื่นแล้วรันได้แต่มีปัญหาแบบนี้
Class
not registered. Looking for object with
CLSID:{00000010-0000-0010-8000-00AA006D2EA4}
ช่วยตอบด้วยนะครับ
ต้องการด่วน
ขอบคุณล่วงหน้าครับ.... | |
| กลับไปข้างบน |
|
 |
aonteen_csc
เข้าร่วมเมื่อ: 22 มีค. 2006 ตอบ:
1
|
ตอบ: พ. มีค. 22, 2006
9:57 pm ชื่อกระทู้:
ตอน Setup แล้ว Error ทำไงดีครับ ช่วยทีครับ... |
 |
|
Setup Setup cannot
continue because some system files are out of date on your
system. Click OK if you would like
setup to update
these files for you now. You will need to restart Windows
before you can run setup again.
Click cancel to exit
setup without updating system files.
*******************************************
มันจะขึ้นแบบนี้นะ
และอีกแบบหนึ่งคือเมื่อเราเอา File .exe
ไปรันที่เครื่องอื่นแล้วรันได้แต่มีปัญหาแบบนี้
Class
not registered. Looking for object with
CLSID:{00000010-0000-0010-8000-00AA006D2EA4}
ช่วยตอบด้วยนะครับ
ต้องการด่วน
ขอบคุณล่วงหน้าครับ.... | |
| กลับไปข้างบน |
|
 |
MM บุคคลทั่วไป
|
ตอบ: พฤ. มีค. 23, 2006
11:19 am ชื่อกระทู้:
|
 |
|
| Most cause is the setup
file was created from the previous OS. Eg, The sourced was
complied on win98 but you have installed on XP. It absolutely
gone. | |
| กลับไปข้างบน |
|
 |
มือใหม่หัดเล่นvb บุคคลทั่วไป
|
ตอบ: ส. มีค. 25, 2006
6:03 pm ชื่อกระทู้:
|
 |
|
พอดีผมเพิ่งรู้จักvb6จากเว็บนี้ขอให้พี่ทุกคนช่วยสอนพื้นฐานของโปรแกรมนี้หน่อยครับ
1เราจะหาโปรแกรมvbจากที่ไหนครับช่วยบอกข้อมูลหน่อย
2เราจะรู้ว่าภาษาโคตในvbเป็นอย่างไรช่วยบอกด้วยครับ
อีเมลkanatip.jit@hotmail.com | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
|
| กลับไปข้างบน |
|
 |
gt บุคคลทั่วไป
|
ตอบ: อาทิตย์ มีค. 26,
2006 6:54 pm
ชื่อกระทู้: รบกวนเรื่อง winsock หน่อยครับ |
 |
|
ผมจะควบคุม stepping mortor
ผ่าน lan หน่ะครับ รบกวนพี่อีกครั้งนะครับ  | |
| กลับไปข้างบน |
|
 |
มือใหม่หัดเล่นvb บุคคลทั่วไป
|
ตอบ: อาทิตย์ มีค. 26,
2006 9:11 pm
ชื่อกระทู้: |
 |
|
1ครับมานคืออะไรผมไม่รู้จักมีแต่โค้ดแล้วผมโหลดVB
เบื้องต้นจากพี่แมงเม่าเห็นมีแต่ให้ใส่ชื่อ
เล้วพอมาดูอันอื่นมีแต่โค้ดผมไม่รู้ว่าโค้ดนี้คืออะไรเอาไว้ทำอะไรช่วยบอกทีครับ
2พี่ครับโปรแกรมvb6หาได้จากที่ไหนครับพอดีผมอยากลองเขียนดูแต่ไม่มีโปรแกรมช่วยหน่อยเถิดครับพี่พอดีผมพิมโค้ดครับนี้Option
Explicit Dim Conn As New ADODB.Connection 'ตัวแปรออบเจ็กต์
Connection Dim rsBook AS New ADODB.Recordset
'ตัวแปรออบเจ็กต์ Recordset Dim rsBookType As New
ADODB.Recordset 'ตัวแปรออบเจ็กต์ Recordset Dim
rsSearchBookType As New ADODB.Recordset 'ตัวแปรออบเจ็กต์
Recordset Dim rsMemberType As New ADODB.Recordset
'ตัวแปรออบเจ็กต์ Recordset Dim rsBookList As New
ADODB.Recordset 'ตัวแปรออบเจ็กต์ Recordset
Dim
CurrentRecord As Integer 'ตัวแปรเก็บตำแหน่งเร็คคอร์ดปัจจุบัน
Dim AllRecord As Integer 'ตัวแปรเก็บจำนวนเร็คคอร์ดทั้งหมด
Dim tmpISBN As String 'ตัวแปรเก็บรหัสหนังสือ
Dim rsBookByCat As New ADODB.Recordset 'ตัวแปรออบเจกต์
Recordset
Dim tmpFileName As String
'ตัวแปรเก็บพาธไฟล์รูปภาพ Dim ActionFlag As String
'ตัวแปรเก็บการกระทำของผู้ใช้งาน
'เหตุการณ์ฟอร์มโหลด Private Sub Form_Load()
Me.WindowState=2
With cboSearch .AddItem
"รหัส ISBN" .AddItem "ชื่อหนังสือ" .AddItem
"รายละเอียด" .ListIndex=0 End With
[/code] | |
| กลับไปข้างบน |
|
 |
MM บุคคลทั่วไป
|
ตอบ: จ. มีค. 27, 2006
11:55 am ชื่อกระทู้:
|
 |
|
Code ที่ link
เป็นของสำนักพิมพ์ infopress
1. สำหรับคนที่ซื้อหนังสือ
โค๊ดนี้ก็จะอยู่ในหนังสือเช่นกันซึ่งจะอธิบายอย่างละเอียดแทบทีละบรรทัด
เหมาะกับคนที่เริ่มต้นจริง ๆ 2.
สำหรับคนที่รู้จักโปรแกรมบ้างแล้วก็จะดาวน์โหลดมาใช้อ้างอิงหรือเป็นตัวอย่างเอาไปประยุกต์
ดังนั้นถ้ายังไม่รู้อะไรเลยแนะนำว่าหาหนังสือมาอ่านก่อนจะดีกว่า | |
| กลับไปข้างบน |
|
 |
Betta บุคคลทั่วไป
|
ตอบ: ศ. มีค. 31, 2006
10:23 am ชื่อกระทู้:
โค้ต Delay |
 |
|
| พี่ๆ คับ
ผมอยากรบกวนถามการหน่วงเวลา ใน VB6 โดยที่ไม่ต้องยุ่งเกี่ยวกับ
Timer ของ VB อ่ะคับ เพราะว่าใช้ timer
เมื่อต้องการหน่วงเวลาเป็น milisec แล้วมันมีปัญหาอ่ะคับ
งานของผมคือผมต้องการสร้าง Square Pluse ออกทาง port Printer คับ
ความถี่ 800 Hz คับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. เมย. 03, 2006
3:09 pm ชื่อกระทู้:
|
 |
|
ลองดูนะ 1.
สร้างฟอร์มแล้วใส่ component และตั้งชื่อให้ตรงโค๊ด Option
Explicit Private Const SRCCOPY = &HCC0020 Private
Declare Function BitBlt Lib "gdi32" (ByVal hdcDest As Long,
ByVal XDest As Long, ByVal YDest As Long, ByVal nWidth As
Long, ByVal nHeight As Long, ByVal hDCSrc As Long, ByVal xSrc
As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private WithEvents mobjSlumber As clsSlumber Private
mdTotalTime As Double Private mdCurrentTime As Double
Private mdCurrentHours As Long Private mdCurrentMins
As Long Private mdCurrentSecs As Double Private
mbInterrupted As Boolean
Private Sub cmdStart_Click()
On Error GoTo ErrHandler Dim sMsg As String
If
cmdStart.Caption = "Stop" Then mbInterrupted = True
mobjSlumber.WakeUp Exit Sub End If
'Ensure
Data is Numeric txtHours.Text = Val(txtHours.Text)
txtMins.Text = Val(txtMins.Text) txtSecs.Text =
Val(txtSecs.Text)
'Ensure Values are whole numbers
txtHours.Text = Int(txtHours.Text) txtMins.Text =
Int(txtMins.Text) txtSecs.Text = Int(txtSecs.Text)
'Validate Input Data Select Case
Val(txtHours.Text) Case Is < 0 sMsg = "Hours cannot
be a negative number!" GoTo DisplayMsg End Select
Select Case Val(txtMins.Text) Case Is < 0
sMsg = "Minutes cannot be a negative number!" GoTo
DisplayMsg Case Is >= 60 sMsg = "Minutes cannot be
greater than or equal to 60!" GoTo DisplayMsg End
Select
Select Case Val(txtSecs.Text) Case Is <
0 sMsg = "Seconds cannot be a negative number!" GoTo
DisplayMsg Case Is >= 60 sMsg = "Seconds cannot be
greater than or equal to 60!" GoTo DisplayMsg End
Select
If Val(txtHours.Text) = 0 And Val(txtMins.Text)
= 0 And Val(txtSecs.Text) = 0 Then sMsg = "Please input
countdown time!" GoTo DisplayMsg End If
DisplayMsg: If Len(sMsg) > 0 Then MsgBox
sMsg, vbInformation + vbOKOnly, App.Title Exit Sub End
If
'Lock Input Boxes txtHours.Locked = True
txtMins.Locked = True txtSecs.Locked = True
mbInterrupted = False cmdStart.Caption = "Stop"
'Set to Slumber every 10 milliseconds '(This means
that clsSlumber will put the thread to sleep for ' 10
milliseconds at a time until the total time has elapsed)
mobjSlumber.SlumberInterval = 10
'Calculate total
number of milliseconds mdTotalTime = (((Val(txtHours.Text)
* 60) + Val(txtMins.Text)) * 60) + Val(txtSecs.Text)
'Start Slumbering mobjSlumber.Slumber
CLng(mdTotalTime * 1000)
'Reset form state
cmdStart.Caption = "Start" If Not mbInterrupted Then
Call Display("000.00.00.0000") End If
'UnLock
Input Boxes txtHours.Locked = False txtMins.Locked =
False txtSecs.Locked = False Exit Sub
ErrHandler: MsgBox Err.Description, vbCritical +
vbOKOnly, App.Title End Sub
Private Sub
Form_Load() On Error GoTo ErrHandler
pbTextBuffer.BackColor = vbBlack pbTextBuffer.Cls
pbTextBuffer.FontBold = True pbTextBuffer.FontSize =
24 pbTextBuffer.ForeColor = vbGreen
pbTextBuffer.ScaleMode = vbPixels
pbTextBuffer.AutoRedraw = True pbTextBuffer.Visible =
False
Set mobjSlumber = New clsSlumber
Me.ScaleMode = vbPixels Me.Show DoEvents Call
ConvertTime Exit Sub ErrHandler: MsgBox
Err.Description, vbCritical + vbOKOnly, App.Title End Sub
Private Sub Form_Unload(Cancel As Integer) Set
mobjSlumber = Nothing Set mobjProgBar = Nothing Set
mobjPieBar = Nothing End End Sub
Private Sub
mobjSlumber_Slumber() On Error GoTo ErrHandler
If
mobjSlumber.ElapsedMilliseconds > 0 Then mdCurrentTime
= mdTotalTime - CDbl(mobjSlumber.ElapsedMilliseconds / 1000)
Else mdCurrentTime = mdTotalTime End If
mdCurrentHours = Int(CStr(mdCurrentTime)) \ 3600
mdCurrentSecs = mdCurrentTime - (mdCurrentHours * 3600)
mdCurrentMins = Int(CStr(mdCurrentSecs)) \ 60
mdCurrentSecs = mdCurrentSecs - (mdCurrentMins * 60)
Call Display(Format$(mdCurrentHours, "000") & "."
& Format$(mdCurrentMins, "00") & "." &
Format$(mdCurrentSecs, "00.0000")) Exit Sub
ErrHandler: Err.Raise Err.Number, Err.Source,
"[frmCountdown.mobjSlumber_Slumber]" & Err.Description
End Sub
Private Sub Display(Text As String)
With pbTextBuffer .Cls .CurrentX = 0 .CurrentY
= 10 pbTextBuffer.Print Text BitBlt Me.hDC, .Left,
.Top, .ScaleWidth, .ScaleHeight, .hDC, 0, 0, SRCCOPY End
With End Sub
Private Sub ConvertTime() Call
Display(Format$(Val(txtHours.Text), "000") & "." &
Format$(Val(txtMins.Text), "00") & "." &
Format$(Val(txtSecs.Text), "00") & ".0000") End Sub
Private Sub txtHours_KeyUp(KeyCode As Integer, Shift
As Integer) Call ConvertTime End Sub
Private
Sub txtMins_Change() Call ConvertTime End Sub
Private Sub txtSecs_Change() Call ConvertTime
End Sub
2.สร้าง Class Module Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long) Private Declare Function
QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As
Large) As Long Private Declare Function
QueryPerformanceFrequency Lib "kernel32" (lpFrequency As
Large) As Long Private Type Large Low As Long High
As Long End Type Private Const CONST_2_31 =
2147483648# '2^31 Private Const CONST_2_32 = 4294967296#
'2^32 Private miInterval As Long Private mbWakeUp As
Boolean Private mdFrequency As Double Private
mdElapsedSeconds As Double
Public Event Slumber()
Private Sub Class_Initialize() Dim mlPerfFrequency
As Large
QueryPerformanceFrequency mlPerfFrequency
mdFrequency = CDouble(mlPerfFrequency)
If
mdFrequency = 0 Then Err.Raise vbObjectError,
"[clsSlumber.Class_Initialize]",
"[clsSlumber.Class_Initialize]Error while initializing
clsSlumber!"
miInterval = 500 '0.5 Seconds End Sub
Public Property Get SlumberInterval() As Long On
Error GoTo GetSlumberInterval_Err SlumberInterval =
miInterval Exit Property
GetSlumberInterval_Err:
Err.Raise Err.Number, Err.Source,
"[clsSlumber.Get.SlumberInterval]" & Err.Description
End Property
Public Property Let
SlumberInterval(MilliSeconds As Long) On Error GoTo
LetSlumberInterval_Err If MilliSeconds <= 0 Then
Err.Raise vbObjectError, "clsSlumber.Let.SlumberInterval",
"SlumberInterval must be greater than 0!" miInterval =
MilliSeconds Exit Property
LetSlumberInterval_Err:
Err.Raise Err.Number, Err.Source,
"[clsSlumber.Let.SlumberInterval]" & Err.Description
End Property
Public Property Get
ElapsedMilliseconds() As Double On Error GoTo
ElapsedMilliseconds_Err 'Timing is accurate to 0.1
Milliseconds ElapsedMilliseconds =
Int(CStr(mdElapsedSeconds * 10000)) / 10 Exit Property
ElapsedMilliseconds_Err: Err.Raise Err.Number,
Err.Source, "[clsSlumber.Get.ElapsedMilliseconds]" &
Err.Description End Property
Private Function
CDouble(LargeNum As Large) As Double On Error GoTo
ErrHandler With LargeNum If .Low > 0& Then
CDouble = .Low + (.High * CONST_2_32) Else CDouble
= CONST_2_31 + CDbl(.Low And &H7FFFFFFF) + (.High *
CONST_2_32) End If End With Exit Function
ErrHandler: Err.Raise Err.Number, Err.Source,
"[clsSlumber.CDouble]" & Err.Description End Function
Private Function DiffDbl(Big As Large, Small As Large)
As Double On Error GoTo ErrHandler With Small If
.Low > 0& Then If Big.Low > 0& Then
DiffDbl = Big.Low - .Low + (Big.High - .High) * CONST_2_32
Else DiffDbl = CONST_2_31 + CDbl(Big.Low And
&H7FFFFFFF) - .Low + (Big.High - .High) * CONST_2_32
End If Else If Big.Low > 0& Then
DiffDbl = Big.Low - CONST_2_31 - CDbl(.Low And
&H7FFFFFFF) + (Big.High - .High) * CONST_2_32 Else
DiffDbl = CDbl(Big.Low And &H7FFFFFFF) - CDbl(.Low And
&H7FFFFFFF) + (Big.High - .High) * CONST_2_32 End If
End If End With Exit Function
ErrHandler:
Err.Raise Err.Number, Err.Source, "[clsSlumber.DiffDbl]"
& Err.Description End Function
Public Sub
Slumber(MilliSeconds As Long) On Error GoTo Slumber_Err
Dim dSecs As Double Dim lCounterStart As Large Dim
lCounterEnd As Large
If MilliSeconds <= 0 Then
Err.Raise vbObjectError, "[clsSlumber.Slumber]", "Parameter
MilliSeconds must be greater than 0!"
dSecs =
MilliSeconds / 1000
mbWakeUp = False
mdElapsedSeconds = 0 QueryPerformanceCounter
lCounterStart Do Sleep miInterval
On Error
GoTo SlumberEvent_Err RaiseEvent Slumber DoEvents
On Error GoTo Slumber_Err QueryPerformanceCounter
lCounterEnd
mdElapsedSeconds = DiffDbl(lCounterEnd,
lCounterStart) / mdFrequency
If mdElapsedSeconds >=
dSecs Or mbWakeUp Then Exit Do Loop mdElapsedSeconds =
dSecs Exit Sub
Slumber_Err: Err.Raise
Err.Number, Err.Source, "[clsSlumber.Slumber]" &
Err.Description
SlumberEvent_Err: Err.Raise
Err.Number, Err.Source, "[clsSlumber.Slumber][Slumber.Event]"
& Err.Description End Sub
Public Sub WakeUp()
On Error GoTo WakeUp_Err mbWakeUp = True Exit Sub
WakeUp_Err: Err.Raise Err.Number, Err.Source,
"[clsSlumber.WakeUp]" & Err.Description End Sub
แล้วส่ง output ทาง printer port
ดูว่ามันได้รึเปล่านะผมก็ไม่แน่ใจหรอก ถ้าจะเอา code
ก็เมล์มานะครับ จะอัพโหลดทีก็ยุ่งยาก | |
| กลับไปข้างบน |
|
 |
betta บุคคลทั่วไป
|
ตอบ: อ. เมย. 04, 2006
9:54 am ชื่อกระทู้:
ขอบคุณคับ |
 |
|
ขอบคุณพี่แมงเม่ามากๆ เลย
จะลองดูคับ แต่ยังไงผมรบกวนขอ Code ด้วยคับ (ผมกลัวว่าจะใส่
component พลาด อ่ะคับ) Suthichai7@yahoo.com
ขอบคุณล่วงหน้าคับ | |
| กลับไปข้างบน |
|
 |
betta บุคคลทั่วไป
|
ตอบ: อ. เมย. 04, 2006
10:57 am ชื่อกระทู้:
หนังสือ VB ควบคุม Hardware |
 |
|
พี่ๆ คับ
ผมพึ่งเริ่มหัดเขียน VB ติดต่อ hardware อ่ะคับ เลยอยากจะถามว่า
เราสามารถหาหนังสือหรือบทความที่เกี่ยวกับพื้นฐานจนถึงระดับกลางทางด้านนี้ได้จากไหนครับ
เพราะบางทีมาอ่านในกระทู้แล้ว Code บางตัวไม่เข้าใจ เช่นพวก
API อ่ะคับ พี่ๆ พอช่วยแนะนำได้ไหมคับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. เมย. 04, 2006
5:36 pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
พี่ๆ คับ ผมพึ่งเริ่มหัดเขียน VB ติดต่อ
hardware อ่ะคับ เลยอยากจะถามว่า
เราสามารถหาหนังสือหรือบทความที่เกี่ยวกับพื้นฐานจนถึงระดับกลางทางด้านนี้ได้จากไหนครับ
เพราะบางทีมาอ่านในกระทู้แล้ว Code บางตัวไม่เข้าใจ
เช่นพวก API อ่ะคับ พี่ๆ
พอช่วยแนะนำได้ไหมคับ | ผมเห็นที่ดวงกมลและนายอินทร์ที่เชียงใหม่นะ
เนื้อหาจะเป็นการติดต่อ Hardware ผ่าน printer
port,serial port และ joystick ด้วย visual basic เนื้อหาอื่น ๆ
ก็มีเช่นสอนการบัดกรี และรู้จักตัวต้านทาน ไดโอดเปล่งแสง
เป็นหนังสือพื้นฐานที่ดีทีเดียว
แต่การเขียนโปรแกรมค่อนข้างกำปั้นทุบดินไปแต่ก็ใช้งานได้ดี[/url] | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: พ. เมย. 05, 2006
10:48 am ชื่อกระทู้:
function sleep |
 |
|
พี่คับ ผมมีปัญหาในการใช้
Function sleep คับ คือเมื่ออ่านใน MSDN มันบอกว่า
สามารถทำงานเป็นหน่วย milisecได้ แต่เมื่อทดลองแล้ว
เมื่อลดเวลาต่ำกว่า 100 milisec แล้ว โปรแกรมจะรวนคือทำงานช้าลง
ผมเขียนโปรแกรมดังนี้ พี่ๆ ช่วยดูหน่อยคับว่ามันเกิดอะไรขึ้น
ผมทำพลาดตรงไหนคับ
____________________________________________________
VERSION 5.00 Begin VB.Form Form1 Caption =
"Sleep" ClientHeight = 1845 ClientLeft = 60
ClientTop = 450 ClientWidth = 4470 LinkTopic =
"Form1" ScaleHeight = 1845 ScaleWidth = 4470
StartUpPosition = 3 'Windows Default Begin VB.TextBox
Text2 Height = 375 Left = 1560 TabIndex = 2
Text = "0" Top = 960 Width = 1215 End
Begin VB.CommandButton Command1 Caption = "Start"
Height = 495 Left = 2880 TabIndex = 1 Top =
960 Width = 1335 End Begin VB.TextBox Text1
Height = 375 Left = 1560 TabIndex = 0 Text =
"0" Top = 480 Width = 1215 End Begin VB.Label
Label3 Caption = "ใส่เวลา(วินาที)=" Height = 375
Left = 360 TabIndex = 5 Top = 960 Width = 1095
End Begin VB.Label Label2 Caption = "ใส่จำนวนนับ="
Height = 375 Left = 480 TabIndex = 4 Top = 600
Width = 1095 End Begin VB.Label Label1 Height
= 375 Left = 2880 TabIndex = 3 Top = 480 Width
= 1215 End End Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False Attribute
VB_Creatable = False Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False Private Declare Sub Sleep
Lib "kernel32" (ByVal dwMilliseconds As Long)
Private
Sub Command1_Click() Dim count As Integer 'ตัวนับ Dim
TSleep As Integer 'ค่าหน่วงเวลาของ Sleep Dim Number As
Integer 'ผลลัพธ์ ที่แสดงออกมาที่ Label1 If Text1.Text = 0
Or Text2.Text = 0 Then MsgBox
("กรุณาใส่จันวนนับและเวลาให้ถูกต้อง") Else Number = 0
count = Text1.Text TSleep = Val(Text2.Text * 1000) /
Val(Text1.Text) Do While (count) count = count - 1
Sleep (TSleep) Number = Number + 1 Label1.Caption
= Number Loop End If End Sub
______________________________________________________
copy วางใน notepage แล้ว save เป็น *.frm
ขอความช่วยเหลือหน่อยนะคับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. เมย. 05, 2006
2:53 pm ชื่อกระทู้:
|
 |
|
| คำพูด: |
| พี่คับ ผมมีปัญหาในการใช้ Function sleep
คับ คือเมื่ออ่านใน MSDN มันบอกว่า สามารถทำงานเป็นหน่วย
milisecได้ แต่เมื่อทดลองแล้ว เมื่อลดเวลาต่ำกว่า 100
milisec แล้ว โปรแกรมจะรวนคือทำงานช้าลง
ผมเขียนโปรแกรมดังนี้ พี่ๆ
ช่วยดูหน่อยคับว่ามันเกิดอะไรขึ้น ผมทำพลาดตรงไหนคับ
|
Sleep
น่ะ OK แล้วครับแต่มันมีปัญหาเรื่อง loop ของโปรแกรม
ลองแบบนี้ก็จะแก้ปัญหาได้
Do While (count) DoEvents
'ให้ interupt cpu ได้ count = count - 1 | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: พฤ. เมย. 06, 2006
12:35 am ชื่อกระทู้:
|
 |
|
| ขอบคุณพี่แมงเม่ามากๆเลยคับ
@^-^@ | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: พฤ. เมย. 06, 2006
10:59 pm ชื่อกระทู้:
พี่คับผมโดนผีหลอก |
 |
|
พี่แมงเม่าคับ
เมื่อคืนผมลองเพิ่ม code DoEvents เข้าไปตามที่พี่บอก
มันใช้งานได้ดีมากเลยคับ ทำงานถูกต้อง
แต่พอปิดเครื่องแล้วมาเปิดเครื่องตอนสายๆ
เปิดโปรแกรมขึ้นมา(ยังไม่มีการแก้ code เลยอ่ะคับ)
มันกลับรวนเหมือนเดิมอีกคือนับได้ประมาณ 100 หน่วย ต่อ วินาที
ที่ Sleep(1) แต่ถ้า Sleep(0) แล้วจะนับเร็วมาก มากกว่า 1000
หน่วยต่อวินาทีเลยคับ ผมสงสัยว่ามันเกิดอะไรขึ้นคับ
แล้วพอจะมีทางแก้ได้อย่างไรคับ  | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: พฤ. เมย. 06, 2006
11:05 pm ชื่อกระทู้:
Code ที่ใส่เพิ่มคับ |
 |
|
ผมใส่ถูกหรือเปล่าคับ
VERSION 5.00 Begin VB.Form Form1 Caption =
"Sleep" ClientHeight = 1845 ClientLeft = 60
ClientTop = 450 ClientWidth = 4470 LinkTopic =
"Form1" ScaleHeight = 1845 ScaleWidth = 4470
StartUpPosition = 3 'Windows Default Begin VB.TextBox
Text2 Height = 375 Left = 1560 TabIndex = 2
Text = "0" Top = 960 Width = 1215 End
Begin VB.CommandButton Command1 Caption = "Start"
Height = 495 Left = 2880 TabIndex = 1 Top =
960 Width = 1335 End Begin VB.TextBox Text1
Height = 375 Left = 1560 TabIndex = 0 Text =
"0" Top = 480 Width = 1215 End Begin VB.Label
Label3 Caption = "ใส่เวลา(วินาที)=" Height = 375
Left = 360 TabIndex = 5 Top = 960 Width = 1095
End Begin VB.Label Label2 Caption = "ใส่จำนวนนับ="
Height = 375 Left = 480 TabIndex = 4 Top = 600
Width = 1095 End Begin VB.Label Label1 Height
= 375 Left = 2880 TabIndex = 3 Top = 480 Width
= 1215 End End Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False Attribute
VB_Creatable = False Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False Private Declare Sub Sleep
Lib "kernel32" (ByVal dwMilliseconds As Long)
Private
Sub Command1_Click() Dim count As Long Dim TSleep As
Integer Dim Number As Integer If Text1.Text = 0 Or
Text2.Text = 0 Then MsgBox
("กรุณาใส่จำนวนนับและเวลาให้ถูกต้อง") Else Number = 0
count = Text1.Text TSleep = Val(Text2.Text * 1000) /
Val(Text1.Text) Do While (count)
DoEvents
'<----------ใส่เพิ่มเข้ามาถูกหรือเปล่าคับ****************
count = count - 1 Sleep (TSleep) Number =
Number + 1 Label1.Caption = Number Loop End If
End Sub | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: ศ. เมย. 07, 2006
12:11 am ชื่อกระทู้:
อาถรรพณ์ Thaiio |
 |
|
พี่คับ
อย่าว่าอะไรผมเลยนะคับผมไม่ทราบว่าเหตุการณ์นี้เกิดขึ้นได้อย่างไร
ตอนนี้ผมสามารถทำให้โปรแกรมทำงานได้ถูกต้องแล้วแต่ว่ามันต้องเปิด
VB ควบคู่ไปกับ Web Thaiio หรือไม่ก็ Pantip คับ
ผมกับเพื่อนทดลองหลายครั้งแล้วโดยทำดังนี้
1. เปิด VB
อย่างเดียว -> โปรแกรมรวน(นับช้า) 2. เปิด VB +
ต่อเนทโดยไม่เปิด Web -> โปรแกรมรวน 3. เปิด VB + ต่อเนท
เปิด IE หน้าเปล่า -> โปรแกรมรวน 4. เปิด VB + ต่อเนท
เปิด Web Google -> โปรแกรมรวน 5. เปิด VB + ต่อเนท เปิด
Web Thaiio หรือ Pantip -> โปรแกรมใช้งานได้ตามปรกติ 6.
เปิด VB + ต่อเนท เปิด Web อื่นๆ -> โปรแกรมรวน 7. copy
หน้าแรก web thaiio แล้ว off line จากนั้นรัน VB และหน้าแรก
thaiio ที่ copy ไว้-> โปรแกรมใช้งานได้ตามปรกติ 8.รัน VB
แล้วปิดหน้าแรก thaiio ที่ copy ไว้-> โปรแกรมรวน 9.copy
โปรแกรม VB ไปเปิดเครื่องที่ไม่ได้ต่อเนท(ไม่มีโมเดม) ->
โปรแกรมรวน 10. copy โปรแกรม VB + copy หน้าแรก web thaiio
ไปเปิดพร้อมกันในเครื่องที่ไม่ได้ต่อเนท ->
โปรแกรมใช้งานได้ตามปรกติ
เลยได้ข้อสรุปว่า หน้าแรก
Thaiio มีผลต่อการทำงานของ Function Sleep ของ VB !!!!!
เป็นไปได้อย่างไรคับ ผมขอรบกวนพี่ช่วยผมด้วยคับ
งงว่ามันเกิดขึ้นได้อย่างไร ตอนนี้ผมใช้ Windows xp Home SP2 และ
Windows xp Pro SP2 อยู่คับ ผมลองทั้ง Notebook และ PC
แล้วได้ผลเหมือนกันคับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: ศ. เมย. 07, 2006
9:40 am ชื่อกระทู้:
|
 |
|
| แปลกครับ
ส่งโปรแกรมมาให้ดูหน่อยได้ไหม | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: ศ. เมย. 07, 2006
1:48 pm ชื่อกระทู้:
|
 |
|
| โปรแกรมตามข้างบนเลยครับ
copy แล้ว Paste ลงใน Note page แล้ว Save เป็น *.frm
แล้วลองตามที่ผมทดลองได้เลยคับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อาทิตย์ เมย. 09,
2006 4:45 pm
ชื่อกระทู้: |
 |
|
ผมทดลองกับ VB6 ก็เหมือนกัน
ปัญหาเกิดจากมีการแย่ง memory ของ application เพราะว่า sleep
function จะเรียกผ่าน system file ชื่อ kernel32.dll
ซึ่งมีหน้าที่หลักคือการบริหาจัดการ memory ของระบบ window
ทั้งหมด
Microsoft เค้าก็แนะนำว่าไม่ควรใช้ sleep
fuction
เพราะมันมีข้อเสียเมื่อรันหลายโปรแกรมพร้อมกันจะทำให้โปรแกรมทำงานไม่(ค่อย)ถูกต้อง
"Many programmers use the Sleep API function to pause
the execution of their programs. One of the disadvantages of using
Sleep is that it pauses the thread that the application is
running in, and that any window that the application has open
will not repaint properly. This may present an unattractive
user interface to the user. An alternative to Sleep is
to use SetWaitableTimer, which will allow the screen to
repaint, receive DDE messages, and so forth"
จึงแนะนำว่าให้ใช้ SetWaitableTimer ก็ลองทำตาม link
นี้ครับ http://support.microsoft.com/kb/q231298/[/b] | |
| กลับไปข้างบน |
|
 |
non บุคคลทั่วไป
|
ตอบ: จ. เมย. 10, 2006
9:49 pm ชื่อกระทู้:
to you kathi |
 |
|
ธินายลองเอาโค้ดข้างล่างนี้ไปประยุกต์ดูน่ะ
Private Sub Command1_Click() hThread =
CreateThread(ByVal 0&, ByVal 0&, AddressOf
AsyncThread, ByVal 0&, ByVal 0&, hThreadID)
CloseHandle hThread End Sub
Private Sub
Form_Unload(Cancel As Integer) 'If the thread is still
running, close it If hThread <> 0 Then
TerminateThread hThread, 0 End Sub
'In a module Declare Sub
Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Declare Function CreateThread Lib "kernel32"
(lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal
lpStartAddress As Long, lpParameter As Any, ByVal
dwCreationFlags As Long, lpThreadID As Long) As Long
Declare Function TerminateThread Lib "kernel32" (ByVal
hThread As Long, ByVal dwExitCode As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal
hObject As Long) As Long
Public hThread As Long,
hThreadID As Long
Public Sub AsyncThread() 'Let
this thread sleep for 10 seconds Sleep 10000 hThread =
0 End Sub
 | |
| กลับไปข้างบน |
|
 |
wintrak บุคคลทั่วไป
|
ตอบ: จ. เมย. 10, 2006
10:36 pm ชื่อกระทู้:
แหล่งรวม วงจร โปรเจค อิเล็ก ไมโคร ฟรี ฟรี |
 |
|
ขอแนะนำ เว็บที่รวม วงจร
โปรเจค อิเล็ก ไมโคร น่าสนใจมาก มีแลป ไมโคร ให้ทดลอง 16F628
http://www.elec-micro.com/
มีทั้งวงจร อิเล็กทรอนิกส์ โปรเจคอิเล็กทรอนิกส์
การทดลองไมโคร 16F628 โครงงานไมโคร ที่สำคัญ ข้อมูลฟรี อ้อ
ภาษาอังกฤษ ครับ | |
| กลับไปข้างบน |
|
 |
jai บุคคลทั่วไป
|
ตอบ: อ. เมย. 11, 2006
7:43 am ชื่อกระทู้:
ขอ code เกียว วันเดือน ปี |
 |
|
ผมกำลังศึกษาเกี่ยวกับการคำนวณเรื่องของวันเดือนปี
เช่น 1. วันนี้วันที่ 11/04/2549 นับไปอีก 2 ปี 2 เดือน
2 วัน จะไปครบวันที่อะไร เดือนอะไร พ.ศ.อะไร จะต้องเขียนcode
อย่างไร 2. วันนี้วันที่ 11/04/2549 นับถึงวันที่ 15/05/2550
จะได้จำนวนกีปีกี่เดือนกี่วัน ต้องเขียนcode อย่างไร
ขอคุณที่ช่วยแนะนำล่วงหน้าครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. เมย. 11, 2006
7:57 am ชื่อกระทู้:
|
 |
|
ใช้ datediff function
iSecond = DateDiff("s", Now, "13 April") 'iMinute
= DateDiff("n", Now, "13 April") 'iHour = DateDiff("h",
Now, "13 April") 'iDay = DateDiff("d", Now, "13 April")
'iMonth = DateDiff("m", Now, "13 April") 'iYear =
DateDiff("y", Now, "13 April")
ลอง search ใน google
"DateDiff" มี code ตัวอย่างเยอะ | |
| กลับไปข้างบน |
|
 |
kathi บุคคลทั่วไป
|
ตอบ: พ. เมย. 12, 2006
1:38 pm ชื่อกระทู้:
|
 |
|
ขอบคุณพี่แมงเม่าและNon มากๆ
เลยคับ ได้ผลยังไงแล้วจะมาบอกคับ  | |
| กลับไปข้างบน |
|
 |
โอม บุคคลทั่วไป
|
ตอบ: ส. เมย. 15, 2006
3:21 pm ชื่อกระทู้:
ผมขอโค้ด motion detect คับ |
 |
|
| ผมขอโค้ด motion detect คับ
ผมจะนำไปจับบาร์โค้ดด้วย webcam คับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. เมย. 18, 2006
11:37 am ชื่อกระทู้:
Code of the day |
 |
|
Code of the day: Database
ส่วนตัวกับ widow registry
เอาไว้เก็บ setting ได ๆ
โดยไม่ต้องสร้างไฟล์ database ให้ยุ่งยาก
Option
Explicit Dim i As Integer Private Sub Command2_Click()
Randomize i = Int(15 * Rnd) + 1 Me.BackColor =
QBColor(i) End Sub Private Sub Form_Load() Call
loadsetting End Sub Private Sub Command1_Click()
Call save End Sub Sub loadsetting() Form1.Top
= GetSetting("VB", "FormSettings", "FormTop", Form1.Top)
Form1.Left = GetSetting("VB", "FormSettings", "FormLeft",
Form1.Left) Form1.BackColor = GetSetting("VB",
"FormSettings", "Backcolor", Form1.BackColor)
Option1.Value = GetSetting("VB", "FormSettings", "Value1",
Option1.Value) Option2.Value = GetSetting("VB",
"FormSettings", "Value2", Option2.Value) Option3.Value =
GetSetting("VB", "FormSettings", "Value3", Option3.Value)
Text1.Text = GetSetting("VB", "FormSettings", "Text",
Text1.Text) End Sub Sub save() savesetting "VB",
"FormSettings", "FormTop", Form1.Top savesetting "VB",
"FormSettings", "FormLeft", Form1.Left savesetting "VB",
"FormSettings", "Backcolor", Form1.BackColor savesetting
"VB", "FormSettings", "Value1", Option1.Value savesetting
"VB", "FormSettings", "Value2", Option2.Value savesetting
"VB", "FormSettings", "Value3", Option3.Value savesetting
"VB", "FormSettings", "Text", Text1.Text Unload Me End
Sub
 | |
| กลับไปข้างบน |
|
 |
โอม บุคคลทั่วไป
|
ตอบ: พ. เมย. 19, 2006
8:10 am ชื่อกระทู้:
ขอโค้ด motion detection คับ |
 |
|
ขอลิสโค้ด motion detection
คับ ผมจะลองใช้จับภาพบาร์โค้ด แล้วใข้ qsbarcode39
แปลงภาพเป็นรหัส ผม download thaiwara ไม่ได้
ผมอยากขอโค้ดพี่แมงเม่าด้วยคับ
http://www.9down.com/ 15 most read
stories
· 1: Microsoft Windows Genuine Advantage
Cracked! - (515508 reads) · 2: Hiren's BootCD v7.2 With
keyboard Patch + Boot Fix - (335830 reads) · 3: NERO 7
Premium + KeyGen - (333846 reads) · 4: Hiren's BootCD 6.0
+ Keyboard Patch - (269029 reads) · 5: Adobe Photoshop CS2
9.0 Final + keygen & acitvater - (253473 reads) · 6:
Symantec System 2005 Download - (246376 reads) · 7: Style
XP 2.0 final + Keygen - (175591 reads) · 8: Nero Burning
Rom v7.0.1.2 Final + ORiON's KEYGEN - (132752 reads) · 9:
Alcohol120% v1.9.2.1705 Retail iNCL *wORKiNG Key* - (130797
reads) · 10: Internet Explorer 7.0 Beta 1 for Windows XP -
(126699 reads) · 11: K-Lite v2.6 PR1 - (126200 reads)
· 12: WinRAR 3.51 + Working Key!!! - (125562 reads) ·
13: Google Earth Free/Pro/Plus v3.0.0395.0 - (116568 reads)
· 14: WinDVD Platinum 6 v6.0.6.42 + KeyGen - (115253
reads) · 15: Ahead Nero v7.0 Ultra Edition Incl Keymaker
(RiPED) - (113126 reads)
15 most voted | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. เมย. 19, 2006
10:26 am ชื่อกระทู้:
|
 |
|
โค๊ด Motion detection
เอา component มาวาง เสียบกล้องแล้วใช้ได้เลย
Private Declare Function SendMessage Lib "USER32"
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long,
ByVal wParam As Long, lParam As Any) As Long Private
Declare Function capCreateCaptureWindow Lib "avicap32.dll"
Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As
String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As
Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal
hwndParent As Long, ByVal nID As Long) As Long Private
mCapHwnd As Long Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035 Private Const
GET_FRAME As Long = 1084 Private Const COPY As Long = 1054
Dim P() As Long Dim POn() As Boolean
Dim
inten As Integer
Dim i As Integer, j As Integer
Dim k As Integer
Dim Ri As Long, Wo As Long
Dim c As Long, c2 As Long
Dim R As Integer, G
As Integer, B As Integer Dim R2 As Integer, G2 As Integer,
B2 As Integer
Dim Tppx As Single, Tppy As Single
Dim Tolerance As Integer
Dim Counter As Integer
Private Declare Function GetTickCount Lib "kernel32"
() As Long Dim LastTime As Long
Option Explicit
Private Sub Command1_Click() Static i As Integer
i = i + 1 i = i Mod 2 If i <> 0 Then
STOPCAM command1.Caption =
"àÅè¹" Else
STARTCAM command1.Caption =
"ËÂØ´" End If
End Sub
Private Sub detex_Click() Check1.Value
= Checked
End Sub
Private Sub exitja_Click()
STOPCAM Unload Me End Sub
Private Sub
Form_Load() Timer2.Enabled = False Timer3.Enabled =
False Label1.Alignment = 2 Label1.Caption = vbCrLf
& ".....Waiting while initialize....."
inten = 25
Tolerance = 35 Tppx = Screen.TwipsPerPixelX Tppy =
Screen.TwipsPerPixelY
ReDim POn(640 / inten, 480 /
inten) ReDim P(640 / inten, 480 / inten) STARTCAM
End Sub
Private Sub shot_Click() STOPCAM
SavePicture Picture1.Image, App.Path & "\img1\image"
& Counter & ".bmp" Counter = Counter + 1 End
Sub
Private Sub startja_Click() STARTCAM End
Sub
Private Sub stopja_Click() STOPCAM End Sub
Private Sub Timer1_Timer() SendMessage mCapHwnd,
GET_FRAME, 0, 0 SendMessage mCapHwnd, COPY, 0, 0
Picture1.Picture = Clipboard.GetData Clipboard.Clear
Ri = 0 Wo = 0
LastTime = GetTickCount
For i = 0 To 640 / inten - 1 For j = 0 To 480 /
inten - 1 c = Picture1.Point(i * inten * Tppx, j * inten *
Tppy) R = c Mod 256 c2 = P(i, j) R2 = c2 Mod 256
If Abs(R - R2) < Tolerance Then Ri = Ri + 1
POn(i, j) = True
Else Wo = Wo + 1 P(i, j)
= Picture1.Point(i * inten * Tppx, j * inten * Tppy)
Picture1.PSet (i * inten * Tppx, j * inten * Tppy), vbRed
POn(i, j) = False End If Next j Next i
Timer2.Enabled = True End Sub
Sub STOPCAM()
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
Timer1.Enabled = False End Sub
Sub STARTCAM()
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0,
0, 640, 480, Me.hwnd, 0) DoEvents SendMessage
mCapHwnd, CONNECT, 0, 0 Timer1.Enabled = True End Sub
 | |
| กลับไปข้างบน |
|
 |
โอม บุคคลทั่วไป
|
ตอบ: พ. เมย. 19, 2006
2:58 pm ชื่อกระทู้:
|
 |
|
| ขอขอบคุณพี่แมงเม่าุึึึคับ
ขอให้พี่แมงเม่ามีแต่ึความสุขและคววมร่ำรวยๆ ตลอดไป | |
| กลับไปข้างบน |
|
 |
นิ้มครับ บุคคลทั่วไป
|
ตอบ: พฤ. เมย. 20, 2006
12:57 am ชื่อกระทู้:
|
 |
|
คือ อยากทราบว่า วิธีเขียน
โปรแรกม แบบ ว่า ดึงภาพหน้าจอ ของคอม พิวเตอร์ระยะไกลอะครับ
ที่เค้าเรียกกัน ว่า Remote Desktop อะครับ พี่ แมงเม่า
พอมีโปรแกรมอย่างว่าไหมครับ
ถ้ายังไง ช่วย แนะนำผม
ด้วยน้ะครับ ขอบคุณมากครับ | |
| กลับไปข้างบน |
|
 |
00 บุคคลทั่วไป
|
ตอบ: จ. เมย. 24, 2006
10:13 am ชื่อกระทู้:
อยากทราบเกี่ยวกับำแบบexcel |
 |
|
| คือต้องการทำโปรเจคที่มีการเรียกflie จาก excel
แล้วมาเก็บลงaccess แต่ยังไม่แนวทางเลยครับ ช่วยแนะนำด้วยครับ
หรือมีโค้ดตัวอย่างด้วยยิ่งดีครับ ส่งมาที่ lukplarnoi@hotmail.com
ขอบคุณครับ | |
| กลับไปข้างบน |
|
 |
justyola บุคคลทั่วไป
|
ตอบ: พ. พค. 03, 2006
11:10 am ชื่อกระทู้:
เลื่อกส่งLPT1 หรือLPT2โดยใช้combo box click เลื่อก |
 |
|
พอจะมีวิธีทีจะเลือกport
LPT1 หรือ LPT2 ใช้ส่งข้อมูลออก โดยเราจะใช้ combo box
เลื่อก ช่วยpost source code ให้ด้วยนะครับ
คือวากําลังเพิ่งหัด การinterface
หรือชวยลงเบอร์โทรด้วยนะครับจะได้โทรไปปรึกษาปัญหาVB6.0 ครับ
จะเป็นพระคูณอยางยิ่ง | |
| กลับไปข้างบน |
|
 |
คนทำโปรเจค บุคคลทั่วไป
|
ตอบ: ส. พค. 06, 2006 2:40
pm ชื่อกระทู้:
อยากรู้การเขียน ซอสโค๊ต ของโปรแกรมแสดงผลสัญญาณ ECG |
 |
|
ผมทำโปรเจค
กำลังจะจบการศึกษา ต้องการทราบการเขียนโปรแกรม vb
ในการแสดงผลสัญญาณคลื่นไฟฟ้าหัวใจครับ | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: จ. พค. 08, 2006 8:50
pm ชื่อกระทู้:
|
 |
|
พี่แมงเม่าครับ
ช่วยเขียนcode พวกปุ่ม Find Replace Goto
และการเปิดไฟล์จากการOpen With ทั้งหมดนี่แบบNotepadเลยนะครับ
*หมายเหตุ
ปุ่มพวกนี่ผมจะทำไปใช้ในtextboxนะครับ ขอย้ำว่าtextbox
รบกวนมากไปหน่อยไม่ได้ทั้งหมดไม่เป็นไรครับ ขอคุณอย่างสูงครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. พค. 09, 2006 9:18
am ชื่อกระทู้:
|
 |
|
ง่ายๆ เลยก็
Text1 =
Replace(Text1, Text2, Text3)
หรือทำฟังก์ชัน 'Find:
Public Function FindAndHighlight(txt1 As TextBox,
SearchString As String, CaseSensitive As Boolean, Optional
StartIndex As Integer) Dim x As Integer On Error GoTo
err Dim xSelStart As Integer Dim xSelLength As Integer
If StartIndex <= 0 Then x = 1 Else x = StartIndex
If CaseSensitive = True Then xSelStart = InStr(x,
txt1.Text, SearchString) - 1 Else xSelStart = InStr(x,
LCase(txt1.Text), LCase(SearchString)) - 1 End If
xSelLength = Len(SearchString) txt1.SelStart =
xSelStart txt1.SelLength = xSelLength err: End
Function
Replace: Public Function
ReplaceAndHighLight(txt1 As TextBox, ReplaceWith As String)
Dim xSelStart As Integer Dim xSelLength As Integer
On Error GoTo err xSelStart = txt1.SelStart
xSelLength = Len(ReplaceWith) txt1.SelText =
ReplaceWith txt1.SelStart = xSelStart txt1.SelLength =
xSelLength err: End Function | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: อ. พค. 09, 2006
11:25 am ชื่อกระทู้:
|
 |
|
| แล้ว การเปิดไฟล์จากการOpen
With
ละครับเปิดไฟล์พวกtxtอะแล้วมาอยู่ในtextboxของเราเลย | |
| กลับไปข้างบน |
|
 |
Slayer
เข้าร่วมเมื่อ: 09 พค. 2006 ตอบ:
1
|
ตอบ: อ. พค. 09, 2006 4:01
pm ชื่อกระทู้:
|
 |
|
พี่แมงเม่าครับคือว่าผมใช้
CommonDialog
ในการให้เลือกสีและแสดงออกมาเป็นรหัสสีอ่าครับแต่ว่าสีมันออกมาเป็นพวกตัวเลขอย่างเดียวเช่น
สีส้ม = 33023 สีแดง = 255 สีดำ = 0
แต่ผมต้องการให้มันออกมาเป็นอีกแบบเช่น
สีขาว =
FFFFFF สีแดง = FF0000 สีดำ = 000000
ไม่ทราบว่าต้องทำอย่างไรเหรอครับ  | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: อ. พค. 09, 2006 5:47
pm ชื่อกระทู้:
|
 |
|
convert RGB เป็น HEX
ตรง ๆ เลยก็
HEX = HEX(RGB code)
เช่น
HEX = HEX(Text1.Text)
หรือจะเขียนในรูปแบบฟังก์ชัน
Function RgbToHex(ByVal Red As Integer, ByVal Green As
Integer, ByVal Blue As Integer) As Integer txtHex.Text =
"" If Len(Hex(Red)) = 1 Then txtHex.Text = txtHex.Text
& "0" End If txtHex.Text = txtHex.Text &
Hex(Red) If Len(Hex(Green)) = 1 Then txtHex.Text =
txtHex.Text & "0" End If txtHex.Text = txtHex.Text
& Hex(Green) If Len(Hex(Blue)) = 1 Then
txtHex.Text = txtHex.Text & "0" End If
txtHex.Text = txtHex.Text & Hex(Blue) End
Function | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: อ. พค. 09, 2006 5:51
pm ชื่อกระทู้:
|
 |
|
แล้ว การเปิดไฟล์จากการOpen
With ละครับเปิดไฟล์พวกtxtอะแล้วมาอยู่ในtextboxของเราเลย
งืมขอปุ่มGotoด้วยก็ดีนะครับ
ขอบคุณพี่แมงเม่ามากคับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. พค. 10, 2006
10:43 am ชื่อกระทู้:
|
 |
|
Open CommonDialog1.FileName
For Input As #1 While Not EOF(1) Line Input #1, aa
bb = bb & aa & vbCrLf Wend Text1.Text = bb
Close #1 Exit Sub
แต่ถ้าเป็น RichTextBox1
ก็จะง่ายกว่า
RichTextBox1.LoadFile
CommonDialog1.FileName | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: พ. พค. 10, 2006 7:50
pm ชื่อกระทู้:
|
 |
|
ผมว่าพี่เข้าจัยผิดรึป่าวครับ
การOpenWithแบบนี่นะครับ
ผมลองทำแล้วมันเปิดโปรแกรมผมขึ้นมาแต่ข้อมูลในไฟล์textมันไม่มาอยู่ในtextboxของผมน่ะครับ
หรือพี่ให้codeมาถูกแล้ว
โปรดชี้แจงด้วยครับว่ามันต้องใส่ในEventไหน
ถ้าให้ดีกระรุนาแอดมาหาผมหน่อยนะครับpanotza_ja@hotmail.com | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พฤ. พค. 11, 2006
11:33 am ชื่อกระทู้:
|
 |
|
ถ้าเปิดไฟล์จาก Cmdlg
มันก็ถูกแล้วนะครับ
1. คลิก open file 2. เลือกไฟล์
*.* หรือ *.txt ==> FileName CommonDialog1.Filter =
"Text files|*.txt|HTML Files (*.html)|*.html|All Files
(*.*)|*.*" CommonDialog1.ShowOpen 3. Load
ชื่อไฟล์เพื่อดึงข้อมูลลง textbox Open
CommonDialog1.FileName For Input As #1 While Not EOF(1)
Line Input #1, aa bb = bb & aa & vbCrLf
Wend Text1.Text = bb Close #1 Exit Sub
ถ้าเป็นแบบอื่นผมก็ไม่รู้เหมือนกัน | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: พฤ. พค. 11, 2006
4:37 pm ชื่อกระทู้:
|
 |
|
หงะมันไม่ใช่ปุ่มOpenครับ
พี่เคยใช้notepadใช่มะละ
ปกติพี่จะตั้งให้notepadเป็นโปรแกรมเปิดtextfileถูกมั้ยแล้วผมลองเปลี่ยนจากnotepadเป็นโปรแกรมผมดูปรากดว่ามันเปิดขึ้นมาแล้วมันเป็นโปรแกรมว่างๆ
ไม่มีการopentextfileเข้ามาแบบในnotepadอะครับ
อยากทราบว่าเราจะเขียนcodeยังไงให้มันopentextfileเข้ามาแบบnotepadบ้าง | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: จ. พค. 15, 2006 2:32
pm ชื่อกระทู้:
|
 |
|
| ไม่เปงไรครับงั้นขอปุ่ม Redo
Undo และ Gotoก็ได้ครับ - -" | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: อ. พค. 16, 2006 4:18
pm ชื่อกระทู้:
|
 |
|
อยากถามพี่เรื่องการใช้VBเขียนกราพอ่ะครับ
ว่าหลักการมันเป็นยังไง ช่วยชี้แนะด้วยครับ หาตัวอย่างcode
แล้วอธิบายให้ด้วยนะครับ เดะใหม่ฮะ หรือเมล์ rit_net_666@hotmail.com
ส่งมาทางเมล์ก้อได้ครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. พค. 17, 2006 9:18
am ชื่อกระทู้:
|
 |
|
Option Explicit
Private Sub Form_Load() Dim i As Integer Dim x
As Single Dim y As Single
' จัดขนาด scale
Picture1.Scale (-10, 10)-(10, -10)
' สร้างแกน X.
Picture1.Line (-10, 0)-(10, 0) For i = -9 To 9
Picture1.Line (i, -0.5)-(i, 0.5) Next i
'
สร้างแกน Y. Picture1.Line (0, -10)-(0, 10) For i = -9
To 9 Picture1.Line (-0.5, i)-(0.5, i) Next i
'
plot สมการ y = 4 * sin(x). Picture1.ForeColor = vbRed
x = -10 y = 4 * Sin(x) Picture1.CurrentX = x
Picture1.CurrentY = y For x = -10 To 10 Step 0.25
y = 4 * Sin(x) Picture1.Line -(x, y) Next x
' plot สมการ y = x ^ 3 / 5 - 3 * x + 1.
Picture1.ForeColor = vbBlue x = -10 y = x ^ 3 / 5
- 3 * x + 1 Picture1.CurrentX = x Picture1.CurrentY =
y For x = -10 To 10 Step 0.25 y = x ^ 3 / 5 - 3 * x +
1 Picture1.Line -(x, y) Next x End Sub | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: พ. พค. 17, 2006
10:09 am ชื่อกระทู้:
|
 |
|
ขอบคุณสำหรับcodeครับพี่แมงเม่า แต่รบกวนอีกนิดนะ
ช่วยอธิบายการใช้ให้อีกทีนะครับ ขอบคุณล้ำหน้า เลย :
(ล่วงหน้าจิ);  | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พ. พค. 17, 2006
12:45 pm ชื่อกระทู้:
|
 |
|
' จัดขนาด scale ของ picture
box จาก X(-10 ==>10), Y(-10==>10) Picture1.Scale
(-10, 10)-(10, -10)
สร้างแกน X. Picture1.Line
(-10, 0)-(10, 0) สร้างแกน X For i = -9 To 9
Picture1.Line (i, -0.5)-(i, 0.5) สร้างช่อง scale ของแกน X
Next i
option เสริม ลอง plot สมการลงบนตาราง
' plot สมการ y = 4 * sin(x). Picture1.ForeColor =
vbRed x = -10 y = 4 * Sin(x) Picture1.CurrentX = x
Picture1.CurrentY = y For x = -10 To 10 Step 0.25
y = 4 * Sin(x) Picture1.Line -(x, y) Next
x | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: พฤ. พค. 18, 2006
9:14 am ชื่อกระทู้:
|
 |
|
ขอบคุณครับพี่แมงเม่า ขอลองก่อน
อิอิ คือช่วงนี้ผมต้องเขียนโปรแกรมส่งอาจารย์จาก vb6
ให้สั่งงานพอร์ตได้ทั้ง seria ¶llel
เลยต้องค้นคว้าหนักเลย เพราะไม่เคยทำมาก่อนเลย
ด้วยความที่สนใจอ่ะนะ | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: พฤ. พค. 18, 2006
12:07 pm ชื่อกระทู้:
|
 |
|
| พี่แมงเม่าครับ
การเขียนกราฟโดยใช้microsoft chart control6.0ที่มีในvbอ่ะครับ
จะเขียนอย่างไรเพื่อให้กราพที่ออกมา
เราสามารถป้อนค่าที่เราต้องการเองลงไป
และให้มันแสดงค่าออกมาได้เมื่อเราต้องการอ่ะครับ
ช่วยเขียนรูปแบบฟอร์ม และโค๊ดพร้อมอธิบายให้ทีนะครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: พฤ. พค. 18, 2006
6:41 pm ชื่อกระทู้:
|
 |
|
Private Sub Form_Load()
Dim data(5, 0) data(0, 0) = 3 data(1, 0) = 9
data(2, 0) = 6 data(3, 0) = 15 data(4, 0) = 2
MSChart1.chartType = 3 MSChart1.ChartData = data
End Sub | |
| กลับไปข้างบน |
|
 |
cd7 มือใหม่มากๆ บุคคลทั่วไป
|
ตอบ: ส. พค. 20, 2006 9:38
am ชื่อกระทู้: สนใจ
ถามเพิ่มเติม |
 |
|
เรื่อง การใช้ WebCam
ดึงภาพนะคับ บังเอิญจริงๆตรงกับที่หามากๆ พอดีมี Project
เกี่ยวกับ WebCam ในการดึงภาพเข้ามาเก็บเมื่อกด Save
ตรงกับที่หาอยู่เลย ปัญหาก็คือ ได้ทดลอง Copy Code
มาแล้วทดลองปรากฏว่า Error FromLode Varliable noe Defined
istDevives นะคับ ไม่รู้เกิดจากอะไร หรือต้อง Dowsload
ไฟล์อะไรเข้าไปเก็บก่อนหรือเป่า
ขอความกรุณาีคุณแม่งเม่าด้วยตอบกระทู้นี้ด้วยคับ | |
| กลับไปข้างบน |
|
 |
ถึงคุณ แมงเม่า บุคคลทั่วไป
|
ตอบ: ส. พค. 20, 2006
10:52 am ชื่อกระทู้:
cd7 |
 |
|
ทำได้แล้ว คับ เข้าใจแล้วคับ
Wedcam ขอบคุณคุณ แมงเม่า มากเลยครับ สุดยอด.. นอกจาก
Code VB ทำ WebCam แล้ว มี Code vb ใช้กับ กล้อง Digital
คลิกปุ่มที่หน้าจอ ให้ ชัตเตอรทำงานถ่ายภาพได้
มีมั้ยคับ | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: ส. พค. 20, 2006
12:58 pm ชื่อกระทู้:
|
 |
|
| ขอบคุณครับพี่แมงเม่า | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: ส. พค. 20, 2006 5:14
pm ชื่อกระทู้:
|
 |
|
ขอรบกวน
ช่วยบอกว่าทีทำปุ่มUndo Redo Gotoด้วยนะขอรับ  | |
| กลับไปข้างบน |
|
 |
บุคคลทั่วไป
|
ตอบ: อาทิตย์ พค. 21, 2006
7:43 pm ชื่อกระทู้:
|
 |
|
| พี่แมงเม่าครับเวลาเรากด _
แล้วจะให้มันไปอยู่ด้านล่างขวาทำไงครับ | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. พค. 22, 2006 9:08
am ชื่อกระทู้:
|
 |
|
| คำพูด: |
| ขอรบกวน ช่วยบอกว่าทีทำปุ่มUndo Redo
Gotoด้วยนะขอรับ |
เดาว่าคงใช้ในโปรแกรม notepad มี 2
วิธีคือ 1. Search ใน google ==> notepad vb 2.
เอาคำสั่งกด keyboard มาใช้ เช่น
Private Sub
Undo_Click() SendKeys ("^z") End Sub
Private
Sub Redo_Click() SendKeys ("^y") End Sub | |
| กลับไปข้างบน |
|
 |
kennn บุคคลทั่วไป
|
ตอบ: อ. พค. 23, 2006 5:13
pm ชื่อกระทู้:
|
 |
|
มีคำถาม 3 ข้อครับ
1. เกี่ยวกับ Inet ครับ ผมใช้ code ข้างล่างนี้ รับค่า
HTML มาแสดงที่ TextBox ด้วย URL: http://www.google.com/search?hl=en&q=web+hosting&gl=us
แต่ HTML ที่ออกมามันไปขึ้นหน้า Error 404 นะครับ
จะแก้ไขอย่างไรให้ HTML ขึ้นตาม URL ที่ถูกต้องครับ
Code :
Private Sub cmdGet_Click()
txtOutput.Text = inetGet.OpenURL(txtURL.Text, icString)
End Sub
2. HTMLViewer1.LoadURL เป็น
Components ของตัวไหนครับ
3. ค่าสูงสุดในการรับ Data ของ
Winsock คือ 8192 characters ถ้าเราจะรับค่าที่มากกว่า 8192
characters แบบต่อเนื่องจาก Data เดิมจะต้องทำไงครับ | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: ศ. พค. 26, 2006 8:52
pm ชื่อกระทู้:
|
 |
|
พี่แมงเม่าครับ ช่วยชี้แนะด้วย
คือตอนนี้ผมกำลังหาข้อมูลเกี่ยวกับ การใช้vb
ให้วัดระดับสัญญาณที่เป็นอนาลอกได้ หรือ
ใช้เป็นเครื่องวัดระดับน้ำอ่ะครับ จะสามารถใช้componentsตัวไหน
แล้วcodeจะเขียนยังไง
คือตอนนี้ผมรับ-ส่งเป็นแต่แบบดิจิตอ่ะครับ เลยทำให้
Inp/outเป็น0,1 ผมเลยต้องหาข้อมูลเพิ่มในส่วนนี้
รบกวนหน่อยนะครับ | |
| กลับไปข้างบน |
|
 |
Xion บุคคลทั่วไป
|
ตอบ: อาทิตย์ พค. 28, 2006
4:37 pm ชื่อกระทู้:
|
 |
|
| พี่ช่วยเขียน
เทกนิกเกี่ยวกับการใช้คอนโทลWinsockหน่อยครับ ขอทุกmethos
ถ้าให้ดีช่วยอธิบายมาด้วยครับ (เริ่มศึกษานะครับ) | |
| กลับไปข้างบน |
|
 |
ลูกแก้ว บุคคลทั่วไป
|
ตอบ: อาทิตย์ พค. 28, 2006
10:19 pm ชื่อกระทู้:
|
 |
|
| สามารถวัดระดับหรือ
ปรับค่าได้อ่ะครับ ที่ส่ง หรือ รับทางo/p port และแสดงบนฟอร์ม
หรือปรับค่าที่ฟอร์มได้เลยอ่ะครับ
ขอรบกวนตอบด้วยครับ | |
| กลับไปข้างบน |
|
 |
ถัง
เข้าร่วมเมื่อ: 02 มีค. 2006 ตอบ:
3 ที่อยู่: 404 อ.พหลโยธินเซ็นเตอร์ ชั้น7 ถ.พหลโยธิน สามเสนใน
พญาไท กทม. 10400
|
ตอบ: จ. พค. 29, 2006 8:41
am ชื่อกระทู้:
|
 |
|
รบกวนคุณแมงเม่าช่วยเขียน
code ที่นำเอา webcam ทั่วๆไปมาจับภาพวงกลมดำขนาดตั้งแต่ 0.5-3.0
เซ็นติเมตร
มาเก็บไว้ก่อนเพื่อเป็นต้นแบบในการค้นหาภาพลักษณะเดียวกัน
(ซึ่งผมจะให้มันวิ่งบน plate x-y กว้าง ยาว ขนาด กระดาษ A4
ครับ วงกลมดำอยู่บริเวณไหนของ A4 จะให้บอกเป็น ต่ำแหน่งออกมา)
รบกวนเกินไปรึเปล่า
ขอบคุณครับ _________________ dpc | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. พค. 29, 2006
10:52 am ชื่อกระทู้:
|
 |
|
| คำพูด: |
พี่แมงเม่าครับ ช่วยชี้แนะด้วย
คือตอนนี้ผมกำลังหาข้อมูลเกี่ยวกับ การใช้vb
ให้วัดระดับสัญญาณที่เป็นอนาลอกได้ หรือ
ใช้เป็นเครื่องวัดระดับน้ำอ่ะครับ
จะสามารถใช้componentsตัวไหน แล้วcodeจะเขียนยังไง
คือตอนนี้ผมรับ-ส่งเป็นแต่แบบดิจิตอ่ะครับ เลยทำให้
Inp/outเป็น0,1 ผมเลยต้องหาข้อมูลเพิ่มในส่วนนี้
รบกวนหน่อยนะครับ |
ลองดูในเวปนี้ใช้ Active X http://www.mvps.org/rgrier/parallel.htm | |
| กลับไปข้างบน |
|
 |
แมงเม่า บุคคลทั่วไป
|
ตอบ: จ. พค. 29, 2006
11:21 am ชื่อกระทู้:
|
 |
|
| คำพูด: |
| พี่ช่วยเขียน
เทกนิกเกี่ยวกับการใช้คอนโทลWinsockหน่อยครับ ขอทุกmethos
ถ้าให้ดีช่วยอธิบายมาด้วยครับ
(เริ่มศึกษานะครับ) |
หลักการใช้ 4 ขั้นตอนดังนี้ครับ 1.
Client ร้องขอการติดต่อผ่าน server โดยผ่าน IP address ใช้
method connect
Winsock1.Connect "194.10.10.154", "188"
'พอร์ตใช้เลขอะไรก็ได้แต่ต้องตรงกันทั้ง client และ server
2. Server ยอมรับการติดต่อ
If Winsock1.State
<> sckClosed Then Winsock1.Close Winsock1.Accept
requestID
3. ส่ง message เหมือนกันทั้ง client และ
server
Winsock1.SendData Text1
4. รับ message
เหมือนกันทั้ง client และ server
Dim dat As String
Winsock1.GetData dat
ตัวอย่าง chat แบบสั้นสุด
ๆ แล้วครับ Client:
Private Sub Connect_Click() Winsock1.Connect
"194.10.10.154", "188" End Sub
Private Sub
Winsock1_Connect() Me.Caption = "Connected" End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As
Long) Dim dat As String Winsock1.GetData dat
List1.AddItem "Server : " & dat End Sub
Private Sub Send_Click() Winsock1.SendData Text1
End Sub
Server:
Private Sub
Form_Load() Winsock1.LocalPort = 188 Winsock1.Listen
End Sub
Sub Send_Click() Winsock1.SendData
Text1 End Sub
Private Sub
Winsock1_ConnectionRequest(ByVal requestID As Long) If
Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID Me.Caption = "Connected"
End Sub
Private Sub Winsock1_DataArrival(ByVal
bytesTotal As Long) Dim dat As String Winsock1.GetData
dat List1.AddItem "Client : " & dat End
Sub | |
ดูกระทู้นี้สำหรับการตอบ
|
คุณ สามารถ ตั้งกระทู้ใหม่ในกระดานนี้ คุณ
สามารถ ตอบกระทู้ในกระดานนี้ คุณ สามารถ
แก้ไขการตอบกระทู้ของคุณในกระดานนี้ คุณ สามารถ
ลบการตอบกระทู้ของคุณในกระดานนี้ คุณ สามารถ
ลงคะแนนในแบบสำรวจในกระดานนี้ คุณ สามารถ ตรวจทานในกระดานนี้ |