Laden...

Forenbeiträge von ikaros Ingesamt 1.739 Beiträge

17.10.2007 - 13:24 Uhr

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);
      }
}

17.10.2007 - 13:04 Uhr

Nun, dein Singleton ist nicht threadsafe.
Das lock schützt nur den Aufruf des privaten Ctors.

16.10.2007 - 17:30 Uhr

Lag wohl nur am Smoothing.
Code angehängt.

16.10.2007 - 16:58 Uhr

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).

16.10.2007 - 16:36 Uhr

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?

15.10.2007 - 18:52 Uhr

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);
    }

}

10.10.2007 - 21:27 Uhr

Serialisierung ist gut.
Bei Erweiterungen zur Version 1 kann man "optional" verwenden.

10.10.2007 - 21:11 Uhr

Geht nicht, die IDE's sind da unterschiedlich.

10.10.2007 - 21:05 Uhr

@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.

10.10.2007 - 20:53 Uhr

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.

10.10.2007 - 20:34 Uhr

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.

10.10.2007 - 20:24 Uhr

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.

05.10.2007 - 21:43 Uhr

@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.

05.10.2007 - 19:10 Uhr

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.

05.10.2007 - 19:00 Uhr

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)

05.10.2007 - 18:49 Uhr

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.

05.10.2007 - 18:32 Uhr

Vielleicht hilft das weiter:
SecureString

05.10.2007 - 17:07 Uhr

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

20.09.2007 - 23:54 Uhr

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

20.09.2007 - 23:48 Uhr

Ich dachte der Cast muss sein...

20.09.2007 - 23:45 Uhr

XML oder Plaintext.
Kann man genausogut komprimieren wie Access.
Ohne Access(als Anwendung) im Spiel brauchts auch kein Accessformat.

20.09.2007 - 22:53 Uhr

check aber durchaus mal den Feldtyp bis dahin.

20.09.2007 - 22:48 Uhr

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.

20.09.2007 - 22:39 Uhr

Fonteinstellungen?
geht normalerweise so bei den Fontstyle-Eigenschaften, oder hab ich es falsch verstanden?
Das ist eine übliche Eigenschaft wie Bold etc.

20.09.2007 - 22:32 Uhr

Kleine Frage: Bitarray?

20.09.2007 - 22:23 Uhr

Zusammenhang:
Vermarktung von SW, die Leute benutzen u.a. auch Paypal und Bankeinzug. Informationen zu Bezahlsystemen und deren Verwendung werden dort durchaus ausgetauscht.

20.09.2007 - 22:11 Uhr

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.

19.09.2007 - 22:33 Uhr

http://shareware-forum.de/

vielleicht können die mehr helfen.

19.09.2007 - 22:29 Uhr

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.

19.09.2007 - 22:11 Uhr

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?

19.09.2007 - 21:57 Uhr

@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...)

19.09.2007 - 21:30 Uhr

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.

19.09.2007 - 21:21 Uhr

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...)

14.09.2007 - 23:14 Uhr

weder Java noch Swing.
Ich trinke meist Arabica oder das südamerikanische Zeug.

13.09.2007 - 21:45 Uhr

Tja, und ich dachte ich wär konkret genug. Was genau ist das Problem?

13.09.2007 - 21:43 Uhr

(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

13.09.2007 - 21:30 Uhr

Der Link schon...

13.09.2007 - 21:29 Uhr

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

13.09.2007 - 21:12 Uhr

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.

13.09.2007 - 21:01 Uhr

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).

13.09.2007 - 20:52 Uhr

Die Idee ist vom Ansatz nicht schlecht. Es wäre toll so eine Seite zu haben.
Leider funktioniert sie nicht:

  • Zum einen reicht die Forensoftware dafür nicht aus.
  • Zum anderen reicht der Überblick der User nicht unbedingt aus. Sowas müsste gesondert Administriert werden. Möglich ja, aber wer soll den Experten bezahlen der die Anfragen aufnimmt, prüft und die Liste pflegt? Eine freie Userklagemauer würde wenig helfen.

Begnügen wir uns mit der Knowledgebase und Forumssuche oder Google.

Sowas ist kein Nebenbeijob.

12.09.2007 - 21:59 Uhr

???
🤔

12.09.2007 - 21:55 Uhr

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...

12.09.2007 - 21:46 Uhr

findest du die Smilies auch etwas daneben?
8o

12.09.2007 - 21:39 Uhr

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...

12.09.2007 - 20:52 Uhr

Logfile, was sonst...

12.09.2007 - 20:48 Uhr

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.

12.09.2007 - 20:19 Uhr

oder unsafe, geht etwas schneller(als 800 undokumentierte Male).

11.09.2007 - 23:44 Uhr

Gern, wenn du 19 - 24h warten kannst, jetzt muss ich schlafen...
Noch ne Frage: Gilt der Rote Rahmen nur einem Index?

11.09.2007 - 23:22 Uhr

Bei mir das selbe Ergebnis(Schweiz).