Welcome, Guest
Username: Password: Remember me
Visual Objects

Please use this forum to post questions about Visual Objects and Vulcan.NET
  • Page:
  • 1

TOPIC:

Which RDD Class should be used for DBF/DBZ/DBV 17 Aug 2022 09:04 #23332

  • ArunBerlin
  • ArunBerlin's Avatar
  • Topic Author


  • Posts: 17
  • I've used classes DBFNTX and DBFCDX in VODBCreate. It produces DBF/DBT/DBZ and DBF/FPT/DBZ combinations.
    DBV -Memo File
    DBZ - Index File

    But my requirement is DBF/DBV/DBZ.

    The documentation doesn't provide any information regarding this.
    [url= Documentationhttps://www.xsharp.eu/runtimehelp/html/cat-RDD_Classes.htm class=""]Documentation[/url]

    Let me know, if there are any options to create the DBF/DBV/DBZ combo.
    Thank you

    Please Log in or Create an account to join the conversation.

    Last edit: by ArunBerlin. Reason: Grammatic Error

    Which RDD Class should be used for DBF/DBZ/DBV 17 Aug 2022 10:44 #23334

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,
    You would have to use DBFMEMO RDD.
    But we have not implemented that yet. :(
    It is not a lot of work to do that, since we have all the components already (the DBV is a FPT with another extension) but we have simply not found the time to do it.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 17 Aug 2022 11:21 #23336

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Thank you for the info

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 24 Aug 2022 07:49 #23464

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Hi Robert,

    When can I expect this option(DBV/DBZ/DBF) to be released.
    It will be really helpful for my development, if an approximate date can be specified.

    Thanks.

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 24 Aug 2022 09:05 #23465

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,

    I will try to add this in the next build.
    Please send me some example files so I can test it.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 24 Aug 2022 13:08 #23478

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Thankyou Robert for considering the request.
    I'm attaching a sample (DBF-DBZ-DBV Sample.zip) with this message.

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 24 Aug 2022 17:03 #23479

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,

    Can you show a piece of example code how you are working with the file ?

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 25 Aug 2022 09:30 #23484

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Hi Robert,

    Functional flow - Create DBV/DBZ - > Open the file -> Replace(append) the DBV content with a 'Data String'

    Code:
    FUNCTION _DictCreate(pszDictName AS PSZ) AS LONG PASCAL
       LOCAL cFile AS STRING
       LOCAL aStruc AS ARRAY
       LOCAL strRDDList AS _RDDLIST
       LOCAL nRet := 0 AS LONG
    
       SetAnsi(FALSE)
       SetCollation(#CLIPPER)
       SetDateCountry(XSharp.Core.Functions.BRITISH)
       SetCentury(TRUE)
       cFile := Psz2String(pszDictName) + '.DBZ' // Index file
       strRDDList := GetRDDList()
       aStruc := {{"DATA","M",10,0}}
       
       IF VODBCreate(cFile, aStruc, strRDDList, TRUE, "blob", NULL_STRING, FALSE, FALSE)
           nRet := 1
       ENDIF
    RETURN nRet
    
    
    INTERNAL FUNCTION GetRDDList() AS _RDDLIST
       LOCAL strRDDList AS _RDDLIST
       LOCAL DIM aRDDNames2[2] AS STRING
       LOCAL DIM aRDDNames3[3] AS STRING
       LOCAL dwRDDs AS DWORD
       
       dwRDDs := iif(Empty(NULL_SYMBOL), 2, 3)
    
       IF dwRDDs == 3
          aRDDNames3[1] := "CAVODBF"
          aRDDNames3[2] := #DBFNTX
          aRDDNames3[3] := NULL_SYMBOL     
          strRDDList := _RDDList{aRDDNames3}
       ELSE
          aRDDNames2[1] := "CAVODBF"
          aRDDNames2[2] := #DBFNTX
          strRDDList := _RDDList{aRDDNames2}
       ENDIF
    RETURN strRDDList
    
    
    FUNCTION _DictOpen(pszDictName AS STRING,nShare AS LONG,nRO AS LONG) AS LONG PASCAL
       LOCAL cFile,cAlias AS STRING
       LOCAL strRDDList AS _RDDLIST
       LOCAL nRet := 0 AS LONG
      
       SetAnsi(FALSE)
       SetCollation(#CLIPPER)
       SetDateCountry(XSharp.Core.Functions.BRITISH)
       SetCentury(TRUE)
       
       cFile := UPPER(pszDictName) + '.DBZ' // Index file
       cAlias := "__" + Str(100000 + VODBSetSelect(0),6,0)
       strRDDList := GetRDDList()
       IF VODBUseArea(TRUE, strRDDlist, cFile, cAlias, TRUE, TRUE) .and. !NetErr()
           nRet := (cAlias)->(VODBGetSelect())
       ENDIF  
    RETURN nRet
    
    
    FUNCTION _DictReplace(nArea AS LONG,pszBuffer AS PSZ,nSize AS LONG,nNew AS LONG) AS LONG PASCAL
       LOCAL nRet := 1 AS LONG
       LOCAL cData AS STRING
       LOCAL wCh AS WORD
       LOCAL sAsc AS SHORT
       Local mess 
       Local mess2 
       LOCAL oErr AS USUAL
       LOCAL ErrorStruct
       
       IF nNew == 1
          nRet := iif((nArea)->(VODBAppend(TRUE)) .and. !NetErr(),1,0)
       ENDIF
       
       IF nRet == 1
          cData := Mem2String(pszBuffer,nSize)
          FOR wCh := 1 UPTO SLen(cData)
             sAsc := Asc(CharPos(cData, wCh))
             IF sAsc >= 176
                cData := Stuff(cData, wCh, 1, CHR(sAsc - 48))
             ENDIF
          NEXT
     
          (nArea)->Data := cData
              
       ENDIF
    RETURN nRet
    
    
    

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 25 Aug 2022 15:29 #23486

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,

    This is X# code..
    Can you show the original VO code that you used for this.
    I first want to see if I can create and open this file in VO before I even attempt to do it in X#.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 26 Aug 2022 12:45 #23491

    • AlainC
    • AlainC's Avatar


  • Posts: 10
  • Hi,

    Here is a small class in VO to create and read a DBV file (see attachment).

    Best regards
    Alain
    Attachments:

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 26 Aug 2022 13:09 #23492

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,

    Thanks for the example.
    Now I see what you were doing. You were using the DBFBLOB driver, that handles stand alone BLOB files.
    I was under the impression you were using DBFMEMO (which is DBF/DBV/NTX) support.
    I'll try to add support for DBFBLOB as well as DBFMEMO in the next build.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 26 Aug 2022 16:23 #23494

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Hi Robert,

    If you still need another VO example code, let me know. I can provide it.
    Thanks @AlainC for proving the sample.

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 06 Oct 2022 15:16 #24110

    • ArunBerlin
    • ArunBerlin's Avatar
    • Topic Author


  • Posts: 17
  • Hi Robert,
    Any updates on DBFBlob and DBFMemo support in the latest release - v2.13.2.2 ?

    Please Log in or Create an account to join the conversation.

    Which RDD Class should be used for DBF/DBZ/DBV 07 Oct 2022 00:07 #24113

    • robert
    • robert's Avatar


  • Posts: 3178
  • Arun,
    I am sorry but this change did not make it into the last build.
    We were too busy preparing for the German X# Summit (I am in Germany right now) and the Virtual FoxFest that starts next Thursday the 13th.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    • Page:
    • 1