Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

VB 2008 Verständnisproblem

Frage Entwicklung VB for Applications

Mitglied: Cadsys-Chemnitz

Cadsys-Chemnitz (Level 1) - Jetzt verbinden

12.05.2009, aktualisiert 12:19 Uhr, 5175 Aufrufe, 4 Kommentare

Ich arbeite seit rund einem Jahr mit Visual Basic , seit 3 Monaten mit VB 2008. Habe auch schon einige Projekte vollendet wie man ja auch hier im Forum an meinen Beiträgen sehen kann.

Jedoch habe ich ein Grundsätzliches Veständigungsproblem an dem ich bei jedem neuen Projekt wieder viel Zeit verliere und teilweise verzweifle. Das Problem dabei ist das ich in keinem Buch oder in keiner Online Anleitung hier dafür Hilfe gefunden habe.

Es geht um Verweise und Declarierung von Anweisungen.

Bsp. ist ein Code von Bastla. Ich hätte hier auch jeden anderen Code aus dem Forum nehmen können.

01.
 
02.
'TidyFileNames.vbs 
03.
 
04.
sOrdner = "D:\Test" 
05.
sLog = "D:\Log.txt" 
06.
sPosList = ".0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" 
07.
sDelim = ";" 
08.
 
09.
If WScript.Arguments.Count > 0 Then sOrdner = WScript.Arguments(0) 
10.
 
11.
Set fso = CreateObject("Scripting.FileSystemObject") 
12.
 
13.
Set oLog = fso.OpenTextFile(sLog, 2, True) 
14.
ProcessFolder fso.GetFolder(sOrdner) 
15.
oLog.Close 
16.
WScript.Echo vbCrLF & "Done." 
17.
 
18.
Sub ProcessFolder(ThisFolder) 
19.
sPath = ThisFolder.Path 
20.
If InStr(sPath, "System Volume Information") = 0 Then 
21.
	WScript.Echo sPath 
22.
	For Each File In ThisFolder.Files 
23.
		sOld = File.Name 
24.
		sNew = "" 
25.
		For i = 1 To Len(sOld) 
26.
			sChar = Mid(sOld, i, 1) 
27.
			If InStr(sPosList, sChar) Then sNew = sNew & sChar 
28.
		Next 
29.
		oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew 
30.
 
31.
		'Um die Umbenennung tatsächlich durchzuführen, das 
32.
		'Kommentarzeichen vor der nächsten Zeile entfernen: 
33.
		'If sNew <> "" Then File.Name = sNew 
34.
	Next 
35.
	For Each Folder In fso.GetFolder(ThisFolder).SubFolders 
36.
		ProcessFolder Folder 
37.
	Next 
38.
End If 
39.
End Sub 
40.
 
Ich habe dieses Bsp. gewählt weil ich erst neulich etwas ähnliches nur mit Ordnernamen statt Dateinamen hatte.

Wenn ich jetzt diesen Code als Vorlage nehmen würde um dieses Programm zum testen sieht das ganze dann so aus:


01.
Fehler	1	Der Name "sOrdner" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	39	9	Visi Editor 
02.
Fehler	2	Der Name "sLog" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	40	9	Visi Editor 
03.
Fehler	3	Der Name "sPosList" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	41	9	Visi Editor 
04.
Fehler	4	Der Name "sDelim" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	42	9	Visi Editor 
05.
Fehler	5	Der Name "WScript" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	44	12	Visi Editor 
06.
Fehler	6	Der Name "sOrdner" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	44	45	Visi Editor 
07.
Fehler	7	Der Name "WScript" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	44	55	Visi Editor 
08.
Fehler	8	Der Name "fso" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	46	9	Visi Editor 
09.
Fehler	9	Der Name "oLog" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	48	9	Visi Editor 
10.
Fehler	10	Der Name "fso" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	48	16	Visi Editor 
11.
Fehler	11	Der Name "sLog" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	48	33	Visi Editor 
12.
Fehler	12	Der Name "fso" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	49	23	Visi Editor 
13.
Fehler	13	Der Name "sOrdner" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	49	37	Visi Editor 
14.
Fehler	14	Der Name "oLog" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	50	9	Visi Editor 
15.
Fehler	15	Der Name "WScript" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	51	9	Visi Editor 
16.
Fehler	16	Eine Anweisung kann nicht innerhalb eines Methodentexts verwendet werden. Das Methodenende wird angenommen.	 
17.
Fehler	17	Der Name "sPath" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	54	9	Visi Editor 
18.
Fehler	18	Der Name "sPath" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	55	18	Visi Editor 
19.
Fehler	19	Der Name "WScript" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	56	13	Visi Editor 
20.
Fehler	20	Der Name "sPath" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	56	26	Visi Editor 
21.
Fehler	21	Der Name "sOld" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	58	17	Visi Editor 
22.
Fehler	22	Der Name "sNew" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	59	17	Visi Editor 
23.
Fehler	23	Der Name "sOld" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	60	34	Visi Editor 
24.
Fehler	24	Der Name "sChar" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	61	21	Visi Editor 
25.
Fehler	25	Der Name "sOld" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	61	33	Visi Editor 
26.
Fehler	26	Der Name "sPosList" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	62	30	Visi Editor 
27.
Fehler	27	Der Name "sChar" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	62	40	Visi Editor 
28.
Fehler	28	Der Name "sNew" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	62	52	Visi Editor 
29.
Fehler	29	Der Name "sNew" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	62	59	Visi Editor 
30.
Fehler	30	Der Name "sChar" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	62	66	Visi Editor 
31.
Fehler	31	Der Name "oLog" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	17	Visi Editor 
32.
Fehler	32	Der Name "sPath" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	32	Visi Editor 
33.
Fehler	33	Der Name "sDelim" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	40	Visi Editor 
34.
Fehler	34	Der Name "sOld" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	49	Visi Editor 
35.
Fehler	35	Der Name "sDelim" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	56	Visi Editor 
36.
Fehler	36	Der Name "sNew" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	64	65	Visi Editor 
37.
Fehler	37	Der Name "fso" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	70	32	Visi Editor
Hier hört mein Verständnis auf, ich kann zwar mittlerweile den Code so lesen das ich Ihn auf anhieb verstehe und weiss was er macht, jedoch scheitere ich immer bei der Declarierung.
Bei oberen Beispiel würde ich so anfangen das ich folgende Zeilen einfüge.

01.
 
02.
 
03.
        Dim WScript As WSHControllerLibrary.WSHController 
04.
        Dim fso As FileSystemObject 
05.
        Dim sOrdner As String 
06.
        Dim sLog As String 
07.
        Dim sPosList As String 
08.
        Dim sDelim As String 
09.
usw... 
10.
 
Jedoch brauche ich so ewig lange bis das ganze mal läuft, ich habe das Gefühl das ich es mir unnötig schwer mache. Vorallem weil in keinem Buch oder in keiner Onlineanleitung oder Workshop, Forum etc. auch nur Ansatzweise darüber was beschrieben steht.

Kann doch nicht sein das jedem das auf anhieb klar ist wie er was declarieren muss bzw. welche Verweise er hinzufügen muss da mit bestimmte Anweisungen überhaupt funktionieren.


Holt mich bitte aus meinem tiefen schwarzen Loch



Mit freundlichen Grüßen Tino
Mitglied: godlie
12.05.2009 um 12:49 Uhr
Hallo Tino,

also das du alles Deklarieren musst stimmt eig. schon so.
Du musst deinem Compiler ja mitteilen mit was er es so zu tun bekommt.

evtl. hilft dir diese Beschreibung grüße
Bitte warten ..
Mitglied: Cadsys-Chemnitz
12.05.2009 um 13:32 Uhr
Danke Dir erstmal godlie,

die Beschreibung hilft mir schonmal weiter. Jedoch ist mein Problem eher die richtige Declaration zu finden.


Bsp.:

01.
 
02.
Fehler	5	Der Name "WScript" wurde nicht deklariert.	C:\Visi Editor\Visi Editor\Visi Editor\Editor.vb	44	12	Visi  
03.
 
wenn ich

DIM WScript as Object

zufüge verschwindet die Fehlermeldung aber funktionieren tut es nicht, erst wenn ich

Dim WScript As WSHControllerLibrary.WSHController

schreibe. Weil er WScript ja sonst nicht kennt. Das zum Beispiel habe ich nur über umständliche Umwege herausgefunden. Und da ich davon ausgehe das das bei Euch auch nicht zum angeborenen Grundwissen gehört, frag ich mich wie ich wenn ich vor ähnlichem Problem stehe die richtige Declarierung finde.

Bei Verweisen ist es auch so hab am Anfang nicht gewusst zu welchen Verweis WScript gehört. Jetzt weiss ich es zum COM Modul : "Windows Script Host Object Model" auch dafür hab ich fast 2h vergeudet.
Bitte warten ..
Mitglied: 76109
12.05.2009 um 15:50 Uhr
Hallo Cadsys-Chemnitz,

erstmal musst Du unterscheiden, schreibst Du VB oder VBS.

Da ich keine VB-Umgebung habe, kann ich Dir nur ahand eines Beispiels den Unterschied zwischen VBA und VBS erläutern, wobei Deklarationen in VB zumindest ähnlich wie in VBA erfolgen müssten.


In VBS - Bibliothek Dateifunktionen:
01.
Dim Fso, File 
02.
Set Fso = CreateObject("Scripting.FileSystemObject") 'Bibliothek Dateifunktionen .WriteLine, .ReadLine usw. 
03.
Set File = Fso.OpenTextFile(...)

In VBA - Bibliothek Dateifunktionen:
01.
Dim Fso As Object, File As TextStream 
02.
Set Fso = CreateObject("Scripting.FileSystemObject") 'Bibliothek Dateifunktionen .WriteLine, .ReadLine usw. 
03.
Set File = Fso.OpenTextFile(...)
oder:
01.
Objectkatalog > Verweise > Microsoft Scripting Runtime - Auswählen importieren 
02.
Dim Fso As New FileSystemObject, File As TextStream 
03.
Set File = Fso.OpenTextFile(...)
In VB 2008 Bibliothek Dateifunktionen vermutlich ähnlich wie in VBA ???:
01.
Objectkatalog > Verweise > Microsoft Scripting Runtime - Auswählen importieren 
02.
Dim Fso As New FileSystemObject, File As TextStream ???
Für Deklarationen suche unter Datentypen in der Hilfe z.B.:

Dim Text As String
Dim KleineZahl As Integer
Dim GrosseZahl As Long
Dim KommaZahl As Double
Dim KommaZahl As Decimal
Dim Waehrung As Currency
Dim Datum As Date
Dim Zeit As Date
Dim AlleTypen As Variant
Dim Datei As TextStream
Dim Obj As Object

Für Funktionen suche in Objectkatalog-Hilfe


Gruß Dieter
Bitte warten ..
Mitglied: Cadsys-Chemnitz
19.05.2009 um 09:19 Uhr
Danke dir für die Hilde,

hat mir schon gut geholfen , hab immer rnoch schwierigkeiten , aber das wird schon stück für stück. Schneller gehts auf jeden Fall, will ja nicht immer Stunden investieren für Sachen die in 5min erledigt sind.


Ich setze den Beitrag auf gelöst , und übe noch ein bisschen.
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...