Paradox Community

Items in pnews.paradox-programming

Subject:Re: Help with my code please example below
Date:13 Oct 2021 22:08:09 -0400
From:"Kevin Zawicki" <numberjack@wi.rr.com>
Newsgroups:pnews.paradox-programming




small rough example
paste into script for better reading

;// there are many variations on this, Paradox has a robust set of date handlers
for its age
method run(var eventInfo Event)
 var
  sDate  date
  eDate  date
  qDate  string
 endvar

 sDate = today()


 for cnt from 1 to 5  ;// this loops 5 times, but you can set this to loop
until no data or whatever needed   or while dStart < today()
  ;// I avoid while loops or make them have a infinite lopo exit    but while
will work

  eDate = sDate + 14  ;// set end date two weeks out

  qDate = ">=" + sDate.string() + ",<=" + eDate.String()
  ;//  greater than or equal - or change dates to plus minus one and do not
use equal



  qDate.view()



  ;// do queries

  ;//do add to collect table

  sDate = eDate + 1 ;// set start date to next day after last end date

 endfor

endMethod






"Tony" <tracy.fairbrother@btopenworld.com> wrote:
>
>
>Can someone help me with the code below please. I want to put a start date
>in and move the code date forward to capture the next set of data. Example
> So start 01/07/2019 until 15/07/2019. Do the analysis add to the stats2
>table then move on 16/07/2019 until 31/07/2019 do the same add results to
>stas2 table. I want this to carry on until the end of my data which is 12/10/2021.
>Not sure what im doing wrong .  
>
>
>
>proc StartDate(d date) date
>; proc returns start date for given date
>; if date is before 16th, start date is begining of month
>	if day(d) < 16 then
>		return( date(month(d),1,year(d)) )
>    else
>		return( date(month(d),16,year(d)) )
>    endIf
>endProc
>
>proc EndDate(d date) date
>; proc returns end date for given date
>; if date is before 16th, end date is 15,
>; if date if 16th or later, end date is end of month
>	if day(d) < 16 then
>		return( date(month(d),15,year(d)) )
>    else
>		return( date(month(d),daysInMonth(d),year(d)) )
>    endIf
>endProc
>
>
>method run(var eventInfo Event)
>var qb query
>	 TC TCursor
>	 dStart, dEnd Date
>	 mStart, mEnd Date
>	 sDate String
>	 mDate String
>		 tab table
> 
>
>	 endVar
>
>
>	dStart = date(7,01,2018)
>	mStart = date(7,16,2018)
>   ; and now start looping
>   while dStart < today()
>		dStart = StartDate(dStart)
>		dEnd   = EndDate(dStart)
>		mStart = StartDate(mStart)
>		mEnd   = EndDate(mStart)
>		; create a condition for date      ex: ">=1.1.2018 , <=15.1.2018"
>      sDate = ">=01/07/2018,<="+string(dEnd)
>      ; and now do something with this string
>      ; put here your querys and do smething with them
>
>			mDate = ">="+string(mStart) + ", <="+string(mEnd)
>
>
>
>   qb= Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>Stats1.DB | Race name | 
>Delete    | not blank | 
>
>EndQuery
>
>		qb.executeQBE()
>	  qb= Query
>ANSWER: :WORK:Stats1.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date   | Grade  | Distance
|
>
>          | Check     | Check    | Check   | Check  | Check  | Check   
|
>
>
>Stats1.DB | Race type | TfGoing | Going  | Pos    | Btn    | Trap   | Name
>  | 
>          | Check     | Check   | Check  | Check  | Check  | Check  | Check
> | 
>
>Stats1.DB | Age    | Sex    | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>| 
>          | Check  | Check  | Check  | Check  | Check  | Check  | Check

>  | 
>
>Stats1.DB | ISP    | TFR    | Official time | Break time | Trainer | Betfair
>| 
>          | Check  | Check  | Check         | Check      | Check   | Check
>  | 
>
>Stats1.DB | Race name_1 | Racetime_1 | Race No_1 | Date_1 | Grade_1 | 
>          | Check       | Check      | Check     | Check  | Check   | 
>
>Stats1.DB | Distance_1 | Race type_1 | TfGoing_1 | Going_1 | Pos_1  | Btn_1
> | 
>          | Check      | Check       | Check     | Check   | Check  | Check
> | 
>
>Stats1.DB | Trap_1 | Name_1 | Age_1  | Sex_1  | Bend.1_1 | Bend.2_1 | 
>          | Check  | Check  | Check  | Check  | Check    | Check    | 
>
>Stats1.DB | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1  | TFR_1  | 
>          | Check    | Check    | Check      | Check  | Check  | 
>
>Stats1.DB | Official time_1 | Break time_1 | Trainer_1 | Betfair_1 | RaceN
> | 
>          | Check           | Check        | Check     | Check     | Check
> | 
>
>EndQuery
>
>		qb.executeQBE()
>
> qb=Query
>ANSWER: :WORK:Races.DB
>
>DogsDB.DB | Race name             | Racetime | Race No | Date          

>   | Grade  | 
>			 | Check _join3, Crayford | Check    | Check   | Check _a,~mDate   |
Check
> | 
>			 | Check _join3          | Check    | Check   | Check <_a          |
Check
> | 
>
>DogsDB.DB | Distance     | Race type | TfGoing | Going  | Pos    | Btn 

> | 
>          | Check _join2 | Check     | Check   | Check  | Check  | Check
> | 
>          | Check _join2 | Check     | Check   | Check  | Check  | Check
> | 
>
>DogsDB.DB | Trap   | Name         | Age    | Sex    | Bend.1 | Bend.2 |

>          | Check  | Check _join1 | Check  | Check  | Check  | Check  |

>          | Check  | Check _join1 | Check  | Check  | Check  | Check  |

>
>DogsDB.DB | Bend.3 | Bend.4 | Comments | ISP    | TFR    | Official time
>| 
>			 | Check  | Check  | Check    | Check  | Check  | Check         | 
>			 | Check  | Check  | Check    | Check  | Check  | Check         | 
>
>DogsDB.DB | Break time                  | Trainer | Betfair | 
>          | Check                       | Check   | Check   | 
>          | Check _b,calc _b*0 as RaceN | Check   | Check   | 
>
>EndQuery
>
>	  qb.executeQBE()
> play("RaceNo.ssl")
>
>  qb=Query
>ANSWER: :WORK:ANSWER.DB
>
>Races.DB | Race name | Racetime | Race No | Date   | Grade  | Distance |
>
>         | Check     | Check    | Check   | Check  | Check  | Check    |
>
>
>Races.DB | Race type | TfGoing | Going  | Pos    | Btn    | Trap   | Name
>  | 
>         | Check     | Check   | Check  | Check  | Check  | Check  | Check
> | 
>
>Races.DB | Age    | Sex    | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>| 
>         | Check  | Check  | Check  | Check  | Check  | Check  | Check 

> | 
>
>Races.DB | ISP    | TFR    | Official time | Break time | Trainer | Betfair
>| 
>			| Check  | Check  | Check         | Check      | Check   | Check   |

>
>Races.DB | Race name_1 | Racetime_1 | Race No_1 | Date_1 | Grade_1 | 
>         | Check       | Check      | Check     | Check  | Check   | 
>
>Races.DB | Distance_1 | Race type_1 | TfGoing_1 | Going_1 | Pos_1  | Btn_1
> | 
>         | Check      | Check       | Check     | Check   | Check  | Check
> | 
>
>Races.DB | Trap_1 | Name_1 | Age_1  | Sex_1  | Bend.1_1 | Bend.2_1 | Bend.3_1
>| 
>			| Check  | Check  | Check  | Check  | Check    | Check    | Check   
|
>
>
>Races.DB | Bend.4_1 | Comments_1 | ISP_1  | TFR_1  | Official time_1 | 
>			| Check    | Check      | Check  | Check  | Check           | 
>
>Races.DB | Break time_1 | Trainer_1 | Betfair_1 | RaceN         | 
>			| Check        | Check     | Check     | Check >0,<=8 | 
>
>EndQuery
>
>	qb.executeQBE()
>
>
>	tab.attach("answer")
>tab.add("Stats1",True,False) 
>    
> qb=Query
>ANSWER: :WORK:NNett.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date   | Grade     | Distance
> | 
>			 | Check     | Check    | Check   | Check  | Check A.. | Check 380 |

>
>Stats1.DB | Race type | Pos    | Trap   | Name   | Age    | Sex    | ISP
>   | 
>			 | Check     | Check  | Check  | Check  | Check  | Check  | Check  |

>
>Stats1.DB | Betfair | 
>			 | Check   | 
>
>Stats1.DB | TFR_1                                                      

>                                                                       

>                            | 
>			 | _a,calc _a*0 as RT2,calc _a*0 as RT2P,calc _a*0 as RT2C,calc _a*0
as
>RT4,calc _a*0 as RT4P,calc _a*0 as RT4C,calc _a*0 as RT6,calc _a*0 as RT6P,calc
>_a*0 as RT6C | 
>
>Stats1.DB | 
>			 | 
>
>Stats1.DB | RaceN                                                      

>                                                 | 
>			 | calc _a*0 as BT6,calc _a*0 as RT6P,calc _a*0 as RT6Avg,calc _a*0 as
>Tracp P,calc _a*0 as BT,calc _a*0 as Nocr | 
>
>EndQuery
>
>
>  qb.executeQBE()
>
>
>	
> qb=Query
>ANSWER: :WORK:Adjtimes.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date   | Grade  | Distance
|
>
>			 | Check     | Check    | Check   | Check  | Check  | Check    | 
>
>Stats1.DB | Race type | TfGoing | Going  | Pos    | Btn    | Trap   | Name
>  | 
>			 | Check     | Check   | Check  | Check  | Check  | Check  | Check  |
>
>
>Stats1.DB | Age    | Sex    | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>| 
>			 | Check  | Check  | Check  | Check  | Check  | Check  | Check    | 
>
>Stats1.DB | ISP    | TFR    | Official time | Break time | Trainer | Betfair
>| 
>			 | Check  | Check  | Check         | Check      | Check   | Check   |
>
>
>Stats1.DB | Race name_1  | Racetime_1   | Race No_1    | Date_1       |

>			 | Check _join1 | Check _join2 | Check _join7 | Check _join4 | 
>
>Stats1.DB | Grade_1      | Distance_1   | Race type_1 | TfGoing_1 | Going_1
>| 
>			 | Check _join6 | Check _join5 | Check       | Check     | Check   |

>
>Stats1.DB | Pos_1  | Btn_1  | Trap_1 | Name_1 | Age_1  | Sex_1  | Bend.1_1
>| 
>			 | Check  | Check  | Check  | Check  | Check  | Check  | Check    | 
>
>Stats1.DB | Bend.2_1 | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1  | TFR_1
> | 
>			 | Check    | Check    | Check    | Check      | Check  | Check  | 
>
>Stats1.DB | Official time_1 | Break time_1 | Trainer_1 | Betfair_1 | RaceN
> | 
>			 | Check           | Check        | Check     | Check     | Check  |

>
>goingAllow.DB | Race name | Racetime | Race No | Date   | Grade  | Distance
>| 
>				  | _join1    | _join2   | _join7  | _join4 | _join6 | _join5   | 
>
>goingAllow.DB | GA     | 
>				  | Check  | 
>
>EndQuery
>
>
>  qb.executeQBE()
>
>
>
>
> qb= Query
>ANSWER: :WORK:Adjtimes.DB
>
>
>Adjtimes.DB | Race name | Racetime | Race No | Date   | Grade  | Distance
>| 
>				| Check     | Check    | Check   | Check  | Check  | Check    | 
>
>Adjtimes.DB | Race type | TfGoing | Going  | Pos    | Btn    | Trap   |

>				| Check     | Check   | Check  | Check  | Check  | Check  | 
>
>Adjtimes.DB | Name   | Age    | Sex    | Bend.1 | Bend.2 | Bend.3 | Bend.4
>| 
>				| Check  | Check  | Check  | Check  | Check  | Check  | Check  | 
>
>Adjtimes.DB | Comments | ISP    | TFR    | Official time | Break time |

>				| Check    | Check  | Check  | Check         | Check      | 
>
>Adjtimes.DB | Trainer | Betfair | Race name_1 | Racetime_1 | Race No_1 |
>
>				| Check   | Check   | Check       | Check      | Check     | 
>
>Adjtimes.DB | Date_1 | Grade_1 | Distance_1 | Race type_1 | TfGoing_1 |

>				| Check  | Check   | Check      | Check       | Check     | 
>
>Adjtimes.DB | Going_1 | Pos_1  | Btn_1  | Trap_1 | Name_1 | Age_1  | Sex_1
> | 
>				| Check   | Check  | Check  | Check  | Check  | Check  | Check  | 
>
>Adjtimes.DB | Bend.1_1 | Bend.2_1 | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1
> | 
>				| Check    | Check    | Check    | Check    | Check      | Check  |

>
>Adjtimes.DB | TFR_1  | Official time_1 | Break time_1 | Trainer_1 | Betfair_1
>| 
>				| Check  | Check _a        | Check        | Check     | Check     |

>
>Adjtimes.DB | RaceN    | GA                         | 
>				| Check >0 | Check _b,calc _a-_b as GAA | 
>
>EndQuery
>
>
>  qb.executeQBE()
>
>  qb=Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>Adjtimes.DB | Distance_1 | Official time_1 | GA | GAA            | 
>				|            | _c              | _b | changeto _c+_b | 
>
>EndQuery
>
>	qb.executeQBE()
>
>  qb=Query
>ANSWER: :WORK:NNett.DB
>
>DogsDB.DB | Race name     | Racetime | Race No | Date              | Grade
> | Distance  | 
>			 | Check Crayford | Check    | Check   | Check ~sDate     | Check  |
Check
>380 | 
>
>DogsDB.DB | Race type | Pos    | Trap   | Name   | Age    | Sex    | 
>			 | Check     | Check  | Check  | Check  | Check  | Check  | 
>
>DogsDB.DB | TFR                                                        

>                                                                       

>                            | 
>			 | _a,calc _a*0 as RT2,calc _a*0 as RT2P,calc _a*0 as RT2C,calc _a*0
as
>RT4,calc _a*0 as RT4P,calc _a*0 as RT4C,calc _a*0 as RT6,calc _a*0 as RT6P,calc
>_a*0 as RT6C | 
>
>DogsDB.DB | 
>			 | 
>
>DogsDB.DB | Betfair                                                    

>                                                       | 
>			 | Check calc _a*0 as BT6,calc _a*0 as RT6P,calc _a*0 as RT6Avg,calc
_a*0
>as Tracp P,calc _a*0 as BT,calc _a*0 as Nocr | 
>
>EndQuery
>
>  qb.executeQBE()
>
>
>
> qb= Query
>ANSWER: :PRIV:ANSWER.DB
>
>NNett.DB | Pos              | 
>			| not 1,changeto 0 | 
>
>EndQuery
>
>
>  qb.executeQBE()
>
>	
>
> play("Lto2T.ssl")
>
> play("Lto4.ssl")
>
>  play("Lto6.ssl")
>
>	play("BT8.ssl")
>	play("Fitness.ssl")
>
>  qb=Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>NNett.DB | Race name | Racetime | Race No | Date   | Name   | Betfair  

> | 
>			| _join1    | _join2   | _join3  | _join4 | _join5 | changeto _a | 
>
>BetfairSp.DB | Race name | Racetime | Race No | Date   | Name   | Betfair
>| 
>				 | _join1    | _join2   | _join3  | _join4 | _join5 | _a      | 
>
>EndQuery
>
>  qb.executeQBE()
>
>	 qb=Query
>ANSWER: :WORK:ANSWER.DB
>
>NNett.DB | Race name | Racetime | Race No | Date   | Grade  | Distance |
>
>         | Check     | Check    | Check   | Check  | Check  | Check    |
>
>
>NNett.DB | Race type | Pos    | Trap   | Name   | Age    | Sex    | Betfair
>| 
>         | Check     | Check  | Check  | Check  | Check  | Check  | Check
>  | 
>
>NNett.DB | RT2    | RT2P   | RT2C   | RT4    | RT4P   | RT4C   | RT6   
|
>
>         | Check  | Check  | Check  | Check  | Check  | Check  | Check 
|
>
>
>NNett.DB | RT6P   | RT6C   | BT6    | RT6P_1 | RT6Avg | Tracp P | BT   

>| 
>         | Check  | Check  | Check  | Check  | Check  | Check   | Check

>| 
>
>NNett.DB | Nocr   | 
>         | Check  | 
>
>EndQuery
>
>	  qb.executeQBE()
>  	tab.attach("answer")
>tab.add("Stats2",True,False) 
> 
>
>
>			
>
>		; and at the end prepare data for next iteration
>		dStart = dEnd+1
>		mStart = mEnd+1
>	  
>	endWhile
>
>


Copyright © 2004 thedbcommunity.com