Zum Inhalt springen

Argbeil

Mitglieder
  • Gesamte Inhalte

    433
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Argbeil

  1. Doch, die laufen alle im gleichen GUI Thread.
  2. Darum geht es nicht, die GUI der Anwendung reagiert während der Abfrage nicht wenn die Datenbankabfrage im gleichen Thread läuft. Wenn die Abfrage lange dauert kann der User dein Eindruck bekommen die Abfrage wäre abgestürzt. Beim Backgroundworker wird automatisch der Threadpool verwendet, da passiert das nicht.
  3. Klar, aber dann würde deine Anwendung nicht reagieren während der Abfrage, das würde mit dem Backgroundworker der ja Multithreaded arbeitet nicht der Fall.
  4. Ja, wenn die Abfrage nicht ewig lange dauert würde ich auch den Timer nehmen. Wenn es damit läuft kannst du dir den BackWorker nochmal ansehen.
  5. Im Prinzip heißt das, das irgendwo im Framework eine Exception auftritt, die evtl. auch behandelt wird. ( try/catch ). Solange in deiner Applikation keine Exception geworfen wird ist alles okay.
  6. Noch einfacher wäre vielleicht txtDisplay.Text = "1"; und die Variable einfach weglassen.
  7. Hi, besorg dir eine der kostenlosen Visual Studio Express Versionen, falls du noch kein Visual Studio zu Hause hast. Sieh dir ein paar Einsteiger Videos an, z.B. das hier: http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032330903 und versuch dabei alles direkt selbst nachzuvollziehen. Dann kann ich noch dieses Einsteigerbuch empfehlen: Visual C# 2005 - Schritt für Schritt - sofort lieferbar - terrashop.de und das hier ggf. als Nachschlagewerk: Die C# Programmiersprache - Das Referenzwerk - sofort lieferbar - terrashop.de Alles was du nicht verstehst kann man dir mit Sicherheit hier im Forum beantworten. Oder du setzt dich nach der Schule mit euren Freaks aus der Klasse zusammen und arbeitest den Stoff nochmal auf.
  8. Mit den beiden Werten kommst du vermutlich nicht so weit wenn du Schrägen hast, zudem ist es nicht präzise genug. Dein Ball braucht eine radiale Bewegungsrichtung ( 0 bis 360 Grad) aus der du die neue Position berechnest, bei Kollisionen musst du jeweils 180 Grad abziehen. Beispiel: Der Ball fliegt mit genau 0 Grad nach oben, bei einer Kollision ziehst du von dem Kreismaß 180 Grad ab und hast die neue Bewegungsrichtung, ( 0 - 180 ) = -180, das Vorzeichen fällt weg, neue Richtung ist also 180, was eine geraden Bewegung nach unten entspricht. Fliegt der Ball von links oben nach rechts unten ( 135° ) ist nach einer Kollision der die neue Richtung ( 135 - 180 ) = -45, also 45 Grad, was rechts oben entspricht. Das ist erst mal ganz trivial und so funktionieren die meisten Breakout Klone. Wenn das funktioniert muss man den Winkel durch die Bewegung des Schlägers ändern können, je nachdem ob sich der Schläger nach links oder rechts bewegt muss die Zahl die du abziehst größer oder kleiner werden, das kann man auch noch durch die Geschwindigkeit des Balls und des Schlägers varrrieren, musste ein bisschen mit rumspielen. Das reicht völlig aus für ein normales Breakout. Wenn du jetzt schräge Flächen hast, kommst du nicht drumrum beim Aufprall mit einem gedachten Dreieck den Aufprallwinkel an der jeweiligen Fläche zu berechnen, von dem Winkel werden dann wieder die berühmten 180 abgezogen.
  9. Wie hast du denn angefangen? Hasst du ein Array in dem das Spielfeld hinterlegt ist, bzw. ist der Ball ein Objekt? Der muss ja denn einen Bewegungsvektor sowie eine Position haben. Bei einer Kollision kannst du doch aus dem Vektor und der Position einen neuen Vektor errechnen. Zu dem zweiten Problem: Da hilft Pythagoras, das ist ja einfach nur ein Dreicek. Der Einfallswinkel zum Panel unten ist = dem Ausganswinkel, nur in entgegengesetzter Richtung. Wenn du dir eine Vertikale Linie von dem Panel ausgehend denkst, und der Ball kommt z.B. auf einem 18 Grad Winkel links von der Linie auf das Panel musst du in mit 18° rechts wieder zurücksenden. Zudem sollte eine Bewegung des Pedals eine Auswirkung haben, also den Winkel verstärken oder verflachen (je nach Bewegungsrichtung) Einfach mal aufmalen.
  10. Eigentlich hat sich nur ADO.NET, also Datenbankprogrammierung geändert, vor allem Datenbindung. Zudem hat sich asp.net stärker geändert als Windows Forms Programmierung. Bei den neuen Versionen ist es aber auch nützlich zu wissen wie es früher funktioniert hat, häufig basieren neue Funktionen nur auf Codegenratoren die intern alte mechanismen verwenden ( z.B. TableAdapter die intern DataAdapter verwenden ). Günstigere Bücher bekommst du bei terrashop.de - Bücher und Software zu Sonderpreisen
  11. Im Prinzip brauchst du nur nach jedem new Statement im Source suchen und da die Factory einsetzen. Wenn du den Code nicht ändern willst könntest du mit einem Tool (dessen Namen mir gerade entfallen ist) den IL Code nach einem Build automatisch patchen lassen. Dadurch wird natürlich das Debuggen schwieriger so das ich meine Variante schon als die beste machbare sehe.
  12. Es gibt verschiedene Ansätze dafür. Du kannst einen Profiler nutzen um so etwas generieren zu lassen, das hat aber massive Performance Auswirkungen. Mit aspektorientierter Programmierung kannst du dir allerdings auch ein automatisches Logging generieren lassen, ich habe mal einen Artikel darüber geschrieben ( Aspektorientierte Programmierung für das Logging nutzen | dotnetpro | Das Profi-Magazin fr Entwickler ), um den zu lesen musst du ein dotnetpro Abo haben (gibt auch kostenlose Probeabos ) dann kannst du den Downloaden oder die jeweilige Ausgabe irgendwo am Kiosk kaufen, es gibt auch Jahres-CDs mit allen Artikeln. Im Prinzip funktioniert mein Ansatz so das du ein Objekt durch eine bestimmte Factory erzeugen lässt ( myObject a = LoggingFactory.Create ( myObject ); ) und danach automatisch jeder Methodenaufruf geloggt wird, inkl. Parametern , Exceptions und Rückgabewerten. Basieren tut das Logging auf log4net und das generelle Prinzip auf dem AOP Framework spring.net Für weitere Details kannst du mir auch eine PM senden.
  13. Das Problem ist ein ganz anderes: Wenn man mal die Forenbeiträge von rezico ansieht komme zumindest ich zu dem Schluss dass er einfach eine falsche Herangehensweise hat - was ja im ersten Jahr auch nicht weiter schlimm ist - also bitte nicht als Kritik betrachten. Rezico, bevor du mit irgendwelchen Problemlösungen beginnst musst du die Grundlagen der Sprache beherrschen, schnapp dir ein Einsteigerbuch, arbeite es von vorne bis hinten durch und probiere eigene Sachen aus. Erstell dir einen Programmablaufplan ( was muss das Programm wann und wie tun ), plane eine Umsetzung und setze dann die Lösung mit deinem erlernten Wissen um. Es hilft dir nur sehr kurzfristig weiter wenn wir dir sagen welche Controls du auf eine Form ziehen musst und welcher Code wann ausgeführt werden muss. Und wenn ich dein Chef wäre würde mir eine pragmatische Vorgehensweise in der Richtung :"Ich weiß noch nicht was ich machen muss, aber ich werde es versuchen so und so zu lösen" wesentlich besser gefallen als ein fertiges Programm. Und wenn du dann nicht weiter kommst kannst du wesentlich bessere Fragen stellen oder deinen Code posten mit dem man dir dann hier auch fachlich besser helfen kann. Von daher fand ich den Hinweis vom Kollegen flashpixx und Guybrush durchaus angebracht und hilfreicher als mal eben den fertigen Source-Code hinzuklatschen.
  14. Argbeil

    C# Portable Compiler?

    Ich glaube nicht dass das SharpDevelop funktioniert ohne das .NET installiert ist. Ansonsten einfach mal ne VMWare oder Mono verwenden.
  15. Hi, die Aufgabe sollte im ersten Jahr wirklich leicht zu lösen sein. Die Sache mit deinem Chef kommt mir irgendwie komisch vor, nach deiner Erählung habe ich den Eindruck das du ein viel größeres Problem mit ihm als er mit dir hat. Wenn du Aufgaben nicht lösen kannst oder dich überfordert fühlst solltest du das mit ihm besprechen und nicht in ein Forum posten.
  16. Hi, normalerweise fängt man genau andersherum an, mit einem Datenmodell anstelle des Frontends. Du musst ein Dataset erstellen und an das Gridview binden, das Dataset kannst du mit einem odbcdataadapter in die Acessdatenbank sichern.
  17. Dann frag ihn doch mal wie.
  18. Argbeil

    c# tutorial

    Inside C#, 2. Auflage von Tom Archer, erschienen bei MS Press.
  19. Ist deine Login Page SSL Verschlüsselt? Wenn nein lass doch mal einen Netzwerksniffer mitlaufen und guck mal was bei dem Request nach Eingabe des Passworts an den Server gesendet wird.
  20. Argbeil

    "Lan verbunden" Anzeigen

    Dann mach es doch einfach wie Hahne vorgeschlagen hat.
  21. Argbeil

    4 Fragen

    Sind das Hausaufgaben?
  22. Argbeil

    Ado.Net Tabelle updaten

    Hi Tom, wie so oft hier bei ADO.NET Themen: Falscher Ansatz! Du kannst es so lösen wie du es angegangen bist, machst dir damit aber viel zu viel Arbeit. Du hast deine Daten ja in einer DataTable und diese vermutlich auch mit einem DataAdapter oder einem TableAdapter aus der DB geladen. Der Adapter kann die nötigen CRUD Statement selbstständig generieren, das macht er über den SQL Command Builder. Du benötigst die Instanz des Adapters der die Daten geladen hat und machst dann ein adpater.Update( dataTable );, das führt dazu das für jede DataRow in der Table das passende SQL Statement generiert und gegen die Datenbank ausgeführt wird. Erst wenn dir das SQL Statement aus irgendeinem Grund nicht gefällt musst du selbst SQL-Statement schreiben - aber die dann bitte auch in das entsprechende Command Objekt des Adapters. Als Lesewerk kann ich von MS Press die ADO.NET 2.0 Core Reference empfehlen.
  23. Das es auf dem P-Server läuft ist kein Argument, evtl. stehen irgendwelche Ressourcen bei dir nicht zur Verfügung, durch falsche Fehlerbehandlung kann es dann schnell zu einer Null-Reference kommen. Du brauchst unbedingt den SourceCode um weiter zu kommen.
  24. Hi, du musst in der Scale Methode etwas falsch machen. Anstelle von Application.DoEvents(); GC.Collect(); System.Threading.Thread.Sleep(1000); kannst du GC.Collect(); GC.WaitForPendingFinalizers(); verwenden, das ist allerdings nur ein Workaround für das Problem in der Scale Methode.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...