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 Programmierhans
Thema: FileLoadException bei Zugreifen per API auf Simulationstool
Am im Forum: Rund um die Programmierung

Hat Siemens auch Beispiel-Projekte mitgeliefert ?

Funktionieren diese auf Deinem Rechner ? Wenn Diese funzen, dann machst Du was falsch und kannst in diesen Projekten schauen was wie referenziert wird....

Wenn diese nicht funzen, dann liegt es an der Installation...

Thema: FileLoadException bei Zugreifen per API auf Simulationstool
Am im Forum: Rund um die Programmierung

Entweder liegt die Tecnomatix.Engineering dll nicht in der richtigen Version im Verzeichnis ( Version=11.0.0.440 )... oder diese dll verwendet noch weitere Dll's welche nicht gefunden werden !

Thema: Bild in DatagridviewComboBox darstellen
Am im Forum: GUI: Windows-Forms

Schau mal wie das in einer ListBox geht: Listbox für Bilder

Thema: Undo/Redo Best Practices
Am im Forum: Rund um die Programmierung

Schau Dir das noch an: Kopie ohne ICloneable [oder warum man Objekte nicht kopieren sollte; Transaktionen auf Objekten]

Thema: CheckedListBox: check items Steuerung und Auswertung
Am im Forum: GUI: Windows-Forms

Hier nur noch eine viel einfachere Möglichkeit:


        private bool _InItemCheckEvent = false;
        void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (this._InItemCheckEvent)
            {
                return;
            }
            this._InItemCheckEvent = true;
            bool blnChecked = (e.NewValue == CheckState.Checked);
            if (e.Index == 0) //Alle
            {
                for (int i=1;i<this.checkedListBox1.Items.Count;i++)
                { 
                    this.checkedListBox1.SetItemChecked(i,blnChecked);
                }
            }
            else
            {
                if (blnChecked)
                {
                    this.checkedListBox1.SetItemChecked(0, this.checkedListBox1.CheckedItems.Count == this.checkedListBox1.Items.Count - 2);
                }
                else
                {
                    this.checkedListBox1.SetItemChecked(0, this.checkedListBox1.Items.Count-this.checkedListBox1.CheckedItems.Count == 1);
                }
            }
            this._InItemCheckEvent = false;
        }

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Eigentlich nur eine Spezielle Art von: Rucksackproblem

Thema: Was war euer erstes Projekt? Was waren eure ersten Schritte beim Programmieren?
Am im Forum: Smalltalk

Mein erstes Projekt war eine Kapselung von VBHLLAPI ... rausgekommen ist dabei die Fernsteuerung von 3270-Sessions eines IBM OS 390-Hosts per VB 3.

Thema: Diskussion zu "Forumsgeschichte"
Am im Forum: Smalltalk

Aha jetzt verstehe ich endlich wieso es hier Leute mit so vielen Posts gibt:-)

Das war jetzt natürlich nicht wirklich ernst gemeint :-)

Thema: Simulieren von STRG+V nach überschreiben der Tastenkombination (RegisterHotkey())
Am im Forum: Rund um die Programmierung

Und SHIFT+Insert ?

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Hier noch meine Implementierung:



        public static bool Contains<T>(this IEnumerable<T> source, IEnumerable<T> needle, IEqualityComparer<T> comparer)
        {
            if (!needle.Any())
            {
                //wenn b leer ist, dann sind alle aus needle (also keine) in source enthalten
                return true;
            }

            bool ret = false;

            IEnumerator<T> enumerA = source.GetEnumerator();
            var bFirst = needle.First();

            int iAOffset = 0;

            while (enumerA.MoveNext())
            {
               //zuerst nur gegen das erste element aus needle vergleichen
                if (comparer.Equals(enumerA.Current, bFirst))
                {
                    //das erste Item von needle passt schon mal
                    ret = true;

                    //einen inneren Enumerator ziehen und auf den äusseren synchronisieren
                    IEnumerator<T> innerA = source.Skip(iAOffset).GetEnumerator();
                    IEnumerator<T> innerB = needle.GetEnumerator();
                    while (ret)
                    {
                        if (innerB.MoveNext())
                        {
                            //verschiebe auch A
                            if (innerA.MoveNext())
                            {
                                ret = comparer.Equals(innerA.Current, innerB.Current);
                            }
                            else
                            {
                                //InnerA ist am Ende also kann B nicht mehr matchen
                                ret = false;
                                break;
                            }
                        }
                        else
                        {
                            if (ret)
                            {
                                //InnerB ist am Ende und ret ist true also kann die Suche abgebrochen werden
                                return ret; 
                            }
                        }
                    }
                } 
                iAOffset += 1;
            }

            return ret;


        }

source: a; b; c; d; e; f; g; needle: Erwartet: True Result: True
source: a; b; c; d; e; f; g; needle: b; a; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: a; b; Erwartet: True Result: True
source: a; b; c; d; e; f; g; needle: e; f; g; Erwartet: True Result: True
source: a; b; c; d; e; f; g; needle: f; g; h; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: f; g; g; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: a; c; e; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: a; b; b; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: a; h; Erwartet: False Result: False


Passt oder habe ich was übersehen ?

Gruss
Programmierhans

Thema: DataGridView: Sortierung (automatisch) aktualisieren, nachdem sich (Sortier-)Werte geändert haben
Am im Forum: GUI: Windows-Forms

Mach mal ein BeginEdit vor
und EndEdit nach dem setzen.

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

@HiGHteK

Die Lösung ist falsch.

source: a; b; c; d; e; f; g; needle: b; a; Erwartet: False Result: False
source: a; b; c; d; e; f; g; needle: a; b; Erwartet: True Result: True
source: a; b; c; d; e; f; g; needle: e; f; g; Erwartet: True Result: True
source: a; b; c; d; e; f; g; needle: f; g; h; Erwartet: False Result: True
source: a; b; c; d; e; f; g; needle: f; g; g; Erwartet: False Result: True
source: a; b; c; d; e; f; g; needle: a; c; e; Erwartet: False Result: False


Gruss
Programmierhans

Thema: Form in einem anderen Form anzeigen
Am im Forum: GUI: Windows-Forms

UserControl statt Form

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Zitat von pdelvo
Leider enthällt deine Lösung einige Fehler:
  • Du kannst nicht davon ausgehen, dass die Klasse ToString korrekt implementiert, und vorallem kannst du nicht davon ausgehen, dass Die ToString zuordnung eindeutig ist

:-) Es ist eine ganz schmerzfreie Implementierung nur genau für dieses Szenario (mit den strikt aufeinander folgenden Strings)... das bin ich mir durchaus bewusst... deshalb auch der Hinweis dass es eine sehr plumpe Lösung ist.

Aber schön dass es jemand gemerkt hat :-)... meine Lösung war ja auch mehr als Scherz gedacht :-)

PS: In genau diesem Szenario würden die Ergebnisse passen.

Gruss
Programmierhans

Thema: iMessageFilter zur Unterscheidung von USB Scanner und Tastatur
Am im Forum: GUI: Windows-Forms

Wir haben in einer einzigen Anwendung einen über die Tastatur geschleiften Scanner (ansonsten native).

Wir verlangen im Barcode Präfix und Suffix...

[vomScanner]

vonTastatur

So kannst Du das unterscheiden.

--> also im Prinzip eine der von trib vorgeschlagenen Methoden.

Funzt jeden Tag ohne Problems.

Gruss
Programmierhans

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Zugegeben eine plumpe Lösung:


public static bool Contains<T>(IEnumerable<T> enumerable, IEnumerable<T> item, IEqualityComparer<T> comparer)
{

	StringBuilder sbA = new StringBuilder();
        StringBuilder sbB = new StringBuilder();

        foreach (var a in enumerable)
        {
            sbA.Append(a.ToString());
        }

        foreach (var b in item)
        {
            sbB.Append(b);
        }

        return sbA.ToString().IndexOf(sbB.ToString())>-1;
}

Thema: Drag and Drop auf ein Panel
Am im Forum: GUI: Windows-Forms

Google-Suche nach msdn DataFormats.Bitmap

Nachtrag: IDataObject.GetFormats-Methode

Du kannst ja prüfen was alles im e.Data verfügbar ist... Nur was verfügbar ist kannst Du auch verwenden...

Thema: Drag and Drop auf ein Panel
Am im Forum: GUI: Windows-Forms

Zitat von BlackArma


        private void levelPanel_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.Bitmap)) <------------
            {
                e.Effect = DragDropEffects.Copy;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

        private void levelPanel_DragDrop(object sender, DragEventArgs e)
        {
            string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop)); <---------
            foreach (string fileLoc in filePaths)
            {
                if (File.Exists(fileLoc))
                {
                    try
                    {
                        Point localPoint = levelPanel.PointToClient(new Point(e.X, e.Y));
                        AddSprite(fileLoc, localPoint.X, localPoint.Y);
                    }
                    catch
                    {
                        MessageBox.Show("Falsches Datenformat?"
                              + "\nErlaubt Formate sind: *.png, *.jpeg, *.bmp ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }


Schau mal die Pfeile... und klingelts ?

Thema: Bildschirminhalt der Konsole zählen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Console als Steuerelement einbinden

Thema: Child:Parent:UserControl Probleme mit dem Designer
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Schau Dir mal das hier an:

UserControl kann im Designer nicht hinzugefügt werden

So kannst Du mal prüfen welcher Code deiner BasisView im Designer auf die Bretter geht...

Und ev. verstehst Du dann was ich in meinem vorherigen Post gemeint habe (wie Du über ein Flag problematischen Code im Designer umgehen kannst).

Gruss
Programmierhans

Thema: Child:Parent:UserControl Probleme mit dem Designer
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ohne jetzt alles im Detail zu lesen:

Wieso machst Du in der BaseClass nicht 2 Constructors...

1) Default-Constructor ohne Params (das ist der Ctor den der Designer aufruft)
2) einen Constructor mit Params welchen Du aus den vererbenden Klassen aufrufst.

Je nach Constructor kannst Du Dir dann ein Flag setzen ob problematischer Code ausgeführt werden soll oder nicht.

Gruss
Programmierhans

Thema: [erledigt] #if DEBUG in einem Addin wenn Host=Release Build
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Looooool

Vergesst es... ich bin so was von blind....

Im EXE ist der Code auch in einer #IF DEBUG-Region...

Sprich der Code des Addin wird nicht aufgerufen weil das im EXE auch so ist.

Ist somit erledigt.

Danke für die Hilfe

Gruss der Blinde

Thema: [erledigt] #if DEBUG in einem Addin wenn Host=Release Build
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Björn
definier eine andere Variable als DEBUG, welche auch im Release Build definiert ist.

Hallo Björn

Ich präzisiere es noch ein wenig:

- Mein StartProjekt ist das Addin... welches das externe-Program (den Host) startet...

Ziel: Wenn mein Addin in DEBUG ist, dann möchte ich dass die #if DEBUG Statements aktiv sind... wenn ich in RELEASE bin, dann sollen diese nicht aktiv sein.

Eine weitere Variable im HOST ändert daran nichts... Ich will ja eben den Host nicht wechseln müssen :-)

PS: sonst kann ich ja auch den Host auswechseln (Debug/Release-Version)... und genau das möchte ich nicht.

Gruss
Programmierhans

Thema: Füllen eines TreeView blockiert Form
Am im Forum: GUI: Windows-Forms

Auch das hatten wir schon mal:

Rekursiver TreeView Save/Restore aufgrund des FullPaths

Gruss Programmierhans

Thema: [erledigt] #if DEBUG in einem Addin wenn Host=Release Build
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Miteinander

Ich habe ein Dll welches als DEBUG gebuildet ist.

In diesem Dll verwende ich an diversen Stellen


#if DEBUG

Wenn der Host (welcher das Dll lädt) als Release gebuildet ist, dann läuft der Code im #if DEBUG nicht ein.

Kann man das irgendwie anpassen ?

Ziel: Host ist Release-Build / Dll ist Release oder Debug.

Gruss
Programmierhans

Thema: Füllen eines TreeView blockiert Form
Am im Forum: GUI: Windows-Forms

Verzögertes Laden von Daten im TreeView

Oder dessen Base LoadOnDemandTreeView (suche verwenden)

Thema: Dokument1 über Office Add-In schließen
Am im Forum: Office-Technologien

Lies Dir das schon mal durch (da geht's zwar um Excel... ist aber das selbe)

EXCEL wirklich schliessen

Damit Du die Objekte auch wieder sauber schliessen kannst.

Gruss
Programmierhans

Thema: Mehrere Tabpages aufgrund von Kriterien entfernen
Am im Forum: GUI: Windows-Forms

Da Du eh gleich auf einen Fehler laufen wirst :-)

Ein Remove aus einer Collection während Du über diese iterierst wird nicht funktionieren.

Gruss
Programmierhans

Thema: Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden
Am im Forum: Office-Technologien

Könnte auch daran liegen dass dass WorkSheet noch referenziert wird...

Guck mal da: EXCEL wirklich schliessen

Thema: fixed in C#? (oder: welcher data type ist '32-bit signed fixed-point number (16.16)' ?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ev. findest Du hier noch Code:

http://fontforge.org/