Laden...

Profil von fadass

myCSharp.de - Member Mitglied seit

Alle Beiträge

10.11.2008 - 13:54 Uhr

Vlt sollte man auch noch den freien Speicher überprüfen... gerade bei 1GB Datein macht das wenig spaß.

10.11.2008 - 13:47 Uhr

dafür müsste ich die Doku selber mal durchsuchen^^ Such einfach mal nach so standard Wörtern wie Decompress (oder DecompressAsync oä)

10.11.2008 - 13:04 Uhr

Brötchen! 😁

Sitze hier bei einer Firma wo es sich um Messtechnik handelt. Sitzen z.Z. an einem 89 Projekte-Großer Solution und macht Spaß.

10.11.2008 - 12:49 Uhr

Wie wärs mit der SharpZipLib ?!(einfach mal nach googeln)

Das funktioniert aber irgendwie nur indirekt, da Klassen, die ISerializable implementieren nicht zwingend auch das SerializableAttribute haben müssen.

wenn der Programmierer versucht, ein typen zu serialisieren ohne den Typen mit Serializable zu flaggen, ist das dem seine schuld. von daher würd ich mich um solch sachen eher keine gedanken machen.

31.10.2008 - 11:39 Uhr

nicht böse sein, aber diese verfahren gibt es schon seit x-Jahrzehnten und wurde auch schon tausendmal überdacht, sodass Xml Serialisierung entstand...

31.10.2008 - 11:15 Uhr

wir wurden von unserem info lehrer gezwungen, da er sonen komisches Siegel haben will 😜
aber auch so hätte ich da glaub ich mitgemacht, da das mit dem stipendium mich ein bisschen reizt 😁

31.10.2008 - 10:39 Uhr

ich würde lieber probieren die vb funktion zu ändern, sodass sie ein fenster-handle benutzt anstatt das fenster selber

31.10.2008 - 09:44 Uhr

Hab mal vor 1-2 Monaten was übers Shareware Starter Kit gelesen... Vlt ist das ja das, was du suchst. Ich selber habe damit noch nie gearbeitet bzw. getestet, kann daher nicht viel darüber sagen.

28.10.2008 - 13:32 Uhr

oh... lesen is cool :S

28.10.2008 - 13:19 Uhr

jo.. kein wunder.. wie soll denn auch sonst ein Instanz von der Baseclass erstellt werden?!^^ Entweder schreibst du hinter den parameterlosen Konstruktor "base("iwas")" oder packst einen parameterlosen konstruktor in die baseclass

28.10.2008 - 13:01 Uhr

Weil der Designer automatisch "" bzw 0 als parameter für konstruktoren benutzt, solange diese Typen Primitiv sind (oder halt strings).

Schreib dir noch ein Konstruktor in deine Klasse, nur halt ohne parameter

21.10.2008 - 10:23 Uhr

Ich hab atm gar keine Ahnung ob ich das mit dem FrameBuffer so richtig verstanden hab, aber gehts da nur um das definieren eines Pixel in einem HDC ?

Wenn ja, dann kannst du dir ja mal SetPixel() (Die native version natürlich) angucken..

also so langsam könnte man mal zum Punkt 1.1.1 in [Hinweis] Wie poste ich richtig? verweisen, oder ?!

16.10.2008 - 13:45 Uhr

und ich könnte wetten das ich letzten in NASM "mov ah, FFh" schreiben musste.. also ohne 0x... (ja... hat nix mit c# zu tun... aber is scheinbar auch net so global mit dem 0x)

is iwas gegen "SetWindowsHookEx()"?? oder warum wurde es noch nicht vorgeschlagen??

15.10.2008 - 08:55 Uhr

Creating a Windows Service in C# hatte mir damals sehr geholfen... ist gut erklärt

kannst du ein bissl code zeigen?!

07.10.2008 - 07:22 Uhr

soweit ich weiss geht das mit mono einfach garnicht

Kann da nicht die FileInfo-Klasse weiterhelfen?!? ansonsten sollte WinApi weiterhelfen (es sei denn du willst das nicht benutzen)

06.10.2008 - 12:48 Uhr

geile sache 😁 bleibt ja nur noch die Sache mit MonoDevelop + Debugger :S (außer diesem consolen gesoggs ^^)

versuch mal die anonyme Methode auf ein MultiCastDelegate (oda wars MethodInvoker ?!) umzucasten.

und solche fragen wie diese mit dem automatischen ausfüllen von Formularen ist nicht gerade gerne gesehen, da man sehr schnell auf Spambots interpretieren kann... und wer will das schon 😜

23.09.2008 - 12:20 Uhr

ich glaube die meinen

 public void ziegen(test message)
        {
            foreach (int s in testarray)
            {
                Console.WriteLine(s);
            }
        }

... änder das mal in

 public void ziegen(test message)
        {
            foreach (int s in testarray)
            {
                message(s);
            }
        }
23.09.2008 - 10:58 Uhr

die serienbrieffelder in outlook oder was?!? Oder die felder in der Datanbank!?

ich sehe das problem immernoch nicht... sollte von der abfrage der Datenbank bis zum füllen der Felder eigentlich 0 problem sein

23.09.2008 - 10:13 Uhr

wo ist jetzt genau das problem?!

BindingFlags sind keine Filter.... eher das gegenteil davon.. sie binden die definierten Dinge mit in die Suche ein.

edit: hab das da oben ja immerhin getestet... bei mir gings... egal ob private oder public

vlt so:

MethodInfo[] infos = this.GetType().GetMethods(
	BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic
);
05.09.2008 - 12:13 Uhr

Mit COM objekten sollte das funtionieren (habs noch nie ausprobiert, aber soweit ich das verstanden habe was ich gelesen habe sollte es gehen).. Für VB6 müssen die COM-Objekte ein besonderes Interface implementieren... ich glaube das hieß IDispatch... bin mir aber nicht ganz sicher.

http://forums.msdn.microsoft.com/en-US/csharpgeneral/thread/f88e3e3b-29b1-4b70-abd3-6b78992fda70/

ah.... kannst ja 2 properties benutzen... bsp StartTag und EndTag
edit: musst dann halt eine abgeleitete klasse nehmen

ganz verrückte idee... erstell dir eine neue Klasse die du dann von dem ToolStripButton ableitest (Musst nun erstmal deine Button auf dem ToolStrip umstellen). Dann fügst du zu deiner neuen Klasse noch ein Interface hinzu (z.b. erstellst du dir einfach ein neues Interface wie "ITagButton", dort am besten eine Methode mit angeben die ein Delegate als parameter hat (der wird nachher aufgerufen um den Tag zu verabeiten.))

nun initialisierst du jeden Button mit deinem Delegate etc..
nun der letzte Teil:

private void TagsEinfuegen(object sender, EventArgs e) // ich denk mal das is die Methods die aufgerufen wird sobald ein button gedrückt wurde.
{
   ITagButton button = sender as ITagButton;
   if(button == null) {
     return;
   }
   button.VerarbeiteDenTag(); // Halt die methode die du im ITagButton definiert hast.
}

und schon sieht alles sauber aus, du brauchst kein mapping, und erst recht kein if´s (außer das eine 😛)

02.09.2008 - 15:26 Uhr

...Mein Dreieck zeigt er mir immernoch nicht an =). ...

moment mal... jetzt wird es garnicht mehr angezeigt?? oder immernoch falsch rum?

edit: probiers ma mit lookdirection 0, 0, -1

02.09.2008 - 15:09 Uhr

<PerspectiveCamera Position="2.5, 2.5, 10" LookDirection="2.5, 2.5, -10" />
zu
<PerspectiveCamera Position="0, 0, 10" LookDirection="0, 0, 0 (oder 1)" />

02.09.2008 - 14:43 Uhr

hups.. sorry... wörter vertauscht.. nicht unter sondern hinter dem dreieck.
Hoffentlich erklät das bild bei dir alles

02.09.2008 - 14:13 Uhr

liegt das vlt daran das du bei Position=“0,0,-10“ bist und in RICHTUNG 0,0,1 guckst??? das heisst: du bist mit der kamera UNTER 0 (du bist unter dem dreieck). Änder die -10 mal in 10... sollte dann eigentlich passen

02.09.2008 - 12:40 Uhr

auch wenn das Thema sich schon erledigt ist... da gibts doch noch die SetPixel()-methode aus der GDI32-lib... damit ist das ultra easy... einfach in der doku nach SetPixel suchen

27.08.2008 - 20:34 Uhr

jo danke david.... scheinbar war echt etwas an der konvertierung bei meiner Methode falsch.. ty

26.08.2008 - 23:57 Uhr

hiho..
war gerade dabei mir nen Colorpicker zu basteln.. habs auch soweit hinbekommen, nur will entweder a) der PathGradientBrush nich so wie er soll (glaub ich eher weniger) oder b) ist meine Methode Hsv-Farben in Rgb-Farben zu konvertieren falsch...

(in der HsvColor class nimm ich H (0-360), S(0-1f), V(0-1f))

seht ihr was? (methode zum konvertieren):


            float h = (color.Hue / 60);
			float f = (color.Hue / 60) - h;

			float p = color.Value * (1 - color.Saturation);
			float q = color.Value * (1 - color.Saturation * f);
			float t = color.Value * (1 - color.Saturation * (1 - f));

			h %= 6;
			switch ((int)h) {
				case 0: {
					byte r = (byte)(color.Value * 255);
					byte g = (byte)(t * 255);
					byte b = (byte)(p * 255);
					return Color.FromArgb(r, g, b);
				}
				case 1: {
					byte r = (byte)(q * 255);
					byte g = (byte)(color.Value * 255);
					byte b = (byte)(p * 255);
					return Color.FromArgb(r, g, b);
				}
				case 2: {
					byte r = (byte)(p * 255);
					byte g = (byte)(color.Value * 255);
					byte b = (byte)(t * 255);
					return Color.FromArgb(r, g, b);
				}
				case 3: {
					byte r = (byte)(p * 255);
					byte g = (byte)(q * 255);
					byte b = (byte)(color.Value * 255);
					return Color.FromArgb(r, g, b);
				}
				case 4: {
					byte r = (byte)(t * 255);
					byte g = (byte)(p * 255);
					byte b = (byte)(color.Value * 255);
					return Color.FromArgb(r, g, b);
				}
				case 5: {
					byte r = (byte)(color.Value * 255);
					byte g = (byte)(p * 255);
					byte b = (byte)(q * 255);
					return Color.FromArgb(r, g, b);
				}
			}

			return Color.Empty;

und dort wo ich den brush anlege... :


List<PointF> points = new List<PointF>();
				List<byte> pathPointType = new List<byte>();
				List<Color> colors = new List<Color>();

				int angle = 0;
				int step = 1;
				float r = bounds.Width / 2 - 1;

				PointF middle = new PointF(
					this.bounds.Left + this.bounds.Width / 2,
					this.bounds.Top + this.bounds.Height / 2
				);

				while (angle < 360) {
					PointF pos = middle;
					pos.X += (float)(r * Math.Sin(angle * (Math.PI / 180)));
					pos.Y -= (float)(r * Math.Cos(angle * (Math.PI / 180)));
					points.Add(pos);
					pathPointType.Add((byte)PathPointType.Line);

					colors.Add(HsvColor.FromHsv(angle, 1, 1).ToRgb());

					angle += step;
				}

				wheelPath = new GraphicsPath(points.ToArray(), pathPointType.ToArray());
				wheelPath.CloseAllFigures();

				pathBrush = new PathGradientBrush(wheelPath);
				pathBrush.CenterColor = Color.White;
				pathBrush.CenterPoint = middle;
				pathBrush.SurroundColors = colors.ToArray();

hatte schonmal ein bissl durch forum gesucht, doch kamen bei den Lösungen die in anderen threads vorgeschlagen worden zu den gleichen ergebnissen.

aussehen tuts so.. (siehe anhang)

xor aufn string haun Oo machs doch direkt auf das byte-array.

also mitm binaryreader (oda?):


for(int i = 0; i < ByteArrayLen; i++) {
  ByteArray[i] = ByteArray[i] ^ 0x8d;
}

20.08.2008 - 11:02 Uhr

ja.. aber ich weiss net was besser ist... in der registry nach gucken? schlechte idee.. nächste windoof version wird kein registry mehr haben und auf *nix machts auch nur probleme.... nach dll suchen? aha... wie lange soll man so warten?

20.08.2008 - 10:15 Uhr

ich weiss zwar nicht ob es funktioniert, aber lass es doch einfach mal abspielen und wenn exception (oder ähnliches) kommt wird wohl was schief laufen^^

draw path

Beitrag
18.08.2008 - 14:51 Uhr

OnPropertyChanged wird wohl nie irgendwo ausgelöst, oder??

Probiers doch ma direkt mit der Form zu zeichnen... also OnPaint überschreiben

15.08.2008 - 11:39 Uhr

xD cool... hab gerade auch mal ein bissl rumgetrixt..

/// <summary>Überprüft auf welcher Seite der Linie der angegebene Punkt liegt.</summary>
/// <param name="start">Startpunkt der Linie.</param>
/// <param name="end">Endpunkt der Linie.</param>
/// <param name="pos">Position des punktes der überprüft werden soll.</param>
/// <returns>Ein Wert unter 0 = "links" von der Linie; Über 0 "Rechts von der Linie.</returns>
private float orientation(PointF start, PointF end, PointF pos) {
	float determinant =
		(end.X - start.X) * (pos.Y - start.Y) -
		(pos.X - start.X) * (end.Y - start.Y);

	if (determinant < 0) {
		return -1;
	}
	return 1;
}

//benutzt wird es so...
bool isInside =
	(orientation(a, b, pos) == orientation(a, b, c)) &&
	(orientation(b, c, pos) == orientation(b, c, a)) &&
	(orientation(c, a, pos) == orientation(c, a, b));

is aber total das gleiche.. funzt wie ne 1

15.08.2008 - 11:13 Uhr

bääm... ich dachte es soll performant sein :S

Edit: bei vektoren gibt es eigentlich nich soviel zu verstehen (abgesehen von den berechnungen)... meistens wird es auch einem klar wenn man bissl oldschool denkt, sich ein blatt und stift in die hand nimmt, und anfängt zu zeichnen... (Nen "Vektor" hattest du bestimmt schon einmal irgendwo in der schule benutzt... z.b. lineare funktionen)

hatte das gleiche problem... bei mir war das problem gelöst in dem ich das sp1 vom .net Framework einzeln runtergeladen & installiert habe... scheinbar hat der installer von dem package ne makke

12.08.2008 - 12:32 Uhr

oh man... ich fall da ja vollkommen aus den Rahmen.... :

if(true) {
     //Anweisung..
}

//bei switches
switch(iwas) {
     case X: {
          //Anweisung...
         break;
     }
}

zusätslich habe ich mir es angewöhnt komplizierte code-blöcke in eigene Scopes zu verlagern... durch das einrücken kann ich das viel besser lesen.. (meine meinung^^)

06.08.2008 - 13:26 Uhr

kann talla einfach nur recht geben.. musste das selber auch schon öfters erleben wie man "ausgelacht" wird, so dumm zu sein um Vista zu benutzen... Hallo!? Die meisten haben Vista mal auf youtube gesehen, danach in die PC-Bild geguckt und alles war gegessen. Aber ich glaube das liegt einfach daran das die meisten einfach alles mit "Ja... bitte installieren" bestätigen und sich dann wundern warum ihr High-end PC einfach nur grottig ist.
Wie schon talla gesagt hat, braucht C/C++ auch ihre Runtimes... und das für jede neue Version... da Verstehe ich nicht wie man bei sowas nicht rummotzt aber bei .Net (k. die .Net CLR ist wohl um einiges größer hat aber dementsprechend VIEL mehr funktionen)

du hast den style ControlStyles.ResizeRedraw doch schon auf true gesetzt... dann brauchst du dich nicht nocheinmal an einem event anmelden wo du nach einem resize neuzeichnest... btw solle man ControlStyles.UserPaint vermeiden da es nur für sehr fortgeschrittene leute gilt. (Überschreibst du die OnPaint-methode?? wenn ja, lass das base.OnPaint(e) da drinne stehen)

das flickern wird dadurch enstehen das du 200 mal irgendwelche bilder zeichnen lässt.

zu 4. Invalidate(); Update();