Toon posts:

[VB] Meer dan 255 tekens in string

Pagina: 1
Acties:
  • 156 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoe krijg ik het voor elkaar, dat er meer dan 255 tekens in een string passen. Als ik de boeken erop nalees maak ik daaruit op dat een variabele string al 2^31 tekens zou moeten kunnen bevatten. Probeer ik hem echter te vullen dan gaat ie maar tot 255...

op dit moment heb ik hem zo gedeclareerd:

public hulpvar as string

iemand??

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
There are two kinds of strings: variable-length and fixed-length strings.

A variable-length string can contain up to approximately 2 billion (2^31) characters.
A fixed-length string can contain 1 to approximately 64K (2^16) characters.
Ik denk dat je eens moet proberen je hulpvar als variant te dimmen.

Verwijderd

post es wat code dan dat het fout gaat want moet geen punt zijn

  • Unipuma
  • Registratie: Juli 2001
  • Laatst online: 06-04-2021
In VB kun je zonder problemen meer dan 255 characters stoppen.
Geef eens wat meer gegevens:
- Versie van VB
- Waarmee probeer je de string te vullen? Mogelijk zit het probleem namelijk in bron van waaruit je je string vult.

So much fun, it's a miracle it isn't declared illegal: driving a motorcycle


Verwijderd

Topicstarter
Supervisor schreef op 18 december 2002 @ 14:34:
[...]


Ik denk dat je eens moet proberen je hulpvar als variant te dimmen.
heb ik geprobeerd, met een variant heb ik het zelfde probleem.

Het is een vrij uitgebreid stuk code. Ik maak in excel een grafiek uit een tabel. Maar niet alle waardes van een kolom in die tabel komen in de grafiek.
Ik heb een algoritme dat de juiste cellen steeds ophaald.
Hiernaast hou ik dus een string bij waarin al die waardes staan die in de reeks van de grafiek voorkomen. En die string raakt dus vol als er 255 tekens in komen.

voorbeeldje:
hulpvar= hulpvar & "blad1!r4c5"

iedere waarde in de reeks van die tabel bestaat dus hieruit: blad1!r4c5, blad1!r6c5, enz


EDIT visual basic versie 6

[ Voor 4% gewijzigd door Verwijderd op 18-12-2002 14:44 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 25-08 14:38

OZ-Gump

terug van weggeweest

Het kan ook zijn dat er best meer dan 255 karakters in destring mogen, alleen dat wat achter de = staat mag niet langer zijn dan 255 karakters. Je kunt aan een string dus bijvoorbeeld het volgende wel toewijzen:

teststring = "Hele lange enge string"
teststring = teststring & "nog een hele lange enge string"
teststring = teststring & "een nog veel langere engere string"
teststring = teststring & "nog een hele lange enge string"

Probeer dat eens als je wilt...

My personal website


Verwijderd

code:
1
2
3
4
5
6
    Dim i As Integer
    Dim s As String
    For i = 1 To 900
        s = s & "x"
    Next i
    Debug.Print Len(s)

drukt netjes 900 af dus je bug *MOET* ergens anders zitten....

Verwijderd

Topicstarter
Mijn collega post zo wat code ;)

Verwijderd

stukje code

et = teller die rijnummer in excel bij houdt
tl = andere teller
eerste = boolean die doorgeeft of de grafiek voor de eerste keer wordt gemaakt

et = et + tl
tl = 0
kolom = 4
If eerste1 Then

hulpvar1 = "Data!R" & et & "C" & kolom
hulpas1 = "Data!R" & et & "C2"
If eerste1 Then
eerste1 = False
End If

Else
hulpvar1 = hulpvar1 & "," & "Data!R" & et & "C" & kolom
hulpas1 = hulpas1 & "," & "Data!R" & et & "C2"
End If

Sheets("blad1").Select
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).XValues = "=" & hulpas1
ActiveChart.SeriesCollection(1).Values = "=" & hulpvar1

op de voorlaatste regel geeft de compiler een foutmelding.

[edit] indien er in de string 250 characters worden bereikt

[ Voor 19% gewijzigd door Verwijderd op 18-12-2002 14:59 ]


  • Unipuma
  • Registratie: Juli 2001
  • Laatst online: 06-04-2021
Lijkt er meer op dat je ActiveChart.SeriesCollection(1).XValues niet meer dan 255 tekens accepteert als input. Het probleem zit niet in de string (die is zelfs groter, check maar door ff 'msgbox prompt:=hulpas1' er vlak voor te zetten, of een debug.print), maar XValues accepteert niet meer dan 250/255 (?) tekens.

So much fun, it's a miracle it isn't declared illegal: driving a motorcycle


Verwijderd

lijkt erop, we waren zelf ook al met een msgbox bezig...

Verwijderd

Topicstarter
je hebt gelijk, daar ligt het aan

[ Voor 81% gewijzigd door Verwijderd op 18-12-2002 15:13 ]


  • Unipuma
  • Registratie: Juli 2001
  • Laatst online: 06-04-2021
Geeft trouwens de compiler een foutmelding, of krijg je de fout pas bij het uitvoeren van de code?
Als het een data overflow betreft krijg je hem pas bij het uitvoeren, als je een verkeerd datatype doorgeeft al bij compileren.
Wat is de foutmelding die je krijgt?

So much fun, it's a miracle it isn't declared illegal: driving a motorcycle

Pagina: 1