myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » .NET-Komponenten und C#-Snippets » Ich hab ne Klasse geschrieben, wohin damit?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Ich hab ne Klasse geschrieben, wohin damit?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich


SimonKnight6600 ist offline

Ich hab ne Klasse geschrieben, wohin damit?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hab ne einfache Klasse geschrieben, die es ermöglicht, einen Windows Biepton auszugeben. Soll ich die Klasse an activesphere schicken? (Ist bei SourceForge als Admin eingetragen...)
01.07.2005 22:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
S.H.-Teichhof S.H.-Teichhof ist männlich
myCSharp.de-Mitglied

avatar-2460.jpg


Dabei seit: 03.10.2004
Beiträge: 1.549
Entwicklungsumgebung: #Developer
Herkunft: Sindringen


S.H.-Teichhof ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nein du solt die klasse erst mal hier posten dann schauen die anderen sie sich an und entscheiden ob sie reinkommt
01.07.2005 23:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ok, ist halt nur ne ganz kleine Klasse.

C#-Code:
#region myCSHARP Library

// -----------------------------------------------------------------------------
// The contents of this file are subject to the GNU Lesser General Public Licens
// (the "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
// [URL]http://www.gnu.org/copyleft/lesser.html[/URL]
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
// the specific language governing rights and limitations under the License.
//
// Copyright 2005 - myCSHARP Team - All Rights Reserved.
// Authors:
// - Schweiger Simon <[email protected]>
//
// Contributors: none
//
// Known Issues:
// - The BeepType Question does not run.
//
// You may retrieve the latest version of this file at the myCSHARP
// home page, located at [URL]http://mycsharp.sourceforge.net[/URL]
//
//------------------------------------------------------------------------------------
// Version: 1.0
// Description: Contains a method which can play the windows system sounds
//------------------------------------------------------------------------------------

#endregion

using System;
using System.Runtime.InteropServices;

namespace mycsharp.Media.Audio
{
    /// <summary>
    /// Contains a method which can play the windows system sounds
    /// </summary>
    public class Beep
    {
        [DllImport("User32.dll")]
        private static extern int MessageBeep(uint uType);

        private const uint MB_SIMPLE_BEEP = 1;
        private const uint MB_ICON_HAND = 0x00000010;
        private const uint MB_ICON_QUESTION = 0x00000020;
        private const uint MB_ICON_EXCLAMATION = 0x00000030;
        private const uint MB_ICON_ASTERISK = 0x00000040;

        public enum BeepType : uint
        {
            Simple = MB_SIMPLE_BEEP,
            Error = MB_ICON_HAND,
            Exclamation = MB_ICON_EXCLAMATION,
            Question = MB_ICON_QUESTION,
            Information = MB_ICON_ASTERISK
        }
        /// <summary>
        /// Plays a Windows sound
        /// </summary>
        /// <param name="beepType">The sound to play</param>
        /// <returns></returns>
        public static bool WindowsBeep(BeepType beepType)
        {
            return (MessageBeep((uint)beepType) != 0);
        }

    }
}

Was sagt ihr dazu?
PS:
Die Klasse wurde von einen Noob geschrieben großes Grinsen
01.07.2005 23:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Noodles
myCSharp.de-Poweruser/ Experte

Dabei seit: 08.02.2004
Beiträge: 4.644
Herkunft: Leipzig


Noodles ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Selber geschrieben oder bei google "messagebeep c#" eingeben? Augenzwinkern
Ich will Dir aber nicht zu nahe treten. Augenzwinkern
01.07.2005 23:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Wird die Klasse aufgenommen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Den API Aufruf habe ich natürlich aus dem Netz großes Grinsen . Aber den Rest habe ich selber geschrieben. (Also die Methode WindowsBeep() großes Grinsen )

EDIT:

Wird die Klasse jetzt aufgenommen?
02.07.2005 10:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
S.H.-Teichhof S.H.-Teichhof ist männlich
myCSharp.de-Mitglied

avatar-2460.jpg


Dabei seit: 03.10.2004
Beiträge: 1.549
Entwicklungsumgebung: #Developer
Herkunft: Sindringen


S.H.-Teichhof ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Jetzt wart mal eins nach dem anderen deine Klasse ist jetzt noch nicht mal 24 Stunden Gepostet aber ich hätte gegen eine Aufnahme nichts
02.07.2005 12:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wer bestimmt eigentlich, ob die Klasse aufgenommen wird?
02.07.2005 20:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
S.H.-Teichhof S.H.-Teichhof ist männlich
myCSharp.de-Mitglied

avatar-2460.jpg


Dabei seit: 03.10.2004
Beiträge: 1.549
Entwicklungsumgebung: #Developer
Herkunft: Sindringen


S.H.-Teichhof ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nicht jemand direkt sonder wir alle zusammen wenn niemand einen Grund hat die Klasse nicht aufzunehmen dann nehmen wir sie auf
03.07.2005 09:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Quallo
myCSharp.de-Mitglied

Dabei seit: 12.01.2005
Beiträge: 992
Entwicklungsumgebung: VS.NET 2005
Herkunft: Nähe Bremen


Quallo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Habe ein paar Änderungen gemacht. Es muss auf jeden Fall noch Error-Handling rein(es gibt auch Leute ohne Soundkarte zum Beispiel).

Ich habe nochmal ein kleines Konstrukt dazu gebastelt. Dadurch kann man Beep-Töne mit Dauer und Frequenz über den PC-Speaker ausgeben.
Wird in einem neuen Thread gestartet, damit das nicht das gesamte Programm blockiert.

So und nun schlagt mich ob meines schlechten Stils.

Grüße Christoph

C#-Code:
#region myCSHARP Library

// -----------------------------------------------------------------------------
// The contents of this file are subject to the GNU Lesser General Public Licens
// (the "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
// [URL]http://www.gnu.org/copyleft/lesser.html[/URL]
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
// the specific language governing rights and limitations under the License.
//
// Copyright 2005 - myCSHARP Team - All Rights Reserved.
// Authors:
// - Schweiger Simon <[email protected]>
//
// Contributors: none
//
// Known Issues:
// - The BeepType Question does not run.
//
// You may retrieve the latest version of this file at the myCSHARP
// home page, located at [URL]http://mycsharp.sourceforge.net[/URL]
//
//------------------------------------------------------------------------------------
// Version: 1.0
// Description: Contains a method which can play the windows system sounds
//------------------------------------------------------------------------------------

#endregion

using System;
using System.Runtime.InteropServices;
using System.Threading;

namespace mycsharp.Media.Audio
{
    /// <summary>
    /// Contains a method which can play the windows system sounds
    /// </summary>
    public class BeepOutput
    {
        [DllImport("User32.dll")]
        private static extern int MessageBeep(uint uType);

        [DllImport("Kernel32.dll")]
        private static extern bool Beep(uint freq,uint length);


        private static uint _freq;
        private static uint _length;

        private const uint MB_SIMPLE_BEEP = 1;
        private const uint MB_ICON_HAND = 0x00000010;
        private const uint MB_ICON_QUESTION = 0x00000020;
        private const uint MB_ICON_EXCLAMATION = 0x00000030;
        private const uint MB_ICON_ASTERISK = 0x00000040;

        public enum BeepType : uint
        {
            Simple = MB_SIMPLE_BEEP,
            Error = MB_ICON_HAND,
            Exclamation = MB_ICON_EXCLAMATION,
            Question = MB_ICON_QUESTION,
            Information = MB_ICON_ASTERISK
        }
        /// <summary>
        /// Plays a Windows sound
        /// </summary>
        /// <param name="beepType">The sound to play</param>
        /// <returns></returns>
        public static bool WindowsBeep(BeepType beepType)
        {
            return (MessageBeep((uint)beepType) != 0);
        }


        /// <summary>
        /// Plays a Beep using the PC-Speaker
        /// </summary>
        /// <param name="freq">The frequency in Hz</param>
        /// <param name="length">The length in ms</param>
        public static void WindowsBeep(uint freq,uint length)
        {
            _freq = freq;
            _length = length;

            Thread NewThread = new Thread(new ThreadStart(Beepshort));
            NewThread.Start();
        }

        private static void Beepshort()
        {
            Beep(_freq,_length);
        }

    }
}
03.07.2005 11:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat:
Original von Quallo
Habe ein paar Änderungen gemacht. Es muss auf jeden Fall noch Error-Handling rein(es gibt auch Leute ohne Soundkarte zum Beispiel).

Wenn jemand keine Soundkarte hat, wird der Sound über den PC-Sneaker ausgegeben. (Allerdings nur der Standardbeepton)
04.07.2005 09:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wie stehts eigentlich mit dem Performance von try... catch? Giltet hier die Devise "Je mehr desto besser"? Denn eine Fehlerbehandlung müsste schon her, es könnte ja interne Fehler geben...
05.07.2005 19:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
S.H.-Teichhof S.H.-Teichhof ist männlich
myCSharp.de-Mitglied

avatar-2460.jpg


Dabei seit: 03.10.2004
Beiträge: 1.549
Entwicklungsumgebung: #Developer
Herkunft: Sindringen


S.H.-Teichhof ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich denke bei so einer kleinen klasse von der man im Normalfall nur eine Instanz hat macht es wirklich noch nichts aus
05.07.2005 19:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SimonKnight6600 SimonKnight6600 ist männlich
myCSharp.de-Mitglied

avatar-1433.gif


Dabei seit: 09.03.2005
Beiträge: 709
Entwicklungsumgebung: Microsoft Visual Studio 2008
Herkunft: Österreich

Themenstarter Thema begonnen von SimonKnight6600

SimonKnight6600 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für die Info!
(Ich weiß, das weicht jetzt wieder völlig vom Thema ab, aber ich will dafür keinen neune Thread aufmachen)
Wie funktioniert das eigentlich jetzt mit Sourceforge? Quallo hat die Klasse ja ein wenig "getunt". Die Klassen werden hochgeladen, und wenn jemand eine Verbesserung machen mächte (z.B. das try - catch einfügen) macht er die Änderungen über das Versionssystem und jedes Monat wird die Dll neu compiliert.
Momentan ist das CVS ja noch ziemlich leer. (Keine Klassen hochgeladen) Wenn die Klassen hochgeladen werden, kann jeder sie verbessern. (Kleine Verbesserungen zu machen ist leichter, als eine eigene Klasse zu schreiben). Kann man als Mitentwickler auch seine Klassen hochladen?

mfg.
SimonKnight6600
(Ich weíß, dass sind jetzt viele Fragen, aber vieleicht helfen sie auch anderen Augenzwinkern )
05.07.2005 20:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 15 Jahre.
Der letzte Beitrag ist älter als 15 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 04.08.2020 04:51