Hej, jag har ca 100 Integers där alla namn ökar på ett speciellt sätt: Spännande särskrivning. =) Jag skulle nog använda mig av en HashTable eller liknande istället för att deklarera en massa variabler. Då kan du lätt skapa snurror som med mindre kod gör det du vill... Aha, nu har hjärnan vaknat lite. Naturligtvis är det som Thomas säger. Gör inte massa variabler. Hej! Ok, jag ska förklara igen. Jag tyckte bara att mitt exempel skulle fungera :) what the f**k you on about????? Varför skriver du skitinlägg? Kan du inte gå och runka istället? Ingen lär sakna dig. lugn o fin..... Nå, vill man ha hjälp lär inte ditt inlägg hjälpa heller. Det vettigaste är väl en 3*n-matris, och inget annat? Lösningen med många textboxar är inte bra.. Det låter som att det är en slags tabell du ska fylla i.. Det finns jättebra färdiga objekt för detta.. Kolla upp Dataset, DataTable, DataGrid (DataGridView) Använd dig som du tänkt dig av 3 textboxar och en räknare som håller koll på vilken serieSlippa skriva alla Integer igen?
Dim p011, p012, p013, p021, p022, p023, p031, p032, p033, p041, p042, p043.... As Integer
(läs som 01 = 1, 02 = 2. För senare kommer 10,11,12 osv. Varje nummer har 3 delnummer)
För att slippa skriva in alla namnen igen när dom ska få tal inmatade så tänkte jag göra ungefär så här:
p0 tal 1 = TextBox0 tal 1.Text
p0 tal 2 = TextBox0 tal 2.Text
p0 tal 3 = TextBox0 tal 3.Text
tal = tal+1
Jag hoppas att ni förstår, jag har testat på flera olika sätt men kommer ingen stans.Sv: Slippa skriva alla Integer igen?
Jag är osäker på hur du menar, men du vill nog sammanfoga strängar. Kanske något i stil med:
txtResult = "p" & cstr(txtNumber1) & cstr(txtNumber2)Sv: Slippa skriva alla Integer igen?
Sv:Slippa skriva alla Integer igen?
Frågan är varför du vill kalla variablerna så konstiga namn?Sv: Slippa skriva alla Integer igen?
Det är lite svårt att förstå vad du är ute efter.
Det känns lite som om att du vill att ( tal ) ska vara nåt slags wildcard
del av Variabel- och textboxKontroller-namnen, för att sedan Enumereras
till en viss variabel eller textbox.
Jag tror du bör berätta lite mer om vad du vill uppnå, istället för att
förbrylla oss med kodexempel.
Det blir lättare så...Sv:Slippa skriva alla Integer igen?
Jag håller på att skapa ett program som man kan träna sin protokollföring i (snabbare huvudräkning mm). Man ska fylla i ett skjutprotokoll som inkluderar 30 serier á 3 skott. Jag har gjort klart biten som slumpar fram ett resultat på en bild, sedan ska man skriva in poängen som bilden visar.
Jag har skapat alla textboxar som behövs i programmet, men jag behöver ett ställe att spara resultatet så att man kan kontrollera om användaren skrev rätt på alla ställen i protokollet.
Hastable har jag aldrig använt.
PS. När användaren trycker "starta" så slumpas 3 skott-resultat fram i form av bilder. T.ex 8,6,5. Dessa 3 tal ska sparas. Sedan trycker användaren för nästa serie och serie 2 slumpas fram osv.
Och i slutet ska serie1 jämföras mot 8,6,5. Serie 2 mot vad som kom då osv.Sv: Slippa skriva alla Integer igen?
ska man skriva in tre siffror som presenteras i en bild, och på så vis
träna sina protokollförartalanger?????
what's the gaddam point?Sv:Slippa skriva alla Integer igen?
Sv: Slippa skriva alla Integer igen?
inte så illa menat från min sida, men .............
menar du verkligen att INGEN! kommer att sakna mig...
Detta är ju jättesorgligt.... (hmmmmm....) Sv: Slippa skriva alla Integer igen?
Som sagt, om jag förstår dig rätt är Hashtable rätta vägen. Hur det fungerar går att läsa här:
http://msdn2.microsoft.com/en-us/library/system.collections.hashtable.aspxSv:Slippa skriva alla Integer igen?
Fast jag är väldigt skeptisk till att det behövs öht, upplägget verkar mycket märkligt.Sv: Slippa skriva alla Integer igen?
Sv:Slippa skriva alla Integer igen?
man är på. Deklarera sen en matris som Niklas föreslog för att spara värdena i.
Nåt i den här stilen kanske?
Dim serie As Integer
Dim minArray(30, 2) As Integer ' dvs. 30 lång med 3 värden (0-2), första skottet hamnar i minArray(0,0)
Kör Init() i typ Form_Load och kalla sen Tjosan() varje gång de tre textboxarna är matade.
Private Sub Init()
serie = 0
minArray.Clear(minArray, 30, 2) 'fult, jag vet, funkar nog med redim också
End Sub
Private Sub Tjosan()
serie += 1
If serie < 31 Then
minArray(serie, 0) = CType(TextBox1.Text, Integer)
minArray(serie, 1) = CType(TextBox2.Text, Integer)
minArray(serie, 3) = CType(TextBox3.Text, Integer)
Else
syna()
End If
End Sub
Private Sub syna()
' din kod för att syna datan i nån loop
End Sub