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


Dimma funktion som array

Postades av 2001-05-02 19:51:00 - Frans Englich, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 458 personer

hur dimmar jag en funktion så att den returnerar en array?

mvh Frans


Svara

Sv: Dimma funktion som array

Postades av 2001-05-02 23:38:00 - Andreas Hillqvist

Du anger att det är en array genom att lägga till en parantes på datatypen. Använd dig av array inom funktionen som du sedan retunerar. Detta för att vb tror att du gör ett rekursivt anrop istället för arbetar mot arrayen.

Exempel:

PUblic Function Test(Value as Long) as String()
Dim Data() as String
Dim Index as Long

ReDim Data(1 to Value)

For Index = 1 to Value
Data(Index) = "Item: " & Index
Next

Test = Data
End Function


Svara

Sv: Dimma funktion som array

Postades av 2001-05-02 23:39:00 - Peter Holm

Ja det hela är rätt enkelt och rättfram.

För det första måste du se till att den variabel som skall ta hand om
returvärdet har samma datatyp som funktionens returnvärde.

Därefter så deklarerar du din funktion på sedvanligt sätt. Jag visar:

Sample Code ===================================

Option Explicit

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
Debug.Print stringArr()(i)
Next i
End Sub

Private Function stringArr() As String()
Dim a(1 To 5) As String
a(1) = "Index 1"
a(2) = "Index 2"
a(3) = "Index 3"
a(4) = "Index 4"
a(5) = "Index 5"
stringArr = a
End Function

Sample Code ===================================

Exemplet kanske är lite klumpgt men för att vosa principen bara.

/peterh


Svara

Sv: Dimma funktion som array

Postades av 2001-05-03 01:27:00 - Frans Englich

OK, där ser man.
Men om jag vill göra så här:

<code>
form_load()
Dim minarray as string()
minarray = retarray 'dvs 'hämta hem' hela arrayen
' för att sedan kunna göra:
for I = 1 to ubound(minarray
'gör något
next I
'osv
end sub

retarray() as string()
Dim a(1 To 5) As String
a(1) = "Index 1"
a(2) = "Index 2"
a(3) = "Index 3"
a(4) = "Index 4"
a(5) = "Index 5"
stringArr = a
end function
</code>


Svara

Sv: Dimma funktion som array

Postades av 2001-05-03 01:34:00 - Frans Englich

Det jag försöker komma fram till är att man gör en massa onödiga beräkningar i ditt exempel. Om jag vill använda datan i varje element i arrayen(ubound(arrayen)) så innebär det att funktionen anropas lika många gånger som det finns element i arrayen. Det kan betyda en hel del i prestanda sammanhang..

Är jag helt ute och cyklar, eller bara lite? :D

mvh Frans


Svara

Sv: Dimma funktion som array

Postades av 2001-05-03 07:34:00 - Peter Holm

Jag skrev ju att exemplet kanske är lite klumpigt, men testa detta då
om detta mer motsvarar dina behov.....

Sample Code =====================================

Option Explicit

Private Sub Form_Load()
Dim i As Integer
Dim minArr() As String
minArr = stringArr()
For i = LBound(minArr()) To UBound(minArr())
Debug.Print minArr(i)
Next i
End Sub

Private Function stringArr() As String()
Dim a(1 To 5) As String
a(1) = "Index 1"
a(2) = "Index 2"
a(3) = "Index 3"
a(4) = "Index 4"
a(5) = "Index 5"
stringArr = a
End Function

Sample Code =====================================

/peterh


Svara

Sv: Dimma funktion som array

Postades av 2001-05-03 13:00:00 - Frans Englich

Heh, jag läste visst inte ordentligt.. Ditt exempel funkar ju som jag vill.


Tack,
Frans


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 619
27 953
271 709
519
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