OLD FoxBoard
foxboard Home FoxBoard



ยินดีต้อนรับ Guest ลงทะเบียน Login ค้นหากระทู้ แสดงรายชื่อสมาชิก
 หัวข้อสนทนาทั้งหมด
  New Foxboard
 
ชื่อเรื่อง #02404 หัวข้อ: เช็ค User เชิญตอบคำถามครับ ตั้งชื่อกระทู้ใหม่
ส่งข้อความโดย Korakod วันที่ 05 ก.พ. 2553 เวลา 22:17 น. - IP Logged
มุมมอง Korakod's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ Korakod ค้นหา   Quote Korakod Quote   Send Private Message ส่งข้อความ  
Korakod
Avatar
Gold Member
Gold Member
Thailand
26 ธ.ค. 2552
47 Posts

ในวงแลนเราสามารถเช็คว่ามีผู้ใช้งานอยู่ในระบบกี่คนได้หรือไม่ครับ

 


ส่งข้อความโดย arsenal วันที่ 06 ก.พ. 2553 เวลา 02:38 น. - IP Logged
มุมมอง arsenal's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ arsenal ค้นหา   Quote arsenal Quote   Send Private Message ส่งข้อความ  
arsenal
Avatar
Gold Member
Gold Member
Thailand
20 พ.ย. 2549
141 Posts
Quote: Originally posted by Korakod วันที่ 05 ก.พ. 2553

ในวงแลนเราสามารถเช็คว่ามีผู้ใช้งานอยู่ในระบบกี่คนได้หรือไม่ครับ

 


ถ้าเช็คทั่วไปก็ใช้ โปรแกรม IP SCAN ถ้าเป็น NT ก็เข้าไปดูในหมวด user

แต่ที่ผมเข้าใจคงหมายถึงระบบโปรแกรมที่เราเขียน
ว่ามีคนเข้าในขณะนั้นกี่คน (ผมอาจเข้าใจผิดก็ได้ไม่ว่ากันนะครับ [:D])
1.สร้าง table user_log ประกอบไปด้วย  COMPUTER ID,login name,last in,last out,status

2.ใน login form เมื่อเข้าไปแล้ว ก็เปิด table user_log
โดยเอา COMPUTER ID ไป seek หาในตารางถ้าเจอ
ก็เขียน รายละเอียดลงไป ที่สำคัญใส่ status = .T. /ถ้าไม่เจอก็เพิ่ม COMPUTER ID เข้าไปใน table
พร้อมรายละเอียด
เปิดแล้วก็ ปิด table นี้ทุกครั้งจะได้ไม่เปลืองหน่วยความจำ
3.ถ้าออกจากระบบ ก็ทำเหมือนข้อ(2) แต่ กรอก logout time และ เปลี่ยน status= .F.
เปิดแล้วก็ ปิด table นี้ทุกครั้งจะได้ไม่เปลืองหน่วยความจำ

การวิวดู ก็
สร้าง form ขึ้นมาเพื่อดูสถานะ
โดยใส่ object Timer นับเวลาไว้ ให้ refresh ทุกๆกี่วิ ก็ระบุเอาครับ

ปล.ข้อ 2,3 ก็ใช้คำสั่งพื้นฐานที่มีอยู่ง่ายๆ เพื่อทำการระบุ status
 *--------------------------------------------
LOCAL  oldSetEXACT,chkCOMP_NO
 oldSetEXACT =SET("Exact")
 *-------------------------------------------- 
 chkCOMP_NO = LEFT(LEFT(ID(),AT(" ",ID())),15)   &&ตัวอย่างเอาชื่อเครื่องมา 15 หลัก
 SELECT USER_LOG
 SET ORDER TO comp_no
 IF SEEK(chkCOMP_NO)
  REPLACE LOG_NAME WITH m.USRNAME,;
  last_in WITH DATETIME(),status_on WITH .T.
 ELSE
  INSERT INTO USER_LOG(comp_no,LOG_NAME,last_in,last_out,status_on) ;
  VALUE(chkCOMP_NO,m.USRNAME,DATETIME(),CTOT(" "),.T.) 
 ENDIF
 *--------------------------------------------
 SET EXACT &oldSetEXACT
 *--------------------------------------------

ปล2 m.usrname ก็คือชื่อID ที่กรอกตรง login form
ปล3 ตอนออกจากระบบ ก็แค่ตรวจว่าเจอหรือเปล่า
IF SEEK(chkCOMP_NO)
ถ้าเจอ ก็จัดการ บันทึกเวลาออก และ replace สถานะเป็น .F. ซะ


ลองเอาไปเล่นดูครับ ขำๆ



-------------
"การดีบั๊ก จะใช้สมองเป็นสองเท่าของ การโค้ดดิ้ง
ถ้าเรา โค้ดดิ้ง ด้วยปัญญาทั้งหมดที่มี... เราจะโง่เกินกว่าที่จะดีบั๊กมัน"
Brian W. Kernighan

ส่งข้อความโดย Korakod วันที่ 06 ก.พ. 2553 เวลา 08:13 น. - IP Logged
มุมมอง Korakod's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ Korakod ค้นหา   Quote Korakod Quote   Send Private Message ส่งข้อความ  
Korakod
Avatar
Gold Member
Gold Member
Thailand
26 ธ.ค. 2552
47 Posts

ขอบคุณมากๆ ครับเพิ่งจะ get คิดอยู่ตั้งนาน


ส่งข้อความโดย demon69gt วันที่ 06 ก.พ. 2553 เวลา 08:28 น. - IP Logged
มุมมอง demon69gt's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ demon69gt ค้นหา   Quote demon69gt Quote   Send Private Message ส่งข้อความ  
demon69gt
Avatar
Gold Member
Gold Member
Thailand
20 พ.ย. 2549
536 Posts
ยังไม่จบครับ


วิธีข้างต้นสามารถตรวจสอบได้ระดับหนึ่ง แต่ถ้าโปรแกรมมีอันจำเป็นต้องล่ม ข้อมูลบันทึกการใช้งานจะเชื่อถือไม่ได้ และก็ไม่สามารถรู้ได้เลยว่าเปิดใช้อยู่จริงหรือไม่ บางเครื่องอาจจะทำงานตลอด 24 ชั่วโมง หรือทั้งสัปดาห์ไม่ปิดเลย ถ้าจะตรวจสอบว่าเรคอร์ดนั้นเปิดอยู่จริงหรือไม่คือ ping ดูเครื่องนั้น ....สะดวกไหม....

อีกวิธีหนึ่งคือ fcreate() ลองหาดูจาก
กระทู้เก่า

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

มีเยอะค้นหาดูเอง

ส่งข้อความโดย Korakod วันที่ 06 ก.พ. 2553 เวลา 09:51 น. - IP Logged
มุมมอง Korakod's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ Korakod ค้นหา   Quote Korakod Quote   Send Private Message ส่งข้อความ  
Korakod
Avatar
Gold Member
Gold Member
Thailand
26 ธ.ค. 2552
47 Posts

สาเหตุที่ต้องการเช็ค คืองี้ครับ

ที่ทำงานผมเป็นตึกหลายชั้นเครื่องก็อยู่กันชั้นละหลายเครื่อง

และ server ก็ไม่ได้เปิด 24 ชม. พอเลิกงานก็ปิดปรากฎว่าบางครั้ง

ไปปิด server ก่อนเครื่องลูก ทั้งหลายยังไม่เก็บข้อมูลและก็แฮงค์ไปเลย

ก็เลยอยากจะหาวิธีเช็คก่อนปิดเครื่องนะครับ


ส่งข้อความโดย Joomla วันที่ 08 ก.พ. 2553 เวลา 23:40 น. - IP Logged
มุมมอง Joomla's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ Joomla ค้นหา   Quote Joomla Quote   Send Private Message ส่งข้อความ  
Joomla
Avatar
Gold Member
Gold Member
Thailand
12 ก.ค. 2550
208 Posts
ทำแบบ fcreate() ดีกว่าครับในกรณีนี้

ส่งข้อความโดย myfoxii วันที่ 09 ก.พ. 2553 เวลา 13:55 น. - IP Logged
มุมมอง myfoxii's ประวัติส่วนตัว ประวัติส่วนตัว   ค้นหากระทู้อื่นๆ myfoxii ค้นหา   Quote myfoxii Quote   Send Private Message ส่งข้อความ  
myfoxii
Avatar
Gold Member
Gold Member
Thailand
20 พ.ย. 2549
122 Posts

ถ้าใช้ windows server อยู่ ก่อนปิด server

คลิกขวาที่ mycomputer-->manager -->Computer Mangement -->Share Folder

ให้ดู 2 ที่ครับ

1.ที่  Session จะมีชื่อ User ที่ ใช้งาน หากไม่มี User ใช้งาน ก็จะไม่ปรากฏชื่อ User ครับ ปกติ อาจมี User ค้างครับ กรณีเครื่อง Hang

2.ที่ Open Files  ดูว่ามีไฟล์ไหนที่เปิดค้างบ้าง ถ้ามี โทรบอกให้ User ปิดโปรแกรมก็จะหายไปครับ แต่บางทีก็มีไฟล์ค้างได้ หาก User ทำเครื่อง Hang ครับ กรณี ปิดได้เลยครับ

และหากคุณอยู่ในที่อื่นๆ ที่ไม่ใกล้เครื่อง Server ให้ทำ remote Desktop เข้าเครื่อง server ก็ได้ครับ ใช้แก้ปัญหากรณีอยู่ทื่โต๊ะทำงาน โดย User name ของคุณต้องเป็น administrator หรือมีสิทธิ์เทียบเท่าก็ได้ครับ

ทำโดยคลิกขวาที่ Mycomputer  ของเครื่อง Server

Porperties--->Remote ---> ที่ Remote Desktop ช่อง Allow Use...ติ้กเครื่องหมายถูกลงไป --> แล้วกดปุ่ม SElect Remote User  เพิ่ม Username ของคุณลงไปหรือเป็น administratr ก็ได้ครับ

เวลาใช้งาน เครื่องลูกให้ใช้โปรแกรม  Remote Desktop กำหนด ip เป็นของเครื่อง Server  ก็สามารถใช้งานได้แล้วครับ

 

 


ถ้าท่านต้องการตอบคำถามที่นี่ ท่านควรจะ  Login
ถ้าท่านยังไม่ได้ลงทะเบียน ท่านควรจะ  ลงทะเบียน

กระโดดไป เชิญตอบคำถามครับ ตั้งชื่อกระทู้ใหม่
พิมพ์รายงาน พิมพ์รายงาน

Powered by Vfoxware Forums ver. 1.0
Copyright ©2006-2010 Vfoxware Guide