Announcement

Collapse
No announcement yet.

CHAR data type

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

  • mark smit
    Guest replied
    Sure Lance!


    Imagein this, you have a function that needs to pass diffrent types of structures(types). The problem is that you need to access each structure with a pointer (@). Basicly having a VOID pointer is like passing a variable/structure as ANY.

    Code:
    function DrawSomething(byval lpData as void ptr)
    end function
    
    DrawSomthing n&
    DrawSomthing n!
    DrawSomthing a$

    Maybe I'm asking for the wrong thing here, maybe it should be worded like this. I would like to be able to pass a variable or type without type checking and refrence the data via a pointer. I was thinking void because that would eliminate the type checking. I dont think I'm making much sense, I'll try and dig through my code here and give you a good example of where it would be VERY usefull.

    Thanks guys for all the input

    ------------------
    Cheers

    Leave a comment:


  • Lance Edmonds
    replied
    VOID PTR... can you outline this a little please? What specifically would you see this useful for?

    Thanks!


    ------------------
    Lance
    PowerBASIC Support
    mailto:[email protected][email protected]</A>

    Leave a comment:


  • mark smit
    Guest replied
    Ok I see where you are all comming from but think about it like this. PowerBasic went through the trouble of putting in TCP/UDP "features". I could have replied to that with...

    Code:
    use WINSOCK API
    WSAStartup, etc...
    So, why is it so hard to add another data type that accepts both string and numerical (byte only) assignment? Other "features" that were already available in the Windows API have been added. In my opinion too many functions have been duplicated. I'm not trying to say that its a bad thing just that little things like a CHAR data type and VOID pointers shouldn't be overlooked.


    ------------------
    Cheers

    [This message has been edited by mark smit (edited January 31, 2001).]

    Leave a comment:


  • Michael Mattias
    replied
    think it would be of great benifit to PB programmers if a new data types called CHAR were added to the already extensive collection. The CHAR data type should accept data assignment from either numerical and string. For example...
    Code:
    dim buff as char * 2048
    dim bptr as char
    ptrbuff = "mark has silly wishes"
    buff = 0,1,2,3,4,5,6,7,8...255
    DIM BUFF AS STRING * 2048
    LSET BUFF = CHR$(0,1,2,3,4)

    MCM


    Leave a comment:


  • Cecil Williams
    Guest replied
    Mark,

    Have I missed something here? What you are referring to is C
    syntax. We already have dynamic, fixed length and nul-terminated
    strings. I say the chances of the char type in PB is next to
    zero looking up from the bottom side of course.

    The PB equivalent of the C char type is byte.

    Type casting maybe.

    Never have liked the void type in C either. Kinda like to know
    the data type I'm dealing with.

    Cheers,
    Cecil

    ------------------

    Leave a comment:


  • Bern Ertl
    replied
    Why not use:

    SET UNION
    charV AS BYTE
    charC AS STRING * 1
    END UNION



    ------------------
    Bernard Ertl

    Leave a comment:


  • mark smit
    Guest started a topic CHAR data type

    CHAR data type

    Dare I say that I have another wish? YES!


    I think it would be of great benifit to PB programmers if a new data types called CHAR were added to the already extensive collection. The CHAR data type should accept data assignment from either numerical and string. For example...
    Code:
    dim buff as char * 2048
    dim bptr as char ptr
    
    buff = "mark has silly wishes"
    buff = 0,1,2,3,4,5,6,7,8...255
    
     or
    
    bptr = HeapAlloc(etc...)
    @bptr = "PowerBasic"
    @bptr[0] = 1
    @bptr[1] = 2
    @bptr[2] = 3
    @bptr = 0,1,2,3,4,5,6,7,8...255
    I also think some sort of "type-casting" would be very usefull...


    Oh! I almost forgot. I would also like to see VOID pointers. I know this can be done with LONG's right now but I think it would be much clearer with VOID PTR.

    ------------------
    Cheers

    [This message has been edited by mark smit (edited January 30, 2001).]
Working...
X