Forum » Programiranje » Iteriranje imena spremenljivke ki je array [VB]
Iteriranje imena spremenljivke ki je array [VB]
gregor_83 ::
Rad bi zapisal vrednost spremenljivkam P1, P2,...P20 tako da bi vse skupaj teklo v DO...LOOP zanki, ampak ne vem kako naj spremenim ime spremenljivke vsakič ko začnem nov loop. Če bi imela vsaka spremenljivka samo eno vrednost bi lahko uporabil array, ampak vsak P# je že array s tremi vrednostmi.
Se pravi da bi izgledalo nekako takole:
Do Util MojPogojZaVrednost(i)
P(i) = nekaj kar zapiše tri vrednosti v ta array
i=i+1
LOOP
Upam da sem napisal dovolj jasno.
Se pravi da bi izgledalo nekako takole:
Do Util MojPogojZaVrednost(i)
P(i) = nekaj kar zapiše tri vrednosti v ta array
i=i+1
LOOP
Upam da sem napisal dovolj jasno.
LjubimPeezde ::
reši to s strukturo ki hrani tri vrednosti
Odvisno od VBja.VB6.0 -> Type ; VB.NET -> Class, Structure če me spomin ne vara
Odvisno od VBja.VB6.0 -> Type ; VB.NET -> Class, Structure če me spomin ne vara
gregor_83 ::
Hvala, deluje!
Če bo kdaj kdo hotel vedeti kaj podobnega:
Primer je makro v Autocad2007 VBA
V glavnem modulu deklarirate nov Type:
Public Type DesignSpacePoint
Coordinate As Variant
Elevation As Single
End Type
In ga uporabite v svojem Sub-u (glej drugi Loop):
Private Sub cmdPoints_Click()
frmMain.Hide
Dim NL As String
Dim i As Integer
i = 1
NL = Chr(13) & Chr(10)
On Error Resume Next
Origin = ThisDrawing.Utility.GetPoint(, NL & "Sredina okna: ")
If Err **NI ENAKO** 0 Then
MsgBox "Ukaz je bil prekinjen.", vbInformation
frmMain.Show
Exit Sub
End If
OriginElevation = ThisDrawing.Utility.GetReal("Vpišite višino izbrane točke:")
If OriginElevation < 0 Then
Do
MsgBox "Prosim vpišite višino izbrane točke", vbExclamation
OriginElevation = InputBox("Vpišite višino izbrane točke:")
Loop While OriginElevation < 0
End If
Dim PointCoordinate(1 To 50) As DesignSpacePoint
'Dim PointHeight(1 To 50) As DesignSpacePoint
Do Until i = 50
On Error Resume Next
PointCoordinate(i).Coordinate = ThisDrawing.Utility.GetPoint(Origin, NL & i & ". točka:")
If Err **NI ENAKO** 0 Then
MsgBox "Ukaz je bil prekinjen.", vbInformation
frmMain.Show
Exit Sub
End If
PointCoordinate(i).Elevation = ThisDrawing.Utility.GetReal("Vpišite višino izbrane točke:")
If PointCoordinate(i).Elevation < 0 Then
Do
MsgBox "Prosim vpišite višino izbrane točke", vbExclamation
PointCoordinate(i).Elevation = InputBox("Vpišite višino izbrane točke:")
Loop While PointCoordinate(i).Elevation < 0
End If
i = i + 1
Loop
End Sub
**NI ENAKO** nadomestite z ustreznim VBA operaterjem (slo-tech misli da je slab HTML )
Če bo kdaj kdo hotel vedeti kaj podobnega:
Primer je makro v Autocad2007 VBA
V glavnem modulu deklarirate nov Type:
Public Type DesignSpacePoint
Coordinate As Variant
Elevation As Single
End Type
In ga uporabite v svojem Sub-u (glej drugi Loop):
Private Sub cmdPoints_Click()
frmMain.Hide
Dim NL As String
Dim i As Integer
i = 1
NL = Chr(13) & Chr(10)
On Error Resume Next
Origin = ThisDrawing.Utility.GetPoint(, NL & "Sredina okna: ")
If Err **NI ENAKO** 0 Then
MsgBox "Ukaz je bil prekinjen.", vbInformation
frmMain.Show
Exit Sub
End If
OriginElevation = ThisDrawing.Utility.GetReal("Vpišite višino izbrane točke:")
If OriginElevation < 0 Then
Do
MsgBox "Prosim vpišite višino izbrane točke", vbExclamation
OriginElevation = InputBox("Vpišite višino izbrane točke:")
Loop While OriginElevation < 0
End If
Dim PointCoordinate(1 To 50) As DesignSpacePoint
'Dim PointHeight(1 To 50) As DesignSpacePoint
Do Until i = 50
On Error Resume Next
PointCoordinate(i).Coordinate = ThisDrawing.Utility.GetPoint(Origin, NL & i & ". točka:")
If Err **NI ENAKO** 0 Then
MsgBox "Ukaz je bil prekinjen.", vbInformation
frmMain.Show
Exit Sub
End If
PointCoordinate(i).Elevation = ThisDrawing.Utility.GetReal("Vpišite višino izbrane točke:")
If PointCoordinate(i).Elevation < 0 Then
Do
MsgBox "Prosim vpišite višino izbrane točke", vbExclamation
PointCoordinate(i).Elevation = InputBox("Vpišite višino izbrane točke:")
Loop While PointCoordinate(i).Elevation < 0
End If
i = i + 1
Loop
End Sub
**NI ENAKO** nadomestite z ustreznim VBA operaterjem (slo-tech misli da je slab HTML )
neoto ::
A to veš, da VB podpira tudi večdimenzionalna polja?
Dim premica(100) as long
Dim ravnina(100,100) as long
dim prostor(100,100,100) as long
dim n_prostor(100,100,100... (n-krat) ... 100) as long
Dim premica(100) as long
Dim ravnina(100,100) as long
dim prostor(100,100,100) as long
dim n_prostor(100,100,100... (n-krat) ... 100) as long
gregor_83 ::
Je to enako kot multidimentional matrix?
Če je, potem vem - sem najprej probal to, ampak ACAD VBA hoče da je spremenljivka, ki prestavlja tvojo izbrano točko tipa Variable, ki jo po izbiri točke z miško spremeni v array tipa Double s tremi member-ji (x,y,z).
Če je, potem vem - sem najprej probal to, ampak ACAD VBA hoče da je spremenljivka, ki prestavlja tvojo izbrano točko tipa Variable, ki jo po izbiri točke z miško spremeni v array tipa Double s tremi member-ji (x,y,z).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | VB6 poljuben stringOddelek: Programiranje | 814 (695) | primzx |
» | [EXCEL] Pogojno kopiranje na drug listOddelek: Programiranje | 1785 (1707) | StratOS |
» | Brute forcing :) in VB problemiOddelek: Programiranje | 1341 (1139) | StratOS |
» | [VB6] Program Odštevalnik - verjetno preprosta rešitev ampak jest je ne najdem (strani: 1 2 )Oddelek: Programiranje | 5262 (4736) | Nerdor |
» | Kako v excelu shraniti kot sliko?Oddelek: Programska oprema | 2548 (2247) | Slavček |