vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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

Visual-Basic Einsteiger
Re: Richtige Verwendung einer Klasse 
Autor: Manfred X
Datum: 04.11.14 18:53

Ich habe Deinen Code mal auf die Schnelle als Klasse zurechtgebogen.
Nicht getestet, nur anschauen!
Option Explicit
 
Private mGesamtHS As String
Private mGesamtSG As String
Private mGesamtHF As String
 
Public Property Get GesamtHS() As String
     GesamtHS = mGesamtHS
End Property
 
Public Property Get GesamtSG() As String
    GesamtSG = mGesamtSG
End Property
 
Public Property Get GesamtHF() As String
    GesamtHF = mGesamtHF
End Property
 
Public Property Get item(ByVal Index As Long) As clsBestleistungen
    Set item = BestlCol(Index)
End Property
 
Public Property Get count() As Long
   count = BestlCol.count
End Property
 
Public Sub remove(ByVal Index As Integer)
    BestlCol.remove Index
    ermitteln_GesamtHS
    ermitteln_GesamtSG
    ermitteln_GesamtHF
End Sub
 
Private Sub Class_Initialize()
   Set BestlCol = New Collection
End Sub
 
Private Sub Class_Terminate()
   Set BestlCol = Nothing
End Sub
 
 
Private Sub Add(Datum As Date, _
   Name As String, HS As String, _
   SG As String, HF As String)
 
   Dim DSnew As clsBestleistungen
   Set DSnew = New clsBestleistungen
   With DSnew
     .Datum = Datum
     .Name = Name
     .HS = HS
     .SG = SG
     .HF = HF
   End With
   BestlCol.Add DSnew
End Sub
 
 
Public Sub AddItem(Datum As Date, _
   Name As String, HS As String, _
   SG As String, HF As String)
 
   Add Datum, Name, HS, SG, HF
 
   ermitteln_GesamtHS
   ermitteln_GesamtSG
   ermitteln_GesamtHF
End Sub
 
 
Public Sub Bestl_einlesen(Spi As String)
 
   strDSQ = "SELECT * FROM Bestleistungen WHERE Datum=" & Format(Spieltg, _
       "\#yyyy\-mm\-dd\#") & " AND Name='" & Spi & "'"
   Set rsdat = DB.OpenRecordset(strDSQ, dbOpenDynaset)
   With rsdat
      If .EOF = True And .BOF = True Then
         Call Meldanz("Bisher keine Bestleistungen" & _
          "für " & Chr(13) & Spi, 3000): NewBestl.Add Spieltg, Spi, 0, 0, 0
      Else
         .MoveFirst
         Do While Not .EOF
            NewBestl.Add Spieltg, Spi, .Fields(3), .Fields(4), .Fields(5)
            .MoveNext
        Loop
        .Close
      End If
  End With
End Sub
 
Call ermitteln_GesamtHS
Call ermitteln_GesamtSG
Call ermitteln_GesamtHF
Call Bestl_anzeigen
 
Set rsdat = Nothing
End Sub
 
Private Function ermitteln_GesamtHF()
    GesamtHF = ""
    Dim it As clsBestleistungen
    For i = 1 To BestlCol.count
        Set it = BestlCol(i)
        If Not it.HF = "0" Then
            If GesamtHF = "" Then
               GesamtHF = NewBestl.item(i).HF
            Else
               GesamtHF = GesamtHF + "," + NewBestl.item(i).HF
            End If
        End If
    Next
End Function
 
Private Function ermitteln_GesamtSG()
    GesamtSG = ""
    Dim it As clsBestleistungen
    For i = 1 To BestlCol.count
       Set it = BestlCol(i)
       If Not it.SG = "0" Then
          If GesamtSG = "" Then
             GesamtSG = NewBestl.item(i).SG
          Else
             GesamtSG = GesamtSG + "," + NewBestl.item(i).SG
          End If
      End If
    Next i
End Function
 
Private Function ermitteln_GesamtHS()
  GesamtHS = ""
  Dim it As clsBestleistungen
  Dim c As Integer: c = 0
  For i = 1 To BestlCol.count
     Set it = BestlCol(i)
     If Not it.HS = "0" Then c = c + 1
  Next i
  GesamtHS = CStr(c)
End Function
 
 
Private Function Bestl_anzeigen()
    With frmBestl
     .lblBestlSpieler.Caption = NewBestl.item(1).Name
     If NewBestl.GesamtHS <> "0" Then
       .txtHS.Text = NewBestl.GesamtHS
    Else
       .txtHS.Text = ""
    End If
    If NewBestl.GesamtSG <> "0" Then
        .txtSG.Text = NewBestl.GesamtSG
    Else
        .txtSG.Text = ""
    End If
 
    If NewBestl.GesamtHF <> "0" Then
       .txtHFAnzeige.Text = NewBestl.GesamtHF
    Else
       .txtHFAnzeige.Text = ""
    End If
End With
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Richtige Verwendung einer Klasse2.192guenni25503.11.14 12:48
Re: Richtige Verwendung einer Klasse1.479Manfred X04.11.14 06:25
Re: Richtige Verwendung einer Klasse1.378guenni25504.11.14 09:14
Re: Richtige Verwendung einer Klasse1.375Manfred X04.11.14 10:28
Re: Richtige Verwendung einer Klasse1.425guenni25504.11.14 16:49
Re: Richtige Verwendung einer Klasse1.318Manfred X04.11.14 17:24
Re: Richtige Verwendung einer Klasse1.357guenni25504.11.14 17:44
Re: Richtige Verwendung einer Klasse1.336Manfred X04.11.14 18:00
Re: Richtige Verwendung einer Klasse1.318guenni25504.11.14 18:19
Re: Richtige Verwendung einer Klasse1.392Manfred X04.11.14 18:53
Re: Richtige Verwendung einer Klasse1.349guenni25504.11.14 23:12
Re: Richtige Verwendung einer Klasse1.374Manfred X05.11.14 07:35
Re: Richtige Verwendung einer Klasse1.341guenni25505.11.14 16: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