Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 01:58

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



vb Code in textbox automatisch trennen

Discussion on vb Code in textbox automatisch trennen within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
BlazerHack's Avatar
 
elite*gold: 107
Join Date: Oct 2012
Posts: 580
Received Thanks: 138
vb Code in textbox automatisch trennen

Hey Leute,

Ich bin gerade am erstellen eines Tool und wollte euch fragen,
wenn ich in eine Textbox etwas eingebe, immer nach 4 eingaben (nummern)
Ein "-" dazwischen gesetzt wird.

Beispiel

1234123412341234
wird zu
1234-1234-1234-1234

Wie kann ich sowas umsetzen?
BlazerHack is offline  
Old 04/21/2014, 23:13   #2

 
Reextion's Avatar
 
elite*gold: 407
Join Date: May 2009
Posts: 1,573
Received Thanks: 728
Hi,

schau dir mal folgenden Link an:

Im OnChange Event der Textbox einfach die resultierenden Substrings durchlaufen und "-" dazwischen setzen ;o
Reextion is offline  
Old 04/22/2014, 10:44   #3
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
Du kannst eine MaskedTextbox nehmen und bei der Maske nach jedem vierten Zeichen ein Minues setzen. Klappt aber nur, wenn du immer eine gleiche Anzahl an Zahlen hast. z.B immer 16 Ziffern.
Jay Niize is offline  
Old 04/22/2014, 12:25   #4
 
BlazerHack's Avatar
 
elite*gold: 107
Join Date: Oct 2012
Posts: 580
Received Thanks: 138
Quote:
Originally Posted by .Zeraki' View Post
Du kannst eine MaskedTextbox nehmen und bei der Maske nach jedem vierten Zeichen ein Minues setzen. Klappt aber nur, wenn du immer eine gleiche Anzahl an Zahlen hast. z.B immer 16 Ziffern.
Wie würde das dann aussehen? bin neu in visual basic
BlazerHack is offline  
Old 04/22/2014, 12:47   #5


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by BlazerHack View Post
Wie würde das dann aussehen? bin neu in visual basic
Erwartest du Code, den du nur kopieren brauchst oder wie darf man das verstehen?

Wie wäre es, wenn du einen der bereits genannten Callbacks nimmst oder alternativ vielleicht OnKeyDown auf deine TextBox registrierst? Dadurch könntest du entweder mit einer Schleife durch jedes Zeichen in der Text Eigenschaft iterieren oder den Text über die Methode String.Substring splitten.

Beides führt zum selben Ergebnis, natürlich mit unterschiedlich viel Aufwand.
Mostey is offline  
Old 04/22/2014, 22:14   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Arrow General Coding -> .NET Languages

#moved
MrSm!th is offline  
Old 04/23/2014, 00:08   #7
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
Geh einfach in das Text changed event(denke per doppelclick auf den text)
oder textbox1.Textchanged() (ist es bei c#)
Dann hast du außerhalb der Methode einen integer definiert.
Den zählst du einfach bis 4 hoch.(i++)
Dann kannst du prüfen wenn i == 4 dann textbox1.Text = textbox1.Text + "-";
i= 0;

falls du es ohne integer machen willst
textbox.text davon die länge und mit modoli teilen durch 4.
Ist aber eig egal für den anfang
(pseudo code weil ich eig c# prgm kann es dir aber gerne schreiben und translaten lassen)
VisionEP1 is offline  
Old 04/23/2014, 01:47   #8

 
Nanoxx™'s Avatar
 
elite*gold: 15
Join Date: Feb 2013
Posts: 2,880
Received Thanks: 465
Quote:
Originally Posted by VisionEP1 View Post
Geh einfach in das Text changed event(denke per doppelclick auf den text)
oder textbox1.Textchanged() (ist es bei c#)
Dann hast du außerhalb der Methode einen integer definiert.
Den zählst du einfach bis 4 hoch.(i++)
Dann kannst du prüfen wenn i == 4 dann textbox1.Text = textbox1.Text + "-";
i= 0;

falls du es ohne integer machen willst
textbox.text davon die länge und mit modoli teilen durch 4.
Ist aber eig egal für den anfang
(pseudo code weil ich eig c# prgm kann es dir aber gerne schreiben und translaten lassen)
halt ihm nicht alles unter die nase

vom kopieren lernt man nicht
Nanoxx™ is offline  
Old 04/23/2014, 02:00   #9
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
deswegen ja erst der pseudocode aber falls er mit der syntax null vertraut ist helf ich gerne
VisionEP1 is offline  
Old 04/23/2014, 07:12   #10


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by VisionEP1 View Post
deswegen ja erst der pseudocode aber falls er mit der syntax null vertraut ist helf ich gerne
Dann sollte er sich vielleicht erstmal den Grundlagen der Sprache widmen wenn er nicht weiß, wie er eine for Schleife konstruieren kann. Dein Ansatz ist btw. auch recht überflüssig, wieso einen Zähler außerhalb der Funktion deklarieren wenn das doch überhaupt nicht gebraucht wird? Die Länge des Textes ist doch schon bekannt wenn das Event eintritt.
Mostey is offline  
Thanks
1 User
Old 04/23/2014, 08:33   #11
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
Quote:
Originally Posted by Mostey View Post
Dann sollte er sich vielleicht erstmal den Grundlagen der Sprache widmen wenn er nicht weiß, wie er eine for Schleife konstruieren kann. Dein Ansatz ist btw. auch recht überflüssig, wieso einen Zähler außerhalb der Funktion deklarieren wenn das doch überhaupt nicht gebraucht wird? Die Länge des Textes ist doch schon bekannt wenn das Event eintritt.
Auch wenn du Mod bist,
bitte immer den ganzen Post lesen.
Ich habe mehr als einen Ansatz gennant und auch gesagt wie es ohne Counter außerhalb bekommt.
Jedoch ist es für einen Anfänger wohl erst mal wichtig das Handeln von User Events zu verstehen. Wie man das jetzt jedes mal genau macht muss jeder für sich selbst entscheiden.
Ich würde das ganze mit WPF 4 Boxes und automatischem weiterspringen machen, ist ja aber nicht gefragt
VisionEP1 is offline  
Old 04/23/2014, 18:24   #12


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by VisionEP1 View Post
Auch wenn du Mod bist,
Hast du damit ein Problem? Meinst du, das du Moderatoren immer zustimmen musst, auch wenn sie nur Mist von sich geben?

Quote:
Originally Posted by VisionEP1 View Post
bitte immer den ganzen Post lesen.
Habe ich.


Quote:
Originally Posted by VisionEP1 View Post
Ich habe mehr als einen Ansatz gennant und auch gesagt wie es ohne Counter außerhalb bekommt.
Das habe ich auch gelesen.

Quote:
Originally Posted by VisionEP1 View Post
Jedoch ist es für einen Anfänger wohl erst mal wichtig das Handeln von User Events zu verstehen. Wie man das jetzt jedes mal genau macht muss jeder für sich selbst entscheiden.
Was soll es da groß zu verstehen geben? Events treten nun mal ein, wenn eine bestimmte Bedingung erfüllt ist. Wer nicht weiß was Events sind, nutzt Google und schaut nach. Das hat nichts mit deinem Ansatz zutun.


Quote:
Originally Posted by VisionEP1 View Post
Ich würde das ganze mit WPF 4 Boxes und automatischem weiterspringen machen, ist ja aber nicht gefragt
Was hat WPF damit zutun?

Fakt ist nunmal, das es ziemlich unnötig ist, eine Zählervariable irgendwo in der Klasse zu deklarieren und in einer for-Schleife zu nutzen, die überhaupt keinen Sinn macht. Du kannst dir über die TextBox.Text property den Text als string holen, damit hast du auch logischerweise die Länge die für das Vorhaben relevant ist.
Mostey is offline  
Thanks
1 User
Old 04/23/2014, 19:52   #13
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
Die length die du mit Modulo durcharbeiten musst ist sicherlich schneller als die Abfrage von nem Int und für Anfänger auch sicherlich besser geeignet...

Schon erstaulich das man ein ganzes Buch zu 3 Wörtern schreiben kann, naja jedem das seine.
Deine Vorschläge sind auch extrem sinnvoll und perfomant:
Quote:
Wie wäre es, wenn du einen der bereits genannten Callbacks nimmst oder alternativ vielleicht OnKeyDown auf deine TextBox registrierst? Dadurch könntest du entweder mit einer Schleife durch jedes Zeichen in der Text Eigenschaft iterieren oder den Text über die Methode String.Substring splitten.
Wenn du den ganzen Post gelesen hast konntest du mir sagen wo ich eine for Schleife erwähne?.
VisionEP1 is offline  
Old 04/23/2014, 20:52   #14


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by VisionEP1 View Post
Die length die du mit Modulo durcharbeiten musst ist sicherlich schneller als die Abfrage von nem Int und für Anfänger auch sicherlich besser geeignet...
Es ging nicht um das Modulo sondern um deine unsinnige Zählervariable die irgendwo draußen deklariert wird.
Du brauchst hier auch nicht von Performance sprechen, die spielt hier nämlich die kleinste Rolle.


Quote:
Originally Posted by VisionEP1 View Post
Deine Vorschläge sind auch extrem sinnvoll und perfomant:
Lass mich raten, du sitzt mit deiner Nanosekunden Stoppuhr an deinem Schreibtisch und denkst, das mich das interessiert? Was ist daran nicht sinnvoll und nicht performant? Das sind keine gültigen Argumente, du ziehst nie eine Begründung heran sondern stellst nur Behauptungen auf.


Quote:
Originally Posted by VisionEP1 View Post
Wenn du den ganzen Post gelesen hast konntest du mir sagen wo ich eine for Schleife erwähne?.
Die Schleife hast du konkret nicht genannt, das Grundprinzip bleibt aber. Zählervariable außerhalb und hochzählen um die Länge zu holen, die du eh schon hast. Ohnehin ist eine Schleife hier nicht verkehrt, allerdings gehört die Zählervariable dafür lokal deklariert und nicht irgendwo draußen. Wozu auch?

Code:
public static IEnumerable<String> SplitInParts(this String s, Int32 partLength) {
    if (s == null)
      throw new ArgumentNullException("s");
    if (partLength <= 0)
      throw new ArgumentException("Part length has to be positive.", "partLength");

    for (var i = 0; i < s.Length; i += partLength)
      yield return s.Substring(i, Math.Min(partLength, s.Length - i));
  }


Gefällt mir zum Beispiel sehr gut und ist sauber.
Mostey is offline  
Thanks
1 User
Old 04/24/2014, 20:04   #15
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
Quote:
Originally Posted by Mostey View Post
Es ging nicht um das Modulo sondern um deine unsinnige Zählervariable die irgendwo draußen deklariert wird.
Du brauchst hier auch nicht von Performance sprechen, die spielt hier nämlich die kleinste Rolle.




Lass mich raten, du sitzt mit deiner Nanosekunden Stoppuhr an deinem Schreibtisch und denkst, das mich das interessiert? Was ist daran nicht sinnvoll und nicht performant? Das sind keine gültigen Argumente, du ziehst nie eine Begründung heran sondern stellst nur Behauptungen auf.




Die Schleife hast du konkret nicht genannt, das Grundprinzip bleibt aber. Zählervariable außerhalb und hochzählen um die Länge zu holen, die du eh schon hast. Ohnehin ist eine Schleife hier nicht verkehrt, allerdings gehört die Zählervariable dafür lokal deklariert und nicht irgendwo draußen. Wozu auch?

Code:
public static IEnumerable<String> SplitInParts(this String s, Int32 partLength) {
    if (s == null)
      throw new ArgumentNullException("s");
    if (partLength <= 0)
      throw new ArgumentException("Part length has to be positive.", "partLength");

    for (var i = 0; i < s.Length; i += partLength)
      yield return s.Substring(i, Math.Min(partLength, s.Length - i));
  }


Gefällt mir zum Beispiel sehr gut und ist sauber.
Naja nun nochmal für die, dei den letzten Schuss nicht gehört haben.
Die Funktion ist eindeutig dafür da einen Key o.ä. einzugeben und zu formatieren.
Zitat aus dem ersten Post für die "nicht den ganzen Post Leser"
Quote:
wenn ich in eine Textbox etwas eingebe, immer nach 4 eingaben (nummern)
Deine Funktion funktioniert nur wenn ich den String fertig eingegeben habe um ihn dannach zu Formatieren.
Würdest du ihn bei jedem TextChanged Event aufrufen, dann hättest du das '-' als eigenen Char im string.
Wenn man keys eingibt sollte man auch auf backspace oder ähnliches klicken können, ohne das der ganze Text verhauen wird.
WPF habe ich deshalb erwähnt um die best mögliche Lösung zu nennen um Textboxen zu formatieren.
Meine Funktion schaut wie folgt aus:

int i = 0;

## textbox changed event text added
{
i++;
if(i==4)
{
i=0;
text=text +'-';
}}
Und das selbe noch wenn ich text entferne sollte ja jeder hinbekommen.
Die Länge die man "eh" schon hat. Müsste man ja wieder Filtern ('-') zählen und von der Länge abziehen um zu Formatieren.
Ich definiere persönlich lieber eine variable außerhalb die Life dem Benutzer die Möglichkeit bietet eineschöne GUI zu erleben. Als erst am Ende zu formatieren.
Desweiteren ist performance immer ein wichtiger Punkt.

Es gibt immer mehrere Wege zum ziel aber man sollte den besten nehmen. Nehmen wir eine Mittelgroße Anwendung.
Dann in jeder Funktion sich 30% der Zeit einzusparen lohnt sich wohl.

Da du die Architektur des ganzen Programms nicht kennst sollte man sehr wohl auf die Performance acht geben.

-------------------
Ich werde hierzu auch nichts mehr schreiben. Personen mit halbwissen lassen sich eh schlecht überzeugen.
Ich stehe selbst kurz vor dem beenden meines SSE deswegen denke ich dass ich mich dazu äußern kann.
VisionEP1 is offline  
Reply


Similar Threads Similar Threads
WoW Gamekey Shop SEHR GÜNSTIG, CODE DIREKT NACH BEZAHLUNG AUTOMATISCH!
10/13/2013 - World of Warcraft Trading - 5 Replies
Hallo ich präsentiere: Ein paar tolle Angebot für alle WoW Spieler und die es werden möchten ;) Meist gekauft: WoW Gamecard 60 Tage Spielzeit (20,90 €) WoW komplett Paket (WoW,TBC,WotLK,Cata,MoP,30 Tage Spielzeit) (34,90 €) Gamekeys:
Verbindungen trennen.
05/13/2012 - C/C++ - 5 Replies
Hey, ist es möglich, sämtliche verbindungen, die von einer anwendung kommen ( iw4mp.exe ) zu trennen?
Vegas pro 10, trennen
05/14/2011 - Technical Support - 6 Replies
Guten tag zusammen. Ich habe vor in zukunft animes zu dubben und wolte mal ein klein video synchronisieren. aber leider habe ich das problem das ich die audiospur und die videospur zusammen habe und deswegen nicht die audiospur löschen kann. Nun wolte ich fragen ob es möglich währe die audio und videospur zu trennen.
BO von Steam trennen
12/06/2010 - Call of Duty - 6 Replies
Hey... Ist es möglich BO von nem Steam Account zu trennen? Ich hab nämlich vor das Spiel zu verkaufen, will aber nicht den ganzen Account hergeben (sind noch andere Spiele oben die ich noch brauche)
CH1 von CH2 trennen?
11/02/2010 - Metin2 Private Server - 4 Replies
Hi Leute, kann man irgendwie CH1 und CH2 trennen. Habe beide am laufen und mann kann halt von CH1 nachrichten in CH2 schicken. Also Pn's, Rufchat usw. Kann man das irgendwie trennen? Danke im vorraus. :) Achja und noch eine Sache.. :S Habe Tal von Ascaria eingefügt und manchmal wenn man aufs Pferd steigt oder sich portet etc kriegt man einfach so kick und wenn man sich wieder einloggen will nach ladebildschirm kick. Erst wenn ein GM einen genau in dieser Ladezeit irgendwo anders...



All times are GMT +1. The time now is 01:58.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.