Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von der Marcel
Thema: Kreispunkte berechnen
Am im Forum: Rund um die Programmierung

Hi!

Das ist eigentlich nur grundlegende Mathematik:

für die x-Koordinate im kartesichen Koordinatensystem (p ist der Prozentwert in Form von 0 bis 1, r ist der Radius des Diagramms):
x(p)=r*cos(p*2*PI)
y(p)=r*sin(p*2*PI)

du musst x(p) und y(p) nur noch in Bildschirmkoordianten umrechnen und schon hast du es.

Viele Grüße

Der Marcel

Thema: Computerkonto für ProcessStartInfo.UserName Property?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Ich weiß es nicht ganz 100%ig, aber zumindest ist mir nichts bekannt, was dies leisten würde.
MS hat diesen Weg sicher bewußt nicht eröffnet, da es aus MS-Sicht ein super Einfallstor für Schadprogramme wäre.
Generell ist es so, dass ein Programm immer unter dem Account läuft, aus dem heraus es gestartet wurde. Darüber hinaus kann sich kein Programm mehr Rechte beschaffen, als es laut Account haben darf.

der Marcel

Thema: Registry Problem
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Das ist die SID. Also wie herbivore schon sagt, die genaue Windows-interne Benutzerkennung. Wie du sie über .Net abfragen kannst, habe ich in Nochmal Registry... beschrieben

Viel Spaß!

der Marcel

Thema: Über Thread auf Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo Alois!

Für Welche Zeile zeigt der Debugger denn die Exception an? Sonst kann ich auch nur Rätselraten machen, da ich den Fehler nicht sehe

der Marcel

EDIT: Möglich wäre, dass du mit mf eine neue Instanz von MainForm erstellst, diese aber nicht die ist, die angezeigt wird, kann das sein? Du müsstest in dem Fall der Klasse mit dem Konstruktor die Referenz auf die bestehende MainForm-Instanz mitgeben.

Thema: TextBox formatieren
Am im Forum: GUI: Windows-Forms

Hi du mit dem langen Namen!

Ich habe das hier über Google finden können: http://www.codeproject.com/cs/miscctrl/maskedcsedit.asp

Hatte auf codeproject einen Artikel über eine Masked TextBox in Net1.1 gefunden. Den Link hab ich aber leider verschmissen und nicht mehr über Google gefunden.

Viel Erfolg damit!

der Marcel

EDIT: Hab noch was gefunden: http://www.codeproject.com/vb/net/Complete_Textbox.asp

Thema: Warten bis der Kopiervorgang beendet ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Andi123!

Das Thema gab es tatsächlich schon öfters und die Lösungen wurden auch diskutiert.
Du kannst zum Beispiel ab dem Vorhandensein einer neuen Datei in regelmäßigen Abständen die Dateigröße prüfen. Sobald diese sich nicht mehr verändert, ist der Kopiervorgang abgeschlossen.

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Nullpunkt!

Richtig!

Dann Adde es doch erst dann, wenn es da ist! Das heißt auf null prüfen und wenn dem so ist, nicht adden und weiter. Wenn dies nicht geht, dann musst du die schon erwähnten Platzhalter einfügen.
Der Vorteil den ich beim Dictionary sehe, ist, dass es 2 Elemente haben kann, welche sich zB jedoch schon als queue[0] und queue[89] ansprechen lassen. Über die Schlüssel kann man ja auch einfach iterieren und so jedes vorhandene Element ansprechen.

der Marcel

EDIT: Wenn es nicht geht, bützen dir auch die Platzhalter nichts, denn auch die musst du ersetzen, wenn die eigentliche Referenz dann mal auf ein Objekt zeigt

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Nullpunkt!

Dann doch ein Dictionary!

Welche Objekte möchtest du denn Adden?
ich dachte vorhin inet.Document.Links[7] ist nicht das Element, welches du Adden möchtest. Scheint es aber zu sein, oder?
Mit dem Dictionary müsste der Fall doch dann klar sein. Wenn die Elementposition vorher fest steht, dann erstellst du ein Dictionary<int, Link>. das int steht als Schlüssel für die Position in der Reihenfolge und der Wert ist dann das zugehörige Objekt (in meinem Beispiel Link) an dieser Stelle. Ich denke, du hast bisher vielleicht den Sinn von Schlüssel und Wert verwechselt.

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Nun habe ich 2 Fragen:
Weißt du bei jedem Element die exakte Position in der Liste? (also zB Index 100)
Oder fügst du zwischen 2 vorhandenen Objekten eins ein und die genaue Indexierung ist variabel?
Wenn die Indexierung variabel ist (was ich bisher nicht angenommen hatte), dann wäre vielleicht eine List<> doch das richtige, diese hat eine Methode Insert

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Nullpunkt!

Da die Reihenfolge bei dir anscheinend von vornerhein feststeht (Soll heißen, dass du schon beim ersten weißt, dass es meinetwegen an die 100. Stelle kommt) würde ich auch ein Dictionary verwenden.

Mein Vorstellung, welche ich beim Antworten hatte, war das Codebeispiel von herbivore in Grundlegendes zu Hashtables, welches ich hier nochmal herausgreife:

a [5] = 97;
a [8798] = 97;
a [9979679] = 97;

Das würde an dieser Stelle bedeuten, dass der Schlüsseldatentyp ein int ist.
Bei

Dictionary<HtmlElement,string> hans = new Dictionary<HtmlElement,string>();
hans.Add(inet.Document.Links[7],"test");

geht wahrscheinlich schief, dass inet.Document.Links[7] = null ist und damit kein Objekt dahinter steht. Stattdessen würde ich eben schreiben

Dictionary<int, string> hans = new Dictionary<int, string>();
hans.Add(7,"test");



der Marcel

EDIT1+2: Berichtigungen

EDIT3: Seltsamerweise bekomme ich auch leere Seite bei der deutschen Dictionary-Hilfe in der MSDN, würde meinen, ich war da schonmal.
Alternativ steht sie aber in der Offline-Version der MSDN auf Deutsch bereit.

Thema: Warum öffnet er kein Dialogfenster?!
Am im Forum: GUI: Windows-Forms

Hi!

Muss jetzt mal eine ganz dumme Frage stellen: Ist die Methode überhaupt beim EventHandler regiistriert? Ich weiß, im Designer sollte das so sein, aber hast du das schonmal geprüft? Der Fall würde ja alles erklären

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Wenn du die Reihenfolge vorher schon genau weißt, würde ich die Hashtable weiter vorne sehen

der Marcel

Thema: Label vs Methode
Am im Forum: Rund um die Programmierung

Hi!

Ich verfolge den Thread schon von Anfang an.
Nun möchte ich dazu ersteinmal meine Meinung loswerden. Wenn man von der Assembler-Programmierung herkommt, kann ich die Punkte, warum gotos Methoden vorzuziehen sind, nachvollziehen. Sobald man aber die Assembler-Programmierung verlässt, geraten diese (erstmal schneinbaren) Vorteile ad absurdum, da labels und gotos eine Linearität des Programms voraussetzen, welche es gar nicht mehr gibt. Ein modernes Windows-Programm reagiert ereignissgesteuert mit dafür vorgesehenen Methoden. Klassen kann man schreiben und anwenden. Der Anwender der Klasse will von dem Inhalt derer nicht viel erfahren, umgedreht ist es der Klasse egal, wer sie anwendet. Labels sind an dieser Stelle nicht nur unangebracht sondern äußerst unpraktisch.
Daher sollte man das Rad nicht neu erfinden wollen und in der objektorientierten Programmierung Methoden einsetzen. Letztenendes läuft Cyrons Vorschlag mit Labels auch nur eine händische Methodenimplementierung hinaus (Ein Block an Anweisungen wird gestartet, wenn dieser abgearbeitet ist, wird zurückgesprungen)
@Cyron: In so einem Forum muss man sich vor Augen halten, dass man schriftlich mit den anderen kommuniziert. Daher kommt ein und derselbe Beitrag bei 10 Personen in 10 verschiedenen Sichtweisen an. Generell ist dir niemand böse oder macht sich lustig, das möchte ich dir versichern. Für ein Forum wie dieses ist es durchaus eine sinnvolle Sache dieses Thema zu diskutieren. So hast du deine Argumente gebracht und wir unsere Gegenargumente Peinlich muss es dir aus diesem Grund erst Recht nicht sein! Im Prinzip ist es eine echt gute Sache, dass du dir solche Gedanken machst und zeigt, dass du dich in das Thema reinkniest Allerdings ist die Gegenmeinung praktisch bewährt und etabliert.

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

In einer Hashtable wären Platzhalter nicht notwendig

der Marcel

Thema: Werte übergeben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo gwert_a!

Das ist nett von dir, dass du dir die Mühe machst und soviel Code tippst. Letztenendes finde ich aber, dass es für den Fragestellenden schwer ist, sich in soviel Code hineinzufinden. Schließilich wurde der Code nicht von Ihm geschrieben und zudem wirken deine (für dich verständlichen Berzeichnungen) für ihn dann vielleicht völlig aus dem Zusammenhang gerissen und unverständlich. Daher würde ich dir als Tipp geben, wenn du jemandem hilfst, nur die prägnantesten Teile als Code-Schnipsel zu geben.

der Marcel

Thema: Werte übergeben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Daniel_g!

Öffentliche Events, bei denen sich eine andere Form einklinken kann, können dazu benutzt werden. Die Events transpoertieren die benötigten Daten einfach mit, wenn sie gefeuert werden.

der Marcel

Thema: Form erstellen
Am im Forum: GUI: Windows-Forms

Hi!

Die Grundidee dazu : Du fügst in Form1 dem Click-EventHandler des Buttons eine Methode hinzu, welche Form2 instanziiert und über Show aufruft.

der Marcel

Thema: NullObject - Referenzen die noch nicht existieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Für diese Aufgabe eignet sich eine Hashtable statt einer gewöhnlichen Liste ganz gut. Verwende dafür das Dictionary<T,T>, die Schlüssel/Wert-Datentypen kannst du dabei selbst festlegen und über die Collection der Schlüssel könntest du iterieren.

der Marcel

Thema: Zufalls(prim)zahl mit 512-1024 bits...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

Ich habe den Thread mal eben kurz überflogen.
Es gibt einige mathematische Bedingungen (Formeln), bei denen Primzahlen herauskommen.

  • 4k+1
  • 4k+3
  • 6k+-1
Hier der Link zur Wikipedia

Vielleicht hilft euch das ein Stück weiter. Im Prinzip könnte man ja k mit einer Zufallszahl füllen.

der Marcel

Thema: Funktion aus einem anderen programm aufrufen
Am im Forum: GUI: Windows-Forms

Hi!

Über Remoting stellt ein Server ein Serverobjekt bereit, auf das der Client zugreifen kann. Wenn man das geschickt macht, lassen sich sogar Events auf diese Weise verschicken. Beispiele findest du dazu in der MSDN.

der Marcel

Thema: Funktion aus einem anderen programm aufrufen
Am im Forum: GUI: Windows-Forms

Hi!

Wenn alles Net2.0-Programme wären, dann über Remoting.
Ansonsten müssten m.E. spezielle APIs dafür bereitgestellt werden.

der Marcel

Thema: Dateien..
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi!

einfache Zeilen lassen sich mit dem StreamReader lesen.

der Marcel

Thema: Set Mechanismus funkt nicht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi NonSense!

Was möchtest du denn eigentlich machen? Bist du dir sicher, dass der Code wirklich funktioniert? Ich denke nicht.

der Marcel

Thema: ausnahmebehandlung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Khemisset!

Das sind wirklich die Grundlagen zu Arrays. Deine Fragen können mit hoher Wahrscheinlichkeit schon durch das lesen vom guide to C# aus dem Weg geräumt werden. Beherzige bitte herbivores Vorschlag ein Buch über C# zu lesen. Auf die Schnelle kommst du heute auch mit dem guide klar.

der Marcel

EDIT: Bei herbivores letzter Antwort gibts es nichts an Code zu zeigen. Versuche doch bitte ersteinmal Arrays zu verstehen. Wenn du das hast, wird dir ein kleine (manchmal nachteilige) Eigenschaft aufallen, welche die ArrayList (besser List<T> in Net2.0) löst.

Thema: Warum kein Event...........
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi housefreak!

Noch einfach wäre, wenn du

myPl.MyValue.AddRange(entry);

in einer öffentlichen Methode von MyPlaylist_x kapselst. So kannst du oben stehenden Zugriff in der Methode ausführen und mit dieser dann auch das Event feuern.

der Marcel

EDIT: letztenendes läuft ja herbivores Vorschlag fast auf das selbe hinaus. Nur eben eine extra Klasse mit Vererbung fällt dabei raus.

Thema: ausnahmebehandlung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Khemisset!

Wie die anderen schon sagen, ist das ausbügeln von selbst verantworteten Programmierfehlern ein ganz schlechter Stil
Mit der count-Eigenschaft der ArrayList bekommst du zurück, wieviele Elemente sie hat. Bei n Elementen kannst du also bis zum (n-1). Element zugreifen. n-1 deshalb, weil das erste Element den Index 0 besitzt und so weiter und so fort.

der Marcel

EDIT: Das wurde schon gesagt, habe ich übersehen

Thema: Verschiedene Frameworks auf einem System?!
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo herbivore!

Mir sind allerdings Fälle bekannt, indem es nicht gelingt Net1.1 Programme mit dem 2.0 Framework laufen zu lassen. Dies betrifft den Grafikkartentreiber von ATI.

der Marcel

Thema: Eine Instanz für das ganze Programm
Am im Forum: GUI: Windows-Forms

Hi!

Das Thema wurde schon mehrfach diskutiert. Folgende Links sollten dir helfen:
mehrere Programminstanzen verhindern?
Dateiassoziation
Programm on Top

Du erstellst doch gar keine Instanz MainForm.
Falls MainForm deine Form-Klasse ist, erstelle zunächst eine Instanz und rufe dann Show auf.

MainForm mf = new MainForm();
mf.Show();

der Marcel

EDIT: Sorry, habs gesehen. MainForm ist der Instanzname und die zugrundeliegende Klasse AktualCall.
Aber dennoch. in der Main-Methode erstellst du gar kein Objekt MainForm. Das fehlt dir.

Thema: Int.ToString() -> aber rückwärts, wie?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi!

Zitat
Original von Weyoun
Leider gibt das Programm keine Lösung heraus (irgendwann bricht es mit einer Fehlermeldung ab "Der Index war außerhalb des Arraybereiches")

Die Fehlermeldungen sind doch sehr prägnant und geben einen guten Anhaltspunkt, was schief läuft.
Zitat
Original von Weyoun
Kann es daran liegen, dass, wenn der String mal nur 7 oder 8 Zeichen lang ist (kommt vor, wenn relativ kleine 3-stellige Zahlen miteinander multipilizert werden), kein Vergleich der 9-ten Stelle vorgenommen werden kann?
Das wäre sehr schade, da dann das komplette Programm für die Katz' wäre.

Nein, du kannst die 9. Stelle nicht prüfen, wenn der String nur 8 Zeichen hat Du kannst aber prüfen, ob die Stelle existiert. Also ob der Index größer gleich der Länge ist. Wenn dies der Fall ist, kannst du die Schleife mit break; abbrechen. Dein Programm ist deswegen nicht für die Katz.

der Marcel

Thema: Int.ToString() -> aber rückwärts, wie?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Weyoun!

Das liegt nicht am ch sondern an quersumme!

In er While-Schleife würde ich als erste Anweisung die quersumme 0 setzen, sonst bleibt der vorherige Wert erhalten.

der Marcel

EDIT: Welchem Zweck dient der Algorithmus eigentlich?