Laden...

Forenbeiträge von Seikilos Ingesamt 753 Beiträge

10.12.2006 - 17:45 Uhr

Ich hab eine Komponente, an der ich rum baue, nun hab ich eine abstrakte Klasse hinzugefügt, die herbivore hier im Forum im zusammenhang mit beweglichen grafiken gepostet hat, dort gibt es auch eine konkrete implementation der klasse, nur tritt auf einmal, wenn ich meine Komponenten in eine Form dragge, die Meldung da unten auf.
Kann mir das einer erklären? Ich hab in der assembly nichts getan, noch hab ich was mit der serialisierung vorgehabt, aber auf einmal meckert er.
Ich habe nie von dem Teil verlangt, irgendwas richtung serialisierung zu tun oder nicht zu tun

10.12.2006 - 16:55 Uhr

Weiß niemand? Schade

Und wie kann ich einem Panel sagen, dass er jetzt x hoch ist? mit tabPages[0].Height = 300; klappt es nicht wirklich, da ich jetzt keine Komponenten mehr drin habe, sondern nur noch auf die Canvas male

10.12.2006 - 13:32 Uhr

Oh, Heureka, danke, das ersparrt mir sehr viel Arbeit, das Ding 🙂

10.12.2006 - 12:34 Uhr

Hm, Coco sieht nach sehr viel Arbeitsersparrnis aus 😁 Und das Ding kann sogar CSharp Parser generieren, wow 😁

Aber was ich an dem Ding icht ganz verstehe ist, wie kann ich Schnittstellen nutzen?
Also kann ich in der Grammatik sowas wie Methode X aus Namespace A aufrufen?
Und hmpf, ist das Teil CF2 kompatibel
Oder sollte ich das wo anders fragen?

10.12.2006 - 12:05 Uhr

Ahja, super.
Hab bei der suche performcane geschrieben, daher nichts gefunden.

Was du im zweiten Thread sagst ist interessant.
Ich denke nur darüber nach, ob man solche endlichen automaten mit Reg Expr bequemer matchen kann oder nicht.
Ich müsste ja aus einem String quasi Befehl, desseren Paramter, eventuelle ANDs und ORs und dann eventuelle weitere Befehle mir Paramtern holen.
Würde sich bei sowas Reg Expr anbieten?
Bei dem Automaten habe ich natürlich den Vorteil, dass ich sowas wie Befehl() AND AND AND erkenne.
ein Regexpr könnte mir wohl sagen, ob der Ausdruck richtig ist, aber ich kann nicht ganz nachvollziehen, wie er mir in einem Rutsch befehl [[AND|OR] befehl ]* matched (das sollte eine reguläre sprache sein, kein Pattern.
Und wenn ich das hinbekommen, würde er mir nicht sowas wie


group[0]=befehl
group[1]=AND
group[2]=befehl
group[3]=OR
group[4]=befehl

Matchen? Dann müsste ich immernoch irgendwie die Gruppen parsen

10.12.2006 - 11:54 Uhr

Gut, danke
das habe ich auch gedacht. Mit RegExpr wäre das auch ne Menge rumschmiererei glaub ich

10.12.2006 - 11:51 Uhr

Ja, aber die frage ist, was ist schneller, die RegExpr machine anzuwerfen, oder einen String zu iterieren, darum gehts.
Hier könnte jede Microsekunde wichtig sein

10.12.2006 - 11:36 Uhr

Ich brauche sowas wie einen Parser, der mit einen String einlesen und überprüfen soll.
Wenn er so aussieht "klein() AND groß()"
So müsste ich das jetzt parsen, aber was ist am geschicktesten, sollte ich ein Reg Expr mit jeweiligen Substrings versuchen, oder wären iterationen anhand eines "Satzes" sinnvollen?
Also quasi mit einer for schleife den String durch ackern und gucken, ob der nächste char gültig ist oder nicht

09.12.2006 - 20:16 Uhr

Hm, ne, macht er nicht, davon abgesehen das Ushi nicht gematched wird, aber ich krieg als Group 1 {alles} und als Group zwei ; Bein

09.12.2006 - 20:06 Uhr

Hab ich auch gerade entdeckt, aber er matched weiterhin alles, er müsste ja irgendwie das .* auch noch jeweils grupieren, quasi n Gruppen mit (.*) machen.

Aus dem String


Horst
Ushi: {Hand; Arm; Bein}

Versuche ich in einem Schritt zuerst
von Ushi bis \n zu matchen und nach dem ich sicher bin, dass ich dort bin wo ich sein muss, versuche ich als Gruppe
Hand, Arm und Bein zu bekommen, ohne { und ohne ;

09.12.2006 - 19:59 Uhr

Der on the fly Reg Tester ist eine große Hilfe, aber ich hab ein Problem, einen String effizient zu matchen.
Und zwar sieht der String folgendermaßen aus:

Horst
Ushi: {jedes zeichen ohne \n ; jedes zeichen ohne \n    ;jedes zeichen ohne \n }

Kann man in einem Schritt (in zwei wüsste ich es selber) Ushi: {...;...;...;.....} filtern und gleichzeitig die werte in {} zwischen den ; ?

In zwei Stufen würde es gehen, aber in einer tu ich mich schon recht schwer, weil es beliebig viele sein können und sowas wie

.*[^;\n]

ist gierig, weil es mir in einem String ...;...;...;... matched

09.12.2006 - 17:55 Uhr

Ah, danke! 🙂
Aber was davon wäre besser?
Und kann man ohne VS nachgucken, ob Dictionary usw im CF 2.0 drin ist, oder nicht ?

09.12.2006 - 17:51 Uhr

Ich versuche mich in sowas wie einem Interpreter und frage mich gerade, wie man am elegantesten sowas löst wie "set(test,0)"
Ich will quasi der Variable test den Wert 0 zuweisen und später mit "kleiner(test,10)" prüfen können, ob test kleiner 10 ist oder nicht
Und das bei beliebig vielen solcher Variablen, was würde sich da am ehesten Lohnen?
Ich meine hier schon gesehen zu haben, dass man hier einen String mit & in einen Variablen namen pressen kann (kenne ich vom PHP her)
Oder würd sich eine Liste mit Strings eher anbieten? (Wobei ich nicht weiß, ob es ein Kostrukt gibt, das so ähnlich wie ein Array funktioniert und mit array[String] Werte referenzieren kann

09.12.2006 - 13:55 Uhr

Einen Roboter, der ein Verhaltensscript abarbeitet und auf seine Umwelt anhand der Zustände reagiert.
Am ende wird es ein richtiger Roboter werden, aber das Teil muss auf CF2.0 laufen 😠 und erstmal softwareseitig getestet werden.

Ich überblicke das Szenario selber nicht wirklich, ziel ist halt ein Programm, was autonom gemäß einem Script arbeitet zu erstellen, ideal wäre ein Framework, weil man sich nicht ebene eine Scriptsprache ausdenken kann, die sowas ideal abdeckt

09.12.2006 - 11:59 Uhr

Ich google nun schon seit einiger Zeit, aber ich finde keinerlei autonome Agenten für C#
Kennt jemand zufällig welche?

Gemeint sind Bibliotheken oder sowas in der Art, die quasi ein Script abarbeiten und selbständig nach diesem Muster verhslten ausführt.
Ich finde eine Menge Agenten, nur keine Liste von denen, die aber in TCL, java oder sonstiges geschrieben sind.
Bekannt sind Jade, Alice, Able, Akira usw nur helfen die mir nicht wirklich

09.12.2006 - 09:36 Uhr

Hui, das ist doch schonmal etwas.

Liegt der unterschied darin, dass ich bei using nicht alle Komponenten ins Namespace schieben kann?
Es sieht so aus, als müsste ich eventuell im normalen Framework was fürs CF schreiben und wen ich dass dann habe, wohl portieren.
Ist das halbwegs möglich wenn man kein Windows Napespace nutzt?

08.12.2006 - 20:56 Uhr

Ehm sind Reflections in dem Compact drin?

08.12.2006 - 19:45 Uhr

ah dachte ich mir, muss ich mir von der hochschule holen, schade, nutzloses Wochenende 😠

Danke

08.12.2006 - 19:42 Uhr

Ich hab ja VS 05 Express und mir die SDK für das Compact Framework geladen, aber wo kann ich denn ein Projekt mit dem Compact Framework erstellen?

Oder geht das nicht mit der Express?
An der Hochschule haben wir VS 05, dort kann man direkt im Dialog Compact wählen

06.12.2006 - 17:36 Uhr

Herzlichen dank 🙂

06.12.2006 - 08:05 Uhr

Hmpf 🙂
Aus irgendeinem Grund verwirren mic hdie unterstriche bei den Variablen andauernd, da ich parallel Flash programmiere, denke ich ich immer an bereits definierte Attribute bei den _

Danke

05.12.2006 - 22:31 Uhr

Ja aber dann habe ich keinen Border mehr, oder?
Also die Idee ist schon ziemlich gut

05.12.2006 - 21:34 Uhr

Hm, gut, aber kann ich irgendwie die Graphic Objekte mit Farben füllen?
Nur die losen Ränder bringen mir so garnichts

05.12.2006 - 16:32 Uhr

Hm, das wird schwierig, ich versuche eine Farbpalette zu erzeugen und würde sehr sehr ungerne auf die Canvas des Panels farbige Vierecke zeichnen müssen, weil ich das dann mit Drag&Drop nicht mehr gebacken bekomme.
Ich mein ich könnte Pixelfarbe beim Klick auslesen, aber das ist nicht so beqeuem wie Labels mit den jeweiligen Farben, zudem diese eh nen Rand haben usw

05.12.2006 - 15:49 Uhr

Ehm, warum sieht das so aus wie im Anhang?
Wenn ich auf den Button drücke, passiert nur

tabControl1.TabPages[0].VerticalScroll.Visible = true;
            tabControl1.TabPages[0].VerticalScroll.Value = 99;
            tabControl1.TabPages[0].Invalidate();

Sieht ja nicht so schön aus

05.12.2006 - 15:44 Uhr

Das ist ein Scherz.
Ich hab die ganze verdammte Zeit versucht das Teil sichtbar zu machen, aber es ging nicht, in einem neuen Projekt gehts auf einmal und Value auch

Argh!

Danke

Edit: aber wie kriegt man nun mitt, ob der Sichtbare Bereich nn 100 % ist oder ob gescrollt werden muss?

05.12.2006 - 10:24 Uhr

Wenn ich von einem Tab zu einem anderen wechsele, dann bauen sich die elemente dort ziemlich langsam auf (30 labels) kann man den Aufbau irgendwie beschleunigen?
Ich hab schon

SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
           

Das Hilft auch beim scrollen in dem vollen Panel ein wenig, aber dennoch kert man den langsamen Aufbau

04.12.2006 - 19:22 Uhr

Na sowas.
Ich brauche ein Tab mit ständig aktiver Scrollleiste, die enabled=false sein soll, wenn der Content nicht groß genollen ist.
Nur habe ich jetzt hier, in der Faq und im galileo openbook danach gesucht und nichts gefunden, wie man denn nun ein Panel scrollt. Das ist vielleicht seltsam 😠

Also es ist so, das AutoScroll Disabled ist, weil ich die Scrollbar pausenlos brauche(auch wenn diese nicht immer verfügbar sein soll, so soll sie ständig die Position einnehmen, weil sonst ClientSize != ClientSize mit Scrollbar ist

04.12.2006 - 16:52 Uhr

Ehm ja, aber dann muss ich den Client bereich und alles andere per Hand anpassen, was AutoSize da einem abnimmt, oder?
Hab hier gerade keine Möglichkeit das zu testen ,weil IDE nicht hier

04.12.2006 - 12:28 Uhr

Ich hab n Tab bei dem ich problemlos Controls auf die Fläche hinzufüge, der Tab hat autoscroll an.
Ich füge also Komponenten hinzu, bis ClientSize.Width nicht passt und fange eine neue Zeile an, das klappt.
Mein Problem, irgendwann passiert es, dass der vertikale Scroller auftaucht und dadurch einige Controls doch nicht vollständig sichtbar sind. Wie lös ich dass?
Ich kann ja schlecht das Ding neuzeichnen, weil dann ja die Controls wieder wegwären und der Scroller auch.
Gibt es nen Weg den vertikalen Scroller permanten an zu lassen? Das wäre der leichteste Workaround

04.12.2006 - 12:00 Uhr

Ehm danke, im Moment versuche ich Events zu verstehen 🙂
Aber es geht immernoch nicht, mittlerweile glaube ich, dass es an der Tatsache liegt, dass delegate und event in der einen und das hinzufügen des Events in der anderen partial Klasse mache

04.12.2006 - 08:22 Uhr

Ah, verdammt, das Buch hat ja doch was darüber stehen.
Schade dass man dort nicht Suchen kann 😠
Und ich probiere in der Tat. Ich kann Programmieren, alleridngs kenne ich die Eigenart von C# nicht und dann hab ich immer das Problem, das ich weiß, was ich will, aber nicht wie es in C# geht.
Das meiste, was im Buch steht behandelt ja auch generelles Programmieren und hin und wieder taucht was C# artiges auf, was ich auch mal übersehe 🙂
Ich glaub ich sollte mir das Buch laden und ein Tool nutzen, mit welchem ich mehrere Seiten durchsuchen kann 🙂
Danke fürs erste. Ich werd es mir angucken, allerdings ist es verwünderlich, dass diese Warnung daher kommt, dass ich das Event nicht aufrufe, sowas dürfte doch den Designer ncht blockieren, oder?

Und den Code habe ich von einem Projekt vom Codeproject, dort funktioniert es in der Tat fast genauso, nur bei mir eben nicht, weil ich ein leicht anderes Szenario habe und hier kommt dann noch das fehlnde Wissen über diese "Eigenart" 🙂

03.12.2006 - 20:53 Uhr

Ne ich kriege so im Form Designer diese Warnung, das es kei event mit dem Namen gibt, und wie initialisiert man das Ding? Im Testprojekt hab ich das genauso gemacht, und es lief.
Ich sehe nichts i Designer, außer der Fehlermeldung da oben

Ach edit: Du meintest mindestens einmal clrUpdated = new und nciht immer +=, das geht auch nicht

03.12.2006 - 20:36 Uhr

Stimmt, aber es ändert sich nichts

03.12.2006 - 18:35 Uhr

In einem Test-Projekt funktioniert es, aber in dem eigentlichen Projekt nicht, es kommt ein Warning und die Designer sicht wird nicht angezeigt.
Ganz simpel:

namespace Control_ColorImplement
{
    public partial class ColorImplement : UserControl
    {

        public event EventHandler clrUpdated;
        
        public delegate void EventHandler(object sender, EventArgs e);

        private void txtHexColorUpdated(object sender, System.EventArgs e)
        {
            MessageBox.Show("Test");
        }
     }
}


namespace Control_ColorImplement
{
    partial class ColorImplement
    {

        private void InitializeComponent()
        {
         //Textfeld
         this.txtHexColor.Font = new System.Drawing.Font("Arial", 8F);
         //Im Grunde sollte das auch ein txtHexColor Event sein, also txtHexColor soll
         // das Event haben   
         this.clrUpdated += new EventHandler(txtHexColorUpdated);
        }
    }
}

Ehm, es lief im Testprojekt soweit, dass es nicht in der anderen Partial Class drin ist, ich muss ein Problem mit dem Namespace haben, aber ich finde die Lösung nicht.

Warnung:
Warning 1 The type 'System.Windows.Forms.UserControl' has no event named 'clrUpdated'.

Im Grunde wollte ich dss

03.12.2006 - 16:36 Uhr

Ehm ja, das kenne ich, aber kann man da nicht jeweils nur ein Event für eine Klasse registrieren?
Wird dann nicht nur eine Methode aufgerufen?
Wenn ich bei den 3 Labels und einem Button den Text ändern will, dann hab ich ein Event, das beim Auslösen eine Methode aufrufen, welche dann quasi für alle Elemente den Namen setzt, oder?
Ich hab den EventHandler so verstanden, dass dort eine Methode ausgelöst wird; wenn ich bei z.b. 3 Buttons das Event registriert habe, so kann jeder der buttons diese eine Methode auslösen wenn er ein Event erzeugt, aber die anderen Buttons haben davon dann so nichts, oder?

03.12.2006 - 16:20 Uhr

Ich wollte mir gerade einen Observer bastellt, scheitere aber an mangelndem Wissen
Und zwar würd ich gerne wissen, wie ich eine Liste von Objekten verwalten kann, die alle von verschiedenen Typen sein können, jedoch alle die Methode notify implementiert haben müssen.

Also sagen wir ich würd gerne 3 Labels und einen Button an der Observer klasse registrieren.


observer.Add(label1);
observer.Add(label2);
observer.Add(label3);
observer.Add(button1);

observer führt intern irgend eine liste vom Typ object ok, und hat eine Methode notifyAll, aber wie kann jetzt der observer, der die liste iteriert bei allen notify aufrufen?

03.12.2006 - 15:25 Uhr

Ach, ich hohlmeise, das ist es, danke 🙂
In der Help hab immer nur das this.object gesehen und nicht nach unten gescrollt um zu sehen, dass das Add unten ist.

03.12.2006 - 15:20 Uhr

Hi, das meinte ich garnicht
Also genau gesagt krieg ich ne List mit Buttons hin, beispiel

List<Label> ll = new List<Label>();
            Label x = new Label();
            x.Name = "lbl1";
            x.Text = "horst";
            ll.Add(x);
            x = new Label();
            x.Name = "lbl2";
            x.Text ="zweiter horst";
            ll.Add(x);

Nur wie plaziere ich diese jetzt? im Designer wird ja etwas mit this.compname = new blah gesetzt, ich habe aber compname nun nicht und es soll ja eh generisch sein.
Mir fehlt sowas wie this.attachObject(object) oder ähnliches.

(Edit ich guck mir die Faq nochmal an)
(Edit2: Nein dort finde ich nichts über das zur Laufzeit hinzufügen)

03.12.2006 - 15:14 Uhr

Hm, ich frage mich gerade, ob es Möglich ist, irgendwie 10 Labels oder sonst was mit selber definierten Namen generisch zu erzeugen.
Mein Problem ist ja, dass man diese referenzieren muss und ich sowas wie lbl1,lbl2 bis lbl10 in einer forschleife erzeugen möchte und alle labels dann irgendwohin plazieren will. Wie genau erreicht man sowas?

03.12.2006 - 13:19 Uhr

Ich meine mich zu erinnern, dass VS Express Hilfslinien hatte, die man selber positionieren konnte, leider find ich in der help nur die snaplines die automatisch erscheinen, wenn man was an anderen Elementen ausrichten will und ich find beileibe die normalen Hilfslinien für den Designer nicht 😠

03.12.2006 - 12:06 Uhr

Achso, dann fand ich die aussage irreführend, dass es in der Toolbox auftaucht.

Danke an alle und so gehts 🙂

03.12.2006 - 11:41 Uhr

Hallo,
verweis ist drin, ich sehe meine Komponente, aber egal wie oft ich das Projekt rebuilde, in der Toolbox taucht der Adobe Color Picker nicht auf

01.12.2006 - 21:09 Uhr

War mir klar, ich würde ja eh nichts sehen, wenn die Komponenten noch nicht gezeichnet worden ist, ne Klasse von Button abzuleiten bekomme ich noch hin, aber wie wird daraus eine Komponente, die ich nutzen kann, muss ich daraus eine Library bauen und es als DLL einbinden? Ich mein sowas wie eigene Stile würden mir wie User Controls im jeweiligen Projekt vollkommen ausreichen, aber wenn diese nicht von User Controls erben, dann hab ich auch keine wirkliche Komponente die ich so nutze?

Danke

01.12.2006 - 19:55 Uhr

Aber wie löst man das am besten im Designer? Muss ich mir eine eigene User Control schreiben? Oder muss ich nichtmal erben und kann direkt die Onpaints ändern?

01.12.2006 - 19:37 Uhr

Hallo,
ich hab mir den Artikel angesehen [Artikel] Custom Window Border für Form's
Dort wird beschrieben, wie man die NonClient Area selber erstellt, nur steht dort, das man auch Buttons so verändern kann, aber dragt man Buttons dort rein, behalten die den Skin.
Nun meine Frage, gibt es eine leichtere Möglichkeit, ohne in die WinApi einzugreifen, um Buttons und Formen zu skinnen ohne alle Eigernschaften und Methoden derer selber bauen zu müssen.
Also quasi das deaktivieren von Look and Feel von Windows selbst.

Vielleicht sowas wie ein Ableiten vom Button und das überschreiben der Paint Methode?

01.12.2006 - 15:09 Uhr

Komisch,ich hab jetzt ne DLL und diese ist als Resource im Projekt, aber bei der ToolBox taucht nichts auf

01.12.2006 - 12:03 Uhr

Soweit bin ich ja, nur ist die UserControl Komponenten im jeweiligen Projekt in der Toolbox, ich hätte es gerne generell

01.12.2006 - 11:32 Uhr

Also muss ich schon ein solches Projekt erstellen und kann ich da nicht einfach ein NEw User Control Item da rein schieben?

01.12.2006 - 11:26 Uhr

Ehm, ok, aber wo finde ich ein "Composite Control" welches ich im Bezüg zu der Library Brauche um Composite Componentes zu erzeugen.

Im Grunde will ich ein User Controll erstellen, welches für alle Projekte in der Toolbox auftaucht und nicht nur in dem Projekt, in dem ich das UserControll habe