Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Help with variant and time datatypes

csbrmgcsbrmg Posts: 4Member
Question 1
How can you create a variable that can be changed from one data type to another during run time.Which data type would be better variant or a byte array

Question 2
I need help in converting the entire byte array into a specific data type .At the moment i can only know how to convert a specific byte into some value

Question 3
Are there any datatype variables in delphi that allow you to store a time calue without a date at the moment i can only find a data type TTimeField which i think is supposed to be used as a form component but i only want to store the time not display or store it on a form

Comments

  • zibadianzibadian Posts: 6,349Member
    : Question 1
    : How can you create a variable that can be changed from one data type to another during run time.Which data type would be better variant or a byte array
    :
    A byte array can hold all types, while a variant is automatically converted. So either type has its pros and cons. If memory is an issue, I would suggest a byte array, since that is somewhat smaller, but otherwise are variants shorter to code.

    : Question 2
    : I need help in converting the entire byte array into a specific data type .At the moment i can only know how to convert a specific byte into some value
    :
    You can use the Move() routine for that. Here is an example to copy a float into a byte array, and back again.
    [code]
    SetLength(ByteArray, SizeOf(myFloat));
    Move(MyFloat, ByteArray, Length(ByteArray));
    ... { code using the ByteArray }
    Move(ByteArray, MyFloat, Length(ByteArray));
    [/code]
    Obviously this method has a huge inherent danger: you can easily type-cast the bytearray into a variable, which is too small. This might lead to loss of data.

    : Question 3
    : Are there any datatype variables in delphi that allow you to store a time calue without a date at the moment i can only find a data type TTimeField which i think is supposed to be used as a form component but i only want to store the time not display or store it on a form
    :
    There are no purely time types. You can always use a TDateTime typed variable, and just ignore the date part.

Sign In or Register to comment.