Einfaches Rechenprogramm erstellen

zerix

Cadet 4th Year
Registriert
März 2018
Beiträge
105
Hallo

Ich möchte ein einfaches rechenprogramm (.exe mit Fenster-GUI) programieren. Eine Excel datei hat bisher gute dienste geleistet, will es aber etwas schicker für den täglichen bedarf.

Ist schon ne weile her da hat ein Kollege mit Delphi meine Excel tabellen ganz einfach importiert und einfache, wie auch komplizierte Finanzrechenprogramme zu erstellen. Ich habe damals seine bedürfnisse in EXCEL erstellt, und er dann in DELPHI übernommen, und weiter ausgebaut.

Das war vor gut 20 Jahren :heul:

Was ich brauche wäre ganz simple flächenberechnug, wo man von einem zB. viereck die 4 seitenlängen und eine diagonale eingibt, und das ergebniss wird dann angezeigt.

Das angebot an freien Programierspachen ist heutzutage riesig. Ich schäue auch nicht davor zurück etwas neues zu Lernen, da ich damals sehr gute BASIC kentnisse erlangt habe, und mit EXCEL sehr gut zurecht komme.

Was wäre eure empfehlung? VisualBasic, Python, JAVA oder was ganz anderes?
 
zerix schrieb:
...oder Visual C# (welches von beidem du nimmst, ist in deinem Fall egal). Bekommst direkt von Microsoft mit Visual Studio eine IDE, in der du dir deine GUI zusammenklicken kannst. Die dann zu programmieren, ist auch relativ leicht. Massig Material dazu gibt es auch.
 
  • Gefällt mir
Reaktionen: CyborgBeta, Micke, aragorn92 und 2 andere
Sowas gibts doch Online auch "Ohne Ende".
Sonst KI fragen, die hilft auch super mit. Da kann man auch recht gut "zaubern", ohne viel Wissen zu haben.
 
  • Gefällt mir
Reaktionen: CyborgBeta
ich würde mir auch Visual C# anschauen - wenn dein Ziel hauptsächlich Windows ist.
Kannst ja eine einfach Oberfläche - die "Hello Word" anzeigt mit verschiedenen Sprachen probieren zu bauen. und dann nimmst das was dir am besten gefällt.
 
Ich kann empfehlen, mal einen Blick auf Xojo zu werfen (ein Basic-Dialekt). Zum Programmieren ist es kostenlos; nur wenn man eigenständige Programme kompilieren möchte, muss man mal in eine Lizenz investieren, aber da gibt es immer mal wieder Rabattaktionen. Man kann damit schnell brauchbare Ergebnisse erzielen, aber es ist unter der Haube auch komplex genug, um aufwändigere Aufgaben zu erledigen. Ein dicker Pluspunkt: Als Cross-Plattform-Sprache kannst du mit dem gleichen Code (und den entsprechenden Lizenzen) für Window, macOS oder Linux kompilieren.
Ich habe mir damit beispielsweise eine Literaturverwaltung geschrieben (s. Screenshot), die ich genau auf meine Anforderungen zugeschnitten habe. Und das ist nur eine von mehreren selbst geschriebenen Anwendungen, die ich nahezu täglich nutze …

Gruß Jens


Bildschirmfoto 2023-10-05 um 16.37.31.png
 
zerix schrieb:
Was ich brauche wäre ganz simple flächenberechnug, wo man von einem zB. viereck die 4 seitenlängen und eine diagonale eingibt, und das ergebniss wird dann angezeigt.

Das kannst Du in Excel mit Boardmitteln selbst machen. Da brauchst nichts anderes dazu.
 
Das ist doch hoffentlich nur als Projekt zum Programmieren Lernen gedacht.

Weil das Problem so trivial ist, dass jede Google Suche direkt das Ergebnis bringt.

Als Einstieg ist Visual Studio c# sicher gut.
Willst du in die Webentwicklung besser Visual Code mit Node und Javascript
 
zerix schrieb:
Ich möchte ein einfaches rechenprogramm (.exe mit Fenster-GUI) programieren.
[..]
Was ich brauche wäre ganz simple flächenberechnug, wo man von einem zB. viereck die 4 seitenlängen und eine diagonale eingibt, und das ergebniss wird dann angezeigt.
Wenn es wirklich nur so ein rudimentäres Progrämmchen werden soll, reicht ggfs schon ein PowerShell-Skript.

PowerShell:
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = 'Data Entry Form'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'

$okButton = New-Object System.Windows.Forms.Button
$okButton.Location = New-Object System.Drawing.Point(75,120)
$okButton.Size = New-Object System.Drawing.Size(75,23)
$okButton.Text = 'OK'
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $okButton
$form.Controls.Add($okButton)

$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,120)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)

$label1 = New-Object System.Windows.Forms.Label
$label1.Location = New-Object System.Drawing.Point(10,20)
$label1.Size = New-Object System.Drawing.Size(280,20)
$label1.Text = 'x eingeben:'
$form.Controls.Add($label1)

$textBox1 = New-Object System.Windows.Forms.TextBox
$textBox1.Location = New-Object System.Drawing.Point(10,40)
$textBox1.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($textBox1)


$label2 = New-Object System.Windows.Forms.Label
$label2.Location = New-Object System.Drawing.Point(10,60)
$label2.Size = New-Object System.Drawing.Size(280,20)
$label2.Text = 'y eingeben:'
$form.Controls.Add($label2)

$textBox2 = New-Object System.Windows.Forms.TextBox
$textBox2.Location = New-Object System.Drawing.Point(10,80)
$textBox2.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($textBox2)

$form.Topmost = $true

$form.Add_Shown({$textBox1.Select()})
$result = $form.ShowDialog()

if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
    $ergebnis = [double]$textBox1.Text * [double]$textBox2.Text

    [System.Windows.Forms.MessageBox]::Show($ergebnis)
}
Quelle: Microsoft

Ich hab das Skript nur minimal und auf die Schnelle modifiziert mit 2. Textbox, Multiplikation sowie eine MessageBox mit dem Ergebnis. Das kann und muss man natürlich noch anpassen. Beispielsweise knallt es, wenn man keine gültige Zahl eingibt (ungeprüfter Cast mit [double]) und bei mir nimmt er auch nur einen Dezimalpunkt statt Komma, auch das müsste man also ggfs abfangen. Das sollte man aber auch ohne Erfahrung relativ flott hinkriegen, wenn man einfach danach googelt ;)
 
das programm soll excell unabhängig sein, und habe mir sowieso schon länger vorgenommen eine zeitgemäße aber einfache programiersprache zu erlernen

Also fallen macros und scripte aus
 
Ich hab die ultimative Antwort für dich: Lazarus Link. Ist der geistige Nachfolger von Delphi und von dem was ich so höre, soll das richtig, richtig gut sein.
 
  • Gefällt mir
Reaktionen: Michael-Menten
Würde auch Lazarus nehmen.
Großeteile der Forum-Thread und Dokumentation von Embaracdero Delphi trifft auch auf Lazarus zu. Natürlich gibt es auch ein gutes Lazarus wiki.
 
Ich empfehle C# oder Dart (!). Flutter ist ein ausgezeichnetes Framework zur Erstellung von Cross Platform apps, so könntest du dein Projekt nicht nur unter Windows, sondern überall (Windows, Linux, macOS, Android, iOS, Webassembly) verwenden.

Unter C# geht das mit AvaloniaUI auch sehr gut.
 
zerix schrieb:
Das angebot an freien Programierspachen ist heutzutage riesig.
[..]
Was wäre eure empfehlung? VisualBasic, Python, JAVA oder was ganz anderes?
Du siehst das Problem? In diesem Thread wurden jetzt schon so viele Vorschläge gemacht und bald geht es vermutlich auf Seite 2 damit weiter. Mein finaler Tip ist daher: Probier es einfachaus. Spring ins kalte Wasser und folge einer beliebigen Empfehlung.

Einige Erfahrungen muss man einfach selbst sammeln und kann sich nur bedingt auf Ratschläge anderer verlassen. Bei jeder der hier vorgeschlagenen Sprachen bzw. Umgebungen wirst du eine Lernkurve haben, mal steiler, mal flacher. Sehr vereinfacht ausgedrückt kann man sagen: Je simpler die Umgebung, desto einfacher ist sie in der Regel zu erlernen, aber oftmals (nicht immer) sind in der Folge dessen auch die Möglichkeiten begrenzt.

Dein Ziel ist aber simpel, eine GUI mit 4 Eingaben und einer Ausgabe nebst Berechnung dazwischen. Auf jedem der vorgeschlagenen Wege wirst du dein Ziel erreichen und du hast jetzt die Qual der Wahl, die du auch schon hattest bevor du den Thread gestartet hast. Insbesondere bei solchen Fragen ist das die übliche Entwicklung, Konsens gibt es selten, weil die Antworten ebenfalls auf Erfahrungen und Vorlieben basieren. Und vor allem: Was man nicht kennt, kann man nicht vorschlagen. Frag 10 Leute und du bekommst 12 Meinungen. 🤷‍♂️
Ergänzung ()

zerix schrieb:
habe mir sowieso schon länger vorgenommen eine zeitgemäße aber einfache programiersprache zu erlernen

Also fallen macros und scripte aus
Da wiederum muss ich nochmal einhaken: Beim Programmieren im Allgemeinen geht es um Konzepte, die man verstehen muss. Dinge wie Objektorientierung, Methoden, Datentypen, Datenfluss, Bedingungen, Schleifen und dergleichen. Wie/womit man diese lernst spielt im Prinzip keine Rolle. VBA in Excel kann man mehr oder weniger als vollständige Programmiersprache nutzen und damit wirklich allerhand anstellen, weit jenseits von cell und range. Auch PowerShell oder andere Skriptsprachen können beliebig mächtig sein. Allen gemein ist jedoch, dass man die Grundlagen des Programmierens lernen kann, egal ob mit einer Skriptsprache oder einer sonstigen Sprache. Am Ende unterscheiden sie sich zumindest oberflächlich nur durch die Syntax - beispielsweise alle .Net Sprachen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: uburoi
Hab heute VisualStudio C# installiert. Nach ca. 3h habe ich das erste rechenprogramm erstellt. Hat super geklappt dank riesigem angebot an online videos und turorials.

Danke auch an euch
 
  • Gefällt mir
Reaktionen: Drexel, uburoi und Raijin
drei textboxen für die drei seitenlängen eines dreiecks, und ein Button für die rechnung. Ds ergebniss wird auf einem dreieckbild ausgegeben. Jetzt folgen tabs für vierecke und würfel
 
  • Gefällt mir
Reaktionen: Raijin
zerix schrieb:
drei textboxen für die drei seitenlängen eines dreiecks, und ein Button für die rechnung. Ds ergebniss wird auf einem dreieckbild ausgegeben.
Du hast es auf jeden Fall richtig gemacht, wenn das Ergebnis richtig ist.
 
zerix schrieb:
das programm soll excell unabhängig sein, und habe mir sowieso schon länger vorgenommen eine zeitgemäße aber einfache programiersprache zu erlernen
Java ist eine relativ einfache Programmiersprache, und erlaubt es mittlerweile auch, .exe-Dateien zu erstellen (das setzt, afaik, aber eine Visual Studio-Installation voraus, also könnte man auch direkt eine Microsoft-Sprache nehmen ...)

BTW, wie hast du dir die Eingabe vorgestellt? Konsole? GUI (Benutzeroberfläche)? Wie ein Taschenrechner mit Knöpfen? Oder freie Eingabe eines beliebigen Terms? Und nur Grundrechenarten oder mehr?
 

Ähnliche Themen

Antworten
12
Aufrufe
1.076
Zurück
Oben