Das Inset ist halt schlecht(buggy) umgesetzt, womit sich die Nutzung von PenAlignment komplett erledigt.
Die Unschärfe vom Antialias ist die einzige Alternative zur harten Rasterung(oder/und eine höhere Auflösung).
Die Anpassung des Rechtecks an die Pinselgrösse funktioniert aber recht gut.
private void panel1_Paint(object sender, PaintEventArgs e)
{
RectangleF rect = new Rectangle(5, 5, 10, 10);
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.ScaleTransform(_zfactor, _zfactor);
using (Pen p = new Pen(Color.Blue, _pwidth))
{
e.Graphics.DrawRectangle(p, rect.X, rect.Y, rect.Width, rect.Height);
}
rect.X += 15;
//inset
using (Pen p = new Pen(Color.Red, _pwidth))
{
p.Alignment = PenAlignment.Inset;
e.Graphics.DrawRectangle(p, rect.X, rect.Y, rect.Width, rect.Height);
}
rect.X += 15;
//rectangle deflate
using (Pen p = new Pen(Color.Green, _pwidth))
{
rect.Inflate(-p.Width / 2, -p.Width / 2);
e.Graphics.DrawRectangle(p, rect.X, rect.Y, rect.Width, rect.Height);
}
}
Nun, dein Singleton ist nicht threadsafe.
Das lock schützt nur den Aufruf des privaten Ctors.
Original von JLL
darüber habe auch gelesen aber mit Center sieht das ergebnis gleich aus.
liegt glaube ich nicht an den exceptions sondern daran das er die breite, mit nachkommastellen, nicht verteilen kann (an die pixel) oder?Bei anderen anwendungen ist mir dieser fehler auch schon aufgefallen.
Du kannst dafür den SmoothingMode auf Antialias setzen.
Dem Pen weise ich eigentlich nur eine Farbe und die Width zu und beim zoomen in meiner anwendung wird die penwidth erhöht.
Naja 'Inset' setzt sich schliesslich nicht von allein...
Ich weiss ja nicht wie du zoomst aber normalerweise braucht man die Penwidth nicht anzupassen(Transform).
A Pen that has its alignment set to Inset will yield unreliable results, sometimes drawing in the inset position and sometimes in the centered position.
Daran dürfte es liegen...
Falls nicht:
Welche Exceptions? Welche Manipulationen am Pen wurden ausserdem vorgenommen?
Original von v.wochnik
Mit linearGradientBrush kann ich aber nur Color1 -> Color2-Verläufe machen.
Naja das ist nicht ganz richtig.
Bsp:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Rectangle rect = new Rectangle(10,10,100,400);
Rectangle rect2 = new Rectangle(10,10, 100, 200);
using (LinearGradientBrush lgb = new LinearGradientBrush(
rect2, Color.White, Color.Blue, 90, false))
{
lgb.WrapMode = WrapMode.TileFlipXY;
e.Graphics.FillRectangle(lgb, rect);
}
rect.X += 110;
using (LinearGradientBrush lgb = new LinearGradientBrush(
rect, Color.White, Color.Blue, 90, false))
{
lgb.SetBlendTriangularShape(.5f, 1);
e.Graphics.FillRectangle(lgb, rect);
}
rect.X += 110;
using (LinearGradientBrush lgb = new LinearGradientBrush(
rect, Color.White, Color.Blue, 90, false))
{
//Gauss
lgb.SetSigmaBellShape(.5f, 1);
e.Graphics.FillRectangle(lgb, rect);
}
rect.X += 110;
using (LinearGradientBrush lgb = new LinearGradientBrush(
rect, Color.Red, Color.Blue, 90, false))
{
//free gradient rainbow
ColorBlend blend = new ColorBlend();
blend.Colors = new Color[]{Color.Red, Color.Yellow, Color.Lime, Color.Blue,Color.Violet};
blend.Positions = new float[]{0,.25f,.5f,.75f,1};
lgb.InterpolationColors = blend;
e.Graphics.FillRectangle(lgb, rect);
}
}
Serialisierung ist gut.
Bei Erweiterungen zur Version 1 kann man "optional" verwenden.
Geht nicht, die IDE's sind da unterschiedlich.
@Lanalaxy:
thnx, ich hätte erst nachkramen müssen.
@Golo:
remoting:
Sorry, das sind doch nur Adressdaten.
Instanzverwaltung:
Das ist doch ebenfalls nur zu ladender Code(Singleton, Pool). Falls das wirklich nötig sein sollte(Aufnahme im Kernel) ist das doch auch mit ein paar Zeilen getan. Davon abgesehen halte ich das nicht unbedingt für die Aufgabe des Kernels.
Der Vollständigkeit halber sei noch Erwähnt das Event-Pattern und Observerpattern verschiedene Dinge sind.
Das Eventpattern ist sicher eine praktische Sache kann aber den Observer nicht ersetzen.(Ebenso ersetzt der Observer nicht den MVC.)
Praktisch findet man oft sowieso nie eine reine Patternimplementation, deswegen heissen die Dinger ja auch Pattern und nicht Templates.
Die meisten Observerimplementationen unter .Net leben auch quasi vom Eventpattern(siehe Post von Jelly).
Die schlechte Performance von Events ensteht oft durch Vermeidung des Observerpatterns in Form von "Frickelei". Das war z.B. unter VB6 extrem, da man dort Eventhandler nicht nach Bedarf Ab- und Zuschalten konnte. Unter .Net kann man den Oserver umgehen mit guter Performance, zu Lasten von Lesbarkeit und Trennung des Codes von Aufgaben.
Klein aber praktisch das Ding von Westphal.
(Spring.Net nervt schlimmer als die MSABs)
Wie Rainbird ist mir allerdings nicht klar was du mit:
"-der Objekte nicht nur lokal, sondern auch remote erzeugen kann, der mit Singletons umgehen kann -" meinst.
Das sind m.E. Eigenschaften der Codefunktionalität des gebundenen Codes nicht Codefunktionalität des Kernels.
Tja, ASCII ist nicht Unicode. Dein char ist ein 16 bit Wert.
Der richtige Datentyp ist byte, dann klappts auch.
Das Bytearray eines Unicodestring in ASCII kannst du mit z.B: System.Text.ASCIIEncoding
erhalten. Umgekehrt gehts auch.
@Quald:
Ich glaube es geht nicht um den prof. Bereich. HuStLeR sucht nur Unterstützung von einem Hobbywebdesigner(mit eventueller Aufwandsentschädigung) für seine Homepage.
Welches (Unter-) Forum wäre jetzt richtig? Vielleicht Projekte? Jobbörse sicher nicht.
Edit:
Für Webseiten gibt es auch hübsche Templates, kostenlos zum runterladen.
ich hab sowas noch nicht gemacht würde es aber so angehen:
Verbinden mit angebener Adresse und Port(TcpClient), fleissig lesen und die Daten in einen (memory)stream schreiben, der der Playroutine übergeben wird.
Anscheinend kann die Playroutine nicht direkt mit URIs arbeiten.
dann musst du den Formatstring dynamisch erzeugen
string formatstring;
for(int i = 0; i< s.Count;i++)
formatstring+="{"+i.ToString() +"}";
(ist schneller mit dem StringBuilder)
der stream ist nicht dein angebener Link(nur html-text)
<asx version="3.0">
<title>1LIVE WindowsMedia 32kBit/s</title>
<author>tb</author>
<copyright>(C) 2007 WDR</copyright>
<entry>
<ref href="mms://a1423.l672123074.c6721.g.lm.akamaistream.net/D/1423/6721/v0001/reflector:23074" />
</entry>
<entry>
<ref href="mms://a1630.l672131380.c6721.g.lm.akamaistream.net/D/1630/6721/v0001/reflector:31380" />
</entry>
</asx>
Die Quellenangaben halt.
das ist der stream:
stream
Vielleicht liegt es daran.
Vielleicht hilft das weiter:
SecureString
Hi, du musst den GradientBrush mit einer Ellipse initialisieren. Mit einem Rechteck wird der Verlauf eckig...
Zur WPF: Ja schade das es dort nur einen RadialGradientBrush gibt.
Example
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(this.ClientRectangle);
PathGradientBrush pgb = new PathGradientBrush(gp);
pgb.SurroundColors = new Color[1] { Color.Blue };
pgb.CenterColor = Color.WhiteSmoke;
pgb.CenterPoint = new PointF(100, 100);
e.Graphics.FillPath(pgb, gp);
//dispose und so
Eine durchaus gemischte und kraftsportgetriebene Meinung, Excel hat fällt raus.
Access ist zumindest DB(egal wie).
Dein Excellink zu MS-SQL-Express(könnte auch Oracle oder DB2 sein) ist eine Schnittstelle, kein Adrenalinaufgeblasenes Stück Fleisch...
cu
ikaros
Ich dachte der Cast muss sein...
XML oder Plaintext.
Kann man genausogut komprimieren wie Access.
Ohne Access(als Anwendung) im Spiel brauchts auch kein Accessformat.
check aber durchaus mal den Feldtyp bis dahin.
ok, also Byte-Array(hätte ja sein können).
-Feld-Typ der DB ist also Varbinary.
Bin mehr der Oracleuser, daher kenn ich den Feldtyp nicht. Bei Oracle wär der Feldtyp BLOB.
Für den SQL-Server check ich das mal morgen. Glaub mich aber zu erinnern das der Feldtyp identisch ist(2000er) zu Oracle.
Fonteinstellungen?
geht normalerweise so bei den Fontstyle-Eigenschaften, oder hab ich es falsch verstanden?
Das ist eine übliche Eigenschaft wie Bold etc.
Kleine Frage: Bitarray?
Zusammenhang:
Vermarktung von SW, die Leute benutzen u.a. auch Paypal und Bankeinzug. Informationen zu Bezahlsystemen und deren Verwendung werden dort durchaus ausgetauscht.
Ich dachte Chai ist Tee.
(manchmal auch als Tschai geschrieben)
gibts in schwarz, grün, gelb und weiss(rot zählt nicht), ist nicht immer eine Mischung.
vielleicht können die mehr helfen.
UAC sollte doch als Admin kein Problem darstellen.
Dazu gibt es doch Impersonation - lokal, und remote sowieso über den Account des Domainadmins(oder bist du nur lokaler Admin?)
Vielleicht irre ich mich ja.
Antwort:
Beim Bearbeiten ist wohl der User das Problem....
Wie soll ein User parallel 140k DS bearbeiten?
Threads sind da wohl haum das problem. Vor allem bei derzeitiger Prozessorunterstützung + Hardware(Träumer reden derzeit von 64 in Spezialbereichen als Zukunftsmusik). Vista unterstützt bis zu vier(in worten)...
Du hast da wohl ein Threadproblem das du dir selbst geschaffen hast.
Abstrahier erstmal von deinen Threads zum Usecase...
Werden deine 1000 Ds gleichzeitig bearbeitet und abgeschickt?
Nein? Was für ein Zufall.
Ja? Wieso? Warum gleichzeitig?
@herbivore:
Es ist eigentlich Wurst woher man GraphicObject bezieht. Wichtig ist das Ding zu haben(ohne Störung) und die für den Speichervorgang relevanten Grafikoperationen darauf anzuwenden(Stream(am besten erstmal Memory um die Grösse zu ermitteln und oder weil man nach 16bit(WMF) konvertieren muss)).
Dein Weg ist aber genauso richtig.
Da der OP oder sonstwer aber kein echtes Interesse zeigt gibts auch kein Code zu: wie speicher ich WMF-Derivate richtig.
Davon abgesehen war MS so nett den Import von EMF+ zu erschweren, wenn man nicht das Gesamtbild als Shape akzeptieren mag.
(Reverseengeniering ist Sch...)
Hab nie wirklich mit Java intensiv gearbeitet, aber damit zu tun gehabt.
Als Einstieg (viellecht veraltet) hat mir Java 2(Gotoreihe, von Addison Wesley) geholfen.
Die Goto-Reihe von AW ist für den Einstieg ok, danach muss man dann aber zu den "echten" Büchern greifen.
Dieses Buch fand ich damals als Umsteiger ok, würde es auch für Anfänger geeignet halten, bzw. inzw. die Nachfolgewerke.
bei dem Arabica + Koffein geb ich dir recht, aber man hat ja auch Geschmacksnerven. Daher fällt Robusto für mich aus. Für mehr Koffein sorgen dann ausgewählte Südamerikanische Mischungen, manchmal gehts auch ohne mischen.
(Robusto hab ich allerdings auch 'ne Weile bevorzugt, aber irgenwann ist genug...)
weder Java noch Swing.
Ich trinke meist Arabica oder das südamerikanische Zeug.
Tja, und ich dachte ich wär konkret genug. Was genau ist das Problem?
(das in Klammern ignoriert):
Bon-Drucker = Gutscheindrucker?
Kein Treiber dabei? Falls es so ist: Schnittstelle? -> USB, RS232, Parallel?
Vermuten würde ich einen Seriellen Drucker mit Endlospapier und Cut-Command.
Vom Vermuten hab ich aber die Schn... voll.
OK LPT.
Da LPT angegeben, was ist das Problem?
Der Zugriff auf die Schnittstelle oder der Umgang mit den Leitungen, oder das Protokoll?
Typangabe des Druckers könnte gegebenfalls auch hilfreich sein(je nach Problem), oft gibt es zu derartiger Hardware auch 'ne Api(die dann nur benutzt werden muss).
ikaros
Kosten:
Raummiete + Anreise + leihweises Equipment.
Je mehr mitmachen(als Teilnehmer) um so günstiger wirds.
Übrigens:
Golo kann einen guten Kurs liefern(Wenn ihr ihn lasst).
Problem wären tatsächlich nur die Kosten für alle potentiellen Teilnehmer.
An/Abreise vielleicht auch Übernachtung + obengenannter Kosten. Schaut euch aber auch die Kosten für rein kommerzielle Kurse an. Bei genügend Interessenten dürfte das human sein.
@Golo:
Du müsstest aber auch etwas präziser werden, was Kosten betrifft.
ikaros
Wie du möchtest...
Blöd ist nur, das sich derjenige nicht an dieses Forum wendet. Vermutlich ignorieren sogar die meisten die Existenz des Forums.
Könnte daran liegen das sie Probleme lösen müssen und die Publizierung von Fehlern im Framework nicht wirklich interessant ist.
Ja das ist schade, aber real. Was bleibt: googlen bis die Augen bluten, Der Link ist schon toll. Eigentlich sollte MS sowas managen, da gehen schliesslich die meisten Anfragen ein. Tun sie ja mit der Knowledgebase ein bisschen, eine Zusammenfassung wär aber nicht übel.
Ja, allerdings ist die Seite auch nur als Versuch zu betrachten. Es gibt Fehler im Framework die keine Exception auslösen und teilweise unbemerkt bleiben.
Nun es gibt diese Seite, die Seite kann aber keinen Anspruch auf Vollständigkeit haben(hat sie auch nicht).
Ist nicht so das die Seite schlecht ist(eher im Gegenteil, der Versuch ist lobenswert).
Die Idee ist vom Ansatz nicht schlecht. Es wäre toll so eine Seite zu haben.
Leider funktioniert sie nicht:
Begnügen wir uns mit der Knowledgebase und Forumssuche oder Google.
Sowas ist kein Nebenbeijob.
System? - klappt nichtmal für 'ne Abfrage des Sytems...
Für den Rest spielen Rechte eine nicht unbeträchtliche Rolle. nicht jeder User darf und kann einen Service steuern.
Details bitte...
findest du die Smilies auch etwas daneben?
8o
Unsichtbare Konsole?
1:-Entscheidet der Aufruf(Konsole unterdrücken)
2:-oder es ist keine echte Konsolenanwendung(Window ohne Fenster).
[Echtes Dualverhalten gibts schon lange nicht mehr, erst recht nicht unter Linux, von Windows ganz zu schweigen]...
Soviel zu Standardverhalten, möglich ist alles...
Seiteneffekte?
Meinst du die Färbung von Ecken in einem Buch durch scmuddlige Finger?
Oder meinst du Nebenwirkungen(wenden sie sich an Arzt oder Apotheker bzw Entwicklungsstrategen).
Seiteneffekte gibts sonst auch SW-mässig: Explosive Darstellung, virtuelle Rauchentwicklung a.s.o. .
Zum Problem:
Die Lösung besteht wie so oft in Pessimismus oder Optimismus.
Dh:
-Client entert den DS und blockiert(Pessimist)
-Client entert und schreit beim ok(Optimist unter Kontrolle), wie funktionierts? -> Zeitstempel.
oder unsafe, geht etwas schneller(als 800 undokumentierte Male).
Gern, wenn du 19 - 24h warten kannst, jetzt muss ich schlafen...
Noch ne Frage: Gilt der Rote Rahmen nur einem Index?