Laden...

Forenbeiträge von Corpsegrinder Ingesamt 401 Beiträge

05.02.2010 - 10:11 Uhr

Naja.. wie schon gesagt... das ist meine Meinung. Ich frage mich halt einfach, warum die Form den Controller kennen soll? Es reicht vollkommen aus, wenn der Controller die Form kennt. In Frameworks, wo die Form in einem XML Format gespeichert wird (z.B. Qt) geht es auch nicht anders (außer man schreibt die Form von Hand als Klasse).

05.02.2010 - 09:58 Uhr

Nein, du hast weiterhin deine normale Main(), aber dort erstellst du einen MainFormController und rufst dann Application.Run(controller.View) auf.

edit:

gerade noch nen guten Link gefunden: http://www.programgood.net/2009/07/17/SimpleMVCInWinForms.aspx

05.02.2010 - 09:51 Uhr

Hab ich irgendwo das Gegenteil behauptet? Ich sagte nur, dass man den Controller nicht in der Form instanziieren soll, sondern andersrum.

05.02.2010 - 09:46 Uhr

Neee.... dann haste ja ne Instanz vom Controller in der Form und andersum... Du könntest z.B. die FOrm im Controller instanziieren und nur über den Controller Zugriff darauf gewähren.

05.02.2010 - 09:16 Uhr

Also die vorgehensweise, die ich am häufigsten gesehen habe (z.B. Qt, iPhone SDK...) ist die, dass der Controller eine Referenz auf die View hat und über öffentliche Methoden/Properties die View verändern kann. Ist imho auch der beste Weg, da man da nicht in die Versuchung kommt Logik in die Forms zu packen. Auch das Abonnieren eines Events ist imho etwas, was nicht in die View gehört, da dort ja wieder Logik ausgeführt wird.

03.02.2010 - 11:35 Uhr

Ich könnte dir noch die ACO (Ant Colony Optimization) empfehlen. Ist allerdings nur eine Heuristik. Haben wir in Algorithmen und Datenstrukturen mal implementiert. Bringt - wenn man es richtig macht - recht schnell gute Ergebnisse.

03.02.2010 - 10:30 Uhr

Wir haben in der Firma einige Dell-PC's, kann man mit ganz normalen Karten erweitern.

Das habe ich auch nicht dementiert. Nur ist bei vielen Dell PCs das Mainboard auf der linken Seite, was bei den meisten PCs aber rechts ist, weshalb man die Karten einfach andersum einbauen muss.

edit:

Hier zu sehen: http://www.billigdrucker.de/computer_dell_dell-dimension-5100.html

02.02.2010 - 17:48 Uhr

Ich glaube bei Dell PCs ist das alles andersrum. Aber die bauen das imho einfach andersrum ein.

29.01.2010 - 15:20 Uhr

Hi,

gibt es einen bestimmten Grund, warum die das Suchen nicht in einer Kopie der Liste erledigen kannst? Damit müsstest du das Lock nur für den Kopiervorgang setzen.

edit: Okay... das hat sich ja nun auch geklärt...

27.01.2010 - 13:49 Uhr

Eine fertige Bibliothek zur Graphenvisualisierung findest du hier: http://www.yworks.com/en/products_yfileswpf_about.html

Gibt es für akademische Zwecke auch kostenlos.

Gruß

Dario

26.01.2010 - 12:34 Uhr

Hi,

wenn du sicher gehen willst, dass es einzigartige Hashes sind, dann nimm einen der SHA-2 Hashes, bei denen wurden bisher keine Kollisionen gefunden.

23.01.2010 - 11:37 Uhr

Und seit wann ist 'ArrayList' ein Generic?

List<List<String>> oldlist = new ArrayList<List<String>> ();

In Java ist ArrayList ein Generic 😉

22.01.2010 - 18:25 Uhr

Das hier ist ein Neighbour-Joining-Algorithmus für phylogenetische Bäume.... mit sowas muss man sich als Student rumschlagen... schlimm genug.... aber wenn die Kommilitonen dann so einen Code produzieren wird es pervers...


private static BinaryTree neighbourJoin (List<List<String>> list) {
   BinaryTree resTree=null;


   //Iteration des Algorithmuss
   for (int u=0;u<list.size ()-1;u++){

      //list kopieren nach oldlist
      List<List<String>> oldlist = new ArrayList<List<String>> ();
      for (int i =0;i<list.size ();i++){
         oldlist.add (new ArrayList<String> ());
         for (int k=0;k<list.size ()-1;k++){
            oldlist.get (i).add (new String (list.get (i).get (k)));
         }
      }

      // Nettodivergenz Schritt1
      System.out.println ("Schritt 1 Matrix"+list);
      Map<String, Double> nettodivergenz = new HashMap<String, Double> ();
      double nettodiv = 0.0;
      double nettodivsum = 0.0;
      int j = 0;
      for (int i = 1; i < list.size (); i++) {
         nettodivsum = 0.0;
         for (int k = 0; k < list.size () - 1; k++) {
            nettodivsum += Double.parseDouble (list.get (i).get (k));
         }
         nettodiv = (1.0 / (list.size () - 1 - 2) * nettodivsum);
         nettodivergenz.put (list.get (0).get (j), nettodiv);
         j++;
      }
      System.out.println ("Schritt 1 Nettodovergenz: "+nettodivergenz);

      //Schritt 2
      List<List<String>> zwischenMatrix = new ArrayList<List<String>> ();
      double zMvalue = 0.0;
      for (int i = 1; i < list.size (); i++) {
         List<String> innerList = new ArrayList<String> ();
         for (int k = 0; k < list.size () - 1; k++) {
            if (i - 1 == k) {
               zMvalue = 0.0;
               innerList.add (String.valueOf (zMvalue));
            } else {
               zMvalue = Double.parseDouble (list.get (i).get (k))
                     - (nettodivergenz.get (list.get (0).get (i - 1))
                     + nettodivergenz.get (list.get (0).get (k)));
               innerList.add (String.valueOf (zMvalue));
            }
         }
         zwischenMatrix.add (innerList);
      }
      System.out.println ("Schritt 2 ZwischenMatrix: "+zwischenMatrix);

      // Schritt 3
      double min = Double.parseDouble (zwischenMatrix.get (0).get (0));
      List<Number> minVals = new ArrayList<Number> ();
      for (int i = 0; i < zwischenMatrix.size (); i++) {
         for (int k = 0; k < zwischenMatrix.size (); k++) {
            if (Double.parseDouble (zwischenMatrix.get (i).get (k)) < min) {
               min = Double.parseDouble (zwischenMatrix.get (i).get (k));
               minVals.add (min);
               minVals.add (i);
               minVals.add (k);
            }
         }
      }
      double disij=Double.valueOf (list.get ((Integer)minVals.get (1)+1).get ((Integer)minVals.get (2)));
      String iij = list.get (0).get ((Integer)minVals.get (1));
      String jij = list.get (0).get ((Integer)minVals.get (2));
      String ij = iij+jij;
      double disiij= (disij+nettodivergenz.get (iij)
            -nettodivergenz.get (jij))/2;
      double disjij= (disij+nettodivergenz.get (jij)
            -nettodivergenz.get (iij))/2;
      System.out.println ("Schritt 3 MinVal: " +minVals);
      System.out.println ("Schritt 3 "+ij+" zu "+iij+" "+disiij);
      System.out.println ("Schritt 3 "+ij+" zu "+jij+" "+disjij);

      //--> Teilbaum erzeugen
      BinaryTree t = Graphs.leaf (iij);
      BinaryTree t1 = Graphs.leaf (jij);
      BinaryTree combined = t.concat (t1,disiij, disjij);
      System.out.println ("Schritt 3 Teilbaum: "+combined);


      //Schritt 4
      list.remove ((Integer)minVals.get (2)+1);
      list.remove ((Integer)minVals.get (1)+1);
      for (int i=0;i<list.size ();i++){
         int a = (Integer)minVals.get (2);
         int b = (Integer)minVals.get (1);
         list.get (i).remove (a);
         list.get (i).remove (b);
      }
      System.out.println ("Schritt 4 Löschung: "+list);
      List<String> duklist = new ArrayList<String> ();
      for (int i=1;i<list.size ();i++){
         double dik=Double.valueOf (oldlist.get ((Integer)minVals.get (2)+1).get (i+1));
         double djk=Double.valueOf (oldlist.get ((Integer)minVals.get (1)+1).get (i+1));
         double dij=Double.valueOf (oldlist.get ((Integer)minVals.get (1)+1).get ((Integer)minVals.get (2)));
         double duk= (dik+djk-dij)/2;
         duklist.add (String.valueOf (duk));
      }
      duklist.add (String.valueOf (0.0));
      int s = list.size ();
      list.get (0).add (ij);
      for (int i=0;i<s+1;i++){
         if (i==s)list.add (duklist);
         if (i>0&&i<s)list.get (i).add (duklist.get (i-1));
      }
      System.out.println ("Schritt 4 duklist: "+duklist);
      System.out.println ("Schritt 4 Ergebnisliste: "+list);


      //Teilbaum erzeugen Teil 2
      if (resTree==null)resTree=combined;
      else if (list.size ()-1==2){
         resTree=resTree.concat (combined,Double.valueOf (duklist.get (0))/2);
      }else{
         resTree=resTree.concat (combined,disij);
         System.out.println (resTree);
      }


   }
   return resTree;
}

20.01.2010 - 21:20 Uhr

Jajaja... muss ja erstmal was überlegen...

Eine hübsche Rekursive Implementation der Russian Peasant Multiplication / Ancient Egyptian Multiplication...

Viel Spaß 😄

20.01.2010 - 21:06 Uhr

Okay... wieder was gelernt... den Weg kannte ich noch nicht 😃


public static int square(int val)
{
  if (val == 1)
    return 1;
  else
    return val + (val - 1) + square(val - 1);
}

Achso... Quelle: http://en.wikipedia.org/wiki/Square_(algebra)

20.01.2010 - 20:52 Uhr

Also meine Aufgabe:

programmiere eine einzige Methode f(n) zum Berechnen der Quadratzahl n^2.
Allerdings sind * und / nicht zugelassen. Was als arithmetische Operation zugelassen ist, sind: + und - .
Ahso und lokale/temporäre Variablen sind natürlich auch nich zugelassen 😉

beste Grüße
zommi

Also ich bezweifel, dass es mit nur einer Methode möglich ist 😉 du musst ja irgendwie ne Laufvariable und ne tmp mitgeben. Hab das aber mal in Scala gelöst mit nur "einer" Methode 😄


def square(value: Int) = {
    def sq(value: Int, tmp: Int, count: Int): Int = {
      if(count == 0)
        tmp
      else
        sq(value, tmp + value, count-1)
    }
    sq(value, 0, value)
  }

20.01.2010 - 19:42 Uhr

Ja dann hau ma die nächste Aufgabe rein 😄

17.01.2010 - 13:24 Uhr

Also eine normale Schreibtischlampe mit Kathode oder Halogen sollte ja auch keine Unmengen an Strom erbrauchen... Lass es 10W sein, dann kommste im Winter bei sagen wir 8h Laufzeit auf einen Tagesverbrauch von 80W/h = 0,08kW/h... das kostet dich dann ca. 2 Cent.

edit: naja... die meisten liegen bei 20-30 W, gerade geschaut, aber dan sind es auch nur 5-6 Cent 😄

16.01.2010 - 01:55 Uhr

Hmmm.... also nach den ersten "C/C++" Erfahrungen in der Schule und ein wenig X/HTML, PHP und JavaScript habe ich mein erstes Richtiges Programm in meinem Praktikum für die FH-Reife erstellt. Das war ein Bildbetrachtungsprogramm in C# mit WPF Oberfläche. Danach habe ich in der gleichen Firma einen Syslog-Viewer/-Empfänger in C# mit WinForms geschrieben und ein paar kleinere Tools in C++ und C#. Im Studium bin ich dann im ersten Semester mit Ruby in Berührung gekommen, welches noch einer anfänglichen Abneigung doch sehr interessant für mich war, besonders im aktuellen Semester in Verbindung mit Rails. Im 2. und auch im jetzigen 3. Semester kam dann Java dazu, was meiner Meinung nach mehr ein Zustand ist.... also wirklich nicht mein Fall. Und ein wenig Scala, was mir die wunderbare Welt der funktionalen Programmierung näher gebracht hat, weshalb ich nächstes Semester auch den Wahlpflichtkurs Scala belege. Nebenbei programmiere ich noch in Objective-C für das iPhone und einige kleinere Shop-Plugins in PHP und ActionScript/Flex. Desweiteren werden wir im nächsten Semester im Software Engineering 2 Praktikum ein Spiel für das Microsoft Surface auf Basis von XNA entwickeln.

Wenn ich mir das jetzt so angucke ist das viel Querbeet, aber Syntax ist ja zum Glück das einfachste 😄

11.01.2010 - 22:57 Uhr

Hm... Also ein AVL-Baum sollte bei Veränderungen (einfügen oder löschen von Elementen) selber wissen, ob er rebalanciert werden muss, oder nicht. Daher gibt es kein "möglichst balanziertes Auffüllen". 100 Werte einfügen geht doch ganz einfach mit einer Schleife. Und Zeit messen ist mehr als unsinnig, weil die Zeit auf jedem System anders ist. Bei Operationen auf ADT´s und Algorithmen bestimmt man normalerweise das Big-O. Das gibt an, wieviele Operationen für den Algorthmus im Worst-Case notwendig sind. Z.B. ist es beim Suchen in einem AVL-Baum (bzw. in allen Binär-Bäumen) O(log n).

Ich hoffe das hilft dir etwas weiter.

Gruß

Dario

09.01.2010 - 23:22 Uhr

f# ist keine konkurenz zu c#. genau so wenig wie c# fu f# keine ist. die sprachen sind komplett unterschiedlich. manche aufgaben lassen sich in c# sehr umständlich lösen, wogegen das in f# ganz leicht ist. wiederum andere sind in f# nur sehr unschön möglich, und in c# kein problem. sie decken unterschiedliche bereiche ab.

Welche Aufgaben sind denn in F# unschöner zu lösen, als in C#?

09.01.2010 - 23:01 Uhr

Also ich sehe auch C# und Java aussterben, wenn sich nicht schnellstens was in Richtung Concurrency tut. Das Thema wird nunmal immer wichtiger und wurde bisher leider nur sehr Stiefmütterlich behandelt. Wenn die C# Entwickler nicht aufpassen werden die bald von F# aus dem Rennen gekickt.

09.01.2010 - 22:57 Uhr

Die Möglichkeit in einem Interface einen Constructor zu definieren. Mit
>
zeigt .NET recht schön, dass das Feature manchmal nicht schlecht wäre.

Ich würde sogar so weit gehen und sagen, dass man ganze Methoden in Interfaces implementieren können sollte. Das ganze funktioniert in Scala mit Traits wunderbar! Bin ein echter Fan davon geworden.

07.01.2010 - 20:03 Uhr

Also in naher Zukunft wird es sicherlich in Richtung funktionale Programmiersprachen gehen, da die Multicoresysteme sonst einfach nicht handzuhaben sind. Selbst C# unterstützt seit der Sprachversion 3.0 und dem zugehörigen Framework einige funktionale Konzepte, wenn auch noch lange nicht genug. F# ist ein weiteres Beispiel und der Versuch von Microsoft sein Stück vom funktionalen Kuchen abzuschneiden^^. Dann gibt es z.B. noch Clojure, welches eine LISP implementation für die JVM ist (wer´s mag). Aber mein klarer Favorit ist Scala. Die Mischung aus funktionaler und objektorienterter Sprache (beides wird voll unterstützt) ist einfach genial. Im Bereich Multicore punktet Scala eindeutig mit den Aktoren, welche aus Erlang stammen und ein besseres Konzept bieten als herkömmliche Threads.

06.01.2010 - 20:14 Uhr

Ansonsten gäbe es da noch die Parallel Extensions, die schon parallele Schleifen enthalten.

18.12.2009 - 17:18 Uhr

Keine Window-Messages... Wie herbivore bereits geschrieben hat ist das nicht zukunftssicher udn ausserdem gibt es bessere Mittel 😃. Ich habe dir hier mal ein kleines Tutorial gesucht: http://www.codeguru.com/csharp/csharp/cs_syntax/remoting/article.php/c9251/

Das sollte eigentlich reichen, um deine Anwendungen kommunizieren zu lassen.

18.12.2009 - 12:46 Uhr

Hinter das ToCharArray noch Klammern.

18.12.2009 - 12:37 Uhr

BinaryWriter.Write(string) schreibt einen length prefixed string. Das heisst, dass vor dem String die Länge geschrieben wird. Rufe es einfach mit BinaryWriter.Write(string.ToCharArray()) auf, dann sollte es klappen.

edit: Klammern vergessen 😉

18.12.2009 - 12:26 Uhr

Ob ein Programm noch reagiert kannst du mit Process.Responding herausfinden. Sollte die Oberfläche nicht auf Benutzereingaben reagieren liefert es false. Wenn keine Oberfläche vorhanden ist liefert es immer true. Also geht es nur mit einem GUI. Beenden kannst du den Prozess dann einfach mit Process.Kill und starten mit Process.Start.

18.12.2009 - 12:07 Uhr

Du kannst auch bei einem BinaryWriter ein Encoding angeben: BinaryWriter Constructor (Stream, Encoding)

Aber eigentlich solltest du es auch selber schaffen mal einen Blick ins MSDN zu werfen.

18.12.2009 - 11:58 Uhr

BinaryWriter.Write(byte[])... damit klappt das wunderbar, wurde aber auch schon hier geschrieben. Das sind auch alles Grundlagen, die man einfach bei Google finden kann.

17.12.2009 - 18:41 Uhr

Könnte daran liegen, dass 128 bis 159 in Unicode Steuerzeichen und somit nicht druckbar sind. Mit falschem Encoding könnte es dann sein, dass er komische Zeichen druckt.

17.12.2009 - 17:28 Uhr

Das könnte an der Endianness liegen. Verschiedene Prozessortypen (Intel und Motorola) legen die Bytes in unterschiedlicher Reihenfolge ab. Siehe hierzu:

Wikipedia (Endianness)

Hoffe das hilft dir.

Gruß

Dario

13.12.2009 - 23:53 Uhr

Ah... mein Fehler... hab nur auf das if geachtet und den Methodenaufruf übersehen... 😉

13.12.2009 - 22:19 Uhr

Auf jedenfall funktioniert mein Code einwandfrei, wenn man einen kleinen schreibfehler behebt 😉 Ein "&" != UND.

Das ist so nicht ganz richtig.... Auch ein "&" ist ein und, nur ist ein "&&" short evaluation. Das heisst, dass bei einem "&&" nach dem ersten false abgebrochen wird, wohingegen bei einem "&" trotz auftretender false weitergemacht wird. Dein Code hat jetzt ein "|", welches ein Oder ohne short eval ist, was bedeutet, dass es nicht nach dem ersten true aufhört.

13.12.2009 - 22:03 Uhr

Hallo,

ja, das habe ich ja gelesen, aber wie (und vor allem: woran) binde ich die Textboxen in meiner Form an?

Dann muss ich die Werte nicht mehr einzeln aus der Datenbank auslesen bzw. in der Datenbank speichern. Auch das Blättern zum nächsten / vorherigen Datensatz ginge dann ja automatisch.

Früher in Visual Basic (ich glaube ab Version 3 oder 4 Prof.) hatte ich dazu ein Steuerelement (DataControl?), an das ich eine Access MDB angebunden habe. An das Dataset habe ich dann die Textboxen binden können. Mit Commit und Rollback wurden dann die geänderten Daten gespeichert bzw. verworfen. Auch das Blättern ging sehr einfach.

Ich suche nun nach einer Möglichkeit, dies mit C# und SQL-Server 2008 Express nachzubilden. Ich bin mir sicher, dass es dazu was passendes gibt.

Viele Grüße

Christoph

Bau dir einfach ein Model mit den entsprechenden Methoden. Dann schreibst du einmal den Code und brauchst dann nur noch z.B. Model.find(id) aufzurufen, um den Datensatz zu bekommen und kannst dann eine Form öffnen und der den Datensatz übergeben. Wenn dir das noch zu viel Arbeit ist, dann mach dich mal über O/R-Mapper schlau. Die nehmen dir auch noch die arbeit ab, das Model selber zu schreiben.

13.12.2009 - 21:54 Uhr

Wenn sich der Player eh immer beim Hochfahren starten soll, aber die GUI evtl. garnicht, dann würde ich eher den Player als Daemon machen und die ganze Steuerung über IPC (Interprozesskommunikation) lösen. Das macht dann auch das Tauschen der einzelnen Komponenten (PlayerDaemon, GUI, RemoteService) einfacher.

04.12.2009 - 11:11 Uhr

Kann es also der richtige weg sein dass ich die Jungs mal bitte zu prüfen ob da in ihrer Implementierung was hakt?

Fragen kostet ja nichts. Vielleicht haben sie es ja bei dieser Funktion vergessen.

03.12.2009 - 20:55 Uhr

Die Frage ist, wie die C++ Funktion aussieht. Wenn man mit Unicode Strings arbeitet muss man wchar_t* statt char* verwenden, da ein Unicode Zeichen aus 16bit besteht. Dewsegen haben Chars in C# und Java z.B. auch 16 statt 8 bit. Ich denke daran wird es liegen. Wenn du die C++ DLL anpassen kannst, dann versuch es, ansonsten hilft dir das vielleicht weiter:

http://www.dotnet247.com/247reference/msgs/19/97656.aspx

Gruß

Dario

11.10.2009 - 17:41 Uhr

@michlG:

Also ich gebe gerne zu, dass einige Sachen fehlen, z.B. Dateiaustausch über Bluetooth wäre schön, oder halt auch die komplette Unterstützung für Exchange, aber es ist trotzdem bisher meiner Meinung nach das beste Smartphone OS, dass auf dem Markt ist. Aber das muss ja jeder für sich entscheiden.

Und was heisst hart ausgedrückt... Steve Ballmer sagte wörtlich: "We screwed up with Windows Mobile" 😄

11.10.2009 - 15:27 Uhr

PC:

AMD 64 X2 6000+
4GB DDR2 800 (2 A-Data, 2 OCZ)
MSI Board, ka welches
System Platte Samsung 250 GB SATA II
2x 500 GB Symsung SATA II im Raid 0
XFX GF 8800 GT 512 MB
Samsung T220 22" 1650 x 1080
BenQ FP93G 19" 1280 x 1024

Notebook:

Apple MacBook Pro 15" (Late 2008)
C2D 2,53 GHz
4 GB DDR3-RAM
GF 9400M 512 MB
GF 9600M 512 MB
320 GB Platte

11.10.2009 - 15:15 Uhr

Du solltest dir evtl. mal Android angucken. Die App "Touchdown" kann Exchange syncen. WM 6.5 soll ja nicht so der Bringer sein. Selbst Steve Ballmer hat ja letztens auf der Microsoft Venture Capital Summit gesagt, dass das Ding Schrott ist.

10.10.2009 - 13:12 Uhr

Also ich komme mit dem Akku wunderbar mehrere Tage hin. Je nach Nutzung bis zu drei Tage und ohne dauernde Datenverbindung auch länger. Und es ist nicht immer alles aktiviert, man kann es auch ausschalten.

edit: Und zum schreiben kann ich auch nur sagen, dass ich es wunderbar hinbekomme auch sehr schnell zu schreiben. Das ist alles Übungssache.

10.10.2009 - 11:33 Uhr

Wenn Aufgaben tatsächlich nicht gehen sollten, wäre das IPhone damit raus.

Es gibt einige Apps, die das ermöglichen. Derzeit aber so wie es aussieht noch ohne Erinnerung. Ansonten kann ich das iPhone 3GS nur empfehlen. Gute Akkulaufzeit, sehr gute Bedienung und die Fülle an Apps ist einfach unschlagbar.

24.09.2009 - 09:21 Uhr

Hi,

solltest du auch ganze Objekte in XML speichern wollen solltest du dir auch den XmlSerializer anschauen.

Gruß

Dario

18.09.2009 - 11:16 Uhr

Hi,

einfach den Namespace Microsoft.VisualBasic.ApplicationServices hinzufügen (referenz im Projekt nicht vergessen) und dann eine Klasse von WindowsFormsApplicationBase ableiten, die in etwa wie folgt aussieht:


static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            MyApp app = new MyApp();
            app.Run(new Form1());
            
        }
    }

    class MyApp : WindowsFormsApplicationBase
    {
        public MyApp()
        {
            this.IsSingleInstance = true;
        }

        public void Run(Form mainForm)
        {
            this.MainForm = mainForm;
            this.Run(this.CommandLineArgs);
        }

        private void Run(ReadOnlyCollection<string> commandLineArgs)
        {

            // convert the Collection<string> to string[], so that it can be used

            // in the Run method.

            ArrayList list = new ArrayList(commandLineArgs);

            string[] commandLine = (string[])list.ToArray(typeof(string));

            this.Run(commandLine);

        }
    }

Ich hoffe das hilft dir.

Gruß

Dario

18.09.2009 - 02:26 Uhr

Also ich würde mir einfach ein paar serialisierbare Klassen bauen. Dann brauchst du nicht den ganzen Kram mit Stringbuilder usw... erspart dir ne Menge arbeit.

13.09.2009 - 22:38 Uhr

Solange du nicht sagst, dass ein Zeichen, oder eine Sequenz öfter vorkommen kann, z.B. mit *,+ oder was auch immer, darf es nur einmal vorkommen.

31.08.2009 - 08:30 Uhr

Ich würde gerne ein Konstrukt aus D sehen und zwar die Pre- und Post-Contracts. Das sieht folgendermaßen aus:


int MyMethod(int a, int b)
{
  in
  {
    // check input values
  }
  out(result)
  {
    // check return value
  }
  body
  {
    // do sth
  }
}