How to SCAN substrings in a dbf - Summer 87

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

How to SCAN substrings in a dbf - Summer 87

Mensagem por marge0512 »

Ok, I used this trick to find my point of error........
@ 24, 0 SAY cPath + cString + IndexExt()
Inkey(0)

I like that! I copied and pasted in a bunch of places so I could narrow it down and this is where the point of error is:

IF LEN(cString) > 0

Error type is Miscellaneous and the error Description is Type Mismatch. I'm going to research "LEN" now.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

How to SCAN substrings in a dbf - Summer 87

Mensagem por alxsts »

Hi!

As you have told us, the same code runs fine in Harbour. So, I can only think there is a bug in Clipper Summer 87...

Lets change the way we test it:

replace the line

Código: Selecionar todos

IF Len( cString) > 0
with this new one:

Código: Selecionar todos

IF cString <> ""
I forgot to declare cString variable. Add the line below.

Código: Selecionar todos

PROCEDURE REC_FND

PRIVATE REC2FIND, SAV_REC
PRIVATE cOldArea, cOldScreen
PRIVATE cPath
PRIVATE cString                <<<--- Add this line
It's better to ensure the main table is positioned at it's top. Add another line as indicated below:

Código: Selecionar todos

   * Save current work area
   cOldArea = Select()

   GO TOP         <<<--- Add this line
   
   * In this version, temporary files are created
   * in the local C drive root to avoid duplicate 
   * file names on a network environment

   cPath = "C:\"

Tell us the news, please.
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

How to SCAN substrings in a dbf - Summer 87

Mensagem por marge0512 »

Thanks! Same error. I notice this though, when I comment out this line: cString = "" I don't get the error. After researching i had tried the cstring <> "", i tried rearranging the paranthesis (never know) and i tried adding the word NIL instead of "". None of that had worked. I guess there is a bug.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

How to SCAN substrings in a dbf - Summer 87

Mensagem por alxsts »

Hi!

Really sinister...

Lets us inspect cString one step before the test:

Código: Selecionar todos

    @ 24,0 say cString
    Inkey(0) 

    IF cString <> ""    
      * something was found. Save it...
      APPEND BLANK
      IF .Not. NetErr()
       tmpTable->COMPNY_NAM = cases->COMPNY_NAM
       tmpTable->CASE_LNAME = Upper( cString )
      ELSE
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

How to SCAN substrings in a dbf - Summer 87

Mensagem por marge0512 »

Absolutely nothing showed up. Lol
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

How to SCAN substrings in a dbf - Summer 87

Mensagem por alxsts »

Hi!

Just to give this topic a solution, I installed Oracle Virtual Box + Windows XP + Clipper Summer'87 + PLink86.

Then I created the Test.Prg program, shown below, to test the REC_FND procedure. It's fully functional now.

The main problem was that the temporary table was closed when doing SELECT tmpTable, differently from what is stated in Clipper Summer manual:
CREATE FROM

Syntax: CREATE <file1>/(<expC1>) FROM <file2>/(<expC2>)
.
.
.
<File1> is automatically opened in the current work area
after it is CREATEd.

Código: Selecionar todos

*-------------------------------------------------------------------------------
*
*   Test.Prg - Used to wrap REC_FND procedure for testing purposes
*
*   Compile  - Clipper Test
*   Link     - PLink86 FI Test, Ndx LIB Extend
*
*   Note     - Uses dBase III indices (.NDX)
*              Requires Ndx.Obj in the Clipper Summer 87 folder
*
*   Author   - Alexandre Santos - Mar/2013
*-------------------------------------------------------------------------------

   PRIVATE ESC_KEY, GET_CLR, cBorder

   cBorder = CHR(218) + CHR(196) + CHR(191) + CHR(179) + CHR(217) + CHR(196) + CHR(192) + CHR(179)

   ESC_KEY = 27
   GET_CLR = "B/W, W+/B*"

   SetColor( GET_CLR )
   Set Scoreboard off

   CLEAR SCREEN
   @ 0, 0, 24, 79 BOX cBorder

   Setup()

   USE TstCases ALIAS CASES
   SET INDEX TO Idx1,Idx2,Idx3,Idx4,Idx5,Idx6,Idx7

   DO WHILE LastKey() <> ESC_KEY

      REC_FND()

      @2,2 SAY "---------------------------------------------------------------------------"
      @3,2 SAY " Record #    : " + LTrim( Str( Recno() ) )
      @4,2 SAY " Company Name: " + COMPNY_NAM
      @5,2 SAY " First Name  : " + CASE_FNAME
      @6,2 SAY " Last Name   : " + CASE_LNAME
      @7,2 SAY "---------------------------------------------------------------------------"

   ENDDO

   QUIT

*---------------------------------------------------------------------------

PROCEDURE REC_FND

   PRIVATE REC2FIND, SAV_REC
   PRIVATE cOldArea, cOldScreen
   PRIVATE cPath
   PRIVATE cBorder
   PRIVATE lErrorFlag

   * tmpTable Field list to show with DbEdit()
   DECLARE aFldLst[1]
   aFldLst[1] = "CASE_LNAME"

   lErrorFlag = .F.

   * Box border characters
   cBorder = CHR(218) + CHR(196) + CHR(191) + CHR(179) + CHR(217) + CHR(196) + CHR(192) + CHR(179)


   *---------------------------------
   * Save current position in database if search fails
   *--------------------------------------------------
   SAV_REC = recno()

   set color to &GET_CLR

   READ   && ===================> Why is this READ here? Is there any pending GET in the caller procedure?


   * Continue if escape wasn't pressed
   *----------------------------------
   IF LASTKEY() # ESC_KEY

      REC2FIND = space(40)

      do DISP_MSG with 'Client (include punctuation): '

      @row(),col() get REC2FIND

      read

      * Continue if the escape key was not pressed
      *-------------------------------------------

      IF LASTKEY() # ESC_KEY
         * Remove trailing spaces
         *-----------------------
         REC2FIND = UPPER(trim(REC2FIND))

         *-- AlxSts - Start ---------------------*

         * Save current work area
         cOldArea = Select()

         * In this version, temporary files are created
         * in the local C drive root to avoid duplicate
         * file names on a network environment

         cPath = "C:\"

         * If tmpTable exists, delete it and it's index file
         cString = "tmpTable"

         IF File(cPath + cString + ".dbf")
            ERASE (cPath + cString + ".dbf")
            ERASE (cPath + cString + IndexExt() )
         ENDIF

         * Summer'87 offers no support for multidimensional arrays.
         * Use a temporary table instead...

         * Create a name to a second temporary Table
         * used to hold the tmpTable structure definitions
         cString = Left( cString, Len( cString ) - 1 ) + "_"

         * select an empty work area
         SELECT 0

         * Create an empty table to store tmpTable structure info in the new work area...
         * The Create command leaves the newly created file open...
         CREATE (cPath + cString)

         * insert struct info...
         * field # 1
         APPEND BLANK
         REPLACE Field_name WITH "COMPNY_NAM"
         REPLACE Field_type WITH "C"
         REPLACE Field_len WITH 25
         REPLACE Field_dec WITH 0

         * field # 2
         APPEND BLANK
         REPLACE Field_name WITH "CASE_LNAME"
         REPLACE Field_type WITH "C"
         REPLACE Field_len WITH 40
         REPLACE Field_dec WITH 0

         * close struct table
         USE

         * Create tmpTable in the current work area using
         * structure definition FROM the other table...
         * The Create command leaves the newly created file open...

         CREATE (cPath + "tmpTable" ) FROM (cPath + cString)

         * The manual says:
         * "<File1> is automatically opened in the current work area
         * after it is CREATEd."

         * This information is false. You MUST open it... 
         USE (cPath + "tmpTable" ) EXCLUSIVE ALIAS tmpTable

         * tmpTable is now the currently selected work area... switch to CASES
         * and loop the entire main table...

         SELECT CASES
         GO TOP

         DO WHILE ! Eof()

            cString = ""

            * search LNAME first because if REC2FIND exists in both fields, LNAME takes precedence
            IF (REC2FIND $ UPPER(CASE_LNAME))
               * Person's last and first names
               cString = Trim( CASE_LNAME ) + ", " + Trim(CASE_FNAME)
            ELSEIF (REC2FIND $ UPPER(cases->COMPNY_NAM))
               * Company name
               cString = cases->COMPNY_NAM
            ENDIF

            IF Len( cString) > 0
               * something was found. Save it...
               SELECT tmpTable
               APPEND BLANK

               IF .Not. NetErr()
                  REPLACE tmpTable->COMPNY_NAM WITH cases->COMPNY_NAM
                  REPLACE tmpTable->CASE_LNAME WITH  Upper( cString )
               ELSE
                  * Error. Display some message and Exit
                  do DISP_MSG with [Error writing temporary file. Press a key to exit.]
                  iNKEY(0)

                  lErrorFlag = .T.

                  EXIT

                  * SELECT CASES
                  * go SAV_REC
                  * RETURN
               ENDIF

               SELECT CASES

            ENDIF

            SKIP

         ENDDO


         IF .Not. lErrorFlag

            * make tmpTable the current selected work area.
            SELECT tmpTable


            * If anything was found...
            IF LastRec() > 0
               * Create an index to sort search results
               INDEX ON CASE_LNAME TO (cPath + "tmpTable")
               GO TOP

               * Save the screen area used by popup window
               *---------------------

               cOldScreen = SAVESCREEN(5, 18, 20, 61)

               * Draw a box with single border
               *---------------------

               @ 5, 18, 20, 61 BOX cBorder

               * Browse records in tmp table until user
               * cancels browsing (ESC) or a record is selected (ENTER)
               *---------------------

               DBEDIT( 6, 19, 19, 60, aFldLst, "_REC_FND_", "" , " Use navigation keys to select a name " )

               * Restore screen region
               *---------------------
               RESTSCREEN(5, 18, 20, 61, cOldScreen)

               * Restore previous work area
               *---------------------
               SELECT( cOldArea )

               * now, the cases table is the currently selected area
               IF LASTKEY() # ESC_KEY

                  * User selected some record.
                  * Save company name from tmp table...
                  * This field is the index key in order # 7 of table CASES
                  *---------------------

                  REC2FIND = TRIM(tmpTable->COMPNY_NAM)

                  * Seek for selected company name
                  * in the original table...
                  *---------------------

                  * Get client index 7, ordered by company name key field
                  *--------------------

                  set order to 7

                  * Search using the key
                  *---------------------

                  set exact off

                  seek REC2FIND

                  set exact on

                  * Return to the first index
                  *--------------------------

                  * set order 1 as current (probably a company id field...)
                  set order to 1

                  * If found, put the highlight bar on the record
                  *----------------------------------------------

                  IF !Eof()
                     do SCRL_TOS
                  ELSE
                     * If not found, tell the user
                     *----------------------------
                     do DISP_MSG with [Client, ]+trim(REC2FIND)+[, not found. Press a key.]
                     inkey(0)
                     lErrorFlag = .T.
                  ENDIF
               ELSE
                  * user cancelled...
                  * go SAV_REC
                  lErrorFlag = .T.
               ENDIF
            ELSE
               * no matches found...
               * Select( cOldArea )

               do DISP_MSG with [Client, ]+trim(REC2FIND)+[, not found. Press a key.]

               inkey(0)

               *go SAV_REC
               lErrorFlag = .T.
            ENDIF
         ENDIF

         * delete tmpTable...
         SELECT tmpTable

         USE   && use without args closes current work area

         cString = "tmpTable"
         ERASE (cPath + cString + ".dbf")
         ERASE (cPath + cString + IndexExt() )

         * delete structure info Table...
         cString = Left( cString, Len( cString ) - 1 ) + "_"
         ERASE (cPath + cString + ".dbf")

         * restore the cases table as currently selected work area
         SELECT( cOldArea )

         * if errors occurred
         IF lErrorFlag
            * restore record pointer to previous position
            GO SAV_REC
         ENDIF

      ENDIF

      *-- AlxSts - End ---------------------*
   ENDIF

RETURN


*----------------------------
* User function for DbEdit()
*----------------------------

FUNCTION _REC_FND_

   PARAMETERS status, fld_ptr

   PRIVATE request

   *
   key_stroke = LASTKEY()
   *

   *Table: Requests to DBEDIT() from User Function
   *----------------------------------------------------------
   *Value Description
   *----------------------------------------------------------

   * 0 Quit DBEDIT()
   * 1 Continue DBEDIT()
   * 2 Force reread/repaint and continue;
   *   after repaint, process keys, and go to idle
   * 3 Append mode (not recommended)
   *----------------------------------------------------------

   DO CASE
      CASE status = 0
         * Idle. Continue
         request = 1
      CASE status = 1
         * Beginning-of-file.
         request = 1
      CASE status = 2
         * End-of-file.
         request = 1
      CASE status = 3
         * Empty database file.
         request = 0
      CASE status = 4
        * Key exception.
        IF key_stroke = 27
           * Exit
           request = 0
        ELSEIF key_stroke = 13
           * Record selected...
           * exit with temp table file pointer over selected record
           request = 0
        ELSE
           * other key. Who cares?
           request = 1

        ENDIF
   OTHERWISE
      request = 1
   ENDCASE

   *
RETURN request
   *
* Eof --------------------------------------------------------------------------



*----------------------------------

PROCEDURE Setup

   PRIVATE aStruct
   PRIVATE cPath
   PRIVATE cString

   cPath = "C:\"
   cString = "Struct"

   if ! File("TstCases" + ".dbf")

      * select an empty work area
      SELECT 0

      * Create an empty table to store tmpTable structure info in the new work area...

      CREATE (cPath + cString)

      * insert struct info...

      * field # 1
      APPEND BLANK
      REPLACE Field_name WITH "COMPNY_NAM"
      REPLACE Field_type WITH "C"
      REPLACE Field_len WITH 25
      REPLACE Field_dec WITH 0

      * field # 2
      APPEND BLANK
      REPLACE Field_name WITH "CASE_LNAME"
      REPLACE Field_type WITH "C"
      REPLACE Field_len WITH 15
      REPLACE Field_dec WITH 0

      * field # 2
      APPEND BLANK
      REPLACE Field_name WITH "CASE_FNAME"
      REPLACE Field_type WITH "C"
      REPLACE Field_len WITH 25
      REPLACE Field_dec WITH 0

      * close struct table
      USE

      SELECT 0
      Create TstCases From (cPath + cString)

      ERASE (cPath + cString + ".dbf")

      USE TstCases EXCLUSIVE

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CAMICADO", CASE_FNAME WITH "RODRIGO", COMPNY_NAM WITH "COMPANY 1"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "XIMENES CABRAL", CASE_FNAME WITH "FABRICIO", COMPNY_NAM WITH "COMPANY 2"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "RECUPERO", CASE_FNAME WITH "PATRICIA", COMPNY_NAM WITH "COMPANY 3"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CHAGAS", CASE_FNAME WITH "SERGIO ", COMPNY_NAM WITH "COMPANY 4"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DUARTE DA SILVA", CASE_FNAME WITH "DENIZE JUDITH", COMPNY_NAM WITH "COMPANY 5"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FERREIRA DUARTE", CASE_FNAME WITH "ANA PAULA ", COMPNY_NAM WITH "COMPANY 6"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "RIEF", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 7"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "BATISTA ROCHA", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 8"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "OLIVEIRA", CASE_FNAME WITH "MARCELO", COMPNY_NAM WITH "COMPANY 9"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARIANO DA SILVA VIANA", CASE_FNAME WITH "MARIA", COMPNY_NAM WITH "COMPANY 10"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "BUSATTA", CASE_FNAME WITH "NILVA", COMPNY_NAM WITH "COMPANY 11"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MUNIZ JR", CASE_FNAME WITH "ALFREDO", COMPNY_NAM WITH "COMPANY 12"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "AMALFI", CASE_FNAME WITH "VANICE", COMPNY_NAM WITH "COMPANY 13"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SOUZA", CASE_FNAME WITH "GUSTAVO", COMPNY_NAM WITH "COMPANY 14"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SGARIONI", CASE_FNAME WITH "LUIZ CARLOS", COMPNY_NAM WITH "COMPANY 15"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SALLAI", CASE_FNAME WITH "PEDRO", COMPNY_NAM WITH "COMPANY 16"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ZURLO", CASE_FNAME WITH "CONSUELO", COMPNY_NAM WITH "COMPANY 17"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PEDERIVA NETO", CASE_FNAME WITH "JOAO", COMPNY_NAM WITH "COMPANY 18"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARRA", CASE_FNAME WITH "OSMAR ", COMPNY_NAM WITH "COMPANY 19"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARTTINS", CASE_FNAME WITH "SANDRA ", COMPNY_NAM WITH "COMPANY 20"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DEISE FERREIRA", CASE_FNAME WITH "DEISE", COMPNY_NAM WITH "COMPANY 21"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARSOLA", CASE_FNAME WITH "LUCAS", COMPNY_NAM WITH "COMPANY 22"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "BIANCHIN BETTI", CASE_FNAME WITH "DANIELA", COMPNY_NAM WITH "COMPANY 23"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MACIEL", CASE_FNAME WITH "LÊDO ", COMPNY_NAM WITH "COMPANY 24"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "C DE OLIVEIRA", CASE_FNAME WITH "DARCY", COMPNY_NAM WITH "COMPANY 25"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "OLIVEIRA", CASE_FNAME WITH "MAURICIO", COMPNY_NAM WITH "COMPANY 26"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "TANAMATI", CASE_FNAME WITH "GERALDO", COMPNY_NAM WITH "COMPANY 27"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DE MACEDO COELHO", CASE_FNAME WITH "FELIPE", COMPNY_NAM WITH "COMPANY 28"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ZANELLATO", CASE_FNAME WITH "ELIANE", COMPNY_NAM WITH "COMPANY 29"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FERREIRA", CASE_FNAME WITH "PAULO", COMPNY_NAM WITH "COMPANY 30"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ANDRADES", CASE_FNAME WITH "GIOVANI", COMPNY_NAM WITH "COMPANY 31"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FARIAS", CASE_FNAME WITH "FERNANDA", COMPNY_NAM WITH "COMPANY 32"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PONTIM", CASE_FNAME WITH "THAIS", COMPNY_NAM WITH "COMPANY 33"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "RODRIGUES DE CAMPOS STORTI", CASE_FNAME WITH "ELIANE", COMPNY_NAM WITH "COMPANY 34"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ALVES", CASE_FNAME WITH "GISLAINE APARECIDA", COMPNY_NAM WITH "COMPANY 35"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ABREU LELES", CASE_FNAME WITH "SILVIA CRISTINA ", COMPNY_NAM WITH "COMPANY 36"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "REIS", CASE_FNAME WITH "SILVIA", COMPNY_NAM WITH "COMPANY 37"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MAZZA", CASE_FNAME WITH "RAFAEL", COMPNY_NAM WITH "COMPANY 38"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DONINI", CASE_FNAME WITH "DANIEL", COMPNY_NAM WITH "COMPANY 39"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FRANCO", CASE_FNAME WITH "DENISE", COMPNY_NAM WITH "COMPANY 40"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "VALEJO", CASE_FNAME WITH "JEISON ", COMPNY_NAM WITH "COMPANY 41"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARCELA REBELLO", CASE_FNAME WITH "CARLA", COMPNY_NAM WITH "COMPANY 42"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DE AMORIM", CASE_FNAME WITH "JOSIAS", COMPNY_NAM WITH "COMPANY 43"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARQUES DOS SANTOS", CASE_FNAME WITH "MARIA LUIZA ", COMPNY_NAM WITH "COMPANY 44"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SALAM VON SALTIEL", CASE_FNAME WITH "TANIA MARIS REUS ", COMPNY_NAM WITH "COMPANY 45"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DAMAS", CASE_FNAME WITH "FABRICIO", COMPNY_NAM WITH "COMPANY 46"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "GAUDENCIO", CASE_FNAME WITH "JOSE LUIZ", COMPNY_NAM WITH "COMPANY 47"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DA SILVA ANDRADE", CASE_FNAME WITH "TANIA LUCIA", COMPNY_NAM WITH "COMPANY 48"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MONTEIRO DE MELO", CASE_FNAME WITH "NORBERTO", COMPNY_NAM WITH "COMPANY 49"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "LOPES CARVALHO", CASE_FNAME WITH "RICHARD", COMPNY_NAM WITH "COMPANY 50"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "TISI RIBEIRO", CASE_FNAME WITH "JOAO DANIEL", COMPNY_NAM WITH "COMPANY 51"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PIRES BADKE", CASE_FNAME WITH "JULIANA", COMPNY_NAM WITH "COMPANY 52"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DAVINO", CASE_FNAME WITH "CATIA", COMPNY_NAM WITH "COMPANY 53"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "GONCALVES BARRERA", CASE_FNAME WITH "PEDRO", COMPNY_NAM WITH "COMPANY 54"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "KECHICHIAN", CASE_FNAME WITH "MARGARETE", COMPNY_NAM WITH "COMPANY 55"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "QUINTO", CASE_FNAME WITH "ANA LUIZA ", COMPNY_NAM WITH "COMPANY 56"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MEDINA", CASE_FNAME WITH "VALESSA", COMPNY_NAM WITH "COMPANY 57"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FREITAS", CASE_FNAME WITH "MARIANA ROQUE DE", COMPNY_NAM WITH "COMPANY 58"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "LUCIA NETO DE SOUZA", CASE_FNAME WITH "GLORIA", COMPNY_NAM WITH "COMPANY 59"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SCANAVINI", CASE_FNAME WITH "SIMONE", COMPNY_NAM WITH "COMPANY 60"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "LOPES SILVEIRA", CASE_FNAME WITH "FLAVIA", COMPNY_NAM WITH "COMPANY 61"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CAZATI", CASE_FNAME WITH "CARLOS", COMPNY_NAM WITH "COMPANY 62"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "KANASHIRO", CASE_FNAME WITH "SERGIO", COMPNY_NAM WITH "COMPANY 63"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARTINS", CASE_FNAME WITH "FLAVIA", COMPNY_NAM WITH "COMPANY 64"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MELO BARBOZA JUNIOR", CASE_FNAME WITH "LUIZ CARLOS", COMPNY_NAM WITH "COMPANY 65"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "FERREIRA NAGAO", CASE_FNAME WITH "JANAINA", COMPNY_NAM WITH "COMPANY 66"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CHRISTINO DE ALMEIDA", CASE_FNAME WITH "ALICE AOARECIDA", COMPNY_NAM WITH "COMPANY 67"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SUSI", CASE_FNAME WITH "ANA", COMPNY_NAM WITH "COMPANY 68"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "KAWAKITA", CASE_FNAME WITH "CASSIO ", COMPNY_NAM WITH "COMPANY 69"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PIRES DA SILVA", CASE_FNAME WITH "GILBERTO", COMPNY_NAM WITH "COMPANY 70"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "GIORGETTO", CASE_FNAME WITH "GABRIELLA", COMPNY_NAM WITH "COMPANY 71"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MARQUES ALVES", CASE_FNAME WITH "JAQUELINE ", COMPNY_NAM WITH "COMPANY 72"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "ESPINDOLA", CASE_FNAME WITH "ERIKA", COMPNY_NAM WITH "COMPANY 73"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "KRUZICH", CASE_FNAME WITH "FABIO", COMPNY_NAM WITH "COMPANY 74"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "JAKEL", CASE_FNAME WITH "DAYANE", COMPNY_NAM WITH "COMPANY 75"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "GOBBATO", CASE_FNAME WITH "BRUNO", COMPNY_NAM WITH "COMPANY 76"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "GONCALVES FERREIRA", CASE_FNAME WITH "MARCIA", COMPNY_NAM WITH "COMPANY 77"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CAMPELO", CASE_FNAME WITH "LUCIANA ", COMPNY_NAM WITH "COMPANY 78"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DA SILVA", CASE_FNAME WITH "JOAO VICTOR", COMPNY_NAM WITH "COMPANY 79"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "SOUZA", CASE_FNAME WITH "CELESTE ", COMPNY_NAM WITH "COMPANY 80"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PORTELLA", CASE_FNAME WITH "SILVIO", COMPNY_NAM WITH "COMPANY 81"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MATOS", CASE_FNAME WITH "NECIVALDO", COMPNY_NAM WITH "COMPANY 82"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "COBUCI SOARES", CASE_FNAME WITH "MONICA", COMPNY_NAM WITH "COMPANY 83"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "TEIXEIRA", CASE_FNAME WITH "ANDRE", COMPNY_NAM WITH "COMPANY 84"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "VICTORAZZO", CASE_FNAME WITH "DANILO", COMPNY_NAM WITH "COMPANY 85"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "POLITO", CASE_FNAME WITH "ISABELA", COMPNY_NAM WITH "COMPANY 86"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "BERNARDINO", CASE_FNAME WITH "LUIZ", COMPNY_NAM WITH "COMPANY 87"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "LIMA", CASE_FNAME WITH "LUCAS", COMPNY_NAM WITH "COMPANY 88"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "PEREIRA LIMA", CASE_FNAME WITH "ASSAHI", COMPNY_NAM WITH "COMPANY 89"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "CRUZ SOBRINHO", CASE_FNAME WITH "FRANCISCA MICHELE", COMPNY_NAM WITH "COMPANY 90"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MADEIRA", CASE_FNAME WITH "URSULA", COMPNY_NAM WITH "COMPANY 91"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DAVANZO DURAND", CASE_FNAME WITH "MARCELLA ", COMPNY_NAM WITH "COMPANY 92"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "COLOMBO LOPES DOS SANTOS", CASE_FNAME WITH "DEISE ", COMPNY_NAM WITH "COMPANY 93"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "KAZUNARI HOTTA", CASE_FNAME WITH "ROBINSON", COMPNY_NAM WITH "COMPANY 94"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DIAS DOS SANTOS", CASE_FNAME WITH "SHEILA", COMPNY_NAM WITH "COMPANY 95"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "DA PAZ SILVA", CASE_FNAME WITH "MARIA ", COMPNY_NAM WITH "COMPANY 96"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "F S CRUZ", CASE_FNAME WITH "WILLIAM", COMPNY_NAM WITH "COMPANY 97"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "MONSEF FILHO", CASE_FNAME WITH "ORLANDO", COMPNY_NAM WITH "COMPANY 98"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "NISHIMURA", CASE_FNAME WITH "DEISE", COMPNY_NAM WITH "COMPANY 99"

      APPEND BLANK
      REPLACE CASE_LNAME WITH "LARANJO PACHECO", CASE_FNAME WITH "CELSO", COMPNY_NAM WITH "COMPANY 100"

      * REC2FIND uses oorder 7 of cases table
      * create 7 index files with the same key, just for testing...

      Index on COMPNY_NAM to Idx1
      Index on COMPNY_NAM to Idx2
      Index on COMPNY_NAM to Idx3
      Index on COMPNY_NAM to Idx4
      Index on COMPNY_NAM to Idx5
      Index on COMPNY_NAM to Idx6
      Index on COMPNY_NAM to Idx7

      USE

   ENDIF

RETURN
*----------------------------------

PROCEDURE DISP_MSG

   PARAMETER cArg

   @24,1 say cArg

RETURN

*----------------------------------

PROCEDURE SCRL_TOS



RETURN

*----------------------------------
Just in case someone needs it someday...
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

How to SCAN substrings in a dbf - Summer 87

Mensagem por marge0512 »

Thank you!!! :))
Responder