Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Schräger Wurf in Delphi 6 (https://www.delphipraxis.net/33703-schraeger-wurf-delphi-6-a.html)

2kstealth 11. Nov 2004 13:42


Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Delphiler,

ich habe mit meinem Teamkollegen für die Schule ein Programm
in Delphi geschrieben das einen Schrägen Wurf berechnet und
in ein Koordinatensystem einzeichnet.

Anbei ist eine Dokumentation mit allen erklärungen und
der Quelltext mit Kommentaren, sowie allen erläuterungen.

Ich dachte mir das es ein schönes Beispiel sei, was man zum
Thema Grafiken in Delphi hier hereinstellen könnte.

Ich habe von den Benutzern hier auch einige Tips bekommen, und
wollte mal das Resultat als danke hier hereinstellen.

:dp:

Ich hoffe das man hier auch einfach etwas hochladen darf.
Sollte das nicht der Fall sein, bitte ich darum, den Thread einfach zu löschen.

Vielen Dank nochmal an alle DP´ler und ich grüße

GariZZo, nailor, Schwabix, Wheelie,
alcaeus, dizzy und last but not least,... den Rest! :zwinker:

cu GaKo

Alexander 11. Nov 2004 14:02

Re: Schräger Wurf in Delphi 6
 
Hallo und herzlich willkommen in der DP ;)
Klar, darfst du hier was hochladen, dafür ist ja diese Funktion da ;). Doch ist das meiner Meinung nach der falsche Ort. Die Sparte OpenSource ist da doch eigentlich geeigneter, meinst du nicht? :zwinker:

DP-Maintenance 11. Nov 2004 14:03

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Multimedia" nach "Open-Source" verschoben.

Steve 11. Nov 2004 14:09

Re: Schräger Wurf in Delphi 6
 
Hi,
  • schraeger_wurf_Project.exe - Komponente nicht gefunden
    Die Anwendung konnte nicht gestartet werden, weil qtintf.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben.
  • Struktogramme sind fein, ich kann aber keine STR-Dateien öffnen - Welches Programm fehlt bzw. hätten die nicht als Bild abgelegt werden können?
  • Backups hätten nicht ins Archiv gemusst (*.~*), auch nicht 2x das Programm ;)
  • Ich seh grad, die Nassy-Shneidermann-Diagramme sind auch in der Doku :thumb:
  • Screeny und Doku sehen auf den ersten Blick brauchbar aus :mrgreen:

Gruß
Stephan :dance:

2kstealth 11. Nov 2004 14:12

Re: Schräger Wurf in Delphi 6
 
Da ich alle Anregungen nicht sofort inbauen kann sage ich erstmal danke für die Anregung und behebe die Fehler im nu...

Eine Sache noch... wie binde ich *.dd Dateien beim Compilieren mit in das Programm ein?
ich habe mir Schon gedacht das diese Fehler auftreten und hier nach einer Lösung gesucht, bin allerdings nicht fündig geworden.

:wiejetzt:

Bei Antwort wird auch dieser Fehler behoben.

cu in 5 min

Luckie 11. Nov 2004 14:16

Re: Schräger Wurf in Delphi 6
 
Warum ist denn da die CLX Ubnit QGraphics drinne?

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Math{, QGraphics};
Dann geht's.

"Abwurfgeschwindigkeit in N". :gruebel:
Ich kenne km/h oder m/sec, aber die Einheit N für die Geschwindigkeit ist mir gänzlich unbekannt.

Noch was: Lasse ich einen Wurf berechnen und verdecke das Programmfenster ist die Linie weg. :shock:

Zitat:

Auch die Maßstäbe des Koordinatensystems soll man verändern. Dabei kann man aussuchen ob man nur die Y– oder X- Achse verändert.
Das vermisse ich in deinem Programm irgendwie.

Und irgendwie vermisse ich so etwas die strukturierte Programmierung. Wenn ich so was sehe:
Delphi-Quellcode:
procedure TForm1.btn_berechnenClick(Sender: TObject);
var
  i           : integer;
begin
  einlesen; //Sprung zu der Prozedur, die die Werte einliest
  extreme; //Sprung zu der Prozedur, die die extreme des Wurfes errechnet

  //-----Berechnung der X und Y Werte
  for i := 1 to 441 do
  begin
    punkte[i, 0] := i; //Werte für x werden gesetzt
    punkte[i, 1] := Round(((i * massx) * Tan(alpha) - ((SB * gewicht) / (2 *
      sqr(gesch) * sqr(Cos(alpha)))) * sqr(i * massx)) / massy * -1);
      //Berechnung der Punkte im Bezug zur Y- Achse

      //-----Zeichnet die Parabel als Punkte ein
    if (cb_auswahl.ItemIndex = 0) then
    begin
      with Form1.PaintBox1 do
      begin
        Canvas.Pixels[i + 30, punkte[i, 1] + 140 - hoehe] := clBlack;
          //Zeichnen der Parabel in Punkten
      end;
    end;
  end;

  //-----Zeichnet die Parabel als Linie ein
  if ((cb_auswahl.ItemIndex = 1) or (cb_auswahl.Text = 'Parabel als Linie')) then
  begin
    with Form1.PaintBox1 do
    begin
      for i := 1 to 441 do
      begin
        Canvas.MoveTo(30, 140 - hoehe);
        if (i = 1) then
        begin
          Canvas.LineTo(i + 31, punkte[i + 1, 1] + 140 - hoehe);
        end
        else if (i < 441) then
        begin
          Canvas.MoveTo(punkte[i, 0] + 30, punkte[i, 1] + 140 - hoehe);
            //Zeichnen der Parabel als Linie
          Canvas.LineTo(i + 31, punkte[i + 1, 1] + 140 - hoehe);
        end;
      end;
    end;
  end;
end;
So was kapselt man sauber in Klassen. Eine Klasse für den Wurf, in der die Werte berechnet werden und eine Klasse zum Zeichnen des Koordinatensystems und der Flugbahn.

Delphi-Quellcode:
procedure TForm1.btn_beendenClick(Sender: TObject);
begin
  Application.Terminate(); //Beenden des Programms
end;
Ich weiß nicht, ob es immer so sinnvoll ist immer gegen eine Mauer zu fahren, wenn man mit dem Auto anhalten will. Ein einfaches Close tut es voll und ganz.

Bringt die Tabulatur Reihenfolge mal in die richtige Reihenfolge.

Abwurfhöhe 500 Meter und ich sehe nichts. Entweder diese Werte gar nicht zu lassen oder entsprechend skalieren.

Das Maximieren des Fensters kommt auch nicht so gut. ;)

2kstealth 11. Nov 2004 14:35

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also die Verbesserungen sind glaube ich nun alle aus dem Weg geräumt.

Ich habe die Struktogramme als *.jpg Dateien in den Bilderordner gepackt und
in den Ordner für Struktogramme das Proggie mit dem man diese zeichnen kann.

Ich habe das Project neu Compiliert nachdem ich die QGraphics rausgenaommen habe.


N heist Newton und ist eine Geschwindigkeit nur in sofern, und da gebe ich dir recht,
als das N sich aus kg * m/s (kilogramm mal meter pro sekunde) zusammensetzt.

Hoffe Ihr findet nichtmehr allzuviele Fehler...=)

cu GaKo

P.S.: Das mit dem Parabel nach minimieren weg, habe ich auch gemerkt, mir aber nicht zu helfen gewusst,
wollen nur hoffen das der Lehrer nicht merkt. :mrgreen:

nailor 11. Nov 2004 14:42

Re: Schräger Wurf in Delphi 6
 
Dazu müsste im OnPaint gezeichnet werden. Oder ihr malt in einer PictureBox. Die kann sich alleine merken, wie sie aussieht.

2kstealth 11. Nov 2004 14:42

Re: Schräger Wurf in Delphi 6
 
Ja Michi,

du hast ja recht.

:cry:

Mein Problem: Ich weiß nicht wie und mein Lehrer ist nicht bereit uns sowas gefügig zu machen.

Meine Lösung: Bitte erkläre es mir...hab irgendwie kein Hanbuch zur Hand =) :stupid: :zwinker: :stupid:

Der Maßstab kann in die Vorgesehenen Felder eingegeben werden und wenn du Ihn vergrößerst, dann wird dir der abwurfpunkt auch Angezeigt.

Den Quelltext hätte man wirklich besser kommentieren können, auch da bist du im Recht!!!!
Und bevor ich es vergesse, bei mir sieht der Quelltext in Delphi sehr schön geordnet aus, immer mit zwei Tabs von Schachtel zu Schachtel.

*verdammtschrei*

Das Ding ist echt nicht so gut was?

Ja nun, was solls, abgegeben ist das schon... beim nächsten mal weiß ich es besser...!!!

cu GaKo

P.S.: Der Maßstab wird mit in die berechnung der Punkte für Y einbezogen, weil ja X sozusagen eine Konstante darstellt.

Luckie 11. Nov 2004 14:44

Re: Schräger Wurf in Delphi 6
 
Zitat:

Zitat von 2kstealth
N heist Newton und ist eine Geschwindigkeit nur in sofern, und da gebe ich dir recht,
als das N sich aus kg * m/s (kilogramm mal meter pro sekunde) zusammensetzt.

Ich habe Bauingenieurwesen studiert und ich weiß, dass N für Newton steht. Und das ist die Einheit für eine Kraft aber definitiv nicht für eine Geschwindigkeit. Also es ist schlicht weg falsch. Es wundert mich, dass das der Lehrer das hat durchgehen lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.
Seite 1 von 3  1 23      

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