Avatar billede cronck Nybegynder
26. september 2005 - 20:00 Der er 14 kommentarer og
1 løsning

Arrays, gemmer ikke data?

Hej eksperter.

Jeg har et array kaldet XPTable. Dette array fungerer vist ikke helt for mig :-(

Når at jeg for eks. gør således får jeg resultatet "0"... Text1.Text = XPTable(10)

Her er min kode:
  Dim XPTable(99) As Integer
 
  XPTable(0) = 0 & XPTable(1) = 0 & XPTable(2) = 83 & XPTable(3) = 174 & XPTable(4) = 276 & XPTable(5) = 388 & XPTable(6) = 512 & XPTable(7) = 650 & XPTable(8) = 801 & XPTable(9) = 969
  XPTable(10) = 1154 & XPTable(11) = 1358 & XPTable(12) = 1584 & XPTable(13) = 1833 & XPTable(14) = 2107 & XPTable(15) = 2411 & XPTable(16) = 2746 & XPTable(17) = 3115 & XPTable(18) = 3523 & XPTable(19) = 3973
  XPTable(20) = 4470 & XPTable(21) = 5018 & XPTable(22) = 5624 & XPTable(23) = 6291 & XPTable(24) = 7028 & XPTable(25) = 7842 & XPTable(26) = 8740 & XPTable(27) = 9730 & XPTable(28) = 10824 & XPTable(29) = 12031
  XPTable(30) = 13363 & XPTable(31) = 14833 & XPTable(32) = 16456 & XPTable(33) = 18247 & XPTable(34) = 20224 & XPTable(35) = 22406 & XPTable(36) = 24815 & XPTable(37) = 27473 & XPTable(38) = 30408 & XPTable(39) = 33648
  XPTable(40) = 37224 & XPTable(41) = 41171 & XPTable(42) = 45529 & XPTable(43) = 50339 & XPTable(44) = 55649 & XPTable(45) = 61512 & XPTable(46) = 67983 & XPTable(47) = 75127 & XPTable(48) = 83014 & XPTable(49) = 91721
  XPTable(50) = 101333 & XPTable(51) = 111945 & XPTable(52) = 123660 & XPTable(53) = 136594 & XPTable(54) = 150872 & XPTable(55) = 166636 & XPTable(56) = 184040 & XPTable(57) = 203254 & XPTable(58) = 224466 & XPTable(59) = 247886
  XPTable(60) = 273742 & XPTable(61) = 302288 & XPTable(62) = 333804 & XPTable(63) = 368599 & XPTable(64) = 407015 & XPTable(65) = 449428 & XPTable(66) = 496254 & XPTable(67) = 547953 & XPTable(68) = 605032 & XPTable(69) = 668501
  XPTable(70) = 737627 & XPTable(71) = 814445 & XPTable(72) = 899257 & XPTable(73) = 992895 & XPTable(74) = 1096278 & XPTable(75) = 1210421 & XPTable(76) = 1336443 & XPTable(77) = 1475581 & XPTable(78) = 1629200 & XPTable(79) = 1798808
  XPTable(80) = 1986068 & XPTable(81) = 2192818 & XPTable(82) = 2421087 & XPTable(83) = 2673114 & XPTable(84) = 2951373 & XPTable(85) = 3258594 & XPTable(86) = 3597792 & XPTable(87) = 3972294 & XPTable(88) = 4385776 & XPTable(89) = 4842295
  XPTable(90) = 5346332 & XPTable(91) = 5902831 & XPTable(92) = 6517253 & XPTable(93) = 7195629 & XPTable(94) = 7944614 & XPTable(95) = 8771558 & XPTable(96) = 9684577 & XPTable(97) = 10692629 & XPTable(98) = 11805606 & XPTable(99) = 13034431
Avatar billede ksoren Nybegynder
26. september 2005 - 20:19 #1
Prøv at benytte kolon til at dele din sætning op

XPTable(0) = 0 : XPTable(1) = 0 : XPTable(2) ...
Avatar billede cronck Nybegynder
26. september 2005 - 20:23 #2
Så giver det Overflow ved nr. 39... :-(
Avatar billede kabbak Professor
26. september 2005 - 21:16 #3
Dim XPTable(99) As Long

XPTable(0) = 0: XPTable(1) = 0: XPTable(2) = 83: XPTable(3) = 174: XPTable(4) = 276: XPTable(5) = 388: XPTable(6) = 512: XPTable(7) = 650: XPTable(8) = 801: XPTable(9) = 969
  XPTable(10) = 1154: XPTable(11) = 1358: XPTable(12) = 1584: XPTable(13) = 1833: XPTable(14) = 2107: XPTable(15) = 2411: XPTable(16) = 2746: XPTable(17) = 3115: XPTable(18) = 3523: XPTable(19) = 3973
  XPTable(20) = 4470: XPTable(21) = 5018: XPTable(22) = 5624: XPTable(23) = 6291: XPTable(24) = 7028: XPTable(25) = 7842: XPTable(26) = 8740: XPTable(27) = 9730: XPTable(28) = 10824: XPTable(29) = 12031
  XPTable(30) = 13363: XPTable(31) = 14833: XPTable(32) = 16456: XPTable(33) = 18247: XPTable(34) = 20224: XPTable(35) = 22406: XPTable(36) = 24815: XPTable(37) = 27473: XPTable(38) = 30408: XPTable(39) = 33648
  XPTable(40) = 37224: XPTable(41) = 41171: XPTable(42) = 45529: XPTable(43) = 50339: XPTable(44) = 55649: XPTable(45) = 61512: XPTable(46) = 67983: XPTable(47) = 75127: XPTable(48) = 83014: XPTable(49) = 91721
  XPTable(50) = 101333: XPTable(51) = 111945: XPTable(52) = 123660: XPTable(53) = 136594: XPTable(54) = 150872: XPTable(55) = 166636: XPTable(56) = 184040: XPTable(57) = 203254: XPTable(58) = 224466: XPTable(59) = 247886
  XPTable(60) = 273742: XPTable(61) = 302288: XPTable(62) = 333804: XPTable(63) = 368599: XPTable(64) = 407015: XPTable(65) = 449428: XPTable(66) = 496254: XPTable(67) = 547953: XPTable(68) = 605032: XPTable(69) = 668501
  XPTable(70) = 737627: XPTable(71) = 814445: XPTable(72) = 899257: XPTable(73) = 992895: XPTable(74) = 1096278: XPTable(75) = 1210421: XPTable(76) = 1336443: XPTable(77) = 1475581: XPTable(78) = 1629200: XPTable(79) = 1798808
  XPTable(80) = 1986068: XPTable(81) = 2192818: XPTable(82) = 2421087: XPTable(83) = 2673114: XPTable(84) = 2951373: XPTable(85) = 3258594: XPTable(86) = 3597792: XPTable(87) = 3972294: XPTable(88) = 4385776: XPTable(89) = 4842295
  XPTable(90) = 5346332: XPTable(91) = 5902831: XPTable(92) = 6517253: XPTable(93) = 7195629: XPTable(94) = 7944614: XPTable(95) = 8771558: XPTable(96) = 9684577: XPTable(97) = 10692629: XPTable(98) = 11805606: XPTable(99) = 13034431
Avatar billede kabbak Professor
26. september 2005 - 21:18 #4
du skal bruge Long, da Integer kun går mellem -32,768 til 32,767
Hvor en Long går imellem  -2,147,483,648 og 2,147,483,647
Avatar billede cronck Nybegynder
26. september 2005 - 21:37 #5
Havde jeg faktisk også prøvet...
Har også prøvet at lave den som Variant, men så er der kun 0'er i array'et...? :-(
Avatar billede kabbak Professor
26. september 2005 - 21:39 #6
Har du husket at Dim XPTable(99) As Long, skal være uden for procedure, ellers glemmer den værdierne
Avatar billede kabbak Professor
26. september 2005 - 21:44 #7
sådan

Dim XPTable(99) As Long


Private Sub Form_Initialize()
XPTable(0) = 0: XPTable(1) = 0: XPTable(2) = 83: XPTable(3) = 174: XPTable(4) = 276: XPTable(5) = 388: XPTable(6) = 512: XPTable(7) = 650: XPTable(8) = 801: XPTable(9) = 969
  XPTable(10) = 1154: XPTable(11) = 1358: XPTable(12) = 1584: XPTable(13) = 1833: XPTable(14) = 2107: XPTable(15) = 2411: XPTable(16) = 2746: XPTable(17) = 3115: XPTable(18) = 3523: XPTable(19) = 3973
  XPTable(20) = 4470: XPTable(21) = 5018: XPTable(22) = 5624: XPTable(23) = 6291: XPTable(24) = 7028: XPTable(25) = 7842: XPTable(26) = 8740: XPTable(27) = 9730: XPTable(28) = 10824: XPTable(29) = 12031
  XPTable(30) = 13363: XPTable(31) = 14833: XPTable(32) = 16456: XPTable(33) = 18247: XPTable(34) = 20224: XPTable(35) = 22406: XPTable(36) = 24815: XPTable(37) = 27473: XPTable(38) = 30408: XPTable(39) = 33648
  XPTable(40) = 37224: XPTable(41) = 41171: XPTable(42) = 45529: XPTable(43) = 50339: XPTable(44) = 55649: XPTable(45) = 61512: XPTable(46) = 67983: XPTable(47) = 75127: XPTable(48) = 83014: XPTable(49) = 91721
  XPTable(50) = 101333: XPTable(51) = 111945: XPTable(52) = 123660: XPTable(53) = 136594: XPTable(54) = 150872: XPTable(55) = 166636: XPTable(56) = 184040: XPTable(57) = 203254: XPTable(58) = 224466: XPTable(59) = 247886
  XPTable(60) = 273742: XPTable(61) = 302288: XPTable(62) = 333804: XPTable(63) = 368599: XPTable(64) = 407015: XPTable(65) = 449428: XPTable(66) = 496254: XPTable(67) = 547953: XPTable(68) = 605032: XPTable(69) = 668501
  XPTable(70) = 737627: XPTable(71) = 814445: XPTable(72) = 899257: XPTable(73) = 992895: XPTable(74) = 1096278: XPTable(75) = 1210421: XPTable(76) = 1336443: XPTable(77) = 1475581: XPTable(78) = 1629200: XPTable(79) = 1798808
  XPTable(80) = 1986068: XPTable(81) = 2192818: XPTable(82) = 2421087: XPTable(83) = 2673114: XPTable(84) = 2951373: XPTable(85) = 3258594: XPTable(86) = 3597792: XPTable(87) = 3972294: XPTable(88) = 4385776: XPTable(89) = 4842295
  XPTable(90) = 5346332: XPTable(91) = 5902831: XPTable(92) = 6517253: XPTable(93) = 7195629: XPTable(94) = 7944614: XPTable(95) = 8771558: XPTable(96) = 9684577: XPTable(97) = 10692629: XPTable(98) = 11805606: XPTable(99) = 13034431
End Sub
Avatar billede cronck Nybegynder
26. september 2005 - 21:54 #8
Ja, den ligger her...
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
 
Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000

Dim strHtml As String
Dim XPTable(99) As Integer

Og derefter begynder form_load osv osv...
Avatar billede kabbak Professor
26. september 2005 - 21:56 #9
du kalder den stadigvæk for Integer, det skal vær Long, med de værdier du putter i den
Avatar billede cronck Nybegynder
26. september 2005 - 21:56 #10
Ahh....
Jeg kørte først funktionen som oprettede værdierne, efter at jeg egentlig forsøgte at bruge den... LOL!

Smid i hellere et svar begge 2, så lægger jeg lidt ekstra point på, og splitter ;-)
Avatar billede kabbak Professor
26. september 2005 - 21:58 #11
LOL og et svar ;-))
Avatar billede martin_moth Mester
27. september 2005 - 11:39 #12
99% af fejl går vist på, at man tror at variabler indeholder noget andet ende gør.

En af løsningerne: Debug.print
Avatar billede cronck Nybegynder
27. september 2005 - 15:20 #13
Hehe... Det har du helt sikkert ret i ;-)
Tak for tippet...
Avatar billede kabbak Professor
02. oktober 2005 - 22:25 #14
lukketid
Avatar billede cronck Nybegynder
03. oktober 2005 - 10:36 #15
Jah....
Det lader ikke til at ksoren er interesseret i point... Gider i hvertfald ikk vente mere :-)

Takker for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester