บทนำระบบ
ศึกษาปัญหา
ศึกษาความเป็นไปได้
ศึกษาระบบเดิม
ออกแบบระบบใหม่
พัฒนาระบบ
ติดตั้ง
บำรุงรักษา
โปรแกรมเมนู
โปรแกรมงานหลัก
โปรแกรมปรับปรุงข้อมูล
โปรแกรมเกี่ยวกับรายงาน
โปรแกรมเกี่ยวกับรายงานสรุป
โปรแกรมเกี่ยวกับระบบ
//แสดงข้อมูลลูกค้า
procedure discust
    use customer
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลลูกค้า"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัสลูกค้า")
       @ 6,8  say rtrim("ชื่อลูกค้า")
       @ 6,25 say rtrim("ที่อยู่")
       @ 6,55 say rtrim("โทรศัพท์")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
          @ r,2  say ltrim(str(custid))
          @ r,8  say rtrim(custname)
          @ r,25 say rtrim(custadd)
          @ r,55 say rtrim(custtel)
          if r=pg
             if op=1
             @ 22,25 say "%%%%%%%%% กด Enter เพื่อดูหน้าต่อไป %%%%%%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//แสดงข้อมูลพนักงาน
procedure disemp
    use employee
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลพนักงาน"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัสพนักงาน")
       @ 6,8  say rtrim("ชื่อพนักงาน")
       @ 6,25 say rtrim("ที่อยู่")
       @ 6,55 say rtrim("ตำแหน่ง")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
          @ r,2  say ltrim(str(empid))
          @ r,8  say rtrim(empname)
          @ r,25 say rtrim(empadd)
          @ r,55 say rtrim(position)
          if r=pg
             if op=1
             @ 22,25 say "%%%%%%%%% กด Enter เพื่อดูหน้าต่อไป %%%%%%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//แสดงข้อมูลสินค้า
procedure dispro
    use product
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลสินค้า"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัสสินค้า")
       @ 6,8  say rtrim("ชื่อสินค้า")
       @ 6,25 say rtrim("จำนวน")
       @ 6,55 say rtrim("ราคา")
       @ 6,65 say rtrim("จุดสั่งซื้อ")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
          @ r,2 say ltrim(str(proid))
          @ r,8  say rtrim(proname)
          @ r,25 say quantity pict "9,999"
          @ r,55 say price pict "9,999.99"
          @ r,65 say reorder pict "9,999"
          if r=pg
             if op=1
             @ 22,25 say "%%%%%%%%% กด Enter เพื่อดูหน้าต่อไป %%%%%%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//แสดงข้อมูลผู้จำหน่าย
procedure dissup
    use supplier
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลผู้จำหน่าย"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัส")
       @ 6,8  say rtrim("ชื่อ")
       @ 6,25 say rtrim("ที่อยู่")
       @ 6,55 say rtrim("โทรศัพท์")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
          @ r,2  say ltrim(str(suppid))
          @ r,8  say rtrim(suppname)
          @ r,25 say rtrim(suppadd)
          @ r,55 say rtrim(supptel)
          if r=pg
             if op=1
             @ 22,25 say "%%%%%%%%% กด Enter เพื่อดูหน้าต่อไป %%%%%%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//แสดงข้อมูลเจ้าหนี้
procedure dispay
sele 1;use payable
sele 2;use supplier
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลเจ้าหนี้"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัส")
       @ 6,8  say rtrim("ชื่อ")
       @ 6,25 say rtrim("จำนวนเงิน")
       @ 6,55 say rtrim("เงินจ่ายแล้ว")
       @ 6,65 say rtrim("กำหนดชำระ")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
       sele 1
          @ r,4  say ltrim(str(suppid))
          _suppid=suppid
       sele 2
          locate for suppid=_suppid
          if found()
             @ r,8  say rtrim(suppname)
          endif
          sele 1
            @ r,25 say pay_money pict "999,999"
            @ r,55 say pay_less pict "999,999"
            @ r,65 say date_paid
          if r=pg
             if op=1
             @ 22,25 say "%%%%%%%%% กด Enter เพื่อดูหน้าต่อไป %%%%%%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//แสดงข้อมูลลูกหนี้
procedure disrec
sele 1;use receivab
sele 2;use customer
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
  op=alert("เลือกผลลัพธ์ของรายงาน",{"จอภาพ","เครื่องพิมพ์","กลับเมนู"})
  if op=1
   pg=19
   setr=8
  elseif op=2
    pg=50
    setr=8
    go top
    set device to printer
  else
    use
    return
  endif
  r=setr
  page=1
       @ 2,65 say "PAGE :"+ltrim(str(page))
       @ 2,32 say "การแสดงข้อมูลลูกหนี้"
       @ 5,2  say repl("*",76)
       @ 6,2  say rtrim("รหัส")
       @ 6,8  say rtrim("ชื่อ")
       @ 6,25 say rtrim("วันที่ขาย")
       @ 6,35 say rtrim("กำหนดชำระ")
       @ 6,45 say rtrim("รวมเงิน")
       @ 6,55 say rtrim("เงินชำระ")
       @ 6,65 say rtrim("เงินค้างชำระ")
       @ 7,2 say repl("*",76)
       do while !eof() .and. op!=3
       sele 1
          money=0
          @ r,2  say ltrim(str(custid))
          _custid=custid
       sele 2
          locate for custid=_custid
          if found()
             @ r,8  say rtrim(custname)
          endif
          sele 1
            @ r,25 say date_sale
            @ r,35 say date_pay
            @ r,45 say total pict "99,999"
            @ r,55 say pay pict "99,999"
            money=total-pay
            @ r,60 say money pict "99,999"
          if r=pg
             if op=1
             @ 22,25 say "%%%% กด Enter เพื่อดูหน้าต่อไป %%%%"
             inkey(0)
             @ 8,2 clear to 19,77
             @ 22,25 clear to 22,75
             page++
             @ 2,65 say "PAGE :"+ltrim(str(page))
          else
             eject
          endif
          r=setr-1
       endif
       r++
       skip
    enddo
    set device to screen
   inkey(0)
   restore screen from x
return
//==============================
//ฟังชั่นค้นหารหัสการขาย
function findsale
save screen to scr
   use sale
   showar={}
   go top
   while !eof()
   aadd(showar,"["+ltrim(str(saleid))+"l"+ltrim(str(salestatus))+"]")
   skip
   end
   ind:=achoice(10,20,23,35,showar)
   if ind>0
      _saleid=substr(showar[ind],2,5)
   endif
restore screen from scr
return
//=====================
//ฟังชั่นค้นหารหัสลูกค้า
function findcust
save screen to scr
   use customer
   showar={}
   go top
   while !eof()
   aadd(showar,"["+ltrim(str(custid))+"l"+custname+"]")
   skip
   end
   ind:=achoice(10,20,23,50,showar)
   if ind>0
      _custid=substr(showar[ind],2,7)
   endif
restore screen from scr
return
//=====================
//ฟังชั่นค้นหา
function findvab
save screen to scr
   use receivab
   showar={}
   go top
   while !eof()
   aadd(showar,"["+ltrim(str(custid))+"l"+custname+"]")
   skip
   end
   ind:=achoice(10,20,23,50,showar)
   if ind>0
      _custid=substr(showar[ind],2,7)
   endif
restore screen from scr
return


//=====================
//ฟังชั่นค้นหารหัสสินค้า
function findpro
save screen to scr
   use product
   showar={}
   go top
   while !eof()
   aadd(showar,"[ "+ltrim(str(proid))+" l "+proname+" ]")
   skip
   end
   ind:=achoice(10,20,23,50,showar)
   if ind>0
      _proid[j]=substr(showar[ind],2,8)
   endif
restore screen from scr
return
//=====================

//ฟังชั่นค้นหารหัสพนักงาน
function findemp2
save screen to scr
   use employee
   showar={}
   go top
   while !eof()
   aadd(showar,"[ "+ltrim(str(empid))+" l "+empname+" ]")
   skip
   end
   ind:=achoice(10,20,23,50,showar)
   if ind>0
      _empid=substr(showar[ind],2,6)
   endif
restore screen from scr
return
//=====================

//ฟังชั่นค้นหารหัสการสั่งซื้อ
function findor
save screen to scr
   use order
   showar={}
   go top
   while !eof()
   aadd(showar,"[ "+ltrim(str(orderid))+" l "+dtoc(date_order)+" ]")
   skip
   end
   ind:=achoice(10,20,23,40,showar)
   if ind>0
      _orderid=substr(showar[ind],2,6)
   endif
restore screen from scr
return
//=====================

//ฟังชั่นค้นหารหัสการรับชำระหนี้
function findreceive
save screen to scr
   use payable
   showar={}
   go top
   while !eof()
   aadd(showar,"[ "+ltrim(str(recid))+"]["+ltrim(str(suppid))+"]")
   skip
   end
   ind:=achoice(10,20,23,40,showar)
   if ind>0
      _recid=substr(showar[ind],2,6)
   endif
restore screen from scr
return
//=====================

//ฟังชั่นค้นหารหัสผู้จำหน่าย
function findsupp
save screen to scr
   use supplier
   showar={}
   go top
   while !eof()
   aadd(showar,"[ "+ltrim(str(suppid))+"]["+rtrim(suppname)+"]")
   skip
   end
   ind:=achoice(10,20,23,40,showar)
   if ind>0
      _suppid=substr(showar[ind],2,4)
   endif
restore screen from scr
return
//=====================
//การสร้างตัวหนังสือวิ่ง
function run1
parameters row1,col1,x
private row1,col1,x
i=1
store 0 to l,q
y=len(x)
b=substr(x,i,y)
do while .t.
   @ row1,col1 say b
   l=len(x)-1
   i=iif(l=0,1,i)
   b=iif(ly
      exit
   endif(q>y)
     do while t
1