[Lazarus]

  • Hi Leute,
    nach einiger Zeit melde ich mich auch mal wieder :D.
    Ok fang ich gleich mal an.
    Wir sind jetzt die ersten an unserer Schule die ein Projekt machen(Lazarus) und da habe ich eine Frage an Leute die das vielleicht schon kennen.Unzwar sollen wir jetzt ein Programm machen mit dem man 3 Seiten angeben kann und das Programm guckt dann ob diese Seiten ein Dreieck ergeben könnten.Mir fällt nichts ein wie das gehen könnte.Hier der Link zur Lazarus Homepage (wer es sich vielleicht mal anschauen will):http://lazarus.freepascal.org/
    P.S:Der Editor sieht fast genau so aus wie der von Koda :D :D :D

    MFG
    MeyerMeyer11

    Momentanes Projekt

    -Textadventure

    Fertige Projekte

    Nichts

  • Hi

    Ich hab mit Lazarus bisher immer nur Dll´s für AutoIt erstellt.
    Consolenprogramme bekomm ich auch noch hin, aber bei GUI Anwendungen muss ich mich leider ausklinken...

    Am besten stellst du die Frage in einem Delphi-Forum; Viele Delphi-User kennen sich auch mit Lazarus aus bzw. ist es quasi ja fast dieselbe Sprache...

    E

  • Also das Problem liegt darin das ich vorher mit der Sprache nichts zu tun hatte und sie deshalb nicht so gut kann.Ich kann nur einen einfachen Taschenrechner der alle 4 Grundrechenarten kann und sonnst nichts eigentlich. :(

    MFG
    MeyerMeyer11

    Momentanes Projekt

    -Textadventure

    Fertige Projekte

    Nichts

  • Dann musst du wohl nur die GUI zusammenklicken (3 Textfelder für Seitenlängen, 1 Button, 1 Ausgabefeld) und dann beim Buttonklick die Felder auslesen und dann die Länge testen: a+b > c AND a+c > b AND b+c > a

    Einmal editiert, zuletzt von progandy (2. Juni 2012 um 23:05)

  • Hier für alle die es mal probieren wollen ihr ist das was ich habe:

    Spoiler anzeigen

    unit Unit1;

    {$mode objfpc}{$H+}

    interface

    uses
    Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

    type

    { TForm1 }

    TForm1 = class(TForm)
    btndrei: TButton;
    edtZahl1: TEdit;
    edtZahl3: TEdit;
    edtZahl2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    lbldrei: TLabel;
    procedure btndreiClick(Sender: TObject);
    private
    { private declarations }
    public
    { public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.lfm}

    { TForm1 }

    procedure TForm1.btndreiClick(Sender: TObject);
    var Zahl1 :real;
    Zahl2 :real;
    Zahl3 :real;
    Ergebnis :real;
    begin
    Zahl1:=StrtoFloat(edtZahl1.text);
    Zahl2:=StrtoFloat(edtZahl2.text);
    Zahl3:=StrtoFloat(edtZahl3.text);
    if Zahl1+Zahl2>Zahl3;
    and Zahl1+Zahl2>Zahl3;
    and Zahl2+Zahl3>Zahl1; then
    Ergebnis:='ja'
    lbldrei.caption:=Ergebnis
    else
    Ergebnis:='nein'
    lbldrei.caption:=Ergebnis;
    end;

    end.

    MFG
    MeyerMeyer11

    Momentanes Projekt

    -Textadventure

    Fertige Projekte

    Nichts

  • Nicht schlecht, aber Ergebnis muss ein String sein und in der If-Bedingung fehlt Zahl1+Zahl3, dafür ist etwas anderes doppelt.

  • Habs jetzt hinbekommen und in meinen Taschenrechner eingefügt:D
    Hier der code von dem Dreieck:

    Spoiler anzeigen

    unit unTest;

    {$mode objfpc}{$H+}

    interface

    uses
    Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

    type

    { TForm1 }

    TForm1 = class(TForm)
    btnlesen: TButton;
    edtZahl1: TEdit;
    edtzahl3: TEdit;
    edtzahl2: TEdit;
    lblErg: TLabel;
    Label2: TLabel;
    procedure btnlesenClick(Sender: TObject);
    private
    { private declarations }
    public
    { public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.lfm}

    { TForm1 }

    procedure TForm1.btnlesenClick(Sender: TObject);
    var Zahl1 :real;
    Zahl2 :real;
    Zahl3 :real;
    begin
    Zahl1:=StrtoFloat(edtzahl1.text);
    Zahl2:=StrtoFloat(edtzahl2.text);
    Zahl3:=StrtoFloat(edtzahl3.text);
    if (Zahl1+Zahl2>Zahl3) and (Zahl1+Zahl3>Zahl2) and (Zahl2+Zahl3>Zahl1) then
    begin
    lblErg.caption:='Ja'
    end
    else
    begin
    lblErg.caption:='Nein'
    end;
    end;

    end.


    und hier von dem Taschenrechner:

    Spoiler anzeigen

    unit unTaschenrechner;

    {$mode objfpc}{$H+}

    interface

    uses
    Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

    type

    { TForm1 }

    TForm1 = class(TForm)
    btnAddieren: TButton;
    btnminus: TButton;
    btnMal: TButton;
    btnTeil: TButton;
    btnwurzel2: TButton;
    btnwurzel1: TButton;
    btnDrei: TButton;
    edtZahl3: TEdit;
    edtZahl1: TEdit;
    edtZahl2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    lblErgaus: TLabel;
    procedure btnAddierenClick(Sender: TObject);
    procedure btnDreiClick(Sender: TObject);
    procedure btnMalClick(Sender: TObject);
    procedure btnminusClick(Sender: TObject);
    procedure btnTeilClick(Sender: TObject);
    procedure btnwurzel1Click(Sender: TObject);
    procedure btnwurzel2Click(Sender: TObject);
    procedure edtZahl1Change(Sender: TObject);
    private
    { private declarations }
    public
    { public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.lfm}

    { TForm1 }

    procedure TForm1.edtZahl1Change(Sender: TObject);
    begin

    end;

    procedure TForm1.btnAddierenClick(Sender: TObject);
    var Summand1 :Real;
    Summand2 :Real;
    summe :Real;
    begin
    summand1:=StrtoFloat(edtzahl1.text);
    summand2:=StrtoFloat(edtzahl2.text);
    summe:=summand1 + summand2;
    FloatToStr(Summe);
    lblergaus.caption:=FloattoStr(summe)
    end;

    procedure TForm1.btnDreiClick(Sender: TObject);
    var Zahl1 :real;
    Zahl2 :real;
    Zahl3 :real;
    begin
    Zahl1:=StrtoFloat(edtzahl1.text);
    Zahl2:=StrtoFloat(edtzahl2.text);
    Zahl3:=StrtoFloat(edtzahl3.text);
    if (Zahl1+Zahl2>Zahl3) and (Zahl1+Zahl3>Zahl2) and (Zahl2+Zahl3>Zahl1) then
    begin
    lblErgaus.caption:='Ja'
    end
    else
    begin
    lblErgaus.caption:='Nein'
    end;
    end;

    procedure TForm1.btnMalClick(Sender: TObject);
    var Mal1 :Real;
    Mal2 :Real;
    Mal :Real;
    begin
    Mal1:=StrtoFloat(edtzahl1.text);
    Mal2:=StrtoFloat(edtzahl2.text);
    Mal:=Mal1 * Mal2;
    FloatToStr(Mal);
    lblergaus.caption:=FloattoStr(Mal)

    end;

    procedure TForm1.btnminusClick(Sender: TObject);
    var Minuend1 :Real;
    Minuend2:Real;
    Minus :Real;
    begin
    Minuend1:=StrtoFloat(edtzahl1.text);
    Minuend2:=StrtoFloat(edtzahl2.text);
    Minus:=Minuend1 - Minuend2;
    FloatToStr(Minus);
    lblergaus.caption:=FloattoStr(Minus)
    end;
    procedure TForm1.btnTeilClick(Sender: TObject);
    var Teilen1 :Real;
    Teilen2 :Real;
    Teilen :Real;
    begin
    Teilen1:=StrtoFloat(edtzahl1.text);
    Teilen2:=StrtoFloat(edtzahl2.text);
    if Teilen2=0 then
    begin
    lblergaus.caption:='Nicht definiert';
    end
    else
    begin
    Teilen:=Teilen1 / Teilen2;
    FloatToStr(Teilen);
    lblergaus.caption:=FloattoStr(Teilen)
    end;
    end;

    procedure TForm1.btnwurzel1Click(Sender: TObject);
    var Teilen1 :Real;
    Teilen :Real;
    begin
    Teilen1:=StrtoFloat(edtzahl1.text);
    Teilen:=sqrt(Teilen1);
    FloatToStr(Teilen);
    lblErgaus.caption:=FloatToStr(Teilen);
    end;

    procedure TForm1.btnwurzel2Click(Sender: TObject);
    var Teilen1 :Real;
    Teilen :Real;
    begin
    Teilen1:=StrtoFloat(edtzahl2.text);
    Teilen:=sqrt(Teilen1);
    FloatToStr(Teilen);
    lblErgaus.caption:=FloatToStr(Teilen);
    end;

    end.

    MFG
    MeyerMeyer11

    Momentanes Projekt

    -Textadventure

    Fertige Projekte

    Nichts

  • Da ich das jetzt geschafft habe habe ich jetzt eine neue Frage,die sich eigentlich gar nicht so richtig auf Lazarus bezieht:
    Wir sollen einen Zinsrechner "bauen" der aus Anfangskapital und Zinssatz das Endkapital berechnet.Ich habe jetzt das Problem das die Rechnung die auf dem Aufgabenblatt steht,falsch ist.Da steht nämlich das Endkapital=Anfangskapital*Zinssatz/100 ist aber bei mir zeigt er dann etwas falsches an.
    Ich hoffe das war ausführlich genug :D

    MFG
    MeyerMeyer11

    Momentanes Projekt

    -Textadventure

    Fertige Projekte

    Nichts

  • Zins = Kapital * Zinssatz
    1Jahr = Kapital + Kapital * Zinssatz = (1 + Zinssatz) * Kapital
    2Jahr = 1Jahr + 1Jahr * Zinssatz = (1 + Zinssatz) * (1 + Zinssatz) * Kapital
    ...
    ==> Enbetrag = Startkapital * (1 + Zinssatz) ^ Jahre
    Zinssatz als x% / 100%, z.B. 3% = 0.03