Laden...
Avatar #avatar-3236.jpg
xxMUROxx myCSharp.de - Member
Student + Programmierer Südtirol/Italien Dabei seit 11.01.2010 1.552 Beiträge
Benutzerbeschreibung

Forenbeiträge von xxMUROxx Ingesamt 1.552 Beiträge

28.12.2011 - 22:29 Uhr

Hallo Mossos,

ich verwende DevZest - WPF Data Virtualization, funktioniert ohne weitere Probleme. Man kann auch angeben wie viele Elemente bei Bedarf nachgeladen werden. Mit einer kleinen Modifikation kann man auch erreichen dass der Anfangswert der geladen wird vom der Anzahl der Elemente die nachgeladen werden sich unterscheided, was meist auch gewünscht ist.

Gruß
Michael

28.12.2011 - 22:22 Uhr

Hallo Tott666,

nur kann ich darin keine Funktion bauen

vs

nur eine Deklarieren

Dies ist der Unterschied zwischen Methoden überschreiben (von Base-Klassen) und Methoden implementieren (von Interfaces).
Ein Interface definiert nur den Bauplan, bauen musst du es selbst.
Wenn du eine Methodenimplementation welche in verschiedenen Klassen gleich implementiert ist zusammenfassen willst solltest du eine Base-Klasse erstellen.

Gruß
Michael

28.12.2011 - 22:17 Uhr

Hallo david.ka,

müsste im Sql Server Configuration Manager drinnen stehen.

Gruß
Michael

22.12.2011 - 21:27 Uhr

Er bringt keine Fehlermeldung, sondern bricht einfach ab

Dann fängst du den Fehler irgendwo weiter oben.

Wenn du


try
{
    [...]
}
catch(Exception e)
{
    //Hier Brakepoint
}

machst, siehst du auch welcher Fehler gewofen wird.

22.12.2011 - 21:21 Uhr

Die Aufteilung in Subnetze ergibt nicht 192.168.2.X und 192.168.3.X sondern 192.168.2.0-127 und 192.168.2.128-256.

Kein Problem, wenn du die Subnetmaske von
255.255.255.0 auf 255.255.255.128 erhöhst.
Die Hostbereiche liegen zwar etwas anders, aber dies hat nichts zur Sache

Gruß
Michael

21.12.2011 - 11:19 Uhr

Hallo BeZi,

ich kenne keinen Grund eine 1:1 zu machen, denn eine 1:1 kann immer zu einer Tabelle zusammengefasst werden. Ausnahmen gibt es keine.
Wenn du es trotzdem mit einer 1:1 machen willst, versuche es in einer Transaction.
Da du MySql verwendest sollte folgende funktionieren:

BEGIN TRANSACTION
SET FOREIGN_KEY_CHECKS = 0;
 
INSERT...
INSERT...
 
SET FOREIGN_KEY_CHECKS = 1;
COMMIT TRANSACTION

Dies wär nur ne Möglichkeit, obs schön ist oder sinn macht ist eine andere Frage. Meine Meinung dazu steht oben.

Gruß
Michael

16.12.2011 - 12:09 Uhr

First wirft einen Fehler wenn die Kostenstelle nicht vorhanden wäre. Nimm dann lieber FirstOrDefault oder besser mein Vorschlag mit SingleOrDefault.

Klassennamen generell großgeschrieben

16.12.2011 - 10:21 Uhr

Du könntest den Benutzer die Kostenstelle über eine ComboBox auswählen lassen an welcher die zugehörigen Kostenstelle Objekte gebunden sind, dann fällt das Zuweisen aus.
Oder du könntest das entsprechende Objekt in der Datenbank suchen und dieses dem Mitarbeiter anfügen:


Kostenstelle ks = context.Kostenstelle.SingleOrDefault(k=>k.Name = eingegebnerName);

m.Kostenstelle = ks ?? new Kostenstelle(eingegebeneName);

16.12.2011 - 09:59 Uhr

Hallo InSiDeR,

255.255.0.0 ist eben leine gültige Ip-Adresse eines Computers. Desswegen funktionierts eben nicht.
Wenn du von 72.16.x.x einen WOL auf 72.17.x.x machen willst musst du dementsprechend beim Router sicherstellen dass beim Router des 72.16er Netz das 72.17er Netz gerouted wird.

Gruß
Michael

16.12.2011 - 09:43 Uhr

Hallo Dijon,

kannst du etwas Code herzeigen?
Generell ist folgendes


Mitarbeiter m = new Mitarbeiter();
m.Kostenstelle = new Konstenstelle {Name = "K1"};

Mitarbeiter m1 = new Mitarbeiter();
m1.Kostenstelle = new Konstenstelle {Name = "K1"};
[...]//hinzufügen und speichern

nicht gleich folgendem:


Kostenstelle ks = new Konstenstelle {Name = "K1"};
Mitarbeiter m = new Mitarbeiter();
m.Kostenstelle = ks;

Mitarbeiter m1 = new Mitarbeiter();
m1.Kostenstelle = ks;
[...]//hinzufügen und speichern

Ersteres wirft dir den Fehler da du die Kostenstelle mit Namen K1 zweimal hinzufügst (angenommen Name hat einen UNIQUE Constraint)
Zweitere fügt die Kostenstelle K1 nur einmal hinzu, da Sie auch nur einmal erstellt wird.

Gruß
Michael

15.12.2011 - 21:03 Uhr

Generell unterstützt dies kein Framework.
Man muss sich selbst dazu kümmern dass sobald man eine Änderungsbenachrichtigung bekommt man diese Änderun richtig auswerted und gegebenfalls die vorhandenen Daten aktualisiert bzw neue Daten hinzufügt.

Gruß
Michael

14.12.2011 - 15:15 Uhr

Hallo ´#`*,

schreibend hast du wenig Probleme. Die Probleme fangen beim Lesen an.
Nehmen wir an:Thread1 iteriert mit foreach durch die Liste. Thread2 schreib rein, oder löscht. Dementsprechend wird dann in Thread1 ein Fehler geworfen dass sich die Liste geändert hat.
Bzw kann beim Zugriff mit einem Indexer das Element überschrieben oder gelöscht werden.
Verwende lieber die BlockingCollection<T>
Gruß
Michael

14.12.2011 - 15:07 Uhr
using(SqlConnection....)
{
    using(SqlCommand comm....
    {
        if(comm.ExecuteNonQuery() > 0)
        {
            Debug.WriteLine("Daten aktualisiert");
        }
    }
}
14.12.2011 - 14:11 Uhr

Hallo Leute,

Ohne Yield müsste man erst die 10 Millionen Datensätze in eine List<> speichern, was recht schnell den Hauptspeicher sprengt.

Zusätzlich kann man einen Schleife welche sich einem yield Enumerator bedient abbrechen und weitere Iterationen verwerfen. Bei einer Liste sind die Daten schon geladen.

Gruß
Michael

13.12.2011 - 10:49 Uhr

Wunderbar dass es funktioniert.

PMSKReader.Close();  
PMSKConn.Close();  
PMSKConn.Dispose();  
PMSKReader.Dispose();  
  

in einem using Block sind diese Schritte unnötig.

Gruß
Michael

12.12.2011 - 21:45 Uhr

Hallo kom2006,

mach mal ein Dispose oder ein
using(var PMSKConn = new FbCon[...]
{
//hier alles rein.
}

Gruß
Michael

11.12.2011 - 14:47 Uhr

Du könntest dir den Model Generator T4 Template umschreiben, sodass GUIDs anders behandelt werden als andere Properties anderer Typen.
Unterm strich sollte dann so etwas herauskommen:

private Guid? _myGuid;
public Guid MyGuidColumn
{
    get
    {
        return _myGuid ?? Guid.Empty;
    }
    set
    {
        _myGuid = value != Guid.Empty ? value : null;
    }
}
10.12.2011 - 15:21 Uhr

Wie kann man das lösen, dass es die Exception anzeigt?


catch(IOException ex)
{
    MessageBox.[...]
}

Gruß
Michael

09.12.2011 - 14:36 Uhr

Hallo opelig,

Warum das Rad neu erfinden:
Stichwort: Jugendschutz für Vista aufwärts.

Gruß
Michael

08.12.2011 - 21:30 Uhr

Hallo m.grauber,

Darf man so etwas grundsätzlich nicht tun? Es wurde dadurch das Binding gestört.

Versteh auch nicht was du genau meinst, aber generell soll die Eigenschaft an welche gebunden wird beim setzen des Wertes ein PropertyChangedEvent schmeißen, damit die GUI auch mitbekommt dass sich etwas geändert hat. Ansonsten zeigt die GUI ein Objekt an und die Logik arbeitet mit einem anderen.

08.12.2011 - 21:26 Uhr

Für SQL-Compact brauchst du dann den Benutzern auch nur direkt durchs Projet die zwei benötigten dlls mitgeben. Dann muss der SQL-Compact gar nicht erst installiert werden.

Gruß
Michael

07.12.2011 - 09:24 Uhr

Aber sollte es nicht folgendermasen heißen:

Das hängt davon ab wie dein Command.Property aufgebaut ist.

Generell erbt ein Command von ICommand, und dort gibt es keine weiteren Eigenschaften, aber wenn du ein CustomCommand erstellst welche Properties bereitstellen kannst du auch daren binden.

MyViewModel
{
    public ICommand MeinCommand{get;private set;}
    public string MeineProperty{get;set;}
}
06.12.2011 - 22:14 Uhr

Meine Vorstellung von Parts:

Korrekt.

und dies dann auch wirklich der Fall ist

Andernfalls sollte es nicht funktionieren.

Siehst du eine Möglichkeit, die Animation des AnimatedTabControls auch ohne Code-Behind implementieren zu können

Nein, da man nur die Animationen per Trigger machen kann, jedoch nicht den Content-Austausch. Somit musst du wie du, bzw die Prism Leute es gelöst haben bei Halbzeit den Content austauschen.

Mein Ziel wäre, dass ich, wenn ich ein themenspezifisches Control implementieren will

Unter themenspezifisch, verstehe ich immer Styles usw.

Dies sollte wenn möglich auch die Code-Behind-Datei miteinbeziehen, um ggbfs. weitere PARTS "vorrauszusetzen"

Am besten du erstellst dir dann ein Control welches die PARTS sich holt welche es benötigt, oder wenn du komplett auf diese verzichten möchtest (was ich nicht empfehle. Im WPF Standard werden bei jedem Control PARTS verwendet, damit das Design benutzerdefiniert angepasst werden kann), kannst du dir per Code selbst eines zusammenschreiben welches das Aussehen hat so wie du es vorherbestimmt hat und nicht anders. Sprich: Erstellen der GUI wie zu WINFORMs Zeiten ohne Designer.

06.12.2011 - 20:36 Uhr

So stellt das ProgressBar-Control einen Part_GlowRect bereit, der in Control Templates eingebaut werden kann.

Stimmt nicht so genau. Der Benutzer muss dafür sorgen dass die ProgressBar den PART_GlowRect bekommt um dessen Funktionen zu benutzen.
Wie du im SourceCode von ProgressBar siehst wird dies so gemacht:

_glow = GetTemplateChild(GlowingRectTemplateName) as FrameworkElement;

Lies dir eventuell mal einige Tutorial zu Custom Controls durch, dann ist vieles leichter verständlich.

Bezüglich des Contents austauschen denke ich mir dass du es gut gelöst hast, dass bei Halbzeit das Control getauscht wird.

06.12.2011 - 17:00 Uhr

Hallo thorran

nun mag ich zum einen das Komando an einen Button binden (funktioniert auch)

Das Text-Binding funktioniert gleich

<Button Command="{Binding Path=MeinCommand}" Content="{Binding Path=MeineProperty}"

Gruß
Michael

06.12.2011 - 16:54 Uhr

Hallo Fi.as.ko,

bins mal kurz überflogen, werds mir abends genauer angucken. Auf den ersten Moment siehts gut aus.

Mit dem Austausch der Styles bzw. Ressourcen-Wörterbücher fällt die Möglichkeit weg, Parts in Code-Behind zu manipulieren.

Die PARTS_xxx soll der Benutzer auch nicht per Code manipulieren können. Er soll nur das Aussehen ändern. Dies wird über ein Style durch setzen der Eigenschaft Template gemacht.

In der Dokumentation wird ein entsprechendes TemplatePartAttribute vermerkt.

In der Dokumentation wird vermerkt welche PART_xxx du in deiner XAML-Template Implementierung vorhanden sein sollten damit das Control ordnungsgemäß funktioniert.
Dies machst du bei TabControl, welches ein PART_SelectedContentHost benötigt, auch richtig indem du ein

<ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="20"/>

drinnen hast.

06.12.2011 - 15:23 Uhr

Hallo sh33p,

um Syntaxfehler zu vermeiden benutze die SqlConnectionStringBuilder Klasse.

Die Datenbank wird nicht geupdated.

Irgendwelche Fehlermeldung? (Timeout, Login-Failed, etc...)

Gruß
Michael

05.12.2011 - 22:57 Uhr

Hallo Fi.as.ko,
willkommen im Forum

durch letzterem Absatz "Hintergrund" deutet meiner Meinung alles auf einen XAML-Theme Austausch hin.

wie diese Verzögerung umsetzbar wäre

Trigger in Kombination mit Storyboars durch setzen von BeginTime.
Loading WPF themes at runtime

Das Aufrufen des SelectionChanged-Events um eine halbe Sekunde verzögern muss.

SelectionChanged ist in WPF ein RoutedEvent und somit wunderbar durch oben genannte Trigger in XAML abfangbar, damit das StoryBoard gestartet werden kann.

Dementspreched würde ich sagen dass das Dynamische setzen eines Themas über AttachedProperties der falsche Weg sein wird, da das tauschen der Theme.xaml datei viel einfacher ist.

Gruß
Michael

05.12.2011 - 22:45 Uhr

Wenn die Animation der Controls in einem eigenen Thread läuft - und das sollte sie - ist das Sleep nicht so schlimm.

Verbessere mich wenn ich mich irre, aber er invoked zwar die Action, jedoch ist in diesem invoke Block wiederrum ein Thread.Sleep drinnen, welcher im GUI-Thread ausgeführt wird und somit die GUI blockiert wird.

@Briefkasten,
wenn du die Controls im Abstand von .9 Sekunden fokusieren möchtest, schiebe alles zusammen in einen DispatcherTimer, der dir alle .9 Sekunden eine Aktion ausführt. Dort in dieser Aktion kannst du deine Controls fokusieren und machen was du willst, da die Aktion immer im GUI-Thread ausgeführt wird

Gruß
Michael

05.12.2011 - 22:36 Uhr

Hallo Xqgene,

hatte zwar nie dieses Problem, aber ich denke dass die RichTextBox nicht scrollt.
Versuch mal HorizontalScrollBarVisibility aus ScollBarVisibility.Visible zu stellen und/oder die RichtextBox aus dem Scope der ScollBar zu entfernen.

Btw Mach dir mit DataBinding das Leben einfacher und fülle die Controls nicht per Code

Gruß
Michael

05.12.2011 - 19:39 Uhr

Hallo Shinzo,

netsh benötigt Admin Rechte,
versuch mal folgendes, bei mir Funktionierts.

 
ProcessStartInfo procStartInfo = new ProcessStartInfo("netsh", lla1);
procStartInfo.CreateNoWindow = true;
Process p = new Process();
p.StartInfo = procStartInfo;
p.StartInfo.Verb = "runas";
p.Start();

Gruß
Michael

05.12.2011 - 19:18 Uhr

Hallo BloodyLove,

genau für deine Denkansätze wurden u.a. O/R Mapper gemacht.
Einfach gesagt, arbeitet man dabei mit den direkten Daten der Datenbank, d.h. die Object-Schicht stellt 1:1 die Datenbank da.

Ich habe auch noch keinen Ansatzpunkt, wie ich das mit dem Zurückschreiben in die DB realisieren soll.

Bei O/R: Daten im Object ändern und SaveChanges aufrufen, und fertig.

ohne immerzu die ganze Liste durchzugehen mit Schleifen und nach der Objekt ID zu suchen?!?

Bei O/R "gehst" du die Listen mit LINQ-Abfragen durch. Vereinfacht sind LINQ-Abfragen auf Listen ähnlich wie SQL-Abfragen auf der Datenbanktabellen mit JOINS und allem drum und dran.

z.b.

meinobject = objectContext.MeineTabelle.Single(i=>i.Id == 5);

Wird dann auf Datenbankebene:
SELECT TOP(1) * FROM MeineTabelle WHERE Id = 5

Weitere Stichpunkte: Code First, Database first

Gruß

05.12.2011 - 13:12 Uhr

Hallo BloodyLove,

mach ein Interface mit ID als Eigenschaft und nimm als Parameter der getKategoIdFromSelected ein Object des Interface Typs.

Stichwort: Vererbung

Bitte beachte bei solchen Fragen immer 1.1 & 1.1.1 von [Hinweis] Wie poste ich richtig?

Gruß
Michael

05.12.2011 - 08:55 Uhr

Die Funktionen welche die Express Version nicht hat findet man in der Englischen Version des Wikipedia-Eintrages.

Wobei sofort der erste Punkt etwas ungenau definiert ist:

No IDE support for databases other than SQL Server Express and Microsoft Access

Unter "IDE Unterstützung" wird dort verstanden dass man über Visual Studio das DB-Design anschauen kann und Queries ausführen kann (Server Explorer), jedoch NICHT im Express das EF-Diagramm erstellen kann.

04.12.2011 - 19:16 Uhr

Hallo ArnoNuehm,

Was mache ich den falsch?

Es funktioniert nicht, da deine Methode c12.doIt nicht den Parameter object nimmt.

Bitte beachte bei Kompilierfehler immer [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen) und auch ParameterizedThreadStart Delegate

Gruß
Michael

04.12.2011 - 12:26 Uhr

@winSharp93,

man kann auch direkt von VHDs booten, damit kann man diese dann als ganzes auch hin und her kopieren.
Unter anderem ist ein Systemabbild, welches durch das Windows-Backup erstellt werden kann, unter Umständen auch bootbar.

Gruß
Michael

04.12.2011 - 10:33 Uhr

Hallo Double_A,

die Stichpunkte die du suchst liegen bei:*Datenbanken mit Dot.NET *Master Detail *O/R Mapper *WPF-DataBinding (Hirarchial Databinding) (WPF TreeView using the ViewModel Pattern) *MVVM

Leider setzen wir besonders DataBinding bereits, wie unter 1.1 und 1.1.1 in [Hinweis] Wie poste ich richtig? beschrieben, als Grundlagen voraus.

Gruß
Michael

04.12.2011 - 10:19 Uhr

Hallo Leute,

ich verwende VMs auch wie ihr nur zum Testen und Uni bedingt. Jedoch habe ich dann doch den einfacheren und performanteren Weg eingeschlagen und mir ein Dual-Boot eingerichtet.
Andernfalls teste ich in den VM, auf denen XP mit minimalen Updateinstallationen läuft, meine Programme.

Hebivores Idee mit der auslieferung zukünftiger Programme sehe ich nicht von so weit hergeholt, denn M$ macht in letzter Zeit sehr vieles mit den sogenannten VHDs.
Jedoch wenn Programme mit VHD ausgeliefert werden, können diese als Platte eingebunden werden und es wird keine Lizenz benötigt.

Der Sinn jedes Programm in einer VM laufen zu lassen lasse ich so außen stehen.

Gruß
Michael

03.12.2011 - 15:01 Uhr

Hallo joshua,

ich arbeite immer mit dem Entity Framework. Und ja dort wird eine Datenklasse entsprechend aller Spalten und Beziehungen der Datenbankschicht erstellt.
Denn durch diese Wrapper-Klassen vereinfacht man sich die Arbeit mit der Datenbank sehr.

Stichpunkt: O/R-Mapper

Gruß
Michael

02.12.2011 - 16:21 Uhr

Hallo herbivore,

ich habe den Samsung Syncmaster BX2450 ist zwar ein 16:9 aber er ist mir sehr angenehm. Zusätzlich habe ich noch einen 22" aber ich denke dieser ist dir zu klein 😃

BTW, bin ich auch derselben Meinung wie Abt.

Gruß
Michael

02.12.2011 - 12:44 Uhr

Du kannst den Lizenz-Key direkt über VS eingeben.

01.12.2011 - 22:06 Uhr

Ich finde nicht, dass man das Premium Paket für das Entity Framework "braucht".

Nein, denn dazu reicht die normale Professional ohne MSDN auch.

01.12.2011 - 21:55 Uhr

Hallo Leute,

Die Unterschiede sind "nur" die weiteren Toolunterstützungen die gfoidl genannt hat

Dies ist korrekt, aber wenn mit dem Entity Framework arbeitet (DB-First) wird man bei der Express in die Röhre schauen. (Ausgenommen SQLCE, dort gehts auch mit Express).

Zusätzlich ist die Express Version nicht Plugin geschweige denn Third Party fähig und Extensions welche über den Extension Manager installiert werden können funktionieren auch nicht alle.

Gruß
Michael

01.12.2011 - 21:49 Uhr

Hallo adeptus,

anmerkend möchte ich sagen dass beim normalen VS2010Pro eine 1 Jahres MSDN Essentials Subscription im Preis inbegriffen ist.

Gruß
Michael

29.11.2011 - 21:47 Uhr

Hallo #coder#,

ähnliches wurde schon mal besproche. Siehe unter anderem Erfahrungen mit Office 365

Gruß
Michael

27.11.2011 - 16:23 Uhr

Nebenbei überschreibst du auch noch deinen INSERT mit deinem SELECT.
Wenn schon beide Queries ausgeführt werden sollen trenne diese beide mit einem ;

ExecuteNonQuery gibt nur die Anzahl an Zeilen zurück die durch die abgegebene Query direkt geändert wurden.

Gruß,
Michael

27.11.2011 - 10:26 Uhr

Hallo chris32,

parallel zum Plain Connection String gibs auch noch die zwei Helper-Klassen SqlConnectionStringBuilder bzw: EntityConnectionStringBuilder.

Wenn du EntityFramework verwendest kannst du auch den Standardkonstruktor abschalten und direkt mit einem Connectionstring den Context initialisieren.

Das musst du sogar, solltest du deinen ConnectionString nicht in der app.config definiert haben.

Ich möchte kurz gesagt die Verbindungszeichenfolge während der Laufzeit ändern

Speichere die relevanten Sachen ab (Username,Servername,...) . Wenn du dann meine vorgeschlagenen Klassen benützt, ist es ein leichtes den Connection-String zusammenzubauen

Gruß
Michael

23.11.2011 - 21:23 Uhr

Hallo ZeroQool,

ich bin z.Z. auf Vorbereitung auf den MCITP: Server Administrator und dieser kostet je Prüfung ca 180€, informiere dich aber bei deinem Microsoft Certified Trainer ob diese dir eine Vaucher für einen Second Shot, bzw Ermäßigung geben könnten.

Gruß
Michael

21.11.2011 - 20:42 Uhr

Oder poste etwas WPF-Code damit wir sehen wie du es z.Z. machst, evtl auch die Eigenschaft mit welcher du das Binding erstellst.

Gruß
Michael

18.11.2011 - 16:27 Uhr

Hallo Gabriel,

du kannst auf Projektebene (Assembly), und Ordnerebene (Namespace) einen rechtsklick machen und dir das Classendiagram anzeigen lassen.

Gruß
Michael