vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
2. dimensionales array / trennung zwischen model und view 
Autor: meomeo
Datum: 27.09.14 09:12

Hallo, hab erst vor kurzer Zeit mit dem Programmieren angefangen, von daher bitte ich schonmal um entschuldigen, sollte ich mich dämlich bzw. undeutlich ausdrücken.
Ich würde ganz gerne ein 2 dimensionales Array (?) erzeugen, wovon aber nur ein Teil in der Console ausgegeben werden soll.

Public Class Level
Public grid(9, 16) As Char
  Public Sub Level1()
        For y As Integer = 0 To grid.GetLength(0) - 1 Step 1
         For x As Integer = 0 To grid.GetLength(1) - 1 Step 1
          grid(y, x) = "#"
         Next
        Next
   End Sub
End Class
Damit weise ich schonmal jedem Element den Char "#" zu ,richtig?

Wenn ich nun im Modul schreibe, ersoll in einem Bereich die Elemente abfragen (und ausgeben), gibt es keine Probleme. Beispiel:


Module Module1
Sub Main()
 
  Dim printgrid As New Level
  Dim proof(3, 3) As Integer
 
  printgrid.Level1()
 
  For y = 0 To proof.GetLength(0) - 1 Step 1
   For x = 0 To proof.GetLength(1) - 1 Step 1
    Console.Write(printgrid.grid(y, x))
   Next
   Console.WriteLine()
  Next
 
Console.WriteLine(" y=7 , x=7 : " & printgrid.grid(7, 7))
Console.ReadLine()
End Sub
End Module
In der Console wird mir nun ein 4x4 Feld voller Rauten gezeichnet, so wie es der Plan war
Mit console.writeline(printgrid.grid(7, 7)) seh ich ,dass das Element (7,7) belegt ist, obwohl es nicht ausgegeben wurde, klappt also auch.

Möchte ich das ganze aber nun in eine andere Klasse auslagern , funktioniert es nicht:


Public Class View
 Public layout(3, 3) As Char
 Public proof As Level = New Level()
 Public Sub Representation()
 
 For y As Integer = 0 To layout.GetLength(0) - 1 Step 1
  For x As Integer = 0 To layout.GetLength(1) - 1 Step 1
   Console.Write(proof.grid(y, x))
  Next
  Console.WriteLine()
 Next
 
 Console.WriteLine(proof.grid(7, 7) & " hier ")
 End Sub
End Class
dann im Modul halt:


Dim printgrid As New Level
Dim visual As New View
printgrid.Level1()
visual.Representation()
Console.WriteLine(" y=7 , x=7 : " & printgrid.grid(7, 7))
Console.ReadLine()
Wieso bekomm ich hier nicht die gleiche Ausgabe, wie ohne Auslagerung?
Für Hilfe/Erklärungungen/Tipps wäre ich sehr dankbar.

Beitrag wurde zuletzt am 27.09.14 um 09:14:49 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
2. dimensionales array / trennung zwischen model und view1.463meomeo27.09.14 09:12
Re: 2. dimensionales array / trennung zwischen model und vie...773sv0001027.09.14 15:36
Re: 2. dimensionales array / trennung zwischen model und vie...746Kuno6027.09.14 15:41
Re: 2. dimensionales array / trennung zwischen model und vie...788meomeo27.09.14 18:15
Re: 2. dimensionales array / trennung zwischen model und vie...737Manfred X27.09.14 19:36
Re: 2. dimensionales array / trennung zwischen model und vie...738meomeo27.09.14 19:53
Re: 2. dimensionales array / trennung zwischen model und vie...786Manfred X27.09.14 20:11
Re: 2. dimensionales array / trennung zwischen model und vie...765meomeo27.09.14 20:18
Re: 2. dimensionales array / trennung zwischen model und vie...838Manfred X27.09.14 20:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel