Files
harbour-core/harbour/examples/rl/rl.dif
Viktor Szakats 8be9858def 2009-06-03 11:36 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* examples/rl/readme.txt
  + examples/rl/rl.dif
    + Added patch file for original RL sources to make them 
      work with Harbour. The issue was with some longer than 
      10 chars PRIVATE vars which were saved and restored from 
      .mem files and they were cut to 10 chars on restore.
2009-06-03 09:36:39 +00:00

353 lines
11 KiB
Plaintext

diff -u ori_src\RLBACK.PRG .\RLBACK.PRG
--- ori_src\RLBACK.PRG Mon May 20 05:31:00 1996
+++ .\RLBACK.PRG Wed Jun 03 11:30:32 2009
@@ -312,10 +312,10 @@
sub_hdr_offset, page_width_offset, lns_per_page_offset, left_mrgn_offset,;
right_mgrn_offset, col_count_offset, dbl_space_offset,;
summary_rpt_offset, pe_offset, plnpg_peap_pebp_offset, plus_byte,;
- frm_pagehdr, frm_grpexpr, frm_subexpr, frm_grphdr, frm_subhdr,;
- frm_pagewidth, frm_linespage, frm_leftmarg, frm_rightmarg,;
- frm_colcount, frm_dblspaced, frm_summary, frm_pe, frm_pebp, frm_peap,;
- frm_plainpage
+ frm_pagehd, frm_grpexp, frm_subexp, frm_grphdr, frm_subhdr,;
+ frm_pagewi, frm_linesp, frm_leftma, frm_rightm,;
+ frm_colcou, frm_dblspa, frm_summar, frm_pe, frm_pebp, frm_peap,;
+ frm_plainp
i = 0
handle = 0
@@ -379,22 +379,22 @@
** Default report values **
-frm_pagehdr = SPACE(240)
-frm_grpexpr = SPACE(200)
-frm_subexpr = SPACE(200)
+frm_pagehd = SPACE(240)
+frm_grpexp = SPACE(200)
+frm_subexp = SPACE(200)
frm_grphdr = SPACE(50)
frm_subhdr = SPACE(50)
-frm_pagewidth = 80
-frm_linespage = 58
-frm_leftmarg = 8
-frm_rightmarg = 0
-frm_colcount = 0
-frm_dblspaced = "N"
-frm_summary = "N"
+frm_pagewi = 80
+frm_linesp = 58
+frm_leftma = 8
+frm_rightm = 0
+frm_colcou = 0
+frm_dblspa = "N"
+frm_summar = "N"
frm_pe = "N"
frm_pebp = "Y"
frm_peap = "N"
-frm_plainpage = "N"
+frm_plainp = "N"
** Initialize transfer dbf creation arrays **
@@ -508,21 +508,21 @@
params_buff = SUBSTR(file_buff, params_offset, size_params_buff)
** Extract Numerics **
- frm_pagewidth = WORD_2_NUM(SUBSTR(params_buff,page_width_offset,2))
- frm_linespage = WORD_2_NUM(SUBSTR(params_buff,lns_per_page_offset,2))
- frm_leftmarg = WORD_2_NUM(SUBSTR(params_buff,left_mrgn_offset,2))
- frm_rightmarg = WORD_2_NUM(SUBSTR(params_buff,right_mgrn_offset,2))
- frm_colcount = WORD_2_NUM(SUBSTR(params_buff,col_count_offset,2))
+ frm_pagewi = WORD_2_NUM(SUBSTR(params_buff,page_width_offset,2))
+ frm_linesp = WORD_2_NUM(SUBSTR(params_buff,lns_per_page_offset,2))
+ frm_leftma = WORD_2_NUM(SUBSTR(params_buff,left_mrgn_offset,2))
+ frm_rightm = WORD_2_NUM(SUBSTR(params_buff,right_mgrn_offset,2))
+ frm_colcou = WORD_2_NUM(SUBSTR(params_buff,col_count_offset,2))
** Extract characters **
- frm_dblspaced = SUBSTR(params_buff, dbl_space_offset, 1)
- frm_summary = SUBSTR(params_buff, summary_rpt_offset, 1)
+ frm_dblspa = SUBSTR(params_buff, dbl_space_offset, 1)
+ frm_summar = SUBSTR(params_buff, summary_rpt_offset, 1)
frm_pe = SUBSTR(params_buff, pe_offset, 1)
** Process packed 'plus byte' **
plus_byte = ASC(SUBSTR(params_buff, plnpg_peap_pebp_offset, 1))
IF INT( plus_byte / 4 ) = 1
- frm_plainpage = "Y"
+ frm_plainp = "Y"
plus_byte = plus_byte - 4
ENDIF
IF INT( plus_byte / 2 ) = 1
@@ -538,15 +538,15 @@
** Page Heading, Report Title **
pointer = WORD_2_NUM(SUBSTR(params_buff, page_hdr_offset, 2))
- frm_pagehdr = GET_EXPR(pointer)
+ frm_pagehd = GET_EXPR(pointer)
** Grouping expression **
pointer = WORD_2_NUM(SUBSTR(params_buff, grp_expr_offset, 2))
- frm_grpexpr = GET_EXPR(pointer)
+ frm_grpexp = GET_EXPR(pointer)
** Sub-grouping expression **
pointer = WORD_2_NUM(SUBSTR(params_buff, sub_expr_offset, 2))
- frm_subexpr = GET_EXPR(pointer)
+ frm_subexp = GET_EXPR(pointer)
** Group header **
pointer = WORD_2_NUM(SUBSTR(params_buff, grp_hdr_offset, 2))
@@ -562,7 +562,7 @@
fld_offset = 12 && dBASE skips first 12 byte fields block.
USE &dbf_file
- FOR i = 1 to frm_colcount
+ FOR i = 1 to frm_colcou
** APPEND and REPLACEs happen in GET_FIELD() **
fld_offset = GET_FIELD(fld_offset)
@@ -790,10 +790,10 @@
next_free_offset, last_expr, expr_count
PRIVATE report_size, report_image, status, expr_count, i, j, write_count,;
- frm_pagehdr, frm_grpexpr, frm_subexpr, frm_grphdr, frm_subhdr,;
- frm_pagewidth, frm_linespage, frm_leftmarg, frm_rightmarg,;
- frm_colcount, frm_dblspaced, frm_summary, frm_pe, frm_pebp, frm_peap,;
- frm_plainpage
+ frm_pagehd, frm_grpexp, frm_subexp, frm_grphdr, frm_subhdr,;
+ frm_pagewi, frm_linesp, frm_leftma, frm_rightm,;
+ frm_colcou, frm_dblspa, frm_summar, frm_pe, frm_pebp, frm_peap,;
+ frm_plainp
report_size = 1990 && size of report file.
report_image = ""
@@ -847,19 +847,19 @@
IF file_error = 0
** Write Page Heading info **
- page_hdr_num = WRITE_EXPR(frm_pagehdr, .T.)
+ page_hdr_num = WRITE_EXPR(frm_pagehd, .T.)
** WRITE ok? **
IF page_hdr_num != -1
** Write Grouping expression info **
- grp_expr_num = WRITE_EXPR(frm_grpexpr, .T.)
+ grp_expr_num = WRITE_EXPR(frm_grpexp, .T.)
** WRITE ok? **
IF grp_expr_num != -1
** Write Sub-grouping expression info **
- sub_expr_num = WRITE_EXPR(frm_subexpr, .T.)
+ sub_expr_num = WRITE_EXPR(frm_subexp, .T.)
** WRITE ok? **
IF sub_expr_num != -1
@@ -891,7 +891,7 @@
IF i == j .AND. LEN( TRIM( contents ) ) == 0
status := .T.
- frm_colcount--
+ frm_colcou--
ELSE
status := WRITE_FIELD()
ENDIF
@@ -1179,7 +1179,7 @@
plus_byte = 0
** Calculate plus byte **
-IF frm_plainpage = "Y"
+IF frm_plainp = "Y"
plus_byte = plus_byte + 4
ENDIF
IF frm_peap = "Y"
@@ -1195,13 +1195,13 @@
NUM_2_WORD(sub_expr_num) +;
NUM_2_WORD(grp_hdr_num) +;
NUM_2_WORD(sub_hdr_num) +;
- NUM_2_WORD(frm_pagewidth) +;
- NUM_2_WORD(frm_linespage) +;
- NUM_2_WORD(frm_leftmarg) +;
- NUM_2_WORD(frm_rightmarg) +;
- NUM_2_WORD(frm_colcount) +;
- frm_dblspaced +;
- frm_summary +;
+ NUM_2_WORD(frm_pagewi) +;
+ NUM_2_WORD(frm_linesp) +;
+ NUM_2_WORD(frm_leftma) +;
+ NUM_2_WORD(frm_rightm) +;
+ NUM_2_WORD(frm_colcou) +;
+ frm_dblspa +;
+ frm_summar +;
frm_pe +;
CHR(plus_byte)
write_len = LEN(write_item)
diff -u ori_src\RLFRONT.PRG .\RLFRONT.PRG
--- ori_src\RLFRONT.PRG Mon May 20 05:31:00 1996
+++ .\RLFRONT.PRG Wed Jun 03 11:31:30 2009
@@ -828,10 +828,10 @@
// translate semicolons into lines and stuff array
fstart_pos = 1
-phdr_lines[1] = XLATE(frm_pagehdr, ";", 60)
-phdr_lines[2] = XLATE(frm_pagehdr, ";", 60)
-phdr_lines[3] = XLATE(frm_pagehdr, ";", 60)
-phdr_lines[4] = XLATE(frm_pagehdr, ";", 60)
+phdr_lines[1] = XLATE(frm_pagehd, ";", 60)
+phdr_lines[2] = XLATE(frm_pagehd, ";", 60)
+phdr_lines[3] = XLATE(frm_pagehd, ";", 60)
+phdr_lines[4] = XLATE(frm_pagehd, ";", 60)
// initalize contents header array
afill(chdr_lines, SPACE(65), 1, 24*4)
@@ -861,14 +861,14 @@
NEXT
// pad the group/subgroup area, if necessary
-frm_grpexpr = frm_grpexpr + SPACE(200 - LEN(frm_grpexpr))
+frm_grpexp = frm_grpexp + SPACE(200 - LEN(frm_grpexp))
frm_grphdr = frm_grphdr + SPACE( 50 - LEN(frm_grphdr ))
-frm_subexpr = frm_subexpr + SPACE(200 - LEN(frm_subexpr))
+frm_subexp = frm_subexp + SPACE(200 - LEN(frm_subexp))
frm_subhdr = frm_subhdr + SPACE( 50 - LEN(frm_subhdr ))
// modifying old file
GO TOP
-IF frm_colcount != 0
+IF frm_colcou != 0
m_contents = form_dbf->contents
m_width = form_dbf->width
@@ -877,12 +877,12 @@
***** 03/29/88
* originally:
-* total_fields = frm_colcount
+* total_fields = frm_colcou
* fix:
- TOTAL_FIELDS = int(FRM_COLCOUNT)
+ TOTAL_FIELDS = int(FRM_COLCOU)
-ELSE // modifying new file, frm_colcount == 0
+ELSE // modifying new file, frm_colcou == 0
m_contents = SPACE(254)
m_width = 10
@@ -990,7 +990,7 @@
//
lNonBlank := .F.
-frm_pagehdr := ""
+frm_pagehd := ""
FOR i = 4 TO 2 STEP -1
@@ -999,24 +999,24 @@
// once a nonblank is encountered, prefix all but the first
// entry with a semi-colon
- frm_pagehdr := IIF( lNonBlank, ";", "" ) + TRIM( phdr_lines[ i ] ) + ;
- frm_pagehdr
+ frm_pagehd := IIF( lNonBlank, ";", "" ) + TRIM( phdr_lines[ i ] ) + ;
+ frm_pagehd
NEXT i
-frm_pagehdr = TRIM( phdr_lines[ i ] ) + frm_pagehdr
+frm_pagehd = TRIM( phdr_lines[ i ] ) + frm_pagehd
// strip of spaces in the group/subgroup areas
-frm_grpexpr = TRIM(frm_grpexpr)
+frm_grpexp = TRIM(frm_grpexp)
frm_grphdr = TRIM(frm_grphdr)
-frm_subexpr = TRIM(frm_subexpr)
+frm_subexp = TRIM(frm_subexp)
frm_subhdr = TRIM(frm_subhdr)
// save if updated and 'No' was not selected
IF my_update .AND. !no_save_flag
* set number of fields
- frm_colcount = MAX(total_fields, frm_colcount)
+ frm_colcou = MAX(total_fields, frm_colcou)
SAVE ALL LIKE frm_* TO &form_mem
@@ -1281,7 +1281,7 @@
* increment field count variables
total_fields = total_fields + 1
- frm_colcount = frm_colcount + 1
+ frm_colcou = frm_colcou + 1
* initialize new field
m_contents = SPACE(254)
@@ -1411,7 +1411,7 @@
IF total_fields > 1
total_fields = total_fields - 1
- frm_colcount = frm_colcount - 1
+ frm_colcou = frm_colcou - 1
ENDIF
* get the new data
@@ -1532,7 +1532,7 @@
LOCAL bValidHeader := { | cString | ! ( ";" $ cString ) }
// this represents the minimum constraint -- calculation should account for
// column widths
-LOCAL bValidRMargin := { | nExp | nExp < frm_pagewidth .AND. nExp >= 0 }
+LOCAL bValidRMargin := { | nExp | nExp < frm_pagewi .AND. nExp >= 0 }
LOCAL nHeaderIndex
@@ -1554,21 +1554,21 @@
NEXT nHeaderIndex
-@ 12,42 GET frm_pagewidth PICTURE "999"
-@ 13,42 GET frm_leftmarg PICTURE "999"
+@ 12,42 GET frm_pagewi PICTURE "999"
+@ 13,42 GET frm_leftma PICTURE "999"
-@ 14,42 GET frm_rightmarg PICTURE "999" VALID VCondition( bValidRMargin, ;
+@ 14,42 GET frm_rightm PICTURE "999" VALID VCondition( bValidRMargin, ;
"Invalid right margin -- must be between 0 and " + ;
- ltrim( str( frm_pagewidth - 1 ) ) )
+ ltrim( str( frm_pagewi - 1 ) ) )
-@ 15,42 GET frm_linespage PICTURE "999"
-@ 16,42 GET frm_dblspaced PICTURE "!"
+@ 15,42 GET frm_linesp PICTURE "999"
+@ 16,42 GET frm_dblspa PICTURE "!"
@ 20,49 GET frm_pebp PICTURE "!"
@ 21,49 GET frm_peap PICTURE "!"
-@ 22,49 GET frm_plainpage PICTURE "!"
+@ 22,49 GET frm_plainp PICTURE "!"
READ
@@ -1630,13 +1630,13 @@
SET KEY -2 TO // disable this option
-@ 06,25 GET frm_grpexpr PICTURE "@S50"
+@ 06,25 GET frm_grpexp PICTURE "@S50"
@ 07,25 GET frm_grphdr
-@ 11,23 GET frm_summary PICTURE "!"
+@ 11,23 GET frm_summar PICTURE "!"
@ 12,23 GET frm_pe PICTURE "!"
-@ 18,25 GET frm_subexpr PICTURE "@S50"
+@ 18,25 GET frm_subexp PICTURE "@S50"
@ 19,25 GET frm_subhdr
READ