Hallo winSharp93,
Beim Erstellen kannst du ja ein neues Rezept erstellen und dieses dann sofort editieren lassen.
Probleme entstehen nur, wenn auf "Abbrechen" geklickt wird - dann muss ich auch noch dafür sorgen, dass das Null-Rezept gelöscht wird..
Alternativ kannst du auch zwei verschiedene Forms verwenden, die beide das gleiche UserControl enthalten. Dann kannst du sogar die Buttons unterschiedlich beschriften.
Das werde ich wahrscheinlich machen. Super 😃.
m0rius
Hallo,
ich habe die Aufgabe, ein Programm zur Verwaltung von (Koch-)Rezepten zu schreiben.
Ich habe ein Formular zum Erstellen eines neuen Rezeptes angelegt. Nun möchte ich das gleiche Formular zum Editieren der Rezepte verwenden; dabei sollen natürlich die Controls die Daten des Rezeptes enthalten.
Ich stehe ein wenig auf dem Schlauch: Wie setze ich die Differenzierung zwischen Erstellen bzw. Editieren am besten um? Mit einem parametrisierten Formular, das anhand eines Enum-Wertes "Create" bzw. "Edit" Button-Labels generiert und Delegaten zur Auswahl der Methoden verwendet?
m0rius
Hallo zusammen,
man könnte natürlich nur diejenigen Threads pinnen, die nicht bereits in der FAQ stehen, um Redundanzen zu vermeiden. Das sorgt auch dafür, dass geschriebene Artikel nicht in der Unmenge von Suchergebnissen untergehen.
m0rius
Hallo Froggie,
das Stichwort lautet Stored procedures.
m0rius
Hallo Snowman25,
pfft meinetwegen
nunja, da liegt immerhin der Faktor 7625597485 dazwischen. Aber was soll's, phh, 7,6 Milliarden ist ja auch ein Pappenstiel.
m0rius
Hallo zusammen,
habe das hier gerade in einem alten PHP-Script von mir gefunden:
// Quick and dirty, ich weiß. Trotzdem.
Ich lasse das mal unkommentiert 😄 ...
m0rius
Hallo Nitro2k7,
wenn es wirklich nur um Farben geht, kannst du auch in deinem CSS-Sheet Platzhalter verwenden. Die Farbe selber könntest du z.B. in einem Cookie speichern.
Du müsstest die Datei natürlich noch parsen ...
m0rius
Hallo zusammen,
hier ein Blogeintrag, der die Erweiterung des Glasrahmens unter Vista für Windows Forms beschreibt: Vista: Glass in C#.
Der Beitrag von John Sanson impliziert, dass dies nur in WPF möglich ist ...
m0rius
Hallo John Sanson,
ja, genau das meinte ich. Danke!
m0rius
Hallo,
der Windows Explorer unter Vista verwendet einen vergleichsweise hohen Glasrahmen, in dem sich Controls befinden. Welches Control wurde für diesen Rahmen verwendet?
m0rius
Hallo BangerzZ,
wenn du die TextBox
en weiter verwenden willst, ist es hilfreich ein Array TextBox[]
zu verwenden, damit du beim Ansprechen nicht über sämtliche Controls iterieren musst bzw. Typ-Abfragen durchführen musst (die evtl. TextBox
enthalten, die gar nicht zu den anderen gehören).
m0rius
Hallo Lumbra,
meines Wissens nach lässt sich das auch nicht einstellen.
Du kannst dir aber das Leben mit einem netten Makro für Regionen erleichtern.
m0rius
Hallo macke_a,
s. [FAQ] Eigenen Event definieren / Information zu Events.
Bitte vorsorglich auch [Hinweis] Wie poste ich richtig? Punkt 1.1 beachten.
m0rius
Hallo UliA,
ich habe mir ebenfalls die verlinkte Seite im Firefox 3.5.1 angesehen und sie funktioniert.
Silverlight habe ich auch ohne Extra-Plugins installiert ...
Ich finde sie zwar potthässlich, aber das tut hier nichts zur Sache 😛.
m0rius
Hallo hermann1970,
zum wiederholten Male der Verweis auf Regex.
Ich nehme an, dass $test$ bei dir als Platzhalter fungiert. Dafür kannst du allerdings auch Strings wie %test%, #test#, ... verwenden.
m0rius
Hallo chanderegg,
ja. leider fehlt auch dort wieder der ansatz des dynamischen Arrays.
warum? Es ist doch beschrieben, wie Arrays verschiedener Längen verwendet werden.
hab mal versucht ein jagged Array aus ArrayLists zu machen. bin aber leider gescheitert
ArrayList
solltest du durchList<T>
ersetzen. s. List<T> statt ArrayList?.
m0rius
Hallo zusammen,
daran sieht man mal wieder, dass man nie auslernt - verwende Windows seit 10 Jahren und habe das weder geahnt noch gewusst ... Danke, herbivore!
m0rius
Hallo Kaji,
19 Jahre alt, Beruf Fachinformatiker ... Ich gehe mal davon aus 😃.
m0rius
Hallo markuss21,
probier mal folgenden Code:
Regex regex = new Regex("^(Abteilung_001_Büro[0-9]+)$");
string item = "Abteilung_001_Büro1";
Match match = regex.Match(item);
string result = match.Groups[1].Value;
In der Variable result
steht jetzt der Text "Abteilung_001_Büro1"; regex.IsMatch(item)
liefert bei mir true
.
m0rius
Hallo markuss21,
Leider konnte ich den Fehler dennoch nicht finden:-(
gerade für die Fehlersuche bietet sich herbivores On-the-fly Regex-Tester: Regex-Lab an.
Außerdem solltest du am Ende des Patterns nicht "*", sondern "+" verwenden, da ja auf jeden Fall eine Ziffer bzw. eine Zahl folgen muss. Dann müsste das Pattern eigentlich Treffer finden.
m0rius
Hallo Peter Bucher,
das ist ja interessant ...
m0rius
Hallo cellardoor,
ich nehme an, Delegaten (Funktionszeiger) sollten das richtige Mittel für dich sein.
m0rius
Hallo herbivore,
Es wäre nur zu hoffen, dass wenn immer wieder diese Keys öffentlich werden, Microsoft merkt, dass sie mit der Aktivierung nur die ehrlichen Benutzer gängeln, aber die unehrlichen in keinster Weise vom Kopieren abhalten.
wie wahr ...
Ich bin einer der wenigen Leute aus meinem Bekanntenkreis, die sich Software bzw. Musik noch kaufen, daher würde ich mir wenigstens wünschen, solche "Hürden" wie die Aktivierung nicht zu haben.
Aber das haben wir ja schon mehrfach hier diskutiert ...
m0rius
Hallo zusammen,
soeben folgendes auf Chip Online gefunden: Windows 7: Noch nicht erhältlich, schon geknackt.
Bitter ist natürlich folgendes:
Ein Sprecher von Microsoft beeilte sich dementsprechend auch, vor dem Download von Windows 7 RTM-Versionen aus dem Internet zu warnen: Diese seien mit hoher Wahrscheinlichkeit manipuliert und könnten Viren, Trojaner und andere Schädlinge enthalten. Da hat sich das Unternehmen wohl selbst einen Bärendienst erwiesen, als es vor einigen Tagen die Prüfsummen der offiziellen ISO-Files veröffentlichte.
Was meint ihr dazu?
m0rius
Hallo Lumbra,
Dann macht es aber auch wirklich Sinn - um den ungefähren Zeitfortschritt einschätzen zu können...
richtig. Nichts ist nerviger als ProgressBar
s, die anzeigen, man hätte schon 95% der Zeit hinter sich, die dann aber verschweigen, dass es erst 5% der Dateigröße sind 😐.
m0rius
Hallo Lumbra,
[...] mit der dateigröße gewichten.
ist eine sinnvolle Idee. Wenn die Dateien nicht nahezug gleich groß sind, macht eine ProgressBar
, die die Anzahl verarbeiteter Dateien anzeigt, nicht wirklich Sinn.
Dann aber mit doppelter ProgressBar 😉
Auch dann solltest du die Berechnung von der Dateigröße abhängig machen 😉.
m0rius
Edit: Quote-Tags korrigiert.
Hallo tiger200,
wenn du lediglich herausfinden willst, wie lange ein bestimmter Algorithmus zum Ausführen braucht, solltest du die Stopwatch-Klasse aus dem Namespace System.Diagnostics
verwenden.
m0rius
Hallo manuel774,
"Any CPU" sollte es tun.
m0rius
Hallo herbivore,
hmm, das hätte ich bei manchen Leuten auch machen sollen 😃.
Manchmal muss man die Leute eben zu ihrem Glück zwingen ...
m0rius
Hallo zerberos,
im Namespace System.Text.Encoding
gibt es eine Methode Convert().
Ich vermute, dass es das selbe Problem wie mit der Uneindeutigkeit bei der Verwendung der Klasse Timer
ist, wenn sowohl System.Windows.Forms
als auch System.Threading
importiert wurden.
m0rius
Hallo dN!3L,
ich finde solchen Humor genial 😄 ...
Was für ein Dozent war das denn bzw. aus welchem Studiengang? Mathematik, Informatik?
m0rius
Hallo Fabian_81,
dafür ist die Timer-Klasse aus dem Namespace System.Windows.Forms
prädestiniert.
m0rius
Edit: Link korrigiert ...
Hallo dN!3L,
danke für diesen tollen Artikel! Weiter so 😃!
m0rius
Hallo winSharp93,
da hatte ich wohl Tomaten auf den Augen. Danke!
m0rius
Hallo SlyFox,
ich will jetzt nichts falsches sagen, aber das müsste über Erweiterungsmethoden lösbar sein.
m0rius
Hallo Florian Reischl,
Habe es gerade selbst mal mit zweimal 40.000 Zeilen versucht und komme auf 11 Millisekunden
wow, das hätte ich nicht gedacht. Das ist wirklich verdammt schnell ...
m0rius
Hallo Kaboom,
ich wehre mich ja auch nicht gegen ExecuteSql(), aber gegen getData(), aber das ist ja geklärt.
m0rius
Hallo Kaboom,
es ist doch nicht persönlich gemeint! Der Link bzw. das Zitat sollen ja nur nochmal verdeutlichen, was eine solche Benennung für Folgen haben kann, wenn nicht damit gerechnet wird, dass Daten gelöscht werden!
m0rius
Hallo Kaboom,
Der name [getData()] ist eben deshalb so gewählt, da diese Methode die Datenaus der Datenbank saugt. also den string übergibt und sich somit die Datenholt oder löscht oder ändert.
autsch - s. Principle of least astonishment.
Software sollte überraschungsarm implementiert sein. Wenn eine Abfragemethode namens GetValue() nicht nur einen Wert liefert sondern gleichzeitig den Zustand des Systems ändert wird der Entwickler diese Methode im besten Fall meiden da er mit bösen Überraschungen rechnet. Im ungünstigen Fall fällt ihm dieses merkwürdige Verhalten nicht rechtzeitig auf. (Abfragemethoden die den Zustand ändern verstoßen gegen das Command Query Separation Prinzip).
m0rius
Hallo dein.Tod,
s. meine Antwort auf winShar93s Aussage.
m0rius
Hallo MagicAndre1981,
s. Anhang.
m0rius
Hallo winSharp93,
dann erkläre ich den Hintergrund doch 😉. Hatte gerade in Cinema 4D eine Szene gemodelt und wollte rendern, als die Meldung "Nicht genügend Arbeitsspeicher vorhanden!" auftauchte, obwohl die Szene überhaupt nicht komplex war - wesentlich weniger Objekte als in manch anderem Bild.
Daraufhin war ich erstmal etwas verdutzt, da so eine Meldung noch nie aufgetreten ist und habe irgendwo ein Speicherleck vermutet ... Beim Rendern lag halt die RAM-Kapazität bei 99% ... Ich dachte, irgendwas Fehlerhaftes belegt meinen RAM.
Letzten Endes lag das Problem an einem unklug gesetzen HyperNurbs-Objekt, das ein Objekt aus relativ vielen Polygonen auf Stufe 3 von 6 unterteilt hat, sodass daraus mehr als 2,7 Millionen Polygone wurden - allesamt mit spiegelndem Material, was die Berechnung hochgetrieben hat ... HyperNurbs deaktiviert - alles lief tadellos!
Vielleicht verstehst du jetzt meine Verwunderung 😉.
m0rius
Hallo michlG,
okay, das beruhigt mich 😃.
m0rius
Hallo,
ich habe bei 4GB RAM und Vista Home Premium 64bit derzeit direkt nach dem Rechnerstart 40% Ramauslastung - ist das bei Vista wirklich so viel oder habe ich irgendwo ein Speicherleck?
Ich habe mal einen Screenshot aus dem Task-Manager angehängt ... Der meldet mir 1,25GB RAM in Benutzung - aber doch nicht mit diesen Werten?!
Den ersten Eintrag (Firefox) bitte wegdenken, der war zum Zeitpunkt noch nicht gestartet!
m0rius
Hallo michlG,
oh, ich bin selber Vista-User, nur halt total genervt von den ständigen Sicherheitsabfragen ...
Ich habe die Rezension wegen dem EU-Bezug gepostet, nicht, weil ich glaube, das Se7en schlecht ist!
m0rius
Hallo wakestar,
Made my day 😄
same here 😄 ...
Hallo zusammen,
ich habe gerade bei amazon folgende Rezension gefunden, vielleicht interessiert sie den einen oder anderen:
Windows 7 ist besser als Vista, das steht fest. Im Grunde ist es Vista, jetzt endlich in einem einigermaßen vernünftigen UI, und ohne Dauerabfrage für jede Aktion.
Grundlegende Probleme wurden damit aber noch lange nicht behoben. Es hätte aber 3 Sterne bekommen, wenn diese unsäglich Vorbestell-Aktion mit viel zu wenig Lizenzen nicht gewesen wäre. Eine Farce von Microsoft. Dies zeigt, dass sich nichts geändert hat. So wären die, sich geprellt fühlenden Vista-User, zufrieden gewesen. Aber nein. Maue Einführung, maues Betriebssystem, schlechte PR, und zweifelhafte Methoden (wie die EU-Kommision mehrfach festgestellt hat und auch abmahnte).
m0rius
Hallo zerberos,
wobei auch SHA-1 2005 geschwächt wurde ...
Wenn du die Möglichkeit hast, solltest du mindestens SHA-256 verwenden - in der Kryptographie ist man ja prinzipiell misstrauisch.
m0rius