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 markl
Thema: veröffentlichtes Programm startet nicht
Am im Forum: Datentechnologien

Dir fehlt wahrscheinlich die SQLite.Interop.dll.
Bei dir auf dem Rechner ist diese vermutlich im GAC gelandet.
Einfach die SQLite.Interop.dll in den Release/Debug-Order kopieren, dann sollte es laufen.

Thema: Vorraussetzungen um programmieren zu lernen?
Am im Forum: Smalltalk

Ich glaube, dass man Softwareentwicklung auch in diesem "hohen" Alter noch erlernen kann ;-)
Wie meine Vorgänger schon gesagt haben: Schnapp dir ein Open Book und leg los.
Mit C#/.NET hast du sicherlich eine gute Wahl getroffen.
Alternative ist natürlich immer TypeScript/JavaScript/ES, Swift oder Java (kommt auf das Anwendungsszenario an)
Aber wir sind ja hier im C#-Forum daher bleiben wir dabei.
Wenn du noch keine Idee hast was du bauen willst, dann ist es sicherlich nicht verkehrt einfach mit C# zu starten.
Mit C++ zu starten kann (muss aber nicht) frustrieren.

Installier dir am Anfang einfach VisualStudio 2017 Community und schnapp dir ein online Buch.

Viele fangen am Anfang an eine Applikation für den Windows zu bauen.

Ich würde am Anfang mit einer kleinen Consolen-Anwendung starten.
Da lernt man schnell was Variablen, Klassen, Methoden ... sind.
Alles fängt bei einer "Hello World" Applikation an...
Was eine IDE und ein Debugger ist wird dir dann schnell klar.

Ich wünsch dir viel Spass!
... und poste mal deine ersten Ergebnisse. Sowas ist immer spannend.

Thema: Druck erzeugen in Projekt auf Basis WPF MVVM
Am im Forum: Rund um die Programmierung

Bei "Druck erzeugen in Projekt ..." hab ich an Projektmanagement gedacht ;-)

zum Thema:
Es gibt dazu eine MSDN-Site die dies erklärt

Übersicht über das Drucken

Thema: Dynamisch erzeugte Tabs mit Daten befüllen
Am im Forum: GUI: Windows-Forms


public class TabPageCollection : IList, ICollection, IEnumerable

...somit kannst du durch eine Schleife (z.B. foreach) die TabPages erreichen.


foreach (var tabPage in tabControl1.TabPages)
{
    this.DoSomeThing(tabPage);
}


oder auch


for (int index = 0; index < tabControl1.TabPages.Count; index++)
{
    this.DoSomeThing(tabControl1.TabPages[index], index);
}

Thema: Informationen speichern beim wechseln der Form
Am im Forum: Grundlagen von C#

Zitat
Natürlich spielt das eine Rolle, vor allem wenn die Instanzen nicht mit Close geschlossen, sondern mit Hide versteckt werden - die bleiben ja dann erst mal im Speicher rumliegen, und das ist zumindest unschön wenn nicht sogar schlicht falsch.

Da hat MarsStein natürlich recht. Das Hide hatte ich glatt überlesen.

Thema: Informationen speichern beim wechseln der Form
Am im Forum: Grundlagen von C#

Jeder fängt mal an. Grundsätzlich ist es nicht verkehrt das genannt Buch zu "überfliegen".

Aber MarsStein hat schon recht. Vielleicht ist es besser nicht jedesmal eine neue Instanz zu erstellen.
Grundsätzlich gibt bei der Entwicklung mit C# und .NET (gilt übrigens auch für andere Sprachen) viele nützliche Pattern.
Eines davon ist, wenn man seine Geschäftslogik, deine Modelle und deine Datenhaltung von der GUI trennt (irgendwann wird dir sicherlich mal MVVM, MVC ... über den Weg laufen)

Hier mal ein paar Denkanstöße

Die Semantik die hinter der Checkbox steckt, könnte auch in einer separate Klasse implementiert werden.

z.B.:


    public class MeineDaten
    {
        public bool Eigenschaft1 { get; set; }

        public bool Eigenschaft2 { get; set; }
    }

Wenn in deiner Applikation nun EINE Instanz deiner Klasse MeineDaten verfügbar ist, dann kannst du diese Klasse deiner GUI übergeben. Das ist der erste Weg deine Software etwas "aufgeräumter" zu gestallten. Ob nun deine GUI-Instanzen neu erzeugt werden, oder wiederverwendet werden, spielt dann keine Rolle.

Aber versuch static zu verhindern.

...und irgendwann wird sicherlich deine Software mit 7 Layern mit DI, SoC, UnitTest, MVVM/MVC/.., Services, MessageBus, REST, WebAPI, GraphQL, Logging, X-Platform, im Docker, SPA-Frotend, in der Cloud bestehen.

Ich wünsch euch allen ein schönes Wochenende! :-) > docker kill ...

Thema: 6. Treffen der .NET User Group Paderborn
Am im Forum: Szenenews

Am 4.7.2017 findet das 6. Treffen der .NET User Group Paderborn statt.

Diesmal mit folgenden Themen:

Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy

SWIG
c++ Bibliotheken aus .net verwenden (oder: warum uns .net lieber als c++ ist)

Wir treffen uns wie immer bei der dSPACE GmbH

18:30 Uhr
dSPACE GmbH
Rathenaustraße 26
33102 Paderborn

Weitere Informationen bekommt Ihr hier:

http://dotnet-paderborn.azurewebsites.net/Events/Detail/11

Thema: Klicken des Buttons abfragen
Am im Forum: Grundlagen von C#

Ich geh mal davon aus, dass du eine WinForms-Applikation gebaut hast.


Du kannst folgendes mal ausprobieren:

  • Du erzeugst dir eine "Win Forms Application"
  • Über die Toolbox erzeugst du dir einen Button und drei TextBox-Controls (dies geht über drag and drop)


Danach kannst du dir folgenden Code mal anschauen:


    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int intValue1;
            int intValue2;

            if (!int.TryParse(this.textBox1.Text, out intValue1))
            {
                textBox3.Text = "Huch! Der erste Wert war wohl kein int.";
                return;
            }


            if (!int.TryParse(this.textBox2.Text, out intValue2))
            {
                textBox3.Text = "Huch! Der zweite Wert war wohl kein int.";
                return;
            }

            textBox3.Text = calculate(intValue1, intValue2).ToString();
        }

        public int calculate(int value1, int value2)
        {
            return value1 * value2;
        }
    }

In der Datei Form1.Designer.cs kannst du dir die "Magie" dahinter anschauen.

Es lohnt sich aber trotzdem das Buch das dir MrSparkle empfohlen zu lesen.

Thema: ASP.NET Core 2.0 nur noch mit .NET Core, nicht mehr mit .NET Framework (=>MS rudert zurück)
Am im Forum: Szenenews

Bezüglich SignalR in .NET Core:
Hier ist ein sehenswerter Vortrag von der NDC London (mit Live-Coding von David Fowler höchstpersönlich):

https://www.youtube.com/watch?v=wIsync6vTfQ

Thema: Wie befülle ich eine Liste einer Liste?
Am im Forum: Grundlagen von C#

Hallo HansGlueck,

in deinem Code sind mehrer Schwächen.

Zu Deinen Fragen:

1.) Hier wird eine Instanz vom Type List<MyData> erzeugt.
Instanzen von List<string> und List<bool> werden nach dem Add-Call nicht erzeugt.
Die Felder rows und parameters bleiben null.
Du könntest in der Klasse MyData einen Konstruktur anlegen. In diesem Konstruktur kannst du dann die rows und parameter befüllen. Alternativ setzt du die Werte nach dem erzeugen einer Instanz von MyData von "außen".

2.) Ich gehe mal davon aus, dass du VisualStudio verwendest. Wenn das der Fall ist,
dann musst du nur eine neue CS-Datei erzeugen. In dieser Datei kannst du dann eine neue Klasse anlegen. Wenn der Namespace in beiden CS-Files identisch ist, dann kannst die neu erzeugte Klasse einfach verwenden.

3.) Ich denke, dass es für dich einfacher wäre, wenn du dir erstmal ein Tutorial über C# anschaust.

z.B.: http://openbook.rheinwerk-verlag.de/visual_csharp_2012/

Auch wenn du eine neuere VisualStudio-Version verwendest, sollte dieses Online-Buch für dich ausreichend sein.

Später wirst du folgende Fragen beantworten können:

  • Eine Nested Class benötigst du eigentlich nicht
  • Business Logic gehört nicht in Form1
  • Namespaces die aussagekräftig sind
  • Klassenamen die aussagekräftig sind
  • Wie setze ich Konstruktoren ein?
  • Wie setze ich Properties ein?

Thema: Welche Schreibweise bevorzugen: ' "" + n' oder 'n.ToString()' ?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Scheinbar macht der Compiler aus


string str = "" + Program.Counter;

sogar nur ...


string str = string.Concat(Program.Counter);
bzw der IL-Code:

call string [mscorlib]System.String::Concat(object)

Das macht das aber auch nicht viel besser.

Mit ...


string str = anyClass.Counter.ToString(); 

... bist du ganz gut aufgehoben

Thema: ASP.NET Core 2.0 nur noch mit .NET Core, nicht mehr mit .NET Framework (=>MS rudert zurück)
Am im Forum: Szenenews

Wäre alles kein Problem, wenn SignalR und OData in ASP.NET Core fertig wären.
Bei SignalR ist ja Hoffnung.
@Abt: Hast du da Infos, wann (bzw. ob) OData kommt?

Thema: ASP.NET Core 2.0 nur noch mit .NET Core, nicht mehr mit .NET Framework (=>MS rudert zurück)
Am im Forum: Szenenews

Das ist echt mal ein trauriges Durcheinander.
Insbesondere wenn man ein Backend, das teilweise noch COM-Komponenten verwendet, mit eine Core WebAPI anreichern will.
Jetzt ärgere ich mich nicht mehr, dass wir in einem Project noch auf "classic" WebApi gesetzt haben.

Never trust a 1.X version

Thema: Herausfinden welcher Prozess via COM meine API gestartet hat?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn das COM-Objekt durch svchost.exe gehostet wird, dann kenne ich da keinen Weg die Process-Id zu bekommen.
Insbesondere wenn es sich um einen OutProc-Server handelt.

Vielleicht über Umwege mit

CoImpersonateClient
bzw. über
CoGetCallContext
.

Thema: 5. Treffen der .NET User Group Paderborn
Am im Forum: Szenenews

Am 4.4.2017 findet das 5. Treffen der .NET User Group Paderborn statt.

Diesmal mit folgenden Themen:
Azure
Geo-redundante Anwendungen mit Microsoft Azure - Entwicklung, Deployment und Herausforderungen

Xamarin
Push your App with Azure

Wir treffen uns wie immer bei der dSPACE GmbH

18:30 Uhr
dSPACE GmbH
Rathenaustraße 26
33102 Paderborn

Weitere Informationen bekommt Ihr hier:

http://dotnet-paderborn.azurewebsites.net/Events/Detail/10

Thema: .NET User Group Paderborn - 4. Treffen - 24.01.2017
Am im Forum: Szenenews

Am 24.01.2017 findet das 4. Treffen der .NET User Group Paderborn statt.

Diesmal mit folgenden Themen:

Docker - das ist doch nur für Linux, oder?
Docker mit Windows Server 2016

und

Mathematische Programmierung
Komplexe Planung einfach berechnen - Erfahrungsbericht „Erstellung freier Software auf nuget“

Infos findet Ihr hier:
http://dotnet-paderborn.azurewebsites.net/


Wir freuen uns auf Euren Besuch!

Thema: .NET User Group Paderborn - 3. Treffen - 18.10.2016
Am im Forum: Szenenews

Hallo .NET-Entwickler!

Die .NET User Group Paderborn wurde dieses Jahr "resurrected"!

Das 3. Treffen findet am 18.10.2016 um 18:30 Uhr bei der dSPACE GmbH statt.

Diesmal geht es um Xamarin und Windows IoT Core.
Wenn Ihr aus der Region kommt, oder einfach Lust habt das beschauliche Paderborn zu besuchen, dann würden wir uns freuen!

Mit über 40 Besuchern ist unser User Treffen immer gut besucht.
Für Getränke und lecker Brötchen wird gesorgt.

Gerne dürft Ihr euch hier informieren und natürlich anmelden:

http://dotnet-paderborn.azurewebsites.net/

Wir würden uns freuen!
Mark Lechtermann