ฟอรั่มของบล็อก http://pssix.blogspot.com


เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

Share

chaodroger
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 30
ความนิยม : 0
เข้าร่วมเมื่อ : 30/12/2013

เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by chaodroger on 14/02/14, 12:13 am

While

A()

B()

C()

WEnd

ตรงฟังชั่น B ใน 1 นาที จะทำงานได้แค่ 1 ครั้ง 


เช่น เปิดโปรแกรม ครั้งแรกมันจะ run  A() B() C()
ครั้งต่อไปจะ run แค่ A() C() ไปเรื่อยๆ จนครบ 1 นาที ถึงจะ run  A() B() C() อีก 1 ครั้ง


ปล. ผมไม่เคยเขียนสคริปแบบนี้มาก่อน ช่วยชี้แนะหน่อยนะครับ ว่าผมต้องเขียนยังไง T^T
ขอบคุณครับ

wdiLi
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 73
ความนิยม : 7
เข้าร่วมเมื่อ : 29/01/2011
อายุ : 26

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by wdiLi on 14/02/14, 12:46 am

เอาสคริปที่เขียนมาดูหน่อยครับ ว่าเขียนฟังกชันไว้ยังไง

chaodroger
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 30
ความนิยม : 0
เข้าร่วมเมื่อ : 30/12/2013

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by chaodroger on 14/02/14, 01:14 am

HotKeySet("{ESC}", "stop")
Func stop()
    Sleep(500)
    Exit
 EndFunc


While Sleep(100)
   Sleep(1000)
A()

Sleep(1000)
B()

Sleep(1000)
C()

WEnd

Func A()
ToolTip('ฟังชั่น  A', 190, 132)
EndFunc


Func B()
ToolTip('ฟังชั่น B', 450, 92)
EndFunc


Func C()
ToolTip('ฟังชั่น C', 737, 104)
EndFunc






ปล.ผมยังไม่ได้เขียนเลยครับ เพราะเขียนไม่เป็น T T


 เอาตัวอย่าง สคริป ไปลอง run ดูนะครับ (ยังไม่ได้ใส่เงื่อนไขเวลา)

wdiLi
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 73
ความนิยม : 7
เข้าร่วมเมื่อ : 29/01/2011
อายุ : 26

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by wdiLi on 14/02/14, 01:53 am

Code:
HotKeySet("{ESC}", "stop")

Func stop()
    Sleep(500)
    Exit
 EndFunc


While Sleep(100)
Sleep(1000)
A()
Sleep(1000)
B()
Sleep(1000)
C()
WEnd

Func A()
;~    ToolTip('ฟังชั่น  A', 190, 132)
   ConsoleWrite("Function : A"&@CRLF)
EndFunc

Func B()
;~    ToolTip('ฟังชั่น B', 450, 92)
   ConsoleWrite("Function : B"&@CRLF)
EndFunc

Func C()
;~    ToolTip('ฟังชั่น C', 737, 104)
   ConsoleWrite("Function : C"&@CRLF)
EndFunc

จากที่ดู มันก็เรียง ฟังก์ชัน A B C ตามปกตินะครับ เขียน ConsoleWrite เช็คดูแล้ว

chaodroger
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 30
ความนิยม : 0
เข้าร่วมเมื่อ : 30/12/2013

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by chaodroger on 14/02/14, 02:12 am

คืออยาก ให้  Func B() แสดงผล แค่ 1 ครั้ง ใน 1 นาทีอ่ะครับ ต้องเขียน สคริปยังไงครับ 

wdiLi
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 73
ความนิยม : 7
เข้าร่วมเมื่อ : 29/01/2011
อายุ : 26

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by wdiLi on 14/02/14, 02:59 am

โค้ดน่าจะประมาณนี้ นะครับ ลองเอาไปทดสอบใช้งานดู นะ

Code:
Global $time = 1000 ; กำหนดค่าเริ่มต้นให้ตัวแปร $time เท่ากับ 1000 คือ 1 วินาทีนั้นเอง
Global $sec = 60 ; กำหนดเวลา ให้ฟังก์ชัน B ทำงาน ตัวอย่าง 60 วิ = 1 นาที

While 1
   Sleep(1000) ; หน่วงเวลาไว้ รอบละ 1 วินาที
   A()
   ;-- เงื่อนไข ถ้าค่าในตัวแปร $time หาร 1000 เท่ากับ 60 จริง หรือ ค่าในตัวแปร $time = 1000 จริง
 ;-- ฟังก์ชัน B() ถึงจะทำงานได้
   If ($time / 1000  == $sec) or ($time = 1000) Then
      B()
      $time = 1000 ; เซ็ตค่านับเวลาใหม่เป็น 1 วินาที
   EndIf
   ;-----------------------------------------------
   C()
   $time += 1000 ; เพิ่มค่าเข้าไปทีละ 1000 หรือ 1 วินาที
WEnd

Func A()
   ConsoleWrite("A()")
EndFunc

Func B()
   ConsoleWrite("B()")
EndFunc

Func C()
   ConsoleWrite("C()"&@CRLF)
EndFunc

chaodroger
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 30
ความนิยม : 0
เข้าร่วมเมื่อ : 30/12/2013

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by chaodroger on 14/02/14, 04:13 am

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

ปล.ทำได้แล้ว >.<

wdiLi
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 73
ความนิยม : 7
เข้าร่วมเมื่อ : 29/01/2011
อายุ : 26

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by wdiLi on 14/02/14, 04:30 am

" เขียนโปรแกรมก็เหมือนกับแก้การโจทย์คณิตศาสาตร์ "
ถ้าเราชอบแก้โจทย์ มันก็ทำให้เราสนุกกับการเขียน...แต่ถ้าไม่ชอบมันก็เป็นอะไรที่ปวดหัวเลยละ ^^
โค้ดมันสามารถเขียนได้หลายแบบ...แต่เป้าหมายดียวกันคือ "บรรลุเป้าหมายที่เราตั้งไว้"

ขอให้มีความสุขกับการเขียนโปรแกรมนะครับ ฝันดี zzZZ

wdiLi
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 73
ความนิยม : 7
เข้าร่วมเมื่อ : 29/01/2011
อายุ : 26

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by wdiLi on 14/02/14, 04:37 am

Code:
Global $time = 1 ; เวลา 1 วินาที
Global $sec = 60 ; กำหนดเวลาที่  ให้ฟังก์ชัน B ทำงาน ตัวอย่าง 60 วินาที = 1 นาที

While 1
 Sleep(1000)
 A()
 If ($time / 1  == $sec) or ($time = 1) Then
 B()
 $time = 1 ; กำหนดให้เป็นค่าเริ่มต้น คือ 1 วินาที
 EndIf
 C()
 $time += 1 ; เพิ่มเวลาทีละ 1 วินาที ทุกรอบ
WEnd

แก้ค่าตัวแปรให้ใหม่ จะได้เข้าใจง่ายขึ้น

chaodroger
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 30
ความนิยม : 0
เข้าร่วมเมื่อ : 30/12/2013

Re: เกี๋ยวกับ เวลา บนฟังชั่น... ช่วยชี้แนะหน่อยครับ

ตั้งหัวข้อ by chaodroger on 15/02/14, 12:12 am

ขอบคุณคราบบบบ :))

    เวลาขณะนี้ 07/12/16, 12:50 am