hschumann2/TempleOS-Source-Code
0847
1 2class FDStruct3{//Use <CTRL-l> and sel "Data", "List" or "Check Box"4//to generate the formats.5 F64 num1 format "$DA-TRM,A=\"Float 1:%12.8f\"$\n";6 F64 num2 format "$DA-TRM,A=\"Float 2:%12e\"$\n";7 I64 num3 format "$DA-TRM,A=\"Int 1:0x%016X\"$\n";8 I64 num4 format "$DA-TRM,A=\"Int 2:%12d\"$\n";9 I64 type format "$LS,D=\"ST_PERSON_TYPE\"$\n";10 U8 name[32] format "$DA-P,A=\"Name :%s\"$\n";11 U8 *address1 format "$DA+M,A=\"Address:%s\"$\n"; //+M is unlimited len U8 *.12 U8 *address2 format "$DA+M,A=\"Address:%s\"$\n"; //+M is unlimited len U8 *.13 CDate datetime format "$DA-TRM,A=\"Date :%8D\"$\n";14 Bool check format "$CB,\"Check\"$\n";15};16 17U0 FormDemo()18{19 FDStruct fds;20 DefineLstLoad("ST_PERSON_TYPE","Child\0Teen\0Adult\0");21 fds.num1=12.3e-4; //Set defaults22 fds.num2=4.5e3;23 fds.num3=0x1234;24 fds.num4=-567;25 fds.type=1;26 StrCpy(&fds.name,"John");27 fds.address1=StrNew("1234 Pine St.");28 fds.address2=NULL; //Init to NULL if empty.29 fds.datetime=Now;30 fds.check=TRUE;31 if (DocForm(&fds)) {32 "#1\t=%e\n",fds.num1;33 "#2\t=%e\n",fds.num2;34 "#3\t=%d\n",fds.num3;35 "#4\t=%d\n",fds.num4;36 "Type\t=%s\n",DefineSub(fds.type,"ST_PERSON_TYPE");37 "Name\t=%s\n",fds.name;38 "Address1=%s\n",fds.address1;39 "Address2=%s\n",fds.address2;40 "Date\t=%D\n",fds.datetime;41 "Check\t=%d\n",fds.check;42 } else43 "Cancel\n";44 45 "\n\nClassRep Example\n";46 ClassRep(&fds);47 Free(fds.address1);48 Free(fds.address2);49 //See also ClassRepD().50}51 52FormDemo;53 