Delphi-PRAXiS

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.

2kstealth 11. Nov 2004 14:47

Re: Schräger Wurf in Delphi 6
 
Also schreibe ich da besser Abwurfkraft?

Das trifft den Nagel doch eher auf den Kopp oder?

:pale: WIR KRIEGEN NE 6!

*g*

cu GaKo

Ultimator 11. Nov 2004 15:11

Re: Schräger Wurf in Delphi 6
 
Ja, N ist die Einheit für Kraft.
Du könntest noch einbauen, dass man mit der Maus in die Paintbox oder was ds ist klicken kann und mit gedrückter Maustaste einen Richtungsvektor ziehen kann. Daraus wird dann die Zeichnung berechnet^^ :stupid:

Luckie 11. Nov 2004 15:35

Re: Schräger Wurf in Delphi 6
 
Zitat:

Zitat von 2kstealth
Also schreibe ich da besser Abwurfkraft?

Wenn du dir die Formel mal angekuckt und verstanden hättest, dann würdest du sehen, dass die Abwurfkraft keine Rolle spielt. Sehr wohl aber die Abwurfgeschwindigkeit v0.

Wheelie 11. Nov 2004 15:47

Re: Schräger Wurf in Delphi 6
 
Masse x Geschwindigkeit = Impuls

Luckie 11. Nov 2004 16:53

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich habe es mal eben so schnell programmiert, wie ich es mir vorgestellt hätte, dass man so was realisiert. Das Projekt befindet sich im Anhang.

2kstealth 11. Nov 2004 17:16

Re: Schräger Wurf in Delphi 6
 
sorry man,

so derbe is dein Proggy NICHT....

cu on LAN

Luckie 11. Nov 2004 17:19

Re: Schräger Wurf in Delphi 6
 
Äh. Das ist nur eine Demo, wie man es mit Klassen lösen köönte und kein fertiges Programm.

2kstealth 11. Nov 2004 17:24

Re: Schräger Wurf in Delphi 6
 
Ja danke dir,

Ich habe gerade einen kleinen Abraster bekommen...
hat nix mit dir zu tuhen gehabt...

My fault!

Kannst du mir vielleicht nochmal ein paar Sätze zu der construcor function schreiben???
ich habe schon gecheckt was das dort bewirkt, nur nicht wie man darauf kommt die Eigenschaften dieser Klasse zu benutzen und wie man diese Eigenschaften nun verwenden kann usw.

War echt nett von dir mir das nochmal zu schicken damit ich das kapiere...!

BIG THX ^^

Hab halt nur den Unterricht von sonem (inkompetetnten spasten) Lehrer genossen!

Danke nochmal und ein AUSDRÜCKLICHES SORRY!!!!

cu GaKo

Luckie 11. Nov 2004 17:25

Re: Schräger Wurf in Delphi 6
 
Nachher. Gerne.

Luckie 11. Nov 2004 19:36

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, das ganze noch mal etwas umhgebaut und mit Kommentaren.

2kstealth 11. Nov 2004 20:25

Re: Schräger Wurf in Delphi 6
 
Nice du,

danke dir vielmals für die Erläuterung!!!

Ich werde wohl heute keine Zeit mehr haben das alles zu studieren und einzubauen, und dieses WE siehts echt nicht gut aus... aber:
vielleicht schaffe ich das in der nächsten Zeit trotzdem und dann Poste ich das hier nochmal als bessere Version rein !!!

Vielen dank nochmal an alle und ganz besonders an Lucky!!!!

cu GaKo

P.S.: @ Lucky, tut mir wirklich leid das Kommentar von eben! Nimms mir bitte nicht allzu übel!

Luckie 12. Nov 2004 04:03

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal das Programm fertig geschrieben. So würde ich es mir vorstellen. Mit den Scrollbars soll man später noch mal das ganze skalieren können.

Programm und Sourcen im Anhang.

runger 12. Nov 2004 06:44

Re: Schräger Wurf in Delphi 6
 
Hi 2kstealth,

warum, lässt du keine negative Schwerkraft zu?
Wäre ganz lustig.

Rainer

runger 12. Nov 2004 06:47

Re: Schräger Wurf in Delphi 6
 
Hi Luckie,

du hast gemeckert wegen der Grenzen, die man verriegeln müsste.
Gib mal als Anfangsgeschwindigkeit 980 ein, dann hängt sich dein Prog auf.

Rainer

Luckie 12. Nov 2004 06:54

Re: Schräger Wurf in Delphi 6
 
Nein es hängt sich nicht auf, es rechnet nur so lange.

Luckie 12. Nov 2004 07:59

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich darf mich noch mal zu Wort melden. ;) Jetzt kann man es auch mit den Scrollbars skalieren (siehe Screenshots). Desweiteren habe ich etwas in den beiden Klassen aufgeräumt. Jetzt hängt er auch nicht mehr bei einer Anfangsgeschwindigkeit von 980m/s. ;)

Du kannst den Code gerne verwenden, bitte bewahre nur das Copyright, wie es in der Linzenz drinne steht, die bei den Sourcen bei liegt.

Luckie 12. Nov 2004 16:11

Re: Schräger Wurf in Delphi 6
 
Liste der Anhänge anzeigen (Anzahl: 1)
Noch ein kleines Update. Man kann das Fenster nun in der Größe verändern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.

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