Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   brauche dringen hilfe mit programm! (https://www.delphipraxis.net/156855-brauche-dringen-hilfe-mit-programm.html)

janhendrik 17. Dez 2010 10:13

brauche dringen hilfe mit programm!
 
Hallo, ich bin neu hier und benötige hilfe bei der programmierung eines programms zur ausgabe einer sinus kurve!
wer kann folgenden quell text vervollständigen?


unit SinusUnit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Ende: TButton;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
procedure EndeClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
//Achtung, das Array muß zu Ende deklariert werden
XWert: array [1..2,0..359] of integer;
Amplitude: Real;
const xMit=100; yMit=250; //Die Zahlen sind nur Beispiele
implementation

{$R *.dfm}

procedure Berechnung(Amplitude: real);
var i: integer;
begin
//Hier die Berechnung der Funktionswerte und die Speicherung der
//Funktionswerte in einem Array (360 Funktionswerte, 4. Aufgabenpunkt)
end;

procedure TForm1.Button1Click(Sender: TObject);
var eingabe: real; eg,i: integer;
begin
//Hier die Eingabe über das Editfeld (1. Aufgabenpunkt)
//Hier die Wandlung für die Ausgabe als Integer-Wert (2. Aufgabenpunkt)
//Achtung: unmittelbar nachfolgender Quelltext ist unvollständig
canvas.TextOut(2,100,'Ampl.:');
//Hier die Ausgabe des eingegebenen Amplitudenwertes (2. Aufgabenpunkt)
//Hier der Aufruf der Berechnungsprocedure (call by value) (3. Aufgabenpunkt)
//y-Achse oben in Abhängigkeit der eingegebenen Amplitude zeichnen
//Achtung: unmittelbar nachfolgender Quelltext ist unvollständig
canvas.pen.Color := clblack;
canvas.MoveTo(xMit,yMit);
//5. Aufgabestellung
//y-Achse unten in Abhängigkeit der eingegebenen Amplitude zeichnen
//Achtung: unmittelbar nachfolgender Quelltext ist unvollständig
canvas.MoveTo(xMit,yMit);
//5. Aufgabenstellung
//X-Achse zeichnen (6. Aufgabenstellung)
//Achtung: unmittelbar nachfolgender Quelltext ist unvollständig
canvas.MoveTo(xMit,yMit);
canvas.pen.Color := clred;
//Ausgabe der Funktionswerte (7. Aufgabenstellung)

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key in ['0'..'9',','] then
begin
end
else begin
key:=#00;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//Achtung: unmittelbar nachfolgender Quelltext ist unvollständig
Canvas.TextOut(35,100,' ');
canvas.pen.Color := clwhite;
canvas.Rectangle(xMit,ymit-150,xMit+400,ymit+150);
Edit1.Clear;
end;

procedure TForm1.EndeClick(Sender: TObject);
begin
close()
end;

end.

fkerber 17. Dez 2010 10:20

AW: brauche dringen hilfe mit programm!
 
Herzlich willkommen in der DP.

Vorab muss ich dich bitten, die Regeln des Forums, denen du bei der Anmeldung zugestimmt hast, entsprechen zu folgen.
Das bedeutet einerseits, dass du einen aussagekräftigen Titel wählen solltest (Hilfe braucht hier fast jeder, dringend ist es quasi immer und meistens hat es mit einem Programm zu tun). Um dies zu tun, kannst du deinen ersten Beitrag editieren.
Zum anderen wäre es schön, wenn du deinen Code in [delphi][/delphi]-Tags einschließen würdest.

Zum eigentlichen Thema:
Sinn dieses Forums ist es nicht, dir irgendwelche Arbeit einfach abzunehmen.
Du kannst gerne konkrete Fragen stellen bzw. beschreiben, was nicht funktioniert und dann kann man gemeinsam nach einer Lösung suchen. Einen "Lückentext" auszufüllen, ist nicht Aufgabe dieses Forums.


Liebe Grüße,
Frederic

RWarnecke 17. Dez 2010 13:12

AW: brauche dringen hilfe mit programm!
 
Hallo und willkommen in der DP,

von Sinuskurven habe ich jetzt nicht mehr so viel Ahnung. Ist schon zu lange her. Aber ich hätte einen Verbesserungsvorschlag.

alt :
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key in ['0'..'9',','] then
  begin
  end
  else begin
    key:=#00;
  end;
end;
neu :
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not key in ['0'..'9',','] then
    key := #0;
end;

DeddyH 17. Dez 2010 13:24

AW: brauche dringen hilfe mit programm!
 
Müsste das nicht geklammert werden?
Delphi-Quellcode:
if not (key in ['0'..'9',',']) then

rollstuhlfahrer 17. Dez 2010 13:31

AW: brauche dringen hilfe mit programm!
 
Sieht mir schwer nach einer Hausaufgabe aus. Leider ist keiner hier fähig, dir die Hausaufgabe zu lösen, aber du kannst gerne Fragen.

Als Tipp gebe ich dir mal die Funktionen Delphi-Referenz durchsuchenStrToInt und Delphi-Referenz durchsuchenStrToFloat, um Texte aus deinen Edits in Zahlen (Integer/Float) umzuwandeln.

Bernhard

RWarnecke 17. Dez 2010 14:05

AW: brauche dringen hilfe mit programm!
 
Zitat:

Zitat von DeddyH (Beitrag 1069095)
Müsste das nicht geklammert werden?
Delphi-Quellcode:
if not (key in ['0'..'9',',']) then

Hallo Detlef, Du hast recht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz