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
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?
Gibt es zufällig eine Lib um Office Addins z.b. Powerpoint Inhalts Addin im eigene Wpf Projekt zu nutzen?
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
*edit erledigt, hab die TCS durch ein ManualReset Ersetzt
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
danke hab daran überhaupt nicht gedacht
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
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?
ich möchte eine eigene iconfont verwenden
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
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.
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?
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
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?
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
Vielen Dank,
wo hab ich heute nur meinen Kopf gelassen 😄
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
Thema hat sich erledigt, hab es nochmal mit der Taskcompletionsource probiert, danke
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;
}
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
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
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
schau dir mal Fody an, aber da musst du dir diesen Fall selbst schreiben
Danke,
hat alles funktioniert, mit dem anderen RoleManager.
Hab vorher nie ein RoleSystem gebraucht, deswegen kannte ich des noch nicht
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
hallo,
ich wollte mal fragen ob man attached Properties in Xml ohne jedigliche UI nutzen kann also zum de/serialisieren?
MFG
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
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
hat sich erledit, habe Application.Exit entfernt
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
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;
}
}
}
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
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
ouh, danke für den tipp, war n simpler denkfehler
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?
Hallo,
kennt jemand eine Methode um eine-css font in eine c# font umzukonvertieren?
Beispiele:
italic bold 12 Georgia;
15px arial
ich hab diesen pattern string: @".?(.?((,).?)+)"
es funktioniert auch aber ich möchte nun machen dass man zwischen , und dem argument ein leerzeichen machen kann
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.
Hallo,
gibt es eine möglichkeit eine Access Datenbank zu nutzen ohne SQL zu verwenden?
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();
ich habe einen anderen pattern gefunden:
(\S+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?
wenn ich alles nach = optional mache:
(\S+)(=[""']?((?:.(?![""']?)?\s+(?:\S+)(=|[>""']))+.)[""']?)?
jetzt findet er aber kein attribute
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
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
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
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
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
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