CwCity Board >>> Programmier Sprachen >>> ASP >>> Funktion soll Array zurückgeben
Funktion soll Array zurückgeben

Seiten: 1
too--late
Verfasst am: 29.09.2006 um: 09:41 Uhr
 
Cw's Alleinunterhalter
Alleinunterhalter
Beiträge: 345
SPAM:
0% Spam
Hi,

Ich würde gerne als resultat einer funktion ein array zurückgeben.
Wie kann ich dies realisieren??

Ich habe folgendes probiert.

function test(byVal wert)
dim arr(1)
arr(0) = false
arr(1) = false
if test < 2 then arr(0) = true
if test < -10 then arr(1) = true
test = arr
end function

nun kann ich zwar mit das resultat so ausgeben: response.write test(1)(0) & " / " & test(1)(1)

Aber ich kann die Werte keiner anderen Variable zuweisen.
z.B. so: a = test(1)
wenn ich dann response.write a(0) schreibe kommt dauernd der fehler "Type mismatch"

Kann mir jemand helfen?

Mfg too--late

 



Freggle
Verfasst am: 29.09.2006 um: 10:13 Uhr
 
Cw Supporter
Cw Supporter
Beiträge: 11927
SPAM:
0% Spam
Kenn mich ja persönlich nicht mit ASP aus, aber vielleicht hilft es die Variable a vorher als Array deklarieren, und erst dann den Wert über die Funktion zuweisen.


 
 

too--late
Verfasst am: 29.09.2006 um: 10:24 Uhr
 
Cw's Alleinunterhalter
Alleinunterhalter
Beiträge: 345
SPAM:
0% Spam
@freggle

Hab ich schon ausprobiert. Es erscheint immer noch der gleiche Fehler.



Letzte Änderung am: 29.09.2006 um: 10:27 Uhr durch: too--late
 

Verfasst am: 30.09.2006 um: 01:46 Uhr
 

hab keine ahnung von ASP also nur ne idee
wenn ich das richtig seh, gibt deine funktion nur ne liste von true bzw false zurück
benutze anstatt true und false die 1 und 0 und setze es als string zusammen
dann brauchste kein array

Fall 0 => bitA=0 & bitB=0 =>"00"
Fall 1 => bitA=0 & bitB=1 =>"01"
Fall 2 => bitA=1 & bitB=0 =>"10"
Fall 3 => bitA=1 & bitB=1 =>"11"

dann gibt deine funktion halt einen wert in binärer form zurück
also 00, 01, 10 oder 11

da fragste dann nur die positonen 0 und 1 der zeichenkette ab.
und das eine zeichen sollte sich dann auch mit ASP prima zuweisen lassen

WICHTIG: als string verarbeiten, sonst kannst probleme mit der führenden 0 geben

:Edit:
Da ist sie wieder ..... die gute alte wahrheitstabelle ;-)

wie imma alles ungetetet

Gruß vom völlig A(SP)nungslosen Clonix



Letzte Änderung am: 30.09.2006 um: 02:25 Uhr durch: Clonix
 

Pepe
Verfasst am: 30.09.2006 um: 08:38 Uhr
 
Dr. CwCity.de
Community God
Beiträge: 4879
SPAM:
0% Spam
Ich denke du hast einen Schreibfehler im Code!
Dies funktionier in VBA (=ASP?)
  

Function test(ByVal wert)
Dim arr(1)
arr(0) = False
arr(1) = False
If wert < 2 Then arr(0) = True
If wert < -10 Then arr(1) = True
test = arr
End Function

Sub ausprobieren()
Dim res, hh
res = test(0)
'prompt (res(0))
hh = 2
hh = res(0)
hh = res(1)
End Sub

Such ihn, den Fehler bei mir ist er weg.

= tschuess

 

too--late
Verfasst am: 03.10.2006 um: 16:10 Uhr
 
Cw's Alleinunterhalter
Alleinunterhalter
Beiträge: 345
SPAM:
0% Spam
@Clonix

So hab ich es eigentlich vor dem Posten meiner Frage gemacht, aber irgendwie fand ich, dass es eigentlich möglich wäre ein array zurückzuliefern.

In der Zwischenzeit hab ich die Funktion ganz abgeschaffen und das ganze viel einfacher gemacht.

Tut aber nichts zur Sache dass ich immer noch keine Ahnung habe, wie man ein Array zurückliefern kann.

@Pepe
Ich hab deine Variante ausprobiert. Sie funktioniert
Hab meinen Fehler nun auch entdeckt.
Wieso hab ich bloss if test < 2 geschrieben und nicht wert

Nochmals danke für eure Hilfe

too--late

Edit: Ach ja jetzte weiss ich ja wie



Letzte Änderung am: 03.10.2006 um: 16:10 Uhr durch: too--late
 

Pepe
Verfasst am: 03.10.2006 um: 16:40 Uhr
 
Dr. CwCity.de
Community God
Beiträge: 4879
SPAM:
0% Spam
Uebrigens ich hatte das ganze in Excel und 'stepwise' debuggen ausprobiert , vielleicht ist das ein guter Tipp?
Aber eigentlich muesste das eine ASP Umgebung auch koennen: debuggen.

= tschuess

 

 
Seiten: 1

Folgende User sind hier gerade aktiv:
-

ANZEIGE