Laden...
Avatar #avatar-2999.png
dechavue myCSharp.de - Member
student Österreich Dabei seit 12.09.2006 179 Beiträge
Benutzerbeschreibung

Forenbeiträge von dechavue Ingesamt 179 Beiträge

07.07.2007 - 11:17 Uhr

Hi,

Willst du dein Programm in so einer Art Kiosk - Modus laufen lassen?

Dafür gabs hier schon mal einen Thread.
Ansonsten noch schalgworte dafür: Kioskmodus, Applikationswechsel verhindern.

mfg dechavue

05.07.2007 - 01:00 Uhr

Hi,

event.GetInvocationList() liefert dir ein Delegate[] aller Methoden die bei diesem event registriert sind.

mfg dechavue

05.07.2007 - 00:46 Uhr

Hi,

Das Problem ist das du das Random Objekt bei jedem schleifendurchlauf neu erzeugst und als seed wird beim Default CTor unter anderem die Zeit verwendet um wirklich möglichst zufällig zu sein. Da du es jedoch in jedem schleifendurchlauf neu erzeugst (und dabei keine merkliche Zeit vergeht) erhälst du immer die selbe zufallszahl. Der effekt dass es mit Messagebox funktioniert resultiert daraus, dass du dadurch eine verzögerung zwischen dem erzeugen der Random Objekte erzeugst und sie somit nicht mehr den selben wert als seed haben.

Generell solltest du das Random nur einmal erzeugen und anschließend nur mehr rand.Next verwenden.

mfg dechavue

PS: Es hätte schon gereicht wenn du die eine Methode hereinkopiert hättest

04.07.2007 - 16:39 Uhr

Hi,

Schau mal unter Sieb des Eratosthenes. Dort ist das sieb im allgebeinen gut und einfach erklärt (Speziell in der grafik).
Zur umsetztung in das Programm würde ich dir empfehlen, ein bool array mit ausdehnung = obergrenze anzulegen, alle elemente mit true initialiesieren und es gilt dann: (Index+2) = Wert, true : primzahl false keine Primzahl.
Index + 2 da Primzahlen ab 2 und Array ab 0 losgeht

mfg dechavue

30.06.2007 - 01:40 Uhr

Hi,

Ich habe es aus Interesse mal Probiert, indem ich eine versteckte form als ShowDialog aufrufe, welche sich wieder SChließt wenn der Prozess beendet wird.
Ist vieleicht nicht die schönste Lösung, aber es funktioniert 😉 .
Man kann mit dieser Variante zwar die Form noch in den vordergrund hohlen, sie ist jedoch wie bei einem ShowDialog aufruf "gesperrt".

Hier die Lösung:

 Form frm;
Process p;
private void button1_Click(object sender, EventArgs e)
{
//Versteckte Hilfsform starten um ShowDialog Nachzubilden
frm = new Form();
//frm.FormBorderStyle = FormBorderStyle.None;
frm.Opacity = 0.0f;
frm.ShowInTaskbar = false;
frm.Load += new EventHandler(frm_Load);
frm.ShowDialog();
}

private void frm_Load(object sender, EventArgs e)
{
//Prozess Starten
p = new Process();
p.StartInfo.FileName = "Notepad.exe";
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.Start();
}

private void p_Exited(object sender, EventArgs e)
{
//Wenn Prozess beendet: Versteckte Form schließen.
CloseHelperFrm();
}

private void CloseHelperFrm()
{
if (frm.InvokeRequired) frm.Invoke(new MethodInvoker(CloseHelperFrm));
else frm.Close();
}
28.06.2007 - 13:30 Uhr

Hi,

Schau mal hier, oder wenn du dich näher mit Neuronalen netzwerken beschäftigen willst: NeuroBox

mfg dechavue

24.06.2007 - 15:20 Uhr

Hi,

Schau dir mal diesen Artikel auf Codeproject an, da wurde ein Intellisence eingebaut, was du eventuell als basis für deines nehmen könntest.

mfg dechavue

PS: Kann es sein das dein Studio für VHDL wird?

09.06.2007 - 16:13 Uhr

Sorry, dann habe ich die Frage falsch verstanden.

Dann weiß ich leider auch nicht woran das jetzt liegt.

09.06.2007 - 16:02 Uhr

Hi,

Könnte eventuell daran liegen, dass der Index 0-Basierend ist.
Wenn du sagst Bild 1 nehme ich an du meinst dass Erste Bild in der Liste also index 0, in deinem Code hast du jedoch den Index 1 angegeben.

mfg dechavue

29.05.2007 - 19:13 Uhr

Hi,

Schau dir dazu mal die Process - Klasse an.
Im Speziellen Process.GetProcesses und Process.MainWindowHandle.

mfg dechavue

28.05.2007 - 17:10 Uhr

Hi,

Am Ende der InitalizeComponent() fehlt der teil, bei dem die Controls zum Form hinzugefügt werden.

Wie das passieren kann wenn du dort nichts verändert hast ist mir unerklärlich, wenn du jedoch das am ENDE der InitallizeComponent() Funktion einfügst müsste es wieder funktionieren:


this.Controls.Add(emaillink);
this.Controls.Add(hyperlink);
this.Controls.Add(PartnerTelefon);
this.Controls.Add(label9);
this.Controls.Add(PartnerText);
this.Controls.Add(label) ;
this.Controls.Add(PartnerWWW);
this.Controls.Add(PartnerEmail);
this.Controls.Add(PartnerStrasse);
this.Controls.Add(PartnerName);
this.Controls.Add(PartnerOrt);
this.Controls.Add(PartnerPLZ);
this.Controls.Add(PartnerLand);
this.Controls.Add(label7);
this.Controls.Add(label6);
this.Controls.Add(label5);
this.Controls.Add(label4);
this.Controls.Add(label3);
this.Controls.Add(PartnerNickname);
this.Controls.Add(label2);
this.Controls.Add(PartnerID);
this.Controls.Add(label1);
this.Controls.Add(PartnerWartenCloseButton);
this.Controls.Add(PartnerWartenSaveButton);
this.Controls.Add(PartnerWartenDelButton);
this.Controls.Add(label10);
this.Controls.Add(PartnerKontaktComboBox);
this.Controls.Add(label11);
this.Controls.Add(PartnerNickname2);
28.05.2007 - 15:45 Uhr

Hi,

An das Eventlog hatte ich garnicht gedacht,

das Problem hat sich jedoch erledigt, da ich gerade VS MANUELL komplett empfernt und dann neu installiert habe. Anscheinend hatte der Uninstaller einige Dateien nicht entfernt.

Trotzdem Danke
dechavue

28.05.2007 - 14:28 Uhr

Weiß niemand Rat? 🙁 🙁

Ich würde nur ungern Windows wegen diesem Fehler neu aufsetzen müssen

27.05.2007 - 01:43 Uhr

Hi,

Hat zwar jetzt nichts mit C# zu tun, aber vielleicht kann mir ja trotzdem einer von euch helfen.

Sobald ich ein C++ - Projekt erstellen will stürzt VS mit folgender Fehlermeldung ab: [1]

Ich habe bereits mehrfach versucht VS neu zu Installieren (Auch einmal mit manuellem löschen der übriggebliebenen Dateien im Installationsverzeichnis nach dem Deinstallieren) bzw. den Repair - Mode laufen zu lassen.
Begonnen hat das ganze als meine Projekttemplates von VB, C# und J# auf einmal weg waren (das Verzeichnis war beschädigt, so dass beim hochfahren sogar chkdisk angesprungen ist) und ich diese von einem anderem PC in das Verzeichnis kopiert habe.
Ich habe bereits vorher schon ein seltsames Verhalten beobachten können, da Windows nach jedem Start das VS SP1 für Vista installieren wollte obwohl ich es bereits Installiert hatte.

Besten Dank im Voraus
dechavue

[1]:

24.05.2007 - 19:14 Uhr

HI,

http://www.codeproject.com/vista/vistathemebuttons2.asp

Oder sonst selbst auf Codeproject suchen da gibts sicher noch mehr.

mfg dechavue

19.05.2007 - 16:32 Uhr

Hi,

Versuch mal in der Menüleiste: Build -> Rebuild Solution (ich glaube in der Deutschen version heißt es neu Erstellen oder so ähnlich).

Sollte das auch nicht helfen: lösche mal die Debug bzw. Release Ordner aus deinem Projektverzeichnis und erstelle das Projekt neu.

//Edit:
Sollte das immer noch nichts bringen: Schau mal bei den Einstellungen unter Projects and Solutions -> Build and Run (keine Ahnung wie es in der Deutschen Version heißt).
Dort wird Bei "On Run, When projects are out of date": Never Build
oder bei "On Run, when build or deployment errors occur": Launnch old Version
eingestellt sein.

mfg dechavue

19.05.2007 - 01:02 Uhr

Original von Nopileos
das wirft bei mir die frage der funktionsweise eines doubles auf
kann man das irgendwo nachlesen? 600 stellen auf 8 Byte ist ne Leistung

Hi,

Das Zauberwort heißt fließkommadarstellung:

Hier am Beispiel Float:
seeeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
s... Sign
e... Exponent
m... Martisse
Daraus ergibt sich
Val = (Sign ? -1 : 1) * 2^Exponent * 1,Martisse

Genau daraus ergeben sich auch die Probleme beim Rechnen mit floats / doubles, z.B.: beim Addieren einer sehr kleinen mit sehr großen Zahl

mfg dechavue

15.05.2007 - 08:39 Uhr

Original von mana
wer sagt hier was von hausaufgaben?

Original aus Dateianhang
...
class Hausaufgabe2
{
...

😁 😁 😁

14.05.2007 - 08:45 Uhr

Hi,

this.ClientSize

mfg dechavue

//Edit: Schon wieder zu spät

11.05.2007 - 16:03 Uhr

Original von janismac
aber wofür int werte byte reicht vollkommen aus (es wird nur in 256 stufen pro farbe definiert)

Stimmt allerdings, aber sevo schrieb dass er 4 int Variablen habe wollte.

11.05.2007 - 15:54 Uhr

Hi,


Color c = bmp.GetPixel();

int A = c.A;
int R = c.R;
int G = c.G;
int B = c.B;


mfg dechavue

11.05.2007 - 15:51 Uhr

Hallo

Falls es wirklich daran liegt könnte es Helfen bei den Child - Forms bereits beim Erzeugen die Maximize Buttons zu deaktivieren und den WindowSate auf Maximized setzen.

mfg dechavue

10.05.2007 - 16:08 Uhr

Hallo

Dafür kannst du dictionary bzw. Hashtable verwenden


dictionary <string, int> Dict = new dictionary<string,int>;();

Dict.Add("Hallo", 5);
Dict.Add("Du", 3);

Dict["Hallo"] = 7;


mfg dechavue

//Edit: Zu Spät
//Edit2: Der vollständigkeit halber im Code Hochkomma ergänzt

08.05.2007 - 23:54 Uhr

Genau der war es

08.05.2007 - 23:49 Uhr

Danke,

Es war zwar nicht der Beitrag den ich gemeint hatte, er hat mich jedoch in google auf die richtige Spur gebracht.

Diese Lib hatte ich gesucht.

greetz dechavue

08.05.2007 - 19:16 Uhr

Hallo allerseits,

Ich meine mich erinnern zu können, dass es vor einer Weile einmal einen Thread zu einer Bilderkennungsbibliothek gegeben hat, welche Objekte auf verschiedenen Ebenen mittels 2 Webcams erkennt.
Ich würde mich freuen wenn noch wer den Titel oder den Link wüsste, ich suche mir nämlich schon seit Sonntag die Finger wund.

besten Dank im vorraus
dechavue

01.05.2007 - 15:26 Uhr

Hi,

Ich würde an deiner Stelle den Text einfach mit DrawString selbst hineinzeichnen,
und zwar einmal in Schwarz und dann denselben Text in weis noch mal um ein Pixel nach links oben verschoben noch einmal. So lässt sich der Text auf so ziemlich jedem Hintergrund noch gut lesen.
Ich glaube am Windows Desktop sieht es ähnlich aus.

mfg dechavue

27.04.2007 - 10:24 Uhr

Hallo,

Einfach oben in der Toolbar auf Pause drücken, Code Editieren und mit Play wieder fortsetzen.

mfg dechavue

22.04.2007 - 15:25 Uhr

Hi,

Ich habe da ein kleines Problem mit dem Rdlc Report, genauer mit dem List - Control.
Aber von Anfang an:
Ich versuche in einem rdlc - Report ein Angebot zu erstellen. die Daten hierfür habe ich in 3 Klassen mit folgendem Aufbau:


class Offer
{
     //Diverse Allgemeine Daten

     private list<Position> _positions;
     public list<Position> Positions
     {
          get { return _positions; }
     }
}

class Position
{
     //Diverse Daten zur aktuellen Position

     private list<Item> _items;
     public list<Item> Items
     {
          get { return _items; }
     }
}

class Item
{
     //Diverse Daten
}

ich habe nun für den Report 3 Bindingsources angelegt:


offerBindingSource.DataSource = meinObjekt;
positionsBindingSource.DataSource = offerBindingSource;
positionsBindingSource.DataMember = "Positions";
itemsBindingSource.DataSource = positionsBindingSource;
itemsBindingSource.DataMember = "Items";

Nun versuche ich für jede Position eine Tabelle von Items anzulegen. Hierfür war mein erster Gedanke ntürlich die List, bei dieser habe ich als Data set name in den Properties die positionsBindingSource eingestellt und bei der Grouping Expression "=Fields!Name.Value" (Name ist ein Property von Position).
In dieses List Feld habe ich nun eine Table gezogen, in welcher ich versuch die Items darzustellen.
Wenn ich das ganze nun ausführe wird auch nach hinzufügen von Items in verschiedene positions nur die überschrift der Table genau einmal angezeigt (obwohl mehrere Positions vorhanden sind.

Ich hoffe ihr könnt mir helfen,

dechavue

30.03.2007 - 17:44 Uhr

Hallo Ayke

Schau mal hier, dann wirst du feststellen, dass die statische Eigenschaft ActiveForm (Wie der Name schon sagt) die momentan aktive Form enthält. Wenn du in der Taskleiste die Anwendung wechselst, ist natürlich keine Form1 mehr aktiv und die Eigenschaft ActiveForm ist null. Du hast also einfach an der falschen Stelle das null vermutet. Das hättest du aber eigentlich schon beim debuggen merken müssen. Verwende besser "this" um auf die aktuelle Instanz von Form1 zuzugreifen.

mfg dechavue

28.03.2007 - 18:10 Uhr

Man braucht für das Zählen mit Split nicht mal den VisualBasic Namensraum (auch bei mehrstelligen zu zählenden Strings nicht)


int Cnt = str.Split(new string[]{StringToCount},StringSplitOptions.None).Length - 1

28.03.2007 - 16:37 Uhr

Hi,

Wenn es dir nur darum geht, dass dein Programm im Mac-Look erstrahlt und du es nicht wegen des Lerneffekts machen möchtest gibts beispielsweise hier fertige Controls wo du sogar im Betrieb den style wechseln kannst. (Nicht nur Buttons sondern auch Check- & Ratio Boxes).

mfg dechavue

28.03.2007 - 15:15 Uhr

Original von Nihat
praktisch... wenn die Rechner mal nicht wollen, wie du willst, hast du gleich die Katana zur Hand 😉

😁 😁 😁 Darum hab ich auch zwei Monitore, wenn ich mal wütend werde kann ich nachher trotzdem noch weiterarbeiten 😉

27.03.2007 - 23:55 Uhr

Hallo,

Hier auch noch mein Reich:

//Edit: Bild angefügt (hat beim ersten mal nicht geklappt

26.03.2007 - 22:00 Uhr

Hallo,

vieleicht liegt es daran, dass die Monitore anders verbunden / eingestellt sind, durch eine unglückliche kombination kann es vorkommen, dass auf einem Monitor die Koordinaten negatiev sind. (Ich habe momentan leider kein Programm mit dem ich es ausprobieren könnte, aber als ich es frisch umgestellt hatte, habe ich mit dieser Einstellung auch das eine oder andere Programm aus dem Konzept geworfen😁 .)
Ich weiß nicht obs viel hilft, aber vieleicht kommst du dadurch auf die richtige Idee.

mfg dechavue

25.03.2007 - 22:39 Uhr

Original von MEt45
zu winSharp93:

Ich hab schon lange nach diesem Hintergrungbild gesucht...
könntest du es evt. hochladen oder mir den namen geben?
wäre echt nett !

MfG MEt45

Hi,

Ich bin zwar nicht WinSharp, kann dir aber verraten wo du es findest 😉 : -->hier

mfg dechavue

25.03.2007 - 13:44 Uhr

Original von steven11
DefaultValue() konnte ich übrigens nicht benutzen, weil ich Properties aus der Basisklasse ComboBox auf Standardwerte festlege.
mfg Steven

Hi,

Doch kanst du benutzen, du musst nur die Properties der Basisklasse überschreiben:


[DefaultValue(true)]
public new bool ABC
{
get { return base.ABC; }
set { base.ABC = value; }
}

mfg dechavue

17.03.2007 - 13:26 Uhr

Hi

Ich vermute mal du meinst params oder Arrays in der Parameterliste


void addSong(params Song[] lieder)
{
songliste.AddRange(lieder);
}
//Alternatiev:
void addSong(Song[] lieder)
{
songliste.AddRange(lieder);
}

//Aufruf:
//Variante1:
addSong(lied1);
//oder:
addSong(lied1, lied2, lied3);

//variante2:
addSong(new Song[]{lied1, lied2, lied3});

Bei beiden Varianten kannst du auch ein vorhandenes Song - Array in der Parameterliste übergeben

mfg dechavue

//Edit: Rechtschreibung

11.03.2007 - 16:42 Uhr

Hallo,

Ich bins nochmal
Die Lösung von Coder007 mit Select distinct funktioniert im Grunde genommen, allerdings brauche ich dazu in meinem Fall 5 zusätzlich Datatables / Tableadapters im Dataset (Siehe Bild) diese fülle ich eben mit select distinct.

Das Problem hierbei ist nun, wenn ich in der Tabelle Preise (welche an ein DataGridView gebunden ist) etwas ändere muss ich um die Comboboxen zu aktualisieren zuerst mit PreiseTableAdapter.Update() in die Datenbank schreiben und dann alle TableAdapter außer Preise neu mit Fill füllen, was sich verständlicherweise ziemlich auf die Performance auswirkt.
Daher nun meine Frage ob es entweder möglich ist bei Bindingsource.Filter einen distinct Filter anzugeben oder alternativ die 5 zusätzlichen TableAdapter aus dem PreiseTableAdapter zu befüllen um mir zumindest das ständige Speichern zu sparen.

Ich hoffe ihr könnt mir noch mal helfen.

mfg dechavue

09.03.2007 - 23:33 Uhr

Hi Robar,

Ich Studiere gerade im 2. Semester in Hagenberg, zwar Hard & Software System Engineering,
aber ich kann dir die FH nur bestens empfehlen.

Es ist nicht so unpersönlich wie an den meisten Unis, außerdem hat man meiner Meinung nach
einen sehr guten Mix aus theoretischen Vorlesungen und auch praktischen Übungen.

Und was die Jobaussichten angeht, kann ich nur die Letzte Ausgabe der Zeitschrift "Gewinn" Zitieren:
Anzahl der Arbeitslosen Hagenberg-Absolventen: Software-Engineering: 1, Hard & Software System Engineering sogar 0.

Wenn du noch irgendwelche Fragen zu Hagenberg hast melde dich einfach.

mfg dechavue

PS: Warst du heute am Tag der offenen Tür?

05.03.2007 - 21:21 Uhr

Vielen Dank, funktioniert

Ich muss gestehen, dass ich im Bereich Datenbank und diesen Anweisungen noch anfänger bin, und momentan eigentlich NOCH alles mit den Assistenten erstelle.

mfg dechavue

05.03.2007 - 20:46 Uhr

Hi,

Ich habe eine Combobox die mittels Bindingsource an eine Spalte aus einer Tabelle einer Datenbank gebunden ist, welche auch an ein Datagridview gebunden ist.

Ich möchte mir nun die Anzeige im Datagridview Filtern. Das ist auch eigentlich kein Problem.

Was nun meine Frage ist: Gibt es eine einfache möglichkeit in der Combobox keinen Wert doppelt anzeigen zu lassen, ohne dass ich die Combobox manuell füllen und damit über alle (~60000) Datensätze itherieren muss?

mfg dechavue

01.03.2007 - 16:43 Uhr

Original von Sp666dy
Also ich soll deiner Meinung nach ein Buch für 60 Euro kaufen nur um zu wissen wie man in einer Textdatei speichert.

Wenn du dir den Link von Blackcoin mal angesehen hättest, hättest du gesehen, dass das Buch ein Openbook ist, also im Internet offenliegt und es dich keinen Cent kostet es azusehen.

mfg dechavue

17.02.2007 - 13:39 Uhr

Tausend Dank Jungs, Funktioniert jetzt.

17.02.2007 - 11:53 Uhr

Hi,

Irgendwie stehe ich gerade auf dem Schlauch, also ich erstelle mit mittels Reflection eine Klasse.
Soweit so gut, anschließend hohle ich mir mit folgendem Code eine Instanz dieser Klasse:


Type tMyClass = myCompilerResults.CompiledAssembly.GetType("MyClass";) ;
object myInstance = Activator.CreateInstance(tMyClass);

An sich funktioniert das auch, allerdings habe ich nun eine Generische Klasse mit Reflections erzeugt und daher funktioniert obiger Code (verständlicherweise) nicht mehr, da ich nirgendst den Typ für die Generische Klasse mitgebe. Meine Frage ist daher nun, wie kann ich mit dieser Art der Instanzerzeugung eienen Typparameter mitgeben?

Ich hoffe ihr könnt mir helfen

dechavue

17.02.2007 - 11:31 Uhr

Hi,

Du kannst aus einem anderen Thread nich direkt auf Elemente deines GUI-Threads zugreifen. Benutze dazu Invoke

Siehe: [FAQ] Controls von Thread aktualisieren lassen (Invoke-/TreeView-Beispiel)

mfg dechavue

09.02.2007 - 23:34 Uhr

Hi,

Ich denke nicht, dass das geht, da der PC im Ruhezustand ja komplett ausgeschaltet ist (nur der Inhalt des Ram wird auf die Festplatte geschrieben, um beim Starten den Zustand wiederherstellen zu können)
Ich lass allerdings gerne eines besseren belehren, falls es doch gehen sollte.

mfg dechavue

07.02.2007 - 19:52 Uhr

hi,

Im Solution-Explorer: Doppelklick auf Poperties: Im Reiter "Debug": Command line arguments

mfg dechavue

07.02.2007 - 15:01 Uhr

Hi,

In diesem DirectX Tutorial ist ein beispiel, bei welchem ein Terrain anhand eines .bmp Files erstellt wird (Farbwert entspricht der höhe) wenn du die Funktion LoadHeightData() entsprechend änderst, dass nich mehr aus einer Datei sondern aus deinen Messdaten geladen wird müsste das eigentlich genau das sein was du suchst.
In einem der Späteren Schritte wird das ganze noch erweitert, dass du je nach höhenbereich einen Unterschiedlichen Farbwert hast, was bei Messdaten eventuell auch ganz interesant sein dürfte.

mfg dechavue

06.02.2007 - 11:02 Uhr

Hi,

Mit


DateTime.Now.Year
DateTime.Now.Month

kriegst du das aktuelle Jahr / Monat. Das musst du jetzt nur noch in deinen Code einsetzen.

mfg dechavue