Ich würde das so machen:
textInput(object sender, EventArgs e)
{
TextBox txt=(TextBox) sender;//Nicht gut....
Regex r=new Regex(@"[a-zA-Z0-9/:\\]+); //Da müssen alle Zeichen drinne stehen, die ein Ordnername enthalten darf
Match m=r.Match(txt.Text);
if(m.Success){
//Der Text wird wohl ein Ordner sein(Der vielleicht nicht existiert)
}
else{
MessageBox.Show("Fehler: enthält fahlsche Zeichen...");
}
}
Du musst diese Funktion nur noch mit dem TextChanged-Event der TextBox verknüpfen....
Edit: RegEx-Suchmuster verändert
--
mfg
Franknstein
Ich befürchte dazu brauchst du Windows Messages.... aber da kenne ich mich nicht aus.
Falls es nur in deinem Programm benötiogt wird, kannst du ja Listeners verwenden
--
mfg
Franknstein
Könnte jemand mal das Thema in die FAQ ghosten????
--
mfg
Franknstein
Ich denke, er hat ja eine Exception geworfen, wir wissen aber nichts genaues:
Stimmt...
das verwirrt mich jetzt, eben hats nicht funktioniert, na ja, Microsoft eben...
--
mfg
Franknstein
In der Form "Buch bearbeiten" musst du eine Public-Methode anlegen, die dir den Wert der Textbox ändert:
Buch bearbeiten
....
public void setBuch(string buchText)
{
this.txt_buch.Text=buchText;
}
public string getBuch()
{
return this.txt_buch.Text;
}
...
Buch öffnen
...
//Hier öffnest du deine Bearbeiten-Form
bearbeitenForm.setBuch("Der TExt des Buches");
MessageBox.Show(bearbeitenForm.getBuch());
So sollte es gehen....
edit: Code-Tags funktionieren jetzt
--
mfg
Franknstein
Ja, ich mach das auch so...
Kann es sein, dass du den Index 5 selektierst, aber kein Item mit diesem Index existiert?
--
mfg
Franknstein
Entweder musst du einen Xhtml-Texteditor nehmen, oder dir ein kleines Konsolenprogramm bauen, das nichts anderes tut, als diese Zeichen nach dem Speichern zu ersetzten....
--
mfg
Franknstein
Wie meist du das?
Die Werte hintereinander durch irgenwas getrennt, oder eine ganze Tabelle in einer Zelle?
--
mfg
Franknstein
Soll der das bei dir irgenwo im Programm ändern können, oder in einem Texteditor?
Bei dir im Programm kannst du ja dann die " durch des andere ersetzen, wenn der Benutzer fertig eingegeben hat....
Im Texteditor ist das sehr ungünstig.....
--
mfg
Franknstein
Einfach die Assembly mal dynamsich laden.....
try{
Assembly a = Assembly.LoadFrom("Der Name deiner Dll");
}
catch(Exception err)
{
MessageBox.Show("Fehler beim laden der Dll"+err.Message);
//Hier werden die errors abgefangen, falls die assembly nicht geht/da ist
}
Das langt....
--
mfg
Franknstein
Genau, mal sehen, wann das sein soll...
--
mfg
franknstein
Original von Noodles
Original von SirGawain
Mit welcher kann man denn besser Spiele programmieren (was ich nämlich u.a. auch vorhabe). Mit welcher kann man eher besser größere Programme machen, wie Firewalls, Virenscanner oder gar Betreibssysteme?Meiner Meinung nach ist da keine dieser 2 Sprachen von Vorteil. Um systemnah zu programmieren müsstest Du C/C++ verwenden.
Virenscanner mag noch gehen, aber eine Firewall oder ein BS sind so systemnah, dass du da fast nix machen kannst....
--
mfg
Franknstein
Mit C# kann man,
a) leichter Windowsanwendungen erstellen(wie mit VB auch)
b) auf managed Dx zurückgreifen (Was dir vorerst egal sein kann)
Zukunftsorientiert sind beide, ich vermute, dass sie alle auf einem gemeinsamen Bytecode hinauslaufen. Und Interpretersprachen werden über kurz oder lang eh Maschienencodesprachen ablösen....
Zu Spielen:
Spiele sollte man wohl den Benutzern zu liebe mit keinem der Sprachen erstellen, die werden wohl grottenlahm. Dafür gibt es ja immer noch C oder C++
Edit:
Ich will mich ja nicht outen, aber ich vermute, dass Java für die nächsten zwei Jahren C# weit vorraus sein wird, bis C#2 raus kommt...
--
mfg
Franknstein
Was wird schneller bei ganz normalen Programmen sein?
Edit:
Damit meine ich nicht bei irgentwelchen speziellen Speedtestanwendungen sondern richtige Anwendungen wie Browser, Word, was weiß ich....
--
mfg
Franknstein
Was dann passiert, siehst du an der Java Swing-Klasse...... die ist sooooo lahm. Aber ich bin auch der Meinung, dass außer die ganze Systemapi respektive winapi keine Zeiger eingesetzt werden dürften...
--
mfg
Franknsein
Der zweite Link sieht doch sehr vielversprechend aus, jedenfalls die Doku im Docs- Ordner. Kannst ja mal gucken, ob da was dabei ist.....
--
mfg
Franknstein
Genau
Allerdings wird unsafe code zu Unrecht verteufelt. Man kann z.B. keine Rücksprungadressen von Funktionen liefern wie das des manchmalen in C passiert ist:
unsafe {
int *pt; //Der Zeiger zeigt in die Wildniss
pt=90; //und überschreibt irgentwelchen hoffentlich unwichtigen Speicher...
}
Ging in C mit olden Compilern noch, bei den neuen weiß ich nicht, ob die des merken und maulen.... Aber mit C#, keine Chance.... das tut der Compiler nicht kompilliern
Was vielleicht passieren kann ist, dass man MemoryLeaks machen kann, wenn man im Unsafe-Bereich eine Instanz macht und dann das object mit null überschreibt, aber ich bin mir da nicht mal so sicher ob das geht.....
Was halt noch passieren kann, ist dass man den Stack überfüllt und so das Programm beendet wird - ohne Fehlermeldung. Wenn man sich dann nicht so mit dem Debugger auskennt, kann das sehr dumm gehen, und man sucht ewig bis man den Fehler findet.
--
mfg
Franknstein
Indem du mal bei Google nach einer FTP-Klasse suchst????
Und dann z.B. diese zwei findest:
http://www.codeproject.com/useritems/C__FTP_client.asp
http://www.enterprisedt.com/downloads/csftp/csftp.html
--
mfg
Franknstein
Was genau meinst du mit der CApi?
--
mfg
Franknstein
Ich will ja nix sagen, aber mit dieser Lösung bekommt man ganz leicht ganz heftige Probleme. Ich mache das so nicht mehr. Wenn du mal eine Etwas größere Anwendung hast, und jede Form in jeder anderen Form irgenwie rumpfuscht, dann weißt zu am Ende nicht mehr, wo was gesetzt wird oder her kommt. Deshalb gibt es eine viel schönere Methode, die hier schon des öfteren besprochen wurde: http://www.mycsharp.de/wbb2/thread.php?threadid=1252&sid=
Da sind auch noch Links zu Beschreibungen und Codebeispielen....
Mach das so wie du es jetzt machst besser nicht...
--
mfg
Franknstein
Versuchs ma so:
public static byte[] StringToByte(string InString)
{
char[] ByteStrings;
ByteStrings = InString.ToCharArray();
byte[] ByteOut;
ByteOut = new byte[ByteStrings.Length-1];
for (int i = 0;i == ByteStrings.Length-1;i++)
{
ByteOut[i] = Convert.ToByte(("0x" + ByteStrings[i]));
}
return ByteOut;
}
--
mfg
Franknstein
Keine Ahnung ob es bei SD auch geht, aber deshalb kann man bei VS Funktionen und sowas, dass einen nicht oft interressiert, ausblenden...
--
mfg
Franknstein
War der voll? Oder noch sehr jung?
btw: normalerweise schieben wir solche Schwachköpfen aus Franken nach Hessen( Ich hoffe keiner, der das liest, ist aus Hessen) ab 👍
Hammer
--
mfg
Franknstein
Google meint dazu:
Theorie:
http://www.ctips.com/rs232.html
Praxis:
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=320
Habs zwar nicht ganz gelesen, aber es scheint leicht verständlich zu sein
Willst du ein paar LEDs ansteuern?
--
mfg
Franknstein
Falls man aber DLLs hat, die solche Schlüsselworte enthalten, man aber keinen Zugriff auf den Quelltext hat, muss man sich eine kompillierte Wrapperklasse schreiben, die den Zugriff für einen auf diese Dll erledigt.
--
mfg
Franknstein
Können die jederzeit die Lizens dafür ändern?
--
mfg
Franknstein
Damit die es kostenfrei weiterentwickelt bekommen? Kann sein, vielleicht wird es sich zeigen...
--
mfg
Franknstein
Mich würde brennend interressieren, warum die das machen....
--
mfg
Franknstein
Hm,
dann musst du dir die Zeit nehmen und mal Debuggen.....
Es gibt eine Möglichkeit dass du beim Debugging nicht zum nächsten Breakpoint sondern zur nächsten Anweisung springst. Dann minimierst du das Fenster, und schaust dir an, wo der Debugger hinspringt. Das kannst du jedenfalls versuchen!
--
mfg
Franknstein
mfg
Franknstein
bla.Replace("\", "") sollte aber extrem schneller sein...
--
mfg
Franknstein
War doch nur die suche, dann nimm den:
http://www.mycsharp.de/wbb2/thread.php?threadid=1113&sid=
--
mfg
Franknstein
Und ich habe immer gedacht ich währe faul:
http://www.mycsharp.de/wbb2/search.php?searchid=1627&sid=
--
mfg
Franknstein
Mit RegEx?
"/{X=([0-9]+),Y=([0-9])+}/"
Ich weiß nicht ob es so geht, ich hab grade keine Zeit zum Testen...
--
mfg
Franknstein
Was geben kann ich dir, aber der Quelltext ist nach Faulheit optimiert..... naja, ich will ihn dir nicht vorenthalten.
--
mfg
Franknstein
Was habt ihr alle gegen ini-Files? Die sind wesentlich flotter als XML-Dateien, und die .config:
Klasse:
--
mfg
Franknstein
Hallo,
Ich habe ein Tab-Control mit einigen Steuerelementen im ersten Tab. Wenn ich während der Programmlaufzeit neue Tabs hinzufüge, will ich ich, dass diese das selbe Layout wie das erste Tab haben. Wie kann ich eine Art Template für die Tabs des Controls anlegen, dass alle Tabs auf einem Tab-Template basieren?
--
mfg
Franknstein
Ich meine mich vage zu erinnern, dass man das mit der WindowState-Eigenschaft in alle Ecken verschieben kann....
--
mfg
Franknstein
Das Verzeichnis, in dem du grade bist, bekommst du mit Application.StartupPath....
--
mfg
Franknstein
oh! Das habe ich nicht gewusst, leuchtet aber ein.....
--
mfg
Franknstein
Könnte es nicht sein dass das 1f eine Hexzahl ist? Soweit ich weiß, kann man die mit großen wie mit kleinen Buchstaben schreiben...
--
mfg
Franknstein
Das ist doch recht simpel:
Falls die Bauteile nicht auf der selben Höhe sind, teilst du den Höhenunterschied durch zwei, ziehst die Hälfte runter, gehst nach rechts, und dann die andere Hälfte runter.
Falls du dabei eine andere schneidest, musst du aus der Hälfte nochmal +/- 5 Einheiten nach oben gehen. Dazu siehe 2
1:
erst
----\-------/--
\_____/
dann
\\ //
\\____//
\____/
2:
\
\
\___
\
\
\
Wenn du dann noch so Sachen wie immer so lange wie möglich zu anderen Leitungen paralell bleiben oder zum nach Unten gehen, Kanten von Bauteilen + x Einheiten suchen...
--
mfg
Franknstein
Edit:
Verdammt Zeichnung
Code Hacker hat es mal so erklärt:
Du hast zwei Forms, du kannst aber nur mirt sehr ungünstigen Konstruken von der einen auf die andere zugreifen. Daher legst du eine dritte, unsichbare Form an, die beim Start des Porgramms geladen wird. Diese Form verwaltet dann alle anderen Forms -> d.h. Variablenaustausch, Events etc.... die kann ja ohne weiteres auf die publics der anderen Forms zugreifen und diese auch setzen. Es gab da auch mal einen Thread dazu:
http://www.mycsharp.de/wbb2/thread.php?threadid=539&sid=
http://www.mycsharp.de/wbb2/thread.php?threadid=488&sid=
--
mfg
Franknstein
Eine Idee habe ich, aber die ist komplex, sehr komplex...
Am .net-Programm einen Socket öffnen, und mit dem Serverlet hinconnecten, und dann noch die Daten emfangen. Such halt mal bei google nach Tutorials zur Socketprogrammierung...
mfg
Franknstein
Eingentlich solle man ja solche Konstrukte vermeiden, da die Fehlersuche irgentwann mal sehr schwer werden könnte....
Lieber eine Methode in Klasse adden und dann diese aufgerufen... ist wesentlich schöner....
--
mfg
Franknstein
Ich hab da zwar noch nicht alzu viel Ahnung, aber ich gehe davon aus, dass es am klügsten währe, wie schonmal jemand(ich habe den Thread nur überflogen) geschrieben hat, die Mainform ausblenden und dann eine Modale Form mit dem Anmeldeding öffnen.
--
mfg
Franknstein
Eine 3d-Engine währe mal was recht geniales! Davon bin ich auch begeistert! Aber nicht mit DX oder GL und sonstigem objektorientiertem Zeuch!
Ich würde sowas des Spasses halber mit C und der SDL anpacken! Da hat man dann auch ordentlich was zu schaffen....
--
mfg
Franknstein
Da die Möglichkeiten im Vergleich zu anderen Programmiersprachen mit C# doch irgentwo begrenzt sind, würde mich mal interressieren, was ihr mal gerne programmiern würdet, wenn sich Zeit dazu finden würde.....
Ich mach auch mal den Anfang, mich interessiert nämlich die mit C# nicht mögliche hardwarenahe Programmierung...
--
mfg
Franknstein
Hm, du nimmst dir ein Objektarray, in das kommen alle Textboxobjekte, wenn der Fokus eins weiter gesetzt werden soll, dann inkrementierst du einen Zeiger, der auf das nächste Objekt zeigt....
--
mfg
Franknstein