vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Fortgeschrittene Programmierung
Variabel x mal erstellen 
Autor: jogi15
Datum: 17.12.06 18:47

hi

ich programmiere einen Turniermanager und möchte gerne für jede Mannschaft eine Variabel erstellen.

Das ist der Code der in jeder Mannschaft stehen soll:

Type Mannschaft
    ManschaftsName As String
    Körbe As Long
    DifferenzKörbe As Integer
    Punkte As Integer
   End Type
Dieser Code soll dann neu erstellt werden: (Nr. = mannschaftzahl)
Public Mannschaft(Nr) As Mannschaft
was muss ich ändern?

gruß

jogi15
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: Dirk
Datum: 17.12.06 22:58

Das ist kein Code, das ist eine Definition. Ich denke diese Art Fragen gehört wohl ins Anfängerforum.

Wenn du ein Array anlegen willst geht das:

Public Mannschaften(1 To "Anzahl Mannschaften") As Mannschaft

Wenn's dynamisch sein soll:

Public Mannschaften() as Manschaft

und dann im Code
Redim Manschaften(1 To x) 'x dann die Anzahl auch als Vriable möglich

Vielleicht setzt du dem Typ noch ein t davor: also tMannschaft

Gruß
Dirk

--
?Get it right the first time

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: jogi15
Datum: 18.12.06 17:12

hi

irgendwas mach ich falsch!!

Hier ein Code ausschnitt:
Vom Modul
Type Mannschaft
    MannschaftsName As Integer
    Körbe As Long
    DifferenzKörbe As Integer
    Punkte As Integer
    SpielerName() As String
End Type
 
 
Public Mannschaften As String
Public Mannschaft() As Mannschaft
Private Sub Form_Load()
Mannschaften = "0"
End Sub
Wenn man eine Mannschaft hinzufügt
Private Sub cmd_addManschaft_Click()
Dim MannschaftsName As String
Mannschaften = Mannschaften + 1
 
ReDim Manschaften(0 To Mannschaften)
 
MannschaftsName = InputBox("Bitte Mannschaftsname eingeben.")
 
lst_Manschaft.ItemsAdd MannschaftsName
Mannschaft(Mannschaften).[u]MannschaftsName  = MannschaftsName <-- Hier _
  tretet der Fehler auf 7: typen unverträglich)
 
frm_rang.lst_rang.RowsAdd , ",", Mannschaft(Mannschaften).MannschaftsName
End Sub
Gruß

jogi15
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: AndyOG
Datum: 18.12.06 18:19

Hi,
oben im Typ deklarierst du den Mannschaftsnamen als Integer und unten versuchst du darin einen String zuspeichern:

Das geht aber niiiiich

 Type Mannschaft
    MannschaftsName As Integer
    Körbe As Long
    DifferenzKörbe As Integer
    Punkte As Integer
    SpielerName() As String
End Type
 
Dim MannschaftsName As String
Mannschaft(Mannschaften).MannschaftsName  = MannschaftsName

Mit freundlichen Gr??en,
Andy G.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: jogi15
Datum: 18.12.06 19:08

hi

stimmt! Funkt aber trotzdem net!

gruß

jogi15
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: Stefan Linder
Datum: 19.12.06 01:07

Hallo jogi15,

versuche doch mal, eindeutige Namen für deine Variablen zu verwenden, dann kann man nicht so viel verwechseln.

Mannschaften solltest du als Integer oder Long deklarieren, nicht als String. Darin willst du ja die Anzahl der Mannschaften speichern. Oder?

Das Redim für Manschaften kann nicht funktionieren, weil die Variable vorher ja gar nicht definiert war (Schreibfehler?). Mannschaften war zudem als String definiert. Da meinst du wohl Mannschaft (das meine ich mit der Verwechslungsgefahr).

Verwendest du Option Explicit? Solltest du auf jeden Fall machen. Ach ja, beim Redim solltest du Redim Preserve verwenden, ansonsten wird das Array neu dimensioniert und die vorherigen Werte werden gelöscht.

Gru?, Stefan

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: jogi15
Datum: 26.12.06 14:10

hi

sorry dass ich so lange nicht mehr geschrieben habe!!

-Ja ich benutze überall (Formen, Klassenmodule, Module, ....) Option Explicit

- Das mit dem Redim Preserve funkt net

Jetzt wünsche ich noch ein letzten frohen Weihnachtstag und einen Guten Rutsch ins Jahr 2007 - (und dass vb@rchiv weiterhin so super bleibt wie es ist)

Gruß

jogi15
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: Stefan Linder
Datum: 27.12.06 06:09

Hi,

versuch es doch einfach mal so:

Type mMannschaft
    MannschaftsName As String
    Körbe As Long
    DifferenzKörbe As Integer
    Punkte As Integer
    SpielerName() As String
End Type
 
Public Mannschaft() As mMannschaft
Option Explicit
 
Public AnzMannschaften As Integer
 
 
Private Sub Form_Load()
AnzMannschaften = 0
End Sub
 
 
Private Sub cmd_addManschaft_Click()
AnzMannschaften = AnzMannschaften + 1
 
ReDim Preserve Mannschaft(AnzMannschaften)
 
Mannschaft(AnzMannschaften).MannschaftsName = InputBox("Bitte Mannschaftsname" & _
  "eingeben.")
 
lst_mannschaft.AddItem Mannschaft(AnzMannschaften).MannschaftsName
 
'lst_rang.RowsAdd , ",", Mannschaft(AnzMannschaften).MannschaftsName
End Sub
Was ist lst_rang? Bei der Listbox gibt es kein RowsAdd.

Gru?, Stefan

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Variabel x mal erstellen 
Autor: jogi15
Datum: 01.01.07 16:03

hi Stefan,

Erst einmal Danke. - Es Funkt.


ich benutze die Steuerelemente von coolxp. (http://www.vbmaster.gbadmin.de/home/home.php

... und da heißt es RowsAdd
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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