Laden...

Forenbeiträge von filmee24 Ingesamt 51 Beiträge

23.10.2019 - 10:46 Uhr

hallo,

ich schreibe gerade ein Addin für SharpDevelop. Ich habe nun das Problem dass mein Compiler im AddinPath drin ist, aber ich den AddinPath im BuildTask nicht kenne. Kennt da jemand eine Lösung? Oder eventuell andere Ansätze.

Vielen Dank für eure Hilfe

03.12.2018 - 19:47 Uhr

Hallo,

was haltet ihr von AOP bzw verwendet ihr es?

Ich bin am überlegen ob ich es verwenden soll, leider sind die Einsatzbeispiele sehr mau, meistens nur Logging und Permissions. Hat vielleicht noch jemand ne Idee für was man AOP verwenden könnte?

25.11.2018 - 17:11 Uhr

Gibt es zufällig eine Lib um Office Addins z.b. Powerpoint Inhalts Addin im eigene Wpf Projekt zu nutzen?

01.11.2018 - 15:38 Uhr

hallo,

ich schreibe gerade ein rpc-client/server framework und möchte events implementieren. das subscriben funktioniert, was mir probleme macht, ist es das event aufzurufen.

ich probiere mit EventInfo.AddEventHandler einen eventhandler hinzuzufügen. Nur leider hab ich das Problem ich weiß nicht welche delegate, da einerseits muss es eine eigene delegate sein, die den eventcall an den client weiterleitet und anderseits ist der typ der delegate aber unbekannt

25.10.2018 - 09:48 Uhr

*edit erledigt, hab die TCS durch ein ManualReset Ersetzt

25.10.2018 - 08:15 Uhr

hallo,

ich hab einen kleinen rpc service mit memory mapped files geschrieben.
das problem ist, dass man nur eine methode ausführen kann, da der TaskCompletionSource ne Exception wirft, sobald einmal der Result gesetzt wurde.

Hier mal mein Code:


TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
private void Sender_DataReceived(object sender, MemoryMappedDataReceivedEventArgs e)
        {
            var response = (RpcMethodAwnser)RpcServices.Deserialize(e.Data);

            tcs.SetResult(response.ReturnValue); // Exception: Kann nicht gesetzt werden, weil Task bereits abgeschlossen ist
        }

der communicator ist vom MemoryMappedFile Sample von Microsoft.

Vielleicht kann mir jemand helfen.

Vielen Dank

19.10.2018 - 11:17 Uhr

danke hab daran überhaupt nicht gedacht

19.10.2018 - 10:35 Uhr

hallo,
ich hab eine searchbox mit popup erstellt und das problem liegt im popup. die items der listbox sind nicht bündig:

mein code:


<DataTemplate>
                                    <DockPanel MouseLeftButtonUp="StackPanel_MouseLeftButtonUp">
                                        <material:PackIcon DockPanel.Dock="Left" Kind="BookOpenPageVariant" Visibility="{Binding PopupType, Converter={StaticResource ItemTypeConverter}, ConverterParameter=Page}" />
                                        <material:PackIcon DockPanel.Dock="Left" Kind="Settings" Visibility="{Binding PopupType, Converter={StaticResource ItemTypeConverter}, ConverterParameter=Setting}" />
                                        <material:PackIcon DockPanel.Dock="Left" Kind="GestureTap" Visibility="{Binding PopupType, Converter={StaticResource ItemTypeConverter}, ConverterParameter=Action}" />
                                        
                                        <TextBlock DockPanel.Dock="Right" Text="{Binding Title}" />
                                    </DockPanel>
                                </DataTemplate>

ich weiß nicht wo das Problem liegt

13.10.2018 - 11:07 Uhr

hallo, ich entwickel gerade ein Service für ein HTTP-Proxy. Der Service soll vom Benutzer nicht gestoppt werden können. Wie könnte ich das machen?

04.10.2018 - 08:41 Uhr

ich möchte eine eigene iconfont verwenden

03.10.2018 - 08:38 Uhr

ich hab ja alles so gemacht wie in den anleitungen, das problem ist, dass die zeichencodes falsch sind obwohl ich sie vom cheatsheet kopiert habe. wenn ich per word
einfügen->symbol gehe kommt ein ganz anderer code, der dann komischerweise funktioniert

02.10.2018 - 16:46 Uhr

hallo, ich möchte in wpf eine iconfont wie fontawesome oder materialdesign nutzen.

dies funktioniert auch wenn ich die font ganz normal einbinde in die resourcen. jetzt hab ich aber das problem, dass wenn ich den unicode from cheatsheet benutze, er mir nichts anzeigt. Hingegen wenn ich den code von MS Word benutze zeigt er das richtige Icon an. Ich bin völlig ratlos, was das für ein Problem sein könnte.

26.06.2018 - 08:04 Uhr

hallo,
kann nan irgendwie ein icon in die tabpage vom netrotabcontrol einfügen? mit einem normalen tabcontrol geht es mut einer imagelust, dies funktioniert beim metroframework nicht. hat jenand eine idee?

05.06.2018 - 11:43 Uhr

Hallo ich will ein Pos programmieren und brauche dazu ein zweites display um zb aktuellen preis oder einen bitcoin code anzuzeigen. kennt jemand einen kostengünsten mini monitor mit hdmi?

vielen dank

13.05.2018 - 11:12 Uhr

hallo,

ich schreibe gerade ein kleines game und da habe ich ein virtuelles dateisystem.

das dateisystem liegt in einer datei so vor:

+ Bin
++ System
-- Boot.bin [10F, C0, FF, EE]
+ Security
-- Antivir.hef [2, F]
+ Tools
-- VirusUploader.hef []

wie wäre da der beste Ansatz?

27.04.2018 - 13:31 Uhr

Hallo,

und zwar möchte ich oauth nutzen um in mein Program, welches bestimmte Daten verwaltet zugriff auf die Daten geben mit oauth2. Nun habe ich das Problem ich finde keine Anleitung wie ich einen OAuth2 Server für Winforms aufsetze ohne Owin oder asp.net oä.

Hat hier jemand Erfahrungen oder Tipps?

Vielen Dank

27.11.2016 - 13:03 Uhr

Vielen Dank,

wo hab ich heute nur meinen Kopf gelassen 😄

27.11.2016 - 12:46 Uhr

hallo, ich habe eine Liste von InventoryItems und wenn ich zb. ein Key hinzufüge, dann ist die Liste trotzdem leer.


var ch = new Chest();
ch.Items.Add(new Key { ID = 12345 });

Die Liste selbst:

public List<InventoryItem> Items => new List<InventoryItem>();

Wie kann das sein? Die Liste wird nur einmal initialisiert und sonst nur das item hinzugefügt.

Vielen Dank für Hilfe

17.04.2016 - 13:46 Uhr

Thema hat sich erledigt, hab es nochmal mit der Taskcompletionsource probiert, danke

17.04.2016 - 07:58 Uhr

hier der selbe versuch mit taskcompletionsource, aber leider selbes problem:

 public override string ReadLine()
        {
            EventCommandEntered handler = null;
            string value = null;
            var tcs = new TaskCompletionSource<string>();

            handler = new EventCommandEntered((s, e) =>
            {
                value = e.Command;

                tcs.SetResult(value);

                shellControl1.CommandEntered -= handler;
            });

            shellControl1.CommandEntered += handler;

            tcs.Task.Wait();

            return tcs.Task.Result;
        }
16.04.2016 - 19:34 Uhr

Hallo,

ich hab folgendes Problem. Ich nutze das Shellcontrol von Codeproject und möchte die commands die eingegeben werden in Console.Readlne wrappen.

Leider blocken alle meine versuche den UIThread und das Event kann niemanls ausgelöst werden wodurch der andere wartende thread wieder freigegeben werden würde.

Mein Code:


using System;
using System.IO;
using System.Threading;
using UILibrary;

namespace HackIt.Core
{
    public class ShellReader : TextReader
    {
        private ShellControl shellControl1;

        public ShellReader(ShellControl shellControl1)
        {
            this.shellControl1 = shellControl1;
        }

        public override string ReadLine()
        {
            EventCommandEntered handler = null;
            string value = "";

            ManualResetEvent oSignalEvent = new ManualResetEvent(false);
            Thread oSecondThread = new Thread(() =>
            {
                handler = new EventCommandEntered((s, e) =>
                {
                    value = e.Command;
                    oSignalEvent.Set();

                    shellControl1.CommandEntered -= handler;
                });

                shellControl1.CommandEntered += handler;
            });

            oSecondThread.Start();

            shellControl1.BeginInvoke(new Action(() => { oSignalEvent.WaitOne(); }));
            
            return value;
        }
    }
}

Ich hoffe jemand kann mir helfen, ich weiß keine Lösung mehr.

mfg

Chris

02.04.2016 - 10:20 Uhr

Android Projekt

und leider hilft mir es nicht, bin da auch schon drauf gestoßen. Das Problem tritt bereits beim StandardTemplate auf ohne, dass ich was verändere

und das SDK ist installiert

02.04.2016 - 03:49 Uhr

Hallo,

da Xamarin jetzt kostenlos ist hab ich mir es gleich installiert. Nur leider bringt er mir immer den Buildfehler das packaged_resource nicht gefunden werden kann. habs neuinstalliert aber selber fehler.

Weiß jemand eine lösung für das Problem?

Vielen Dank für Antworten

mfg

31.01.2016 - 18:56 Uhr

schau dir mal Fody an, aber da musst du dir diesen Fall selbst schreiben

08.09.2015 - 21:37 Uhr

Danke,

hat alles funktioniert, mit dem anderen RoleManager.

Hab vorher nie ein RoleSystem gebraucht, deswegen kannte ich des noch nicht

08.09.2015 - 11:38 Uhr

Hi,

ich hab eine große Enum:


[Flags]
    public enum Right : byte
    {
        AddCourse = 0x01,
        EditCourse = 0x02,
        ViewCourses = 0x03,
        RemoveCourse = 0x04,

        AddAppointment = 0x05,
        EditAppointment = 0x06,
        ViewAppointments = 0x07,
        RemoveAppointment = 0x08,

        AddCustomer = 0x09,
        EditCustomer= 0x10,
        ViewCustomers = 0x11,
        RemoveCustomer = 0x12,

        AddFile = 0x13,
        ViewFiles = 0x14,
        RemoveFile = 0x15,
        ExportFile = 0x16,

        AddUser = 0x17,
        EditUser = 0x18,
        ViewUsers = 0x19,
        RemoveUser = 0x20,

        ViewSettings = 0x21,
        EditSettings = 0x22
    }

wenn ich alle flags setze:


(Right.AddAppointment | Right.AddCourse | Right.AddCustomer | Right.AddFile | Right.AddUser 
                    | Right.EditAppointment | Right.EditCourse | Right.EditCustomer | Right.EditSettings | 
                    Right.EditUser | Right.ExportFile | Right.RemoveAppointment | Right.RemoveCourse | 
                    Right.RemoveCustomer | Right.RemoveFile | Right.RemoveUser | Right.ViewAppointments | 
                    Right.ViewCourses | Right.ViewCustomers | Right.ViewFiles |
                    Right.ViewSettings | Right.ViewUsers)

dann sind aber nur 3 werte dem user zugeordnet.

Wie könnte ich das Problem beheben?

MFG

30.05.2015 - 17:18 Uhr

hallo,

ich wollte mal fragen ob man attached Properties in Xml ohne jedigliche UI nutzen kann also zum de/serialisieren?

MFG

26.11.2014 - 22:16 Uhr

hallo,

ich frage mich schon lange, wie man eine api machen könnte die der von skype ähnelt.

extension wird zum ersten mal gestartet->darf die extension daten des progs verwenden?->wenn ja gebe weiter und frage nicht nochmal nach.

wie könnte man das system in c# implementieren?

vielen dank

21.10.2014 - 12:52 Uhr

hallo,
ich möchte ein Projekttemplate coden, wenn man das Template öffnet soll ein Wizard erscheinen der variablen in Dateien ersetzt. Das Template funktioniert. Leider kommt kein Wizard, wie kann ich mein ProjektTemplate mit dem Wizard verknüpfen?

Vielen Dank

29.08.2014 - 09:06 Uhr

hat sich erledit, habe Application.Exit entfernt

29.08.2014 - 09:01 Uhr

ich habe geschaut, ist nur einmal registriert

wenn ich steppe, geht er ab System.Windows.Forms.Application.Exit(); zurück zum event und startet erneut

29.08.2014 - 08:54 Uhr

hallo,
ich möchte eine Nachricht erscheinen lassen wenn der Benutzer ungespeicherte Daten im Programm hat, wenn geschlossen wird, das funktioiert auch, aber die Nachricht kommt 2-Mal.


 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if(Application.isDirty)
            {
                if(MessageBox.Show("Would you close without saving changes?", "Close?", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    System.Windows.Forms.Application.Exit();
                    e.Cancel = false;
                }
                else
                {
                    e.Cancel = true;
                }
            }
        }

31.07.2014 - 09:20 Uhr

hallo,
gibt es eine möglichkeit das hier mit dem XmlDocument zu parsen?

<hello>
<audio src="blabla" autoplay />
</hello>

mit geht es hier um das autoplay-attribut

wäre toll wenn mir jemand hefen könnte

vielen dank

20.07.2014 - 19:19 Uhr

hallo,
wie lautet die progid für das adobe flash object?

beispiekl:
.Type = Type.GetTypeFromProgId("adobeflashid");

es ist wichtig, dass ich keine dll benutzen will, da die infos aus ner xml kommen, und die id man auswählen kann, und ich möcht auch noch eine extra section für das adobe flash object machen, deswegen brauche ich die id. wo finde ich die id?

vielen dank

20.07.2014 - 11:04 Uhr

ouh, danke für den tipp, war n simpler denkfehler

20.07.2014 - 10:10 Uhr

Hallo,

ich habe diesen Code:


public static void Execute(List<ElementBase> b)
        {
            foreach (StyleElement elementBase in b.Where(elementBase => elementBase is StyleElement))
            {
                var p = new CSS.CssParser().ParseAll(elementBase.Source);
                foreach (var cssParserRule in p)
                {
                    foreach (var selector in cssParserRule.Selectors)
                    {
                        foreach (ElementBase bb in b)
                        {
                            if (bb is UiElement)
                            {
                                var bbb = bb as UiElement;
                                if (bbb.Name == selector)
                                {
                                    foreach (var d in cssParserRule.Declarations)
                                    {
                                        var prop = bbb.GetType().GetProperty(d.Property);
                                        
                                        if (prop != null)
                                        {
                                            if (prop.DeclaringType.Name == typeof (Margin).Name)
                                                prop.SetValue(bbb, MarginConverter.Convert(d.Value), null);

                                            var tb = bbb as TextBox;
                                            if (tb != null)
                                            {
                                                if (prop.DeclaringType.Name == typeof (Color).Name)
                                                    prop.SetValue(bbb, ColorConverter.Convert(d.Value), null);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

prop ist aber immer null obwohl die eigenschaft existiert. mache ich getproperties sind 0 properties vorhandne. Was mache ich falsch?

19.07.2014 - 19:35 Uhr

Hallo,
kennt jemand eine Methode um eine-css font in eine c# font umzukonvertieren?
Beispiele:
italic bold 12 Georgia;
15px arial

19.07.2014 - 17:55 Uhr

ich hab diesen pattern string: @".?(.?((,).?)+)"

es funktioniert auch aber ich möchte nun machen dass man zwischen , und dem argument ein leerzeichen machen kann

19.07.2014 - 17:20 Uhr

hallo,

ich möchte prüfen ob ein string eine funktion ist. Eine function ist so aufgebaut:
name(argument1, argument2, ....)

wobei mindestens ein argument vorhanden sein muss.

13.07.2014 - 16:57 Uhr

Hallo,
gibt es eine möglichkeit eine Access Datenbank zu nutzen ohne SQL zu verwenden?

05.07.2014 - 16:06 Uhr

hallo,
ist es möglich mit der Erbung von DynamicObject ein Object als eine Methode zu behandeln?

Beispiel:

public class DynamicEvent : DynamicObject
    {
        public override bool TryInvoke(InvokeBinder binder, object[] args, out object result)
        {
            // run a special function
            result = null;
            return true;
        }
    }

Definition:

public DynamicEvent e;

Aufruf:

e();
22.06.2014 - 13:14 Uhr

ich habe einen anderen pattern gefunden:

(\S+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?

wenn ich alles nach = optional mache:

(\S+)(=[""']?((?:.(?![""']?)?\s+(?:\S+)(=|[>""']))+.)[""']?)?

jetzt findet er aber kein attribute

22.06.2014 - 12:46 Uhr

wenn ich das pattern teste finde er kein ergebnis, aber in c# geht alles 😭

könntest du dir den Pattern nicht am Ende genau ansehen, ich muss ja nur wissen wo ich mit der Gruppe anfangen und wo enden muss

21.06.2014 - 22:02 Uhr

Hallo,
ich habe einen langen Regex-Pattern.
Leider blicke ich da nicht mehr so ganz durch.
Es soll machen, dass href='irgendwas' alles nach href optional ist.
Pattern:

\\b([a-zA-Z][a-zA-Z_0-9]*)\\s*=\\s*(\"([\\w\\s\'.,?/\\:;!@#$%^&*()=\\-\\+\\^\\{\\}\\[\\]~]*)\"|\'([\\w\\s\".,?/\\:;!@#$%^&*()=\\-\\+\\^\\{\\}\\[\\]~]*)\'|([\\w.,?/\\:;!@#$%^&*()=\\-\\+\\^\\{\\}\\[\\]~]*))

Ich hoffe ihr könnt mir helfen

Vielen Dank

06.06.2014 - 17:53 Uhr

Hallo, ich habe eine Extension-Method geschrieben um mehr Typen als Standard mit den BinaryReader/Writer zu nutzen.
Leider ist es zu viel Arbeit jeden Typ von Array abzudecken.

Gibt es eine Möglichkeit mithilfe von Generics jedes Array abzudecken?

Mein Code:

        private static Dictionary<Type, Func<object>> InitReader(BinaryReader br)
        {
            var _Readers = new Dictionary<Type, Func<object>>
                               {
                                   {typeof(Dictionary<string, byte[]>), () =>
                                                       {
                                                           var l = new Dictionary<string, byte[]>();
                                                           for (var i = 0; i < br.Read<int>(); i++)
                                                           {
                                                               l.Add(br.Read<string>(), br.Read<byte[]>());
                                                           }
                                                           return l;
                                                       }},
                                   {typeof(int[]), () =>
                                                     {
                                                         var c = br.Read<int>();
                                                         var a = new int[c];
                                                         for (var i = 0; i < c; i++)
                                                         {
                                                             a[i] = br.Read<int>();
                                                         }
                                                         return a;
                                                     }},
                                   {typeof(Enum), () =>
                                                      {
                                                          return br.Read<int>();
                                                      }},
                                   {typeof (byte), () => br.ReadByte()},
                                   {typeof (bool), () => br.ReadBoolean()},
                                   {typeof (byte[]), br.Readbytes},
                                   {typeof (char), () => br.ReadChar()},
                                   {typeof (decimal), () => br.ReadDecimal()},
                                   {typeof (double), () => br.ReadDouble()},
                                   {typeof (Int16), () => br.ReadInt16()},
                                   {typeof (int), () => br.ReadInt32()},
                                   {typeof (Int64), () => br.ReadInt64()},
                                   {typeof (sbyte), () => br.ReadSByte()},
                                   {typeof (float), () => br.ReadSingle()},
                                   {typeof (string), br.ReadString},
                                   {typeof (UInt16), () => br.ReadUInt16()},
                                   {typeof (uint), () => br.ReadUInt32()},
                                   {typeof (UInt64), () => br.ReadUInt64()},
                                   {typeof(Color), () => Color.FromArgb(br.ReadInt32(),br.ReadInt32(),br.ReadInt32(),br.ReadInt32())},
                                   {typeof(Point), () => new Point(br.ReadInt32(),br.ReadInt32())},
                                   {typeof(Size), () => new Size(br.ReadInt32(),br.ReadInt32())},
                                   {typeof (DateTime), () => DateTime.Parse(br.ReadString())},
                                   {typeof (Stream), () => new MemoryStream(br.Readbytes())}
                               };

            return _Readers;
        }
        private static Dictionary<Type, Action> InitWriter(BinaryWriter br, object value)
        {
            var _Readers = new Dictionary<Type, Action>
                               {
                                   {typeof(Dictionary<string, byte[]>), () =>
                                                       {
                                                           var val = (Dictionary<string, byte[]>)value;
                                                           br.Write<int>(val.Count);
                                                           foreach (var v in val)
                                                           {
                                                               br.Write<string>(v.Key);
                                                               br.Write<byte[]>(v.Value);
                                                           }
                                                       }},
                                   {typeof (byte), () => br.Write((byte) value)},
                                   {typeof(Enum), () =>
                                                      {
                                                          br.Write((int)value);
                                                      }},
                                   {typeof (bool), () => br.Write((bool) value)},
                                   {typeof (byte[]), () => br.Writebytes((byte[]) value)},
                                   {typeof (char[]), () =>
                                                         {
                                                             var c = (char[]) value;
                                                             br.Write(c.Length);
                                                             foreach (var cc in c)
                                                             {
                                                                 br.Write(cc);
                                                             }
                                                         }},
                                    {typeof (int[]), () =>
                                                         {
                                                             var c = (int[]) value;
                                                             br.Write(c.Length);
                                                             foreach (var cc in c)
                                                             {
                                                                 br.Write(cc);
                                                             }
                                                         }},
                                    {typeof (string[]), () =>
                                                         {
                                                             var c = (string[]) value;
                                                             br.Write(c.Length);
                                                             foreach (var cc in c)
                                                             {
                                                                 br.Write(cc);
                                                             }
                                                         }},
                                   {typeof (char), () => br.Write((char) value)},
                                   {typeof (decimal), () => br.Write((decimal) value)},
                                   {typeof (double), () => br.Write((double) value)},
                                   {typeof (Int16), () => br.Write((Int16) value)},
                                   {typeof (int), () => br.Write((int) value)},
                                   {typeof (Int64), () => br.Write((Int64) value)},
                                   {typeof (sbyte), () => br.Write((sbyte) value)},
                                   {typeof (float), () => br.Write((float) value)},
                                   {typeof (string), () => br.Write(((string) value))},
                                   {typeof (UInt16), () => br.Write((UInt16) value)},
                                   {typeof (uint), () => br.Write((uint) value)},
                                   {typeof (UInt64), () => br.Write((UInt64) value)},
                                   {typeof(Color), () =>
                                                       {
                                                           var c = (Color)value;
                                                           br.Write(c.A);
                                                           br.Write(c.R);
                                                           br.Write(c.G);
                                                           br.Write(c.B);
                                                       }},
                                    {typeof(Point), () =>
                                                       {
                                                           var c = (Point)value;
                                                           br.Write(c.X);
                                                           br.Write(c.Y);
                                                       }},
                                    {typeof(Size), () =>
                                                       {
                                                           var c = (Size)value;
                                                           br.Write(c.Width);
                                                           br.Write(c.Height);
                                                       }},

                                   {typeof (DateTime), () => br.Write(((DateTime)value).ToString())},
                                   {typeof (Stream), () => br.Writebytes(((MemoryStream)value).ToArray())}
                               };
            return _Readers;
        }

        [DebuggerStepThrough]
        public static TT Read<TT>(this BinaryReader br, Type T)
        {
            var readers = InitReader(br);

            if(!readers.ContainsKey(T))
                throw new NotSupportedException(T.Name + " is not supported");
            else
                return (TT) readers[T]();
        }
        public static T Read<T>(this BinaryReader br)
        {
            return Read<T>(br, typeof (T));
        }

Wäre für ne Möglichkeit zur Lösung dankbar

vielen Dank

26.04.2014 - 10:57 Uhr

hallo

ich möchte 2 wav streams verbinden und dieses neue stream dann abspielen

mein code:


using System.IO;

namespace Lib.Util.Audio.TTS
{
    public class WaveIO
    {
        public int length;
        public short  channels;
        public int samplerate;
        public int DataLength;
        public short BitsPerSample;

        private  void WaveHeaderIN(Stream spath)
        {
            Stream fs = spath;
         
            var br = new BinaryReader(fs);
            length = (int)fs.Length - 8;
            fs.Position = 22;
            channels = br.ReadInt16();
            fs.Position = 24;
            samplerate = br.ReadInt32();
            fs.Position = 34;

            BitsPerSample = br.ReadInt16();
            DataLength = (int)fs.Length - 44;
            br.Close ();
            fs.Close();

        }
  
        private  void WaveHeaderOUT(Stream sPath)
        {
            Stream fs = sPath;

            BinaryWriter bw = new BinaryWriter(fs);
            fs.Position = 0;
            bw.Write(new char[4] { 'R', 'I', 'F', 'F' });
       
            bw.Write(length);
          
            bw.Write(new char[] {'W','A','V','E','f','m','t',' '});
          
            bw.Write((int)16);
  
            bw.Write((short)1);
            bw.Write(channels);
        
            bw.Write(samplerate );
       
            bw.Write((int)(samplerate * ((BitsPerSample * channels) / 8)));
        
            bw.Write((short )((BitsPerSample * channels) / 8));
       
            bw.Write(BitsPerSample);
      
            bw.Write(new char[4] {'d','a','t','a'});
            bw.Write(DataLength);
        }
        public void Merge(Stream[] files, Stream outfile)
        {
            var wa_IN = new WaveIO();
            var wa_out = new WaveIO {DataLength = 0, length = 0};


            //Gather header data
            foreach (Stream path in files)
            {
                wa_IN.WaveHeaderIN(@path);
                wa_out.DataLength += wa_IN.DataLength;
                wa_out.length += wa_IN.length;

            }

            //Recontruct new header
            wa_out.BitsPerSample = wa_IN.BitsPerSample;
            wa_out.channels = wa_IN.channels;
            wa_out.samplerate = wa_IN.samplerate;
            wa_out.WaveHeaderOUT(@outfile);

            foreach (var fs in files)
            {
                byte[] arrfile = new byte[fs.Length - 44];
                fs.Position = 44;
                fs.Read(arrfile, 0, arrfile.Length);

                BinaryWriter bw = new BinaryWriter(@outfile);
                bw.Write(arrfile);
            }
        }

       
    }
}


using System.Collections.Generic;
using System.IO;
using Lib.Util.Binary;

namespace Lib.Util.Audio.TTS
{
    public class TTSAudioFile
    {

        internal Dictionary<string, Stream> Data;

        public TTSAudioFile()
        {
            Data = new Dictionary<string, Stream>();
        }

        public static TTSAudioFile Load(Stream f)
        {
            var ret = new TTSAudioFile();
            var br = new Reader(f);

            int length = br.ReadInt32();

            for (var i = 0; i < length; i++)
            {
                ret.Data.Add(br.ReadString(), br.ReadStream());
            }

            return ret;
        }

        public void Save(Stream s)
        {
            var bw = new Writer(s);

            bw.Write(Data.Count);

            foreach (var ks in Data)
            {
                bw.Write(ks.Key);
                bw.Write(ks.Value);
            }
        }


        public void Add(string s, FileStream fileStream)
        {
            Data.Add(s, fileStream);
        }

        public Stream Get(string p)
        {
            return Data[p];
        }
    }
}

var w = new WaveIO();
            var s = new MemoryStream();
            w.Merge(new[] {file.Get("a"), file.Get("b")}, s);

            var player = new SoundPlayer(s);

            player.Play();

wenn ich ein stream von den 2 abspielen lasse geht es, aber es mergt nicht. es kommt der fehler: > Fehlermeldung:

Auf einen geschlossenen Datenstrom kann nicht zugegriffen werden.

bei:


foreach (var fs in files)
            {
                byte[] arrfile = new byte[fs.Length - 44];

ich bin auf eure hifle angewiesen

vielen dank

24.04.2014 - 19:45 Uhr

Hallo,

ich hab den BinaryReader bzw. BinaryWriter erweitert

Leider fallen mir keine Klassen mehr ein die man noch al Binary speichern könnte.

Diese habe ich bereits: Im Anhang

18.04.2014 - 18:19 Uhr

Hallo,
ich versuche eine Assembly aus einem String zu laden und eine Instanz zu erstellen.
Zum Testen hab ich die StringBuilder Klasse und Assembly genommen.
Die Assembly wird geladen, aber es erstellt mir keine Instanz des Objektes:

Code:

var br = new BinaryReader(new FileStream(typeof(StringBuilder).Assembly.Location, FileMode.Open));
            byte[] data = br.ReadBytes((int)br.BaseStream.Length);
            br.Close();

            var assembly = Assembly.Load(data);
            var sb = assembly.CreateInstance("StringBuilder") as StringBuilder;

was mache ich Falsch?

Vielen Dank