Laden...

Visual C# richtige Sprache für Projekt

Erstellt von Dandelon vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.738 Views
D
Dandelon Themenstarter:in
6 Beiträge seit 2015
vor 8 Jahren
Visual C# richtige Sprache für Projekt

Hallo,
ich bin selber Neuling auf der C#-Ebene und meine Programmiererfahrung beschränkt sich auf einen Grundkurs in C und Matlab.

Bei meinem Job soll momentan etwas programmiert werden, was kein Riesenaufwand ist und wo ich angeboten habe ich sollte das schaffen.
Nach ein bißchen Recherche welche Sprache ich dafür nutzen sollte wurde mir C# empfohlen.

Deshalb wollte ich mal bei euch hören ob es die richtige Wahl ist(ich will bei dem Projekt gerne auch etwas für mich lernen) oder ob C# mit Kanonen auf Spatzen geschossen ist. Prinzipiell ist das Programm (fast) wie eine Powerpointpräsentation zu sehen. Soll aber natürlich als eigenes Programm mit Barcodescanner funktionieren.

Prinzipiell geht es um folgendes:

  1. Es soll ein Barcode mittels Scanner gescannt werden
  2. Daraufhin wird der passende Artikel ausgewählt (Anzahl Artikel vorerst unter 10>>> keine Datenbank notwendig) und eine neue "Folie/Seite" öffnet sich
  3. Ab hier wird für jeden Artikel quasi durch mehrere Folien gegangen wo jeweils 2 Buttons unter einem Bild sind a la "ok/nicht ok"
  4. Sobald ein Artikel fertig ist wird wieder zur Start/Scanfolie gewechselt

Ich hoffe ihr könnt euch vorstellen was ich meine. Meint ihr C# ist hierfür geeignet oder würdet ihr ggf. eine einfachere Sprache empfehlen? Ist die Arbeit so überschaubar wie ich es mir vorgestellt habe oder hab ich mic hda in was reingeritten? 😉

Programmieren würde ich mit MS Visual Studio 2013.

Vielen Dank schonmal für jede Hilfe/jeden Tip.

Viele Grüße
Dandelon

2.080 Beiträge seit 2012
vor 8 Jahren

Ich muss gestehen, so ganz ist mir nicht klar, was Du vor hast.

Allerdings kann ich sagen, dass C# für fast alles gut geeignet ist, solange es nur auf Windows laufen soll. Soweit ich weiß gibt es mittlerweile aber auch seitens Microsoft eine Möglichkeit, C# auf Linux und Mac zu entwickeln, ich weiß allerdings nicht, wie weit das bereits ist.
Ansonsten bietet C# in Verbindung mit den kostenlos von Microsoft angebotenen Frameworks für beinahe jeden Anwendungsbereich die nötigen Komponenten an, inklusive Web-Entwicklung.

Wenn dann mal eine C++-Bibliothek notwendig ist, dann ist es auch möglich, die in C# zu nutzen. Was da für Vorbereitungen in der Bibliothek notwendig sind, ist mir allerdings nicht bekannt.
Zum Lesen von Barcodes sollte es aber bereits C#-Snippets oder Bibliotheken geben, die dann mit einem Bild arbeiten.

Im Bezug auf den Vorteil für dich musst Du dir denke ich auch keine Sorgen machen, da C# bereits ziemlich weit verbreitet ist und auch die Informations-Quellen im Internet ziemlich umfangreich sind.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

1.029 Beiträge seit 2010
vor 8 Jahren

Hi,

das mit den Folien ist mir zwar unklar - aber das sollte nicht wirklich stören.

Die meisten Scanner schicken quasi eine Texteingabe an das aktuell fokussierte Control - sobald du ein Fenster mit Textbox hast -> kein Problem.

In der Praxis sollte dein Vorhaben sehr sehr leicht umzusetzen sein mit C#.

LG

PS: Bitte tu dir den Gefallen und programmier die Artikel nicht fest ein. Meinetwegen reicht ein XML-Config-File - aber mit fest einprogrammieren tust du dir und anderen keinen Gefallen 😉

D
985 Beiträge seit 2014
vor 8 Jahren

@Taipi88

Es ist unerheblich, ob die Artikel fest einprogrammiert sind oder nicht. Nur die Anwendung selber sollte sich davon nicht abhängig machen. Die sollte einfach einen IArticleQueryService fragen, der im ersten Step eben die fest einprogrammierten Artikel liefert. Irgendwann später kann man dann eine Implementierung erstellen die mit einer Xml-Datei oder einer Datenbank XY oder einem Webservice oder oder oder ...

Wichtig ist immer, dass der konkrete Beschaffungsort für die Anwendung selber abstrakt ist.

D
Dandelon Themenstarter:in
6 Beiträge seit 2015
vor 8 Jahren

So, ich habe mich jetzt mal nach ein wenig einarbeiten und Tutorials daran begeben mit dem Projekt zu beginnen.

Das Projekt ist sehr einfach eigentlich. Vielleicht ist aber auch mein Gedankengang falsch oder zu kompliziert.

Ich habe es so geplant dass es nur 2 Bilderboxen, 2 Buttons, 3 Labels gibt. Diese sollen je nach Zustand verschieden angeordnet/belegt sein.

Deshalb habe ich eine variable definiert und wollte, dass sich je nach Wert dieser Variable die Anordnung/Größe/Sichtbarkeit... ändert.

Ich glaube hierbei handelt es sich um ein Grundsätzliches Verständnisproblem.

Ich habe mal einen Beispielcode angehängt der darstellt was ich vorhabe. Leider ändert sich auch bei drücken auf den Button nichts an der Anordnung.

namespace Programm
{
    public partial class Form1 : Form
    {
        int Zustand;    
        public Form1()
        {
            InitializeComponent();
        }

         
        // cmdTest und lblTest habe ich genutzt um es für mich zu visualisieren und zu testen
        private void cmdTest_Click(object sender, EventArgs e) 
        {
            Zustand = Zustand + 1;
            lblTest.Text = "Zustand: " + Zustand;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            
            
            if (Zustand == 1)
            {
                lblMain.Location = new Point(10, 200);
            }
            else if (Zustand == 2)
            {
                lblMain.Location = new Point(200, 200);
            }

        }
    
    }
}

Ich habe mir überlegt es so zu machen damit ich im Designer-Programm nicht alles voll mit verschiedenen Buttons habe und es unübersichtlich wird.
Zudem gibt es nur 4 "Ansichten" mit eigentlich nur unterschiedlichen Inhalten/Verknüpfungen. Wenn es eine einfachere Möglichkeit gibt bin ich natürlich auch davon nicht abgetan.

1.040 Beiträge seit 2007
vor 8 Jahren

Das Load der Form wird nur 1x beim Öffnen gerufen.

16.842 Beiträge seit 2008
vor 8 Jahren

Bitte in Zukunft nur ein Thema pro Thread
[Hinweis] Wie poste ich richtig? 1.2

D
Dandelon Themenstarter:in
6 Beiträge seit 2015
vor 8 Jahren

Das Load der Form wird nur 1x beim Öffnen gerufen.

Ah ok danke. Sehe ich das richtig dass mein Problem hiermit behoben wäre:
Form.Activated Event

@Abt:
Ok sorry, bin das aus anderen Foren anders gewohnt.

3.003 Beiträge seit 2006
vor 8 Jahren

Nein, das siehst du falsch.

Order of Events in Windows Forms

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

D
Dandelon Themenstarter:in
6 Beiträge seit 2015
vor 8 Jahren

Ich steige leider nicht ganz durch, wie erstelle ich es denn so dass es sich fortlaufend aktualisiert?

1.040 Beiträge seit 2007
vor 8 Jahren

Du kannst doch z.B. beim Klick eine Positionierungsfunktion aufrufen.

3.003 Beiträge seit 2006
vor 8 Jahren

Ich habe es so geplant dass es nur 2 Bilderboxen, 2 Buttons, 3 Labels gibt. Diese sollen je nach Zustand verschieden angeordnet/belegt sein.

Das heisst, dass du ein Ereignis brauchst, das eintritt, wenn der Zustand sich ändert. "Load" ist ein Ereignis, das eintritt, wenn das Formular geladen wird (also nur einmal in der Regel). Abhängig davon, WANN der Zustand sich ändert, ist also auch die Wahl des Ereignisses. Beim Klicken eines Buttons beispielsweise wäre dann das "Click"-Ereignis dieses Buttons. Welches genau du nimmst, kannst du selbst am besten beurteilen.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

T
67 Beiträge seit 2010
vor 8 Jahren

Das sind alles Dinge die Du bereits durch deinen C Kurs kennen und auch lösen können solltest.

Ich würde Dir erst einmal ein paar Grundlagenübungen empfehlen. Das beantwortet automatisch alle deine bisherigen Fragen.
Visual C# 2012 aus der Sammlung Openbooks des Rheinwerk Verlags.
C# Tutorials
Visual C# Videos