koluschkib
Goto Top

VBS Funktionen

Mahlzeit Admin freunde,

es war so klar wie klarebrühe, dass ich hier wieder ankomme und um hilfe bitte

hab folgendes problem;

ich soll ein script in VBS schrieben, was alle kovertierungsfunktionen beinhaltet.

der erste Ansatz war der von mir, dass ich dementsprechend die erste Konv.funktion mir zu recht bastel.
leider scheitert es am Syntax, der ASC-FUnktion

ich will, dass jemand ein Wort eingibt , zb "Test ", darauf hin soll die funktion greifen und ne MSGBOX einem sagen welche nummer der erste Buchstaben im ASCII Code hat. in diesem fall das "T"
hab schon unzählige versuche gestartet, aber die sau will nicht so wie cih es will

Dim a
a = inputbox ("Bitte geben Sie ein Wort ein!")  
a = ASC ???????

wenn es schon bei der ersten funktion so scheitert, will ich gar nicht wissen wie es bei denn anderen 20 sein wird. vielleicht hat einer von euch ein paar lustige beispiele, die man für die funktionen nehmen kann, um zu demonstireren, wofür sie eben gut ist...


hoffe einer kann mir helfen

koluschki

Content-ID: 140481

Url: https://administrator.de/contentid/140481

Ausgedruckt am: 15.11.2024 um 15:11 Uhr

77559
77559 13.04.2010 um 12:01:25 Uhr
Goto Top
Hallo koluschki,

eine derartige Aufgabe dient im Allgemeinen dazu das DU etwas lernst.

Hilfe zur Syntax findest du in der "script56.chm" Hilfe-Datei.

Hinweise findest du z.Bsp. hier und hier

Gruß
LotPings
koluschkiB
koluschkiB 13.04.2010 um 12:27:07 Uhr
Goto Top
hey Super, danke das du mir nen link zu wiki gepostet hast face-smile

ja lernen würde ich schon was, wenn programmieren eins der tehemen, wäre die mich interssieren würden, ich halte nichts davon und kann mich nicnt wirklich damit anfreunden, zwar blicke ich hin und wieder durch, wie etwas funktioniert, doch leider scheitert esbei mir an der logic. programmieren ist mein absolutes hass thema schlect hin...
werde aber diese .chm datei durchschauen, bei meinem glück werde ich so schlau sein wie vorher face-smile

aber dennoch danke, für deine mühe
koluschkiB
koluschkiB 13.04.2010 um 12:34:24 Uhr
Goto Top
Hilfe zur Syntax findest du in der "script56.chm" Hilfe-Datei.


hey super, zwar kann man die datei öffnen. doch leider gibt es keinen inhalt, natürlich fand ich bei deinem ersten link, gleich ne lösung um das problem zu beheben, ärgerlicherweise muss man in der registry ein paar werten ändern, was wiederrum bedeutet, dass es von mir nicht machbar ist, da ich keine admin rechte habe...
somit, waren und sind deine hilfestellungen für die katz...
bastla
bastla 13.04.2010 um 12:41:22 Uhr
Goto Top
Edi.Pfisterer
Edi.Pfisterer 13.04.2010 um 13:28:22 Uhr
Goto Top
Hallo koluschkiB!

Gleich vorweg: Ich will Dir nicht den Mut rauben, sondern Dir helfen!!!

wenn programmieren eins der tehemen, wäre die mich interssieren würden, ich halte nichts davon und kann mich nicnt wirklich damit anfreunden,

Das ist Schade! Ich weiss ja nicht, welche Ausbildung Du machst, aber vermute mal, das sie darauf abzielen soll, größere Infrastrukturen zu administrieren...
(Du wirst ja nicht im Internet-für-Pensionisten-und-Hartz4-Singles sitzen...)

Die schelchte Nachricht gleich vorweg:
Du wirst um das basteln von Skripts nicht herumkommen (ausser, du kaufst Dir gute Turnschuhe und machst alles manuell...).
Freunde Dich besser doch mit der Materie an! Auch wenn die Einstiegsbeispiele für Dich aktuell noch wenig praktischen Sinn ergeben, zielen sie dennoch darauf ab, dass Du später komplexe Aufgabenstellungen mit wenigen Zeilen Code lösen wirst können...

Nun zu Deinem Problem:
Wie Dir bastla schon mitgeteilt hat, gibts diese Library. Dort findest Du - neben vielen Anderem - den Befehl ASC. Der ist Dein Freund!
Hättest Du aber auch selber finden können... http://www.gidf.de/vbs+ASCII
Dann brauchst Du noch eine Schleife, die dir das Ergebnis für jeden Buchstaben liefert.
DO WHILE bzw. FOR NEXT sind hier zu erwähnen.
Und dann wäre es noch praktisch, zu wissen, wie lange das Wort ist bzw. wieviele Buchstaben es hat...
hier ist LEN ein feines Ding...

Versuch Dein Glück, und versuche vor allem, Dich nicht von Deinem Ärger und Deiner Abscheu ablenken zu lassen, sondern das grosse Ganze hinter den Übungen zu erkennen (die zugegebenermassen aktuell noch wirklich komplett sinnfrei sind...). Aller Anfang ist halt schwer..

lg
Edi
koluschkiB
koluschkiB 13.04.2010 um 13:30:54 Uhr
Goto Top
hey bastla,

danke für die hilfe. hab die seite auch schon gefunden. aber es bringt mich kein stück weiter

hab schon mal bisschen weiter gebastelt

und so müsste es praktisch aussehen

dim a
a = inputbox ("Bitte geben sie ein Wort ein!","Ihr Wort!")  
msgbox "Ihr Wort lautet "&a&",und der erste Buchstabe entspricht laut ASCII-Code "ASC(&a&)",0,"Ihr Wort!"  

aber es scheitert

alle anderen beispiele die ich irgendwo gefunden habe, ob bei msdn oder sonst wo, kriege ich syntaxfehler. was ja dazu führt, dass es mir doch nicht hilft

gruß

koluschki
koluschkiB
koluschkiB 13.04.2010 um 13:52:51 Uhr
Goto Top
hey

ich brauch keine schleife, die das ganze wort in ascii umbastellt. es reicht schon der erste Buchstaben. nehmen wir an man gibt in die Inputbox "Test" ein, dannn will ich nur das er mir das "T" umbastelt.
es ist für mich einfach und vorallem schneller, einfach ein Buch aufzuschlagen und mir denn buchstaben direkt aus der ASCII tabelle raus zu suchen, dauer 5min. davon 4,5min im verzeichniss nach ASCII suchen und 30sekunden in der tabelle. an dem blöde programmierding sitze ich schon mehr als ne stunde, was überhaupt nicht im verhältnis seteht...
komischerweise ist es bei jeder programmieraufgabe, die ich kriege. der umständliche weg ist für mich der schnellst face-smile

bin aber noch guter hoffnung, eine lösung zu finden. hab natürlich auch schon andere funktionen gebastelt, zb Date Time Timer usw. die auch funktionieren, aber es gibt anscheinend eben welche, die dazu gemacht worden sind, mich in denn wahnsinn zu treibenb...


gruß

koluschki
MonoTone
MonoTone 13.04.2010 um 14:08:53 Uhr
Goto Top
Fast richtig..

dim a
a = InputBox ("Bitte geben sie ein Wort ein!","Ihr Wort!")  
MsgBox "Ihr Wort lautet  "& a & " ,und der erste Buchstabe entspricht laut ASCII-Code " & Asc(a)  

die & Zeichen sind string 'Verbinder'. Asc(Char) gibt dir den Ascii Wert des ersten chars wieder.
ChrFriedel
ChrFriedel 13.04.2010 um 14:12:50 Uhr
Goto Top
Ich hab dir das für das eine Bsp mal ausformuliert. Allerdings nur weil du geschrieben hast das du das für viele Funktionen machen sollst ;)

Also in dem Code den du gepostet hast ist der Fehler in der Syntax. Du musst Funktionen und Strings trennen. Das geschieht mithilfe der & wie du schon vermutest.
Aussehen müsste das aber so:

msgbox "Ihr Wort lautet  " & a & " ."  

Der Rest mit dem ersten Buchstaben funktioniert dann nur über eine Mischung au Mid (oder Left) und ASC. Hier mal das Bsp:

Dim Wort  'Variable in der die Eingabe gespeichert wird  
Dim Anzahl 'hier speichern wir später die Länge des eingegebenen Wortes  
Dim i 'Schleifenvariable  

Dim aktBuchst 'für ausführliches Bsp  
Dim aktAscii  'für ausführliches Bsp  

Wort=InputBox("Bitte geben Sie hier ein Wort ein","Eingabe") 'Kennst du ja  
Anzahl=Len(Wort) ' Len ist eine Stringfunktion und gibt die Länge des Strings zurück  

'jetzt brauchen wir eine schleife die jeden Buchstaben einzelnen als Ascii-Wert ausgibt. Das muss sein da ASC() nur für einen Buchstaben funktioniert.  
For i = 1 To Anzahl

		'MsgBox(Asc(Mid(Wort,i,1))) 'Das wäre eine kurze schreibweise  
		
		'ausführlich  
		aktBuchst = Mid(wort,i,1) ' MID(string,Anfangsstelle im String, Länge des Teilstrings) -> also MID("test",2,2) ergibt "es"  
		aktAscii= Asc(aktBuchst) 
		
		MsgBox(aktAscii)
		

Next


So ich hoffe das hilft dir das Grundprinzip zu verstehen und die anderen Funktionen alleine umsetzen zu können.

EDIT: Achso es ging doch nur um den ersten Buchstaben des Wortes... naja egal. Das Bsp oben zeigt den Ascii code für jeden Buchstaben
koluschkiB
koluschkiB 13.04.2010 um 14:18:48 Uhr
Goto Top
Ich habs geschafft,

es war so billig, dass ich einfachn nicht dahinter gekommen bin

Dim MyNumber, a
a = inputbox ("Bitte geben Sie das Wort ein:")  

MyNumber = Asc(a)

msgbox "Der Erste Buchstaben, ihres wortest entspricht laut ASCii: " &MyNumber  

aber danke...
koluschkiB
koluschkiB 13.04.2010 um 14:26:37 Uhr
Goto Top
Hey Danke,

für die mühe, aber ich habs schon geregelt gekriegt und langsam verstehe ich das prinzip des ganzen. wie sagt man so schön, manchmal sieht man wald vor lauter bäumen nicht.

gruß


koluschki


ps. das war erst der anfang des programmier zeugs, ich melde mich bald wieder bei euch face-smile
ChrFriedel
ChrFriedel 13.04.2010 um 14:55:28 Uhr
Goto Top
Gern geschehen. Und wenn die ersten Schritte verstanden sind... wer weiß ob du nicht irgenwann deine Aussage von oben mal revidierst und feststellst das Programmieren sogar Spaß machen kann ;)

Ansonsten würde ich dir noch raten mit solchen Aussagen wie oben ein wenig vorsichtiger umzugehen... vorallem wenn du in nem Forum nach Rat und Hilfe zur Programmierung fragst.
Ich denke mal niemand hört unbedingt gern das sein Beruf / Hobby ein Hassthema oder uninteressant ist und beantwortet im gleichen Atemzug gern Fragen dazu ;)

Grüße
bastla
bastla 13.04.2010 um 16:25:16 Uhr
Goto Top
@ChrFriedel
Sehr schön erklärt (und die Mid()-Funktion wird koluschkiB sicher auch noch brauchen können) ... face-smile
Nur als Anmerkung zu den Variablendeklarationen: So richtig sinnvoll werden die, wenn Du dem Script auch noch ein
Option Explicit
spendierst.

Grüße
bastla
ChrFriedel
ChrFriedel 13.04.2010 um 16:57:22 Uhr
Goto Top
Vielen Dank face-big-smile

und recht hast du natürlich. Option Explicit ist gerade für Anfänger eine wichtige Option.

Für alle die nicht wissen was es bedeutet noch schnell die Erklärung was diese Option bedeutet:

Der Vorteil dieser Option ist, dass bereits beim Kompilieren des Programms alle Variablen auf eine Deklaration überprüft werden.
z.B. werden Tippfehler im Code gnadenlos reklamiert. Es kann also nicht passieren, dass ein Programm auf Grund nicht deklarierter Variablen nicht funktioniert.