Zum Inhalt springen

lbm1305

Mitglieder
  • Gesamte Inhalte

    373
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von lbm1305

  1. Für Einsteiger gibt es solche kleinen Aufgaben wie: a) Berechnen einer Quersumme Prüfzahlenberechnung c) FizzBuzz etc. Bei FizzBuzz gibt es mehrere Möglichkeiten. bspw. - erstelle zahlen von 1 bis 100 - durchlaufe jede Zahl, dabei sind folgende regeln zu beachten. * wenn zahl durch 3 teilbar ist => ausgabe "fizz" * wenn zahl durch 5 teilbar ist => ausgabe "buzz" * wenn zahl durch 3 und 5 teilbar => ausgabe "fizzbuzz" * trifft keine regel zu => ausgabe der zahl ausgabe auf der konsole, ggf. auch andere ausgabeform
  2. Wie sieht denn der bisherige Versuch aus?
  3. Nein...Hier ein Video von der BASTA bzw. Dominick Baier, zwar zum Thema "Windows 8 Security", aber ab ca. 20. / 21.Minute wird es vielleicht verständlicher. Windows-8-Security für App-Entwickler - YouTube
  4. Eventuell so? public static readonly DependencyProperty RectangleCountProperty = DependencyProperty.Register( "RectangleCount", typeof(int), typeof(UserControl1), new PropertyMetadata(OnDependencyPropertyChanged)); . . . private static void OnDependencyPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var sender = (UserControl1)d; Calculate(); sender.InvalidateVisual(); //var oldValue = e.OldValue; //var newValue = e.NewValue; }
  5. Soll "InvalidateVisual" aufgerufen werden, wenn sich dein DP ändert oder soll sich dein DP neu berechnen, wenn sich "InvalidateVisual" ändert?
  6. Ich gehe davon aus, dass die Verzeichnisse in der einzlesenden txt-Datei Zeilenweise aufgeführt sind. ReadLine von StreamReader liest "zeilenweise". D.h. in Variable Zeile steht immer ein Pfad zu einem Verzeichnis. Innerhalb des while - Statements müsstest Du jetzt die Aktion auf das Directory ausführen. Was auch funktioniert...Du speichert alles Pfade in einer Enumeration vom Typ string (IEnumerable<string>) und führst dann auf jedes Item der Enumeration deine Aktionen aus. using (StreamReader sr = new StreamReader(datei)) { string zeile; while ((zeile = sr.ReadLine()) != null) { if(Directory.Exists(zeile) { var files = Directory.GetFiles(zeile); foreach(var file in files) { // MacheEtwasMit(file); // Die Methode kann bspw. die Datei mit den Bildnamen öffnen und den Pfade // Dateinamen vergleichen bzw. suchen. } } } } Noch ein paar Hilfen: http://msdn.microsoft.com/de-de/library/db5x7c0d.aspx http://msdn.microsoft.com/de-de/library/4cyf24ss.aspx http://msdn.microsoft.com/de-de/library/07wt70x2.aspx
  7. Alles Links von Goulasz verweisen auf die MSDN. Dort gibt es genug Beispiele zu den entsprechenden Klassen. Auch wie man Dateien öffnet und ausliest findest Du da bzw. auch per Suchmaschine. Wie sieht den Dein bisheriger Code aus? Ansonsten kann ich Dir anbieten, das Programm zu schreiben, wenn die finanziellen Angelegenheiten geklärt sind.
  8. Code funktioniert bei mir so. [ServiceContract] public interface IDemoService { [OperationContract] string GetMessage(); } public class DemoService : IDemoService { public string GetMessage() { return "Hallo Welt"; } } <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="DemoServiceBehavior"> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" policyVersion="Policy12"/> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors> </behaviors> <services> <service name="WcfServiceDemo.DemoService" behaviorConfiguration="DemoServiceBehavior"> <endpoint address="" binding="basicHttpBinding" contract="WcfServiceDemo.Contracts.IDemoService" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel> Die Projektstruktur
  9. Moin, ich sehe keinen Endpunkt für den eigentlichen Dienst ?! Unter Service müssten mindestens 2 Endpoints auftauchen. 1.) Der Endpoint für den Dienst. 2.) Der Endpoint für die Metadaten
  10. Ein Custom Event ist nicht anderes als ein selbstgeschriebener Event. Der (Custom)Event muss dort gefeuert werden, wo der bspw. CheckChangedEvent behandelt wird (Handler Methode, wie bspw. beim ButtonClick). Im Grunde genommen verkettest Du die Events. In C# public delegate void MyEventDelegate(object sender, EventArgs e); public partial class Form2 : Form { public event MyEventDelegate CustomEvent; public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (CustomEvent != null) { CustomEvent(this, EventArgs.Empty); } } } Wie die Syntax in C++ ist, musst Du wissen ;-) Auszug aus Form1 private void button1_Click(object sender, EventArgs e) { var form2 = new Form2(); form2.CustomEvent += CustomEventHandler; form2.ShowDialog(); form2.CustomEvent -= CustomEventHandler; } private void CustomEventHandler(object sender, EventArgs e) { Debug.WriteLine("Event, der in Form2 gefeuert wurde."); } EDIT: Stichworte sind hier DELEGATE und EVENTS
  11. Für C# - Form2 enthält einen CustomEvent, der ausgelöst wird, wenn Form2 den CheckChangedEvent feuert. - Form2 erhält eine Callback Methode, die beim Instanzieren der Form2 in Form1 mit übergeben wird. - EventAggregator bzw. ein ServiceBus. Denke aber, das dies ein wenig übertrieben wäre :-)
  12. Kopie der SourceTable anlegen, die Spalte entfernen und dann Speichern.
  13. In die Zukunft sehen kann keine Programmier / Skiptsprache. Selbst PHP nicht. Vor dir haben genug Leute ähnliche Probleme gehabt und haben diese auch gelöst. Warum solltest Du also das Rad neu erfinden müssen? Ich möchte mal behaupten, dass dein Entwurt einfach bescheiden ist. Wenn man durch eine Collection iteriert, dann fragt man das gerade aktuelle Objekte ab und führe dann ggf. Operationen durch. Was man machen kann: Man holt sich nur valide Objekte in die Collection und arbeitet diese dann ab. Hier muss aber auch eine Prüfung stattfinden, welche Ordner valide sind und welche nicht. Und dafür gibt es genug Lösungen.
  14. Dein Code wird noch unleserlicher mit dem Konstrukt. Einfacher wäre bei der Varante mit dem Attribute: if (directory.Attributes == FileAttributes.Directory) { } else { Console.WriteLine(directory.FullName); }
  15. Bspw. eine Extension-Methode schreiben, die die Exception abfängt und statt dessen einen Boolean-Wert zurück gibt. public static class DirectoryInfoExtensions { public static bool IsAuthorized(this DirectoryInfo self) { try { var directorySecurity = self.GetAccessControl(); return true; } catch (UnauthorizedAccessException ex) { return false; } } } Benutzung: var directoryInfo = new DirectoryInfo(root); var directories = directoryInfo.GetDirectories(); foreach (var directory in directories) { if (!directory.IsAuthorized()) { Console.WriteLine(directory.FullName); } }
  16. Nicht benötigte Events sollten deregistriert werden, was oft vergessen wird. Und das wird in dem Beispiel des TE nicht durchgeführt. Wie bereits geschrieben geht es hier nicht um das Kritisieren, sondern nur um ein mögliches "Best Practice" ;-)
  17. Mir ging es nur darum, wie man Events in VB.Net implementiert. (Best Practice) In C# gibt es (meines Erachtens) nur einen Weg.
  18. Ist das die eigentliche Vorgehensweise bei der Implementierung von Events bei VB.NET? Ich dachte immer, Events werden mit AddHandler registriert. bspw. Sub Main() Dim foo As Foo = New Foo() 'Dim foo As New Foo() AddHandler foo.FooEvent, AddressOf FooEventHandler foo.DoSomething() RemoveHandler foo.FooEvent, AddressOf FooEventHandler Console.ReadKey() End Sub Private Sub FooEventHandler(ByVal sender As Object, ByVal e As DispoGrenzeEventArgs) Console.WriteLine("FooEvent: {0}", e.Value) End Sub Public Class Foo Public Event FooEvent As EventHandler(Of DispoGrenzeEventArgs) Public Sub DoSomething() RaiseEvent FooEvent(Me, New DispoGrenzeEventArgs(True)) End Sub End Class
  19. How to use AD Attributes not represented in UserPrincipal, GroupPrincipal and ComputerPrincipal | Raymund Macaalay's Dev Blog
  20. Schau mein letztes Posting an: Die Klassen findest Du unter: System.DirectoryServices.AccountManagement; zusätzlich stehen dir dann folgenden Eigenschaften zur Verfügung: var userPrincipal = UserPrincipal.FindByIdentity(principalContext, windowsIdentity.Name); Console.WriteLine("Vorname: {0}", userPrincipal.GivenName); Console.WriteLine("Nachname: {0}", userPrincipal.Surname); Console.WriteLine("E-Mail: {0}", userPrincipal.EmailAddress); Console.WriteLine("Telefon: {0}", userPrincipal.VoiceTelephoneNumber); // und noch mehr ;-) Im Beispiel davor kannst Du entweder den Namen angeben oder bspw. die Windows Identity angeben. Code läuft unter Windows 7 x64 mit .NET 4 Das Auslesen des Users ist im Gegensatz zu Deinem Beispiel nur 2 Zeilen lang.
  21. Geht die Beschreibung des Zieles genauer? Ansonsten geht das hier vielleicht: var windowsIdentity = WindowsIdentity.GetCurrent(); var principalContext = new PrincipalContext(ContextType.Domain, pfad_zum_ldap-server, name_container); var userPrincipal = UserPrincipal.FindByIdentity(principalContext, windowsIdentity.Name); //var userPrincipal = UserPrincipal.FindByIdentity(principalContext, "max.mustermann");
  22. lbm1305

    Speicherleck im .Net?

    Hier zwei Möglichkeiten, die funktionieren sollten. Sub Main() Dim i As UInt32 = 1 Dim auoResetEvent As AutoResetEvent = New AutoResetEvent(False) While (True) 'Dim task As Task = task.Factory.StartNew(AddressOf DoSomething) 'task.Wait() ' oder ThreadPool.QueueUserWorkItem(AddressOf DoSomething, auoResetEvent) auoResetEvent.WaitOne() Console.WriteLine("Es läuft...{0}", i) i += 1 End While End Sub ' ThreadPool Sub DoSomething(ByVal stateInfo As Object) Console.WriteLine(Thread.CurrentThread.ManagedThreadId) Thread.Sleep(100) CType(stateInfo, AutoResetEvent).Set() End Sub ' Task Sub DoSomething() Console.WriteLine(Thread.CurrentThread.ManagedThreadId) Thread.Sleep(100) End Sub

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...