Results 1 to 4 of 4

Thread: AI-ness

  1. #1

    Thread Starter
    Member
    Join Date
    Nov 2025
    Posts
    42

    AI-ness

    For example, I ask. What does Claude Pro do (better or?) other than Claude Free does not do in regard to VB6 programming assistance? I have found the Claude Free and CoPilot make newbie mistakes like using inappropriate variables in a For Each loop and then at my pointing out the error uses a For Next rather than changing the variable type. Then a week or so later, they make the same mistake.

    We are less ignorant than AI it seems.

  2. #2
    PowerPoster
    Join Date
    Feb 2017
    Posts
    5,694

    Re: AI-ness

    Yes, it has a couple of issues. It uses sometimes forbidden keywords as variable names.
    It declares API between procedures.
    And it declares variables in any place. That's not a mistake because VB6 allows that, but not everybody would like that.

    But there is a solution. Claude has "Memory". It is a place for things that you want to tell it once and remember for every chat.
    So, you can tell it the things that you want it to remember, so you can ask it to save those in its memory.

    These are the rules it has for Memory in my account configuration:

    Code:
    VB6 Programming Rules — apply strictly to all VB6 work:
    
    Environment: VB6 classic.
    Unicode APIs: Always use W-suffix Win32 functions (SendMessageW, GetWindowTextW, CreateFileW, etc.).
    API Declarations: All Declare statements go strictly in the General Declarations section at the top of the module — never between procedures.
    Variable Declarations: All Dim statements grouped at the very top of each function/sub.
    Syntax restrictions: Never use reserved keywords as variable names. Minimize line continuation underscores (_); never place a comment after _ (compile error).
    Naming: Never use single-letter type-suffixed names (iF, iS, iI, etc.) — invalid in VB6. Use full descriptive prefixed names (lFileNum, sLine, lIdx, lLoop, etc.).
    Reserved words to never use as identifiers (compile error or silent misbehavior): Abs, AddressOf, And, Any, Array, As, Attribute, Boolean, ByRef, Byte, ByVal, Call, Case, CBool, CByte, CCur, CDate, CDbl, CDec, CDecl, CInt, CLng, Close, Const, CSng, CStr, Currency, CVar, CVErr, Date, Debug, Decimal, Declare, DefBool–DefVar, Dim, Do, DoEvents, Double, Each, Else, Empty, End, Enum, Eqv, Erase, Event, Exit, False, Fix, For, Friend, Function, Get, Global, GoSub, GoTo, If, Imp, Implements, Input, Int, Integer, Is, LBound, Len, LenB, Let, Like, Local, Lock, Long, Loop, LSet, Me, Mod, New, Next, Not, Nothing, Null, On, Open, Option, Optional, Or, ParamArray, Print, Private, PSet, Public, Put, RaiseEvent, ReDim, Preserve, Rem, Resume, Return, RSet, Scale, Seek, Select, Set, Sgn, Shared, Single, Spc, Static, Stop, String, Sub, Tab, Then, To, True, Type, TypeOf, UBound, Unlock, Until, Variant, Wend, While, With, WithEvents, Write, Xor. Also avoid common shadowing names: text, index, key, item, count, left, right, top, width, height, font, color, enabled, visible, caption, value, tag.
    DPI rule (strict): Never assume fixed 96 DPI. Always calculate dynamically using Screen.TwipsPerPixelX / Screen.TwipsPerPixelY, or ScaleX / ScaleY as appropriate. All projects must work correctly at any DPI setting.
    You can ask it to add these rules and save them to the memory of you can do it yourself: go to your account icon at the bottom left, Settings, Capabilities, ensure that you have "Generate memory from chat history" set, then click "View and manage memory" and you can read or edit the memory there.

  3. #3
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,186

    Re: AI-ness

    Here is something from a recent CLAUDE.md I used, might be useful
    Code:
    ## Coding Style for this Module
    
    - All private helpers are `Private Function` / `Private Sub`
    - Use `On Error GoTo EH` when necessary to Debug.Print "Critical error: " & Err.Description & " [" & FUNC_NAME & "]"
    - Use `Long` for all pixel values and array indices
    - Avoid `Variant`; avoid dynamic arrays in inner loops (pre-allocate)
    - One blank line between procedures
    - One blank line between the `Dim` block and the first executable line inside a procedure; no other blank lines inside a procedure body
    - Comments only where the VB6 diverges non-obviously from the C++ (e.g. unsigned workarounds)
    - Use hungarian notation: s - String, l - Long, n - Integer, b - Boolean, o - Object, c - Collection, d - Date, dbl - Double, sng - Single, byt - Byte
    - Use `ba` prefix for byte arrays, use `a` only for arrays no matter what type they are
    - Use `m_` prefix for member variables and `g_` for global ones
    - Declare all variable at the beginning of procedure and separate with blank line from code
    - Single local variable declaration per line, align types at column 25
    - Align API consts types at column 45
    - Declare API consts local to a routine if not used in any other routine
    - API declares use "dllname" without .dll suffix, always Unicode versions (aliased to names without W)
    - Don't put any blank lines in code, use comments instead for separators
    - Use '--- for comments start instead of single '
    - Put only one statement per logical line i.e. don't use : to separate multiple statements
    - Put If statements on separate lines i.e. don't merge `If Cond Then Stmt` on a single line
    - Use explicit `Call` with all API functions which have result discarded i.e. not used in If statements
    - Use `QH:` label for cleanup before `EH:` label
    - Align `Case`s after `Select Case` at the same column i.e. don't indent
    - All Long const hex literals between &HA000 and &HFFFF must use & type character i.e. &HA000& or risk being sign extended
    - Never use `Next Var` i.e. just `Next`
    cheers,
    </wqw>

  4. #4
    PowerPoster Zvoni's Avatar
    Join Date
    Sep 2012
    Location
    To the moon and then left
    Posts
    5,268

    Re: AI-ness

    Quote Originally Posted by SteveM22 View Post
    *snip*

    We are less ignorant than AI it seems.
    And that's surprising to you?
    Last edited by Zvoni; Tomorrow at 31:69 PM.
    ----------------------------------------------------------------------------------------

    One System to rule them all, One Code to find them,
    One IDE to bring them all, and to the Framework bind them,
    in the Land of Redmond, where the Windows lie
    ---------------------------------------------------------------------------------
    People call me crazy because i'm jumping out of perfectly fine airplanes.
    ---------------------------------------------------------------------------------
    Code is like a joke: If you have to explain it, it's bad

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width