Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Label Caption zur Laufzeit ändern und speichern (VB6)

Mitglied: 23866

23866 (Level 1)

26.01.2006, aktualisiert 06.02.2006, 10594 Aufrufe, 6 Kommentare

Label Caption zur Laufzeit ändern und speichern
Dieser Sourcecode kann frei verwendet werden

Dieses Tutorial bezieht sich auf Visual Basic 6 !

Auf der Suche nach einer Möglichkeit die Label Caption zur Laufzeit zu ändern habe ich mir folgende Variante überlegt. Wahrscheinlich gibt es noch eine andere bessere oder einfachere Möglichkeit aber diese Variante funktioniert auch.

Um die Label Caption beim nächsten Programmstart wieder auf dem letzten Stand zuhaben, werden die Werte in einer Textdatei (setting.txt) gespeichert.
Falls die Datei (setting.txt) nicht existiert wird sie automatisch angelegt.

Also, alles was wir benötigen ist folgendes:

1. Auf Form1:
Einen Button (Command1) mit Caption "beenden und speichern"
Einen Button (Command2) mit Caption "Reset alle Labels"
6x ein Label Control (Label1) mit Index von 0 - 5

Und folgenden Code für Form1:

Option Explicit
Public ind As Integer
Dim setting As String
Dim F As Integer

Private Sub Command1_Click()
saveSet
Me.Hide
Unload Me
End Sub

Private Sub Command2_Click()
For ind = 0 To Label1.Count - 1
Label1(ind).Caption = "leer"
Next
End Sub

Private Sub Form_Load()
setting = App.Path & "\Setting.txt"
If FileExists(setting) = True Then
readSet
Else
For ind = 0 To Label1.Count - 1
Label1(ind).Caption = "leer"
Next
Call MsgBox("Setting.txt konnte nicht gefunden werden und wurde neu angelegt ", vbOKOnly + vbExclamation + vbSystemModal + vbDefaultButton1, "Hinweis - Setting.txt")
saveSet
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
saveSet
End Sub

Private Sub Label1_Click(Index As Integer)
ind = (Index)
Load Form2
Form2.Show
End Sub

Public Function saveSet()
'Settings.txt Speichern
Dim F As Integer
F = FreeFile
setting = App.Path & "\Setting.txt"
Open setting For Output As #F
Print #F, Label1(0).Caption
Print #F, Label1(1).Caption
Print #F, Label1(2).Caption
Print #F, Label1(3).Caption
Print #F, Label1(4).Caption
Print #F, Label1(5).Caption
Close F
End Function

Public Function readSet()

setting = App.Path & "\Setting.txt"
'Settings.txt einlesen
Dim F As Integer
Dim Zeile0 As String
Dim Zeile1 As String
Dim Zeile2 As String
Dim Zeile3 As String
Dim Zeile4 As String
Dim Zeile5 As String
F = FreeFile
Open setting For Input As #F
Line Input #F, Zeile0
Line Input #F, Zeile1
Line Input #F, Zeile2
Line Input #F, Zeile3
Line Input #F, Zeile4
Line Input #F, Zeile5

'Settings aus Settings.txt zuordnen
Label1(0).Caption = Zeile0
Label1(1).Caption = Zeile1
Label1(2).Caption = Zeile2
Label1(3).Caption = Zeile3
Label1(4).Caption = Zeile4
Label1(5).Caption = Zeile5
Close F
End Function

Public Function FileExists(ByVal sFile As String) As Boolean
'Der Parameter sFile enthält den zu prüfenden Dateinamen
Dim Size As Long
On Local Error Resume Next
Size = FileLen(sFile)
FileExists = (Err = 0)
On Local Error GoTo 0
End Function

Auf Form2 benötigen wir:
Eine Textbox (Text1)
1 Button (Command1) mit Caption "Caption ändern"
1 Button (Command2) mit Caption "Abbruch"

Und folgenden Code für Form2:

Option Explicit
Dim n As String
Dim save As String

Private Sub Command1_Click()
Form1.Label1(n).Caption = Text1.Text
save = Form1.saveSet
Me.Hide
Unload Me
End Sub

Private Sub Command2_Click()
Me.Hide
Unload Me
End Sub

Private Sub Form_Load()
n = Form1.ind
End Sub
Mitglied: 16568
04.02.2006 um 18:43 Uhr
Wer programmiert, weiß, daß es unnötig ist, so eine ellenlange Prozedur zu schreiben...


Lonesome Walker
Bitte warten ..
Mitglied: 23866
04.02.2006 um 20:41 Uhr
Gut....
und wie würde eine kürzere Variante aussehen ?
Bitte warten ..
Mitglied: PLONK
06.02.2006 um 00:17 Uhr
...hmm, man könnte zum Beispiel die Werte deiner Captions in der Registry speichern.
Bitte warten ..
Mitglied: 16568
06.02.2006 um 09:20 Uhr
Hey Plonk,

ohn jetzt mal auf Deinen Nick einzugehen, aber

Du bist mir irgendwie sympathisch.



Lonesome Walker
Bitte warten ..
Mitglied: PLONK
06.02.2006 um 10:07 Uhr
...ups, ja ? Wie komm ich zu dieser Ehre ?
Bitte warten ..
Mitglied: PLONK
06.02.2006 um 14:40 Uhr
...hab mich nochmal schlau gemacht, für die die es interessiert.

Also man könnte diesen Teil hier:
setting = App.Path & "\Setting.txt"
'Settings.txt einlesen
Dim F As Integer
Dim Zeile0 As String
Dim Zeile1 As String
Dim Zeile2 As String
Dim Zeile3 As String
Dim Zeile4 As String
Dim Zeile5 As String
F = FreeFile
Open setting For Input As #F
Line Input #F, Zeile0
Line Input #F, Zeile1
Line Input #F, Zeile2
Line Input #F, Zeile3
Line Input #F, Zeile4
Line Input #F, Zeile5

'Settings aus Settings.txt zuordnen
Label1(0).Caption = Zeile0
Label1(1).Caption = Zeile1
Label1(2).Caption = Zeile2
Label1(3).Caption = Zeile3
Label1(4).Caption = Zeile4
Label1(5).Caption = Zeile5
Close F


so abkürzen:


'festlegen der settingsdatei und pfad
setting = App.Path & "\Setting.txt"
'wenn überhaupt vorhanden
if dir$(setting)<>"" then
'open
f=freefile
i=-1
open setting for input as #f
'nach und nach alle settings einlesen...
do
i=i+1
line input#f, label(i).caption
'bis am dateiende angekommen
loop until eof(f)
close #f
endif


Das geht nicht so sehr verschwenderisch mit den Variablen um, außerdem kann man das als Public-Function einbinden, um allgemein Labels mit neuen Werten zu füllen.
Bitte warten ..
Ähnliche Inhalte
Visual Studio

Export eines Projekts mit List and Label 18

Frage von ForgottenRealmVisual Studio

Moin :) In meinem Projekt setze ich List & Label 18 zum Drucken von Listen ein. Ich habe, nach ...

Netzwerkprotokolle

MPLS Label Distributing Protocoll

Frage von battermanNetzwerkprotokolle1 Kommentar

Hallo Leute, ich muss da mal was wegen dem Labl Distributing Protocoll fragen. Also: Wenn ein Label Switched Path ...

Visual Studio

Bewegtes Label Visual Basic

gelöst Frage von Cougar77Visual Studio1 Kommentar

Guten Abend, ich versuche mich grade ein bisschen an VB. An sich würde ich gerne ein beliebiges Element (Label, ...

Microsoft

Label per Dateiaufruf drucken

gelöst Frage von michaelzMicrosoft3 Kommentare

Hallo zusammen! Ich möchte mit einem Brother QL-500 Etikettendrucker per Batch-Datei Ausdrucke tätigen. Mache ich im Explorer auf eine ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 1 TagHumor (lol)5 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 2 TagenWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 2 TagenAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server21 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft20 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet16 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...