Laden...

Forenbeiträge von Franknstein Ingesamt 529 Beiträge

22.04.2004 - 22:57 Uhr

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

22.04.2004 - 22:45 Uhr

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

21.04.2004 - 21:03 Uhr

Könnte jemand mal das Thema in die FAQ ghosten????

--
mfg
Franknstein

21.04.2004 - 20:59 Uhr

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

21.04.2004 - 18:56 Uhr

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

21.04.2004 - 18:49 Uhr

Ja, ich mach das auch so...
Kann es sein, dass du den Index 5 selektierst, aber kein Item mit diesem Index existiert?

--
mfg
Franknstein

20.04.2004 - 22:31 Uhr

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

20.04.2004 - 22:29 Uhr

Wie meist du das?

Die Werte hintereinander durch irgenwas getrennt, oder eine ganze Tabelle in einer Zelle?

--
mfg
Franknstein

20.04.2004 - 19:47 Uhr

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

20.04.2004 - 19:37 Uhr

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

18.04.2004 - 23:01 Uhr

Genau, mal sehen, wann das sein soll...

--
mfg
franknstein

18.04.2004 - 16:21 Uhr

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

17.04.2004 - 23:50 Uhr

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

17.04.2004 - 13:45 Uhr

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

16.04.2004 - 22:30 Uhr

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

16.04.2004 - 21:59 Uhr

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

16.04.2004 - 21:55 Uhr

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

16.04.2004 - 21:08 Uhr

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

16.04.2004 - 21:04 Uhr

Was genau meinst du mit der CApi?

--
mfg
Franknstein

13.04.2004 - 23:10 Uhr

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

12.04.2004 - 22:04 Uhr

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

12.04.2004 - 00:22 Uhr

Oder sehr sehr besoffen, 😁 😁

11.04.2004 - 22:37 Uhr

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

11.04.2004 - 22:36 Uhr

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

11.04.2004 - 17:24 Uhr

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

11.04.2004 - 01:15 Uhr

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

11.04.2004 - 00:38 Uhr

Können die jederzeit die Lizens dafür ändern?

--
mfg
Franknstein

10.04.2004 - 20:31 Uhr

Damit die es kostenfrei weiterentwickelt bekommen? Kann sein, vielleicht wird es sich zeigen...

--
mfg
Franknstein

10.04.2004 - 12:25 Uhr

Mich würde brennend interressieren, warum die das machen....

--
mfg
Franknstein

09.04.2004 - 19:08 Uhr

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

09.04.2004 - 14:53 Uhr

lass doch mal den Müllsammler mit _GC.Collect() anfangen

mfg
Franknstein

08.04.2004 - 14:05 Uhr

bla.Replace("\", "") sollte aber extrem schneller sein...

--
mfg
Franknstein

07.04.2004 - 16:58 Uhr

War doch nur die suche, dann nimm den:

http://www.mycsharp.de/wbb2/thread.php?threadid=1113&sid=

--
mfg
Franknstein

07.04.2004 - 15:07 Uhr

Und ich habe immer gedacht ich währe faul:
http://www.mycsharp.de/wbb2/search.php?searchid=1627&sid=

--
mfg
Franknstein

06.04.2004 - 12:04 Uhr

Mit RegEx?
"/{X=([0-9]+),Y=([0-9])+}/"
Ich weiß nicht ob es so geht, ich hab grade keine Zeit zum Testen...

--
mfg
Franknstein

06.04.2004 - 11:58 Uhr

Was geben kann ich dir, aber der Quelltext ist nach Faulheit optimiert..... naja, ich will ihn dir nicht vorenthalten.

--
mfg
Franknstein

05.04.2004 - 23:21 Uhr

Was habt ihr alle gegen ini-Files? Die sind wesentlich flotter als XML-Dateien, und die .config:
Klasse:

  • läd beim instanziiern die ini-Datei in publics...
  • man kann diese Vars dann während der Programmlaufzeit abfragen und setzen
  • beim zerstören der Klasse wird die Ini wieder gespeichert

--
mfg
Franknstein

05.04.2004 - 11:12 Uhr

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

05.04.2004 - 11:08 Uhr

Ich meine mich vage zu erinnern, dass man das mit der WindowState-Eigenschaft in alle Ecken verschieben kann....

--
mfg
Franknstein

05.04.2004 - 10:50 Uhr

Das Verzeichnis, in dem du grade bist, bekommst du mit Application.StartupPath....

--
mfg
Franknstein

05.04.2004 - 10:49 Uhr

oh! Das habe ich nicht gewusst, leuchtet aber ein.....

--
mfg
Franknstein

04.04.2004 - 23:19 Uhr

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

01.04.2004 - 19:20 Uhr

Das ist doch recht simpel:

  1. Prüfen ob eine Grade die die Distanz der Zwei bauteilen darstellt, erstens paralell zur X-Achse ist, und zweitens das ist wichtiger eine andere schneidet. Falls eine andere schneidet, aber gerade währe, wird sie einfach 5 Einheiten nach unten verschoben (siehe 1) und dann nochmals überprüft, ob sie eine andere Gerade schneidet.

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

31.03.2004 - 20:01 Uhr

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

31.03.2004 - 14:48 Uhr

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...

Edit: Geht genau so wie beim richtigen Framework, nur dass du es für Pocketpcs compilliern musst. Ich gehe auch davon aus, dass die Libs davon im CF dabei sind. Der Quelltext ist 1zu1 gleich mit dem für Windowsprogrammen, ausßer dass verschiedene Libs nicht dabei sind.... hab ich mal irgentwo gelesen

mfg
Franknstein

31.03.2004 - 14:45 Uhr

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

30.03.2004 - 21:58 Uhr

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

30.03.2004 - 21:54 Uhr

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

29.03.2004 - 22:13 Uhr

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

25.03.2004 - 22:37 Uhr

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