![]() | |
#11
| |||
| |||
|
|
So I'm wondering if anyone has another way of "polling" while a D3 program is sitting at an INPUT statement. Any ideas would be appreciated. Thanks in advance. Sholom |
#12
| |||
| |||
|
|
On Feb 16, 8:08 am, sh<sham... (AT) prupipe (DOT) com> wrote: So I'm wondering if anyone has another way of "polling" while a D3 program is sitting at an INPUT statement. Any ideas would be appreciated. Thanks in advance. Sholom Three ways. One character input, as has been suggested above. Accuterm which has VB scripting built in, replaces your entire process from dirt to shirt including launching the Pick application. Third, the POKE command forces Input to wake up. |
#13
| |||
| |||
|
|
You don't find that an IN FOR 10 (polling every second) isn't a resource hog? G'day, Ross. Sholom |
#14
| |||
| |||
|
|
Can the following be done in D3/NT? We have just installed a Shoretel phone system, and I've integrated it into our order taking application in D3. What I do is the following: I've written a VB.NET program that reads the Caller ID when a salesperson answers the phone and writes it to a little DOS text file. I've also created an MD in D3 that points to that DOS subdirectory, so it can treat the DOS text file as a regular mv record. When the salesperson picks up the phone, the VB.NET program executes and writes the Caller ID to the DOS file. Then in the D3 order taking program, the sales person hits a key which causes the program to read that text file and search for that phone number in the Customer file. If it finds the exact phone number, it displays the customers record. If it doesn't find the exact phone number (the customer may have many extensions or DID numbers), we update this new number into the Customer file, so the next time the customer calls using that DID number we have it on record. All this works fine. However, I'd like to avoid forcing the salesperson to hit a key to start the search. I'd like the D3 program to "sense" that the DOS record exists, and start the ball rolling by itself without user action. The problem is that at that moment the D3 order taking program is sitting on an INPUT statement. You can't "tell" an INPUT statement anything, nor can the system "tell" it anything. It's just waiting for user input. So I have no way to force the D3 program to "poll" for the existence of the DOS record while it's sitting at that INPUT statement. I tried using the "INPUT x FOR 20 THEN ... ELSE..." version of the INPUT statement to "poll" the DOS file every 2 seconds. While this works technically, it causes other problems. The "INPUT ...FOR" version requires that the user finish typing their input within those 2 seconds, otherwise it reverts the cursor back to position 1. So if a person is typing "HELLO" and the 2 seconds are up before the "O", the input becomes "OELL". This clearly won't work. So I'm wondering if anyone has another way of "polling" while a D3 program is sitting at an INPUT statement. Any ideas would be appreciated. Thanks in advance. Sholom |
#15
| |||
| |||
|
|
On Feb 16, 11:08*am, sh <sham... (AT) prupipe (DOT) com> wrote: If your prompt routine accepts stacked input from DATA statements then you'll want to also check for SYSTEM(10) to see if a stack is active each pass. Stack data does not appear in SYSTEM(14) IIRC so you need to check both in that case. |
|
LOOP UNTIL EXIT = 1 DO * IF SYSTEM(14) THEN * * * CALL YOUR INPUT CODE TO PULL FROM KB BUFFER * END |
|
* * SCAN FOR A FILE * * RETURN DATA TO CALLING PROGRAM OR CONTINUE LOOPING * DUMMY=SYSTEM(13) (TIME SLICE RELEASE TO AVOID SPINNING PROCESSES) REPEAT GlenB- Hide quoted text - - Show quoted text - |
#16
| |||
| |||
|
#17
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |