AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Schräger Wurf in Delphi 6
Thema durchsuchen
Ansicht
Themen-Optionen

Schräger Wurf in Delphi 6

Ein Thema von 2kstealth · begonnen am 11. Nov 2004 · letzter Beitrag vom 12. Nov 2004
Antwort Antwort
Seite 1 von 3  1 23      
2kstealth
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.



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!

cu GaKo
Angehängte Dateien
Dateityp: rar schr_ger_wurf_-_garo_adanali__kjell_otto.rar (961,5 KB, 228x aufgerufen)
 
Alexander

 
Turbo Delphi für .NET
 
#2
  Alt 11. Nov 2004, 14:02
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?
Alexander
  Mit Zitat antworten Zitat
11. Nov 2004, 14:03
Dieses Thema wurde von "sakura" von "Multimedia" nach "Open-Source" verschoben.
Benutzerbild von Steve
Steve

 
Delphi 2006 Personal
 
#4
  Alt 11. Nov 2004, 14:09
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
  • Screeny und Doku sehen auf den ersten Blick brauchbar aus

Gruß
Stephan
Stephan B.
  Mit Zitat antworten Zitat
2kstealth
 
#5
  Alt 11. Nov 2004, 14:12
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.



Bei Antwort wird auch dieser Fehler behoben.

cu in 5 min
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#6
  Alt 11. Nov 2004, 14:16
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".
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.

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.
Michael
  Mit Zitat antworten Zitat
2kstealth
 
#7
  Alt 11. Nov 2004, 14:35
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.
Angehängte Dateien
Dateityp: rar schr_ger_wurf_-_garo_adanali__kjell_otto_815.rar (1,17 MB, 102x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor
 
#8
  Alt 11. Nov 2004, 14:42
Dazu müsste im OnPaint gezeichnet werden. Oder ihr malt in einer PictureBox. Die kann sich alleine merken, wie sie aussieht.
Michael N.
  Mit Zitat antworten Zitat
2kstealth
 
#9
  Alt 11. Nov 2004, 14:42
Ja Michi,

du hast ja recht.



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 =)

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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#10
  Alt 11. Nov 2004, 14:44
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.
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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