Laden...
L
Benutzerbeschreibung

Forenbeiträge von Lord Hessia Ingesamt 497 Beiträge

14.08.2006 - 10:06 Uhr

Ich würde mal sagen, dass sind besch... Daten. Woher soll Dein Programm denn wissen, wann es sich um ein Trenner-Leerzeichen handelt und wann um ein Leerzeichen im Wort?
Du kannst mit Sicherheit auch nach \t trennen, aber dazu müssen zwischen den Worten natürlich auch Tabs stehen.

14.08.2006 - 09:45 Uhr

Du kannst für jedes Element aus test abfragen, ob seine Länge > 0 ist.
Alternativ kannst Du auch RegEx beim Auslesen verwenden.

14.08.2006 - 09:41 Uhr

Die verschiedenen Systemordner kannst Du über Environment abfragen. Einen hilfreichen Text dazu findest Du hier: http://bdn.borland.com/article/0,1410,32384,00.html
In einer Windows-Forms-Anwendung geht das meines (Un-)Wissens auch noch einfacher.

14.08.2006 - 09:31 Uhr

Original von herbivore
Ist es wirklich so, dass wenn man ein Oberklasse-Array xml-serialisiert, die enthalteten (Unterklasse-)Objekte ohne das XmlInclude nicht korrekt serialisiert werden?

Das wäre schön. Nein, es ist so, dass eine Exception fliegt, deren genauen Wortlaut ich gerade nicht mehr kenne, die aber ungefähr den Sinn von "Unterklasse erwartet, Oberklasse angegeben" hat. Und es wird im Folgenden dann natürlich gar kein XML gespeichert.

14.08.2006 - 03:22 Uhr

Hallo AKR,

ich kenne Eure Skype-Konversation nicht und will sie eigentlich auch gar nicht kennen. Mir ist nur aufgefallen, dass die Bemerkungen von Dir und Golo in den verschiedenen Threads durchaus einen unterschiedlichen Charakter hatten. Seine war einfach nur sinnfrei und lustig, hat aber niemanden in irgendeiner Weise beleidigt.
Deine war nicht sinnfrei, ebenfalls lustig, aber durchaus für den Themenersteller in den falschen Hals zu bekommen. Was man ja auch an seiner Reaktion sehen kann.

Von daher würde ich Dir einfach empfehlen, nicht 100% ernstgemeinte Statements, die falsch verstanden werden könnten, als solche zu kennzeichnen - Möglichkeiten gibt's da ja genug.

Falls es Probleme mit Golo oder anderen an diesem Forum beteiligten Personen geben sollte, dann solltet Ihr das wirklich per Skype klären. Ich finde es weniger von allgemeinem Interesse, wer was gesagt hat und was sich der eine im Gegensatz zum anderen nicht rausnehmen darf.

So, Pfadfinderpflicht getan. Dann muss ich ja heute keiner alten Oma mehr über die Straße helfen...

Gruß Flo

14.08.2006 - 02:53 Uhr

Original von tomylee

  
  		this.label2.Text = IBM.GetPriceBuy;  
        }  
   }  
  

this.label2.Text ist ein string. IBM.GetPriceBuy vom Typ double.

13.08.2006 - 23:16 Uhr

Wenn ich Dich richtig verstehe, dann meinst Du damit, das Array in einer Schleife zu durchlaufen und jede Unterklasse einzeln zu speichern. Das führt aber dazu, dass die XML-Datei bei jedem Schleifendurchlauf überschrieben wird, was ja auch logisch ist bei folgendem Code:

try {
    xmlSerializer = new XmlSerializer(AppSettings);
    xmlWriter = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\MeinProg" + @"\settings.xml",false);
    xmlSerializer.Serialize(xmlWriter, AppSettings);
}
catch(Exception e) {
   Exception ex = e.GetBaseException();
   Console.WriteLine(ex.Message + ex.StackTrace);
}
finally {
   if(xmlWriter != null) {
      xmlWriter.Close();
   }
}

Ich hatte jetzt, um Deinen Vorschlag zu testen, eine Schleife um das gesamte try-catch gebastelt und darin den Array durchlaufen, sowie statt AppSettings eben array_.GetType() verwendet.
Außerdem würden ja so die anderen Werte neben dem Array aus AppSettings flöten gehen.
Vielleicht habe ich Dich auch nur falsch verstanden?

13.08.2006 - 21:31 Uhr

Ich möchte ein paar Daten meiner Konsolenanwendung in einer XML-Datei zwischenspeichern. Das klappt mit dem XmlSerializer auch soweit ganz gut.
Da neben einigen popeligen Einzelwerten auch ein Array gespeichert werden soll, dessen Elemente alles eigene Klassen sind, die natürlich eine gemeinsame (ebenfalls selbst erstellte) Oberklasse haben, kann die Datei nur erstellt werden, wenn man XMLInclude auf folgende Weise anwendet:


[System.Xml.Serialization.XmlInclude(typeof(Unterklasse1))]
[System.Xml.Serialization.XmlInclude(typeof(Unterklasse2))]
...
[System.Xml.Serialization.XmlInclude(typeof(Unterklasse25))]
  public abstract class Oberklasse {
  }

s. auch http://unboxedsolutions.com/sean/archive/2004/07/17/249.aspx
Das ist natürlich alles andere als sauber, weil man für jede neue Unterklasse, die man in Zukunft noch erstellt, die Oberklasse wieder anfassen und ein weiteres Attribut hinzufügen muss. Mal abgesehen davon, dass eine Klasse mit mittlerweile 25 Attributen (weil es 25 Unterklassen gibt) absolut scheußlich aussieht.
Gibt es auch eine Möglichkeit, einfach bei den Unterklassen die jeweilige Oberklasse anzugeben?

P.S.: Da die Unterklassen keine neuen Attribute gegenüber der Oberklasse besitzen, würde es mir auch reichen, wenn bei der Serialisierung wirklich nur 25x die Oberklasse gespeichert würde.

13.08.2006 - 21:01 Uhr

Ich glaube Kabelsalat meinte auch eher:


float f = 0.1f;
int i = 0;
i = (int)f;
13.08.2006 - 18:12 Uhr

In einem Forum ist es doch soooo einfach, einen Thread einfach zu schließen, wenn er oder der Autor einem auf den Keks geht...

12.08.2006 - 13:12 Uhr

Wenn Du Arrays verwendest, müssten es wahrscheinlich sogar zwei sein: Zum einen die Feldbezeichner und zum anderen deren Werte.

12.08.2006 - 12:49 Uhr

Ich wollte Dir gerade eine PM schreiben, da es galube ich keinem mehr weiterhilft, hier über das Problem des unerreichbaren Codes zu diskutieren und das wahrscheinlich mit 10 Sekunden skypen erledigt wäre, aber ich darf offenbar nicht...

Dann also nochmals: Du kannst den unerreichbaren Codeblock selber finden. Einfach doppelt auf die Fehlermeldung klicken und der Cursor sprint an die relevante Stelle! Habe es eben nochmal mit #Develop ausprobiert und ich denke, dass das dann auch das Visual Studio kann - oder was verwendest Du?
Ist es Absicht, dass Du der Methode createKMLMarkers() als letzten Wert den String "Farben" übergibst, der gar nicht in den verschienden cases vorkommt?

Zu dem Interface: Da muss ich um 180° zurückrudern. Habe gerade nach einem Beispielartikel für Interfaces gesucht und dabei gesehen, dass man in C# in Interfaces KEINE Konstanten definieren kann. Der Sinn will mir nicht so ganz einleuchten, aber da kann man wohl nix machen.
Die Vorgehensweise mit dem Interface war mir aus Java vertraut und ich hatte bislang nicht nachgesehen, ob das auch mit C# klappt. Folglich bleibt noch drei andere Varianten:

  1. Du definierst die Konstanten in Deiner Klasse KMLTools, wenn Du sie in keiner anderen Klasse benötigst.
  2. Du legst eine separate statische Klasse an, die die Konstanten enthält (geht erst ab .NET2.0).
  3. Du verwendest statt eines Interfaces eine Klasse um die Konstanten zu defnieren und von der dann Deine Klaseen, die auf die Konstanten zugreifen müssen, erben. Das ist aber nicht besonders sauber und solltest Du nur machen, wenn Du die Konstanten wirklich in mehreren Klassen benötigst und kein .NET2.0 verwendest.
    Interfaces werden ganz gut hier erklärt: http://www.codersource.net/csharp_tutorial_interface.html . Da siehst Du auch, wie man Interfaces verwendet, auch wenn es aktuell vielleicht nicht notwendig sein sollte.
12.08.2006 - 12:07 Uhr

Du musst bedenken, dass sich der Rahmen um das div einen feuchten Kehrricht um die Dinge schert, die Du innerhalb des divs absolut positionierst. Wenn Du das absolute beibehalten willst, gäbe es eine einfache Möglichkeit: Den body-Tag für die Definition des Rahmens verwenden!!!

Eine Alternative wäre das vorgeschlagene clear:both von plucked. Wie das genau funktioniert findest Du hier: http://css-technik.de/css-examples/219_9/

12.08.2006 - 11:36 Uhr

Herbivore ist also offensichtlich auch ein alter Snake-Guru und hat Deine Fragen schon weitesgehend mit dem beantwortet, was ich auch geschrieben hätte.

Für den Mehspielermodus fallen mir mindestens zwei Möglichkeiten ein. Zum einen ein einfaches Spiel gegen die Zeit, in der in einem festgelegten Zeitraum die meisten Punkte geholt werden müssen. Und dann eben der Modus, wo es darum geht, den Gegner in die Enge zu treiben.

Außerdem noch weitere interessante Features:

** Highscoreliste offline (also im Programm direkt abrufbar) und online (also auf einer Webseite).

** Nicht nur grüne, essbare Dinge sondern auch nicht essbare (z.B. Spinat - damit würdest Du gleich ein viel jüngeres Publikum ansprechen, die doch heutzutage ein wahres 2D-Spiel gar nicht mehr zu schätzen wissen 😉 - oder Zitronen - wie wir alle wissen, vertragen Schlagen ja kein Vitamin C... oder so).
Hier könnte man sich natürlich auch noch andere Gimmicks ausdenken, die die Schlange temporär schneller oder langsamer werden lassen, vergrößern oder verkleinern, die aufgesammelten Punkte für einen bestimmten Zeitraum erhöhen oder verringern, etwas dass die ganze Schlange unsichtbar werden lässt bis auf den Kopf oder das einfach die Farben umdreht usw.

** Psychedelische Fahrstuhlmusik im Hintergrund

** Explosionsanimationen beim Zerstören der Schlange

mir fällt bestimmt noch mehr ein bis morgen 🙂

12.08.2006 - 01:48 Uhr

Coole Sache. Hab jetzt gezockt bis die Augen geflimmert haben - leider geht das nach einem durchprogrammierten Tag recht schnell... Immerhin 840 Punkte.

Meinst Du, Du kriegst es hin, dass die grünen was auch immer - waren das nicht Äpfel im Original ? - nicht unter der Schlange auftauchen könne?

Ansonsten - ich warte schon auf Version 2.0 mir Gegner und Netzwerkmodus 😁

11.08.2006 - 20:32 Uhr

Wenn Du die Datei schon bearbeitet hast, was ja durchaus löblich ist, dann hättest Du durchaus auch gleich die auskommnetierten Codeteile weglassen können. Aber da habe ich jetzt auch genug drauf rum gehackt...

Ich denke aber, dass Du den relevanten Teil Deines Quellcodes nicht gepostet hast. Das soll jetzt aber keine Aufforderung sein, das ganze noch nachzuholen. Du kannst den Fehler, so wie es herbivore in seinem verlinkten Beitrag geschrieben hat, auch selber finden.
Entweder springt der Cursor bei einem Klick auf den Fehler ohnehin an die relevante Codestelle oder Du musst - wie der Name schon sagt - nach nicht erreichbaren Codestellen suchen. Das können z.B. so etwas sein:


// Anweisung nach return
int foo() {
  return 5;
  int z = 3;
}

oder so etwas:


// Anweisung nach break
int foo(int i) {
  switch(i) {
    case 1:
      Console.WriteLine("hallo");
      break;
    case 2:
      Console.WriteLine("hello");
      break;
      Console.WriteLine("ich bin nicht erreichbar");
    default:
      Console.WriteLine("hullo");
      break;
  }
}

Das Interface gehört der Übersichtlichkeit halber in eine separate .cs-Datei. Das Interface ist übrigens nicht die einzige Möglichkeit, die Konstanten in mehreren Klassen zu benutzen. Du kannst auch eine statische Klasse erstellen und dort die Konstanten definieren. Diese lasse nsich dann ebenfalls überall in Deinem Programm benutzen mit statischeKlasse.Konstante - statische Klassen gibt es aber erst ab .NET2.0
Wenn Du die Konstanten nur in einer einzigen Klasse benötigst und sich das auch in absehbarer Zeit nicht ändern wird, dann kannst Du sie auch direkt in Deiner Klasse definieren.

11.08.2006 - 19:19 Uhr

Auch wenn Du meinen Vorschlag offenbar ignoriert hast, will ich Dir nochmal helfen...

Ich glaube nicht, dass Du html wirklich kannst. Dies würde Dir nämlich Deine Frage ersparen, die absolut nix mit ASP.NET zu tun hat. Woher, so frage ich Dich, soll denn Dein <div> wissen, dass Du es gerne über die ganze Seite getreckt haben möchtest? Ich denke, ein Blick auf http://de.selfhtml.org/html/text/bereiche.htm#block würde Dir weiterhelfen

P.S.: Ich glaube für diesen contentplaceholder-Teil wird Dich irgendwann ein gescheiter ASP.NET-Entwickler erdolchen. Das ist furchtbar!

BTW: Du solltest den oberen Bereich einer Seite möglichst nicht als header bezeichnen, das verwirrt (zumindest mich) etwas.

11.08.2006 - 19:03 Uhr

Sorry, meine Antwort war ziemlich sinnfrei. Der Umstieg auf continue bewirkt natürlich mal rein gar nix. Jetzt bin ich abre wieder zu Hause und kann normal denken 😁

Mir ist immer noch nicht ganz klar, woher der Fehler eigentlich kommt. Meines Erachtens sind alle Codeblöcke erreichbar, aber der Compiler kann das vermutlich besser als ich, zumal der Code mit den ganzen auskommentierten Bereichen nicht wirklich gut lesbar ist. Kann es sein, dass Du ein paar Zeilen auf dem Weg von Deiner IDE hier ins Forum verloren hast?

Zu Deiner Idee mit der zweiten Klasse: Das geht noch einfacher. Definiere Dir ein Interface, das lediglich die Konstanten für die Farben enthält:

public interface Farben {
    public const string hellgruen = "#7fff00";
    public const string zyanblau = "#00ffff";
    public const string mediumorchid = "#ba55d3";
    // usw.
}

Dieses lässt Du dann Deine Klasse implementieren. Dadurch kannst Du die Konstanten in allen Deinen Klassen verwenden und Dir die switch-Anweisung sparen.

@Dexter: Gemeckert wird deswegen vom Compiler aber nicht. Zumindest #Develop lässt mich das ohne Fehler tun.

11.08.2006 - 18:12 Uhr

continue statt break verwenden?

11.08.2006 - 18:08 Uhr

@sheitman: Du hattest Recht. Dieses Framework baut lediglich einen PerlCompiler mit Java nach.

11.08.2006 - 17:45 Uhr

Wie DAS jetzt alles zusammenspielt will ich mir gar nicht so recht vorstellen. Es ist Freitag abend!!! Aber vielleicht ist es ja möglich, den EventListener erst nach dem Anzeigen der ComboBox hinzuzufügen oder zu aktivieren?

Oder Du fragst im EventHandler ab, ob die ComboBox überhaupt sichtbar ist, falls der Event bereits fliegt kurz bevor sie angezeigt wird.

11.08.2006 - 17:43 Uhr

Original von Peter Bucher
Ich kann es nicht mit bestimmter Sicherheit sagen, aber meinem Gefühl nach, ist das Ausrechnen der Zahl PI für einen Heutigen Prozessor, keine grosse "Last".

/OT: Deinen modernen Rechner hätte ich auch gerne, für den das Berechnen einer endlosen Zahl keine große Last darstellt... Was kann der denn noch so alles? Die Frage zur Antwort 42 liefern? 😁

11.08.2006 - 16:10 Uhr

Und wenn Du das Ding zuerst anzeigst und dann den Fokus setzt?

11.08.2006 - 15:31 Uhr

Gibt es so etwas wie LostFocus oder so? Das wäre am sinnvollsten denke ich

11.08.2006 - 15:09 Uhr

Ich dachte der Wunsch war ... ach so, aussprechbare Wörter - nicht echt Wörter - zu erzeugen. Ok, das hatte ich falsch verstanden.

11.08.2006 - 15:01 Uhr

Original von Dexter
Wie würdest du dir die Implementierung von deiner Idee vorstellen. Ich kanns mir nur so denken: Ich schreib da halt n paar Vordefinierte Worte rein und per Random such ich dann halt eine aus. Mögliche wäre auch noch 2 Zahlen anzufügen oder so.

Dexter

Wie wär's damit einfach ein zufälliges Wort von einer Webseite abzurufen? 😁

11.08.2006 - 15:00 Uhr

Eine weitere (etwas ungewöhnliche) Möglichkeit zu 2 findest Du hier: Konsolenanwendung über Webbrowser konfigurieren

11.08.2006 - 14:49 Uhr

@herbivore: Du magst Recht haben, aber dafür haben auch noch andere (z.B. ich) durch svensons Aussagen was dazulernen können. Der Thread war also alles andere als unnötig.

11.08.2006 - 12:45 Uhr

Original von Rapthor
In Eclipse hatte man einfach den Namen der Klasse eingegeben und vervollständigen lassen, der Import erfolgte automatisch.

Das stimmt! Das nervt mich auch immer tierisch. Warum geht das bei .NET nicht? Weder beim Visual Studio 2003 noch bei #Develop. Gibt es da irgendwelche technischen Probleme?

11.08.2006 - 12:36 Uhr

Deine Fehlerbeschreibung ist etwas dürftig, aber wenn Du den Text eines GUI-Elements setzen willst, dann sollte das so gehen: textBox1.Text = irgendeinString

11.08.2006 - 12:00 Uhr

Original von sheitman

Original von Lord Hessia
Die Idee mit Perl dinde ich einen interessanten Ansatz. Aber wird zur Auswertung von regulären Ausdrücken in C# nicht sowieso Perl verwendet? Also in Java ist das zumindest so...
willst du damit sagen das java dann einen perl-interpreter startet um die ausdrücke auszuwerten?

sorry aber sowas kann ich nicht glauben

die regulären ausdrücke in java haben afaik nur die perlsyntax übernommen + paar eigne sachen
vielleicht verwechselst du da was

Ok, ich habe nochmal nachgeschaut und muss meine Aussage etwas ändern 😁
Wir verwenden nicht die standardmäßigen Java-Regex sondern das Oro-Regex-Framework von Apache und das setzt in der Tat auf Perl, zumindest heißen die Klassen Perl5Compiler etc.
Wie das beim standardmäßigen Regex-Framework von Java aussieht, kann ich nicht sagen.

11.08.2006 - 11:28 Uhr

Glückwunsch! Buch gelesen und Program erstellt in dieser kurzen Zeit - nicht schlecht.

Mir fallen jetzt keine krassen Fehler im Programm auf. Aber es ist ja immer was 😁
Zunächst mal finde ich sprechende Namen sehr gut. Dinge wie Buttonl1_Click und TextBox1 sagen einem beim Durchlesen nicht wirklich, um was es sich handelt. Genau das sollten die Namen aber tun. Möglichkeiten wären z.B. PlusButton_Click oder ErgebnisAnzeige.

Noch ein paar Fragen, die Du für Dich selber beantworten solltest: Sind eigentlich alle using-Direktiven wirklich nötig? Falls nicht, dann werf die nicht benötigten raus, das bläht nur das Programm unnötig auf.
Warum verwendest Du das Schlüsselwort partial?

Folgende Diskussion könnte Dich noch interessieren. Auch wenn die nicht unbedingt zu einer klaren Aussage führt:

/Edit: Eins habe ich noch vergessen: Achte darauf, Deinen Code zu kommentieren. Nicht nur andere Personen können ihn dann besser lesen sondern auch Du selber, wenn Du ihn in drei Monaten nochmal hervorziehst. Die richtige Menge an Kommentaren ist dabei genauso zu lernen wie man die Anwendung der Programmiersprachkonstrukte lernen muss. Bei so einfachen Methoden reicht es z.B. am Anfang zu schreiben, was sie tun und welche Parameter übergeben und welche Rückgaben geliefert werden können. Auch Klassen sollten kommentiert werden. Den Kommentarblock hat das Visual Studio ja bereits eingefügt.

BTW: Bespricht Dein Betreuer den Code nicht mit Dir?

11.08.2006 - 10:46 Uhr

Ich dachte, J# wäre einfach nur eine Riesenflop gewesen, da es ja offenbar von nahezu niemandem verwendet wird. Als Portierung von Java-Code ins .NET-FW hab ich das noch nie gesehen. Gibt es da verlässliche Aussagen von MS zu oder wurde das nur im Nachhinein so interpretiert?

11.08.2006 - 10:43 Uhr

ich find aber das intellisense sowieso arg unübersichtlich da z.b. event mit properties und methoden vermischt sind

wenn man etwas sucht aber nicht genau weiß wie es heißt, sucht man sich bald nen wolf 🙁

gibts da ein addin was das bissl "aufräumt"?

Zur Unterscheidung gibt es doch die verschiedenartigen Symbole vor den Namen.

11.08.2006 - 10:36 Uhr

Da fragt man sich natürlich, ob ein Schutz, dass nicht alles auf einmal automatisch gelöscht wird, evtl. gerade für Leute gemacht wurde, die "das ein oder andere Mal [..] aus Versehen im Designer einen Doppelklick auf etwas" machen... 😉

Ok, das war jetzt wirklich nicht so ganz ernst gemeint und enthält deutliche Argumentationsschwächen, die mir durchaus bewusst sind... 😁

11.08.2006 - 10:32 Uhr

Die Idee mit Perl dinde ich einen interessanten Ansatz. Aber wird zur Auswertung von regulären Ausdrücken in C# nicht sowieso Perl verwendet? Also in Java ist das zumindest so...

11.08.2006 - 10:27 Uhr

Du kannst die oIni bereits im Konstruktor von CDirFinder übergeben.

11.08.2006 - 10:19 Uhr

Im Gegensatz zu TiTime bin ich durchaus der Meinung, dass bei wenigen, strukturierten Daten ein XML-Dokument passend ist. Auch wenn Du nicht bereits ein absoluter XML-Profi bist. Denn wo wäre es besser, so etwas zu lernen, als bei einer in der Freizeit geschriebenen Anwendung. Statt der Verwendung von DTDs empfiehlt es sich XML Schema in Betracht zu ziehen. Für das Arbeiten mit XML-Dokumenten gibt es im .NET-Framewrok ja auch bereits Klassen, womit Du um die explizite Verwendung der genannten Parser herumkommen kannst und die Du Dir mal ansehen solltest.

11.08.2006 - 10:12 Uhr

@plucked: Wieso ist es denn nicht so schön, den Rahmen im body direkt zu definieren? Wenn ein Rahmen um die ganze Seite laufen soll, dann wäre das meiner Ansicht nach die richtige Stelle. Aber wie gesagt, ich bin kein HTML-Crack und lasse mich (gerne) g eines Besseren belehren...

11.08.2006 - 01:03 Uhr

Mit meinen ASP.NET-Kenntnissen ist es nicht sehr weit her, aber HTML etc. geht etwas besser, deshalb hoffe ich, Dir helfen zu können.
Wenn Du den body bereits um 200px nach links verschiebst, dann wird es schwierig darin ein Element zu definieren, dass die gesamte Seite einnimmt. Am besten Du definierste den Rahmen im body-Tag und entfernst die absolute Positionierung. Stattdessen gibst Du ihm 100% Breite und 100% Höhe und voilá, Du hast den gewünschten Rahmen.

Was den Ton in diesem Thread angeht, so fand ich den auch etwas unangemessen, allerdings weiß ich nicht, wieviele einfache Fragen Du schon gestellt hast - da solltest Du schon etwas sensibel für werden, da es einfach frustriert, wenn man das Gefühl hat, man macht die Hausaufgaben/Arbeit für andere Leute. Dafür wird Dir jeder gerne wieder helfen, wenn er merkt, dass Du durch seine Hilfe was gelernt hast und das nächste Mal erst bei schwierigeren Problemen wieder fragst.

10.08.2006 - 21:44 Uhr

Für viele mathematischen Probleme gibt es ja bereits fertige Funktionen, teilweise schon im .NET-Framework. Wenn es aufwändigere Grafikoperationen werden sollen, dann empfehlen sich natürlich DirectX oder OpenGL.
Einzelne Formeln und Erklärungen würde ich z.B. auf den Homepages von Professoren erwarten, die an Hochschulen Computergrafik oder angewandte Mathematik unterrichten. Hier ist es nur fraglich, ob die alles öffentlich zugänglich machen.

10.08.2006 - 21:36 Uhr

Ich hoffe doch. Wäre ja furchtbar, wenn man einen super aufwändigen Eventhandler geschrieben hat und den dann versehentlich löscht nur weil man den Button entfernt.

10.08.2006 - 17:56 Uhr

Der Name des Butten-Eventt-Handlers ist frei wählbar. Sie muss dann nur auch hinzugefügt werden. Such mal im Code nach btnHilfe += damit wirst Du die stelle finden, wo dem Button mitgeteilt wird, welche Methode als sein EventHandler registriert wird.

10.08.2006 - 17:10 Uhr

Es ist nicht so, dass Dir hier jemand etwas Böses will, nur bringt es ja nix, wenn Dein Betreuer ständig überrascht ist, was Du schon alles kannst und mit welcher Geschwindigkeit Du am ersten Tag die Aufgaben erledigst und Dich als weiter überfordert. Wichtig ist, dass Du am Ende der Ausbildung gut bist, nicht in der ersten Woche.

10.08.2006 - 17:07 Uhr

Im Grunde hast Du Recht und ich habe glaube ich auch noch nie zuvor geschrieben, dass jemand die Suche bemühen solle - lediglich auf Bücher habe ich hingewiesen 🙂
Es stimmt natürlich, dass ein Forum, in dem quasi automatisiert nach 5 Minuten die Antwort "Benutz die Suche" kommt und man jedes neue Posting mit "Ich habe bereits gesucht, aber..." beginnen muss, etwas nerven kann.
Und ich muss auch zugeben, dass ich Dein Posting gar nicht komplett gelesen und somit die speziellere Frage am Ende überlesen hatte. Da ich bei der aber nicht helfen kann, fasse ich nur mal die Essenz der über die Suche erreichbaren älteren Beiträge zu diesem Thema zusammen:

  • Bei einer .NET-Anwendung muss auch immer das Framework geladen werden, was schonmal selber Speicher benötigt
  • Wird eine Anwendung verkleinert, dann wird intern vermutlich der GC angeschmissen und ordentlich aufgeräumt. Evtl. kann man das mal simulieren indem man den GC selber anwirft
  • Wenn Du den Speicherverbrauch Deiner Anwendung ernsthaft analysieren willst, dann solltest Du den perfmon verwenden
  • Keiner weiß so 100%ig was speichermäßig passiert, da das ja alles von der Speicherverwaltung abgenommen wird

P.S.: Der Grund, warum lieber geschrieben wird, "benutz die Suche" anstatt einen Link auf die relevanten Beiträge zu posten ist ganz einfach der, dass man dazu ja selber die Suche bemühen müsste 🙂

10.08.2006 - 16:05 Uhr

DAS ist nun wirklich mal ein Thema, wo die Forensuche geholfen hätte... Ich bin nochn icht so lange hier dabei, aber das Tehma wurde in der Zeit bestimmt schon 3 oder 4 mal behandelt.

10.08.2006 - 15:43 Uhr

Ich dachte Du wolltest selber denken...

if (y>5) Literal1.Text += fibo.ToString() + "<br>";

10.08.2006 - 14:54 Uhr

Was soll denn mit der Methode erreicht werden? Ich hab ein bisschen den Überblick verloren.

Nochmal ein paar grundsätzliche Dinge:
Du kannst von einer Klasse auf die Methoden, Attribute und Properties einer anderen Klasse zugreifen, wenn:

  • diese public sind
  • und Du ein Objekt dieser Klasse angelegt hast über das Du die Methoden aufrufst oder die Methode selber statisch ist
10.08.2006 - 13:52 Uhr

Das ist jetzt aber nicht Dein Ernst oder?

10.08.2006 - 13:49 Uhr

Du musst da etwas unterscheiden. Per get und set greift man immer auf das Objekt selber zu, nicht auf Elemente des Objekts. Bei der Verwendung von Properties ist dies allein schon deshalb nicht möglich, weil Du keinen Parameter, also keinen Index übergeben kannst. Bei einer eigenen getter- und setter-Methode könnte man das natürlich implementieren, das wäre aber verwirrend.

Stattdessen solltest Du dafür extra Methode schreiben. So etwas wie getElementOfCollection(int index).