forum-msg-id-135093-edit

Original date:2020-10-05 10:10:33 Edited by: Senator Subject: Re: Budget Builder

----------------------- register.e part 5 
public constant ALL=13 
public procedure list(integer only_year = 0, integer only_month = 0,  
                        integer start = 1, integer stop = db_table_size())  
object key   
    if only_year  = 13 then only_year  =  select_year() end if 
    if only_month = 13 then only_month = select_month() end if  
    init_text_formatter() 
    -- update_tables() 
    reset_columns() 
    display_header() 
    pos = get_position() 
    line = pos[1] 
    for rec = start to stop do 
        key = db_record_key(rec) 
            if only_year and only_month then 
                if equal(key[MONTH],only_month) then 
                     show(rec, db_record_key(rec), db_record_data(rec))    
                end if 
            else 
                show(rec, db_record_key(rec), db_record_data(rec)) 
            end if 
    end for 
    set_foreground_color(FGC) 
end procedure 
 
global object brd, sourceDir, BACKUPDIR  
include xbackup.e 
public procedure backup_prj_files() 
sequence file_name 
    sourceDir = curdir() 
    file_name = sourceDir&"register.prj" 
    brd = backupfiles(file_name) 
    display(brd[2]) 
end procedure 
 
public function autolog_budget(sequence TARGET_TABLE = REGISTER) 
sequence key, data 
datetime dt = datetime:now() 
    backup_prj_files() 
    if db_select_table(BUDGET) != DB_OK then  
        display("\n\t\t\tCould not select: ",0) 
        hilite(sprintf("\n\t\t\t%s",{BUDGET})) 
        any_key("\n\t\tAutolog Aborted - Press any key") 
    else  
            current_table = db_current_table() 
            if equal(current_table, BUDGET) then 
                for rec  = 1 to db_table_size() do 
                    key  = db_record_key(rec)  -- budget 
                    data = db_record_data(rec) -- budget 
                    if db_select_table(TARGET_TABLE) != DB_OK then 
                        display("\n\t\t\tCould not select: ",0) 
                        hilite(sprintf("\n\t\t\t%s",{TARGET_TABLE})) 
                        any_key("\n") 
                    else    -- table = TARGET_TABLE 
                        if  key[1]  >  days_in_month(dt) then  -- edit 9/1/2020 
                            key[1]  =  days_in_month(dt) 
                        end if 
                        dt[DAY]     =  key[1] 
                        dt[HOUR]    =  4   -- 4 a.m. 
                        dt[MINUTE]  =  1 
                        dt = add(dt, rec, MINUTES) 
                        if db_insert(dt,data) != DB_OK then  
                            display("\n\t\tCould not insert Autolog Budget data into ",0) 
                            hilite(sprintf("\n\t\t\t%s",{TARGET_TABLE})) 
                            any_key(" ") 
                            return 0 
                        else -- switch to BUDGET table to select next autolog entry 
                            db_select_table(BUDGET) 
                        end if 
                    end if 
                end for 
            end if 
    end if 
db_select_table(TARGET_TABLE) 
return 1 
end function 
--------------------------------------- end register.e part 5 
 
Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu