Laden...

Forenbeiträge von ikaros Ingesamt 1.739 Beiträge

15.06.2008 - 21:37 Uhr

MVC sehe ich erst mal noch nicht, obwohl Visualisierung duraus eine Rolle spielt.
Ein Command würde ich für Unzureichend halten.

CheckIfObjectUnderMousePointer ist ganz klar eine GUI-Methode.

Das war ein Beispiel - streiche das MousePointer und ersetze es durch ActualPosition.

Die Konstruktion selbst sollte ein Builder übernehmen.

Design ist teuer - ja. Kein Design ist aber teurer.

15.06.2008 - 21:17 Uhr

Was ist deine IDE?
VS ermöglicht Refaktoring simple.
Etwas unbequemer würde das nit Tool X erledigt werden das Find & Replace nei mehreren Dateien beherrscht.

15.06.2008 - 21:12 Uhr

Xml-Serialisierung ist flach per default. Die Rückgabe eines Arrays(user) muss ebenfalls Bestandteil des Vertrags(WSDL) sein.
Daraus ergeben sich folgendes:
Der Service muss ein Array of Users definieren.
Das Array benötigt das Attribut der Klasse zum Serialisieren.

15.06.2008 - 20:57 Uhr

Ich würde vermuten das ein Feld fehlt - der Bezeichner für die Kombination Art, Unterart.
Weiterhin würde ich Arten und ihre Unterarten in seperate Tabellen auslagern.
Wenn Unterarten verschiedenen Typs(Datenfeldermässig) sein können sind die ebenfalls in seperaten Tabellen zu handhaben, das macht die Abfrage natürlich komplexer.

14.06.2008 - 23:26 Uhr

Ich vermute zunächst ein Problem im DB-Design.
"Checked" und "Unchecked" als Worte funktionieren nur in Stringfeldern(Nenn es Varchar).
Ich vermute erst später weiter(bei höherer Präzision).
ikaros

14.06.2008 - 23:18 Uhr

Document ist nur eins erlaubt(Ist halt kein Akenschrank, sondern Akte).
XSD beschreibt diese Akte.
Steinigt mich bitte falls ich falsch liege.
Bei allem was darunterliegt, kann ein Container auch auf sich selbst Referenzieren.
Interfacemässig halt...

14.06.2008 - 23:02 Uhr

Ach komm ihr seit ja weiter, sie Schweiz hatte eine schlechte Vorstellung... 🙄

Ach komm die Schweiz hat doch einen Rekord im Rausfliegen als Gastgeber aufgestellt, das kommt bestimmt in's Guinnessbuch.

Du siehst das einfach zu negativ.
ikaros

14.06.2008 - 22:52 Uhr

Dann sind "Interactions" einfach nur Zustände.
Zustände sind durchaus aktiv, sie führen Aktivitäten aus die keine Commands sein müssen... Beispiel für den Zustand Select wäre ein Listen auf die Mauskoordinaten(Ereignis: Mousemove führt zur Aktivität CheckIfObjectUnderMousePointer, bei Treffer löst die Activität ein Ereignis aus, das in diesem Fall nicht zum Zustandswechsel führt sondern nur das Contextobject benachrichtigt(das die Nachricht nur weitergibt. Das beinahe Gleiche gilt bei Klick: Es wird geprüft ob ein Objekt unter dem Mauszeiger liegt oder nicht, es wird benachrichtigt. Das selektierte Objekt wechselt(bei Treffer zu einem Objekt sonst null), die Nachricht wird weitergeben. Bei Treffer werden mögliche Folgezustände freigeschaltet, ansonsten blockiert.
Beim Zustand Move würde ähnliches passieren, mit der Ausnahme das Mousedown ein Command auslöst, das Ding würde bei MouseDown beginnen und bei MouseUp aufhören(ich würde das von der Maus entkoppeln, gibt ja Leute die nehmen die Tastatur oder anderes).
Move wäre Subzustand von Select(Die Transition benötigt also 2 Ereignisse (bei Maus: Down & Move) zur Transition zu Move dessen Aktivitäten ein(oder mehr) Commands enthalten.
Ich hoffe das war verwirrend genug.
ikaros

13.06.2008 - 23:19 Uhr

Die korrekte Verwendung von Sessions regelt der Server nicht der Client.

So ein Keks heisst nicht nicht Keks weil er clever ist, sondern weil man darauf was Abstellen kann und mit Keksunterlage wegspeichern...
So ein Keks erstellt garnichts, erst recht nicht für einen beliebigen RPC eine Session.
Kekse können eine Session verlängern, eine Session personalisieren, eine gesicherte Session zugänglich machen.
Kekse halten Daten, nicht mehr und nicht weniger.
(Manche sind geniessbar andere giftig, die Einstufung liegt beim User).
Die Keksverwaltung und Auswertung liefert der Server.

13.06.2008 - 23:04 Uhr

Generell: ja.
Speziell, gibt es die Aspekte Machbarkeit und Performanz.
Machbarkeit bedeutet C/C++ Kran einzubinden weil C# das nicht kann und soll.
Beispiel:
Ansteuerung einer Karte(Irgendein IO-Controller). Es gibt Treiber und eine API die irgendwie benutzbarer ist.
Lösung 1(Treiberzugriff):
Benutze den Treiber:
-Importiere den Basiszugriff auf irgendwelche Recourcen.
Fazit: schon gesprengt.
-Abstrahiere neu.
Lösung 2(Nutze mitgelieferte API)
-Kapsele die API in Nutzbare Klassen.
Importiere eine eine höhere Anzahl von Funktionen, deren Abstraktion immer noch zu gering ist.
usw.

Ich bin für Sprachmischmach, mit der CLI geht das einfach besser.
Unmanged Ressourcen reinziehen und managed zur Verfügung stellen. Das kann nur C++ im Mixedprojekt elegant lösen, und der MangedOnlyWorld am schönsten zur Verfügung stellen.
DLL-Import geht auch(ging schon mit VB ohne .Net) ist jedoch stets gefährlich(normal) und länger im Call(Inperformanter).
Ab Net 2.0 ist C++(mit CLI) beihnahe schon zu bequem um es abzulehnen. Dieser Sprachmix zahlt sich aber schon länger aus, auch bei ehehmals höheren Aufwand.
Liegt wohl eher am Technologie- als am Sprachmix.
Reine Sprachmixe sind auch sehr gefragt, bei Migration von Altsourcen z.B. Sie mögen Zwischenschritt sein...
Anderes Bsp:
Funktionale Sprachen können mehr(auf ihrem Spezialgebiet). Warum also nicht Spezialfälle mit der am besten angemessenen Syntax Lösen? - Die DLL ist schnell eingebunden. EIne Universalsprache gibt es derzeit nicht.

13.06.2008 - 22:30 Uhr

Wie wäre es wenn du das Rad nicht neu erfindest?
Der System.Globalisation - Namespace bietet das doch schon.
Einfach benutzen, es geht auch ohne Enum.
Eine Einschränkung der Kulturen geht durch Mapping in einer Hashtable(z.B.).

13.06.2008 - 22:23 Uhr

In den C-Dingern wäre damit auch ein "Export" anzuraten...

13.06.2008 - 22:13 Uhr

Ich verstehe den Begriff Interaction nicht.

Ansonsten gilt: Command < Activity < State

Ich würde raten: Interaktion = Zustand?
Wäre dann aber falsch, da Interaktivitäten nur Ereignisse für den Zustandswechsel sein können.

06.06.2008 - 20:50 Uhr

möglich, nichts genaues weiss man nicht...

06.06.2008 - 20:44 Uhr

Wirf doch mal (d)eine where Klausel rein.
Zusätzlich können sich auch noch Providerabhängige Spezialitäten reinschleichen(wie(und mit wem) findet die Übergabe statt).

06.06.2008 - 20:37 Uhr

F# gibt es mindestens seit 2003. Ist aber noch nicht fertig, jetzt aber nahe dran.

D ist fertig, aber brandneu. D ist direkter Nachfolger der C-Family(c, c++, Java, C#).

Kommerzielle bzw. benutzbare Tools(für produktiven Einsatz) gibt es noch nicht wirklich. Gilt für beide Sprachen.

06.06.2008 - 20:27 Uhr

Geht es um Textfelder oder um SQL-Statements?
Ging irgendwie nicht ganz aus deinem Posting hervor.
Für Textfelder nimm das klassische "\r\n".
Ein SQL-Statement kann mit Umbrüchen umgehen benötigt jedoch keine. Für Formatierung(der Lesbarkeit halber) ist durchaus irgendwie ASCII angesagt, das eine ist der Wagenrücklauf(CR = Carriage Return)) das andere der Zeilenvoschub(LF=LineFeed).
Die ASCII-Codes sind in der Hilfe(10 & 13). Die richtige Reihenfolge ist schnell rausgefunden, zusammen mit der Maskierung. ("\r\n" oder "\n\r" - Fragen über Fragen).
😉

05.06.2008 - 22:06 Uhr

Nicht ganz frisch:
"Software testen" von Perry, Verlag mitp.

05.06.2008 - 21:58 Uhr

"public const" kommt vom Bsp. in Teil 1 der MSDN, ist also nicht auf meinem Mist gewachsen

Ja ja die MSDN...
Teilweise immer noch furchtbar(bessert sich aber).

Bei dem Link "Klasse ClientHandler" bekomme ich 404, bei dem anderen auch(das könnte aber Absicht sein).

05.06.2008 - 21:50 Uhr

Es ging wohl um DirectX und das DirectX nur ein Fenster hat...

05.06.2008 - 21:47 Uhr

Das mit dem Polemisch versteh ich, das mit dem Durchsichtig nicht. Das Durchsichtige sollte sowieso zu 100% Transparent sein.
Das Ihr ein Privatclub seit ist auch klar. Da ihr aber ein Privatclub seit der von der Öffentlichkeit lebt, könntet ihr die Öffentlichkeit auch Ernster nehmen...

Ich verstehe durchaus die Schwierigkeiten, nicht aber unbedingt die Ignoranz. Ich beklage irgendwie auch den Mangel an Transparenz(Durchsichtigkeit) den Usern gegenüber.
So ein kleiner Status könnte doch nicht schaden(ist auch wenig aufwendig)
Example:
-Wunschliste zusammengefasst
-Prioritätsliste(der Wünsche) + Bewertung(zusammengefasst)
-Prioliste der Umsetzung
-geschätzter Aufwand pro Feature
-usw.

Einen Plan haben bzw. Erstellen. Ich bin sicher das es dann auch genug User gibt(mich durchaus inkl.) die im Rahmen ihrer Möglichkeiten mithelfen, da es auch Ihnen zugute kommt.
Derzeit sieht man zu viele Spaten, an zu vielen(virtuellen) Baustellen, stecken.

Das Eingehen auf die Weltfirma erspar ich mir, da der Vergleich eh vorbei ist.

Übrigens ist mir Dein(und das von anderen) sehr hohe Engagement nicht entgangen. Schliesslich liegt es nicht zuletzt daran, das dieses Forum eines der(wenn nicht Das) am höchsten(in der BRD) frequentiertesten ist.
Da kann man mehr draus machen. Daher mein gelegentliches Gemecker.
Verdammt viel mehr...

31.05.2008 - 23:49 Uhr

[EDIT]Abgeteilt von TextBox an ComboBox.SelectedValue binden[EDIT]

Wenn mit kleinen Datenmengen gearbeitet wird sind die Winforms-Dinger sicher geeignet. Ansonsten: Finger weg von dem Kram, Kauflösungen sind auch nicht besser, nur schneller hübscher -> noch inperformanter(kaum zu glauben aber es geht).
Diese Komponenten(Der WPF- Kram erscheint ähnlich(unglaublich irgendwie), allerdings fehlt mir dabei noch die Beweiskraft) sind einfach suboptimal implementiert nach ActivX-Norm(Datendoppung, Berechnung einer Darstellung die absolut nicht dargestellt wird, Stackbasiert sowieso(COM-Error, der mit ActiveX nur eins zu tun hat: ActiveX ist COM-Idiotie))...
Nunja von Kommunikation ist eh nicht die Rede sondern von Missinterpretation von Darstellung in dem Zusammenhang von Performanz, oder auch nicht.

31.05.2008 - 23:12 Uhr

Um zu Ärgern:
Es gibt kein Hauptfenster.

Es gibt aber eine Anwendung(hoffentlich als solche), die in der Lage ist das UI so zu steuern das es tatsächlich benutzbar ist. Nur mal so als Anregung gedacht.
... auf Antwort gespannt.

31.05.2008 - 23:06 Uhr

Und wann? Ich frage ja nur. Die Diskussion zieht sich ja nun hin, so seit Jahren.
Quasi wie im richtigen Leben, ewig bequatscht aber Nie in Angriff genommen. Wollt Ihr wirklich so agieren wie eine Firma die auf ihre Marktführerschaft pocht um gnadenlos Abzusaufen, weil die Wahrnehmung von Realität zu unbequem ist?

31.05.2008 - 22:49 Uhr

Ich bekomme irgenwie Krämpfe wenn ich "public const" lesen muss.
Übrigens las ich nüscht anderes. Wenn du dein Problem konkreter schildern könntest wäre das Hilfreich um zu Helfen. Aber so?

31.05.2008 - 20:38 Uhr

Hoffnung stirbt erst mit dem Rest allen Lebens(Unausrottbar das Geschenk der Athene im Übel des Lebens).

31.05.2008 - 20:33 Uhr

Vielleicht sollte man das noch Unterteilen in SW-Architekturforum, Designforum und Systemarchitekturforum.
Einfach nur das auch sogenannte Profis wissen wovon Sie labern...

31.05.2008 - 20:29 Uhr

Ich versteh das mit der Kurzform nicht wirklich.
"Gobbo" ist lediglich ein Buchstabe weniger, "Goblin" nicht wirklich Unaussprechlich.

Irgendwie braucht's da ' ne bessere Erklärung.

26.05.2008 - 21:56 Uhr

Danke,
daran hatte ich nicht gedacht.

26.05.2008 - 21:53 Uhr

ich denke, dass Adobe da eventuell etwas anderes in der Tasche hat, und mit der Offenlegung erst einmal in aller Munde sein will.

Und deshalb wird jetzt nach x-Jahren Flash veröffentlicht?

Flash hat in den letzten Jahren deutlich an Bekanntheitsgrad und Nutzung gewonnen, so dass Adobe wahrscheinlich schon genug damit verdient hat.

Genug? Lach.

Ich denke nicht, dass Silverlight der Grund für die Offenlegung des Formats ausschlaggebend ist.

Nein natürlich nicht. Es ist Adobes Wunsch nach Einigkeit, Liebe und Offenheit...

Flash ist meines Wissens nach z.B. viel mit Macintosh im Einsatz und bietet eben sehr viel Flexibilität im Webbereich (gut Silverlight auch, das ist aber neu und muss sich erst einmal durchsetzen).

Flash hat mit Mac erstmal eins gemein -> nichts.
Zielplattform ist eine andere, Erstellung teilen sich Win-PC und Mac.
Silverlight ist neu und muss sich durchsetzen -> korrekt.
(Anzeigemässig dürfte Silverlight wohl besser unterstützt werden als es Flash jemals war. Technisch ist Silverlight überlegen, die Möglichkeit der Erstellung von unnützen Silverlightanimationen ist natürlich abhängig von Tools. Silverlight dürfte da am Start bessere Karten haben.

Da man hier aber wahrscheinlich sowieso nur Vermutungen diesbezüglich aussprechen kann, sollte man einfach abwarten und Tee trinken.

Ich nehm Kaffee.
Aus Erfahrung tendiere ich zu Flash, da sich eh nur der schlechtere Müll etabliert.

Grüße
Norman-Timo

cu.
ikaros

26.05.2008 - 21:37 Uhr

Ich meinte die Community Edition, die Enhanced kenne ich nicht. Ich würde sowieso ein anderes Tool benutzen da das Ding zu schwach ist um wirklich zu Schützen.
(Allerdings spielt in der Preislage dann der Kostenaufwand für eine prof. IDE nur untergeordnet mit. Sicher kann man da auch sparen, aber ich glaube das Lohnt sich dann nicht wirklich).

26.05.2008 - 02:45 Uhr

Den Dotfuscator kann man sich auch so runterladen.
Dazu braucht es kein Studio(Nicht mal Expression). Die Integration in die IDE ist natürlich bequemer.

26.05.2008 - 02:36 Uhr

"CarbonCopy" ist belegt, brauchst also einen anderen Namen.

26.05.2008 - 02:33 Uhr

Frage:
Was wäre denn der Anwendungszweck, z.B. im Vergleich zu einer GUID?

26.05.2008 - 02:17 Uhr

Hallo floste,

Also sie werden nicht aktualisiert. (eingaben sind nicht zu sehen.)

Wo ist also das Problem?
Du muss nur "mitschneiden" wann eine Eingabe erfolgt, dann Invalidate aufrufen.
Funktioniert natürlich nur dann, wenn das Display(dein Control) an den Wert gebunden ist und nicht an eine(inzwischen) veraltete Kopie(Listbox wär ein Paradebeispiel). Falls nicht muss man halt auch das Display Animieren auf den neuesten Stand zu kommen.

26.05.2008 - 02:03 Uhr

Silverlight ist gut, sogar sehr gut, aber ich denke, dass dieses es nun schwerer hat sich durchzusetzten als Flash, da es ClosedSource ist. Microsoft soll .NET, C# und SilverLight OpenSource machen, dann brauch ich zwischen meinen 3 Linux Computern nicht noch ein Windows.🙂

Silverlight mag CS sein, Moonlight ist es nicht. MS unterstützt Moonlight derzeit. Das eine Moonlightversion dem Silverlight 6 Monate hinterherhinkt sollte kein Problem sein. Das Flashformat hingegen ist ein Problem in der Verwendbarkeit, daran ändert auch nichts die Offenlegung.

Für Flash spricht lediglich seine (gegenwärtige) Verbreitung und die (derzeit) "gute" SW zum Edititieren.

Das ist mein persönlicher Eindruck, Gegenmeinungen sind mehr als willkommen.

11.05.2008 - 20:04 Uhr

Was wären denn die Anforderungen?
Die sichere Speicherung allein ist es nicht wenn jeder Zugang zum Rechner hat und dein Programm starten kann. Da nutzt die sichere Ablage für das DB-Login allein nichts.

Oder ist das Programm nur für Test und Lernzwecke von Teilaspekten des Themas?

11.05.2008 - 19:39 Uhr

Property Autosize= false und das Label manuell dimensionieren(alternativ eine 888 als Initialwert verwenden?
Dein Label ist zu klein in der Dimension.
Der Wordwrap kann nicht eingestellt werden(ausser Ellipses).

11.05.2008 - 19:33 Uhr

Dann poste mal etwas Code.
Oder benutze die Forumssuche.

11.05.2008 - 19:29 Uhr

In der Expressedition?

11.05.2008 - 02:51 Uhr

Werden unterschiedliche Renderengines benutzt?
Es gibt halt Browser die Benutzen CSS und andere versuchen es....
Weiterhin gibt es propietäre Eigenschaften die nicht jeder Browser versteht(insbesondere bei Positionierung).
Das sieht einfach mal nach dem Benutzen falscher Properties(HTML-Output) aus, bzw. nach fehlender Browserweiche.

11.05.2008 - 02:36 Uhr

In SharpDevelope(Opensource IDE für .Net), ist eine rudimentäre Lösung enthalten. Ähnliches findet sich auf Codeproject.com.
So richtig toll ist das alles nicht. Ich weiss auch nicht welche Funktionalität du brauchst und welche Anwendungen für dein Anwendungsszenario auf dem Zielsystem vorrausgesetzt werden können.
Z.B:
lässt sich ein Access ziemlich gut missbrauchen um relativ hochwertige Reports zu generieren.
Microsoft Reporting Services Express ist ganz nett wenn man ausschliesslich den MS-SQL Server benutzt(Servergenerierte Reports).

Es gibt auch die Möglichkeit die Daten als XML rauszuwerfen und mit Hilfe eines Stylesheets zu transformieren(nach HTML oder so)

11.05.2008 - 01:18 Uhr

Hallo,
das wäre dann die klassische Factory als Teil einer Strategy. Die Erzeugung der benötigten Klassen steht m.E. nicht im Focus, lediglich die Wahl der Zuständigkeit.
Auch für die Wahl der Zuständigkeit ist die Strategy nicht zuständig, sie dient lediglich der Bereitstellung der notwendigen Algorithmen/Verhaltensweisen. Als Beispiel nenne ich mal den TextEncoder(Ascii, Ansi, UTF) für eine klassische Strategy. Die Strategy deklariert für ihre angebotenen Dienste die Schnittstelle und stellt den benögten Dienst per Konfiguration zur Verfügung.
Selbstverständlich kann man eine "strategische Klasse" so erweitern das sie den passenden Algorithmus über von Schlüsseln selbst wählt und die Klassen die den Alg. tragen selbst instanziiert. Das geht mit der Zuständigkeitskette(Chain of Responsibility) die z.B. auch in einer generischen Fabrik verwendet werden kann.
Das sind dann schon 3 GOF-Patterns für eine Sache 😉

Der Schlüssel wäre in diesem Fall also ein string.

Zu beachten wäre das die Zuständigkeitskette(die durchaus ein Baum sein kann) keine Garantie liefert das für eine Anfrage auch ein passendes Objekt bereitsteht. Das muss dann der Rest je nach Anforderung abhandeln und ggf. auch dem Anwender mitteilen.

Im vorliegenden Fall ist die Strategy soweit umgesetzt das die Schnittstelle existiert. Was der Klasse Ausgabe fehlt sind -
a: ) die ausführenden Objekte(Klassen sind da), es fehlt die Instanziierung ob nun extern oder intern(mit oder ohne Fabrik)
b: ) es fehlt die Konfiguration(Auswahl des Objekts)
c: ) es fehlt die Verkettung des Eingabestrings mit dem zuständigen Objekt(dürfte ganz prima mit einer Hashtable zu bewerkstelligen sein.

10.05.2008 - 23:37 Uhr

Hallo Herbivore,

in diesem Fall gehe ich ganz einfach von einem kleinen Übungsprojekt aus. Klein und überschaubar.
NIM sagte ja das er(Edit: ups, Sie) ganz am Anfang steht und sich C# anhand von "guide to C#" selbst beibringen will.
Das Zip dürfte nicht viel Speicher beanspruchen.

ikaros

10.05.2008 - 23:20 Uhr

Ich vermute das wichtige Teile fehlen, bzw. du einen Fehler bei der Projekterstellung gemacht hast.
Die Fehlermeldung deutet auf eine inkorrekte Winforms Geschichte hin, dein geposteter Code nimmt keinen Bezug auf eine Winformsapplikation.
Ich schlage vor du postet dein gezipptes Projekt, der Fehler sollte so am schnellsten aufgelöst werden können

Ein Sorry braucht es nicht, wenn man nicht weiterkommt. Dazu ist dieses Forum da.

10.05.2008 - 22:37 Uhr

http://www.epanorama.net/circuits/parallel_output.html

Schnell ergoogelt.

Edit: Alternativ lassen sich natürlich auch kleinere Relais(Leistungsaufnahme Steuerkreis) verwenden, die man auch kaskadieren kann falls der Lastkreis des steuernden Relais zu klein ist. Beachten sollte man dann jedoch Verschleiss(Lebensdauer) und das Prellen. Letzteres sollte bei einer Kassensteuerung wenig ins Gewicht fallen.

10.05.2008 - 22:29 Uhr

Du verwechselst da was.
Der Port des Listeners bleibt gleich und der lauscht auch weiter auf eingehende Netzwerkverbindungen. Bei einem Connect gibt dir der Listener ein Clientobject zurück das mit mit dem eingehenden Aufrufer verbunden ist. Die Portvergabe ist automatisch(Standardmässig).
Die Kommunikation selbst muss in seperaten Threads abgehandelt werden, sonst blockiert man den Listenerthread.

10.05.2008 - 22:05 Uhr

Wenn Spannung vor dem Relais 4,5 V beträgt ist am Steuerkreis wohl alles in Ordnung(Spannungsmässig).
Interpretiere ich das nach dem Relais nicht als Lastkreis sondern als den üblichen Schwund der Spule des Steuerkreises(ist halt Verbraucher, der Spannungsabfall ist dann normal) gehe ich davon aus das dein Relais einfach mehr Strom(A) fressen möchte als dein Port liefert. Möglicherweise schaltet es nicht mangels lieferbarer Leistung. 😉

Ich schlage vor einen Optokoppler zu benutzen, der frisst nicht so viel Strom(vom Port) und kann dann einen Transistor/Thyristor steuern der für die notwendige Spannung und Last ausgelegt ist.

10.05.2008 - 21:49 Uhr

Mir ist da bei deinem Code etwas aufgefallen:

this.Invalidate();
in der onPaintmethode ist einfach nicht gut. Damit ruft sich die Paintmethode noch mal selbst auf.