Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von C#ler
Thema: Win8StartButton - Ein Startmenü für Windows 8
Am im Forum: Projekte

Ich finde das Tool grundsätzlich gelungen und werde es voraussichtlich einsetzen, habe aber noch einige Verbesserungsvorschläge:

  • ESC schließt nur die Suchleiste, nicht (wie ich erwartet hätte) das gesamte Menü.
  • Ein Klick neben das Startmenü lässt das "Herunterfahren"-Panel stehen.
  • Ein Klick auf das mittlere Panel sollte nicht die Suchleiste verschwinden lassen.
  • Es wäre schön, wenn es eine Möglichkeit gäbe, die Farbe des Buttons und "Herunterfahren"-Panels zu ändern.
  • Beim Auswählen von "Settings" oder "Files" im Suchpanel öffnet sich die normale Suche im Hintergrund.
  • Das "Herunterfahren"-Panel sollte eine Option "Mehr" mit Standby, Sperren etc. haben.

Thema: StartupManager - Autostarts verspätet starten
Am im Forum: Projekte

Hallo,

Ich habe jetzt den 2. und 3. Beitrag aktualisiert mit der neueren Version.

Änderungen:

  • Die Konfigurationsdatei liegt jetzt in %AppData%\StartupManager\config.xml
  • Ich behalte eine Referenz auf die Timer, damit sie nicht vom GC "eingesammelt" werden.

Thema: StartupManager - Autostarts verspätet starten
Am im Forum: Projekte

Hallo,

danke für das reichliche Feedback.

@Abt:
Soluto habe ich auch schon benutzt, mir hat allerdings die Web-Anbindung nicht gefallen.

@FZelle:
Ist XML allgemein (für diesen Zweck) falsch oder nur der Speicherort? Was schlägst du stattdessen vor?

@herbivore:
Das geht natürlich auch, hat allerdings dann keine Benachrichtigungen
Außerdem trenne ich gerne Funktion von Daten.

Thema: StartupManager - Autostarts verspätet starten
Am im Forum: Projekte

...und hier der Sourcecode.

Thema: StartupManager - Autostarts verspätet starten
Am im Forum: Projekte

Hier das Programm mit einer Beispiel-XML-Datei (meine aktuelle Version)

Thema: StartupManager - Autostarts verspätet starten
Am im Forum: Projekte

Beschreibung:

Ich habe aus gegebenem Anlass ein Programm geschrieben, das verschiedene Autostart-Einträge um eine gewisse Zeit verschiebt, das heißt:
Wenn "StartupManager" gestartet wird, fängt die Zeit für die verbleibenden Programme an zu laufen. Nach bspw. 10 Sekunden wird dann das nächste Programm gestartet.

Ich habe dazu eine Klasse verwendet, die unter Icons aus Shell32.dll zu finden ist.

Die Konfiguration erfolgt über ein XML, das im Ordner der .EXE-Datei liegen muss.

Es ist folgendermaßen aufgebaut:


<?xml version="1.0"?>
<main>
	<startup id="0"><!-- fortlaufende Nummerierung (startet bei 0) -->
		<name>Realtek Audio Manager</name><!-- Anzeigename -->
		<process arguments="-s">C:\Program Files\Realtek\Audio\HDA\RAVCpl64.exe</process><!-- Speicherort mit Parametern, startet bspw. "(...)\HDA\RAVCpl64.exe -s" -->
		<delay>5</delay><!-- Verspätung in Sekunden nach Start von "StartupManager" -->
	</startup>
        <!-- weitere einträge -->
</main>

In diesem Beitrag findet ihr einen Screenshot, Source und Programm folgen.

Schlagwörter: Autostart, Verspätung, Delay, Startup

Thema: Coding Styles Horror
Am im Forum: Smalltalk

Das ist ein Script namens jquery-ui-1.8.16.custom.min.js, ich habe es allerdings nicht selbst zusammengestellt, sondern in der Form auf einer Website eingebunden gefunden.
Ich meinte mit Horror auch eher nicht die 8000 Zeilen, sondern die Form und Lesbarkeit der Bedingung in der if-Abfrage.

Thema: Coding Styles Horror
Am im Forum: Smalltalk

Hallo,

Ist zwar JavaScript, aber trotzdem eine interessante Abfrage (im Original sogar ohne jedes Leerzeichen):


if (b = (b = b == null || b === "" ? c : typeof b == "string" ? f(b) : typeof b == "number" ? isNaN(b) ? c : e(b) : new Date(b.getTime())) && b.toString() == "Invalid Date" ? c : b) {
                                                                                     b.setHours(0);
                                                                                     b.setMinutes(0);
                                                                                     b.setSeconds(0);
                                                                                     b.setMilliseconds(0)
                                                                                 }

(aus dem jquery-ui script)

Mit Zeilenumbrüchen ist das Script in der Minimalversion ganze 7879 Zeilen lang.

Thema: On-the-fly Regex-Tester: Regex-Lab
Am im Forum: Projekte

Hallo Herbivore,

auch wenn es schon oft gesagt wurde, kann ich nur wiederholen, wie nützlich das Tool ist.
Vielen Dank für deine Arbeit!

C#ler

Thema: Quadsoft Product Key Extractor 0.1
Am im Forum: Projekte

Funktioniert bei mir einwandfrei, beide Codes sind richtig. (Windows ist 64bit-OEM-Version)

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Ich habe den Fehler gefunden.
Trotzdem Danke für eure Hilfe.

Ich habe die GUI-Elemente im Konstruktor erstellt, aber this.GraphicsDevice wird (anscheinend) erst danach initialisiert, also waren die Textur-Konstruktoren nicht so wie sie sein sollten.


BackgroundTexture = new Texture2D(Game.GraphicsDevice // <- nicht initialisiert
, 1, 1, false, SurfaceFormat.Color);
Ich habe jetzt die Konstruktoren für Progress und StartGame in

protected override void Initialize()
verschoben, damit funktioniert es.
c#ler

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Meinst du die Texturen?


        protected Texture2D OuterTexture,
                            InnerTexture,
                            BackgroundTexture;
//Für alle Farb-Änderungen:
        public Color BackgroundColor
        {
            get { return PBackgroundColor; }
            set
            {
                PBackgroundColor = value;
                BackgroundTexture.Dispose();
                BackgroundTexture = new Texture2D(Game.GraphicsDevice, 1, 1, false, SurfaceFormat.Color);
                BackgroundTexture.SetData(new[] { PBackgroundColor });
            }
        }

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Bei beiden kommt die Exception.
Hier sind die Draw-Methoden (haben bei der 2-Fenster-Lösung so funktioniert!):


//GameGUI.Button
//Selbst geschrieben
public void Draw(SpriteBatch spriteBatch)
{
            if (!Visible) return;
            spriteBatch.Draw(OuterTexture, PBorderOuterRect, Color.White); //Äußerer Rahmen
            spriteBatch.Draw(InnerTexture, PBorderInnerRect, Color.White); // Innerer Rahmen
            spriteBatch.Draw(BackgroundTexture, PBackgroundRect, Color.White); // Hintergrund
            spriteBatch.DrawString(Font, PText,
                                   new Vector2(PBorderOuterRect.Center.X - Font.MeasureString(PText).X / 2,
                                               PBorderOuterRect.Center.Y - Font.MeasureString(PText).Y / 2), TextColor); //Text
}
//GameGUI.ProgressBar
//Quelle: http://lukerymarz.com/alearningexperience/2009/04/simple-xna-progress-bar.html
public void Draw(SpriteBatch spriteBatch)
{
            spriteBatch.Draw(OuterTexture, MBorderOuterRect, Color.White); //Äußerer Rahmen
            spriteBatch.Draw(InnerTexture, MBorderInnerRect, Color.White); // Innerer Rahmen
            spriteBatch.Draw(BackgroundTexture, MBackgroundRect, Color.White); // Hintergrund
            spriteBatch.Draw(FillTexture, MFillRect, Color.White); // Füllung
}

Edit: Kommentare, Quelle

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Hallo,


if(Loading = false)
//...

geht problemblos.

Das _spriteBatch ist das ganz normale, nur wegen Namenskonventionen von manchen Add-Ins habe ich es umbenannt. Die Initialisierung:


            _spriteBatch = new SpriteBatch(GraphicsDevice);

c#ler

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Hallo,

erstmal danke für eure Antworten.

Ich habe Prooo's Methode benutzt, weil mir die Lösung mit zwei Fenstern auch etwas komisch vorkam.
Im Hauptfenster erhalte ich aber einen Fehler bei folgendem Code:


//Main.cs
protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);
            _spriteBatch.Begin();

            if (Loading)
            {
                Progress.Draw(_spriteBatch); //Ladebalken
                StartGame.Draw(_spriteBatch); //Button
            }

            _spriteBatch.End(); //ObjectDisposedException wurde nicht behandelt.
                                         //Auf das verworfene Objekt kann nicht zugegriffen werden.
                                         //Objektname: "Texture2D".
            base.Draw(gameTime);
        }
Sowohl bei Progress als auch StartGame ist bei allen Texturen
FillTexture->Nicht öffentliche Member->base->base (Microsoft.Xna.Framework.Graphics.GraphicsResource)->isDisposed=false.

c#ler

Thema: [gelöst] XNA Fenster in den Vordergrund bringen
Am im Forum: Grafik und Sound

Hallo,

ich habe eine Anwendung mit mehreren XNA-Fenstern, wobei das eine das Spiel und das andere ein Ladebildschirm ist. Wenn der Benutzer die Anwendung startet, läuft das Spiel und ruft während dem Laden (per Threading) den Ladebildschirm auf. Wenn das Spiel dann ganz geladen ist, muss der Benutzer auf einen Button klicken, um das Spiel zu starten. Dann beendet sich der Thread und das eigentliche Spiel läuft los. Mein Problem ist jetzt: Wenn ich den Thread mit dem Ladebildschirm beende, schließt sich das Fenster. Das andere Fenster bleibt aber im Hintergrund.
Wie kann ich das Fenster wieder in den Vordergrund bringen?
Mein Ansatz (der funktioniert, aber sehr langsam umschaltet):


            while(!LoadingScreen.Program.IsAbleToFinish) { } //Warten auf Button
            Program.T.Abort(); //Thread beenden
            _graphics.PreferredBackBufferHeight = Height; //const int die vorher festgelegt wird
            _graphics.PreferredBackBufferWidth = Width; //const int
            _graphics.ApplyChanges(); //Fenster bleibt im Hintergrund
            _graphics.ToggleFullScreen(); //Vollbild auf & wieder zu machen
            _graphics.ToggleFullScreen(); //Dauert sehr lange
Lässt sich damit was machen (wenn ja wie?) oder ist mein Ansatz vollkommen daneben?

c#ler

Thema: Programm nach seiner Erstellung/Fertigstellung erweiterbar machen [==> Plugins]
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich möchte, dass ich sozusagen "Erweiterungen" habe, die man später hinzufügen kann.

Thema: Programm nach seiner Erstellung/Fertigstellung erweiterbar machen [==> Plugins]
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich möchte gerne eine Anwendung schreiben, bei der ich nach dem Kompilieren noch Code hinzufügen kann (wie z.B. bei .jar-Archiven durch überschreiben der .class-Dateien). Ich weiß jedoch nicht, wie ich das für C# anstellen soll, weil ich z.B. auch zu bestehenden Klassen Eigenschaften und zu Methoden Anweisungen hinzufügen will.

Ich hoffe, ihr könnt mir helfen.
Viele Grüße
C#ler

Thema: Strings zusammenbauen/formatieren: Unterschied zwischen verschiedenen Möglichkeiten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,
danke für die Hilfe - ich denke, ich muss dann wohl selbst je nach Situation entscheiden .
Gruß, C#ler

Thema: Strings zusammenbauen/formatieren: Unterschied zwischen verschiedenen Möglichkeiten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,
ich frage mich seit längerer Zeit, warum in Dokus, wie z.B. :rtfm: und folgende Angabe für strings gemacht wird:

Console.WriteLine("Eingabe: {0}", value);
Ich verwende aber (wie ich es gelernt habe):

Console.WriteLine("Eingabe: " + value);
Was ist der Unterschied zwischen diesen beiden Varianten?
Welche ist "besser"?
Gruß,
C#ler

Thema: AXWindowsMediaPlayer Fehlermeldung 0xC00D1329
Am im Forum: Grafik und Sound

Hallo,
Was ist jetzt das Problem bei meiner Anweisung?
Gruß C#ler

Thema: AXWindowsMediaPlayer Fehlermeldung 0xC00D1329
Am im Forum: Grafik und Sound

Hallo,
also muss mein Pfad dann
"file:///C:/Users/(...)/Music/(...).mp3"
heißen?
Dabei kommt die gleiche Fehlermeldung wie vorher ("C://Users//(...)//Music//(...).mp3").
Gruß,
C#ler

Thema: AXWindowsMediaPlayer Fehlermeldung 0xC00D1329
Am im Forum: Grafik und Sound

Danke erstmal, aber warum kommt die Meldung? Der Pfad existiert umd es wird auch das richtige übergeben!?
Gruß,
C#ler

Thema: AXWindowsMediaPlayer Fehlermeldung 0xC00D1329
Am im Forum: Grafik und Sound

Hallo,
ich versuche im Moment eine "Musikverwaltung",
bei der man die Songs auch direkt abspielen kann, indem man sie aus der Liste auf den Player zieht. Der letzte Eintrag im ListView ist die (vollst.) Pfadangabe zur Musikdatei.


private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            var listviewitem = (ListViewItem) e.Item;
//Hier:
axWindowsMediaPlayer1.launchURL(listviewitem.SubItems[listviewitem.SubItems.Count - 1].Text);
        }
tritt ein Fehler namens "0xC00D1239" auf:
Fehler
COMException wurde nicht behandelt.
Ausnahme von HRESULT: 0xC00D1329
Wodran liegt das bzw. wie kann ich das beheben?
Danke,
C#ler

Thema: IF Abfrage, um wiederholtes Verarbeiten/Senden der gleichen Daten zu verhindern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo escape,
nehmen wir an, du hast eine Klasse namens Foo geschrieben, in der deine Methoden stehen. Da kannst du meinen Code von eben reinschreiben:

Zitat


public class Foo
{
//...
public bool Bar
{
get
{
   return Bar;
}
set
{
   if(Bar != value)
   {
      //Aktionen
      Bar = value;
   }
}
}
//...
}
Statt "//Aktionen" kannst du dann schreiben, was passieren soll, z.B.:

MessageBox.Show("Fertig!");/*oder*/Console.WriteLine("Fertig!");
je nach Projekttyp.
Du schreibst dann in deine Methode, wo der Wert geändert wird:

Foo.Bar = true; /* oder */ Foo.Bar = false; /* oder */
Foo.Bar = aktueller_Zustand_von_irgeneinem_bool; /*etc...*/
Dadurch rufst du den set-Accessor von Foo.Bar auf, der das, was bei "//Aktionen" steht, nur ausführt, wenn der Wert (value) ungleich dem bisherigen Wert ist und nur dann wird der Wert geändert.
Ich hoffe das hilft dir
C#ler

Thema: IF Abfrage, um wiederholtes Verarbeiten/Senden der gleichen Daten zu verhindern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo escape,
speichere den Wert in eine Variable und frage ihn wieder ab:


public bool zustand
{
 get
 {
   return zustand;
 }
 set
 {
   if(zustand != value)
   {
      //Aktionen
      zustand = value;
   }
 }
}
//Aufruf: zustand = aktualisierter_status;
Gruß,
C#ler

Thema: Eigene Klassenbibliothek erstellen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke!

Gruß,
C#ler

Thema: Eigene Klassenbibliothek erstellen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
ich habe mittlerweile eine Reihe an Klassen, Methoden etc., die ich in meinen Programmen oft verwende.
Nun ist meine Frage: Lassen sich diese Klassen etc. als Verweise in die anderen Projekte übertragen? Wenn ja, wie erstelle ich diese dll-Dateien (oder was auch immer ich brauche)?
Und kann man in einen Verweis alle seine anderen Verweise einbinden?
Danke
C#ler

Thema: Code wird nach while schleife nicht weiter abgearbeitet
Am im Forum: GUI: Windows-Forms

Ich würde mal sagen, suche_gw_1 wird niemals 1, weil in jedem "bild_quelle" dein Text vorkommt => logisch, da bild_quelle nicht verändert wird.
Ich hoffe ich sehe das richtig
C#ler

Thema: RichTextBox Cursor-Position speichern und wiederherstellen
Am im Forum: GUI: Windows-Forms

Danke, klappt perfekt!


int CursorIndex = richTextBox1.SelectionStart;
//(...)
richtTextBox1.SelectionStart = CursorIndex;
Gruß,
C#ler