vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
noch immer Klassen 
Autor: norbert55
Datum: 20.04.04 08:49

In jedem Programmierbuch steht, dass Objekte und Klassen das A und O sind und man es damit viel leichter hat, Programme zu schreiben. Auch ich wollte von meinem prozeduralem dBASE Spaghetti-Code nun endlich weg und habe auf meine alten Tage eine Menge Geld (Visual Studio allein schon 1800 EU) investiert, um die Vorzuege zu geniessen. Doch der Knoten will einfach nicht platzen! Hilft mir nochmal jemand?

Problem: Aufruf einer Funktion in einer fremden Klasse. Wie das geht, wenn ich einen Wert zurueckerhalte, hat mir Spike24 beigebracht. Das habe ich geschnallt. Nun habe ich eine Klasse CDateiCopy mit der Funktion cmdCopy (Kopieren mit Fortschrittsanzeige). Das Ding will ich von meinem Form1 aufrufen, in welchem ich ein ProgressBar (Name prgStatus) und ein Label (namens lblDisplay) plaziert habe. Wenn ich cmdCopy in mein Form1 einbaue, läufts wie geschmiert. Nun solls ja aber eine Klasse werden. Also cmdCopy soll aus meinem Form1 aufgerufen werden und hier den/die ProgressBar bedienen. Aber die Klasse CDateiCopy kennt kein prgStatus und lblDisplay. Wie löst man das?
Public Class CDateiCopy
    Public Shared Sub cmdCopy(ByVal strFrom As String, ByVal strTo As String)
        Dim lngFileSize As Long
        Dim intLoopCtr As Integer
        Dim intBufferCount As Integer
        Dim strInByte As String
        Dim i As Integer, k As Integer
        strInByte = Space(256)
        lngFileSize = FileLen(strFrom)
        intBufferCount = lngFileSize / 256
        prgStatus.Minimum = 1
        prgStatus.Maximum = 1 + intBufferCount
        FileOpen(1, strFrom, OpenMode.Binary)
        FileOpen(2, strTo, OpenMode.Binary)
        lblDisplay.Text = "Kopiere... " & strFrom
        lblDisplay.Visible = True
        prgStatus.Visible = True
        For intLoopCtr = 1 To intBufferCount + 1
            FileGet(1, strInByte)
            FilePut(2, strInByte)
            prgStatus.Value = intLoopCtr
            Application.DoEvents()
            For i = 1 To 60000
                k = 1
            Next
        Next intLoopCtr
        FileClose(1)  ' Close file.
        FileClose(2)  ' Close file.
        prgStatus.Visible = False
        lblDisplay.Visible = False
        MsgBox("Copy function complete", MsgBoxStyle.Information)
    End Sub
End Class
Aufruf:
CDateiCopy.cmdCopy("c:\ml\konsult.dbf", "c:\temp\konsult.dbf")

Schon mal vielen Dank für eure Hilfe.
Gruss Norbert
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
noch immer Klassen649norbert5520.04.04 08:49
Re: noch immer Klassen407spike2420.04.04 09:45
Re: noch immer Klassen427norbert5520.04.04 10:31
Re: noch immer Klassen484spike2420.04.04 11:06
Nana Robert (Off-Topic)427Benjamin@vb20.04.04 11:31
Re: noch immer Klassen442norbert5520.04.04 11:34
andere Poster hier 380Benjamin@vb20.04.04 11:38
Re: andere Poster hier 393spike2420.04.04 12:07

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-2025 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