Laden...

Forenbeiträge von Diräkt Ingesamt 615 Beiträge

06.05.2013 - 08:03 Uhr

Hallo Chazon

Was hast du diesbezüglich schon probiert ? Wo genau liegt das Problem ?

Mir würde spontan folgendes einfallen :
=> Timer welcher im Tick_Event die Transparentz des Bildes erhöht

Beste Grüsse

Diräkt

03.05.2013 - 17:03 Uhr

Hallo ThoHei

Struktur:

>Solution
->>Projekt 1
->>Projekt 2

Wenn du für ein "Gesamtprojekt" mehrere Solutions nutzt, würde ich ein Ordner z.B "LIB" anlegen und der Release Output der Projekte von Solution 1 darauf festlegen.
Von Solution 2 kannst die Assemblys dann vom LIB Ordner referenzieren.

Beste Grüsse

Diräkt

20.04.2013 - 18:08 Uhr

Hallo herrfuchs

Genau versteh ich Dein Vorhaben nicht, aber schau Dir mal lock an.

Beste Grüsse

Diräkt

17.04.2013 - 07:46 Uhr

Hallo Stony17

Das geht mit allen Controls. Es gibt da Eingenschaften wie Visible oder Enable die sich dafür eignen könnten.

Theoretisch kannst du auch ein Plugin System erstellen um dein Ziel zu erreichen.

Beste Grüsse

Diräkt

16.04.2013 - 17:54 Uhr

Hallo Stony17

Genereller gesagt, brauchst du nicht einmal ein Login, sondern nur eine Konfiguration.
Du kannst ein config.xml erstellen und darin alles gewünschte definieren.

Beim Start deiner Applikation wird dieses eingelesen und als Einstellungen verwendet.
Wenn das Bedürfniss da ist, kannst für das config.xml ja sogar noch ein GUI machen um es benutzerfreundlich anpassen zu können.....

(z.B. "Screenshot" der Applikation, wo man sich zusammenklicken kann was man gerne möchte..)

Beste Grüsse

Diräkt

16.04.2013 - 17:50 Uhr

Hallo DatMilu

Ganz verstehe ich nicht was du möchtest...

Dein gewünschtes Resultat erhältst du mit:

var result = php.Replace("function","void");

Wenn du ein Converter schreiben willst, brauchst natürlich noch ein paar Zeilen mehr 😉
( Auch wäre dann mein Statement nicht korrekt, weil wenn die function ein return benutzt ist es nicht mehr void ... )

Beste Grüsse

Diräkt

16.04.2013 - 17:44 Uhr

Hallo ill_son

Du kannst die Liste einfach Filtern nach dem Text. Wird etwas nicht vorhandenes eingegeben, ist die Auswahl in der ComboBox leer.

Beste Grüsse

Diräkt

14.04.2013 - 17:05 Uhr

Hallo GeneralKampfKeks

Ehrlich gesagt würde ich den Kontostand nicht ausgerechnet abspeichern, ausser du hast Millionen von Datensätzen.

Vorgeschlagene Möglichkeiten:

1.
Tabelle Einnahmen, Tabelle Ausgaben.

2.
Boolean Flag ob Einnahme oder Ausgabe....

3.
Ausgaben mit einem (-) versehen.

Du hättest dann den Vorteil, den Betrag dynamisch auszurechnen :
Du kannst dann sowas machen wie Sum(Einnahmen)-Sum(Ausgaben).

Beste Grüsse

Diräkt

13.04.2013 - 23:48 Uhr

Hallo

Ein auf asp basierendes CMS wäre z.b. DOT NET NUKE !
Grundsätzlich empfehlenswert, aber wie ABT schon gesagt hat, die PHP Community ist was CMS betrifft einiges grösser....

Beste Grüsse

Diräkt

13.04.2013 - 18:52 Uhr

Zitat von Diräkt:
Du kannst deine BL Methoden über ein Web-Service "freigeben".
Somit können Web+Console Anwendung die Selbe Logik teilen. ( Wartung etc... )

Könntest du das villeicht etwas genauer ausführen?

Du wirst ja eine BL haben. Um keinen Code zweimal zu schreiben ( never repeat your self ), kannst du ein WebService erstellen (WCF) und die relevanten BL Methoden zur Verfügung stellen :


public List<T> GetData()
{
var bl = new Bl();
return bl.GetData();
}

Das hatte ich mir auch schon als "Notlösung" überlegt, wenn die beiden Anwendungsteile (Service + Web) sonst nicht miteinander kommunizieren könnten. Da die Hardware auf der das Ganze läuft/laufen soll etwas schwachbrüstig ist wollte ich eine DB wenn möglich umgehen.

Wenn du die alten Daten (Hisotry) nicht brauchst, sondern nur das Aktuelle, ist eine DB der falsche Ansatz, richtig.

Du kannst von deinem WebService oder von der Web-Applikation oder von beidem aus, auch auf dein Windows Dienst zugreifen, damit sollte dein Vorhaben gut umsetzbar sein.

Stichwörter dafür wären z.B. :
.Net Remoting
Service Controller

Beste Grüsse

Diräkt

13.04.2013 - 09:19 Uhr

Hallo Phatdaro

Du kannst deine BL Methoden über ein Web-Service "freigeben".
Somit können Web+Console Anwendung die Selbe Logik teilen. ( Wartung etc... )

  • Über die Website möchte ich die Anwendung starten und stoppen können

Hat jeder User eine Instanz der Anwendung ?! Wenn ja sollte die Architektur überarbeitet werden 😃
Grundsätzlich ist das Starten und Stoppen kein Problem, sinnvoll wäre dann z.B. ein Windows Service..

Die bestehende Anwendung gibt kontinuierlich Rückmeldung, diese würde ich gerne auf der Website in einer Textbox anzeigen.

Die Daten kannst du in eine DB speichern. Und für die WebSite liest einfach wieder aus und stellt wie gewünscht dar...

Die bestehende Anwendung soll, auch wenn die Website durch den Browser(Benutzer) geschlossen wird weiterlaufen, öffnet der Benutzer die Website wieder soll er die aktuellen Stand sehen

Siehe Windows-Dienst...

  • Kann ich das prinzipiell in einer WebAnwendung hinbekommen?

Es gibt eigentlich fast keine Grenzen, was man mit WebAnwendungen hinbekommt, also ja.

Beste Grüsse

Diräkt

14.03.2013 - 16:58 Uhr

Hallo CoderboyPB

Wenn man den ObjectContext verwendet heisst es :

Context.AddObject();

wenn du den DbContext verwendest hesist es :

Context.Person.Add(...);

Beste Grüsse

Diräkt

12.03.2013 - 15:27 Uhr

Hallo Abt

Danke werde ich testen! Gerne würde ich noch Deine Frage beantworten und dazu Deine (oder Eure) Meinung wissen.

Ich habe mir überlegt anstatt den Timeout auf z.B 8 Stunden zu stellen, lieber alle 30 Minuten ein Post ( sieher erster Thread ) abzusetzen, um die Applikation aktiv zu halten.

=> Ja , das ist Overhead und Dein Einwand ist berechtigt

ABER:

=> Wenn ich es richtig verstehe würde ein Timeout von 8 Stunden bedeuten : ==> User loggt sich ein ==> User schliesst Browser ( ohne sich abzumelden ) ==> Session bleibt 8 Stunde in den Ram des Servers

Mein Control würde also erlauben :

=> Timeout auf 1 Stunde
==> User loggt sich ein
==> Alle z.B. 30 Minuten ein Post => session refresh ( damit auch 8 Stunden gehen .... )
==> User schliesst Browser (ohne sich abzumelden)
==> Session bleibt max 1 Stunde in den Ram des Servers

Ist mein Verständniss falsch ? Oder gibts dafür ne bessere Lösung ?

[OFF]
Ich persönlich halte es nicht für sinnvoll eine Session solange am leben lassen zu wollen. Das "neu" Anmelden dauert ja 2-3 Sekunden.... Nur was Entwickler denken interessiert ja niemand 😃
[/OFF]

Beste Grüsse

Diräkt

12.03.2013 - 14:30 Uhr

Hallo Abt

Danke für Deine Antwort.

Es gibt doch 2 Einstellungen nicht ?
=> APP - Pool
=> (screenshot => ist das diese Einstellung)?
=> Web.Config
=
> <sessionState timeout="60" />

Mit diesen beiden Einstellungen müsste die WebApp also nach einloggen, 60 minuten aktiv bleiben ?

Beste Grüsse

Diräkt

12.03.2013 - 11:12 Uhr

Hallo Leute 😃

Ich habe ein Control, welches alle X Sekunden ein Post absetzt um die Session zu verlängern. Das geschieht per Javascript, etwa so :

 $.ajax({
                timeout: options.AJAXTimeout,
                url: options.keepAliveURL,
                error: function () {
                    self.failedRequests--;
                },
                success: function (response) {
                    if ($.trim(response) !== options.serverResponseEquals) {
                        self.failedRequests--;
                    }
                },
                complete: function () {
                    if (recurse) {
                        self._startTimer();
                    }
                }
            });

Die Keep-Alive Seite sieht so aus :


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
   OK
    </form>
</body>
</html>


 protected void Page_Load(object sender, EventArgs e)
        {
            Session["KeepSessionAlive"] = DateTime.Now;
        }

Auch wenn der Post abgesetzt wird, wird dadurch die Session-Zeit nicht wieder zurück-gesetzt.

Sprich:
=> Wenn im IIS 20 minuten konfiguriert sind, flieg ich nach 20 minuten raus, trotz des Controls, warum, was mach ich falsch ?

Beste Grüsse

Diräkt

04.03.2013 - 15:53 Uhr

...

es gibt noch so schöne Methoden wie string.Format und Path.Combine

...

Beste Grüsse

Diräkt

04.03.2013 - 14:30 Uhr

Hallo Skywalker

Dies ist ggf. nicht gewünschte Antwort, jedoch eine mögliche Lösung 😃

Ich würde ein Ordner im FTP Pfad erstellen. Genau genommen nicht ein "normalen Ordner" sondern ein hard Link auf dein F:\bla Verzeichniss.

mklink

Beste Grüsse

Diräkt

27.02.2013 - 16:23 Uhr

Hallo Asimon

generell will ich damit eine "wenn false da speichern" Abfrage umsetzen.



irgendwas neues = new irgendwas(false);



class irgendwas

{
public bool Flag{get;set;}

public irgendwas (boolean flag)
{
Flag = flag
doWork();
}

private void doWork()
{
if(Flag)
{
}else
{
}

}
}



So könnte das etwa aussehen...

Beste Grüsse

Diräkt

23.02.2013 - 18:30 Uhr

@Cat

Und dies ist "witzigerweise" die Standard-Einstellung 😃

21.02.2013 - 08:15 Uhr

Hallo Abt

Perfekt! Danke für den Tipp !

Null Value ignore:

string ignored = JsonConvert.SerializeObject(movie,Formatting.Indented,new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });

"Custom Mapping"
[JsonProperty("name")]
public string Name { get; set; }

Scheint als würde alles abgedeckt werden !!!

Danke !

Beste Grüsse

Diräkt

21.02.2013 - 07:52 Uhr

Danke Abt für Deine Antwort.

Letzte Nachfrage :

=> Gibts eine Möglichkeit die Kürzung per Attribute zu lösen ?
(damit es dann automatisch wieder gemappt wird)

sowas in dieser Art:

public class X
{

[Json-Attribute:A]
public string Abcdefgh{get;set;}

}

Beste Grüsse

Diräkt

20.02.2013 - 13:32 Uhr

Hallo Abt

Danke für Deine Antwort.

Ich habe den Overhead wirklich nur im Response. Der Rest wird ja nur einmal geladen. Ob es hier ein paar bytes mehr oder weniger sind, ist nicht match-entscheidend.

Wenn die spezifische Seite jedoch 24/7 läuft, und alle 3 Sekunden ein Update erfährt, spielen die paar bytes (des Respones) eine entscheidende Rolle...

Es geht darum, das sehr viele Werte updated werden müssen. Als Veranschaulichung, wenn ich 4 Controls auf der Page habe (in real sind es im Schnitt etwa 20), sieht die Response etwa so aus :


{"d":[{"__type":"WebControls.SharedClasses.AdGroupDockingItem","Id":1,"TilePositionId":0,"Title":"Activity Group","MemberText":"Members","AlarmText":"Alarm","AvailableText":"Availabel","OccupiedText":"Occupied","ProductiveText":"Productive","MembersValue":"12","AlarmValue":"11","AvailableValue":"11","OccupiedValue":"16","ProductionValue":"14","OPercent":1,"CPercent":10,"Signal":"efefef","DockPosition":"","ClientInformation":{"OeeValueClientId":"1_C_ctl01_lblOPct","CapacityValueClientId":"1_C_ctl01_lblCpct","TitleTextClientId":"1_C_ctl01_lblTitle","MembersValueClientId":"1_C_ctl01_lblMembersValue","AvailableValueClientId":"1_C_ctl01_lblAvailableValue","OccupiedValueClientId":"1_C_ctl01_lblOccupiedValue","SignalColorClientId":"1_C_ctl01_signal","GaugeOeeClientId":"1_C_ctl01_RadLinearGauge2","GaugeCapacityClientId":"1_C_ctl01_RadLinearGauge1","ProductionValueClientId":"1_C_ctl01_lblProductiveValue","WidgetClientId":"1_C_ctl00"}},{"__type":"WebControls.SharedClasses.AdGroupDockingItem","Id":2,"TilePositionId":0,"Title":"Activity Group","MemberText":"Members","AlarmText":"Alarm","AvailableText":"Availabel","OccupiedText":"Occupied","ProductiveText":"Productive","MembersValue":"11","AlarmValue":"112","AvailableValue":"113","OccupiedValue":"614","ProductionValue":"915","OPercent":1,"CPercent":6,"Signal":"dedede","DockPosition":"","ClientInformation":{"OeeValueClientId":"2_C_ctl01_lblOPct","CapacityValueClientId":"2_C_ctl01_lblCpct","TitleTextClientId":"2_C_ctl01_lblTitle","MembersValueClientId":"2_C_ctl01_lblMembersValue","AvailableValueClientId":"2_C_ctl01_lblAvailableValue","OccupiedValueClientId":"2_C_ctl01_lblOccupiedValue","SignalColorClientId":"2_C_ctl01_signal","GaugeOeeClientId":"2_C_ctl01_RadLinearGauge2","GaugeCapacityClientId":"2_C_ctl01_RadLinearGauge1","ProductionValueClientId":"2_C_ctl01_lblProductiveValue","WidgetClientId":"2_C_ctl00"}},{"__type":"WebControls.SharedClasses.AdGroupDockingItem","Id":3,"TilePositionId":0,"Title":"Activity Group","MemberText":"Members","AlarmText":"Alarm","AvailableText":"Availabel","OccupiedText":"Occupied","ProductiveText":"Productive","MembersValue":"172","AlarmValue":"171","AvailableValue":"100","OccupiedValue":"176","ProductionValue":"174","OPercent":90,"CPercent":2,"Signal":"ababab","DockPosition":"","ClientInformation":{"OeeValueClientId":"3_C_ctl01_lblOPct","CapacityValueClientId":"3_C_ctl01_lblCpct","TitleTextClientId":"3_C_ctl01_lblTitle","MembersValueClientId":"3_C_ctl01_lblMembersValue","AvailableValueClientId":"3_C_ctl01_lblAvailableValue","OccupiedValueClientId":"3_C_ctl01_lblOccupiedValue","SignalColorClientId":"3_C_ctl01_signal","GaugeOeeClientId":"3_C_ctl01_RadLinearGauge2","GaugeCapacityClientId":"3_C_ctl01_RadLinearGauge1","ProductionValueClientId":"3_C_ctl01_lblProductiveValue","WidgetClientId":"3_C_ctl00"}},{"__type":"WebControls.SharedClasses.AdGroupDockingItem","Id":4,"TilePositionId":0,"Title":"Activity Group","MemberText":"Members","AlarmText":"Alarm","AvailableText":"Availabel","OccupiedText":"Occupied","ProductiveText":"Productive","MembersValue":"1112","AlarmValue":"1111","AvailableValue":"1101","OccupiedValue":"1161","ProductionValue":"1141","OPercent":51,"CPercent":49,"Signal":"fff","DockPosition":"","ClientInformation":{"OeeValueClientId":"4_C_ctl01_lblOPct","CapacityValueClientId":"4_C_ctl01_lblCpct","TitleTextClientId":"4_C_ctl01_lblTitle","MembersValueClientId":"4_C_ctl01_lblMembersValue","AvailableValueClientId":"4_C_ctl01_lblAvailableValue","OccupiedValueClientId":"4_C_ctl01_lblOccupiedValue","SignalColorClientId":"4_C_ctl01_signal","GaugeOeeClientId":"4_C_ctl01_RadLinearGauge2","GaugeCapacityClientId":"4_C_ctl01_RadLinearGauge1","ProductionValueClientId":"4_C_ctl01_lblProductiveValue","WidgetClientId":"4_C_ctl00"}}]}

Daher die Frage, wie ich dies optimiere.

=> das Aktivieren der dynamischen Komprimierung vom IIS.

Ok werde ich gleich testen ! Danke !

Dann blieben noch die Fragen :
=> Kann ich ein Wert "NULL" setzen und dieser wird dann GAR NICHT in JSON serialisiert?
=> Kann ich die VariablenNamen irgendwie "einfach" drastisch kürzen, (nur für die Übertragung)

Beste Grüsse

Diräkt

20.02.2013 - 13:08 Uhr

Hallo Abt

Danke für Deine Antwort.

Ich bekomme die Daten als JSON, das Problem aber ist dabei auch folgendes:

TitleTextValue = "1";
TitleTextValue = null;

{TitleTextValue:1;} 
{TitleTextValue:;}

Wie man sieht benötigt der Variablen-Namen einiges mehr an bytes als der Wert. Selbst wenn der Wert nicht vorhanden ist, wird das Property mitgegeben.

Eigentlich geht es mir ja nur darum, diesen "overhead" irgendwie einsparen zu können.

Gibts dafür eine Lösung ?

Beste Grüsse

Diräkt

20.02.2013 - 11:09 Uhr

Hallo

Verwendete Technologien:

=> ASP WebForms
=> Jquery
=> EF
=> Ajax

Scenario:

Ich habe UserControls, diese werden zuerst serverseitig erstellt und gerendert. Danach werden diese alle 3 Sekunden updated, etwa so :


window.setInterval(update, 10000);

function update()
{
  PageMethods.GetList(onsuccess);

  function onsuccess(data)
  {
     $('#' + data[i].ClientInformation.TitleTextClientId).text(data[i].TitleText);
  }
}

Das funktioniert auch wunderbar nur :

=>1. Wie kann ich nur die veränderten Eigenschaften updaten, um den Post zu minimieren ?
=>2. Gibt es eine sinvollere Möglichkeit also meine Überlegung zu Punkt 1 ?

( 1.

Überlegung :
=> Ich cache das Entity und gebe dieses dem BL mit. Dieser vergleicht auf "veränderte Properties" und gibt nur dieses zurück, die andern mit dem Wert NULL. ( nicht veränderten )

=> Problem bei der Überlegung:
Die Daten gehen dennoch an den Client ( {TitleText=null;....}
Wie kann ich den Traffic minimieren ?
)

( 2.

Muss ich jetzt wirklich eine Art eigenes Protokoll (oder Parser) schreiben, um den Traffic zu minimieren ? Das ich im Request z.B. erhalte : "T="Title", und ich dann weiss T = TitleText ?!

)

Herzlichen Dank für Anregungen und Ideen

Beste Grüsse

Diräkt

18.02.2013 - 07:51 Uhr

Hallo csofti

Schau Dir mal das Snippet an :

Passwort Hash

Beste Grüsse

Diräkt

11.02.2013 - 14:55 Uhr

Hallo ill_son

Hatte mal eine ähnliche Anforderung. Nicht ganz konventionell, aber hab sie so gelöst :

=> RadioButton so überschreiben, dass z.B ein Doppelklick oder ein weiteres selektieren eines bereits aktiven RadioButton's, zum de-selektieren führt 😃

Beste Grüsse

Diräkt

28.01.2013 - 20:53 Uhr

Hallo Comand

Mittlerweile sind es über 1000 Filme

Ich verwende das im Zusammenhang mit einem DataGridView

Ich bezweifle das ein Mensch mehr als (sind wir grosszügig) 100 Datensätze miteinander verarbeiten kann. Daher wäre da wohl Paging angebracht mit SKIP und TAKE. Deine 2 Sekunden werden dann wohl zu 2 milisekunden 😉

Beste Grüsse

Diräkt

28.01.2013 - 18:45 Uhr

Hallo neo

Der Proxy hat doch eine IP ..?!


request.Proxy = New WebProxy(proxyAddress) { UseDefaultCredentials = true };

Beste Grüsse

Diräkt

28.01.2013 - 18:36 Uhr

Hallo Asimon

Ich zumindest weiss nicht wie du es perfomanter gestalten könntest.
Empfehlen würde ich bei diesem Daten-Volumen eine Datenbank (z.B Sql Express).

Der Vorteil wäre natürlich das du dann die Möglichkeit hast nur die benötigten Daten zu selektieren, und ggf. gleich Aggregations-Funktion dem SQL Server überlassen kannst.

Beste Grüsse

Diräkt

28.01.2013 - 11:17 Uhr

OFFTOPIC

das lässt sich nämlich nur schwierig nachträglich installieren

## Habs schon etwa 7-10 mal nachträglicher installiert. Jedes mal ein Theater ... 😃

Beste Grüsse

Diräkt

27.01.2013 - 11:16 Uhr

Hallo CoderboyPB

Link : MS SQL EXPRESS

DEU\x64\SQLEXPR_x64_DEU.exe => 64 bit
DEU\x86\SQLEXPR_x86_DEU.exe => 32 bit

Die weiteren Angebote sind :
=> Advanced (Reporting Servies ...)
=> SQL Management Studio ....

Beste Grüsse

Diräkt

24.01.2013 - 12:41 Uhr

Hallo Poldi45354

Herzliche Willkommen im Forum.

Die Listbox hat ein Event Selected_IndexChanged(object sender, EventArgs e).
Abonier dieses Event und reagiere entsprechend darauf.

Beste Grüsse

Diräkt

22.01.2013 - 18:21 Uhr

Hallo Da_Flo

Du kannst im Grid DATAKEYNAMES definieren. Auf dieses kannst du zugreifen, etwa so :


 protected void grid1_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            var id=int.Parse(((GridDataItem)e.Item).GetDataKeyValue("AuftragID").ToString();
         }

(Natürlich solltest du TryParse verwenden etc...)

Beste Grüsse

Diräkt

21.01.2013 - 16:48 Uhr

Hallo Schaffi

Das könnte etwa so aussehen:


var query = DeineDaten
    .GroupBy(x => x.Id,
             (k, g) => g.Aggregate((a, x) => (x.TimeStamp > a.TimeStamp ) ? x : a));

Es gibt ein cooles Tool namens LINQ PAD, schau es Dir doch mal an, damit kann man spielend zum Ergebniss finden 😉

Beste Grüsse

Diräkt

Edit :

ggf. einfacher wäre (ohne Aggregate):


var result= yourData.GroupBy(x => x.Id)
           .Select(y => y.OrderByDescending(z => z.TimeStamp).First()).ToList();

10.01.2013 - 13:07 Uhr

Hallo Tachyon176

Überlicherweise sollte sie geschlossen werden, wenn sie nicht mehr verwendet wird.
(Open, Commands, Close)

Wenn du durch eine Logik die Verbindung in sehr kurzer Zeit sehr oft öffnest und wieder schliesst, sollte es selbstverständlich sein, die Verbindung etwas länger geöffnet zu haben.... (anstatt 100 Verbindungen in einer Sekunde aufzubauen 😃 )

Beste Grüsse

Diräkt

30.12.2012 - 15:18 Uhr

Hallo Rr.Robot


 byte[] array = new byte[] { };
            var result = array.ToList();

Funktioniert....

Wenn du erst ein Object daraus machst funktioniert es auch :

 byte[] array = new byte[] { };
            object arrayAsObject = array;
            var result = ((byte[])arrayAsObject).ToList();
 

Beste Grüsse

Diräkt

30.12.2012 - 13:40 Uhr

Hallo Rr.Roboto

Herzliche Willkommen im Forum.

  1. Ein Array hat folgende Methode "ToList()", damit kannst du ein Array in eine Liste umwandeln. (Eine List hat auch "ToArray()" ...)

  2. Du kannst mittels "override ToString()" die Methode überschreiben und selbst definieren was zurück kommen soll. Wenn object == Byte dann ist eine explizites Casten nicht notwendig.

  3. Alle nicht typisierten Collections soll man nicht mehr verwenden !

Beste Grüsse

Diräkt

15.12.2012 - 10:52 Uhr

Hallo jogibear9988

Meinst du ein Property-Grid für WPF?

Native WPF 4 PropertyGrid

Beste Grüsse

Diräkt

06.12.2012 - 17:10 Uhr

Hallo Werdy

Herzlich Willkommen im Forum.

Der Kunde sollte auf dem GUI die Möglichkeit haben dass er ein Mitarbeiter wählt und dann sollten die oberen Comboboxen vom System befüllt werden.

Laut Deiner Beschreibung hat jeder Mitarbeiter nur ein Team, dieses gehört jeweils zu einer Abteilung welche einer Domäne zugeordnet ist. Somit ist ja immer eindeutig welcher Wert drinn stehen muss.
( Filtern )

Wenn der Kunde die Combobox Abteilung wählt sollten die Domäne selektiert werden und im Team natürlich nur noch die möglichen Werte angezeigt werden ebenfalls für die Mitarbeiter.

Ein ComboBox Item hat ja "Text" und "Value". Als Value nimmst du die ID. Somit weisst du genau welche Domäne selektiert sein muss (combobox.Items.First(c=>c.Value==id))...

Nach unten hast du ja N Möglichkeiten, somit kannst du einfach wieder Filtern.

MSDN - DataSet Filtern und Sortieren
Beispiele von Galileo Computing

Beste Grüsse

Diräkt

Edit:

Schau Dir das mal an : Cascading ComboBox

06.12.2012 - 16:21 Uhr

Hallo lazy

Versuch es mal mit:

e.SuppressKeyPress = true

Beste Grüsse

Diräkt

29.11.2012 - 13:13 Uhr

Hallo Abt

Ich weiss du beziehst es auf Windows 8 und nicht auf Windows Phones. Aber ...

Hat man also eine kleine aber feine Idee, die meinetwegen nur 99c kostet aber dafür ~10 Millionen Anweder erreicht - wo gibt es schon solche Chancen?

Genau das dachte ich mir auch. Habe etwa 5-6 Windows Phone Apps. Leider keine so weltbekannte App und keine 100 Mio. Downloads, aber als zusätzliche Einnahme-Quelle wirklich interessant.

Habe mittlerweile knapp 35k Apps verkauft (WP 7) und wenn man bedenkt, dass mittlefristig der Markt für Windows 8 Apps einiges grösser sein wird (fast jeder hat ein PC, aber nur ganz wenige ein Windows Phone), sehe ich da grosse Chancen.

Kurzfristig gesehen haben die Leute noch zuviel Angst vor Windows 8. Dies weil es auf den ersten Blick ein bisschen anderst aussieht. ( Was der Bauer nicht kennt, das frisst er nicht ).
Dies gibt uns Entwicklern aber die Gelegenheit, unsere Windows Store Apps gemütlich in der Freizeit zu entwickeln.

Beste Grüsse

Diräkt

25.11.2012 - 17:35 Uhr

Hallo mbk_chilli

Es ist zwar nicht in c# aber du kannst es via c# aufrufen 😉

Changing Windows Audio Device

Beste Grüsse

Diräkt

25.11.2012 - 17:31 Uhr

Hallo Starki

Herzlich Willkommen im Forum 😃

Wenn es nur um das Testen geht:

Online Regex Testing
Geniales Regex "Labor"

Wenn du nun wirklich ein "Generator" willst, schau Dir mal das an :

Rex

Rex is a simple command line tool that takes a .NET regex pattern or several regex patterns and generates matching string(s) for them....

Beste Grüsse

Diräkt

25.11.2012 - 17:18 Uhr

Hallo Knoden

MySqlConnection connection = new MySqlConnection();

  1. Wie es aussieht benutzt du nicht SQL sondern My SQL

command.CommandText = "SELECT * FROM zeiten WHERE zeiten_fk_personal_id = " + txtEmployeeId.Text;

  1. Autsch ! Sql Injection - Lesen.
    ...

Desweitern findest du in diesem Forum dutzende Beispiele. Gerne darfst du die Ergebnisse Deiner Suche hier posten.

ich suche schon seit ein paar Stunden

Ich garantiere Dir auch, das du schnell fündig wirst. ( Suche benutzen )

Beste Grüsse

Diräkt

25.11.2012 - 17:12 Uhr

Hallo Crank

Das sollte etwa so aussehen:


class DemoViewModel : BasicViewModel
    {
        private string _name;

        public string Name
        {
            get
            {
                return _name;
            }
            set
            {
               if(_name!=value)
               {
                _name = value;
                 OnPropertyChanged("Name");
                }
            }
        }
    }

Es heisst ja "OnPropertyChanged", somit solltest du dies auch nur feuern, wenn dem so ist...

Wenn du nun dem Property Name ein Wert zuweist und die selbe Instanz weiterhin nutzt, ist der Wert sicherlich vorhanden.

Beste Grüsse

Diräkt

25.11.2012 - 11:23 Uhr

Hallo Kom2006

Du erreichst dies indem du alle Eigenschaften von B auf XML Ignore setzt. (Attribut hinzufügen)
Somit sieht dann B gleich aus wie A wenn es serialisiert wird.

Damit die Serialisierung überhaupt klaptt (Vererbung etc.) musst du aber entweder im Serialize-Konstruktor den Typ mitgeben oder die Klasse mit XmlInclude versehen.

Beste Grüsse

Diräkt

25.11.2012 - 09:17 Uhr

Hallo Kom2006

Also Dein Problem ist also das Serializen. Selbst wenn du eine Kaffeemaschine in ein Elektrogerät castest, bleibt es eine Kaffeemaschine (nur halt generalisiert).

Dem Serializer musst du "erklären" das Elektrogerät auch serialisiert werden soll, dafür gibts 2 Varianten.

1.


[Serializable()]
[XmlInclude(typeof(KaffeeMaschine))]
public class Elektrogerät

Die Serialize Methode hat eine Überladung wo du solche Typen als Array mitgeben kannst.

Wenn du Eigenschaften ausblenden willst, kannst du dies so erreichen:


[XmlIgnore]
public bool MaschineHatStrom{get;set;} 

(Um dein Ziel zu erreichen also :

  1. Include XML Type
  2. Exclude all Properties in Class B)

Beste Grüsse

Diräkt

Edit: Bedürfniss für Exclude entdeckt und hinzugefügt

24.11.2012 - 17:11 Uhr

Hallo FZelle

Danke für die Antwort.

Es geht darum das der Benutzer ein DOCX hochladen kann als Vorlage.
Ich erweitere die Vorlage dann, ersetze die Bookmarks mit Werten aus Datenbank und muss dies auch als PDF anbieten können.

Warum docx ?
=> Jeder Benutzer kann ein Word Dokument bearbeiten.

Beste Grüsse

Diräkt

22.11.2012 - 15:39 Uhr

Hallo gfoidl

Danke für Deine Antwort !!

Wie erhalte ich das XSLT vom Word Dokument ?

Wenn die meisten umwandler schon rechte Probleme hatten mit Tabellen, Grafiken, Tabulatoren, Einzügen ...

Meinst du über all diese Konvertierungen erhalte ich dann ein sauberes Resultat ?

Beste Grüsse

Diräkt

22.11.2012 - 14:51 Uhr

Hallo gfoidl

Meine Anforderung ist es aus einer WebApplikation ein byte[] Docx zu einem byte[] im PDF Format zu konvertieren.

Du denkst der Einsatz von einem PDF Drucker würde funktionieren für meine Anforderung? Wenn ja, kennst du gleich ein betimmten ? ( Kann ich das Ergebniss als byte[] bekommen, oder in einem stream ? )

Den Einsatz von Word-Automation (welcher auch von MS nicht empfohlen wird), halte ich für sehr problematisch und auch will ich keine Abhängigkeit zu MS Office.

Hallo FZelle

Danke für die Erklärung. Die Doku scheint so umfassend zu sein, das es "niemand" wirklich bewältigen kann, und die andern verlangen dann gleich 3'000-10'000 was für ein kleines Projekt doch recht krass wäre 😉

Beste Grüsse

Diräkt