Zum Inhalt springen

TDM

Mitglieder
  • Gesamte Inhalte

    1.804
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von TDM

  1. Serviceorientierte Architektur :floet:
  2. Einzelne DLLs bringen nichts. (Abhängigkeiten, Betriebssystem, etc.) Entweder der Kunde läd sich das Framework selbst runter, du integrierst eine Offline-/Download-Installationsroutine in dein Setup oder der Kunde muss es lassen. :floet:
  3. TDM

    Mehrere Boolean Werte

    Ja, das ist schon klar, aber bei && negierst du im Worst-Case (4x false) alle UND prüfst jeden Einzelnen. Bei || prüfst du zwar auch alle, aber negierst am Ende nur einmal. Du solltest bedenken, dass ||, wie &&, auch unter bestimmten Bedingungen (lhs = true) beim ersten Wert aussteigt. :floet: bool'sche Algebra, Fluch oder Segen. :floet:
  4. TDM

    Mehrere Boolean Werte

    Was ist die Grundlage für diese Behauptung? Ich seh das nämlich anders rum: Fall1: Alle true if(!true && !true && !true && !true) 3 Anweisungen: Hole Wert aus Variable Negiere Check -> False if(!(true || true || true || true)) 4 Anweisungen: Hole Wert aus Variable Check -> True Negiere Check -> False Fall2: Alle false if(!false && !false && !false && !false) 13 Anweisungen: Hole Wert aus Variable Negiere Check -> True Hole Wert aus Variable Negiere Check -> True Hole Wert aus Variable Negiere Check -> True Hole Wert aus Variable Negiere Check -> True Führe If-Block aus. if(!(false || false || false || false)) 11 Anweisungen: Hole Wert aus Variable Check -> false Hole Wert aus Variable Check -> false Hole Wert aus Variable Check -> false Hole Wert aus Variable Check -> false Negiere Check -> True Führe If-Block aus. Zusammenfassung: Variante 1: 16 Anweisungen Variante 2: 15 Anweisungen Tja, musst wohl doch einen Benchmark schreiben...
  5. TDM

    Mehrere Boolean Werte

    Seit wann prüft man bools auf Wert? :beagolisc Entweder ist oder ist nicht: If (bHasToBeTrue) Then '... If (Not bHasToBeFalse) Then '... :floet:
  6. TDM

    Primzahlen erkennen

    Initialisieren nicht, aber man könnte sowas machen: bool[] ba = new bool[99]; Array.ForEach<bool>(ba, ( => b = true);[/code] Warum zählst du bis [i]eingabe[/i]? Die Hälfte reicht doch.
  7. TDM

    C# Funktion || Anfängerfrage

    Single ist meines Wissensnach kein int. Folglich float. Außerdem ist das try-parse-catch-Konstrukt nicht gerade ... stilvoll. Single.TryParse Method
  8. TDM

    C# Maus Frage

    Wie hast du mouse_event denn deklariert?
  9. TDM

    C# Maus Frage

    Mach mal nen Zweizeiler draus: mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0); Wäre da VBS nicht sinnvoller? Zumal: Muss es denn die Maus sein? Man kann doch auch ein Enter schicken.
  10. Weil mir grad sowas in den Sinn kam, als ich den ersten Post las: Wäre es rechtens, wenn ich das Mangelpaket unfrei versende? "Muss" der Verkäufer es dann annehmen und das Porto zahlen?
  11. TDM

    Json

    Warum kein Try drum und mal die komplette Fehlermeldung posten?
  12. Nachteil am Einzeiler: Wenn ich dem User ein "Warum" ausgeben will, muss ich nochmal prüfen. Ergo: Lieber Bitmaskierung.
  13. TDM

    C# Maus Frage

    How to: simulate a mouse click How to: simulate mouse and keyboard events
  14. Dann geht das hier wohl doch nicht?!
  15. Nein, dann hast du undefinierte Werte verändert. (Damit wir uns nicht falsch verstehen: Deine Werte stehen drin, aber wenn du Wert[0] änderst wird folglich nicht Wert[49] auf 0 gesetzt.)
  16. C++ Notes: Array Initialization -> Nein. (hmm, Punkt 4 klingt interessant.)
  17. Sowas wie -21053478...wasweißich? Könnte daran liegen, weil du dein Array deklarierst, aber nicht initialisierst. Außerdem würd ich mir goto gar nicht erst angewöhnen.
  18. Solang es nur ums Erstellen und Löschen ist das sicher ok. Interessant wirds dann erst, wenn du weitere Zusatzinformationen brauchst; bspw. Control wird verschoben: Aktionsart (Enum/Aktion) Control Zusatzinfo (Vector) Daraus ergibt sich für mich sowas: IList<IDictionary<Action<Control, object>, IControlActionInfoWrapper>> DoneList; public interface IControlActionInfoWrapper { Control Control { get; } object Info { get; } } public class ControlActionInfoWrapper<T> : IControlActionInfoWrapper { #region IControlActionInfoWrapper Members public Control Control { get; set; } object IControlActionInfoWrapper.Info { get { return Info; } } #endregion public T Info { get; set; } } Nur mal so als Idee in den Raum geworfen. :floet:
  19. Also fertige Klassen (von Microsoft) sind mir nicht bekannt, aber du kannst ja mal bei Codeproject schauen, ob dir sowas zusagt.
  20. TDM

    Bock auf Rätsel

    Ist ja nicht schwer, Ctrl+F + Schlagwort deiner Wahl und die paar seiten durchgehen. Auch wenn heut der 28. ist: Antwort=Pferdetausch Editerle: Reg.-Datum: 21.07.2010 - nur desterwegen angemeldet?
  21. while(antwort == 'j') { [INDENT]cout<< " Waehlen Sie eine Rechenart aus :"<<endl<<" Addition [1], Subtraktion [2], Multiplikation [3], Division [4]: " ; if(!(cin>> rechenart)) {[INDENT] cout << "Bitte keine Buchstaben eingeben." << endl; cin.clear(); continue; [/INDENT] } cout<<endl; [/INDENT] Man könnte natürlich auch good, bad, fail oder eine manuelle Prüfung (string Eingabe) benutzen. Geschmackssache.
  22. Weil die Objekte vom Typ Color sind und nicht vom Typ Brush. Und da ist es ja sinnvoller, wenn ich eh schon eine Aufzählung von Colors habe, den Brush dynamisch als Template zu erstellen (ist ja eh immer ein SCB). Bei einem ResourceDictionary müsste immer erst nachgesehen werden "Welche Farbe ist es? Aha. Nehme den Brush." (oder so) Mir kam aber grad die Erleuchtung: Wenn WPF zu "dumm" ist, den Brush richtig zu erstellen, mach ichs halt selber. <local:ColorBrushConverter x:Key="BrushConverter"/> <DataTemplate x:Key="ColorTemplate"> <StackPanel Orientation="Horizontal"> <Rectangle Width="40" Fill="{Binding Converter={StaticResource BrushConverter}}" Stroke="#FF000000"/> <TextBlock Text =" " Foreground="Black" /> </StackPanel> </DataTemplate> internal class ColorBrushConverter : IValueConverter { #region Constructors public ColorBrushConverter() { } #endregion #region Methods #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is Color) return new SolidColorBrush((Color)value); else if (value is SolidColorBrush) return ((SolidColorBrush)value).Color; return null; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is Color) new SolidColorBrush((Color)value); else if (value is SolidColorBrush) return ((SolidColorBrush)value).Color; return null; } #endregion #endregion } Geht.
  23. Ich nutze Ressourcen, das Template und die Liste sind als StaticResources im Usercontrol hinterlegt. (Will ja nicht 1000. Mal die Liste neu erstellen) Dies entspricht, zumindest nach meiner Ansicht, FindResource() (nur halt XAML-Code). Zumindest mach ich das häufig so, aber der Fehler trat bisher komischerweise noch nie auf.
  24. Grüße, ich bin grad dabei, ein kleines Optionsfenster für Individualisierungen zu schreiben. Unter Anderem sollen da bestimmte Farben zugewiesen werden können. Irgendwie klappt das aber noch nicht so ganz, wie ich will. Zunächst hab ich erstmal mittels Helperclass die Enum der Farben erzeugt: <ObjectDataProvider x:Key="PropertyCollector" MethodName="GetPropNames" ObjectType="{x:Type local:PropertyCollector}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="Colors"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> Hilfsmethode ist simpel: public IEnumerable GetPropNames(Type type) { foreach (PropertyInfo pi in type.GetProperties()) yield return pi.GetValue(null, null); } Passt auch soweit. Das ganze ist der ItemsSource für meine ComboBox: <ComboBox Grid.Row="0" Grid.Column="1" Margin="5" ItemsSource="{Binding Mode=OneWay, Source={StaticResource PropertyCollector}}" ItemTemplate="{StaticResource ColorTemplate}" SelectedItem="{Binding BackgroundColorOption.Value}"/> Damit man auch was erkennt und nicht nur "#00000000"-Strings dastehen, soll als Repräsentation ein kleines Viereck, mit Farbe gefüllt, gezeichnet werden: <DataTemplate x:Key="ColorTemplate"> <StackPanel Orientation="Horizontal"> <Rectangle Width="40" Stroke="#FF000000"> <Rectangle.Fill> [COLOR="Red"]<SolidColorBrush Color="{Binding}"/>[/COLOR] </Rectangle.Fill> </Rectangle> <TextBlock Text =" " Foreground="Black" /> </StackPanel> </DataTemplate> (Anm. d. R.: Leerer TextBlock für Ein-Zeilen-Höhe) Irgendwie mag WPF das aber nicht, im Output steht immer: Programm stürzt nicht ab und es kommt der Fehler nur, wenn ich das Optionsfenster öffne. Frag mich auch, wie DataItem null sein soll. Jemand ne Idee?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...