# IP Eingabemaske



## galdasc (11. April 2003)

hi

gibt es ein IP eingabefeld?? ich habs mit dem maskedit controll versucht, geht aber nicht so wie ich es will.

thx

-/cu\-


----------



## Zorck (11. April 2003)

Meinst du so ein Ding, wie es bei Windows ist??

Das lässt sich doch bestimmt mit drei Textboxen realisieren!


----------



## Grimreaper (11. April 2003)

Wohl eher mit vier Textboxen.
Musst nur überprüfen dass in jede Textbox eine Zahl (IsNumeric) eingegeben wird, die zwischen 0 und 255 liegt.
Oder alles in eine Textbox eingeben und mit Split vorher Eingabe aufteilen.

mfg Grimreaper


----------



## galdasc (12. April 2003)

> Meinst du so ein Ding, wie es bei Windows ist??



ja genau, aber ms hat doch auch nur EINE textbox genommen und keine 4 (zumindest bei XP)??

und wie soll das mit split genau gehen?? ich kann mir nicht vorstellen, was du meinst.

DANKE!!

-/cu\-


----------



## Dario Linsky (12. April 2003)

Für diese IP-Textbox müsste es eigentlich ein fertiges Control geben. Zumindest gibt es das bei VC++ bzw. in der MFC. Ich weiss aber nicht, in welcher OCX-Datei Du danach suchen musst, vielleicht weiss das aber jemand aus dem C++-Forum?


----------



## Grimreaper (12. April 2003)

Alles in eine Textbox eingeben lassen. Dann mit folgendem Code überprüfen, ob IP ok ist:

```
Function CheckIP(IP as String) as Boolean
     Dim Params, n as Integer
     Params() = Split(IP,".")
     If UBound(Params)=3 Then
           For n=0 to 3
                If Not (Params(n) > -1) and (Params(n) < 256 then
                     MessageBox Prompt:="Fehlerhafte Eingabe. Zahlen müssen zwischen 0 und 255 liegen"
                CheckIP = False
                Exit Function
                End If
           Next
     Else
        MessageBox Prompt:="Fehlerhafte Eingabe. IP muss aus vier zahlen bestehen"
        CheckIp=False
        Exit Function
     End If
     CheckIP=True
End Function
```

So, das müsste so eigentlich funzen. Das kann ich leider nicht garantieren, weil ich im Moment kein VB drauf habe und das jetzt ohne auszuprobieren geschrieben habe.

mfg Grimreaper


----------



## Thomas Darimont (12. April 2003)

Servus!

Geht dass denn nicht noch viel einfacher...?

Mit nem Eingabeformat ?? Schaut mal nach, obs da sowas gibt...
(muss nach gestrigem Plattencrash wieder alles neuinstallieren :-( )
Format wäre dann ...
##0.##0.##0.##0 

Versuchts mal!

Gruss Tom


----------



## Dario Linsky (12. April 2003)

Bei der Variante mit dem MaskEdit kannst Du Dir zwar evtl. einiges an Code sparen, müsstest aber immer noch überprüfen, ob die einzelnen Teile der IP nicht grösser als 255 sind.
Wenn zufällig jemand hier reingucken sollte und VC++ installiert hat, könnte er ja mal sehen, in welcher Datei das entsprechende Control liegt. Das gibt es nämlich und wird auch von Windows öfters mal verwendet:


----------



## galdasc (13. April 2003)

hi and thx

ich meinte genau die textbox, die lirion im bild angehängt hat, nicht das was grimreaper vorgeschlagen hat, weil ich diese feste eingabemaske möchte. sry -.-

falls mir jemand sagt, wo man sowas in VC++ finden kann, kann ich mal bei nem kumpel nachschauen, wo des drin ist.



> ##0.##0.##0.##0



ich werds mal so probieren

thx @ all...


-/cu\-


----------



## rambodieschen (16. April 2004)

Hat jemand schon eine gute Lösung für das Problem gefunden? Ich möchte auch gerne eine Eingabemaske so wie auf dem Bild oben.


----------



## vornst (26. Mai 2004)

*Noch nicht gefunden*

He,

ich habe das Control zwar in VC++ gefunden, aber man bekommt irgentwie nicht raus, welches ActiveX ist das ist.

Mit dem Eingabemasken-Steuerelement geht, das Zwar find ich aber nicht schön.

Unter .Net habe ich auch kein solches Control gefunden. Also will ich jetzt mal versuchen ein eigenen ActiveX zu schreiben.

Meld mich dann wenn es fertig ist.


----------



## vornst (26. Mai 2004)

*ActiveX Fertiggestellt*

He Leute,

für alle die eventuell noch eine einfachere Lösung brauchen.

Ich habe dein ActiveX Steuerelement erstellt, welches die Eingabe von *gültigen* IP's zulässt.
 

Es Unterstütz folgende Eigenschaften: 



Get & Let von IP'S
Get & Let von der Vordergrundfarbe
Get & Let von der Hintergrundfarbe

Weiterhin löst es ein Event aus, wenn ich mir die IP Adresse holen möchte, und diese noch nicht vollständig ist.

Ich hoffe euch gefällt mein erstes selbstgeschriebenes Steuerelement.

_Würde mich über Featback freuen, weil ich noch nicht wusste, was es noch für Regel zu beachten gibt, z.B. erste Zahl vor dem Punkt nicht 0 oder so!_

Also ich freu mich auf euer Featback

vornst


----------



## vornst (26. Mai 2004)

Sorry,

ich habe da ja noch was vergessen, den Link zum Download.

Downloadlink 

Shalom


----------



## Shakie (26. Mai 2004)

@vorns:
Ich hab's mir mal runtergeladen, da ich sowas gut gebrauchen kann. Wie's mir gefällt schreib ich dann später...
Edit: Hoffentlich ist da kein Virus drin...!


----------



## vornst (26. Mai 2004)

*Kleiner fehler unterlaufen*

Ich bin es noch mal Leute,

mir ist erst vorhin im Bus aufgefallen, ich habe nen kleinen Fehler in dem ActiveX, den ich aber morgen so gegen 9.00Uhr beheben werde.

Der Fehler liegt bei der Ausgabe der IP, hab die Punkte vergessen.

Also morgen liegt, die fehlerfreie Variante, zum Download, unter der gleichen URL bereit.

Hoffe ich verzeichen noch mehr Downloads.

THX vornst


----------



## vornst (27. Mai 2004)

*Fertiggestellt*

So,

jetzt ist es entgültig Fertig, habe noch folgende Features implementiert.


Automatisches Weiterspringen bei 3 Ziffern
Ordnertlicher Rückgabewert -> diesmal mit Punkten
Intelligente Pfeiltastenbewegung, bei Ende des Blockes springt der Focus eins weiter, ansonsten nur ein Zeichen

Noch mal der Link zum Download.
http://www.tanz-show-kurrat.de/tny/iptextbox.zip 

So dann schreibt mir ma euere Meinung.

Danke und viel Spaß damit


----------



## Shakie (28. Mai 2004)

@vornst:
Also dein IP-Eingabesteuerelment ist sehr praktisch!
Ich habe noch ein paar unwesentliche Verbesserungsvorschläge:

Wenn man zwei Ziffern eingegeben hat, die mit einer dritten Ziffer danach größer als 255 wären, dann automatisch ins nächste Feld springen (wenn man also 26 eingegeben hat, dann wäre die nächste kleinste Möglichkeit schon 260, und das ist ja zu groß, also gleich ins nächste Feld springen)
Leertaste als Befehl zum Springen in das näcshte Feld verwenden (so ist das ja auch bei Windows)


----------



## vornst (1. Juni 2004)

*Fertiggestellt*

So,

ich glaube, jetzt ist alles Implementiert was geht.
Die URL des servers ist mit zu unsicher, deswegen weitere downloads, bitte über diese Seite.

Das einzige was ich selber noch nicht schön finde ist, dass mann in der Toolbox, so nen hässliches Icon angezeigt bekommt, habe schon ein eigenes entwürfen, da zeigt der aber dann keines mehr an.

OK Leute schreibt euere Meinung

MFG Master T


----------

