home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / lb202win.exe / LB202W.EXE / CONTACT3.BAS < prev    next >
Encoding:
BASIC Source File  |  2000-09-29  |  6.2 KB  |  194 lines

  1.  
  2.     nomainwin
  3.     dim name$(500)
  4.     dim stage$(7)
  5.     stage$(0) = "All"
  6.     stage$(1) = "Initial Phone Call"
  7.     stage$(2) = "Opening Mailer"
  8.     stage$(3) = "Follow Up Call"
  9.     stage$(4) = "Special Offer Mailer"
  10.     stage$(5) = "Closing Phone Call"
  11.     gosub [loadNames]
  12.     gosub [openMainWindow]
  13.  
  14. [inputLoop]
  15.     input r$
  16.     goto [inputLoop]
  17.  
  18. [openMainWindow]
  19.  
  20.     WindowWidth = 510
  21.     WindowHeight = 350
  22.     'open the main window
  23.     button #main, " &OK ", [acceptEntry], UL, 440, 290
  24.     statictext #main, "Contacts", 10, 10, 60, 20
  25.     listbox #main.contacts, name$(, [editName], 10, 35, 160, 120
  26.     statictext #main, "Filter Contacts", 10, 170, 160, 20
  27.     combobox #main.filter, stage$(, [loadNamesFiltered], 10, 190, 160, 120
  28.     button #main, "&Edit", [editName], UL, 10, 290
  29.     button #main, "&Add", [addName], UL, 65, 290
  30.     texteditor #main.memo, 265, 190, 225, 90
  31.     statictext #main, "Name", 200, 10, 60, 20
  32.       textbox #main.name, 265, 10, 225, 25
  33.     statictext #main, "Address", 200, 40, 60, 20
  34.       textbox #main.addr, 265, 40, 225, 25
  35.     statictext #main, "City", 200, 70, 60, 20
  36.       textbox #main.city, 265, 70, 225, 25
  37.     statictext #main, "State", 200, 100, 60, 20
  38.       textbox #main.state, 265, 100, 40, 25
  39.     statictext #main, "Zip",  330, 100, 40, 20
  40.       textbox #main.zip, 380, 100, 108, 25
  41.     statictext #main, "Phone #", 200, 130, 60, 20
  42.       textbox #main.phone, 265, 130, 225, 25
  43.     statictext #main, "Stage", 200, 160, 60, 20
  44.       combobox #main.stage, stage$(, [inputLoop], 265, 160, 225, 110
  45.     open "Liberty Contact Manager" for dialog_nf as #main
  46.     print #main, "trapclose [quit]"
  47.     print #main.filter, "select All";
  48.     print #main.contacts, "singleclickselect"
  49.     return
  50.  
  51. [loadNames]
  52.  
  53.     open "contact3.dat" for random as #contacts len = 650
  54.     field #contacts, 20 as name$, 20 as address$, 15 as city$, 2 as state$, 10 as zip$, 15 as phone$, 20 as stage$, 500 as memo$, 48 as fill$
  55.     if eof(#contacts) <> 0 then close #contacts : gosub [initializeNames] : goto [loadNames]
  56.     get #contacts, 1
  57.     contactCount = val(name$)
  58.     if contactCount = 0 then close #contacts : return
  59.     for index = 2 to contactCount + 1
  60.         gettrim #contacts, index
  61.         name$(index - 1) = name$
  62.     next index
  63.     close #contacts
  64.     return
  65.  
  66. [loadNamesFiltered]
  67.  
  68.     print #main.filter, "selection? filter$"
  69.     open "contact3.dat" for random as #contacts len = 650
  70.     field #contacts, 20 as name$, 20 as address$, 15 as city$, 2 as state$, 10 as zip$, 15 as phone$, 20 as stage$, 500 as memo$, 48 as fill$
  71.     get #contacts, 1
  72.     contactCount = val(name$)
  73.     if contactCount = 0 then close #contacts : return
  74.     for index = 2 to contactCount + 1
  75.         gettrim #contacts, index
  76.         if filter$ = stage$ or filter$ = "All" then name$(index - 1) = name$ else name$(index - 1) = ""
  77.     next index
  78.     close #contacts
  79.     print #main.contacts, "reload"
  80.     goto [inputLoop]
  81.  
  82. [initializeNames]
  83.  
  84.     open "contact3.dat" for random as #contacts len = 650
  85.     field #contacts, 20 as name$, 20 as address$, 15 as city$, 2 as state$, 10 as zip$, 15 as phone$, 20 as stage$, 500 as memo$, 48 as fill$
  86.     name$ = "4"
  87.     put #contacts, 1
  88.     name$ = "Carl Gundel"
  89.     stage$ = "Initial Phone Call"
  90.     put #contacts, 2
  91.     name$ = "Ray Lukas"
  92.     stage$ = "Special Offer Mailer"
  93.     put #contacts, 3
  94.     name$ = "Bill West"
  95.     stage$ = "Initial Phone Call"
  96.     put #contacts, 4
  97.     name$ = "Alex Guevara"
  98.     stage$ = "Special Offer Mailer"
  99.     put #contacts, 5
  100.     close #contacts
  101.     return
  102.  
  103. [editName]
  104.  
  105.     addName = 0
  106.     print #main.contacts, "selection? selection$"
  107.     if selection$ = "" then [inputLoop]
  108.     recIndex = 0
  109.     for index = 1 to contactCount
  110.         if selection$ = name$(index) then recIndex = index
  111.     next  index
  112.     if recIndex = 0 then [inputLoop]  'This should never need to happen
  113.     gosub [getContactRecord]
  114.     print #main.name, name$
  115.     print #main.addr, address$
  116.     print #main.city, city$
  117.     print #main.state, state$
  118.     print #main.zip, zip$
  119.     print #main.phone, phone$
  120.     print #main.stage, "selectindex 7"
  121.     for index = 0 to 5
  122.         if stage$(index) = stage$ then print #main.stage, "selectindex "; index + 1
  123.     next index
  124.     print #main.memo, "!cls" ;
  125.     print #main.memo, memo$ ;
  126.     goto [inputLoop]
  127.  
  128.  
  129. [addName]
  130.  
  131.     addName = 1
  132.     print #main.name, ""
  133.     print #main.addr, ""
  134.     print #main.city, ""
  135.     print #main.state, ""
  136.     print #main.zip, ""
  137.     print #main.phone, ""
  138.     print #main.stage, "selectindex 7"
  139.     print #main.memo, "!cls" ;
  140.     goto [inputLoop]
  141.  
  142. [getContactRecord]
  143.  
  144.     open "contact3.dat" for random as #contacts len = 650
  145.     field #contacts, 20 as name$, 20 as address$, 15 as city$, 2 as state$, 10 as zip$, 15 as phone$, 20 as stage$, 500 as memo$, 48 as fill$
  146.     gettrim #contacts, recIndex + 1
  147.     close #contacts
  148.  
  149.     return
  150.  
  151. [acceptEntry]
  152.  
  153.     print #main.name, "!contents? name$";
  154.     print #main.addr, "!contents? address$";
  155.     print #main.city, "!contents? city$";
  156.     print #main.state, "!contents? state$";
  157.     print #main.zip, "!contents? zip$";
  158.     print #main.phone, "!contents? phone$";
  159.     print #main.stage, "selection? stage$";
  160.     print #main.memo, "!selectall";
  161.     print #main.memo, "!selection? memo$";
  162.     print #main.memo, "!cls";
  163.     print #main.memo, memo$
  164.     if addName = 1 then
  165.         contactCount = contactCount + 1
  166.         recIndex = contactCount
  167.     end if
  168.     name$(recIndex) = name$
  169.     print #main.contacts, "reload"
  170.     gosub [saveContactRecord]
  171.     addName = 0
  172.     goto [loadNamesFiltered]
  173.  
  174. [saveContactRecord]
  175.  
  176.     open "contact3.dat" for random as #contacts len = 650
  177.     field #contacts, 20 as name$, 20 as address$, 15 as city$, 2 as state$, 10 as zip$, 15 as phone$, 20 as stage$, 500 as memo$, 48 as fill$
  178.     put #contacts, recIndex + 1
  179.     close #contacts
  180.     if addName = 0 then return
  181.     open "contact3.dat" for random as #contacts len = 650
  182.     field #contacts, 20 as count$, 630 as fill$
  183.     count$ = str$(contactCount)
  184.     put #contacts, 1
  185.     close #contacts
  186.     return
  187.  
  188. [quit]
  189.  
  190.     print #main, "trapclose"
  191.     close #main
  192.     end
  193.  
  194.