Announcement

Collapse
No announcement yet.

Big Faux Pas -- dictionary lists

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Big Faux Pas -- dictionary lists

    Rod,

    I should have remembered this when it came up last week. My brain finally kicked into gear.

    PB has posted text file lists of all pb8 keywords, cc4 keywords, and pbForms metastatements. Here's the zip from the download section of the PB site.
    Attached Files
    Do not go quiet into that good night,
    ... Rage, rage against the dark.

  • #2
    Stan,

    PB has posted text file lists of all pb8 keywords, cc4 keywords, and pbForms metastatements.
    Many thanks for this. Will help me build a list of keywords for highlighting in the Scintilla edit control.

    Glad your brain is in gear, wish mine was too.:laugh:
    Later...

    JR

    "When governments fear the people there is liberty. When people fear the government there is tyranny." - Thomas Jefferson

    Comment


    • #3
      Thanks for that link Stan.

      To bad there isn't one for the EQUATES, that's the area where I'm having difficulty. The VB constants and PB equates are similar to the values in the SDK, if you dig deep enough, but each have different naming conventions making it hard to make the correct association. There may be a listing of these somewhere, but I've not run across it.
      Rod
      I want not 'not', not Knot, not Knott, not Nott, not knot, not naught, not nought, but aught.

      Comment


      • #4
        Rod,

        Here's the list from the pb8 Help for built-in equates.

        Built-in numeric equates

        The compiler provides a convenient set of built-in numeric equates.

        For determining the compiler version (see %DEF for more information):

        %PB_CC32, %PB_DLL16, %PB_DLL32, %PB_EXE, %PB_REVISION, %PB_REVLETTER, %PB_WIN32

        For use with ARRAYATTR:

        %VARCLASS_BYT, %VARCLASS_WRD, %VARCLASS_DWD, %VARCLASS_INT, %VARCLASS_LNG, %VARCLASS_QUD, %VARCLASS_SNG, %VARCLASS_DBL, %VARCLASS_EXT, %VARCLASS_CUR, %VARCLASS_CUX, %VARCLASS_VRNT, %VARCLASS_IFAC, %VARCLASS_GUID, %VARCLASS_TYPE, %VARCLASS_ASC, %VARCLASS_FIX, %VARCLASS_STR, %VARCLASS_BIT, %VARCLASS_SBT, %VARCLASS_FLD

        For use with CONTROL SET COLOR, DIALOG SET COLOR, the statements and the statements.:

        %BLACK, %BLUE, %GREEN, %CYAN, %RED, %MAGENTA, %YELLOW, %WHITE, %GRAY, %LTGRAY

        For use with ERR and ERRCLEAR:

        %ERR_NOERROR, %ERR_ILLEGALFUNCTIONCALL, %ERR_OVERFLOW (reserved), %ERR_OUTOFMEMORY, %ERR_SUBSCRIPTPOINTEROUTOFRANGE, %ERR_DIVISIONBYZERO (reserved), %ERR_DEVICETIMEOUT, %ERR_INTERNALERROR, %ERR_BADFILENAMEORNUMBER, %ERR_FILENOTFOUND, %ERR_BADFILEMODE, %ERR_FILEISOPEN, %ERR_DEVICEIOERROR, %ERR_FILEALREADYEXISTS, %ERR_DISKFULL, %ERR_INPUTPASTEND, %ERR_BADRECORDNUMBER, %ERR_BADFILENAME, %ERR_TOOMANYFILES, %ERR_DEVICEUNAVAILABLE, %ERR_COMMERROR, %ERR_PERMISSIONDENIED, %ERR_DISKNOTREADY, %ERR_DISKMEDIAERROR, %ERR_RENAMEACROSSDISKS, %ERR_PATHFILEACCESSERROR, %ERR_PATHNOTFOUND, %ERR_OBJECTERROR, %ERR_GLOBALMEMORYCORRUPT (formerly %ERR_FARHEAPCORRUPT), %ERR_STRINGSPACECORRUPT

        For use with GRAPHIC COPY, GRAPHIC GET MIX, GRAPHIC SET MIX, GRAPHIC STRETCH, XPRINT COPY, XPRINT GET MIX, XPRINT SET MIX, and XPRINT STRETCH (some statements may accept only a subset of these equates):

        %MIX_BLACKNESS, %MIX_NOTMERGESRC, %MIX_MASKNOTSRC, %MIX_NOTCOPYSRC, %MIX_MASKSRCNOT, %MIX_NOT, %MIX_XORSRC, %MIX_NOTMASKSRC, %MIX_MASKSRC, %MIX_NOTXORSRC, %MIX_NOP, %MIX_MERGENOTSRC, %MIX_COPYSRC, %MIX_MERGESRCNOT, %MIX_MERGESRC, %MIX_WHITENESS

        For use with VARIANTVT:

        %VT_EMPTY, %VT_NULL, %VT_I2, %VT_I4, %VT_R4, %VT_R8, %VT_CY, %VT_DATE, %VT_BSTR, %VT_DISPATCH, %VT_ERROR, %VT_BOOL, %VT_VARIANT, %VT_UNKNOWN, %VT_I1, %VT_UI1, %VT_UI2, %VT_UI4, %VT_I8, %VT_UI8, %VT_INT, %VT_UINT, %VT_VOID, %VT_HRESULT, %VT_PTR, %VT_SAFEARRAY, %VT_CARRAY, %VT_USERDEFINED, %VT_LPSTR, %VT_LPWSTR, %VT_RECORD, %VT_FILETIME, %VT_BLOB, %VT_STREAM, %VT_STORAGE, %VT_STREAMED_OBJECT, %VT_STORED_OBJECT, %

        ========================================================
        Built-in string equates
        The compiler also provides a set of built-in string equates, including:

        Equate
        Character(s)
        Definition

        $NUL
        CHR$(0)
        Null

        $BEL
        CHR$(7)
        Bell

        $BS
        CHR$(8)
        Back Space

        $TAB
        CHR$(9)
        Horizontal Tab

        $LF
        CHR$(10)
        Line Feed

        $VT
        CHR$(11)
        Vertical Tab

        $FF
        CHR$(12)
        Form Feed

        $CR
        CHR$(13)
        Carriage Return

        $CRLF
        CHR$(13,10)
        CR and LF

        $EOF
        CHR$(26)
        End-of-File

        $ESC
        CHR$(27)
        Escape

        $SPC
        CHR$(32)
        Space

        $DQ
        CHR$(34)
        Double-Quote
        The Win32api.inc file is basically just a list of equates with comments. Looks like it could be a cut-and-paste? Anyway, take a look; sounds like that may be as close as we're going to get to a complete list. If you don't have it I can email it to you.

        I can see where this is a problem. Nearly as I can tell, VB sets out a standard and then follows it inconsistently. If you can think of anything from the VB6 MSDN help files that might help, let me know and I'll email you a copy. (The formatting won't copy properly into these fora. :hmmm

        Stan
        Do not go quiet into that good night,
        ... Rage, rage against the dark.

        Comment


        • #5
          I was referring to the equates in the Win32API.inc file, its hard to know for sure that a person has the right one for various reasons. VB has mousepointer equates that range in value from 0 to 99 whereas the only mousepointer values in the above file that I have found are >32000 values. Just what this means to us at this point I haven't a guess.

          In addition there may be equates stuck in some of the other API.inc files (CommDlg)( sp.)

          VB, PB, and the SDK have not kept these things in the same order, and descriptive terms and group names are different, and in some cases values as well. I have been running along using the closest match. This was what was leading to some of the referencing terms I was using in the other dict file.

          Instead of a can of worms, a barrel.
          Rod
          I want not 'not', not Knot, not Knott, not Nott, not knot, not naught, not nought, but aught.

          Comment


          • #6
            Rod,

            I went searching. Found a little bit of stuff that might be helpful.

            From Marco Pontello, a pb9 Command List:

            http://www.powerbasic.com/support/pb...ad.php?t=38301


            And I asked the question in the PB Win forum:

            http://www.powerbasic.com/support/pb...307#post293823

            It seems we'd be safer relying on the Win32api.inc. What can I do to help with this?

            Stan
            Do not go quiet into that good night,
            ... Rage, rage against the dark.

            Comment


            • #7
              There's not much to do other than finding the matching constants/equates. Once found it is pretty simple to just copy paste. I put an example of the Mouse Pointer constants, not all of them, to show the dilemma in that thread you started.

              On a slightly different note, though, a lot of those constants may not exist in PB's files simply because of the OLE, ADO, EEK AWK features that were not previously supported. I could be wrong about that. PB seems to have a lot that VB didn't have as well, or else they are the same thing under different name/group definitions.
              Rod
              I want not 'not', not Knot, not Knott, not Nott, not knot, not naught, not nought, but aught.

              Comment

              Working...
              X