login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Text.Length (Opgelost)

Offline rredspike1 - 06/11/2008 16:44
Avatar van rredspike1Lid Hi,

Ik ben bezig met een txtbox.Text.Length...alleen dan heb ik

  1. txtTijdstip.Text.Length = "6"


Alleen dan geeft het een blauw streepje eronder met de melding:
Property.Length = readonly

19 antwoorden

Gesponsorde links
Offline nemesiskoen - 06/11/2008 16:46 (laatste wijziging 06/11/2008 16:48)
Avatar van nemesiskoen Gouden medaille

PHP expert
Dit betekend dat je dit niet kan setten maar enkel getten. Maw: je kan dit enkel opvragen, hier kan je geen waarde aan instellen (ook vrij logisch...)
Als je de maximumlengte wil instellen gebruik dan:
  1. txtTijdstip.MaxLength = 6
Offline rredspike1 - 06/11/2008 16:47 (laatste wijziging 06/11/2008 17:03)
Avatar van rredspike1 Lid Weet wat een readonly (lees alleen) is ;)
Ok maar hoe stel ik die txtbox dan in op een lengte van 6 karakters?

Edit
  1. lblOpdrachtdatum_Opdrachten.Text = Date.Today
  2. Dim strTijdstip_Ophalen As String = txtTijdstip.Text
  3. Dim strTussenvoegsel As String = ":"
  4. strTijdstip_Ophalen = strTijdstip_Ophalen.Insert(3, strTussenvoegsel)
  5. If (strTijdstip_Ophalen.Length < 6) Then
  6. MsgBox("Tijd klopt niet!")
  7. End If


Echt dr klopt niks van want krijg een fout:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: startIndex
Offline nemesiskoen - 06/11/2008 16:59
Avatar van nemesiskoen Gouden medaille

PHP expert
Wil je maxlengte of wat wil je? (maxlengte staat in vorige post)
Offline Abbas - 06/11/2008 17:01 (laatste wijziging 06/11/2008 17:07)
Avatar van Abbas Gouden medaille

Crew .NET
Als je deftig leest zie je dat hij zowel een oplossing geeft op de fout die je krijgt EN een oplossing geeft om de MaxLength in te stellen. Je vraag was dus compleet overbodig!

Edit:
Bij de Insert() mag de startIndex niet groter zijn dan de lengte van je string. Als je string 4 tekens lang is, is de maximum startIndex 3 (Zero-based beginnen tellen)!
Offline rredspike1 - 06/11/2008 17:06
Avatar van rredspike1 Lid Nou eigenlijk is mn vraag DEELS opgelost en had ik zijn antwoord nog niet gezien (na ge-edit te zijn) 

Krijg foutmelding:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: startIndex

Regel 4 zie bovenste code
Offline Abbas - 06/11/2008 17:07
Avatar van Abbas Gouden medaille

Crew .NET
Zie m'n vorige reactie!
Offline rredspike1 - 06/11/2008 17:12 (laatste wijziging 06/11/2008 18:06)
Avatar van rredspike1 Lid Hé titjes ik snap het niet helemaal, zou je het uit kunnen leggen?
Je legt het al uit, maar wat is er nu eigenlijk verkeerd dan?

edit
  1. txtTijdstip.MaxLength = 5
  2. Dim strTijdstip_Ophalen As String = txtTijdstip.Text
  3. Dim strTussenvoegsel As String = ":"
  4. If IsNumeric(txtTijdstip.Text.Length = 2) Then
  5. strTijdstip_Ophalen = strTijdstip_Ophalen.Insert(2, strTussenvoegsel)
  6. ElseIf txtTijdstip.Text.Length < 2 Then
  7. MsgBox("Geen juiste tijd ingevoerd!")
  8. End If
Offline Kr4nKz1n - 06/11/2008 18:36
Avatar van Kr4nKz1n Onbekend Ik kan dit absoluut niet, maar ben wel bezig met Flex (mxml en ActionScript) en heb met .NET gewerkt.

En jij doet variabele.Text.Length, en volgens mij moet je gewoon variabele.Length doen.
Offline nemesiskoen - 06/11/2008 18:52
Avatar van nemesiskoen Gouden medaille

PHP expert
@Kr4nKz1n: als je het absoluut niet kan aub ff keihard niets posten want dit kan wel.

@topicstarter:
IsNumeric(txtTijdstip.Text.Length = 2)

je vraagt of een boolean numeric is. Die IsNumeric moet weg.
Offline rredspike1 - 06/11/2008 19:03 (laatste wijziging 06/11/2008 20:07)
Avatar van rredspike1 Lid @vage:
Snap het boolean verhaal (stond hier namelijk eerst wat anders), maar waar de fout zit is dat ik out of range ben!

txtTijdstip.MaxLength = 5
Dim strTijdstip_Ophalen As String = txtTijdstip.Text
Dim strTussenvoegsel As String = ":"
If (txtTijdstip.Text.Length = 2) Then
strTijdstip_Ophalen = strTijdstip_Ophalen.Insert(2, strTussenvoegsel)
ElseIf txtTijdstip.Text.Length < 5 Then
MsgBox("Geen juiste tijd ingevoerd!")
End If

Ik zelf denk dat de fout zit bij het vetgedrukte gedeelte....omdat het een txtbox is waar die de waarde uit moet halen en daarom zegtie waarschijnlijk out of range...hoe los ik dit op?

ps geen codetags vanwege het vetgedrukte
Offline nemesiskoen - 06/11/2008 19:20
Avatar van nemesiskoen Gouden medaille

PHP expert
Laat eens even heel je code zien, want ik het gevoel dat dit niet op de juiste plaats in de code staat.
Offline rredspike1 - 06/11/2008 19:21
Avatar van rredspike1 Lid
  1. Private Sub txtTijdstip_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTijdstip.TextChanged
  2. 'Tijd afspraak, verhuurde producten worden opgehaald'
  3. Dim strTijdstip_Ophalen As String
  4. Dim strTussenvoegsel As String = ":"
  5. txtTijdstip.MaxLength = 5
  6. strTijdstip_Ophalen = txtTijdstip.Text
  7. strTijdstip_Ophalen = strTijdstip_Ophalen.Insert(2, strTussenvoegsel)
  8. End Sub
Offline Kr4nKz1n - 06/11/2008 19:43
Avatar van Kr4nKz1n Onbekend
vage schreef:
@Kr4nKz1n: als je het absoluut niet kan aub ff keihard niets posten want dit kan wel.
Is maar een tip, even wijzigen, saven en testen.

Goh ja, het is echt een kwestie van leven of deaud.
Spiet mie donders.
Offline Wim - 06/11/2008 19:58 (laatste wijziging 06/11/2008 19:59)
Avatar van Wim Crew algemeen
  1. txtTijdstip.MaxLength = 5
  2. Dim strTussenvoegsel As String = ":"
  3. 'Dit klopt duidelijk niet...: If IsNumeric(txtTijdstip.Text.Length = 2) Then
  4. if (isnumeric(txtTijdstip.Text) AND txtTijdstip.Text.Length = 2) Then
  5. 'strTijdstip_Ophalen = strTijdstip_Ophalen.Insert(2, strTussenvoegsel)
  6. 'je controleert of er 2 tekens zijn, dus waarom met die insert?
  7. txtTijdstip.Text &= ":" 'zelfde resultaat...
  8. ElseIf txtTijdstip.Text.Length < 2 Then
  9. MsgBox("Geen juiste tijd ingevoerd!")
  10. End If


verder, waarom ga je txtTijdstip.text eerst in een variabele steken om dan toch nog door gans je code txttijdstip.text te gebruiken? 

@krankzin:
txtTijdstip is een tekstbox, en dus een object
een object kan verschildende properties hebben, waaronder Text. Text is de property die de inhoud van de tekstbox bevat, en is dus een string!
Offline rredspike1 - 06/11/2008 20:29 (laatste wijziging 06/11/2008 20:32)
Avatar van rredspike1 Lid Bedankt het werkt!
Alleen nu springt na de eerste 2 cijfers + : de cursor weer naar het begin!
Offline Wim - 06/11/2008 20:31 (laatste wijziging 06/11/2008 20:32)
Avatar van Wim Crew algemeen daarom niet...

grmbl... waar staat de code? achter welke actie?


//edit: dacht precies echt dat er stond "Wimmarien... Waarom werkt het nu dan nog niet...?"
Offline rredspike1 - 06/11/2008 20:36 (laatste wijziging 06/11/2008 20:36)
Avatar van rredspike1 Lid Ja dat stond er eerst ook, maar het werkt wel bedankt! 
Maar als ik nu zegmaar 00 heb ingetypt dan komt er een dubbel punt  dat is goed, alleen dan sprint de cursor weer naar het begin en die moet aan het eind blijven...
Offline Kr4nKz1n - 06/11/2008 21:55
Avatar van Kr4nKz1n Onbekend
wimmarien schreef:
[..code..]
@krankzin:
txtTijdstip is een tekstbox, en dus een object
een object kan verschildende properties hebben, waaronder Text. Text is de property die de inhoud van de tekstbox bevat, en is dus een string!
Dat weet ik. Bedankt voor de uitleg. Maar in o.a. Flex gebruik je alln de variabele en daarachter length.

Ik bedoelde het goed, maja zal wel weer
Offline nemesiskoen - 06/11/2008 22:14 (laatste wijziging 06/11/2008 22:14)
Avatar van nemesiskoen Gouden medaille

PHP expert
Best dat je het goed bedoelde, maar als je ziet dat er al 2 mensen hebben gereageerd die er wel iets van weten en daar geen opmerking over hebben gemaakt is de kans groot dat dat niet fout is. Offcourse het kon zijn dat we dat over het hoofd hadden gezien maar dat was hier niet het geval ^_^
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s