Habe das Problem gelöst - der ProgressBar zeigt bei IsIndeterminate=True einfach den gesamten Indicator an, d.h. man muss sich um die Animation selber kümmern.
Man setzt einen Property-Trigger auf IsIndeterminate und setzt dort einen animierten Brush. Alternativ lässt sich so auch jegliche andere Animation setzen falls der gewünschte Effekt komplexer wird.
Hallo zusammen
Ich versuche gerade ein Template für den WPF-ProgressBar zu schreiben. Folgendes Template funktioniert solange IsIndeterminate auf False steht:
<ControlTemplate x:Key="DefaultProgressBarTemplate" TargetType="{x:Type ProgressBar}">
<ControlTemplate.Resources>
<SolidColorBrush x:Key="SolidBorderBrush" Color="#767676" />
<LinearGradientBrush x:Key="IndicatorBrush" StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="#BCCF64" Offset="0.5" />
<GradientStop Color="#E1FF77" Offset="0.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ControlTemplate.Resources>
<Grid MinHeight="14">
<Border Name="PART_Track" CornerRadius="9" Background="Transparent" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" SnapsToDevicePixels="True" />
<Border Name="PART_Indicator" CornerRadius="9" Background="{StaticResource IndicatorBrush}" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" HorizontalAlignment="Left" SnapsToDevicePixels="True" />
</Grid>
</ControlTemplate>
<Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template" Value="{StaticResource DefaultProgressBarTemplate}" />
</Style>
und produziert den als Anhang hochgeladenen ProgressBar. Dabei wird die Indicator-Border von Min bis Max aufgezogen.
Sobald IsIndeterminate auf True gesetzt wird steht die Indicator-Border allerdings auf Max und füllt den ProgressBar komplett aus. Aller Versuche meinerseits hier erstmal irgendein anderes Verhalten zu erzeugen sind bisher fehlgeschlagen.
Was muss ich tun, um hier ein dem Standard-WPF-ProgressBar äquivalentes Verhalten zu erreichen, d.h. der Indicator soll hin-und-her wandern ? Eine Google-Suche hierzu hat auch nicht zu viel geführt.
Ciao und vielen Dank
banzai
Ich denke hier gibt es keine "absolute" Lösung. Wie schon von JAck30lena gesagt, kann Deine Bandbreite in realen Umgebungen nicht nur schwanken, sondern sie wird in den allermeisten Fällen schwanken. Dein Bandbreitentest müsste in regelmässigen Abständen wiederholt und die Sendebandbreite entsprechend angepasst werden.
Ich würde mit einem relativen Wert von x % der momentan zur Verfügung stehenden Bandbreite senden. Und um den geneigten Anwender noch weiter zu beglücken würde ich diesen Wert, u.U. zur Laufzeit, konfigurierbar machen.
Aber wie weit Du das Spielchen treiben willst ist natürlich abhängig vom konkreten Einsatzszenario.
Ich habe Deinen Code mal auf einer ca. 6 Jahre alten Pentium 4 Kiste mit 1 GB RAM und DirectX 9 laufen lassen - kein Problem, animiert wie nichts gutes.
Der Grund liegt vermutlich eher in Deinem konkreten System. Wie oben schon gesagt mal DirectX mit DxDiag überprüfen und die allgemeine Auslastung des Systems anschauen.
Nur falls du die Klassen nicht kennen solltest: Es gibt XamlReader und XamlWriter womit du problemlos die ControlTemplates abspeichern und auslesen könntest. Da muss man nur selber was schreiben falls die oben genannten Klassen was spezielles nicht können.
Genau 😉 - ist im Grunde nur ein Dreizeiler wenn man das ganze Verschönern mit XMLSettings weglässt:
StringBuilder strbuild = new StringBuilder();
// settings ist ein vorher passend initialisiertes XMLWriterSettings-Objekt
XmlWriter xmlwrite = XmlWriter.Create(strbuild, settings);
XamlWriter.Save(ctl.Template, xmlwrite);
// und mit dem StringBuilder kann man sich dann einen schönen Tag machen ...
Aber danke für den Tipp - lieber drei zuviel als einen zu wenig !
Nochmals besten Dank für die Antworten und ganz viel Asche auf mein Haupt !!!
Die richtige Lösung lautet
Assembly a = Assembly.Load("PresentationFramework, Version=3.0.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35");
Type t = a.GetType("System.Windows.Controls.Button");
Control ctl = (Control) Activator.CreateInstance(t);
Schon 100x gemacht und doch bisweilen zu blöd zum zum ...
Allerdings beschäftige ich mich gerade mit WPF-Skinning und Control-Templates in größeren Anwendungen - das scheint ja nicht gerade gut für die geistige Gesundheit zu sein.
Auf Dinge wie Typsicherheit etc. kommt es bei meinem konkreten Problem nicht an, da es um ein kleines internes Entwicklungstool geht, das einen XAML-Dump des Control-Templates beliebiger WPF-Controls erstellt.
Das Dumpen fand ich jetzt nicht so schwierig, aber ... (schäm)
Gott zum Gruße !!!
Ich bin eben über folgendes Problem gestolpert:
Type t = Type.GetType("System.Int32");
// t enthält jetzt den Typ Int32
Type t1 = Type.GetType("System.Windows.Controls.Button");
// t1 ist null
Oder anders gefragt - wie erzeuge ich aus der Stringrepräsentation den Typ eines WPF-Standardcontrols ? Im weiteren muss dann dynamisch eine Instanz dieses Controls erzeugt werden.
Im Wald stehend und schon mal vielen Dank für die Erleuchtung,
banzai
Gott zum Gruße !!!
Ich habe eine Frage zu folgendem Szenario:
Eine Backend-Reporting-Komponente erstellt ihre Reports als XML mit darin enthaltenen Statistik-Grafiken als CDATA-Sektion (Base64-codierte JPGs). Aus diesen XML-Reports müssen per XSLT HTML-Reports generiert werden.
Ich habe nun folgenden Lösungsansatz. HTML-Erzeugung per XSLT, dabei Extraktion und Base64-Dekodierung der JPGs, dann HTML und JPGs auf HD schreiben. Um die Referenzen auf die JPGs in die HTML-Dateien zu bekommen könnte ich nun zum Transformationszeitpunkt die entsprechenden Links nach einer bestimmten Konvention generieren oder das generierte HTML nachträglich manipulieren.
Persönliche tendiere ich dazu zum Transformationszeitpunkt einen Platzhalter zu erzeugen, der dann später durch die konkreten Links ersetzt wird.
Wie würdet ihr das lösen ? Oder evtl. ganz anders ?
Danke schon mal,
banzai
Gott zum Grusse !!!
Falls Dein ActiveX Control wirklich überhaupt keine Möglichkeiten (Events o.ä.) anbietet, um solche Statusänderungen mitzubekommen, lohnt es sich manchmal ein wenig mit dem Win-API "rumzuspielen". Stichworte wären z.B. "EnumWindows" oder "EnumChildWindows" - Statusänderungen lassen sich manchmal am Erscheinen bzw. Verschwinden bestimmter "Fenster" festmachen. Sollte dies der Fall sein bewegst Du Dich allerdings auf undokumentiertem Terrain was Dein Control angeht - mit den entsprechenden Konsequenzen möglicherweise.
Eine 2. Variante, zugegebenermassen etwas "schmutzig", wäre das Einbauen einer ausreichenden "Warteschleife" wenn 2-3 Sekunden tatsächlich zuverlässig ausreichen. Diese Wartezeit kannst Du dann, wenn nötig, mit einem Dialog ala "Ein Video wird noch abgespielt - tatsächlich beenden ?" kaschieren.
Ich weiss, ich weiss, mit dem Vorschlag bin ich jetzt ungeduscht, geduzt und ausgebuht 😁 ...
Ciao
banzai
AviSynth evtl. ?
Ich kenne mich damit nicht wirklich aus, weiss aber, das es zur on-the-fly Bearbeitung im Streaming- / Media-Bereich eingesetzt wird.
Das darf man nicht so eng sehen. Einer solchen Diskussion im Kontext eines Witze-Threads kann ich durchaus eine humorige Seite abgewinnen ...
net hat mit DOS nichts zu tun. Bei unversteiften Fingern und mit ein wenig detektivischer Tastaturarbeit hätten Dir die Eingaben "net" bzw. "net /help" und dann "net use /help" oder wahlweise "net use /h" oder auch "net use /?" in einer Konsole weitergeholfen 😁 ...
Tja, früher so um 1985 - 1990 rum Percussion / Gesang in einer Punkrockband, wir nannten uns damals Stacheldrahtträume und unser greatest hit war "Ein Männlein steht im Walde*. Wurde zumindest bei jeder Zugabe gefordert 8) ...
Die nächsten zehn Jahre mussten sich vermutlich meine Ohren erstmal wieder erholen und seitdem wieder Percussion. Diesmal aber mit afrikanischen Instrumenten, hauptsächlich Trommeln (Djembe). Für div. Auftritte hat es auch schon gereicht, das Hauptproblem ist das Üben - da werde ich von Kind und Kegel immer auf den Dachboden gemobbt.
Das faszinierende an dieser afrikanischen Musik ist für mich die extrem komplexe Rhythmik, das Spiel mit Takt, Geschwindigkeit etc. Das genaue Gegenteil der europäischen (klassischen) Musik mit ihren komplexen Melodien und der sehr einfachen Rhythmik.
ciao
banzai
Schon mal darüber nachgedacht, welches Fenster wann das aktive ist ?
Dreh doch einfach mal die Anweisungen
SendKeys.Send(Text);
SetForegroundWindow(MainHandle);
um.
Original von Elric
Versuch zu ermitteln, ob zu der Zeit der DBServer-Rechner grundsätzlich erreichbar war.
Sowas mache ich "auf die Schnelle" mit einem "Batch-Ping" (falls im betreffenden Netzwerk erlaubt). Einfach folgende DOS-Kommandos als Batch-Datei laufen lassen:
:do
ping localhost >> c:\Test.txt
if not ERRORLEVEL 1 goto do
pause
Falls der Rechner nicht zu erreichen ist, läuft der Batch in die "pause"-Anweisung und bleibt stehen. Andernfalls zum Abbrechen einfach die DOS-Box schliessen. Die Ping-Ausgaben stehen dann in Test.txt. Grosse Schwankungen in der Netzwerklatenz als Hinweis auf Netzwerkprobleme wie z.B. Timeouts erkennt man dann meist schon beim "Überfliegen" der Datei.
Mit der Schiene "Ausmusterung wg. Krankheit" wäre ich aber etwas vorsichtig. Alles was man bei denen an Krankheiten angibt, ob echt, ein wenig "aufgebläht" oder nur vorgetäuscht, steht auf immer und ewig in den Akten. Und darauf haben später auch Leute Zugriff, an die man erstmal nicht denkt. Vor allen Dingen bei späteren Bewerbungen im öffentlichen Dienst, aber auch bei privaten Kranken- und Berufsunfähigkeitsversicherungen etc. haben sich so schon viele Leute ziemlich ins Knie geschossen.
Ich habe da Fälle im Bekanntenkreis wo die entsprechenden Versicherungen deswegen ausserordentlich kündigen durften bzw. Versicherungen horrende Zahlungen verlangten.
Im Grunde haben (fast) alle öffentlichen Stellen sowie jeder, bei dem man eine Erklärung zur Entbindung von der ärztlichen Schweigepflicht unterschreibt, Zugriff auf diese Daten. Und von den BW-Datenbeständen machen gerade Versicherungen dann gerne Gebrauch, da hier alles schön zentralisiert an einer Stelle abzufragen ist.
Welchen Unsinn ?
*Semantischer Unsinn* lässt sich bis zu einem gewissen Grad über XML-Schemata abfangen, für alles andere bist Du zu Fuß verantwortlich.
Ciao
banzai
Deine Stichwortsuche hört sich nach einer einfachen "Volltextsuche" an. Deshalb würde ich auf jeden Fall noch die Stoppwörter entfernen, d.h. die nicht sinntragenden Wörter, die Deinen Stichwortindex nur unnötig aufblähen. Das wären z.B. im Normalfall alle bestimmten / unbestimmten Artikel oder Konjunktionen.
Nur mal als Vorschlag
banzai
Vielen Dank für Deine Einschätzung !
Und an Deinem Artikel wäre ich auch SEHR interessiert !!!
Ich denke, ich werde den Einsatz von PostSharp / LAOS befürworten, da ich Deine Einschätzung teile und keine grösseren Bugs oder Einschränkungen entdecken konnte.
Weitere Kandidaten sind für mich noch der Enhancer des Mono-Projekts sowie das Projekt von MS Research gewesen. Bei dem störte die fehlende Einbindung in die Windows / VS Infrastruktur doch sehr, bei dem anderen war der Ansatz für meine Zwecke zu akademisch.
Wochend´ und Sonnenschein,
banzai
Gott zum Grusse !!!
Ich bin im Moment mit der Evaluation einiger Enhancer / AOP Frameworks beschäftigt. Am besten gefällt mir bisher die Kombination PostSharp / LAOS. Da aber jede Evaluierung lückenhaft sein muss im Vergleich zum praktischen Einsatz, wäre ich sehr an praktischen Erfahrungen mit dieser Kombination interessiert. Habt Ihr schon Projekte o.ä. mit diesem Gespann umgesetzt ? Wenn ja, wie war Euer Eindruck ? Würdet Ihr es weiterempfehlen ?
Konkret würden PostSharp / LAOS für den Anfang bei Aspekten zu den Bereichen Tracing und Feldvalidierung zum Einsatz kommen. Es geht hier um bestehende Applikationen, deren Source möglichst minimalinvasiv erweitert werden soll.
An jeder Erfahrung / Meinung sehr interessiert,
banzai
Original von Rainbird
Was habt Ihr für Erfahrungen mit Vista?
Installiert, ehrfürchtig gestaunt ob der vielen kleinen Fehlerchen an allen Ecken und Enden sowie der Gemächlichkeit auf einem Dual Core System mit 4 GB RAM und dann genauso schnell wieder deinstalliert.
Ich brauche meine Rechner zum Arbeiten und kann und will mich nicht ohne Not mit den technischen Unzulänglichkeiten des OS beschäftigen, deshalb werde ich einen Wechsel von XP zu Vista erstmal nicht in Betracht ziehen.
Original von Programmierhans
Die bekanntesten Emulationen:Virtual PC 2007 gratis erhältlich bei Microsoft
>
VMWare erhältlich gegen Kohle bei VMWare
>Nachtrag: Installier mal BeOS oder ZETA dann siehst Du wie schnell ein PC starten könnte 🙂
Nochmal ein kleiner Nachtrag - VMWare in der freien Version "VMWare Server" ist unter dem angegebenen Link zu bekommen. Gegenüber der kostenpflichtigen Workstation Version ist eigentlich nur das Anlegen verketteter Snapshots abgeklemmt. Dafür lassen sich VMs übers Netz anlegen und administrieren. Ausserdem wird im Gegensatz zu dem MS-Produkt USB und SCSI unterstützt.
Ganz allgemein wurde die Existenz intelligenten Lebens im Universum noch nicht nachgewiesen - das verkündet Euch Swami banzai und wo der hingrübelt wächst bekanntlich kein Gras mehr !!!
Gott zum Grusse !!!
DISP_E_EXCEPTION ist eine generische Fehlermeldung des COM-Systems, definiert in winerror.h und hat so ungefähr die Aussagekraft von "Da ist wohl was schiefgegangen ...".
Ich persönlich habe diesen Fehler schon erlebt bei einem COM-Versionskonflikt in Bezug auf scrrun.dll (MS Scripting) und einer fehlgeschlagenen DB-Anmeldung per ODBC (kein Scherz - das Passwort stimmte nicht).
Wenn ich raten müsste, würde ich auf einen Versionskonflikt tippen. Im Laufe der Win-Versionen / SPs / sonstiger Patches hat MS sehr oft am Scripting Host rumgeschraubt. Falls das der Grund ist, sollte Erzeugung per Late Binding helfen.
Frickelistas venceremos !!!
Nur so ein Gedanke:
Hängt das evtl. mit den allgemeinen Formatregeln für Quellcode zusammen ? Ich habe gerade kein VS zur Hand um nachzuschauen. Ich meine damit die Quellcodeformatierung im Sinne von geschweifte Klammern auf der gleichen oder aber einer neuen Zeile etc.
Da gab es auch eine Regel, ob geklammerte Ausdrücke durch ein Blank von den Klammern getrennt sein sollen. Vielleicht wendet VS diese Regeln auch auf CSS an - einen Versuch ist es u.U. Wert.
Z.B. mit
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
oder
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Je nachdem was Du brauchst.
Ok - Näheres findest Du hier: BAK Berechnung.
Ein allgemein anerkanntes Verfahren existiert nicht wirklich, da scheiden sich die Geister der geneigten Experten.
Zumindest ein "offiziell" verwendetes Verfahren funktioniert folgendermaßen:
Das wäre so in etwa die Vorgehensweise für ein Partyprogramm, das kannst Du natürlich noch weiter treiben wenn gewollt - s. Link.
--
Original von LukeGee
...//edit: Habe gelesen, dass der Abbau erst nach zwei Stunden beginnt. Von daher ist das dann doch nicht soo extrem wichtig, finde ich. Aber mal schauen.
...
Das stimmt so nicht. Die zwei Stunden sind ein juristisches Konstrukt, es wird angenommen, das zwei Stunden nach "Trinkende" die Resorption abgeschlossen ist, d.h. die Alkoholaufnahme beendet ist. Ab diesem Zeitpunkt kann eine rechtlich relevante Berechnung der BAK für einen bestimmten Zeitpunkt erfolgen.
Der physiologische Abbau beginnt natürlich sozusagen mit dem 1. Tröpfchen, das aufgenommen wurde.
--
Original von LukeGee
Habe die Ergebnisse von meinem Rechner mit ein paar Onlien-Rechnern verglichen und die Ergebnisse sind eigentlich recht ähnlich.
Hmmm, Dein Programm kommt für mich bei 1 angenommenem Liter mit 10 Vol% auf 1,207 Promille. Mit den identischen Ausgangswerten kommt ein zufällig ausgewählter Onlinerechner (mit Zeitfaktor) auf nicht mehr als 0,786 Promille - egal wie ich den Zeitfakor variiere. Von einer "gewissen" Abweichung würde ich da schon sprechen ...
EDIT(by Talla): Es gibt ne schöne Beitrag Editier Funktion um was an seine Beiträge anzuhängen 😉
Bitte nicht 3 Posts hintereinander
@Talla
Wären wir alle perfekt bräuchten wir keine Moderatoren - und das fände ich ehrlich sehr schade 😉. Ich gelobe Besserung !!!
Netter Gimmick !!!
Aber wie Ernst zu nehmen ist der errechnete Wert ? Damit meine ich nach welcher Formel errechnet - Widmark oder Watson oder der Kombination aus beiden ? Wird ein Resorptionsdefizit berücksichtigt ?
Auf jeden Fall fehlt noch ein Zeitfaktor - selbst ich trinke meinen Rotwein nicht immer auf ex ...
Das alles ist jetzt nicht als gepflegte Klugscheisserei gemeint, sondern ggf. als Verbesserungsvorschlag. Ansonsten weiss man nach der Berechnung nur wieviel Promille man garantiert nicht hat 😉 ...
Da schließe ich mich Borg an.
Ich würde aber keine Message Boxen verwenden, sondern einen eigenen Fehlerdialog. In diesem lassen sich die "Fehler" deutlich besser darstellen - z.B. im oberen Bereich ein Label mit allgemeinen Fehlerinformationen und evtl. Behebungsmöglichkeiten. Darunter ein "Details ..."-Button, der ein Textfeld mit dem Stacktrace ausklappt (Resize des Dialogs). Vielleicht noch ein "In die Zwischenablage übernehmen"-Button oder ein "Als Mail versenden"-Button oder oder oder.
Ich würde auf jeden Fall einen normalen Anwender nicht mit einem Stacktrace oder ähnlichen technischen Details belästigen, sowas interessiert ihn nicht und verstehen tut er es auch nicht. Solche Informationen sollten m.E. nur auf Anforderung dargestellt werden.
Oder einen Paging-Mechanismus einbauen. Damit kannst Du dann Deine PictureBoxen / Usercontrols auf ein sinnvolles Mass reduzieren.
Über Sinn oder Unsinn will ich mich hier nicht auslassen. Ist halt die 2. Möglichkeit und was Sinn macht entscheidet sowieso der Anwender 😁 ...
Grundsätzlich zur Laufzeit konfigurierbares Logging mit zumindest den Stufen Unerwartete Fehler, Warnung, Info. Wobei er dann in der Stufe Info natürlich echte ASCII-Wüsten produzieren sollte.
Dazu kommen automatische Benachrichtigungen per Mail incl. aller relevanter Informationen wie z.B. Stacktraces.
Und, wie schon herbivore schrieb, ganz wichtig die Auge-Optik-Methodik im direkten Kontakt mit Kunden. Viele "unerklärliche Fehler" lassen sich so mit minimalem Aufwand beheben. Mir fällt da spontan als Beispiel der Win-Service ein, der übers LAN auf ein Verzeichnis zugreifen musste. Der Admin hatte dazu ein Share eingerichtet und den Service entsprechend konfiguriert. Leiderdessen hatte der Admin nicht berücksichtigt, das der Service unter dem Network-Service-Konto lief und es ein klitzkleines Berechtigungsproblem gab ...
Mit Logging per AOP wäre ich persönlich auch vorsichtig, warum sollte ausgerechnet der entsprechende Weaver die weltweit einzige fehlerfreie Software sein ? Dazu kommen die schon angesprochenen Seiteneffekte, die per Test ausgeschlossen werden müssten.
Das alles hilft Dir jetzt vermutlich auch nicht viel weiter, aber mir war halt gerade nach Meinungsäußerung zumute 😉.
Hallo Peter
Danke für die prompte Antwort !!!
Du hast Recht, kaum kann er lesen funktioniert´s auch schon 👍 !
Ich hatte die Doku da wohl ein wenig missverstanden ...
Ciao
banzai
Gott zum Gruße !!!
Folgendes Problem stellt sich für mich - trotz Suche - momentan als recht unlösbar dar:
Ein ASP GridView enthält eine Spalte vom Typ ImageField, dessen DataImageURLField an eine Tabellenspalte (SQL Server) vom Typ Varchar gebunden ist. Diese Tabellenspalte enthält die absoluten Pfade zu den anzuzeigenden Bildern, die in einem Unterordner von App_Data liegen. Beim Aufruf der Seite wird jedoch in der entsprechenden GridView-Spalte rein gar nichts angezeigt, kein Fehlertext nichts. Alle anderen Werte aus der DB werden korrekt angezeigt, auch testhalber die absoluten Pfade in einer Textspalte.
Und ja, die Graphiken sind vorhanden und können mit den angezeigten Pfaden im Explorer geöffnet werden.
Ich habe in der DB testhalber die Pfade in file:// - URLs umgewandelt, die von Firefox und IE auch angezeigt werden, nur eben nicht von meinem GridView.
Was übersehe ich ???
Vermutlich wieder die Sache mit dem Wald und den Bäumen 🙂 ...
Vielen Dank und ciao
banzai
Ich würde das ganze so formulieren, das ist wohl mehr im Sinne des Erfinders:
private bool IsSimpleNode(XmlNode theXmlNode)
{
if(theXmlNode.HasChildNodes)
{
foreach(XmlNode aNode in theXmlNode.ChildNodes)
{
if(aNode.NodeType == System.Xml.XmlNodeType.Text)
return true;
}
return false;
}
return true;
}
Vielleicht solltest Du mal testen, was die Methode bei folgendem XML zurückliefert 😉 :
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Data>
<Root>
<element1>text1<!-- Ein ganz miesepofeliger Kommentar --></element1>
<element2>text2</element2>
<element3>
<element31>text31</element31>
<element32>text32</element32>
<element33>text33</element33>
</element3>
<element4>text4</element4>
<element5>
<element51>text51</element51>
<element52>text52</element52>
</element5>
<element6>text6</element6>
<element7>
<element71>text71</element71>
</element7>
</Root>
</Data>
Ich weiß ja nicht was lt. DTD oder Schema in Deinem XML so alles vorkommen könnte - oder anders gesagt, von den jeweiligen DTDs bzw. Schemata sind die notwendigen Überprüfungen abhängig.
I.a. macht es aber immer Sinn auf Kommentare im XML zu testen, hier liegt meiner Erfahrung nach eine der beliebtesten Fehlerquellen während der XML-Verarbeitung. Recht häufig sind z.B. Testdaten ohne Kommentare, aber operative Daten mit hier und da eingestreuten Kommentaren.
Wenn Dein XML wirklich so simpel ist, könntest Du auch überlegen auf Attribute umzusteigen. Soll heißen aus <element1>text1</element1> wird <element1 attr="text1" />. Bis auf evtl. Kommentare im XML interessiert Dich der Node-Typ dann nicht mehr.
Das soll jetzt keine Empfehlung meinerseits sein, aus einem so generischen Beispiel-XML lässt sich die nicht ableiten. Aber eine Überlegung ist es allemal wert.
Das ist schon so korrekt, Du befindest Dich in einem DOM und der gesamte Inhalt Deines XML muss ja durch Knoten / Elemente in diesem Baum repräsentiert werden.
Lediglich Elemente der Form <MyNode /> haben also keine Unterknoten - normalerweise wird der Typ eines Knotens, z.B. eben Text oder auch Comment, über das NodeType-Property ermittelt.
Original von talla
... Mal nen bissle weitergesponnen: Wenn es jetzt die nächsten Jahrzehnte so weitergeht und immer mehr englische und anderssprachige Elemente in die deutsche Sprache kommen, dann haben wir irgendwann die Situation das ein deutsch sprechender englisch bissle verstehen kann, obwohl er vielleicht nie explizit englisch gelernt hat. Das seh ich als riesen Vorteil gegenüber jemanden der auf Teufel komm raus eigensprachliche Konstrukte verwendet. ...
Wobei auch das nicht unbedingt etwas Neues wäre. Nordwestdeutsche Dialekte (Platt) sind z.T. dem Englischen so ähnlich, das ein Sprecher in der Lage ist, gesprochenes Englisch zu verstehen.
Original von mitti
Tolle Diskussion!!!
Naja - Smalltalk eben ...
Aber wesentlich interessanter als Nine Inch Nails - das ist jetzt natürlich nur meine höchstpersönliche Meinung 😉.
Original von steffen_dec
Hallo,die Prioritäten sind doch da um diese zu nutzen, warum also nicht??
Tja, weil´s halt nicht deterministisch ist - s.o.
In einer komplexeren Applikation (= viele Threads) können hoch-priore Threads auch zu interessanten Seiteneffekten, wie z.B. "Blockaden", führen. Und die dann aufzuklären - viel Spaß !
Ich hatte mal ein ähnliches Problem - ich brauchte ein globales Kontextmenue mit variablen Items, die auch z.T. im Hauptmenue auftauchen.
Die einzige Lösung, die ich gefunden habe, war folgende:
Funktioniert jetzt wunderbar, aber eine elegante Lösung wär´ schon schön ...
Original von Quallo
Original von banzai
Hardware für solcherlei Produktivsysteme liegt jenseits unseres Hardwarehorizonts.Da muss ich dich wohl leider enttäuschen! Wir haben Produktivsysteme auf ESX-Hosts laufen... Ist lustig, so ein virtualisierter X86-Server hat dann 20 Ghz und 16 Gb Ram, die es zu verteilen gilt. Mal von den 10 Gigabit Netzwerkports(physisch, nicht virtualisiert(!!!)) abgsehen 😉
Sind schon tolle Kisten!
Ist ja auch ein Paravirtualisierer 😉 ...
Original von Quallo
2GB Ram sind ja definitiv eingeplant!I/O Leistung ist bei Notebook-Platten sicherlich nie so hoch, aber der core 2 duo chipsatz und der ddr2 speicher mit 667 mhz sollten da schon ausreichend sein, um mal ein linux laufen zu lassen und da ein wenig zu programmieren. Ist ja größtenteils für den Test und kleinere Arbeiten, nicht für ein Serversystem im Produktivbetrieb 😉
Ich rede auch nur von SW-Entwicklung mit Hostsystem und 1-2 VMs ...
Ich entwickele SW u.a. auf solchen Plattformen und falls Du viel mit VMs machen möchtest, heisst es bei der HW aufzupassen. Mit VMs kriegst Du problemlos jeden "normalen" Rechner so in die Knie, das ein jeder mit dem "Adler-Such-System" den Tastaturpuffer vollgetippt kriegt.
Für das, was Du beschreibst, sollte das Notebook reichen, aber viel mehr wirst Du nicht erwarten können.
Hardware für solcherlei Produktivsysteme liegt jenseits unseres Hardwarehorizonts.
So, und nun halte ich einfach mal meine besserwisserischen Fingerchen still und wünsche allerseits ein wunderschönes Wochenende !!!
Original von FZelle
Ich habe aktuell 2 NB hier vor mir stehen, beides IBM Thinkpad R60.Eines mit Shared eines mit dedizierter GK.
Der unterschied ist ziemlich gravierend.Wenn sich die CPU und die GK den Speicher teilen müssen,
geht das ganz gehörig auf kosten der performance.Und die VM-Ware benötigt eine gute Speicherbandbreite.
Aber bitteschön, wenn Du es nicht glauben willst, probier es aus, aber nicht nachher weinen 😉
Yep - wenn Du virtualisieren willst sind 4 Dinge wichtig. RAM, RAM, RAM und I/O-Leistung allgemein. Dazu gehört nicht nur der Speicherbus, sondern z.B. auch die HD. Ein paar GHz (was die CPU angeht) mehr oder weniger merkst Du im Vergleich dazu überhaupt nicht. Hier wirken sich nur mehrere CPUs bzw. Kerne aus.
Wenn Du solche Sachen wie virtuelle Netzwerke zwischen VM(s) und Host basteln und darin dann ernsthaft arbeiten willst, läuft unter 2 GB RAM eigentlich nichts außer vielleicht der Nase.
Ich habe schon des öfteren in der Designer.cs direkt editiert - Controls hinzugefügt, gelöscht etc. Bisher hatte ich damit keinerlei Probleme, Du musst Dich bloß exakt an die vom Designer verwendete "Syntax" und "Art und Weise" halten, wie der Designer Code erzeugt. Meist kannst Du Dir das schon direkt in der Designer.cs abschauen. Wenn nicht - einfach den Designer das entsprechende generieren lassen und schon weißt Du wie es aussehen muss. Das generierte "Beispiel" dann natürlich wieder löschen oder gleich in einem kleinen Testprojekt machen.
Auch Vererbung und Konsorten waren bisher kein Problem dabei.
Ich weiss, ich weiss - ganz großes PFUI, aber manchmal geht es eben nicht anders ...
Wenn Du nichts sehen willst, dann nimm BrightView ...
Mal im Ernst, die Dinger sehen gut / cool aus, sind aber nur bei nicht zu grosser Helligkeit und möglichst diffusem Lichteinfall zu gebrauchen.
Ich muss manchmal ein Pool-Notebook mit einem solchen Display verwenden (Präsentationen etc.) - ernsthaftes Arbeiten damit würde ich als besondere Form des Masochismus empfinden, so von wegen "Spieglein, Spieglein an der Wand ...".
Na ja - bin auch ein Studierter, aber von einer anderen Fakultät. Vom Abschluss her Molekularbiologie und Humangenetik (Diplom) und dann später Wirtschaftsinformatik (FH).
Ich habe in meinen 10 Jahren SW-Entwicklung schon genug studierte Informatiker erleiden müssen, die ihr Diplom offensichtlich günstig bei irgendeiner Tombola erworben haben, als das ich heutzutage noch an diesen Uni-Mythos glauben würde.
Nicht das ich jetzt von den anwesenden Informatikern gesteinigt werde, die Mehrheit war / ist schon richtig gut.
Ein Studium hilft sicherlich beim Erlernen gewisser grundlegender Fähigkeiten, wie z.B. analytisches Denken etc., aber das sehe ich eher unabhängig vom konkreten Studiengang. Fehlende theoretische Kenntnisse lernt man dann später sozusagen zwangsweise in den Bereichen, in denen man sie braucht.
Ansonsten sehe ich es wie bei jedem anderen, x-beliebigen Beruf - wenn man richtig gut werden / sein will, muss der Beruf ein gutes Stück weit Berufung sein.
Ohne Vorerfahrungen würde ich mit einer Konsolenanwendung anfangen, ansonsten Win Forms.
Eine nette Anwendung zum Lernen wäre auch ein Bildbetrachter mit Thumbnail-Vorschau. Den kann man dann auch nach Belieben um zusätzliche Features erweitern.
Ich persönlich verdiene meine Brötchen seit 10 Jahren mit SW-Entwicklung - Java, VB 6, C/C++ - und habe daher die nötigen Vorerfahrungen. Ausserdem ist da eher die Devise Learning by Doing, Lernen im klassischen Sinn ist, sagen wir mal, nicht so gefragt ...
C# verwende ich seit ca. 3 Monaten, als Sprache fand ich es persönlich unspektakulär, die Probleme lagen/liegen im Framework. Aber da gibt es ja wirklich sehr gute Foren wie dieses hier !!!
Kleiner Nachtrag noch für die, die es interessiert - ich war auf der Suche nach folgendem:
Komponente für Dateisuche
Kann ich nur weiterempfehlen - sehr gute Komponente !!! Sie deckt alle meine Anforderungen ab.
@DarkRoot
Das war doch nur ein Beispiel - wildeste, zur Laufzeit durch Anwendereingaben parametrisierte RAs ist mir dann doch ein wenig zu fehleranfällig 😉 ...
Fast getroffen, aber nicht ganz. Das Problem sind die Suchmuster - in meinem Fall z.B. alle Dateien vom Typ "jpg" und "txt" und "tif", die in ihrem Dateinamen den Bestandteil "xyz" enthalten.
Ich weiss, keine, sagen wir mal, anspuchsvolle Aufgabe das selber zu basteln, aber dafür wurde hier mal eine Lösung vorgestellt. Und warum das Rad ein 2. Mal erfinden ?
Einen wunderschönen verregneten Mittwoch !!!
Ich habe gerade das Problem, innerhalb eines Verzeichnisbaums alle Dateien finden zu müssen, die 1-n Suchmustern entsprechen. Mit Directory.GetFiles geht das ja nicht ohne weiteres, aber ich kann mich erinnern, das hier schon einmal eine entsprechende "Klasse" vorgestellt wurde.
Und genau diese "Klasse" (oder vielleicht war es auch ein Projekt) finde ich absolut nicht wieder. Jaja, ich weiss, der eine entscheidende Suchbegriff usw. - aber der ist leider gerade aushäusig ...
Wenn mir also einer der anwesenden Mnemoniker auf die Sprünge helfen könnte, wäre ich ausser mir vor Freude ! Ganz ehrlich !!!