Open main menu

CDOT Wiki β

Changes

OpText Test Programs - OOP344 20101

1,680 bytes added, 23:23, 28 March 2010
OpText R0.4 test main (BVedit)
 
{{OOP344 Index}}
= BFrame R0.1 test main =
</big>
= OpText R0.4 31 test main (with help window) =
[[OpText Text Editor (AS2) - OOP344 20101]]
<big><pre>
#include "btext.h"# include "blabel.h"# include "bedit.h"# include "bform.h"# include <string.h>
#include bool Yes(const char* message, BForm* owner){ int key; BForm YesNo((bio_rows()- 10)/2, (bio_cols()-40)/2, 10, 40, true); YesNo.add(new BLabel(2, 2, 36)).add(new BLabel("(Y)es / (N)o", 4, 12)); YesNo[0].set(message); key = YesNo.edit(0, owner); return key == 'Y' || key == 'y';}void Help(BForm* owner){ BForm help((bio_rows()- 10)/2, (bio_cols()-40)/2, 10, 40, true); help.add(new BLabel(2, 3,36)) .add(new BLabel("Escape Key: Exit the test program.", 4, 3)) .add(new BLabel("F1 Key: Open this window."blabel, 6, 3)); switch(owner->curField()){ case 2: help[0].hset("Enter the name here!"); break; case 4: help[0].set("Enter the Last name here!"); break; case 6: help[0].set("Enter Phone number: (999)999-9999"); } help.edit(0, owner);}
#include "bedit.h"int main() { int insert = 1; int key; bool done = false; bio_init();
#include BForm F(3, 5, 20, 70, true); F.add(new BLabel("Name:"bvedit, 3, 2)) .add(new BEdit(2, 10, 20, 40, &insert,true)) .hadd(new BLabel("Lastname:", 6, 2)) .add(new BEdit(5, 13, 20, 40, &insert, true)) .add(new BLabel("Phone Number", 9,2)) .add(new BEdit(8, 16, 15, 20, &insert, true)); while(!done){ key = F.edit(); switch(key){ case F1_KEY: Help(&F); break; case ESCAPE_KEY: if(Yes("Do you really want to quit?", &F)){ done = true; } F.display(OT_CLR_AND_DSPLY_ALL); break; } } bio_end(); return 0;}</pre></big>
#include "bform== R0.h"31 Executable on matrix ==
#include <cstringbig> ~fardad.soleimanloo/optext0.31</big>
= OpText R0.4 test main (BVedit) = [[OpText Text Editor (AS2) - OOP344 20101]]<big><pre> # include "btext.h"# include "blabel.h"# include "bedit.h"# include "bvedit.h"# include "bform.h"# include <cstring>#include <cctype>
using namespace std;
 
bool Yes(const char* message, BForm* owner){
 
int key;
 
BForm YesNo((bio_rows()- 10)/2, (bio_cols()-40)/2, 10, 40, true);
 
YesNo.add(new BLabel(2, 2, 36)).add(new BLabel("(Y)es / (N)o", 4, 12));
 
YesNo[0].set(message);
 
key = YesNo.edit(0, owner);
 
return key == 'Y' || key == 'y';
 
}
 
void Help(BForm* owner){
 
BForm help((bio_rows()- 10)/2, (bio_cols()-40)/2, 10, 40, true);
 
help.add(new BLabel(2, 3,36))
 
.add(new BLabel("Escape Key: Exit the test program.", 4, 3))
  .add(new BLabel("F1 Key: Open this window.", 6, 3));  
switch(owner->curField()){
 
case 2:
 
help[0].set("Enter the name here!");
 
break;
  case 4:  
help[0].set("Enter the Last name here!");
 
break;
 
case 6:
  help[0].set("Enter Phone number: (999)-999-9999"); 
}
 
help.edit(0, owner);
 
}
void PhoneHelp(MessageStatus st, BForm& owner){
 
if(st == ClearMessage){
 
owner[6].set("");
 
}
 
else{
 
owner[6].set("Phone Format: 999-999-9999");
 
}
 
owner.display(7);
 
}
 
void LastNameHelp(MessageStatus st, BForm& owner){
 
if(st == ClearMessage){
 
owner[7].set("");
 
}
 
else{
 
owner[7].set("i.e. Middle name and Surname");
 
}
 
owner.display(8);
 
}
bool ValidPhone(const char* ph , BForm& owner){
 
bool ok = true;
 
int i;
 
for(i=0;ok && i<3;ok = (bool)isdigit(ph[i]), i++);
 
ok = ph[i++] == '-';
 
for(;ok && i<7;ok = (bool)isdigit(ph[i]), i++);
 
ok = ph[i++] == '-';
 
for(;ok && i<12;ok = (bool)isdigit(ph[i]), i++);
 
if(ok){
 
owner[8].set("");
 
}
 
else{
 
owner[8].set("Invlid phone number, please use the specified phone number format!");
 
}
 
owner.display(9);
 
return ok;
 
}
int main() {
 
int insert = 1;
 
int key;
 
bool done = false;
 
bio_init();
BForm F(3, 5, 20, 70, true);
 
BLabel PhHelp(9, 34, 30);
 
BLabel LnHelp(6, 37, 30);
 
BLabel ErrMes(18, 2, 67);
 
F.add(new BLabel("Name:", 3, 2))
 
.add(new BEdit(2, 10, 20, 40, &insert,true))
 
.add(new BLabel("Lastname:", 6, 2))
 
.add(new BVedit(5, 13, 20, 40, &insert,NO_VFUNC, LastNameHelp, true))
 
.add(new BLabel("Phone Number", 9,2))
 
.add(new BVedit(8, 16, 13, 12, &insert,ValidPhone,PhoneHelp, true));
 
F.add(PhHelp);
 
F.add(LnHelp);
 
F.add(ErrMes);
while(!done){
 
key = F.edit();
 
switch(key){
 
case F1_KEY:
 
Help(&F);
 
break;
 
case ESCAPE_KEY:
 
if(Yes("Do you really want to quit?", &F)){
 
done = true;
 
}
 
F.display(OT_CLR_AND_DSPLY_ALL);
 
break;
 
}
 
}
 
bio_end();
 
return 0;
 
}
 
</pre></big>
== R0.31 4 Executable on matrix ==
<big>
~fardad.soleimanloo/optext0.314
</big>