Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


DynArray problem...

Postades av 2003-10-24 02:13:42 - Jens Kindt, i forum visual basic - allmänt, Tråden har 9 Kommentarer och lästs av 447 personer

Hej

Hur vet man om sin dynamiska arry är redimad eller inte...?

typ

<code>
Private sub meck()

Dim dynarray()

... 'en massa saker händer
... ' kanske ReDimas arrayen kanske inte...!?

For i = 0 To Ubound(dynarray) ' här blir det fel om den inte är ReDimad, hur vet jag??
...
next

end sub
</code>

tack på förhand...


Svara

Sv: DynArray problem...

Postades av 2003-10-24 09:15:40 - Jan Bulér

Detta kan var ett sätt att fixa det.


<code>
Private Sub main()
Dim dynarray()
Debug.Print "1. " & HasDimension(dynarray)
ReDim dynarray(3)
Debug.Print "2. " & HasDimension(dynarray)

End Sub


Public Function HasDimension(anArray()) As Boolean

Dim blnResult As Boolean
On Error Resume Next

blnResult = CBool(UBound(anArray) - LBound(anArray) + 1)
HasDimension = blnResult

End Function

</code>



Du kan ju då använda ditt exempel på följande sätt

<code>
Private sub meck()

Dim dynarray()

... 'en massa saker händer
... ' kanske ReDimas arrayen kanske inte...!?

If HasDimension(dynarray) then
For i = 0 To Ubound(dynarray)
...
next
End If

end sub

</code>





//
Janne


Svara

Sv: DynArray problem...

Postades av 2003-10-24 09:21:02 - Andreas Hillqvist

Om du skall dimensionera en dynamiskt array, kan det vara effektivare att göra det med råger. Så att du dimensionera om den ett mindre antal gånger.

T.Ex:
<code>
Private sub meck()
Dim dynarray()
Dim Size As Long
Dim Count As Long

Size = 10
Redim dynarray(1 to Size)

Do Until rs.EOF
If Count > Size Then
Size = Size * 2
Redim Preserve dynarray(1 To Size)
End If

Count = Count + 1
dynarray(Count) = rs("Id")

rs.MoveNext
Loop

If Count Then
Redim Preserve dynarray(1 To Count)
Else
Erase dynarray
End If

For i = 1 To Count
'...
Next

End sub
</code>


Svara

Sv: DynArray problem...

Postades av 2003-10-24 09:44:25 - Jens Kindt

Jans lösning ger det jag sökte... använder nog den så länge...
Men det borde väl vara ett relativt vanligt problem eller!? Måste ju finnas en snygg "oneliner" eller vad det kallas.

Och tappar man inte lite av vinsten med en dynarray om man ändå ska hålla koll på vad som finns i den med egna räknare...?

hepp


Svara

Sv: DynArray problem...

Postades av 2003-10-24 10:28:16 - Jens Kindt

hmmm. ne det blev inte bra heller, bättre att alltid ha en extra plats sist tror jag... några förslag?


Svara

Sv: DynArray problem...

Postades av 2003-10-24 12:26:00 - Jan Bulér

Vad var det som inte blev bra?


Svara

Sv: DynArray problem...

Postades av 2003-10-24 12:50:17 - Jens Kindt

arrayen används på många ställen utan att det syns för användaren... och på bara två ställen kan användaren justera arrayen. Det var då lättare att dima arrayen i form_Load med en plats och därigenom alltid ha en plats tom på slutet. Då slipper jag ha checkar överallt och istället så visar jag inte den sista platsen de två gånger användaren är med o leker...

så det var inget fel på din rutin men ska man använda den så ska det göras från början ;)


Svara

Sv: DynArray problem...

Postades av 2003-10-24 12:55:43 - Niklas Jansson

Vad är det du skall göra?
Det verkar vara en mycket skum lösning. En användare ska inte pilla i en arrays strolek. Om du förklarar vad du vill göra kan vi nog ge tips om hur du borde lösa det istället.


Svara

Sv: DynArray problem...

Postades av 2003-10-24 13:04:59 - Jens Kindt

hehe OK sorry...

Jag har en dynarr som innehåller en egen typ (kurva med massa X&Y-värden). Kurvorna ska sparas till en fil om det finns några (det e färdigt...).
Kurvorna ska hämtas från filen, om den finns, vid uppstart och arrayen redimmas då utan problem... men...

mitt problem är
...om det inte finns någon fil så redimmas aldrig arrayen, dock ska det ju va möjligt att lägga till en ny kurva dvs redimma en ny plats, men jag vill att proget ska fatta att den inte ska loopa en massa med en array som inte finns/eller innehåller något...och då är vi tebax till mitt första inlägg... :)

kanske krånglar jag till det, men då är det ju bra att man frågar...!?


Svara

Sv: DynArray problem...

Postades av 2003-10-24 22:58:14 - Jens Kindt

fixat iaf...


Svara

Nyligen

  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe
  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 120
27 958
271 737
470
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies