Re: Add/remove zero index of array



Ralph,

Thanks for your input. I think I've actually got it sorted out now.

I'm using a trick suggested by RB Smissaert to adjust the LBound and UBound
of my array, and then shifting each record up or down. It works and it seems
very fast.

--
Tim Rude

timrude@xxxxxxxxxxxxxxxxxx
(remove NOSPAM. for correct email address)

"Ralph" <nt_consulting64@xxxxxxxxx> wrote in message
news:u4gbTCmRIHA.2268@xxxxxxxxxxxxxxxxxxxxxxx
Comments inline ...

"Tim Rude" <timrude@xxxxxxxxxxxxxxxxxx> wrote in message
news:OXDRFYlRIHA.5288@xxxxxxxxxxxxxxxxxxxxxxx
<snipped>

DB( ) is a single-dimension array of UDT records. The UDT consists only
of
fixed length strings (i.e. String * 10, etc.). Each UDT record is 322
bytes
long.

'==========
Dim FH as Integer
Dim NumOfRecs as Long
Dim DB() as MyUDT

FH = FreeFile
Open DataFile For Binary Shared As #FH

' if the dummy is the same size as MyUDT
Dim dummy As MyUDT

NumOfRecs = LOF(FH) \ 322

NumOfRecs = NumOfRecs - 1
Get #FH, , dummy

ReDim DB(1 To NumOfRecs - 1)
Get #FH, , DB 'Read entire file into array
Close #FH

ReDim Preserve DB(0 to UBound(DB)) 'This is what I need to do but VB
won't
do it
'==========
<snipped>

If it is a different size, say 300 bytes, do something like this...
[Warning Air Code!]

Dim dummy As String : dummy = String( 300, " ")
Get #FH, , dummy
Dim NumOfRecs As Long : NumOfRecs = LOF(FH) - 300
NumOfRecs = NumOfRecs / 322
...

-ralph




.



Relevant Pages

  • Re: Add/remove zero index of array
    ... I would question the need for the 0 member at all, given - from your description - that you are only using the data this contains internally in the app and never saving to disk. ... > Dim NumOfRecs as Long ... Dim dummy As MyUDT ...
    (microsoft.public.vb.general.discussion)
  • Re: Add/remove zero index of array
    ... DBis a single-dimension array of UDT records. ... Dim NumOfRecs as Long ... Dim dummy As MyUDT ...
    (microsoft.public.vb.general.discussion)
  • Re: Add/remove zero index of array
    ... array data at that point. ... Dim NumOfRecs as Long ... Dim dummy As MyUDT ...
    (microsoft.public.vb.general.discussion)
  • Re: Visual Basic 6 Serial Port Problem
    ... meaning that the buffer is not clear each time a new data comes in. ... Dim bHaveData as Boolean ... Dim Dummy As String ... Setf = 1 ...
    (microsoft.public.vb.general.discussion)
  • Re: XOR and String
    ... Dim MessageForXOR As String ... Dim Dummy As Int32 ... xor with running hash for the message ...
    (microsoft.public.dotnet.languages.vb)

Loading