Mh, das habe ich getan, ich verstehe dort nur nichts, ist ne menge wuseliger Shell Code mitbei, den ich nicht wirklich verstehe.
Aber wonach könnte man überhaupt suchen?
Ins Internet will auf einmal der svhost des Programms, aber Live Id oder sonstiges kommt nicht im Code vor, auch nichts mit Network
Ich hab diese Komponenten gefunden und sie ist großartig: http://www.codeproject.com/cs/miscctrl/foldertreeview.asp?msg=1840300&mode=all&userid=3600656#xx1840300xx
Nur hab ich das Problem, dass wenn ich auf Netzwerkumgebung klicke, das Teil sich mit der Microsoft Live ID Seite verbinden will und meine Live ID haben will, erlaube ich es, bekomm ich einen Login für die Id, erlaube ich das nicht, ist die Anwendung hin, ich sehe nur immer das Wiederholen fenster, weil die Verbindung nicht geklappt hat.
woran liegt das ?
Jau, meine Finger sollten nicht an die WinApi 🙂
Und wie kommt man denn im Treeview sauber an die jeweiligen Icons der Objekte?
Hi,
sorry, habs editiert, ich meine den Folderbrowser und dazu gibts nichts.
Ich hab einige Ctrl auf codeproject gefunden, die sind aber alle nicht wirklich gut
Es scheint ja, so, als gibts keinen Weg, den FolderBrowser Dialog nach seinem Willen zu modifizieren ist, was schade ist.
Auch zeigt mir http://www.codeproject.com/cs/miscctrl/ExtendedFolderBrowser.asp nicht wirklich, wie ich den Dialog erweitern kann.
Und an WinApi trau ich mich nicht ran
Nun würd ich wohl das Ding selber Nachbauen, aber gibt es denn eine Komponente, die mir Ordner anzeigen kann? Ich mein, quasi die klickbare Komponente mit den Icons usw , die der FolderBrowser hat, ohne das Teil wirds witzlos sein, es nachzubauen.
Leider find ich ein solches controll nicht
Ich verstehe das richtig, dass XMLDocument ansich keine Linebreaks hat, korrekt?
Ich hol mir den Text mit doc.innerXML, ergo wird da keine Formatierung drin sein, aber ist es mögich diese zu bekommen? Ohne einen TextWriter oder ähnliches?
Abgesehen von dem unterschied der initliaiserung usw, wofür ist out und ref sonst gut? Ich mein alle komplexen Datentypen werden ja by reference übergeben, wofür dann out und ref? Oder sind die Dinger nur noch für bool, byte, int usw zu gebrauchen?
Super!
Danke
Edit: Moment, wieso Writer? Ich hab nur den XMLDoc und hol mir die werte mit xmldoc.innerXML
Wie kann ich denn mit XMLDoc Dateien schreiben, die Linebreaks haben, damit ich die XML Struktur auch in einem Txt Editor lesen kann?
Ja muss ich wohl, wenn ich keinen weg finde, den memorystream zu lesen
Ehm, was davon kann ich dann als String benutzen?
Ich sehe bei dem Memorystream nichts, was mir den Inhalt ausgibt, außer Flush, aber das hat den rückgabetyp void.
Zum XmlDoc, ist nett, aber ich müsste ne Menge umschreiben
Soweit ich das immer gelesen habe, scheinendie Dinger sealed zu sein, ich hab schon eine Lösung für openfiledialog bei codeprojects gefunden, aber nichts für folderdialog
Gibts irgendein Winapi Call oder so, mit dem ich ein Programm als anderer Benutzer mit Passwort ausführe? Wobei ich natürlich Name und Passwort bereits weiß
Ich möchte im Grunde XML Schreiben, nur es nicht sofort ausgeben, ich weiß bereits, wie man mit dem XMLTextWriter XML erzeugt, nur will dieser eine Datei oder Stream.
Was ich aber suche, ist eine Möglichkeit einen XML Writer zu nutzen, und am Ende den Text als Stringvariable zu haben, ohne dass dieser Text schon in eine Datei geschrieben worden ist.
Ich hab n Dialog mit einer unmenge an einstellungen, nun benutze ich aber einen erweiterten dialog und würde ungerne alle eigenschaften zeilenweise per hand kopieren.
Es klappt leider auchnicht dialog.OpenDialog = alterDialog.OpenDialog, weil er schreibgeschützt ist. Gibt es da nen anderen weg?
Oder müsst ich mit collections die eigenschaften durchwühlen?
Es lief ja meist darauf hinaus, dass ich Winapi nutzen muss, um die Dialoge zu modifizieren, ist das auch der fall, wenn man eine checkbox mehr haben will?
Wenn ja, wie würde man denn den dialog modifizieren? Und wie erfährt man, im Programm, was aus der checkbox geworden ist?
Ich hab es ja teilweise lösen können, wenn bedingung nicht zutrifft, überspringe den Code, das funktioniert, erzeugt aber wiederum im EBNF Teil einen Fehler, weil ja nach einer "{" Ereignis erwartet wird, aber keins kommt.
Das mit dem Buch muss ich mit meinem Prof klären
Nicht ganz billig das Ding 🙂
heribvore, Coco hangelt sich entlang eines EBNF Text entlang und kann gleichzeitig C# ausführen.
Im Grunde ist das kein erst prüfen dann parsen, sondern simultanes arbeiten
Ich wurschtel ja noch mit Coco rum und habe massive Probleme mir Bedingungen.
In EBNF ist es kein Problem zu sagen
IfStatement = "if" "(" Bedingung ")" "{" Ausdruck "}"
Bedingung = ...
Ausdruck = ...
Aber wie kann man sowas mit Code logisch hinterlegen?
Man hat einen Parsing Automaten, der parst dir sowas wie
if(a<b){
sag "hallo"
}
Syntaktisch richtig, aber würde man sowas ausführen, würde er prüfen und dann in jedem Fall sag "hallo" ausführen, weil EBNF ja nur die Syntax ist.
Aber wie kann man sowas mit dem Semantischen Inhalt verknüpfen? Da komme ich beim besten Willen nicht dahinter, alles in den Klammern muss ja quasi vom semantischen Teil bearbeitet, oder ignoriert werden.
Ja, aber kann ich das bestehende Projekt in ein solches ändern?
Noch was zur verständnis, wie kann man denn if Konditionen verarbeiten?
Ich mein, ich krieg einen gültigen Parser wohl hin, der auf "==" prüft usw und so fort, aber wenn ich sowas habe wie
ausgabenachricht("blah");
if(2==2){
ausgabenachricht("zweites blah");
}
Dann ist es syntaktisch richtig, aber ich bekomme immer zweimal die ausgabenachricht.
Ich mein ich kann ja mit (. .) Code einschieben, aber wie kann ich damit denn den ausgabefluss steuern?
Dann hab ich bei der Expression irgendwas mit (. if (t.val==la.val) .)
aber was weiter? return?
Argh!
Danke,aber warum muss ich die ersten beiden gruppieren?
Ist das von der Logik nicht gleich?
Oder denkt er aufgrund der fehlenden Klammer
(letter) ODER (digit{letter|digit}) ?
Ich schmier ja mit Coco rum und hab zwar richtige EBNF Syntax, aber irgendwie scheint bei mir ein Fehler in der Logik drin zu sein, den ich nicht lösen kann.
Ich habe folgendes
CHARACTERS
letter = 'A' .. 'Z' + 'a' .. 'z' + '_'.
digit = "0123456789".
TOKENS
ident = letter|digit{letter|digit}.
Das besagt doch, dass ich aus idents beliebig lange Konstrukte aus letter und digit machen kann, oder?
Nun habe ich bei einem anderen Codeteil folgendes
Test1 /*Generate dictionary of strings*/
(. String key, value;.)
= Variable<out key, out value>
.
Variable<out String key, out String value>
= Key<out key>"="Value<out value>
Key<out String key>
= ident (. key=t.val; .)
.
Value<out String value> (. value=la.val; .)
= ident
.
Ich will also eine Zuweisung machen, aber der Compiler meckert bei dem Text, den er in C# Parsen will (von EBNF scheint es zu gehen:
vergleichswert = 20
Was ich meine ist, dass er die Zeile durchaus als Variable erkennt, jedoch als Key v und als Value e nimmt, also bei dem ersten Zeichen schon aufhört, aber wieso? Key ist doch ein ident, ergo 1 bis beliebig viele Zeichen, aber warum wird da das nichts zwischen v und e als "=" erkannt?
Also der Parser denkt, dass zwischen v und e ein Terminalsymbol steht.
Meckern tut der Compiler aber:
-- line 1 col 2: "=" expected
Er will also ein =, aber warum? Es ist doch möglich, das Key länger als ein zeichen ist
Ich finde leider in den Einstellungen nichts darüber, wie ich in einem bereits erstellten Projekt das Framework von dotNet 2.0 auf CF umstellen kann.
Geht das überhaupt so leicht?
Hallo,
mir geht es genauso, ich suche ein Event oder ähnliches, was mir sagt, ob das Lied gerade zu ende gespielt worden ist, oder nicht.
Im Moment sehe ich da nur die Möglichkeit zu vergleichen ob getcurrentPos == getLength ist
Hab ich befürchtet, da kann ich mir das Ding auch gleich selber bauen 🙂
Naja, im Grunde soll das so ein Fortschrittsbalken sein, wie bei Audio Playern, Winamp usw, vielleicht gibts da ja was besseres
Ich brauche die Progressbar mit dem Stil durchgehend, aber er funktioniert so nicht, es bleiben blöcke, ok, hier gesucht, und gelesen, dass es was mit den VisualStyles zutun hat, in der Hilfe steht auch, dass es nur geht, wenn die visualstyles von application nicht aktiviert worden sind.
Gut das habe ich nicht getan, dennoch funktioniert es nicht.
Ich würde ganz gerne den Splitter von einem Splitcontainer mit einem Border versehen, aber ich komme nicht an den Splitter, ich finde keine Accessmethode dafür.
Alterativ wollte ich einen eigenen Splitter einsetzen, aber ich hab nicht begriffen, wie ich im Code das verhältnis der beiden Panels verändern kann.
Im Grunde will ich nur, dass panel 2 kollabiert oder auf seine normale größe gesetzt wird
Ahja, danke, da bin ich schon drüber gestollpert, aber was ich da nicht gefunden habe, ist ob es eine Möglichkeit gibt, so ein Event in ein User Control einzubauen, dass es bei den Ereignissen auftaucht.
Edit: Ach, klappt ja doch, nur taucht es im User Control selbst nicht auf, sondern erst, wenn man die Komponente in eine Form draggt.
Danke
Ich weiß wie man den Events der Objekte handler zuweist nur finde ich entweder den Ansatz nicht oder ich übersehe etwas (🙂), denn ich suche eine Möglichkeit, einem Objekt eigene Events zu geben, vielleicht sowas wie tuWas und die Auslöser Methode onTuWas.
Einfach einen Listener zuweisen kann ich ja nicht, weil dann kommt die Meldung dass Ereignis objekt.tuWas nicht existiert.
Ich hab ein paar generelle Frage zu dem Thema.
Sznenario: Ich habe eine Komponente geschrieben, welche unter anderem ein Label beinhaltet.
Diese Komponente ansich braucht kein Drag&Drop.
Ich füge diese Komponente in eine Form ein und möchte in der Form Drag&Drop benutzen. Die Frage ist, was müsste die Komponente liefern um Drag&Drop zu ermöglichen? Die Komponente wird später fertig kompiliert vorliegen, also man kann sie nicht pausenlos erweitern(soll man auch nicht) nur sollte die Drag&Drop Möglichkeit vorhanden sein.
Wie erreicht man nun diese Optionalität am einfachsten?
Edit, achja, ich kenne das Kapitel im Openbook von Galileo darüber
Ehm, ja das hab ich auch so gelöst, danke 🙂
Wenn beides ident ist, gibts da nur probleme mit 🙂
Ich hab in EBNF eine derartige Produktion
Test1 = Variable Output.
Variable = ident"="ident
.
Output = ident .
Das Ding soll im Grunde nur eine Variable definieren, ident ist vom Typ String usw und sofort.
Die Sprache ist LL 1 und hat einen Token, also das erkannte Zeichen und ein Lookahead, aber wenn ich dies mit dem Ding da oben parse:
horst=algo
Warum ist bei mir in dem Fall algo der Token und lookahead ist horst?
LL1 geht doch von Links nach Rechts, ergo müsste dies doch andersrum sein
Ehm das Problem taucht nicht beim Starten auf, sondern wenn ich meine Komponente in die Form schiebe.
Und es liegt oben an der Zeile
Teste ich, danke.
Aber wie ich oben gepostet habe, liegt das Problem wirklich an dieser einen Zeile
und ich hab nicht die geringste Ahnung, wieso
OMG, was ist mit dieser IDE los?
Ich dragge die Komponente in die Form und bekomme eine Message Box mit "Paramter not valid", keine Exception,nichts beim Kompilieren, keine Message oder Warning, garnichts, nur diese Meldung!
Wie bitte soll man so arbeiten? Was soll das für ne Fehlermeldung sein, da hilft mir die Speicheradresse, wo das passiert ist ja mehr.
Kann mir da einer zu was sagen?
Edit, mit Bildanhang, Komponente gelöscht und wieder reingedragt und das ist der Grund!
Das ist ein Scherz? Hab ich die Mindestanzahl der Elemente in der Liste unterschritten?
Und ich hab auch versucht alles zu ReBuilden, aber siehe Bild.
Ich hab nicht zufällig einen Bug gefunden?
Habe ich gelesen, aber was soll ich da plazieren? Ein unsichtbares label? Das ist ja irgendwie kein eleganter Workaround und aus deinem Link dort.
Bei mir ist testweise Autoscroll=true und ich male in ein Panel, aber es tauchen keine Scrollbalken auf, obwohl dort definitiv mehr gezeichnet wird, als nur sichtbar ist
Ehm ja, Scrollen mit was denn?
Also die Variante mit externem Scrollbalken ist netter, wenn auch mehr Aufwand, aber was Scroll ich denn?
Wenn ich panel1.VerticalScroll.Value nehme, flackert der Scrollbalken im Panel selber drin und der soll ja wenn externer da ist, garnicht flackern
Ich versuche schon seit Wochen Panels zu verstehen, aber entweder bin ich der einzige mit dem Problem, oder die anderen benutzen die Dinger nicht wirklch.
Folgendes Szenario:
Leere Form, darauf schieb ich ein Panel(alle Einstellungen default, es hat keine vertikale Scroll leiste.
Ich will diese aber immer haben, daher gehe ich in die Designer.cs Datei, die also vom Designer erstellt wird und füge dort einfach
this.panel1.VerticalScroll.Visible=true;
Und die Komponente hat in der Form1 aufeinmal den Scrollbalken, soweit so gut, er ist zwar im Moment sinnlos, aber da.
Jetzt zum Problem, ich dragge in das Panel einen Button rein, der zu einem Teil im Panel verschwindet und vertikal gescrollt werden muss.
Der VerticalScroll eintrag verschwindet aus der Designer.cs, schade drum.
Nun packen wir in das Form1_Load einfch nur
panel1.VerticalScroll.Value = 90;
Starten, und siehe da, es geht, der Button und Panel wurden gescrollt, doof ist nur, dass der Scrollbalken weg ist.
Wir fügen den einfach in das Form1_Load rein, da steht jetzt.
panel1.VerticalScroll.Visible = true;
panel1.VerticalScroll.Value = 90;
Starten und sehen, dass garnichts passiert, weder der Scroller ist aufgetaucht, noch wurde gescrollt.
Setze ich den Button aber so in das Panel, dass nicht gescroll wird, so taucht der Scroller auf einmal wieder auf.
Kann mir irgendjemand dieses Verhalten sinnvoll erklären? Es überrascht mich, dass Panels ein solch merkwürdiges Verhalten an den Tag legen, nur leider kann ich auf nichts anderes ausweichen, leider brauch ich aber auch den Scroll permanent präsent.
Und ein kleiner Nachtrag, der zwar sinnlos ist, wenn das da oben nicht geht, aber kann ich das Panel scrollen, wenn keine Elemente drauf sind? Ich hab versucht ClientSize zu vergrößern, aber da tut sich nichts, im Grunde habe ich nur vor, auf das Panel zu malen, es muss aber explizit Scrollbar sein, weil es nicht in den Sichtbereich passt
Ehm, ja ich weiß, was die Probleme beim Serializieren im allgemein sind.
Aber super, das hilft mir im Moment wesendlich weiter.
Danke
Das bedeutet als alternative,[Serializable] rein und von Soap die Methoden überschreiben?
Ja, ich erinnere mich an die Beschreibung, da stand oft Serializable, aber warum will der Designer auf einmal bei der User Control das Ding serialisieren und wenn es normal in einer Form vorkommt nicht?
Oh ha!
Das funktioniert.
Herzlichen Dank!
Aber auf sowas wäre ich ja niemals gekommen.
Was heißt das überhaupt, warum will der Designer mein Objekt serializieren?
Und sind sonst Strings und alles andere, was in eine List kkommt und im Designer dargestellt ist prinzipiell Serializable? Wenn ja, sollte ich das auch probieren, oder gibt das keine Vorteile? Ich hab nämlich nicht vor die Liste oder den Typ in dem Fall zu serialisieren
Ehm, ich komme der Spur langsam näher, verstehe aber nicht, was das Problem ist.
Auftauchen tut die Zeile, wenn ich folgendes habe
private List<MyColorObject> myClrObjects
public List<MyColorObject> clrObjects
{
get { return myClrObjects; }
set { myClrObjects = value; }
}
//Und später irgendwo
clrObjects = new List<MyColorObject>();
Was soll das heißen? Das List nur serialisierbare Objekte nimmt, oder wie darf ich das verstehen?
Ich hab in einem anderen Projekt auch eine List<Lied> wo lied eine eigene Klasse ist, aber sie ist nicht abstract, noch kommt diese Serialize Meldung.
Edit: Sehr verwirrend, lasse ich die Public Methode weg, so kommt diese serialize Meldung nicht, ist die Methode da, so wirft diese, auch ohne genutzt zu werden, diesen serialize error.
Es passiert auch nur in einem Projekt, wo ich ein UserControl zu einer Form1 TestForm hinzufügen will, dann bekomme ich immer diesen Code Generation Error
Danke, guck ich mir an, aber jemand anderes hat mir einen Compiler generator gegeben, der hilft auch.
Und so bald ich das Fehlermeldungsproblmechen gelöst habe (grr) guck ich mir das Terrarium genauer an.
danke
Ehm, ich beiß mir in den Hintern, was soll dass nur.
Siehe Screen, ich habe das MyColorObject umbenannt und die Verweise nicht upgedated, siehe screen halt, Projekt Rebuild, aber er erkennt die Klasse immernoch und meckert immernoch wegen irgendwelchem Serialize zeug...
Eh, edit, na klar, die Klasse hieß noch so, aber kann mir keiner helfen?
Ich hab die mycolorobject nachträglich in ein UserControl Projekt hinzugefügt, was kann denn da diese Fehler erzeugen?
Es liegt wohl kaum an den virtuellen methoden, oder?
Der Fehler wird duch
clrObjects = new List<MyColorObject>();
erzeugt, aber warum? Ich meine, was ist daran so falsch?
An abstract liegts wohl nicht, aber warum kann ich diese klasse nicht initiasieren?
Hatte ich schon, vor allem ist es verwunderlich, da die Assembly schon vorher da war und später erst das MyColor ding
Ja aber das kann nicht sein, ich habe dieses clrObject aus allem gelöscht, dennoch kommt der Fehler.
Es gibt kein Remote, kein garnichts, dass ist im Moment nur eine simple Komponente, kein stück mit serialize oder network.
Und wieso kommt der Fehler, obwohl das Object nicht mehr da ist
Ja aber ich serialisiere doch nicht.
Hab nichts damit am hut, nirgends Serializable Marker oder sowas.
Und keine Ahnung woher das kommt