Laden...
Avatar #avatar-2909.png
michlG myCSharp.de - Experte
Student + Programmierer Naturns - Südtirol - Italien Dabei seit 26.07.2007 3.430 Beiträge
Benutzerbeschreibung

Forenbeiträge von michlG Ingesamt 3.430 Beiträge

04.01.2008 - 14:46 Uhr

Hallo,

Ich arbeite gerade an einem Programm, welches zu Erstellung von Statistiken gebraucht wird.

Mit einem Klick auf den Button ("Neue Statistik erstellen") wird eine neue Instanz von dieser Form erstellt (es gibt nur EINE Form). Nun habe ich aber das Problem, dass alle Fenster geschlossen werden, sobald das Hauptfenster geschlossen wird.

Ich habe da eine Lösung gefunden, indem ich einfach dieses Programm mit folgendem Befehl neu aufrufe.


System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("MeinProgramm.exe"); 

System.Diagnostics.Process.Start(startInfo);

Dabei habe ich jedoch noch das Problem, dass ich dem Programmaufruf keine Paramteter übergeben kann. Gibt es dafür eine gute Möglichkeit??

Vielen Dank im Voraus

mfg
MichlG

21.12.2007 - 19:17 Uhr

Danke veasel

Das habe ich mir schon fast gedacht.

Trotzdem Vielen Dank

Gruss MichlG

21.12.2007 - 11:04 Uhr

Hi @all,

Ich habe ein kleines Problem, da ich in meinem Programm checkboxen und einen treeview verwende. Dieses Programm muss jedoch auch mit einem Touchscreen leicht zu bedienen gehen. Deshalb würde ich die Checkbox und die "+" im Treeview ein bisschen vergrößern.

Hat da jemand von euch eine Lösung???

Vielen Dank im Voraus
michlG

28.11.2007 - 18:34 Uhr

Hallo frisch,

danke für deine schnelle Antwort, 👍

hat jemand von euch noch einen Link mit einer kleinen Beschreibung oder Beispiel zur XMLSerialization.

Vielen Dank im Voraus

michlG

28.11.2007 - 17:23 Uhr

Hallo,

ich hätte da wieder einmal so eine kleine Frage.
Ich möchte Daten für meine Anwendung (Datenbank server name usw.) zwischenspeichern. Damit der User diese umändern kann, diese aber anschließend trotzdem für den nächsten Aufruf des Programms gespeichert werden.
Man könnte das ganze zwar in einer Textdatei speichern, das ist jedoch sehr unsicher (sofern man die Daten nicht irgendwie verschlüsselt).

Gibt es dafür eine Technik die besser für mein Problem geeignet.

Bin für jede Antwort dankbar 👍

gruss
MichlG

24.11.2007 - 15:02 Uhr

Vielen Dank erstmal,

da ich plane an einem späteren Zeitpunkt diverse Berechnungen durchzuführen, bevor die Daten gelöscht werden, um dann z.B. den Mittelwert von 100 Datensätzen abzuspeichern habe ich mir gedenkt dass dafür CLR besser geeignet sein würde.

Aber die Wartungspläne sind genau das was ich gesucht habe. danke

mfg
michlG

23.11.2007 - 23:02 Uhr

Hallo,

Danke für eure Antworten.

@robbyrc
Ja das müsste so schon funktionieren, aber das sollte von der Datenbank selbst automatisch z.B. 1 mal am Tag ausgeführt werden.

@blackcoin
Ja da hast du schun recht, ich habe diese 10 Minuten nur geschrieben, damit man es besser versteht, dass das zyklisch ausgeführt werden soll. Aber trotzdem danke für deine Antwort.

Ich denke mal, dass es am Besten wäre es mit einer CLR-Funktion zu erledigen. Gibt es im SQL-Server die Möglichkeit eine Funktion zyklisch aufzurufen??, denn normalerweise werden diese Funktionen z.B. bei eintragen von neunen Daten aufgerufen.

Kenn jemand von euch ein Online-Tutorial zu CLR??

Falls ich irgendwelches wirres Zeug geschrieben habe, dann wirds wohl daran liegen, dass es schon ein bisschen später ist. 🙂

Vielen Dank im Vorraus
mfg
MichlG

23.11.2007 - 21:33 Uhr

verwendetes Datenbanksystem: <Microsoft SQL 2005 Express>

Hallo,

ich möchte eine Datenbank erstellen, die viele Datensätze enthält, wobei jeder ein Feld mit dem Aufzeichnungszeitpunkt hat. Dabei soll die Datenbank z.B. alle 10 Minuten automatisch kontrollieren ob ein Datensatz enthalten ist, welcher älter als ein Jahr ist und Ihn löschen.

Hab ihr für dieses Problem einen Vorschlag??
Welche Technologie würdet ihr mir dafür empfehlen??

Vielen Dank im Voraus
michlG

04.10.2007 - 21:05 Uhr

Hallo blackcoin,

danke für die schnelle antwort 👍.
das war genau das wonach ich gesucht habe.

mfg

04.10.2007 - 20:51 Uhr

Hallo @all,

ich habe gerade das problem dass ich einen zweidimensionanlen Array habe, und die Längen x - und y herausfinden möchte. Der .length befehl zeigt leider nur die gesamte anzahl der Felder im array.

bei int[7,10] gibt es 70 zurück, weil es ja auch 70 elemente enthält.

Ich möchte einfach nachträglich herausfinden können, wie wiele x (z.B. 7) und y (z.B. 10) elemente der array hat.

Gibts dafür eine passende methode??

Vielen Dank im Voraus 👍
michlG

17.08.2007 - 20:49 Uhr

Bin auch nur Freizeitprogrammierer, möchte aber in einem Jahr (sobald ich das Abitur habe) davon Leben können.

So und nun zum Thema Schule. Die Lehrer in meiner Schule sind fast ausschliesslich "Freaks" 😄, welche auf jeder Frage ne Antwort wissen und das Ganze recht gut erklären können.

Momentan programmiere ich parallel zur Schule kleinere Programme für eine Firma.

Fazit: Parallel zur Schule zu programmieren ist eine sehr gute Möglichkeit Erfahrungen in diesem Bereich zu erlangen. Und um festzustellen ob diese Arbeit auch etwas für einen ist.

Gruss MichlG

17.08.2007 - 19:51 Uhr

SQL Server 2005

Hallo,

ich muss bilder zu einem Bestimmten Datensatz abspeichern, aber bin nicht sicher wie ich das am besten lösen kann.

Soll ich die Bilder (ca. 100kB) einfach direkt in die Datenbank speichern, oder ist es besser das Bild in einen Ordner auf das Dateisystem zu speichern.

Welche der beiden Versionen ist besser, schneller, oder braucht weniger Speicherplatz.

Vielen Dank im Vorraus

Gruss MichlG

10.08.2007 - 16:13 Uhr

Hallo ian_mcdeath,

Du kannst ja einfach der Gifanimation einen Rand hinzufügen. Oder du legts unter die Picturebox ein Rectangle welches ein klein wenig größer ist. dieses kannst du schwarz färben und erhälst anschliessend den von dir gewünschten Rahmen.

Gruss
michlG

10.08.2007 - 12:48 Uhr

Danke Talla 👍,

das war die Lösung für mein Problem. Es geht wirklich fast gleich wie unter .Net Framework 2.0 😁

Gruss
MichlG

09.08.2007 - 21:02 Uhr

Hallo,

So, jetzt bin ich schon wieder einer mit dem selbem Problem. Ich benötige einen zweiten Thread, der daten aus der Datenbank holt, und anschließend ein Element über den GUI-Thread aktualisiert. Ich habe schon sehr lange recherchiert und auch einiges gefunden, aber jetzt ist mir aufgefallen dass diese Lösungen mit dem Invoke wohl nicht für WPF (.NET Framework 3.0) sind, oder muss man da irgend einen Assemblyverweis machen.

Gibt es für das .NET Framework 3.0 etwas anderes (ähnliches) für dieses Problem, oder habe ich momentan einen Denkfehler 🤔?

Vielen Dank im Voraus
Gruss MichlG

09.08.2007 - 11:46 Uhr

Danke talla,

genau das habe ich gebraucht 👍.

Gruss
michlG

09.08.2007 - 11:26 Uhr

Hallo Leute,

gibt es eine Methode mit der man in C# WPF-Elemente drehen kann. Denn ich brauche es um eine Linie abhängig von dem Wert einer Variable zu drehen.

Geht das im C#-Code, oder muss man das auf XAML-Basis machen?

Vielen Dank im Vorraus

Gruss
MichlG

08.08.2007 - 13:41 Uhr

Hallo Dengel,

der Vorschlag von Hebivore ist sicher der beste (eleganteste) Weg. Wenn dir das ein wenig zu kompliziert sein sollte, so kannst du ja auch den ganzen String nach " splitten.

String[] teile = zeile.Split('"');

Der String zeile enthält eine Zeile aus der Textdatei z.B. DISPLAY "KYOCERA" ; SHARP, KYOCERA, NEC, ... ### KYOCERA ###

Der Teile array sieht nun wie folgt aus:
teile[0] = DISPLAY
teile[1] = KYOCERA
teile[2] = ; SHARP, KYOCERA, NEC, ... ### KYOCERA ###

So nun hast du in teile[1] den von dir gewünschten Teil.
Das ist zwar nicht die schönste Lösung, ist aber relativ einfach und funktioniert einwandfrei.

Gruss
MichlG

08.08.2007 - 12:01 Uhr

Hallo,

Die Splitmethode splittet den String mit den mitgegebenen Zeichen auf und gibt einen String-Array zurück welcher alle Teile enthält.

String mitarbeiter = "Michael Gsdd 22222222";
String[] teile = mitarbeiter.Split(' ');

So im Teile Array siehts nun wie folgt aus:
teile[0]=Michael
teile[1]=Gsdd
teile[2]=2222222

Der Mitgabewert der splitmethode ist das Zeichen(char) bei dem der String geteilt wird. Bei diesem Beispiel habe ich einfach ein Leerzeichen verwendet um den String nach den einzelnen Teilen aufzuteilen.

Somit kannst du einfach bei der Abfrage folgendes einfügen

String query = "DELETE FROM mitarbeiter WHERE vorname='" + teile[0] + "' AND name='"+teile[1] +"' AND telefonnummer="+teile[2];

Gruss
michlG

08.08.2007 - 11:39 Uhr

Hallo haxXxy,

ich würde dir auch die Lösung mit der ID empfehlen, da es am einfachsten und am elegantesten ist. Sollte es dir jedoch aus irgendwelchen Gründen nicht möglich sein die Datenbank abzuändern, so kannst du ja auch den String den du in die listbox gespeichert hast mit den String-Funktionen (Split) zerlegen.

HAst du Ihn erstmal zerlegt, dann kannst du ganz einfach in der Datenbank nach den Datensatz suchen, zu dem allte Teile (Name, Vorname, Telefonnummer) passen und diesen Löschen.

Gruss
MichlG

07.08.2007 - 19:55 Uhr

Hallo Reverent,

Normalerweise wird einem immer gesagt dass man die joins verwenden soll, weil es angeblich der elegantere Weg ist.

Erst bei riesigen Datenbanken wird man Unterschiede zwischen den beiden Abfragen erkennen können, aber welche wirklich schneller ist kann ich dir auch nicht sagen.

Mach doch mal selbst einen Versuch welche der beiden Abfragen schneller ist, indem du einfach alle notwendigen Tabellen mit riesigen Datenmengen füllst und anschließend die Zeit misst die für die Abfrage benötigt wird.

Gruss
MichlG

07.08.2007 - 16:08 Uhr

Hallo,

Ja das wird schon so sein, du hast aber trotzdem welche vergessen:

Original von Albe51
Box1
Box1 und Box2,
Box1 und Box2 und Box3,
Box1 und Box2 und Box3 und Box4,
Box2,
Box2 und Box3,
Box2 und Box3 und Box4,
Box3,
Box3 und Box4,
Box4,

  • keine Box sind 11
    Albert 😄

Was ist mit

Box1 und Box3
Box1 und Box4
Box1 und Box2 und Box4
Box1 und Box3 und Box4
Box2 und Box4

PS: So sind es alle 16 Möglichkeiten (sofern ich mich nicht verzählt habe) 🙂, solltest du uns immer noch nicht glauben, dann wirds wol daran liegen dass ich auch nur eine 8 in Mathe hatte (bei uns ist jedoch zehn das Beste und und 4 das Schlechteste).

PS: Ich hoffe diese Problem haben wir somit gelöst 😉

Gruss MichlG

07.08.2007 - 13:11 Uhr

Hallo,

dadurch dass du für die ausgabe des Texts gar nicht die genaue Kombination kennen musst kannst du einfach jede einzele Checkbox abfragen und wenn sie checked ist den gewünschten Text zu einer Variable hinzufügen.

Wie schon Hebivore geschrieben hat ist das eine sehr gute Übung, die man auch selber lösen sollte.

PS: es reichen vier if um das Problem zu lösen

Gruss MichlG

07.08.2007 - 12:53 Uhr

Hallo,

versuche doch einfach einmal die ganzen Kombinationen mittels if durchzugehen.
Anschliessend kannst du das Ergebnis auswerten.

z.B.

if(Convert.ToBoolean(checkbox1.IsChecked) && !Convert.ToBoolean(checkbox2.IsChecked) && !Convert.ToBoolean(checkbox3.IsChecked) && !Convert.ToBoolean(checkbox3.IsChecked)){
    //Ergebnis auswerten für check1 ausgewählt und der Rest nicht ausgewählt
}

Das müsstest du halt noch vervollständigen.

PS: es sind wirklich 16 verschieden Kombinationen möglich

Gruss MichlG

30.07.2007 - 19:40 Uhr

Hallo sepp_a_u,

Es gibt einen ganz einfache Lösung für dein Problem.
Du kannst dafür die if-abfrage, oder das switch-case verwenden

z.B.

if(eingabe=1 && zufallszahl=2)
     Console.WriteLine("Der Computer hat gegen dich gewonnen");
else if(eingabe=1 && zufallszahl=3)
     Console.WriteLine("Du hast gegen de Computer gewonnen");
else if(eingabe=1 && zufallszahl=1)
     Console.WriteLine("Unentschieden");
else if(eingabe=2 && zufallszahl=1)
     Console.WriteLine("Du hast gegen den Computer gewonnen");

...........

Den Rest lass ich dich selber machen 😉

gruss Michael

28.07.2007 - 13:25 Uhr

Danke für die schnelle Antwort 👍,

genau das war die Lösung für mein Problem

Gruss MichlG

28.07.2007 - 12:49 Uhr

Hallo,

kenn jemand von euch eine Möglichkeit ein Bild (Diagramm) im ScrollViewer anzuzeigen, welches größer als der ScrollViewer ist. Jedoch soll damit dann horizontal und vertical gescrollt werden, Um das ganze Bild betrachten zu können (normalerweise geht das ja nur in einer Richtung).

Kann man das einstellen, oder gibt es vieleicht auch noch ein Control welches besser dafür geeignet ist??

Gruss michlG

27.07.2007 - 13:10 Uhr

Danke nochmal.

Das Problem ist jetzt schon so gut wie gelöst.

Gruss
MichlG

26.07.2007 - 21:08 Uhr

Vielen Dank für die schnelle antwort.

Dein Vorschlag klingt sehr gut.
Aber wie genau hast du dir da die Umsetzung vorgestellt.
Welches MouseEvent würdest du abfangen?

Ich habe mir gedacht das MouseLeftButtonDown Event abzufangen und mir die Position des Mousezeigers zu merken. Anschliessend würde ich noch das MouseLeftButtonUp Event abfangen, und mit der neuen Position die zurückgelegte Distanz errechnen.

Somit könnte ich dann alle Elemente wie gewollt vergrößern bzw. verkleinern.

Gibt es dafür noch eine einfachere Möglichkeit.

Gruss
MichlG

26.07.2007 - 17:20 Uhr

Hallo,

Ich erarbeite gerade ein Projekt mit WPF und bin auf folgendes Problem gestossen. Da Fenster ohne Rahmen (mit Transparenten Flächen) viel besser aussehen 😄, habe ich mir überlegt so etwas zu machen. Jedoch habe ich nun das Problem, dass der Endanwender dieses fenster nicht vergrössern bzw. verkleinern kann 😦.

Momentan habe ich somit eine fixe größe 1024768, welche nicht verändert werden kann. also haben manche mit auflösungen von 800600 nichtmal das ganze Programm platz und bei sehr grossen auflösungen ist der halbe bilschirm leer.

Gibt es eine möglichkeit dieses Problem zu lösen.
Ich habe mir gedacht dass es auch durch zoomen möglich sein müsste.

Hat da jemand eine Lösung dafür?

Gruss
MichlG