Programmieren mit VBA

Schustrij

Rare-Mob
Registriert
13.02.2008
Beiträge
259
Reaktionspunkte
11
Kommentare
4
Hallo ich habe kommende Woche ein Vorstellungsgespräch als Fachinformatiker Anwendungsentwicklung. Nun wollte ich bei dem Gespräch Punkten und eine kleine Probe von meinem könne mitbringen. Leider ist mein Wissen ein bisschen eingerostet deswegen brauche ich eure Hilfe. Es geht nur um eine Kleinigkeit.

Ich will eine Art Geldautomat programmieren. Ich bin gerade bei der Überprüfung der PIN. ob dieser WErt numerisch ist oder nicht. Ich habe schon viele Varianten durchprobiert aber ich komme nicht auf die Lösung.
Es geht das in eine Variable der eingegebene Wert aus der Inputbox gespeichert werden soll. Dieser soll dann überprüft werden ob der Numerisch ist oder nicht. Aber wenn ich Buchstaben eingebe kriege ich sofort ein Typenunverträglich Error. diese Fehlermeldung soll halt abgefangen werden.

Wäre schön wenn jemand ein Vorschlag hat.
 
Müsste in VBA die Funktion IsNumeric() geben. Könnte aber sein dass die Komma-Werte durchlässt was Du ja auch nicht willst

Und ich will Dich ja nicht deprimieren - aber glaubst Du dass Du mit einer Prüfung ob ein Wert eine Zahl ist oder nicht bei einer Bewerbung für einen Job (oder ist es na AUsbildung?) punktest? O.o
 
Müsste in VBA die Funktion IsNumeric() geben. Könnte aber sein dass die Komma-Werte durchlässt was Du ja auch nicht willst

Und ich will Dich ja nicht deprimieren - aber glaubst Du dass Du mit einer Prüfung ob ein Wert eine Zahl ist oder nicht bei einer Bewerbung für einen Job (oder ist es na AUsbildung?) punktest? O.o

Es geht ja net nur um eine Prüfung. Es soll ein ganzer Geldautomat werden wie man einen von der Sparkasse kennt oder der Volksbank. Dazu gehören ja noch andere Funktionen. Ich denke schon das es einem Chef gefallen wird, wenn man was mitbringt was man so programmiert hat.
 
Kommt ganz auf die Stelle drauf an, auf die du dich beworben hast. Wenn da VBA-Programmierung gemacht wird, kannst du sowas gerne machen.

In den seltesten Fällen wirst du auch gleich nach einer "Arbeitsprobe" gefragt. Wenn, dann bekommst du eine Aufgabe und musst diese (erfolgreich) lösen.
 
Also ich würde auch einfach mal anzweifeln, dass man mit sonem Programm - welches ja ohne Dich beleidigen zu wollen Niveau 9. Klasse Informatik sein müsste - grossartig Punkten kann wenn an Fachinformatiker werden will. Ich kenns eigentlich auch so, dass man ne Aufgabe bekommt. Ich wurde damals nur nach nem Lösungsweg für ne Aufgabe gefragt, also nicht im Detail, sie wollten wohl nur wissen ob ich direkt nen Ansatz finde. Zudem würd ich mir vorab informieren, wo die Schwerpunkte der Firma liegen, also welche Sprachen udn welche Anwendungsbereiche bevor ich was in irgendeiner Sprache schreibe.

Was dein Problem betrifft, so glaube ich, dass dein Datentyp für die Eingabe vllt nicht korrekt gesetzt ist. Ich würde ohne es zu wissen mal schätzen, dass Du Den Eingabecontainer auf INTEGER gesetzt hast. Da Du aber zu dem Zeitpunkt die Eingabe noch nicht kennst wäre es vllt sinnvoller erstmal STRING oder VARIANT zu verwenden wenn Du INTEGER nimmst und jmd zB nen Buchstaben eingibt ist klar, dass die Fehlermeldung kommen muss. Dann mit IsNumeric() zu prüfen und es dann mit dem "Val()" Befehl zu einer Integer Zahl zu machen um weiterzuarbeiten. Naja ich hab schon einige Jahre nicht mehr programmiert und womöglich ist das alles Mumpitz xD aber vllt auch nicht.
 
Lass dir nichts einreden. Ich bin auch Fachinformatiker für Anwendungsentwicklung geworden und konnte so gut wie nichts. Ne Probe, egal, wie billig sie sein mag, zeigt immerhin schon mal, dass du dich damit beschäftigt hast. Bei vielen Firmen wirst du wohl dennoch um einen Einstellungstest nicht herum kommen.

In C# würde das z.b. so aussehen. Ganz billig.

Code:
class Program
	{
 	static void Main(string[] args)
 	{
 	Console.Write(IsNumeric("253fgsdfsd46345").ToString());
 	Console.ReadLine();
 	}
 	private static bool IsNumeric(string value)
 	{
 	string pattern = "0123456789";
 	
 	foreach (char ch in value)
 	{
 	if (pattern.IndexOf(ch) == -1)
 	return false;
 	}
 	return true;
 	}
	}

Könntest natürlich auch Regex verwenden.
 
Zurück