Laden...
D
DaemNice myCSharp.de - Member
Student Oberösterreich Dabei seit 28.08.2009 67 Beiträge
Benutzerbeschreibung
Lebenseinstellung: Körper und Geist täglich herausfordern

Forenbeiträge von DaemNice Ingesamt 67 Beiträge

30.05.2011 - 07:55 Uhr

Weils gerade passt:
An der Uni hatten wir mal .NET als Freifach. Dabei sind wir auch auf das Thema der Decompilierung gekommen. Der Vorlesende (Mitarbeiter von MS) meinte dazu, dass Sie es mal mit einer Hackergruppe zu tun hatten die in 3 Jahren Arbeit Windows (weiß jetzt nicht mehr ob es 2000 oder XP war) "decompilierten".

Und die Moral von der Geschicht:
Wenn jemand das benötigte Know-How hat, das ist es nur eine Frage der Zeit.

04.05.2011 - 10:48 Uhr

Hab auch wiedermal was tolles beim durchforsten von Code in der Firma gefunden:

public new void Hide()
{
     base.Hide();
}
26.04.2011 - 14:42 Uhr

Denke mal folgendes hilft weiter:

Zuerst war das Array:
Allerdings hat dieses den Nachteil das es von fixer Größe ist.

Dann kam die ArrayList:
Ist dynamisch in der Größe. Hat ein object[] im Hintergrund und hat folgende Probleme:

  1. Nicht Typesave: Du weißt nie mit sicherheit welcher Datentyp zurückkommt
  2. Langsam: Wegen der ganzen Boxing und Unboxing Operationen

Dann kammen Generics: (z.B. List<T>)
Hier gibt man per Typparameter (das T in List<T>) an welche Daten gespeichert werden. Im Hintergrund hast du ein T[]. Somit

  1. Typesave
  2. Schneller: ca. 4mal schneller als ArrayList (hab ich aus nem Benchmark mit 10.000.000 schreib + leseoperationen)
26.04.2011 - 14:23 Uhr

Habs auch mal probiert.

Bekomm bei der 2ten Datei folgende Fehlermeldung:

Fehlermeldung:
Unbehandelte Ausnahme: System.IO.IOException: Der Prozess kann nicht auf die Dat
ei "C:\test\Neues Textdokument2.txt" zugreifen, da sie von einem anderen Prozess
verwendet wird.
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access,
Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions
options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boole
an useLongPath)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, FileOptions options)
bei System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean dete
ctEncodingFromByteOrderMarks, Int32 bufferSize)
bei System.IO.StreamReader..ctor(String path)
bei ConsoleApplication1.Program.Worker.CreateFile(Object sender, FileSystemEv
entArgs e) in c:\users\dominik.bos\documents\visual studio 2010\Projects\Console
Application1\ConsoleApplication1\Program.cs:Zeile 57.
bei System.IO.FileSystemEventHandler.Invoke(Object sender, FileSystemEventArg
s e)
bei System.IO.FileSystemWatcher.OnCreated(FileSystemEventArgs e)
bei System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, Strin
g name)
bei System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UIn
t32 numBytes, NativeOverlapped* overlappedPointer)
bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32
errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Hoffe es hilft

04.03.2011 - 12:45 Uhr

OK,

Vermutlich ist es nicht möglich (Wenn man das Beispiel oben nochmal betrachtet), dass man einfach aus dem DataSet die Tabelle auf das Datagrid zieht und dann unter "Spalten bearbeiten" die Spalten der anderen Tabellen hinzuzufügen.

Kann mir diese Vermutung jemand bestätigen oder wiederlegen?

Lg
Tom

04.03.2011 - 12:11 Uhr

Es bräuchte nichtmal bearbeitbar sein

04.03.2011 - 11:58 Uhr

verwendetes Datenbanksystem: SQL-Server 2008

Hallo Community,

Gibt es eine schöne Möglichkeit wie man Spalten mehrerer verknüpfter Tabellen schön in ein DGV einbinden kann?

z.B.:

Tabelle Person

ID
Name
FahrzeugID

Tabelle Fahrzeug

ID
Name
FahrzeugArtID

Tabelle Fahrzeugart

ID
Name

Im DataGridView möchte ich nun für jede Person folgede Spalten:
Person.Name, Fahrzeug.Name, Fahrzeugart.Name

Lg
Tom

26.07.2010 - 12:14 Uhr

Hab mir die Ereignisse angesehen, leider helfen sie nicht wirklich weiter. Ich vermute das dieses Szenario von MS nicht berücksichtigt wurde. Falls noch jemand Ideen hat würde ich mich sehr freuen.

25.07.2010 - 21:42 Uhr

Hallo,

Gibt es beim MS Sync Framework 2.0 eine Möglichkeit ähnlich wie bei z.B. Subversion für folgenden Fall einen Konflikt (oder irgendwas Anderes) zu bekommen.

Ich will von Ordner A nach Ordner B synchronisieren
In beiden Ordnern wurde an einer Datei file gearbeitet
Nun würde ich gerne eine Meldung erhalten sodass der User entscheiden kann ob die Datei überschrieben werden soll.

Lg
Dominik

23.07.2010 - 21:39 Uhr

Sollen es 2 extensionmethods werden (klingt fast zu einfach) oder soll es wie ich vermute nur eine werden (auch wenn ich mir noch nicht vorstellen kann wie eine extensionmethod sowohl auf string als auch auf list<list<double>> angewendet werden soll).

10.07.2010 - 22:25 Uhr

Dir ist schon klar das das ne endlosschleife ist.

sobald die Methode DoUpdateAndDraw fertig ist wird sie wieder aufgerufen

08.07.2010 - 13:38 Uhr

i = 0x03;

(i & i) == (--i & i--)
(a & b) == (c & d)

1.) a = i ==> i=4; a=4
2.) c = --i ==> i=3; c=3
3.) b = i
==> b=3; i=4
4.) d = i-- ==> d=4; i=3

i ist wieder 3 und a&b ist gleich c&d

Somit ist h=i++ ==> h=3< i=4

Ausgabe: h = 3 | i = 4

Wobei es auch sein kann das 1 und 2 bzw. 3 und 4 jeweils in umgekehrter Reihenfolge ausgeführt werden. (Ergebnis bleibt gleich)

18.06.2010 - 15:03 Uhr

Hier in Österreich gibt es da ubook wo man als Student jeweils zu Semesterbeginn ein Apple, HP, Lenovo Laptop zu guten Preisen kaufen kann.

Frag mal bei der Uni nach ob es in Deutschland was ähnliches gibt.

05.03.2010 - 18:03 Uhr

Danke.

Wenn es zwingend auf Performance drauf ankommt, ist zweitere Variante etwas schneller.

Könntest du mir noch erklären warum die zweite Variante etwas schneller ist?

05.03.2010 - 17:10 Uhr

Ich hät da mal ne Frage. Sind folgende zwei Klassen ident? Wenn nicht was ist der unterschied?


class MyClass
{
    List<object> list = new List<object>();

    MyClass()
    {
        //do construction
    }
}


class MyClass
{
    List<object> list;

    MyClass()
    {
        //do construction
        list = new List<object>();
    }
}

03.03.2010 - 14:47 Uhr

Wieder was dazugelernt, danke leute

03.03.2010 - 12:42 Uhr

herbivore: Wenn A grün wird, führt A (wirklich A, die Ampel) die Aktion "gehe über die Straße" aus. B hat damit nichts zu tun. Ein EventHandler läuft (ohne weiteres Zutun) immer in dem Thread, in dem der Event gefeuert wird.

Wird das nicht im folgenden Beispiel zum Problem:

Sagen wir ich hab 2 Forms. Auf der einen ist eine TrackBar auf der anderen eine TextBox. Wenn ich den Wert der TrackBar ändere dann feuert Form1 ein Event sodass in Form2 der Text der TextBox auf den jeweiligen Wert gesetzt wird.


public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            new Form2(this).Show();
        }

        public class ValueChangedEventArgs : EventArgs
        {
            private int value;

            public ValueChangedEventArgs(int value)
            {
                this.value = value;
            }

            public int Value
            {
                get
                {
                    return value;
                }
            }
        }

        public event EventHandler<ValueChangedEventArgs> ValueChanged;

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            onValueChanged(trackBar1.Value);
        }

        private void onValueChanged(int value)
        {
            EventHandler<ValueChangedEventArgs> valueChanged = ValueChanged;
            if (valueChanged != null)
            {
                valueChanged(this, new ValueChangedEventArgs(value));
            }
        }
    }


public partial class Form2 : Form
    {
        private Form2()
        {
            InitializeComponent();
        }

        public Form2(Form1 form)
            : this()
        {
            form.ValueChanged += new EventHandler<Form1.ValueChangedEventArgs>(form_ValueChanged);
        }

        void form_ValueChanged(object sender, Form1.ValueChangedEventArgs e)
        {
            textBox1.Text = e.Value.ToString();
        }
    }

Wenn ich das richtig verstanden habe setzt somit der Thread von Form1 den Text der TextBox von Form2, was ja eigentlich nicht sein sollte.

Bitte um Erklärung.

02.03.2010 - 18:50 Uhr

Erklärung an einem Beispiel:

Du stehst vor einem Zebrastreifen der durch eine Ampel geregelt wird. Es ist gerade rot.

Du siehst auf die Ampel (Beobachtest das Ereignis)
Ampel schaltet auf Grün (Ereignis wird ausgelöst)
Nun gehst du über die Strasse (Reaktion auf das Ereignis)

28.02.2010 - 10:24 Uhr

Könntest du mal das C++ Struct posten.

27.02.2010 - 22:31 Uhr

Um erlich zu sein kenn ich mich in den Bereich selbst nicht so richtig gut aus.
Ich vermute allerdings das du hier Marshal benötigst

Vielleicht hilft dir folgender Link weiter:
How to Marshal a C++ Class

21.02.2010 - 08:35 Uhr

Einen Thread zu erzeugen ist relativ teuer und kostet mindestens 1 MB Speicher. Wenn die Zahl der User groß ist, könnte die maximal erlaubte Anzahl oder der verfügbare Hauptspeicher gesprengt werden.

Danke,

Hab gerade n kleines Program mit 2000 Threads gestarted und der Speicherverbrauch ist enorm.

Wiedermal was dazugelernt.

20.02.2010 - 11:56 Uhr

Wikipedia: ELIZA ist ein 1966 von Joseph Weizenbaum entwickeltes Computerprogramm, das die Möglichkeiten der Kommunikation zwischen einem Menschen und einem Computer über natürliche Sprache aufzeigen sollte.

Den Code des Programmes kann man sich in verschiedenen Sprachen herunterladen. Vielleicht hilft es dir weiter.

19.02.2010 - 21:09 Uhr

Ich hätte da noch den Ansatz das für jeden User ein Thread erstellt wird, der in gewissen Abständen (=Timeout) nachsieht wie lang der letzte Zugriff schon her ist.
Wenn die Session vorbei ist wirft dieser ein Event. Dieses Event wird abgefangen und somit der User aus der Liste gelöscht.

Ist wie gesagt nur n Ansatz, kann nicht beurteilen inwieweit das von der Performace bzw. vom Design her gut bzw. schlecht ist.

13.02.2010 - 11:29 Uhr

Vermute das es was mit folgendem Code zu tun hat.


Spiel spieler1 = (Spiel)alle[int.Parse(spiel.Spieler1.ToString()) - 1];
Spiel spieler2 = (Spiel)alle[int.Parse(spiel.Spieler2.ToString()) - 1];

Vermute das in der Variable

alle

noch alte Werte drin sind. Ansonsten sieht nichts Verdächtig aus.

13.02.2010 - 11:02 Uhr

OK, wenn du von der Methode den aktuellen Wert bekommst muss es am schreiben in die Listbox liegen.

Poste doch mal n bischen Code. Vielleicht findet jemand dann das Problem.

12.02.2010 - 23:37 Uhr

Ich vermute das es einer der folgenden 2 Gründe ist:

  1. Der Wert wird nicht richtig in die Datenbank gespeichert -> Du greifst wieder auf den alten Wert zu
  2. Womöglich ein Problem beim setzen des Wertes ("Kein Repaint"?)

Ich würde eher zu Punkt Eins tendieren

12.02.2010 - 14:26 Uhr

Grundsätzlich gut gemacht.
Wie schon gesagt könnte es grafisch schöner gestaltet sein.

Hab da noch nen kleinen Mangel entdeckt:
Wenn man ein Schiff plaziert, geht es nach rechts und nach unten sofort mit, nach oben bzw. nach links ist es allerdings immer ein Feld zu spät dran.

Lg
Daem

01.10.2009 - 12:46 Uhr

Du kannst ein Addin für Excel schreiben.

Ob man auch Excel in eine Application integrieren kann bezweifle ich. Zumindest hab ich noch nichts davon gehört

30.09.2009 - 17:18 Uhr

Wenn ich das richtig verstehe erstellst du dir ne Formel inkl. Parametern in C# und fügst diese dann in Excel.Range.Formula ein.

Keine Ahnung ob man da was machen kann um Versionsunabhängig zu sein.
Ich würd eher sagen das du da auch noch Probleme bekommst wenn du Excel in verschiedenen Sprachen hast.

Besser wäre wenn du herausfindest was die Formel macht und du sie selbst implementierst.

30.09.2009 - 17:10 Uhr

Das ist ja mal sehr Interessant.

Hab jetzt mal folgendes Probiert:

Kleine Form mit nen Button


private void button1_Click(object sender, EventArgs e)
{
    var temp1 = new Microsoft.Office.Interop.Excel.Application();
    var temp2 = new Microsoft.Office.Interop.PowerPoint.Application();
}

Wenn ich nun im Debugger temp1.Windows.Count und temp2.Windows.Count beobachte, dann stimmt temp2.Windows.Count mit den tatsächlich offenen Fenstern überein, temp1.Windows.Count ist allerdings immer 0.

Vermute mal das ist ein MS Office Bug

30.09.2009 - 12:56 Uhr

Wir verwenden Add-In-Express um Excel-Add-Ins versionsunabhängig zu programmieren.

30.09.2009 - 10:25 Uhr

Wenn du für Standard die englischen Einstellungen verwendest, brauchst du ja die Englischen nicht mehr pflegen.

Somit hättest du Standard (=Englisch) und Deutsch

30.09.2009 - 10:19 Uhr

Du könntest auch die Aktivierungsreihenfolge setzen.

Dann kann man die Form auch super ohne Maus mit der Tabulatortaste durchlaufen.

29.09.2009 - 17:45 Uhr

Is jetzt zwar VB aber so kann man es machen:


Dim proc As New Process()
proc.StartInfo.FileName = "rundll32"
proc.StartInfo.Arguments = "printui.dll PrintUIEntry /y /n """ & stdPrinter & """"
proc.Start()

29.09.2009 - 14:55 Uhr

Sieh dir die Properties NumberFormat und NumberFormatLocal an.

Bei nem Datum beinhalten die z.B.: TT.MM.JJJJ

28.09.2009 - 09:37 Uhr

OK, habs nun selbst hinbekommen.

 'VB .net Code
Dim powerpnt = New PowerPoint.Application
Dim presentation As PowerPoint.Presentation

If powerpnt.Windows.Count > 0 Then
     presentation = powerpnt.ActivePresentation
Else
     presentation = powerpnt.Presentations.Add()
End If
28.09.2009 - 07:17 Uhr

Guten Morgen,

Ich habe vor, Daten aus Excel nach Powerpoint zu exportieren.
Dabei soll geprüft werden ob Powerpoint bereits läuft. Wenn nicht soll Powerpoint gestartet werden ansonsten soll die offene Applikation verwendet werden.

Meine Frage ist nun:

  1. Wie kann ich prüfen ob Powerpoint bereits läuft
  2. Wie bekom ich ein Powerpoint.Application Objekt des laufenden Powerpoint
25.09.2009 - 10:24 Uhr

Also er bringt beim debuggen bei application die meldung
"'Application' threw an exception of type "System.nullreferenceexception""

bei selection:
"The name "selection" does not exist in the current context"

habs jetzt wie in deinen link beschrieben so umgesetzt:

            if((Excel.Range)Application.Selection!=null)  
            {  
                Excel.Range temp_range = (Excel.Range)Application.Selection;  
            }  

aber dann kommt die gleiche fehlermeldung

es ist aber im excel ein zellenbereich markiert, also application.selection müsste ja eigl nen wert haben, oder?

Wenn Application == null dann bringt dir deine Abfrage gar nichts.

24.09.2009 - 13:05 Uhr

Ist zwar schon ne weile her das hier was gepostet wurde, aber ich bin neulich wieder auf das Spiel gestoßen und muss sagen des es doch ziemlich Spaß macht.

Wie JAck30lena schon schrieb kann man ne Menge an Ideen reinbringen.

Nicht nur für Anfänger sondern auch für Fortgeschrittene ein toller Zeitvertreib.

23.09.2009 - 16:30 Uhr

Hi aequitas,

Convert.ToString(dtDate.Value.ToString("MM.yyyy"))
könntest du noch zu
dtDate.Value.ToString("MM.yyyy")
verkürzen

22.09.2009 - 15:05 Uhr

Wer arbeitet mit SharpDevelop und kann mir sagen wie es im Vergleich zu Visual Studio ist.

18.09.2009 - 12:07 Uhr

Wenn ich das zweite Dictionary mit ner foreach-Schleife durchlaufe dann kommen die Werte allerdings in der Reihenfolge in der ich sie der Dictionary hinzugefügt habe. Und da diese nach Value sortiert hinzugefügt wurden sind sie ja sortiert.

Bitte sag mir wenn ich da was falsch denke

18.09.2009 - 09:54 Uhr

Auf die Weise kannst du ein zweites Dictionary erzeugen das nach den Values des ersten Dictionarys sortiert ist (Neue Werte kommen allerdings wieder hinten hinzu, also nichts mehr hinzufügen 😉):

Dictionary<string, string> temp1 = new Dictionary<string, string>();
temp1.Add("a", "d");
temp1.Add("b", "b");
temp1.Add("c", "f");
temp1.Add("d", "c");
temp1.Add("e", "a");
temp1.Add("f", "e");

Dictionary<string, string> temp2 = new Dictionary<string, string>();
foreach (var item in temp1.OrderBy(a => a.Value))
{
     temp2.Add(item.Key,item.Value);
}
11.09.2009 - 15:40 Uhr

Jetzt versteh ich nicht mehr was du willst.

Wenn du nur 2 Dateien austauschen willst ist fagju's antwort ganz gut (wenn auch sehr bescheiden 😄)

ansonsten bitte nochmal genau erklären was du willst

10.09.2009 - 14:46 Uhr

Da ich heute schon den ganzen Tag Excel Dateien in PDFs wandle werd ich auch mal meinen Mist dazugeben 😁

Bei uns in der Firma wird das so gemacht:
Aus einer Exceldatei wird eine Postscirptdatei erzeugt (Drucken).
Aus dieser Postscriptdatei wird dann ein PDF erzeugt (mit Ghostscript)

Perfomance:
Hab heute etwas herumprobiert und 215 Postscirptdateien (je 1ne Seite ExcelDiagram) werden in 1,5 Min. gewandelt. (also nichtmal 1/2 Sek. pro Datei)
Das Drucken der Postscriptdatei dauert ca. gleich lange.

Hoffe das Hilft

MFG
Dominik

09.09.2009 - 16:22 Uhr

Erstell in Form1 eine Variable vom Typ Form2

Im OpenForm2 EventHandler machst du dann folgendes:

temp = new Form2();
temp.Show();

Und im OpenForm2 EventHandler:

temp.Close();
09.09.2009 - 13:20 Uhr

Ist das nicht normal?
Ist bei mir auch so, hab keine devexpress tools installiert.

Kann ich nur bestätigen.
Auch bei mir Englisch obwohl deutsches VS 2008 Pro

07.09.2009 - 13:12 Uhr

Weil ich gerade nichts anderes zu tun hab (und weils mich selbst interessiert), habe ich mich mal mit dem Problem beschäftigt und ich muss sagen das es echt schwer ist da was zu finden.

Nach meinen derzeitigen Wissen musst du das Summary Information Property Set anzapfen.

Hier steht auch wie man das machen kann:
Access the Summary Information Property Set of a file using Visual C++
(ist allerdings in C++ und somit nicht wirklich meine Welt)

Wünsch dir viel glück damit

04.09.2009 - 14:03 Uhr

Wie wärs mit folgender Klasse
FileSystemWatcher-Klasse