Laden...
Avatar #avatar-2263.png
Sieben myCSharp.de - Member
Informatikkaufmann Coburg Dabei seit 03.02.2006 140 Beiträge
Benutzerbeschreibung

Forenbeiträge von Sieben Ingesamt 140 Beiträge

27.02.2008 - 12:16 Uhr

Wie druckst du denn die Postscript Datei??
Vielleicht gibt dort auch ein Event, das gefeuert wird sobald er fertig ist mit dem Druck was du dann nur Abonnieren bräuchtest.

gruß Sieben

25.02.2008 - 20:44 Uhr

Huhu,

erstmal danke euch beiden!

Generische Methoden war genau das Stichwort was ich gesucht hab!

Danke!

25.02.2008 - 12:24 Uhr

Hallo,


   class Tester
   {
      public void Test ()
      {
         List<Tester> TestList = new List<Tester> ();
         Prepare ( ( List<Object> )TestList );
      }

      public void Prepare ( List<Object> ItemList )
      {
      }
   }

Warum kann ich hier Prepare nicht mit meiner TestList aufrufen? Die Klasse Tester ist doch von Object abgeleitet?? Geht das irgendwie anders??

gruß Sieben

28.01.2008 - 20:16 Uhr

So, nach langer Zeit mal wieder ein Update.

Es sind jetzt einige fehlende Features hinzugekommen:

  • Pause Button
  • Zeitskala der Mp3
  • Anzeige der aktuellen Mp3
  • erstellte Playlisten lassen sich jetzt löschen
  • ListView Selektion ändert sich im bei automatischen Titel Wechsel
  • Export Funktion der aktuellen Playliste in das m3u Format
  • Leichteres Verwalten der Playlisten

Des weiteren benutze ich jetzt die nBass Library zur Sound-Wiedergabe. Dort gab es auch die meisten Probleme.

Bei der Erstausgabe des Players wurde noch Direkt-X zur Soundwiedergabe benutzt. Dies funktionierte soweit ganz gut, allerdings hatte ich Probleme mit meinem 5.1 Soundsystem. Nach einiger Zeit spielte die Direkt-X Schnittstelle die Musik nur noch aus den Front Lautsprechern. Des weiteren startete der Player ohne Direkt-X nicht.

Daraufhin hab ich das ganze auf MCI umgestellt. Dort funktionierte zwar die Soundwiedergabe Einwandfrei, allerdings zeigte MCI die Länge einer Mp3 nicht ordnungsgemäß an.

Nun benutze ich die nBass Library. Mit dieser bin ich soweit Recht zufrieden. Allerdings ist sie leicht Performance-lastiger als die anderen.

Des weiteren, ist der Player jetzt Multithreaded. Alle Arbeitsintensiven Vorgänge werden in Threads neben dem Gui Thread verarbeitet. Allerdings steht das ganze noch auf ein wenig wackligen Füßen. 😦(

Verbesserungsvorschläge und Kritik nehme ich gerne Entgegen.

Den Download und die Anleitung findet ihr im ersten Beitrag.

gruß Sieben

08.12.2007 - 12:38 Uhr

Das Thema Umweltschutz ist so eine Sache. Die Politiker machen es sich sehr einfach und sagen der Endverbraucher ist Schuld, weil er soviel Energie verbraucht.
Bloß warum verbraucht er denn soviel Strom?? Weil die Geräte eben nunmal soviel Energie fressen. Der Ansatz ist vollkommen falsch!

Warum geht denn die Politik und zwingt die Firmen bespielsweise nur noch Energiesparlampen herzustellen?? Dann würde der Endverbraucher automatisch weniger Stromverbrauchen. Dies könnte man ja nicht nur für Energiesparlampen durchsetzen sondern für alle Stromfresser.

Es wird ja schon gemacht, durch diverse Gesetze beispielsweise in der Automobil Industrie.

gruß Sieben

06.11.2007 - 21:21 Uhr

Huhu,

arbeite grad an einer neuen Version dauert aber wohl noch bis zum WE 🙂

Original von conroe
Also wenn ich eine neue Playlist erstelle, finde ich diese nirgends und unter "Playlisten verwalten" passiert leider auch nichts.

Die Zeitskala hast ja noch weggelassen, aber die Laufzeit in Sekunden funktioniert bei mir auch noch nicht.

Dann in der Liste bei "Dateiname": hier wird immer der gesamte Pfad angezeigt, statt nur der Dateiname selbst. Das mag bei dir ganz gut aussehen, aber wenn man da noch ein paar weitere Unterordner hat, ist der Pfad ewig lang...sieht nicht gut aus.

Bei Länge steht immer "-1".

Was soll diese Grafik eigentlich darstellen? 😁
Gruß

  • Die Playlisten findet man, wenn man einen Rechtsklick auf den Listview macht. Allerdings ist die Playlisten Verwaltung noch mangelhaft und wird auf jedenfall noch verbessert!

  • Die Zeitskala, die Laufzeit der Sekunden und die Länge wird mit einer der nächsten Versionen behoben

  • Der Pfad ist mit drin, damit man die Mp3 schnell auf der Platte wiederfindet. Ich kann aber noch ein Feld mit einbauen wo nur der Mp3Name da steht.


  • Die Probleme beim abspielen der Mp3 und die Exception beim Laden der Mp3 liegt an der 'Microsoft.DirectX.AudioVideoPlayback' Die scheint da nicht jede Mp3 mögen, besonders wenn man irgendwelche Tag Informationen verändert...

In der nächsten Version wird diese Komponente Ersatzlos gestrichen und auf MCI umgestellt, dann sollte es diese Probleme nicht mehr geben.

Danke nochmal fürs Feedback

btw: Die Grafik sollte sowas wie eine Visualisierung Darstellen ^^ Betonnung liegt auf sollte ;D

gruß Sieben

17.10.2007 - 12:01 Uhr

Huhuuu,

Original von toxick
yep, silverlight und das 3er framework würd mich auch interessieren...irgendwas neues!

aber ob man sich dran machen sollte, den 1.000.000sten mailclient zu schreiben, sowas hat keine zukunft, noch dazu find ich outlook gut genug 🙂.

mfg
toxick

naa klaa es wäre der 1.000.001 e-Mail Client. Allerdings soll das ja nicht der Ultimative Mail Client werden sondern ganz rudimentär.

Mir würde es schon reichen, dass er meine Mails abruft, diese darstellen kann ( Text & Html ), die Anlagen speichern kann und ganz wichtig eine Export, Import Funktion der Mails!

Da dieses Vorhaben an Anfänger gerichtet ist, wäre die Umsetzung gut möglich denke ich.


Natürlich könnte man auch was komplett neues machen. Da bleibt nur die Frage nach der Machbarkeit

  1. Kann man die neue Technik nicht ( Kennen sich auch ganz wenige mit aus, bzw sind das dann keine Anfänger mehr )
  2. Hat man noch zuwenig Programmiererfahrung ( Wenns an Anfänger gerichtet ist ) um eine neue Technik zu verstehen
  3. Kann man sich unter einem neuen Projekt schwerlich rein denken. Bei einem E-Mail Client, Chat oder Browser kennt man immehrin schon die Funktionsweise und weiß wo man hin will

Was kommt dabei raus?? Ein halbgares Projekt was irgendwann unfertig in einem Svn Tree dahin vegetiert...

Von daher sollte man erstmal mit einem 'Basic' Projekt beginnen bevor man in die nächste Sphere einsteigt...


Wenn man sich für so ein Projekt begeistert, dann sollte es aber sowieso egal sein was man im Endeffekt programmiert. Es geht ja darum etwas zu lernen. Es bringt relativ wenig wenn man bei etwas ohne Spaß zu haben 🙂

gruß Sieben

16.10.2007 - 19:50 Uhr

Ich wäre an einem guten e-Mail Client interresiert.

01.10.2007 - 15:56 Uhr

Huuhuuu,

also ich find die Abstände der einzelnen Controls bei den Dialogen viel zu groß. Wenn du die geschickter platzierst, wird auch der Dialog ansich kleiner.

Dazu würde ich in der Hauptansicht ein Listview oder Listbox machen und dort alle Adressen anzeigen. Dann spart man sich den Button klick, denn wenn man das Programm startet, will man sicherlich ne Adresse sehen...

Ansonsten noch die Bugs vom Tom beseitigen.

gruß Sieben

ps: Vielleicht ein kleiner Anreiz HIER

27.09.2007 - 10:19 Uhr

Huhu,

auf meiner kleinen bescheidenen Homepage hab ich meine bisher Entwickelten Programme gehostet.

http://www.vx-tek.info

gruß Sieben

17.09.2007 - 14:28 Uhr

Huuhuuu,

ich suche eine Möglichkeit Vertragsverhandlungen in einem Spiel einzubauen. Habe auch Verschiedene Ansätze komme aber irgendwie nicht so richtig weiter.

Eine Vertragsverhandlung soll in mehreren Schritten ablaufen:
Zuerst verschickt man ein Vertragsangebot. Dann bekommt man auf dieses eine Antwort mit einer Zusage, Absage oder mit einem geänderten Angebot.
Diese kann man nun Annehmen, Ablehen oder abändern und wiederum verschicken können. Das ganze geht dann solange bis eine Partei ablehnt oder annimmt.

Soweit zum ablauf, meine Frage wäre jetzt wie man sowas Technisch am besten umsetzen könnte??

gruß Sieben

14.09.2007 - 02:34 Uhr

Huhu,

bisher habe ich zum Abspielen von Musik-Dateien immer auf die alte Real Jukebox von Real Networt gesetzt. Diese hat immer sehr zuverlässig gearbeitet und mich nie im Stich gelassen. Seit kurzem habe ich mir ein 5.1 Soundsystem zugelegt. Die Real Jukebox hat leider ein Problem mit eben diesem System. Statt mit allen 5 Lautsprechern zu arbeiten, tut es die Jukebox nur mit den 2 Front-Lautsprechern. Was natürlich vom Klang her net so dolle ist. Es musste also was anderes, neueres her.

Problem: Die kostengünstigen Alternativen haben mir einfach nicht zusagt. Blieb nur noch eine Eigenentwicklung im Stile der alten Jukebox.
Dabei war mein Ziel, so gut wie möglich an die Funktionalitäten der alten Real Jukebox hereinzukommen. Dabei sollte aber keine exakte Kopie, sondern auch eigene Ideen umgesetzt werden. Der Player hebt sich in Form der Suchfunktion sehr deutlich von der Jukebox ab. Mittels den Filtern kann man die Wiedergabe auf spezielle Mp3s On-Demand Fokussieren. Weiterhin findet man Mp3s, deren Namen, Interpret oder den Titel vergessen hat 'sau-schnell' 🙂

Das ganze Projekt befindet sich noch in der Beta Phase. Die größten Bugs sollten jedoch behoben sein und die Grundfunktionalitäten sollten alle solide funktionieren.

Das ganze ist eine Windows Forms Anwendung die mit C# 2.0 und dem Visual Studio 2008 erstellt wurde.
Die Verwaltung der Playlist übernehmen selbst geschriebene Klassen.
Die Wiedergabe der Mp3s wird mittels nBass Library realisiert.
Die Speicherung der Einstellungen und Playlists wird mittels 'Serializing' realisiert.
Zusätzlich gibt es eine Export Funktion der Playliste ins m3u Format.

Funktionsumfang des Players:

  • Abspielen von Mp3s
  • Standard Funktion zum Abspielen ( Play, Pause, Stop, Next, Last )
  • Verwalten mehrerer Playlists
  • Automatisches Speichern der Playlist und Einstellungen
  • Visuelle Darstellung von Mp3 Tag Informationen
  • Sortierfunktion
  • On-The-Fly Suchfunktion mit unterschiedlichen Filtereinstellungen
  • Variable Fenstergröße
  • Unterstützte Formate -> Mp3
  • Multithreaded Gui

Geplante Entwicklungsschritte des Players:

  • Fehler beheben
  • Visuelle Style verbessern
  • Plugin System für Style
  • Optik verschönern
  • Quellcode Qualität erhöhen
  • Lautstärkeregelung einbauen
  • Import Funktion, von m3u Playlisten
  • Multithreading verbessern

Installation:

  1. Zip Archiv in einen Ordner deiner Wahl entpacken.
  2. Der Ordner darf nicht schreibgeschützt sein, da er sich eine Datei 'app.prop' anlegt, in der er alle Einstellungen und Playlisten speichert.
  3. Chocochino.exe starten
  4. Um einen 'Reset' herbeizuführen genügt es die 'app.prop' zu löschen

Screenshots:
Dateibaumansicht
Datenbankansicht
Playlistmanager

Link zum Download

gruß Sieben

13.09.2007 - 10:18 Uhr

Huhu,

hat schon jemand mal eine eigene Windows Uhr geschrieben??
Es gibt zwar die Uhr in der Taskleite, doch hab ich diese immer ausgeblendet. Dazu kommt, das ich mit 2 Monitoren arbeite und auf dem 2. Monitor gar keine Uhr habe.

Wäre schön wenn jemand schon eine Uhr fertig hätte... diese sollte Analog sowie Digital darstellbar sein und immer im Vordergrund hängen...

gruß Sieben...

10.09.2007 - 10:09 Uhr

Ich hab ein Problem damit...

An meiner Soundkarte hängt ein 5.1 Soundsystem. Wenn ich eine einzelne Mp3 Abspiele funktioniert alles Tadellos. Wenn ich mehrere Mp3s hintereinander laufen lassen, dann funktionieren nach einer halben Stunde nur noch die Front Lautsprecher von dem 5.1 System. Rückwärtige, Center und Subwoofer bleiben stumm.

Nach einem Neustart der Anwendung funktionierts wieder... weißt du woran das liegen kann??

Mitn Media Player habsch das Problem net...

gruß Sieben

07.09.2007 - 12:00 Uhr

Geht das nicht auch mit listView.Items.SelectedItems?

gruß Sieben

07.09.2007 - 11:15 Uhr

Ich würde ein ListView nicht mit Items.Add sondern mit Items.AddRange befüllen.
In der Schleife wird dann nur eine Liste mit ListViewItems erzeugt.

Das ganze hat den Vorteil das es sehr viel Performanter ist und die ListView weniger Flackert.

Um mir die Schleife zu sparen, habe ich eine ListView überschrieben die eine entsprechende Methode bereit stellt. Dieser gebe ich nur noch eine Liste von meinen 'Data - Items' und ein entsprechendes Interface Objekt, was genau weiß, welches Property zu welchen ListView bzw ListViewSubItem gehört.

gruß Sieben

07.09.2007 - 06:58 Uhr

Hallo,

wie sieht denn mit meinen Vorschlägen aus??
X( X(

gruß Sieben

06.09.2007 - 14:34 Uhr

Huhu,

ist es möglich in dem Vokabel Trainer ein Berichtswesen einzubauen??

Es soll, quasi festhalten, wann eine Lektion gemacht wurde (Datum und Uhrzeit) und wieviele Fehler dort gemacht wurden.

Wie schauts mit dem Quelltext aus, geheim?

gruß Sieben

30.08.2007 - 09:42 Uhr

Oki, danke 🙂

30.08.2007 - 09:24 Uhr

Hm... bei der Lösung müssten 2 Anwendungen gleichzeitig laufen, 1x der Dienst und 1x die Anwendung... das wäre für mich nicht optimal, denn dann könnte ich auch auf den Dienst verzichten und eine normale Anwendung schreiben...

Das Dienst Programm an sich kann keine Win Forms erzeugen?? Also aus dem selben Prozess / Thread??

gruß Sieben

29.08.2007 - 23:48 Uhr

Huhu,

öy ein wenig spät heut ^^

Also das ganze soll kein Webservice sein, sondern ein Windows Service was ein Windows Form Objekt anzeigen soll.

gruß Sieben

29.08.2007 - 23:32 Uhr

Huhu,

gibt es eine Möglichkeit, das ein Windows Service ein Windows Forms Objekt erstellt und anzeigt??

Wenn ja welche Möglichkeiten gibt es und wie setzt man das ganze um?

gruß Sieben

28.08.2007 - 15:00 Uhr

Hm... ok überzeugt,

dann solltest du aber so wenig wie möglich auf das lahme Ding zugreifen.
Z.b. beim Einfügen der Vokabeln, nach dem Klick auf hinzufügen dauert das ne halbe Sekunde bis zum nächsten Eintrag. Besser wäre da eventuell das ganze zu Cachen und nach dem Klick auf schließen oder einen Speicher Button das ganze in die Datenbank zu schreiben.

Im übrigen ist Access auch Plattformabhängig soweit ich weiß?

Gibt imho auch Embedded MySQL 😉

gruß Sieben

28.08.2007 - 12:42 Uhr

Gibt es da auch eine gute Datenbank dafür, mit mehr Vokabeln??
Vielleicht wäre es auch gut eine andere Datenbank, bspw MySQL oder SQL Server Express zu benutzen... Access is zu lahm 😠

gruß Sieben

27.08.2007 - 15:34 Uhr

Original von naseweis

  
public class Klasse1  
{  
  public static ArrayList arrayList1;  
  
  public void function1()  
  {  
    ArrayList arrayList2;  
  
    schleife  
    {  
      if(bedingung1) // <- Trifft die überhaupt mal ein??  
        arrayList2.Add((struct) daten);  
      if(bedingung2)    
      {  
        arrayList1.Add(arrayList2.Clone());  
        // Was sagt an der Stelle ein Count auf arrayList2?  
      }  
    }  
  }  
}  
  

Soweit der Pseudocode.

Kann es sein das deine erste Bedingung nie Eintritt und du deshalb leere ArrayList der 1. ArrayList hinzufügst??


public class Klasse1
{
  public static ArrayList arrayList1;

  public void function1()
  {
    ArrayList arrayList2;

    schleife
    {
      schleife
      {
            arrayList2.Add((struct) daten);
      }
      
      if ( arrayList2.Count > 0 )
      {
         arrayList1.Add(arrayList2.Clone());
      }
    }
  }
}

Anstatt die 2 Bedingung immer abzuprüfen, würde ich eher 2 Schleifen nehmen.
Die innere füllt zuerst die temporäre Liste und die äußere fügt sie dann der Hauptliste hinzu.

@Herbivore
Was ist denn der Unterschied zwischen ArrayList und List??

gruß Sieben

22.08.2007 - 15:31 Uhr

Original von herbivore
if (str == null)
oder
if (str != null)

lässt sich mit String,.Equals (String) z.B. gar nicht durchführen.

herbivore

Jup richtig, damit prüfst du aber nur ab, ob der String Null ist oder nicht.
Das musst du für beide String machen, und anschließend den Vergleich. Damit hast du 3 Prüfungen ob der String null ist.


String a = "aaa";
String b = null;

if ( a != null && b != null && a == b ) // 3 Null Prüfungen -> Redundanz bei der letzten Prüfung da die ersten beiden schon eine Null Prüfung durchführten
{

}

Weiterhin find ich des Problematisch

if ( a == b )
{
  // true wenn beide null
}

dagegen


String a = "aaa";
String b = null;

if ( a.Equals ( b.ToString() ) ) // Nur eine Prüfung und egal welcher String null ist, es wird eine Exception geschmissen
{
Console.WriteLine ( "aa" );
}

gruß Sieben

22.08.2007 - 14:38 Uhr

Jup man kann beide Sachen verwenden.

Dazu spart man bei der Verwendung der Equals Methode die Prüfung ob der String Null ist bzw bekommt es direkt mit.

Dagegen wird dies vom ==-Operator Total Ignoriert.

Er gaukelt einem sogar vor Richtig zu liegen wenn beide Strings null sind. Man will hier ja kein Object Vergleich sondern ein String Vergleich.

gruß Sieben

22.08.2007 - 13:57 Uhr

[EDIT]Abgeteilt von Problem mit && Operator[EDIT]

Huhu ich denke du solltest auch String.equals() Verwenden anstatt den == Operator


if ( ( textBox1.Text.equals ( drGL["USERID"].ToString       () ) )
  && ( textBox2.Text.equals ( drGL["CN"].ToString           () ) )
  && ( textBox4.Text.equals ( drGL["SN"].ToString           () ) )
  && ( textBox4.Text.equals ( drGL["NTUSERID"].ToString     () ) )
  && ( textBox5.Text.equals ( drGL["NTUSERDOMAIN"].ToString () ) )
  && ( textBox6.Text.equals ( drGL["GIVENNAME"].ToString    () ) ) ) )

gruß Sieben

22.08.2007 - 13:46 Uhr

Sowas in der Art soll es dann werden.

Die geplanten Aufgaben bieten mir nicht genug Möglichkeiten, deshalb mach ich was eigenes. Vorteil ist es z.B. dass man 1 Datenbank Rechner hat, auf den mehrere Clients drauf Zugriff haben und die gleichen Aufgaben sehen, bearbeiten und erstellen können.

gruß Sieben

22.08.2007 - 13:06 Uhr

Original von ikaros
Nervig:
(System)Modaler Dialog: Aktion durchführen? ja/nein?
Bei Nein: Reboot...
Spätestesens ach dem 2. Reboot verliert der Nutzer das Interesse an Alternativen..

Also das wäre mein Absoluter Favorit!!!! 😁 😁

Was auch noch gut kommt, ist ein Farbenfroh flackerndes Window als TopMost
Oder ein vorgetäuschter Bluescreen ;D

gruß Sieben

22.08.2007 - 13:03 Uhr

Hm... ist der MSSQL beim Visual Studio 2005 stanardmäßig dabei??

Das Problem:
Ich habe eine Tabelle in der steht ein Datum + Uhrzeit drin.
Wenn diese Uhrzeit erreicht ist, soll eine Meldung angezeigt werden.
Das heißt die Datenbank müsste selbstständig schauen wie spät es ist und ob die Uhrzeit erreicht ist und anschließend Rückmeldung geben.

Würde sowas denn funktionieren??

gruß Sieben

22.08.2007 - 08:58 Uhr

Naja, das ganze soll mit einer MySQL Datenbank laufen, weiß nicht ob es da auch Datenbank Trigger gibt.

Das ganze soll im Minuten Rhytmuss pollen...

...ich glaub ein Timer würde mir eher zusagen 🙂

22.08.2007 - 08:32 Uhr

Huhu,

ich brauch ein Programm, was am besten als Dienst läuft und in regelmäßigen Abständen auf eine Datenbank und gegebenenfalls dieses Verarbeitet.

Meine Frage ist, wie realisiert man diesen Regelmäßigen Poll-Mechanismuss, ohne viele Ressourcen zu verbrauchen??

Das ganze soll als Dienst im Hintergrund laufen und andere Anwendungen so wenig wie möglich beeinträchtigen...

Reicht es da eine simple Schleife zu bauen und diese mit Thread.Sleep ( ... ) für eine bestimmte Zeit anzuhalten oder ist das eher unüblich?? Gibt es da etwas schöneres??

Vielleicht mit einem Timer?? Was ist denn Ressourcenschoennder??

gruß Sieben

21.08.2007 - 10:53 Uhr

Ich denke mal da liegt überhaupt das Problem, das der erste Timer wiederum einen Timer erezugt und dieser wiederum einen Timer und noch einen Timer und so ein unberechenbarer Kreislauf entsteht.

Meiner Meinung nach sollte sich Kleba erstmal mit den unterschieden zwischen lokalen Variablen und Membervariablen beschäftigen und die Unterschiede heraus arbeiten.

gruß Sieben

21.08.2007 - 10:46 Uhr

^^

Warum erzeugst du eigentlich immer einen neuen Timer???
Ist doch völlig unnötig und Risiko behaftet. Du brauchst genau 1 Timer!

Das heißt du legst dir dein Timer Objekt nicht (!!) in der Methode als lokales Objekt, sondern in der Klasse als Membervariable an.
Dann kannst du in jeder Methode darauf zugreifen. Stichwörter hab ich mal Fett markiert falls du mit den Begriffen nichts anfangen kannst, dann solltest du das C# Manual lesen!

Also aus:


public void ampelClick ( Object Sender ... )
{ 
  System.Windows.Forms.Timer Clock;
               Clock = new System.Windows.Forms.Timer();
               Clock.Interval = 1000;
               Clock.Start();
               Clock.Tick += new EventHandler(Timer_Tick);
               ampelAuto.Text = "Automatik ausschalten";
}

Musst du sowas bauen:


class BlaBla
{

  System.Windows.Forms.Timer Clock = new System.Windows.Forms.Timer(); // <==


 public void ampelClick ( Object Sender ... )
 { 
  if ( Clock.Enabled ) // true = Timer ist aktiviert
  {
    Clock.Stop ();
  }
  else
  {
    Clock.Start();
  }
 }
}

gruß Sieben

21.08.2007 - 10:06 Uhr

Huhu,

berechtigte Kritik. Allerdings musst du dir auch gefallen lassen nur zu kritisieren anstatt, wie du selbst vorgeschlagen hast, das Struktugram hier zu posten.

Mein primäres Anliegen war nicht die Hausaufgabe von Kleba zu machen, sondern ein kleines Programm zu schreiben das man gut als Tutorial, auch für mich selbst, nutzen zu können.

Wie schauts eigentlich aus, Kleba, hast es hinbekommen?

gruß Sieben

20.08.2007 - 16:41 Uhr

Jup ist in meinem Projekt alles drinne 🙂

20.08.2007 - 16:34 Uhr

Huhu,

so die Ampel Phasen sollten jetzt passen ^^

Also ich empfehle auch 1 Timer.
Den solltest du nicht lokal erzeugen sondern der Form als Membervariable geben um diesen gegebenenfalls Anhalten zu können.

Damit hast du nur noch 1 Timer_Tick1 Methode. In dieser muss dann festgestellt werden, welche Lichter momentan an sind und welche als nächste angemacht werden sollen und diese anmachen und den Timer neustarten.

Das heißt wie folgt, du brauchst einen Ist-Zustand und einen Soll-Zustand. Der ist Zustand weiß welche Lichter momentan an sind. Der Soll-Zustand signalisiert welcher Ist-Zustand als nächstes erreicht werden muss.

gruß Sieben

20.08.2007 - 15:22 Uhr

Huhu,

was haltet ihr von meiner Lösung??

Ich habe eine Ampel Klasse geschrieben, die den Ist-Zustand und den Soll-Zustand der Ampel kennt. Dazu hat sie 3 Properties, je nachdem welches Licht momentan aktiv ist.

Die Ampel hat 4 Zugriffsmethoden, in der man die Ampel anschalten, ausschalten, auf Grün wechseln oder auf Rot wechseln lässt.

Was eventuell noch wünschenswert ist, wäre die Verlagerung des Timers in die Ampelklasse + eine Eventsteuerung für die GUI...
Dazu noch Protected und Private Methoden..

Was meint ihr dazu?? Passt der Ansatz??

Binarie + Source + Solution für VS 2003 .Net 1.1 gibs hier:
Link zum Downloaden

gruß Sieben

24.05.2007 - 11:54 Uhr

Huhu,

also dein Spiel ist an sich net schlecht.
Aber was bitte ist das für ein Interface?? Das ist ja grausig zu bedienen 🙁

Die Berechnungen dauern mitunter ganz schön lange... vielleicht kannst du das ein wenig optimieren?? Vielleicht mehrere Threads??

gruß Sieben

23.05.2007 - 10:03 Uhr

Huhu,

warum hast du das eigentlich als Konsolen Anwendung realisiert?? Ein paar Pictures Boxen mit Windows Forms wären ansprechender gewesen...

Der Quellcode wäre net schlecht...

Ist das mit .Net 1.1 oder .Net 2.0?

gruß Sieben

[EDIT von herbivore]Zum Thema, wie man wie man Spielbrett und Figuren malt, siehe auch Spiel "Prärie"[/EDIT]

21.04.2007 - 18:06 Uhr

Huhu,

@Herbivore
dank dir mein Retter ^^ ich bin beinahe bekloppt geworden weil ich den Fehler nicht gefunden, gesehen, es mir einfach nicht erklären konnte warum des Teil nimmer speichert!

Aber jetzt ists klar...

gruß Sieben

21.04.2007 - 17:50 Uhr

Huhu,

ich habe ein sehr sehr merkwürdiges Problem 🙁
hier erst mal mein Code:


try
      {
        Stream streamWrite = File.Open(this.fileName, FileMode.OpenOrCreate);
        BinaryFormatter binaryWrite = new BinaryFormatter();
        binaryWrite.Serialize(streamWrite, classToSerialize);
        streamWrite.Close();
        return true;
      }
      catch (Exception ex)
      {
        Console.WriteLine("Fehler beim Serialisieren." + ex);
        return false;
      }

damit serialisiere ich eine Klasse, die ein paar Filenamen als String in einem Dictionary enthält ab.

Das ganze Funktioniert auch solange ich kein OpenFileDialog Objekt erzeuge und Anzeige. SObald ich mir ein OpenFileDialog Objekt anlege und Anzeige und noch ein paar Files auswählen, funktioniert meine Routine nicht mehr, er will einfach nicht mehr speichern???? Woran liegtn des?? Das kann doch nicht sein...???

Ich bekomme nicht einmal eine Exception in der Try Catch aber die Datei bleibt unverändert... ???

Weiß jemand woran das liegt?

gruß Sieben!

16.04.2007 - 11:47 Uhr

^^

Ich hab ein Notebook und ein Desktop PC. Ich entwickel auf beiden.
Auf dem Laptop läuft WinXP und auf dem Desktop Win 2k3 Server.

Den Source hol ich mir über eine Visual Source Safe Datenbank über Netzwerk. So hab ich auf beiden Rechnern immer den aktuellsten Source 🙂

gruß Sieben

10.04.2007 - 19:53 Uhr

Huhu,

ich bin gerade dabei ein kleines Programm zu schreiben was eine Datenbank benötigt.

Meine bisherige Überlegung war eine MySql Datenbank die als Serivce läuft anzusprechen. Das ganze find ich aber ein wenig unpraktisch, da man die Datenbank zuvor erst installieren müsste... viel besser würde mir die MySql im Standalone Modus gefallen... weiß zufällig einer wie ich sowas realisieren könnte??

Hat vielleicht jemand ne Alternative hierzu?

gruß Sieben

08.04.2007 - 19:28 Uhr

Darf man fragen wozu du 2 Picboxen, 2 Buttons und 1 Picbox als Balken, den man mit den Tasten verschieben kann, brauchst??

gruß Sieben

08.04.2007 - 18:16 Uhr

Wobei du das


this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form3_OnKeyDown);

Besser in der Methode "InitializeComponent();" oder im Konstruktor der jeweiligen Form.

Denn momentan addest du bei jedem Tastendruck einen Event Hander zur Form.

Ich würde dir auch empfehlen Ctrl + Left zunehmen.

Es scheint irgendwie das man auch mit "e.Handled = true;" den Standard KeyHandler der WinForms nicht ausschalten kann. Und deswegen springt du immer zwischen den Buttons umher.

gruß Sieben

08.04.2007 - 17:47 Uhr

Huhu,

und natürlich dem Fenster oder Panel oder welches Control du auch immer benutzt, den KeyEventHandler hinzufügen.


this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form_OnKeyPress);
      this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form_OnKeyUp);
      this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form_OnKeyDown);

benutzt du das VS 2005 (Express)?

gruß Sieben