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 userid14268
Thema: Programm zur Laufzeit editieren. Wie???
Am im Forum: Rund um die Programmierung

Crosspost: http://www.c-plusplus.de/forum/p2094534

Thema: Eintrag aus Liste richtig löschen!
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Aufgedröselt:

private void los()
{
	while (mylist.Count > 0)
	{
		String aktuell;
		aktuell = mylist.ElementAt(0);
		if (aktuell == "DG_runter")
		{
			dg_runter();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
		if (aktuell == "2OG_runter")
		{
			og2_runter();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
		if (aktuell == "2OG_hoch")
		{
			og2_hoch();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
		if (aktuell == "1OG_runter")
		{
			og1_runter();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
		if (aktuell == "1OG_hoch")
		{
			og1_hoch();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
		if (aktuell == "EG_hoch")
		{
			eg_hoch();
			if (mylist.Count > 0)
			{
				mylist.RemoveAt(0);
			};
		};
	}
}

Ein echter Kandidat für den Coding Style Horror Award.

1. Viel zu viel doppelter Code
2. Unnötige ";"
3. Alles Deutsch
[4. C# Naming Convention nicht einhalten]
[5. Unnötige Klammern]
[6. Unnötige Count abfragen]

(4, 5 und 6 würden durch Punkt 1 aufgeräumt, daher geklammert)

Thema: Exception: Zu viele Stummelstücke in XML
Am im Forum: Datentechnologien

BTW, Sagt dein Visual Studio tatsächlich "Stummelstücke"?

Thema: Exception: Zu viele Stummelstücke in XML
Am im Forum: Datentechnologien

Zitat von xasz
@David W: Du hast vollkommen Recht mit deinen Punkten Schell, Fehlerfrei und Verlustfrei. Leider war meine Idee und in meinem Kopf die schnellste möglichkeit eine Zeile in eine Datei zu schreiben.
Leider hast du kein Beispiel genannt wie man es besser machen könnte.



// Nach Formatierung der Message, ruf diese Methode zum Schreiben auf.
private void Write(string logFile, string message)
{
    using (var writer = new StreamWriter(logFile, true, Encoding.UTF-8)
        writer.WriteLine(message);
}

Zusammen mit dem Kommentar von inflames2k
Zitat
Wenn du es schlau anstellst hast du für jeden Tag ein neues Log
hast du auch kein Performance Problem.

Der Vorteil: Es ist einfach. Es ist leicht lesbar. Es kann nur zu Datenverlust kommen wenn die Datei nicht geschrieben werden kann oder es genau in der nanosekunde abbricht. Aber auch dann fehlt immer nur eine Zeile.

Falls du doch bedenken hast kannst du die Datei auch mit Autoflush offen halten:

private StreamWriter _logWriter;

private void OpenLog(string logFile)
{
    _logWriter = new StreamWriter(logFile, true, Encoding.UTF8);
    _logWriter.AutoFlush = true;
}

// Nach Formatierung der Message, ruf diese Methode zum Schreiben auf.
private void Write(string message)
{
    _logWriter.WriteLine(message);
}

Thema: Exception: Zu viele Stummelstücke in XML
Am im Forum: Datentechnologien

Logging in eine XML Datei halte generell ich für keine gute Idee.
Denn sobald der Prozess durch ein Fehler stirbt kann es sehr schnell passieren das die XML ungültig wird, dann muss man erstmal die XML wieder reparieren. Es kann sogar sein das Datenverlust eintritt da noch nicht alles in die XML geschrieben wurde.

Das ist nicht die Idee eines Loggings.
Logging muss Schnell, Fehlerfrei und Verlustfrei sein.

Thema: Erfahrungen mit Office 365 - Gmail Anbindung funktioniert nicht
Am im Forum: Smalltalk

Zitat von trib
Da aber jetzt schon bei Gmail die Werbung auf die eMail-Inhalte abgeglichen wird
GMail hat Werbung??? Noch nie welche gesehen ...

Thema: Erfahrungen mit Office 365 - Gmail Anbindung funktioniert nicht
Am im Forum: Smalltalk

Zitat von michlG
Es gibt massig Tutorials wie man ein Gmail Konto hinzufügt .. aber bei mir werden die Mails nie geladen.
Ich kenne weder Office 365 noch habe ich solche Tutorials gesehen, aber mal ganz Blöd gefragt: Hast du in deinen GoogleMail Settings auch IMAP (oder POP) aktiviert? Standardmäßig ist es nämlich aus.

Thema: DataGrid: Binden eines Wertes aus einer Methode
Am im Forum: GUI: WPF und XAML

Du kannst im getter Methoden ausführen lassen.
Unabhängig davon ist dein Code da nicht sehr schön an zu sehen -.- Man sieht auf einen Blick viele Fehler.

Thema: foreach auf WSDL Datentyp
Am im Forum: GUI: WPF und XAML

Man kann sich auch mit dem wsdl Tool von VS aus der wsdl Datei C# Klassen erzeugen lassen, dann braucht man nur noch diese verwenden :)

Bietet sogar die Möglichkeit des PropertyChanged.

Der Aufruf:

wsdl.exe [URL]http://192.168.12.34/myAPI/myAPI.wsdl[/URL] /parameters:wsdl.xml

Die wsdl.xml wie ich sie immer verwende:
<wsdlParameters xmlns="http://microsoft.com/webReference/">
  <webReferenceOptions>
    <codeGenerationOptions>properties enableDataBinding</codeGenerationOptions>
  </webReferenceOptions>
</wsdlParameters>


Die Klassen kann man dann Instantiieren und benutzen, und der tatsächliche Aufruf des WebService ist dann weg gekapselt in diesen Klassen :)

Thema: Controls in ListView behindern Selektierung
Am im Forum: GUI: WPF und XAML

Du kannst ein Control mit IsHitTestVisible für die Maus unsichtbar machen, dann klickst du durch.
Das Propertie kannst du einfach Binden und dann immer zwischen Klickbar und Nicht-Klickbar umschalten :D

Was auch geht wäre ein Custom Attached Behavior, das häng an einem Beliebigen FrameworkElement und fängt dessen LeftMouseButtonDown, sobald das kommt klettert es den Visual Tree hoch und selektiert den ListViewItem Container :)

Thema: Copy-Link für Code-Bereiche
Am im Forum: Wünsche und Kritik

Würde es nicht gehen eine neue Leere Seite ohne Formatierung zu öffnen mit nur dem Quelltext? Ne einfache txt, da kann man dann alles Markieren und sich kopieren (CTRL+A) ohne das man mit dem drumherum durcheinander gerät.


Aber andere Frage dazu, ist es gewünscht das man sich Fertige Lösungen zusammen kopiert? Der Lerneffekt ist doch größer wenn man es selber eingibt

Thema: Zugriffsprobleme auf SQL Server 2005 Express
Am im Forum: Datentechnologien

Das kann doch kein Zufall sein: http://www.c-plusplus.de/forum/288867

C++ Forum:

Zitat von "DanielK."
So läuft.
Hustbear Du hattes recht.
Die DB muss in der Menagement Konsole erstellt werden, dann braucht man auch "AttachDbFilename" nicht mehr.
Ich habe aus Unwissen die DB mit VS erstellt.

Danke.

Hier:
Zitat von "c#nappi"
So läuft.
FZelleDu hattes recht.
Die DB muss in der Management Konsole erstellt werden, dann braucht man auch "AttachDbFilename" nicht mehr.
Ich habe aus Unwissen die DB mit VS erstellt.

Danke.

Thema: Frage zu VisualStates
Am im Forum: GUI: WPF und XAML

Mach das lieber über den Triggers, so lange du kein SL Programmierst bist du auf diese krüppeligen VisualStates nicht angewiesen.

- In Visual States kann man nur vorhandenes editieren statt komplett neu zu schreiben [Hintergründe mit unterschiedlichen Verläufen ist sehr fummelig],
- Man ist auf Storyboards begrenzt,
- Visual States sind deutlich länger
- Triggers sind einfacher zu handhaben

Hier das was du suchst, ohne das du das MouseLeft o.ä. noch implementieren musst.

<ControlTemplate TargetType="{x:Type RadioButton}">
    <Border>
        <ContentPresenter />
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Red" />
        </Trigger>
        <Trigger Property="IsChecked" Value="True">
            <Setter Property="Background" Value="Yellow" />
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

Thema: Microsoft enthüllt neues Windows 8 User Interface
Am im Forum: Szenenews

Zitat
das kann man per Gruppenrichtlinie abschalten, dann hat man per Default wieder den alten Desktop.
Was schon sehr Sinnvoll ist auf Nontouch Desktop PCs.
Wenn ich an das Video denke, wo er diese Tiles mit der Maus benutzte, wirkte das doch sehr fummelig ^^.

Find ich ein komischen Trend alles immer größer zu machen. Wenn man mit der Maus arbeitet braucht man doch gar nicht so ein riesen Button (Linux ist da aber auch nicht besser, in Ubuntu muss man auch erstmal alles kleiner machen [Mint geht]).

Thema: Frage zur Umsetzung eines Designs
Am im Forum: GUI: WPF und XAML

Pack einfach alle Buttons übereinander auf die gesamte fläche, und Clippe alle Buttons separat auf ihren Sichtbarkeitsbereich herunter.

Wäre mein Vorschlag.

Cropping or Clipping in WPF

Thema: TabControl mit Reitern rechts UND links?
Am im Forum: GUI: WPF und XAML

Du kannst innerhalb des Template das TabPanel verschieben. Ein template Beispiel siehst du hier DW.WPFToolkit

Was du aber vor hast ist das Splitten des ItemsHost. Das geht nicht. Du kannst maximal ein Custom Control machen welches eine ItemsSource2 oder so bereit stellt und das dann im Template zusätzlich positionieren.

Thema: Weißer Strich in der Applikation und Marginprobleme
Am im Forum: GUI: WPF und XAML

Was les ich da "Pupils Office"? Du weißt schon das du die Ribbons nicht für Office Like applikationen verwenden darfst?

Egal von welcher quelle du die Ribbons verwendest (auch die von MS selber) durch die Verwendung stimmst du der Office UI License zu.

Lizenzierung der Office-Benutzeroberfläche
der Link Lizenz und FAQ zur Office-Benutzeroberfläche
Da im FINAL_2007_OFFICE_UI_LICENSE.doc steht explizit:

Zitat
“Excluded Products” are software products or components, or web-based or hosted services that perform primarily the same general functions as the Microsoft Office Word, Excel, PowerPoint, Outlook and Access software applications, and that are created or marketed as a replacement for any or all of those Microsoft applications.

Thema: Microsoft enthüllt neues Windows 8 User Interface
Am im Forum: Szenenews

Wenn man den Windows Qualitätsverlauf sieht:

95 Schlecht
98 Gut
ME Schlecht
XP Gut
Vista Schlecht
7 Gut
8 Schlecht
9 Gut

Wozu dann über 8 Diskutieren wo die meisten vermutlich auf 7 bleiben und von dort direkt auf 9 Springen ^^

Ich finde man sollte jetzt erstmal in ruhe auf die ersten Betas warten, mit MSDN Subscription usw bekommt man es früh genug dass man dann sein vorurteil bilden kann.

Thema: [Solved] RichTextBox: Text formatieren & Elemente einfügen
Am im Forum: GUI: WPF und XAML

Ich fand heraus das jede Formatierung durch mit unbekannte Zeichen getrennt werden. Ich visualisiere es xaml like mal mit < und > Zeichen.

d.h.
1. 000111000111000
2. <000111000111000>
3. <000><111><000111000>
4. <000><111><000><111><000>

Bei den anderen Controls die eingefügt werden ist es ja wie angegeben immer 5
das zeige ich mal als "i"

5. <000><111><0><i><00><111><000>

Wenn man nach jeder Formatierung 2 hinzu fügt als "MoveIndicator" (><) und für jedes "Inline Element" 5 (><x><) dann ist man auf der richtigen Seite.
Die Art der Formatierung macht kein unterschied.

Thema: [Solved] RichTextBox: Text formatieren & Elemente einfügen
Am im Forum: GUI: WPF und XAML

Doch nicht so einfach wie ich dachte.
Sobald ich eine Formatierung hinzufüge verschiebt sich die Position immer willkürlich.

Ich habe dies hier:

foreach (var formatting in formattings)
{
	var range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd);

	var begin = range.Start.GetPositionAtOffset(GetPosition(formatting.Begin, elements), LogicalDirection.Forward);

	var end = begin.GetPositionAtOffset(formatting.End - formatting.Begin);

	var formatRange = new TextRange(begin, end);

	if (formatting.IsBold)
		formatRange.ApplyPropertyValue(TextBlock.FontWeightProperty, FontWeights.Bold);
	else
		formatRange.ApplyPropertyValue(TextBlock.FontWeightProperty, FontWeights.Normal);
}

Wenn ich diesen Text habe:

000111000111000
und ich will
000 nicht formatiert
111 Fett formatiert

Ist der verlauf so:
000111000111000
000111000111000
000111000111000
000111000111000

Wenn ich die Bolds aber immer nur einmal setzen lasse, dann passt es.
000111000111000
000111000111000

mein Ziel ist aber
000111000111000

Scheinbar ist es immer wenn eine Formatierung hinzugefügt wurde die nicht die erste ist, dann muss ich überall +2 machen. Ich weiß aber nun nicht ob das immer passt - auch mit den anderen formaten wie Italic, andere Schriftgröße usw...

Thema: [Solved] RichTextBox: Text formatieren & Elemente einfügen
Am im Forum: GUI: WPF und XAML

Scheinbar muss ich für jedes Element was vor der Position war 5 dazu addieren.


	var range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd);
	foreach (var formatting in formattings)
	{
		var begin = range.Start.GetPositionAtOffset(GetPosition(formatting.Begin, elements));
		var end = range.Start.GetPositionAtOffset(GetPosition(formatting.End, elements));

		var formatRange = new TextRange(begin, end);

		formatRange.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
	}
}

private int GetPosition(int position, List<InlineElement> elements)
{
	int count = elements.Where(e => e.Pos ≤ position).Count() * 5;
	return position + count;
}

Ich find das irgendwie Banane....

Thema: [Solved] RichTextBox: Text formatieren & Elemente einfügen
Am im Forum: GUI: WPF und XAML

Hi,

Ich habe zZt das Problem das ich in einer RichTextBox UI Elemente an einer vorgegebenen Stelle einfügen muss. Das funktionierte soweit.
Ich Zeige erstmal wie.

(Ich habe es zum Testen mal billig nach gebaut)

Gegeben sind diese Objekte:

public class InlineElement
{
	public int Pos { get; set; }
	public string Text { get; set; }
}

public class Formatting
{
	public int Begin { get; set; }
	public int End { get; set; }
	public bool IsBold { get; set; }
}

Test Daten:

private Run CreateTextContent(string text, int from, int to)
{
	return new Run(text.Substring(from, to - from));
}

private string GetText()
{
	return "00123456000000000000";
}

private List<InlineElement> GetElements()
{
	var elements = new List<InlineElement>();
	elements.Add(new InlineElement
	{
		Pos = 5,
		Text = "variable"
	});
	return elements;
}

private List<Formatting> GetFormattings()
{
	var formattings = new List<Formatting>();
	formattings.Add(new Formatting
	{
		Begin = 2,
		End = 8,
		IsBold = true
	});
	return formattings;
}

Aufrag war als erstes nur diese "InlineElemente" als Buttons in ein Text zu packen:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
	var text = GetText();
	var elements = GetElements();

	var paragraph = new Paragraph();

	int pos = 0;
	for (int i = 0; i < elements.Count; ++i)
	{
		var element = elements[i];

		var run = CreateTextContent(text, pos, element.Pos);
		paragraph.Inlines.Add(run);
		paragraph.Inlines.Add(new Button
		{
			Content = element.Text
		});
		pos = element.Pos;
	}

	if (pos < text.Length)
	{
		var run = CreateTextContent(text, pos, text.Length);
		paragraph.Inlines.Add(run);
	}

	flowDocument.Blocks.Add(paragraph);
}
Wie man an dem ersten Bild erkennt war das soweit kein Problem. (1)
Ich habe es so gelöst indem ich den Text einfach gesplittet in Run Objekte gepackt habe.

Nun soll der Text auch noch formatiert dargestellt werden, wo und wie ist auch über die Struktur vorgeben.
Ich war beim Recherchieren auf TextRange und TextPointer gestoßen, aber da gibts nun ein Problem. Und war durch das Splitten ist die Selektion am ende verschoben (2)
(Die Testdaten sagen das die Zahlen 1-6 Bold sein sollen, wenn ich den Text nicht Splitte passt es genau)

private void Window_Loaded(object sender, RoutedEventArgs e)
{
	var text = GetText();
	var elements = GetElements();
	var formattings = GetFormattings();

	var paragraph = new Paragraph();

	int pos = 0;
	for (int i = 0; i < elements.Count; ++i)
	{
		var element = elements[i];

		var run = CreateTextContent(text, pos, element.Pos);
		paragraph.Inlines.Add(run);
		//paragraph.Inlines.Add(new Button
		//{
		//    Content = element.Text
		//});
		pos = element.Pos;
	}

	if (pos < text.Length)
	{
		var run = CreateTextContent(text, pos, text.Length);
		paragraph.Inlines.Add(run);
	}

	flowDocument.Blocks.Add(paragraph);

	var range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd);
	foreach (var formatting in formattings)
	{
		var begin = range.Start.GetPositionAtOffset(formatting.Begin);
		var end = range.Start.GetPositionAtOffset(formatting.End);

		var formatRange = new TextRange(begin, end);

		formatRange.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
	}
}

Wenn ich nun das Element einfügen lass ist die Selektion noch mehr verschoben. (3)

Jemand ne Idee wie ich das Problem korrekt Löse?
Die Anzahl der Elemente, der Text und die Anzahl sowie art der Formatierung ist mir im Vorfeld unbekannt.

Thema: [solved]Silverlight byte[] to Image -> schwerwiegender Fehler
Am im Forum: Datentechnologien

"SetSource" hab ich zwar selber noch nie gesehen, aber kann es sein das du auch bei dieser BitmapImage klasse das BeginInit und EndInit aufrufen musst?

//Dazu
Scheinbar nicht, gerade das hier gefunden: BitmapImage.SetSource -> Catastrophic Error

Thema: Decomplierung von C#-Code und Sicherheit
Am im Forum: Rund um die Programmierung

Erstens das, und zweitens: Versuchs doch mal.
Es ist zwar korrekt das man den Code lesen kann, aber lass ihn doch mal abspeichern und Versuch es baubar zu bekommen. Behebungen in den Quelltexten. Erstellen eines Projektes und Solutions. Zusammensuchen von allen verwendeten 3rdParty libraries. Das ist alles nicht so einfach wie es sich anhört.

Die einzigste gefahr ist das wissen innerhalb einer Methode, also das man das abschauen kann. Mit guten OOP sind die Methoden aber sehr kurz sodass man ohne IDE unterstützung schwerer zurecht findet. Obfuscatoren gibts ja auch noch.

Thema: Verschachtelte Typen in WPF?
Am im Forum: GUI: WPF und XAML

Zitat von lord_fritte
Habe ich schon versucht, findet den typ auch nicht.
Nur der VS Designer nicht. Es baut aber korrekt und findet es auch zur Laufzeit. Habe es eben mal Probiert.

Thema: MVVM + ScrollViewer
Am im Forum: GUI: WPF und XAML

WTF??

Was haben die View Controls im C# Code verloren? und zudem in einem "Model" der dann von nem ViewModel gefüllt wird?

Du hast MVVM komplett falsch umgesetzt.

6 Setzen.

Thema: Width und Height von dynamischem Control abfragen
Am im Forum: GUI: WPF und XAML

Hast du meine Antworten gelesen? Eine Row und Column ist nie unsichtbar, sie ist immer da, nur wenn du keine größe vorgibst und nichts in dem Bereich hast, dann ist die größe eben 0 und du siehst nichts.

Ich klink mich aus, wird mir grad zu blöd hier die WPF Basics vor zu kauen...

Thema: ScaleTransform - Abstand gleich halten
Am im Forum: GUI: WPF und XAML

Ich rate mal ins Blaue: Du willst die Maßeinheit mit vergößern sodass dies sich nicht ändert?

Wo ist in dein Xaml denn dein Transform Objekt?

Wenn du es nur Optisch vergößern willst ohne das sich das Objekt selber vergrößert musst du mit der RenderTransform arbeiten, nicht mit dem LayoutTransform.

Thema: Hierarchische ComboBox
Am im Forum: GUI: WPF und XAML

Du kannst zwei Template definieren, einmal ein Template für den geschlossen zustand wo es normal angezeigt wird.
Und dann ein Template für den geöffneten zustand, da packst du dir noch ein Dummy Control rein welches eine voegegebene Breite nimmt (Festgelegt mittels eines IValueConverters).

Zwischen die beiden Template wählst du dann mitteles eines DataTemplateSelectors.
Ein Beispiel dieses Selectors findest du in den Beitrag von mir hier: ComboBox - nicht alles aus DropDown übernehmen (ungefähr in der Mitte).

//Dazu
Falls du weiterhin ein echten Baum haben willst ist solch ein Control wie ich dir schon Zeigte das richtige für dich, da sind die Items in einem Baum angezeigt aber das ausgewählte Item nicht mehr, da kannste das Template auch selber bestimmen.

Thema: Hierarchische ComboBox
Am im Forum: GUI: WPF und XAML

Suchst du sowas => TreeComboBox?

Code ist hier: TreeComboBox on GitHub