Files
harbour-core/extras/dbu/dbu53.patch
Viktor Szakats 0caff16650 2017-09-13 12:38 UTC Viktor Szakats (vszakats users.noreply.github.com)
- doc/en/hashes.txt
  - doc/en/rdddb.txt
  * .gitattributes
  * contrib/3rd/sqlite3/sqlite3.hbp
  * contrib/hbbz2/3rd/bz2/bz2.hbp
  * contrib/hbexpat/3rd/expat/expat.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
  * contrib/hblzf/3rd/liblzf/lzf.hbp
  * contrib/hbmxml/3rd/minixml/mxml.hbp
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/hbodbc/hbodbc.hbp
  * contrib/hbtinymt/3rd/tinymt/tinymt.hbp
  * contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
  * contrib/sddsqlt3/tests/test.prg
  * ChangeLog.txt
  * doc/Makefile
  * doc/oldnews.txt
  * extras/ps32/readme.txt
  * extras/superlib/readme.txt
  * src/3rd/jpeg/Makefile
  * src/3rd/pcre/Makefile
  * src/3rd/png/Makefile
  * src/3rd/tiff/Makefile
  * src/3rd/zlib/Makefile
  + contrib/hbsms/DEPRECATED.txt
  + contrib/hbtpathy/DEPRECATED.txt
  + contrib/xhb/WARNING.txt
  * contrib/3rd/sqlite3/sqlite3.dif -> contrib/3rd/sqlite3/sqlite3.diff
  * contrib/hbbz2/3rd/bz2/bz2.dif -> contrib/hbbz2/3rd/bz2/bz2.diff
  * contrib/hbexpat/3rd/expat/expat.dif -> contrib/hbexpat/3rd/expat/expat.diff
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif -> contrib/hbhpdf/3rd/libhpdf/libhpdf.diff
  * contrib/hblzf/3rd/liblzf/liblzf.dif -> contrib/hblzf/3rd/liblzf/liblzf.diff
  * contrib/hbmxml/3rd/minixml/minixml.dif -> contrib/hbmxml/3rd/minixml/minixml.diff
  * contrib/hbmzip/3rd/minizip/minizip.dif -> contrib/hbmzip/3rd/minizip/minizip.diff
  * contrib/hbtinymt/3rd/tinymt/tinymt.dif -> contrib/hbtinymt/3rd/tinymt/tinymt.diff
  * contrib/hbxdiff/3rd/libxdiff/libxdiff.dif -> contrib/hbxdiff/3rd/libxdiff/xdiff.diff
  * contrib/sddsqlt3/tests/test.sq3 -> contrib/sddsqlt3/tests/test.sqlite3
  * extras/dbu/dbu52.dif -> extras/dbu/dbu52.patch
  * extras/dbu/dbu53.dif -> extras/dbu/dbu53.patch
  * extras/ps32/ps32.dif -> extras/ps32/ps32.patch
  * extras/rl/rl.dif -> extras/rl/rl.patch
  * extras/superlib/superlib.dif -> extras/superlib/superlib.patch
  * extras/template/readme.txt -> extras/template/README.md
  * src/3rd/hbdossrl/README -> src/3rd/hbdossrl/README.txt
  * src/3rd/jpeg/jpeg.dif -> src/3rd/jpeg/jpeg.diff
  * src/3rd/pcre/pcre.dif -> src/3rd/pcre/pcre.diff
  * src/3rd/png/png.dif -> src/3rd/png/png.diff
  * src/3rd/tiff/tiff.dif -> src/3rd/tiff/tiff.diff
  * src/3rd/zlib/zlib.dif -> src/3rd/zlib/zlib.diff
  * tests/hbpptest/_pp_test.prg -> tests/hbpp/_pp_test.prg
  * tests/hbpptest/compare.hb -> tests/hbpp/compare.hb
  * tests/hbpptest/hbpptest.hbp -> tests/hbpp/hbpptest.hbp
  * tests/hbpptest/hbpptest.prg -> tests/hbpp/hbpptest.prg
  * tests/tflock.prg -> tests/flock.prg
  * contrib/hbfimage/fi_wrp.c -> contrib/hbfimage/core.c
  * contrib/hbodbc/browodbc.prg -> contrib/hbodbc/browse.prg
  * doc/cmdline.txt -> doc/cmdline.md
  * extras/dbu/readme.txt -> extras/dbu/README.md
  * extras/rl/readme.txt -> extras/rl/README.md
    * some file renames synced with 3.4 fork, plus the content of
      some of them. Some new text files added as well.
      Note, 3rd party code rediffing won't work anymore on 8.3
      filesystems.
2017-09-13 12:39:48 +00:00

726 lines
23 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
diff -u dbu53ori/dbu.prg dbu53pat/dbu.prg
--- dbu53ori/dbu.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbu.prg 2013-03-02 02:00:36.000000000 +0100
@@ -9,8 +9,10 @@
*
***/
-#include "Inkey.Ch"
-#include "Set.Ch"
+#include "hbgtinfo.ch"
+#include "hbextcdp.ch"
+#include "inkey.ch"
+#include "set.ch"
// Uncomment to update the obsolete declaration:
#xtranslate DECLARE => PRIVATE
@@ -71,6 +73,14 @@
SET SCOREBOARD OFF // who's keeping score, anyhow
SET KEY 28 TO // some folks need help
+ Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
+
+ IF "-utf" $ Lower( hb_cmdLine() )
+ hb_cdpSelect( "UTF8EX" )
+ hb_gtInfo( HB_GTI_BOXCP, "UTF8EX" )
+ ENDIF
+ SetKey( K_ALT_V, {|| hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) } )
+
IF (ISCOLOR() .OR. "/C" $ UPPER(param2)) .AND. .NOT. "/M" $ UPPER(param2)
// make it pretty
color1 := "W+/B,N/W,B" // normal
@@ -110,10 +120,10 @@
// system constants
more_up := CHR(24) // visual up arrow
more_down := CHR(25) // visual down arrow
- frame := "Õ͸³¾ÍÔ³" // box characters
- lframe := "Ñ͸³¾Íϳ"
- mframe := "ÂijÙÄÀ³"
- sframe := "ÚÄ¿³ÙÄÀ³"
+ frame := hb_UTF8ToStr( "â•â•<C3A2>â••â”â•â•<C3A2>╘â”" ) // box characters
+ lframe := hb_UTF8ToStr( "╤â•<C3A2>â••â”â•â•<C3A2>â•§â”" )
+ mframe := hb_UTF8ToStr( "┬─┬│┘─└│" )
+ sframe := hb_UTF8ToStr( "┌─â”<C3A2>â”┘─└â”" )
// global variables
STORE .F. TO need_field,need_ntx,need_relat,need_filtr,box_open
@@ -264,7 +274,7 @@
@ 0,0 SAY " F1 F2 F3 F4 F5 F6 " +;
"F7 F8 "
show_keys()
- @ 2,0 SAY REPLICATE("Ä", 80)
+ @ 2,0 SAY REPLICATE(hb_UTF8ToStr( "─" ), 80)
error_msg(view_err)
// when to bubble up
@@ -360,14 +370,14 @@
help_title[22] := "REPLACE"
// arrays for file names in default directory
- DECLARE dbf_list[adir("*.DBF") + 20] // directory of data files
+ DECLARE dbf_list[adir("*.dbf") + 20] // directory of data files
DECLARE ntx_list[adir("*" + INDEXEXT()) + 20] // directory of index files
- DECLARE vew_list[adir("*.VEW") + 20] // directory of view files
+ DECLARE vew_list[adir("*.vew") + 20] // directory of view files
// fill the arrays with filenames
- array_dir("*.DBF",dbf_list)
+ array_dir("*.dbf",dbf_list)
array_dir("*" + INDEXEXT(),ntx_list)
- array_dir("*.VEW",vew_list)
+ array_dir("*.vew",vew_list)
// default to set view
local_func := 0 // local menu
@@ -384,7 +394,7 @@
DO CASE
- CASE RAT(".", com_line) > RAT("\", com_line)
+ CASE RAT(".", com_line) > RAT(hb_ps(), com_line)
// file extension entered
IF !( FILE( com_line ) )
// file must exist
@@ -392,13 +402,13 @@
ENDIF
- CASE FILE(com_line + ".VEW")
+ CASE FILE(com_line + ".vew")
// look for file name with .VEW extension
- com_line := com_line + ".VEW"
+ com_line := com_line + ".vew"
- CASE FILE(com_line + ".DBF")
+ CASE FILE(com_line + ".dbf")
// look for file name with .DBF extension
- com_line := com_line + ".DBF"
+ com_line := com_line + ".dbf"
OTHERWISE
// file not found..ignore command line
@@ -409,7 +419,7 @@
IF .NOT. EMPTY(com_line)
// command line file exists
- IF RAT(".VEW", com_line) = LEN(com_line) - 3
+ IF RAT(".vew", Lower(com_line)) = LEN(com_line) - 3
// assume a valid .VEW file
view_file := com_line
set_from(.F.) // restore view
@@ -678,8 +688,8 @@
@ 0,0 SAY " F1 F2 F3 F4 " +;
"F5 F6 F7 F8 "
show_keys()
- @ 2,0 SAY REPLICATE("Ä", 80)
- @ 24,0 SAY "Run Í" + CHR(16) + " "
+ @ 2,0 SAY REPLICATE(hb_UTF8ToStr( "─" ), 80)
+ @ 24,0 SAY "Run " + hb_UTF8ToStr( "â•<C3A2>âº" ) + " "
// accept command entry
run_com := enter_rc(M->com_line,24,7,127,"@KS73",M->color1)
@@ -708,18 +718,18 @@
@ 3,0 CLEAR
// rebuild directory arrays..must keep current
- DECLARE dbf_list[adir("*.DBF") + 20]
+ DECLARE dbf_list[adir("*.dbf") + 20]
DECLARE ntx_list[adir("*" + INDEXEXT()) + 20]
- DECLARE vew_list[adir("*.VEW") + 20]
+ DECLARE vew_list[adir("*.vew") + 20]
// fill the arrays with filenames..data files
- array_dir("*.DBF",dbf_list)
+ array_dir("*.dbf",dbf_list)
// index files
array_dir("*" + INDEXEXT(),ntx_list)
// view files
- array_dir("*.VEW",vew_list)
+ array_dir("*.vew",vew_list)
cur_area := 0 // re-draw view screen
sysfunc := 0 // back to the main view screen
@@ -796,12 +806,12 @@
nPos := AT( ";", cPath )
// Account for backslash in path
- IF ( SUBSTR( cPath, nPos - 1, 1 ) == "\" )
+ IF ( SUBSTR( cPath, nPos - 1, 1 ) == hb_ps() )
cFile := SUBSTR( cPath, 1, ;
IIF( nPos == 0, LEN( cPath ), nPos - 1 ) ) + "dbu.hlp"
ELSE
cFile := SUBSTR( cPath, 1, ;
- IIF( nPos == 0, LEN( cPath ), nPos - 1 ) ) + "\dbu.hlp"
+ IIF( nPos == 0, LEN( cPath ), nPos - 1 ) ) + hb_ps() + "dbu.hlp"
ENDIF
IF FILE( cFile )
diff -u dbu53ori/dbucopy.prg dbu53pat/dbucopy.prg
--- dbu53ori/dbucopy.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbucopy.prg 2012-05-02 17:23:13.000000000 +0200
@@ -62,8 +62,8 @@
filename = ""
* only copy and append use a list of text files
- DECLARE txt_list[adir("*.TXT") + 20] && directory of text files
- array_dir("*.TXT",txt_list) && fill array with filenames
+ DECLARE txt_list[adir("*.txt") + 20] && directory of text files
+ array_dir("*.txt",txt_list) && fill array with filenames
* set up for multi-box
DECLARE boxarray[10]
@@ -104,7 +104,7 @@
* DBF for normal mode
files = "dbf_list"
- def_ext = ".DBF"
+ def_ext = ".dbf"
* when is a filename acceptable?
fi_done = "not_empty('filename')"
@@ -138,7 +138,7 @@
PARAMETERS sysparam
RETURN box_title(M->sysparam, "Copy " +;
- SUBSTR(M->cur_dbf, RAT("\", M->cur_dbf) + 1) +;
+ SUBSTR(M->cur_dbf, RAT(hb_ps(), M->cur_dbf) + 1) +;
" to...")
@@ -208,7 +208,7 @@
SELECT (M->cur_area)
- IF RAT(M->def_ext, M->filename) = LEN(M->filename) - 3
+ IF RAT(Lower( M->def_ext ), Lower( M->filename )) = LEN(M->filename) - 3
* target has default extension..does it exists in current dir?
add_name = .NOT. FILE(name(M->filename) + M->def_ext)
@@ -301,7 +301,7 @@
PARAMETERS sysparam
RETURN box_title(M->sysparam, "Append to " +;
- SUBSTR(M->cur_dbf, RAT("\", M->cur_dbf) + 1) +;
+ SUBSTR(M->cur_dbf, RAT(hb_ps(), M->cur_dbf) + 1) +;
" from")
@@ -433,7 +433,7 @@
PARAMETERS sysparam
RETURN box_title(M->sysparam, "Replace in " +;
- SUBSTR(M->cur_dbf, RAT("\", M->cur_dbf) + 1) +;
+ SUBSTR(M->cur_dbf, RAT(hb_ps(), M->cur_dbf) + 1) +;
"...")
@@ -742,7 +742,7 @@
cur_el = 1
rel_row = 0
files = "dbf_list"
- def_ext = ".DBF"
+ def_ext = ".dbf"
filelist(1) && display new list
ELSE
@@ -757,7 +757,7 @@
cur_el = 1
rel_row = 0
files = "txt_list"
- def_ext = ".TXT"
+ def_ext = ".txt"
filelist(1) && display new list
ENDIF
@@ -820,7 +820,7 @@
cur_el = 1
rel_row = 0
files = "dbf_list"
- def_ext = ".DBF"
+ def_ext = ".dbf"
filelist(1) && display new list
ELSE
@@ -835,7 +835,7 @@
cur_el = 1
rel_row = 0
files = "txt_list"
- def_ext = ".TXT"
+ def_ext = ".txt"
filelist(1) && display new list
ENDIF
diff -u dbu53ori/dbuedit.prg dbu53pat/dbuedit.prg
--- dbu53ori/dbuedit.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbuedit.prg 2012-05-02 17:23:18.000000000 +0200
@@ -47,7 +47,7 @@
nHelpSave := help_code
/* save, clear, and frame the window */
- cBrowseBuf := SaveScreen(8, 0, 23, 79)
+ cBrowseBuf := SaveScreen(8, 0, MaxRow()-1, MaxCol())
/* array to save move_ptr expressions */
aMoveExp := Array(4)
@@ -63,14 +63,14 @@
cFieldArray := "field_n" + Substr("123456", cur_area, 1)
cNtx := "ntx" + Substr("123456", cur_area, 1)
cur_ntx := &cNtx[1]
- cPrimeDbf := Substr(cur_dbf, Rat("\", cur_dbf) + 1)
+ cPrimeDbf := Substr(cur_dbf, Rat(hb_ps(), cur_dbf) + 1)
lCanAppend := .T.
else
/* browse the entire view */
nPrimeArea := 1
cFieldArray := "field_list"
cur_ntx := ntx1[1]
- cPrimeDbf := Substr(dbf[1], Rat("\", dbf[1]) + 1)
+ cPrimeDbf := Substr(dbf[1], Rat(hb_ps(), dbf[1]) + 1)
lCanAppend := .F.
if ( "->" $ field_list[afull(field_list)] )
@@ -95,11 +95,11 @@
/* create TBrowse object */
nColorSave := SetColor(color7)
- oB := TBrowseDB(10, 1, 23, 78)
+ oB := TBrowseDB(10, 1, MaxRow()-1, MaxCol()-1)
- oB:headSep := "ÍÑÍ"
- oB:colSep := " ³ "
- oB:footSep := "ÍÏÍ"
+ oB:headSep := hb_UTF8ToStr( "â•<C3A2>╤â•<C3A2>" )
+ oB:colSep := hb_UTF8ToStr( " │ " )
+ oB:footSep := hb_UTF8ToStr( "â•<C3A2>â•§â•<C3A2>" )
oB:skipBlock := {|x| Skipped(x, lAppend)}
/* put columns into browse */
@@ -139,10 +139,10 @@
/* initialize parts of screen not handled by TBrowse */
stat_msg("")
- scroll(8, 0, 23, 79, 0)
- @ 8, 0, 23, 79 BOX frame
- @ nHsepRow, 0 SAY "Æ"
- @ nHsepRow, 79 SAY "µ"
+ scroll(8, 0, MaxRow()-1, MaxCol(), 0)
+ @ 8, 0, MaxRow()-1, MaxCol() BOX frame
+ @ nHsepRow, 0 SAY hb_UTF8ToStr( "╞" )
+ @ nHsepRow, MaxCol() SAY hb_UTF8ToStr( "â•¡" )
/* init rest of locals */
cAlias := ""
@@ -353,11 +353,11 @@
box_open := .t.
/* save, clear, and frame window for memoedit */
- cMemoBuff := SaveScreen(10, 10, 22, 69)
+ cMemoBuff := SaveScreen(10, 10, MaxRow()-2, 69)
SetColor(color8)
- Scroll(10, 10, 22, 69, 0)
- @ 10, 10, 22, 69 BOX frame
+ Scroll(10, 10, MaxRow()-2, 69, 0)
+ @ 10, 10, MaxRow()-2, 69 BOX frame
/* use fieldspec for title */
SetColor(color9)
@@ -365,7 +365,7 @@
/* edit the memo field */
SetColor(color8)
- cMemo := MemoEdit(&cEditField, 11, 11, 21, 68,.T.,"xmemo")
+ cMemo := MemoEdit(&cEditField, 11, 11, MaxRow()-3, 68,.T.,"xmemo")
if Lastkey() == K_CTRL_END
/* ^W..new memo confirmed */
@@ -397,7 +397,7 @@
end
/* restore the window */
- RestScreen(10, 10, 22, 69, cMemoBuff)
+ RestScreen(10, 10, MaxRow()-2, 69, cMemoBuff)
box_open := .F.
else
/* regular data entry */
@@ -467,7 +467,7 @@
end
/* restore the screen */
- RestScreen(8, 0, 23, 79, cBrowseBuf)
+ RestScreen(8, 0, MaxRow()-1, MaxCol(), cBrowseBuf)
SetColor(nColorSave)
SetCursor(nCType)
curs_on := (nCType != 0)
@@ -930,8 +930,8 @@
"mGetVar")
/* setup a scrolling GET if it's too long to fit on the screen */
- if oGet:type == "C" .AND. LEN( oGet:varGet() ) > 78
- oGet:picture := "@S78"
+ if oGet:type == "C" .AND. LEN( oGet:varGet() ) > MaxCol()-1
+ oGet:picture := "@S" + hb_ntos( MaxCol()-1 )
endif
/* refresh flag */
diff -u dbu53ori/dbuhelp.prg dbu53pat/dbuhelp.prg
--- dbu53ori/dbuhelp.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbuhelp.prg 2012-05-02 17:22:05.000000000 +0200
@@ -113,11 +113,11 @@
FREAD(M->hhandle, @htbuf, 512)
* isolate the correct 4 byte table entry
- htbuf = SUBSTR(M->htbuf, (4 * (M->hnum - 1)) + 1, 4)
+ htbuf = HB_BSUBSTR(M->htbuf, (4 * (M->hnum - 1)) + 1, 4)
* convert binary numbers (LSB, MSB) to Clipper numerics
- hoff = ASC(M->htbuf) + (256 * ASC(SUBSTR(M->htbuf, 2)))
- hlen = ASC(SUBSTR(M->htbuf, 3)) + (256 * ASC(SUBSTR(M->htbuf, 4)))
+ hoff = HB_BPEEK(M->htbuf, 1) + (256 * HB_BPEEK(M->htbuf, 2))
+ hlen = HB_BPEEK(M->htbuf, 3) + (256 * HB_BPEEK(M->htbuf, 4))
* allocate buffer
htbuf = SPACE(M->hlen)
diff -u dbu53ori/dbuindx.prg dbu53pat/dbuindx.prg
--- dbu53ori/dbuindx.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbuindx.prg 2012-05-02 17:23:26.000000000 +0200
@@ -117,7 +117,7 @@
PARAMETERS sysparam
RETURN box_title(M->sysparam, "Index " +;
- SUBSTR(M->cur_dbf, RAT("\", M->cur_dbf) + 1) +;
+ SUBSTR(M->cur_dbf, RAT(hb_ps(), M->cur_dbf) + 1) +;
" to...")
@@ -240,7 +240,7 @@
INDEX ON &k_exp TO &filename
CLOSE INDEX
- IF AT(INDEXEXT(), M->filename) = LEN(M->filename) - 3 .AND.;
+ IF AT(Lower( INDEXEXT() ), Lower( M->filename )) = LEN(M->filename) - 3 .AND.;
FILE(name(M->filename) + INDEXEXT()) .AND. M->add_name
* add only .ntx files in the current directory
diff -u dbu53ori/dbunet.prg dbu53pat/dbunet.prg
--- dbu53ori/dbunet.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbunet.prg 2012-05-02 17:23:31.000000000 +0200
@@ -333,7 +333,7 @@
LOCAL nPos // Used to locate position of search characters in string
// Strip out the drive and path information, if any
- IF (( nPos := MAX( MAX( 0, RAT( "\", cString )), RAT( ":", cString ))) != 0 )
+ IF (( nPos := MAX( MAX( 0, RAT( hb_ps(), cString )), RAT( ":", cString ))) != 0 )
cString := SUBSTR( cString, ++nPos )
ENDIF
diff -u dbu53ori/dbustru.prg dbu53pat/dbustru.prg
--- dbu53ori/dbustru.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbustru.prg 2012-05-02 17:23:38.000000000 +0200
@@ -74,8 +74,8 @@
filename = "" && variable for "filebox" function
* sigle row templates
-empty_row = " ³ ³ ³ "
-not_empty = " ³ Character ³ 10 ³ "
+empty_row = hb_UTF8ToStr( " │ │ │ " )
+not_empty = hb_UTF8ToStr( " │ Character │ 10 │ " )
IF .NOT. EMPTY(M->cur_dbf)
* modify structure
@@ -133,11 +133,11 @@
* establish window heading
@ 9,field_col[1];
SAY "Structure of " + pad(IF(EMPTY(stru_name), "<new file>",;
- SUBSTR(stru_name, RAT("\", stru_name) + 1)), 13)
+ SUBSTR(stru_name, RAT(hb_ps(), stru_name) + 1)), 13)
@ 11,22 SAY "Field Name Type Width Dec"
-@ 12,20 SAY "ÆÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍ͵"
-@ 23,33 SAY "ÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏ"
+@ 12,20 SAY hb_UTF8ToStr( "╞â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>╤â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>╤â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>╤â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•¡" )
+@ 23,33 SAY hb_UTF8ToStr( "â•§â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•§â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•§" )
DO WHILE .NOT. q_check()
* the big switch
@@ -811,7 +811,7 @@
is_insert = .F.
filename = stru_name
- IF filebox(".DBF", "dbf_list", "stru_title",;
+ IF filebox(".dbf", "dbf_list", "stru_title",;
"do_modstru", .T., 13) <> 0
* structure created or altered
stru_name = filename
@@ -819,7 +819,7 @@
* re-write name at top of window
@ 9,field_col[1] + 13;
SAY pad(IF(EMPTY(stru_name), "<new file>",;
- SUBSTR(stru_name, RAT("\", stru_name) + 1)), 13)
+ SUBSTR(stru_name, RAT(hb_ps(), stru_name) + 1)), 13)
IF aseek(dbf, filename) = 0
* bring new file into view
@@ -904,16 +904,16 @@
PARAMETERS fill_row
@ fill_row,field_col[1];
-SAY field_name + " ³ " + data_type[AT(field_type, "CNDLM")] + " ³ "
+SAY field_name + hb_UTF8ToStr( " │ " ) + data_type[AT(field_type, "CNDLM")] + hb_UTF8ToStr( " │ " )
IF field_type = "C"
* display Clipper extended field length
@ fill_row,field_col[3] SAY STR(((256 * field_dec) + field_len), 4) +;
- " ³ "
+ hb_UTF8ToStr( " │ " )
ELSE
* normal field length
- @ fill_row,field_col[3] SAY STR(field_len, 4) + " ³ "
+ @ fill_row,field_col[3] SAY STR(field_len, 4) + hb_UTF8ToStr( " │ " )
IF field_type = "N"
* display decimals for numeric field
@@ -1215,7 +1215,7 @@
USE
* remember if file existed in current directory before
- add_name = .NOT. FILE(name(filename) + ".DBF")
+ add_name = .NOT. FILE(name(filename) + ".dbf")
IF FILE(filename)
* file exists..modify structure and save old data
@@ -1235,12 +1235,12 @@
ENDIF
* establish temp filespec and dbt specs in same directory
- name_temp = SUBSTR(filename, 1, RAT("\", filename)) +;
- "DDBBUUUU.TMP"
+ name_temp = SUBSTR(filename, 1, RAT(hb_ps(), filename)) +;
+ "ddbbuuuu.tmp"
dbt_spec = SUBSTR(filename, 1, RAT(".", filename)) +;
- "DBT"
+ "dbt"
dbt_temp = SUBSTR(name_temp, 1, RAT(".", name_temp)) +;
- "DBT"
+ "dbt"
IF FILE(dbt_spec)
* data file contains memo fields
@@ -1320,8 +1320,8 @@
CREATE &filename FROM ddbbuuuu.ext ALIAS cAlias
USE
- IF AT(".DBF", filename) = LEN(filename) - 3 .AND.;
- FILE(name(filename) + ".DBF") .AND. add_name
+ IF AT(".dbf", Lower(filename)) = LEN(filename) - 3 .AND.;
+ FILE(name(filename) + ".dbf") .AND. add_name
* add only .dbf files in the current directory
i = afull(dbf_list) + 1
diff -u dbu53ori/dbuutil.prg dbu53pat/dbuutil.prg
--- dbu53ori/dbuutil.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbuutil.prg 2012-05-02 17:23:45.000000000 +0200
@@ -716,9 +716,9 @@
BOX M->lframe
* format the list title
- i_title = REPLICATE("Ä", ((46 - M->l_rel - LEN(M->i_title)) / 2) - 1);
+ i_title = REPLICATE(hb_UTF8ToStr( "─" ), ((46 - M->l_rel - LEN(M->i_title)) / 2) - 1);
+ " " + M->i_title + " "
- i_title = M->i_title + REPLICATE("Ä", (46 - M->l_rel - LEN(M->i_title)))
+ i_title = M->i_title + REPLICATE(hb_UTF8ToStr( "─" ), (46 - M->l_rel - LEN(M->i_title)))
* display the list title
@ M->wt + 1, M->wl + M->l_rel - 1 SAY M->i_title
@@ -950,7 +950,7 @@
SET KEY 24 TO clear_gets
* call entry in place function
- name_temp = enter_rc(M->filename,M->irow,M->wl+9,64,"@K!S20",M->color9)
+ name_temp = enter_rc(M->filename,M->irow,M->wl+9,64,"@KS20",M->color9)
* release down arrow
SET KEY 24 TO
@@ -958,7 +958,7 @@
IF .NOT. EMPTY(M->name_temp)
* something entered
- IF .NOT. (RAT(".", M->name_temp) > RAT("\", M->name_temp))
+ IF .NOT. (RAT(".", M->name_temp) > RAT(hb_ps(), M->name_temp))
* extnesion not entered..provide default
name_temp = M->name_temp + M->def_ext
@@ -1963,7 +1963,7 @@
PRIVATE p
* isolate filename and extension from path
-p = SUBSTR(M->spec, RAT("\", M->spec) + 1)
+p = SUBSTR(M->spec, RAT(hb_ps(), M->spec) + 1)
IF "." $ M->p
* there is an extension..chop it off
@@ -2152,7 +2152,7 @@
IF FILE(M->filename)
* only if the file exists
- IF INDEXEXT() = ".NTX"
+ IF Lower( INDEXEXT() ) = ".ntx"
* Clipper index file format
k_pos = 23
@@ -2173,10 +2173,10 @@
FREAD(M->handle, @buffer, 512)
* discard all bytes before the key expression
- k = SUBSTR(M->buffer, M->k_pos)
+ k = HB_BSUBSTR(M->buffer, M->k_pos)
* the expression is terminated with a zero byte (chr(0))
- k = TRIM(SUBSTR(M->k, 1, AT(CHR(0), M->k) - 1))
+ k = TRIM(HB_BSUBSTR(M->k, 1, AT(CHR(0), M->k) - 1))
ENDIF
diff -u dbu53ori/dbuview.prg dbu53pat/dbuview.prg
--- dbu53ori/dbuview.prg 1996-05-20 05:31:00.000000000 +0200
+++ dbu53pat/dbuview.prg 2012-05-02 17:23:53.000000000 +0200
@@ -906,15 +906,15 @@
ENDIF
* the first slot is diferent than the rest
-bar_line = "ÍÍÍÍÍÍÍÍÍÍÍÍ"
+bar_line = hb_UTF8ToStr( "â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>" )
empty_line = ""
k = 1
DO WHILE M->k < M->num_slots
* each new slot separated from previous by a vertical line
- bar_line = M->bar_line + "ÑÍÍÍÍÍÍÍÍÍÍÍÍ"
- empty_line = M->empty_line + SPACE(12) + "³"
+ bar_line = M->bar_line + hb_UTF8ToStr( "╤â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>â•<C3A2>" )
+ empty_line = M->empty_line + SPACE(12) + hb_UTF8ToStr( "│" )
* next
k = M->k + 1
@@ -1102,15 +1102,15 @@
KEYBOARD CHR(M->keystroke)
* entry in place
- filename = enter_rc(dbf[M->cur_area],M->f_row,M->d_col,64,"@K!S8",;
+ filename = enter_rc(dbf[M->cur_area],M->f_row,M->d_col,64,"@KS8",;
M->color1)
IF .NOT. EMPTY(M->filename)
* something entered
- IF .NOT. (RAT(".", M->filename) > RAT("\", M->filename))
+ IF .NOT. (RAT(".", M->filename) > RAT(hb_ps(), M->filename))
* no extension entered..provide default
- filename = M->filename + ".DBF"
+ filename = M->filename + ".dbf"
ENDIF
@@ -1141,7 +1141,7 @@
ELSE
* insert or enter or menu selection..use filebox
- ret_val = filebox(".DBF", "dbf_list", "dopen_titl",;
+ ret_val = filebox(".dbf", "dbf_list", "dopen_titl",;
"do_opendbf", .F., 8) <> 0
ENDIF
@@ -1269,12 +1269,12 @@
KEYBOARD CHR(M->keystroke)
* entry in place
- filename = enter_rc(M->org_file,M->d_row,M->d_col,64,"@K!S8",M->color1)
+ filename = enter_rc(M->org_file,M->d_row,M->d_col,64,"@KS8",M->color1)
IF .NOT. EMPTY(M->filename)
* something entered
- IF .NOT. (RAT(".", M->filename) > RAT("\", M->filename))
+ IF .NOT. (RAT(".", M->filename) > RAT(hb_ps(), M->filename))
* extension not entered..provide default
filename = filename + INDEXEXT()
@@ -2120,7 +2120,7 @@
* draw line and arrow pointing to target alias
@ M->row_n,M->pos_c;
- SAY REPLICATE("Ä", column[M->j] - M->pos_c + 1) + CHR(16)
+ SAY REPLICATE(hb_UTF8ToStr( "─" ), column[M->j] - M->pos_c + 1) + CHR(16)
* display target alias as intense
SetColor(M->color12)
@@ -2225,7 +2225,7 @@
SetColor(M->cNorm)
* display an arrow (always normal color)
-?? REPLICATE("Ä", column[M->k] - COL() + 1) + CHR(16)
+?? REPLICATE(hb_UTF8ToStr( "─" ), column[M->k] - COL() + 1) + CHR(16)
* display the target alias in the specified color
SetColor(M->cSpecial)
@@ -2363,7 +2363,7 @@
* title includes filename.ext but no path
RETURN box_title(M->sysparam, "Set filter for " +;
- SUBSTR(M->cur_dbf, RAT("\", M->cur_dbf) + 1) +;
+ SUBSTR(M->cur_dbf, RAT(hb_ps(), M->cur_dbf) + 1) +;
" to...")
@@ -2789,7 +2789,7 @@
* get user entered file name..will default to primary + ".VEW"
IF EMPTY(M->view_file) .AND. .NOT. EMPTY(dbf[1])
* default to name of primary data file
- filename = name(dbf[1]) + ".VEW"
+ filename = name(dbf[1]) + ".vew"
ELSE
* whatever the last view was
@@ -2798,7 +2798,7 @@
ENDIF
* it's better in a box
-filebox(".VEW", "vew_list", "vcrea_titl", "do_creavew", .T., 8)
+filebox(".vew", "vew_list", "vcrea_titl", "do_creavew", .T., 8)
* restore help code
help_code = M->old_help
@@ -2840,7 +2840,7 @@
stat_msg("Generating View File")
* add new .VEW files to vew_list if created in current directory only
-add_name = .NOT. FILE(name(filename) + ".VEW")
+add_name = .NOT. FILE(name(filename) + ".vew")
* create structure extended template
CREATE ddbbuuuu.ext
@@ -3009,8 +3009,8 @@
USE
* add file name to array of view files
-IF AT(".VEW", filename) = LEN(filename) - 3 .AND.;
- FILE(name(filename) + ".VEW") .AND. add_name
+IF AT(".vew", Lower(filename)) = LEN(filename) - 3 .AND.;
+ FILE(name(filename) + ".vew") .AND. add_name
* add only new .VEW files in the current directory
* determine number of first empty element
@@ -3080,7 +3080,7 @@
IF M->from_view
* called from set_view
- IF filebox(".VEW", "vew_list", "vopen_titl", "do_openvew", .F., 8) <> 0
+ IF filebox(".vew", "vew_list", "vopen_titl", "do_openvew", .F., 8) <> 0
* indicate new View has been set
keystroke = 13