Laden...
F
feadur myCSharp.de - Member
Entwickler Bonn Dabei seit 11.03.2005 722 Beiträge
Benutzerbeschreibung

Forenbeiträge von feadur Ingesamt 722 Beiträge

27.05.2007 - 17:01 Uhr

also wenn das nicht gestellt ist dann ist es ja schon echt traurig! =)

27.05.2007 - 14:27 Uhr

Hallo,

also ein Programm in Zeilen zu messen ist immer problematisch. Theoretisch kann man ja jedes Programm in einer Zeile schreiben... =)

Es kommt vor allem darauf an was dein Programm leistet und was im Vergleich dazu ähnliche Programme leisten können.

Was willst du denn für ein Programm verkaufen?

27.05.2007 - 13:18 Uhr

XAML ist, sehr vereinfacht ausgedrückt das, was in windows forms der code für die InitializeComponent() Methode ist, nur in deklarativer Form. Wenn man WPF ohne XAML betreibt, produziert man solchen Code selbst. Das ist zwar auf Dauer etwas nervenaufreibend, geht aber natürlich ohne Probleme.

27.05.2007 - 13:03 Uhr

Hallo Lothi,

grundsätzlich kannst du ein WPF Window sowie alle anderen Objekte per C# Code erzeugen.

Willst du auch XAML nutzen, reicht csc alleine nicht mehr aus. Dafür müsstest du MSBuild nehmen, was allerdings nur mit Solution und VS Projektdateien arbeitet.

27.05.2007 - 12:25 Uhr

Original von Robertico
Wie der Editor die encoding herausholt, weis ich noch nicht. Erholt aber aus den von mir in NotePad erstellten die encoding Windows-1252 heraus und die bleibt dann auch bestehen.

Der StreamReader erkennt die Byte Order Marks automatisch, wenn du beim Aufruf des Konstruktors das detectEncodingFromByteOrderMarks Flag setzt.
Entsprechend schreibt der StreamWriter die BOMs des gesetzten Encodings (die es nur für Unicode Codierungen gibt.)

Weitere Infos zu BOMs gibts z.b. hier:
http://www.websina.com/bugzero/kb/unicode-bom.html

27.05.2007 - 03:34 Uhr

hallo hertel.k,

List<ListBox> ist vermutlich das, was du suchst.

27.05.2007 - 02:39 Uhr

der herr der ringe ist natürlich unter meine favoriten zu zählen, auch wenn ich ja immer noch der meinung bin, dass tolkien nur durch das geschriebene wort richtig rüberkommt.
andere meisterwerke:

ghost dog, night on earth, lost highway, dead man, from dusk till down, pulp fiction usw. usf.

26.05.2007 - 01:51 Uhr

Der Fehlermeldung nach zu urteilen wohl die mscorlib, bzw. das .net framework.

25.05.2007 - 16:31 Uhr

hallo zusammen,

Cider ist noch immer im CTP Status. In der Release Version werden die genannten Dinge auch wieder funktionieren, bis dahin kann ich nur jedem raten mit Expression Blend zu arbeiten.

25.05.2007 - 16:27 Uhr

hallo zusammen,

ich denke auch, dass es am Programmsymbol liegt. Das ist jedenfalls der einzige Unterschied zwischen einem (minimalen) Projekt und einer einzelnen Quelldatei (Program.cs).
Da VS über msbuild ja auch csc.exe benutzt, wird auf jeden Fall der gleiche Programmcode erzeugt.
Wegen 11kb würde ich aber auch gar nicht erst weiter darüber nachdenken =)

25.05.2007 - 16:12 Uhr

hast du im VS vielleicht die Debug Version erzeugt? Die enthält neben dem Programmcode auch diverse Debug Informationen.

25.05.2007 - 10:42 Uhr

Hallo JackSparrow,

ListViewItem.SubItems

25.05.2007 - 00:54 Uhr

hallo Kovu,

ich würde ehr die Unterschiede/Paralallelen zwischen c# und java ansprechen und vor allem einen allgemeinen überblick über die architektur des .net frameworks geben.

24.05.2007 - 23:24 Uhr

Hallo Kuehner,

Original von Kuehner

  
Type TypeToR = assembly.GetType(pluginType.ToString());  
  

ist überflüssig.

Statt dessen kannst du in diesem code direkt


deinObjekt = Activator.CreateInstance(pluginType);

sagen.

24.05.2007 - 18:45 Uhr

Hallo Maruu,

Assembly.Load / Assembly.LoadFrom

23.05.2007 - 14:43 Uhr

hallo zusammen,

wenn man für events die add/remove accessors implementiert, kann das event nicht mehr über seinen namen gefeuert werden. eine möglichkeit wäre, den delegaten (z.b. in einer liste zu speichern) und diesen dann aufzurufen.
hier ein sehr sinnentleertes beispiel: =)


class Foo
    {
        List<EventHandler> _eventStorage; 

        public Foo()
        {
            _eventStorage = new List<EventHandler>(); 
        }


        public event EventHandler MyEvent
        {
            add
            {
                _eventStorage.Add(value);                

            }
            remove
            {
                _eventStorage.Remove(value);

            }
        }

        public void Boo()
        {
            FireEvents(); 
        }

        void FireEvents() 
        {
            foreach (EventHandler del in _eventStorage)
            {
                del.Invoke(this, null);
            }
        }
            
    }

siehe auch
http://msdn.microsoft.com/msdnmag/issues/06/11/NETMatters/default.aspx?loc=de

23.05.2007 - 13:23 Uhr

Hallo onlinegurke,

damit läufst du über alle Properties... außerdem fehlt ein () nach GetProperties 😉

ungefähr so könnte es gehen:


List<Color> GetSystemColors()
        {
            Type type = typeof(SystemColors);
            PropertyInfo[] properties = type.GetProperties();
            List<Color> list = new List<Color>();

            foreach (PropertyInfo property in properties)
            {
                if (typeof(Color).IsAssignableFrom(property.PropertyType))
                {
                    list.Add((Color)property.GetValue(null, null));
                }
            }

            return list;
        }

23.05.2007 - 13:16 Uhr

hallo punkdevil,

SystemColors ist eine abstrakte Klasse. foreach kannst du nur für Objekte verwenden, die IEnumerable implementieren.
Du kannst jedoch Reflection verwenden um an alle Farben ranzukommen.

23.05.2007 - 13:10 Uhr

hallo zusammen,

naja, "einbinden" ist da wohl nicht gerade passend. coco/R generiert Parser aus einer attributierten Grammatik. Ohne weiteres zutun sind diese Parser "nur" Akzeptoren und geben per default keinen Syntaxbaum zurück.

21.05.2007 - 18:22 Uhr

hallo herbivore,

ich habe es jetzt so verstanden, dass er statt ListBoxItem Objekten eigene Objekte in die ListBox einfügt, was ja in WPF möglich ist.
Also in der Form:


<ListBox>
<MeinControl>Item 1</MeinControl>
<MeinControl>Item 2</MeinControl>
</ListBox>

Wenn ListBoxItem Objekte verwendet werden sehe ich kein Problem fürs fokussieren, da diese über FrameworkElement von UIElement erben.

21.05.2007 - 18:07 Uhr

hallo eclere,

Den Focus auf das SelectedItem setzen geht auch nicht, da ListBoxItem in meinem Fall eine eigene Klasse ist und nicht ein FrameworkElement.

Wovon erbt deine Klasse denn? Um fokussieren zu können musst du zumindest von UIElement erben.

Weiterhin musst du in dieser Klasse UIElement.IsFocusable auf true setzten.
Dann wie gewohnt per UIElement.Focus() den Focus setzen.

20.05.2007 - 19:29 Uhr

Hallo Qwald,

mit weniger Aufwand wird es nicht gehen. Um Speicherplatz zu sparen (wobei das bei einem Array von 100 Bytes natürlich nicht nötig ist), könntest du auch jedes Element des Arrays eine Position nach oben verschieben und dann per Array.Resize die größe des Arrays um 1 verringern.

12.05.2007 - 20:25 Uhr

Original von Ayke
jop die bekomme ich nicht xD^^ hast du dir SilverLight auch runtergeladen ?

jupp. =)

12.05.2007 - 18:03 Uhr

dann haben wir es hier mit einem teminologischen konflikt zutun. unter wpf gibt es keine "forms" mehr, da es keine Basisklasse "Form" für Dialoge mehr gibt, sondern eine "Window" klasse.

@talla: du hast natürlich recht, Blend ist ein Designer für WPF. Ich hatte angenommen, Blend 2 wäre speziell für Silverlight ausgelegt.

Dummerweise bekomme ich Exceptions, wenn ich versuche eine Silverlight Anwendung mit Blend 2 zu erstellen, obwohl ich alles nötige installiert habe.
Habt ihr da bessere Erfahrungen gemacht?

Gruß

12.05.2007 - 03:18 Uhr

Original von Ayke
Ich möchte die Windows Form selber zeichnen. Leider habe ich bis jetzt nur wieder die

hallo,

Expression Blend 2 ist ein Designer für Silverlight (vormals WPF/E) Applikationen. Windows Forms Anwendung kannst du damit nicht erstellen.

11.05.2007 - 15:08 Uhr

hallo,

du musst schon auf den jeweiligen typ des attributs casten um die daten ausgeben zu können.


            Assembly assy1 = Assembly.GetCallingAssembly();

            object[] o = assy1.GetCustomAttributes(false);

            foreach (Attribute att in o)
            {
                if (att is AssemblyDescriptionAttribute)
                {
                    Console.WriteLine(((AssemblyDescriptionAttribute)att).Description);
                }            
            }

09.05.2007 - 19:18 Uhr

hallo Haggy,

wenn du sehr tief in die Materie rund um IL und CLR eintauchen willst/musst, kann ich dir die Bücher von Serge Lidin sehr empfehlen.

http://www.amazon.de/Expert-NET-2-0-Assembler-aPress/dp/1590596463/ref=sr_1_1/303-9366817-2913834?ie=UTF8&s=books-intl-de&qid=1178730886&sr=8-1

wenn du "nur" informationen zur Reflection API brauchst, würde ich auch ehr sagen, dass Fachartikel im Internet, Dokumentation usw. die bessere Wahl sind.

06.05.2007 - 23:09 Uhr

hallo eclere,

warum sollte das nicht gehen?

06.05.2007 - 13:43 Uhr

hallo webstarg,

das ist nicht möglich und widerspricht den prinzipien der vererbung.

06.05.2007 - 11:33 Uhr

hallo pro,

ich wollte dein programm ausprobieren und bekomme folgende exception:

[2007-05-06 11:32:04,671] FATAL Simply.Core.Program - Exception : Ein Teil des Pfades c:\windows\temp\version.xml konnte nicht gefunden werden.

gut, dass ich windows nicht auf c: habe... =)

würde an deiner stelle die daten im ordner für anwendungsdateien speichern.

04.05.2007 - 18:03 Uhr

ok, dann nehme ich das mit der sinnhaftigkeit zurück und sage, dass solche funktionalität trotzdem sehr leicht selbst bereitgestellt werden kann.

04.05.2007 - 16:04 Uhr

ja, du musst auch einen verweis auf das assembly system.web.dll hinzufügen. (in VS unter "project->add reference")

vielleicht ist es aber sinnvoller sich schnell eine klasse zu schreiben die sowas - zumindest für die gängigen umlaute - selbst kann. für andere zeichen kannst du entities auch in der form &[UNICODE ZeichenNr.]; darstellen.

04.05.2007 - 13:58 Uhr

meinst du klassen zur umwandlung?

03.05.2007 - 11:04 Uhr

hallo,

stichworte sind MS Orcas bzw. der XAML Designer Cider. Auch sehr empfehlenswert ist Expression Blend, was als Release Candidate zum download bereit steht.
vor allem würde ich dir zur einarbeitung ein gutes buch empfehlen, z.b.
charles petzold - application = markup + code.

gruß

03.05.2007 - 02:02 Uhr

hi,

passt jetzt wahrscheinlich nicht direkt zu deinem problem, da du die exe nicht neu kompilieren willst. jedenfalls hab ich neulich einen sehr interessanten artikel in der aktuellen dotnetPro gelesen, in der ein automatisches logging per AOP (spring.Net) erstellt wurde. durch den aspektorientierten ansatz müssen quasi keine änderungen am vorhandenen code gemacht werden, es wird nur ein neuer "aspekt" eingefügt.

gruß

29.04.2007 - 01:57 Uhr

==> ListView

28.04.2007 - 20:17 Uhr

beim löschen von elementen aus collections empfiehlt es sich, den zähler der for-schleife runterzuzählen. dann werden auch keine elemente übersprungen.

28.04.2007 - 17:23 Uhr

ja, am einfachsten mit 2 schleifen und ArrayList.Remove().

27.04.2007 - 14:35 Uhr

dann hilft wohl nur selber zu parsen.

27.04.2007 - 11:10 Uhr

mit deinem code löscht du aber alle .txt dateien in dem ordner.
die wildcard kann wie gesagt der GetFiles() Methode übergeben werden:


string[] arrAllFiles = Directory.GetFiles(Application.StartupPath + @"\Temp", *.txt");
                foreach (string str in arrAllFiles)
                {
                  File.Delete(str);
                }

ob das allerdings schneller ist bezweifle ich. =)

27.04.2007 - 10:26 Uhr

hallo,

wann kommt denn die letztgenannte meldung? wenn sie nur im xaml designer auftaucht kannst du sie ignorieren, da dieser noch in der ctp phase ist.

27.04.2007 - 10:19 Uhr

hallo,

File.Exists ermittelt nur, ob eine Datei existiert oder nicht.
Nimm Directory.GetFiles() um mit wildcards zu suchen.

26.04.2007 - 22:44 Uhr

hallo anwesend,

heist eig. nur das du das static weggeben sollst Augenzwinkern

nein, das heisst, dass extension methods in einer statischen, aber nicht-generischen klasse implementiert werden müssen.

hallo NonSense,

deshalb vermute ich mal, dass deine klasse nicht als static deklariert worden ist, sondern nur die methode. beides muss aber der fall sein.

gruß

26.04.2007 - 19:37 Uhr

zum abfangen musst du einen systemweiten hook setzen. siehe codeproject.com für entsprechende beispiele

26.04.2007 - 19:18 Uhr

if (((100.0 / 144.0) * 145.0) >= 90.0)

26.04.2007 - 18:10 Uhr

hallo,

wie lautet denn die exception?

ich tippe mal, dass du das grid nicht von seinem parent trennst, bevor du es dem neuen hinzufügst.
also sowas wie


Grid pgGrid=(Grid)pg.Content;
pg.Content = null; 

26.04.2007 - 15:48 Uhr

würd mich mal interessieren warum es zu dieser exception kommt. mit meiner "TestKlasse" klappt es ohne probleme.

26.04.2007 - 13:48 Uhr

Type type = typeof(TestKlasse);
            Type propertyType = type.GetProperty("Datum").PropertyType;
            Type genericArgument = null;
            if (typeof(Nullable<>) == propertyType.GetGenericTypeDefinition())
            {
                genericArgument = propertyType.GetGenericArguments()[0];

                if (typeof(DateTime).IsAssignableFrom(genericArgument))
                {
                    //generisches Argument ist DateTime...
                }
            }            

25.04.2007 - 20:34 Uhr

sowas in der art gab es neulich schon:
Mal ne Verständnissfrage zu get;set;
das was du als Attribut bezeichnest nennt man eigentlich Property. Attribute sind Metadaten, die für Klassen oder Methoden angegeben werden können.