Paradox Community

Items in pnews.paradox-programming

Subject:Re: Help with my code please example below
Date:14 Oct 2021 17:13:20 -0400
From:"Tony" <tracy.fairbrother@btopenworld.com>
Newsgroups:pnews.paradox-programming

"Kevin Zawicki" <numberjack@wi.rr.com> wrote:
>
>Thanks Kevin
If I want to start on the 01/01/2019 then get data every two weeks what does
the code look like? Sorry Im not very good at this can you show me how this
code will look please? Tony

>
>
>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