lbm1305
-
Gesamte Inhalte
373 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von lbm1305
-
-
Gibt es also eine Möglichkeit eine WP8 App auf einem Windows7 PC zu entwickeln ?
VM + Windows 8
-
Wie sieht denn der bisherige Versuch aus?
-
klingt irgendwie wie ein Buddistischer Lehrspruch^^ ne aber Spass bei Seite, müsste dann nicht alles funkionieren wenn ich das tool als Admin starte?
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.
-
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; }
-
Soll "InvalidateVisual" aufgerufen werden, wenn sich dein DP ändert oder soll sich dein DP neu berechnen, wenn sich "InvalidateVisual" ändert?
-
ich stehe dan komplett auf dem Schlauch
Sowas würde ich mittels Powershell erledigen
Daumen hoch... :cool:
-
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
-
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.
-
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
-
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
-
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 Form1private 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
-
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 :-)
-
Kopie der SourceTable anlegen, die Spalte entfernen und dann Speichern.
-
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.
-
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); }
-
EDIT: Der Beitrag hier war Blödsinn :-)
-
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); } }
-
dein beschriebener Fall würde sich z.B. am Besten dann anbieten, wenn man den Event-Handler nur vorrübergehend braucht, später dann aber nicht mehr. Im Fall von popeye1977 wäre das dann der Fall, dass man zu Begin den Handler setzt und die ganze Zeit darauf zurückgreift.
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" ;-)
-
Mir ging es nur darum, wie man Events in VB.Net implementiert. (Best Practice) In C# gibt es (meines Erachtens) nur einen Weg.
-
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
-
-
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.
-
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");
-
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
C#: von "tutorial-projekt" zu "tutorial-projekt"
in .NET
Geschrieben
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