| Autor |
Beitrag |
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 14:59
Im Zusammenhang mit: www.delphiforum.de/topic_91289.html
Ich lasse mit einem Timer eine procedure Ausführen die jeweils die x als auch die y Richtung eines Shapes verändert.
Dann habe ich im Timer noch eine Abfrage ob er den Rand berührt und dann soll er wieder in die entgegengesetzte Richtung weiter gehen.
Ich glaube ich habe irgendwo einen Denkfehler.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| procedure GoClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject);
public procedure linker (negativ : boolean); procedure rechter (negativ : boolean);
var Pong: TPong; richtung : integer; links, rechts : boolean;
procedure TPong.linker; begin kugel.Left := kugel.Left - 2; if negativ then kugel.Top := kugel.Top - 2 else if NOT negativ then kugel.Top := kugel.Top + 2; end;
procedure TPong.rechter; begin kugel.Left := kugel.Left + 2; if negativ then kugel.Top := kugel.Top - 2 else if NOT negativ then kugel.Top := kugel.Top + 2; end;
procedure TPong.GoClick(Sender: TObject); begin kugel.Top := 144; kugel.Left:= 144; Timer1.Enabled := true; richtung := random(2)+1; if richtung = 1 then links := true; if richtung = 2 then rechts := true; end;
procedure TPong.Timer1Timer(Sender: TObject); begin if links then begin linker(true); end else if rechts then begin rechter(true); end; if kugel.Top < 9 then begin if links then linker(false); if rechts then rechter(false); end else if kugel.Top + 13 > 316 then begin if links then linker(true); if rechts then rechter(true); end; |
Kann ich das besser lösen, oder zumindest was ist falsch? Der Ball ändert nicht die Y Achsenbewegung.
Gruß Dude566
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 31.03.09 15:24
Also irgendwie sieht das komisch aus. Du setzt links oder rechts auf true, aber nicht wieder zurück auf false bei einem neuen Go, falls es das gibt.
Wie wäre es, wenn du einfach eine Geschwindigkeit (in Pixeln pro Schritt z.B.) für horizontal und vertikal speicherst? Dann musst du nicht nach links und rechts und oben und unten unterscheiden und kannst einfach die Richtung horizinal oder vertikal durch Multiplikation mit -1 umkehren.
Nebenbei: Delphi-Quelltext 1: 2: 3:
| if negativ then kugel.Top := kugel.Top - 2 else if NOT negativ then kugel.Top := kugel.Top + 2; | Wofür das else if not negativ? In else kann es ja nix anderes mehr sein...
Dass du die Parameter für linker und rechter unten nicht schreibst, ist extrem unübersichtlich, auch wenn Delphi das erlaubt.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 15:31
jaenicke hat folgendes geschrieben : | Also irgendwie sieht das komisch aus. Du setzt links oder rechts auf true, aber nicht wieder zurück auf false bei einem neuen Go, falls es das gibt.
|
Nein Go wird nur einmal geklickt und dann beginnt das Spiel ja auch schon.
| Zitat: |
Wie wäre es, wenn du einfach eine Geschwindigkeit (in Pixeln pro Schritt z.B.) für horizontal und vertikal speicherst? Dann musst du nicht nach links und rechts und oben und unten unterscheiden und kannst einfach die Richtung horizinal oder vertikal durch Multiplikation mit -1 umkehren.
|
Wie das? Zeigs mal bitte an meinem Prog in einem Beispiel.
| Zitat: |
Wofür das else if not negativ? In else kann es ja nix anderes mehr sein...
|
Ok stimmt, stört aber auch nicht. 
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 15:55
Dude566 hat folgendes geschrieben : |
| Zitat: |
Wie wäre es, wenn du einfach eine Geschwindigkeit (in Pixeln pro Schritt z.B.) für horizontal und vertikal speicherst? Dann musst du nicht nach links und rechts und oben und unten unterscheiden und kannst einfach die Richtung horizinal oder vertikal durch Multiplikation mit -1 umkehren.
|
Wie das? Zeigs mal bitte an meinem Prog in einem Beispiel.
|
In deinem anderen (kA wievielten inzwischen ) Pong Topic (dieses um genau zu sein: www.delphi-forum.de/viewtopic.php?t=91289) habe ich deinen Code in einem meiner Beträge um diese Funktion ergänzt (Stichwort: velocity)
Du solltest dir bei Zeiten mal das hier anschauen: wiki.delphigl.com/in...rial_Lineare_Algebra (absolut notwendiges Basiswissen in Sachen Spieleprogrammierung)
| Zitat: | Ok stimmt, stört aber auch nicht.  |
Dinge die nicht stören sind meistens die Dinge, die irgendwann zu komischen Fehlern an Stellen führen, wo man sie am wenigsten vermutet und somit nicht findet
mfg
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 16:03
Kann ich es nicht auch so machen wie ich es bisher angefangen habe, nur was is falsch und wie gehts weiter?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type TPong = class(TForm) Go: TButton; Timer1: TTimer; ball: TTimer; Panel1: TPanel; Spieler: TButton; CPU: TButton; kugel: TShape; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure GoClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private public procedure linker (negativ : boolean); procedure rechter (negativ : boolean); end;
var Pong: TPong; richtung : integer; links, rechts : boolean;
implementation
{$R *.DFM}
procedure TPong.linker; begin kugel.Left := kugel.Left - 2; if negativ then kugel.Top := kugel.Top - 2 else if NOT negativ then kugel.Top := kugel.Top + 2; end;
procedure TPong.rechter; begin kugel.Left := kugel.Left + 2; if negativ then kugel.Top := kugel.Top - 2 else if NOT negativ then kugel.Top := kugel.Top + 2; end;
procedure TPong.GoClick(Sender: TObject); begin kugel.Top := 144; kugel.Left:= 144; Timer1.Enabled := true; richtung := random(2)+1; if richtung = 1 then links := true; if richtung = 2 then rechts := true; end;
procedure TPong.Timer1Timer(Sender: TObject); begin if GetAsyncKeyState(VK_UP) <> 0 then begin if Spieler.Top > 8 then Spieler.Top := Spieler.Top - 4 ; end else begin if GetAsyncKeyState(VK_DOWN) <> 0 then if (Spieler.Top + Spieler.Height) < 316 then Spieler.Top := Spieler.Top + 4; end; if links then begin linker(true); end else if rechts then begin rechter(true); end; if kugel.Top < 9 then begin if links then linker(false); if rechts then rechter(false); end else if kugel.Top + 13 > 316 then begin if links then linker(true); if rechts then rechter(true); end; end;
procedure TPong.FormCreate(Sender: TObject); begin links := false; rechts := false; randomize; end;
end. |
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 16:10
Ich glaube wenn du so weiter machst, wird dein Code nur noch unübersichtlicher, sodass es immer schwieriger wird, da überhaupt noch etwas nachvollziehen zu können (Und das auch noch Topic-Übergreifend)
Klassen habt ihr ja scheinbar noch nicht gehabt, deshalb mal ein paar Vorschläge für Variablen/Konstanten:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| const SchlaegerGeschwindigkeit = 10; var BallPosition, BallGeschwindigkeit: TPoint; BallRadius: integer; SchlaegerL, SchlaegerR: TRect; |
Mehr braucht man eigentlich nicht. Dann baut man sich noch eine Funktion die Überprüft, ob der Ball mit einem Rect Kollidiert (der kann man dann entweder den einen oder den anderen Schläger übergeben). Vielleicht noch eine Funktion MoveRect(a: TRect; amount: integer); o.Ä.
Dann machst du (wie schon mehrfach vorgeschlagen, die Bewegung Ball und der Schläger über die Geschwindigkeiten. Bei der Kollision wird die entsprechende Komponente umgedreht ( Geschwindigkeit.x := -Geschwindigkeit.x). Und dann hast du dein Pong.
mfg
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 16:15
Ja aber ich habe keine Rectangle Shapes gemacht, sondern 2 Buttons. Am besten ändere ich das dann auch noch.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 16:17
Du kannst afaik auch auf das Rect von TButton zugreifen, das ist kein Problem. Und die Form des Shapes spielt auch keine Rolle. TRect ist einfach nur ein Datentyp, welcher vier Integer beinhaltet ( Top, Bottom, Left und Right)
€: ich verweise auch gerne nochmal auf meinen Avatar <- (gibt leider keinen linkspfeil )
mfg
Zuletzt bearbeitet von F34r0fTh3D4rk am Di 31.03.09 16:35, insgesamt 2-mal bearbeitet
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 16:22
Oh, ok dann so oder?
Delphi-Quelltext 1: 2:
| Spieler.Rectangle := (...); |
Kann ich die Geschwindigkeit nicht vielleicht besser in eine Variable machen und die mit einem Timer in bestimmten Intervallen erhöhen.
Das bringt mehr Spannung ins Spiel.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 31.03.09 16:30
So ist es doch in dem Beispiel mit der Geschwindigkeit. 
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 16:42
@ F34r0fTh3D4rk
Aber wie muss ich das denn jetzt Schreiben, weil in deinem Code weist du einer Variable vom Typ TBall immer nur den neuen Wert hinzu.
Soll ich danach dem Shape und den Schlägern die Variablen zuweisen.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 17:00
Du kannst sie natürlich auch direkt zuweisen oder du machst das am Ende zusätzlich. Dieser Stil kommt daher, dass man normalerweise Berechnungen vom eigentlich Zeichnen trennt. Das heißt man berechnet die Daten und zeichnet dann anhand dieser das Bild. Da du kein Bild verwendest kannst du die Werte auch direkt zuweisen.
Empfehlenswert ist es natürlich ein Image(oder noch besser eine Paintbox) zu nehmen und nach jedem Durchlauf deine Schläger und deinen Ball darauf zu zeichnen. Aber es geht (bei so einfachen Sachen) auch ohne, auch wenns wenig elegant ist.
Wenn ihr die Aufgabe bekommen habt, ein Pong zu programmieren, so müsst ihr doch aber auch Unterlagen/Informationen bekommen haben um das umzusetzen, oder nicht? Da müsste doch so einiges drinstehen.
btw: mit "Komponente" meinte ich nicht dieser Dinger auf deinem Formular Ersetze das Wort durch "Anteil" oder so
mfg
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 17:14
Tzz rein garnichts, wir haben bisher: Datentypen mit Rekord gemacht, dyn & stat Array, ein bisschen mit PaintBox etc, aber noch nicht mal etwas mit OnKeyPress oder zumindest Konstanten.
Ich bin jetzt soweit, was fehlt noch blick gerade garnicht mehr durch, doch muss morgen abgeben.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type TPong = class(TForm) Go: TButton; Timer1: TTimer; Panel1: TPanel; Spieler: TButton; CPU: TButton; ball: TShape; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure GoClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private public end;
TBall = record position : TPoint; velocity : TPoint; end; TPlayer = record r, l : TPoint; end; var Pong: TPong; richtung : integer; links, rechts : boolean; bal : TBall; player : TPlayer;
implementation
{$R *.DFM}
procedure TPong.GoClick(Sender: TObject); begin ball.Top := 144; ball.Left:= 144; Timer1.Enabled := true; richtung := random(2)+1; if richtung = 1 then links := true; if richtung = 2 then rechts := true; end;
procedure TPong.Timer1Timer(Sender: TObject); begin if GetAsyncKeyState(VK_UP) <> 0 then begin if Spieler.Top > 8 then Spieler.Top := Spieler.Top - 4 ; end else begin if GetAsyncKeyState(VK_DOWN) <> 0 then if (Spieler.Top + Spieler.Height) < 316 then Spieler.Top := Spieler.Top + 4; end; bal.position.x := bal.position.x + bal.velocity.x; bal.position.y := bal.position.y + bal.velocity.y; ball.Left := bal.position.x; ball.Left := bal.position.y;
end;
procedure TPong.FormCreate(Sender: TObject); begin links := false; rechts := false; randomize; bal.velocity.x := 4; bal.velocity.y := 4; end;
end. |
Wo soll das ball.radius denn vorher hin, und spieler.Left funktioniert beim Linken schläger z.B. nicht da der Ball auf die rechte Seite trifft. Soll ich dann spieler.Left + spieler.Width machen?
Und was sollen die ganzen "and" hinter der 1. Abfrage, da muss doch immer nur eins zutreffen damit es abprallt.
Einloggen, um Attachments anzusehen!
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 17:18
Eine abfrage würde ja bedeuten, dass der Ball vom Schläger abprallt, egal in welcher vertikalen Position sich dieser momentan befindet. (Wenn ich richtig interpretiert habe, was du meinst )
Wenn du Rectangles benutzt, kannst du Right benutzen, ansonsten nimmst du Left+Width.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 17:31
Soll Radius auch noch in den TBall, und welchen Wert annehmen?
So?
Delphi-Quelltext 1:
| bal.radius := ball.Width div 2; |
Und was für Abfragen sollen in die weiteren Klammern nach den and's, mir ist schon klar für die einzelnen Abschnitte der Y-Achse, aber wie?
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 17:41
Ein klein wenig Eigeninitiative wäre schon angebracht (die Aufgabe ist schließlich ein Pong zu schreiben und nicht schreiben zu lassen). Zumal es keinen Sinn hat, eine Breite und einen Radius zu haben. Ein Kreis definiert sich bekanntermaßen durch einen Punkt und einen Radius, da brauchst du keine Breite. 
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 17:51
Ja gerne Eigeninitiative aber TShape hat nunmal kein Radius mit drin, und Right auch nicht.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type TPong = class(TForm) Go: TButton; Timer1: TTimer; Panel1: TPanel; ball: TShape; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; spieler: TShape; cpu: TShape; procedure GoClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private public end;
TBall = record position : TPoint; velocity : TPoint; radius : TPoint; end; TPlayer = record r, l : TPoint; end; var Pong: TPong; richtung : integer; links, rechts : boolean; bal : TBall; player : TPlayer;
implementation
{$R *.DFM}
procedure TPong.GoClick(Sender: TObject); begin ball.Top := 144; ball.Left:= 144; Timer1.Enabled := true; richtung := random(2)+1; if richtung = 1 then links := true; if richtung = 2 then rechts := true; end;
procedure TPong.Timer1Timer(Sender: TObject); begin if GetAsyncKeyState(VK_UP) <> 0 then begin if spieler.Top > 8 then spieler.Top := spieler.Top - 4 ; end else begin if GetAsyncKeyState(VK_DOWN) <> 0 then if (spieler.Top + spieler.Height) < 316 then spieler.Top := spieler.Top + 4; end; bal.position.x := bal.position.x + bal.velocity.x; bal.position.y := bal.position.y + bal.velocity.y; ball.Left := bal.position.x; ball.Left := bal.position.y; if (bal.position.x + bal.radius <= spieler.Right) and (bal.position.y + bal.radius >= cpu.Left) then ball.velocity.x := -ball.velocity.x;
end;
procedure TPong.FormCreate(Sender: TObject); begin links := false; rechts := false; randomize; bal.velocity.x := 4; bal.velocity.y := 4; bal.radius := ball.Width div 2; end;
end. |
[Fehler] Unit1.pas(82): Inkompatible Typen
[Fehler] Unit1.pas(82): Undefinierter Bezeichner: 'Right'
[Fehler] Unit1.pas(82): Inkompatible Typen
[Fehler] Unit1.pas(83): Undefinierter Bezeichner: 'velocity'
[Fehler] Unit1.pas(95): Inkompatible Typen: 'TPoint' und 'Integer'
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 17:56
Die Fehler in deinem Code sind einfach zu elementar, dir fehlt das Grundverständnis, sonst könntest du die genannten Vorschläge auch umsetzen. (Eine Alternative zu der TBall Klasse mit Variablen habe ich dir bereits genannt)
Dein jetziger Code ist einfach nur Copy+Paste aus Vorschlägen, die als Vorschläge gemeint waren und nicht als fertiger Code. Die müssen natürlich auf deinen Code angepasst und nicht einfach so übernommen werden.
Das einzige was ich noch tun kann, ist es, dir dieses Tutorial zu empfehlen: www.christian-stelzm...rials_crashkurs.html
mfg
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 31.03.09 17:59
Ja das hilft mir bis morgen dann auch nichts, dann kann ich auch nix dafür.
Dann muss der Leherer es halt mal akzeptieren, alles kommt vor den Ferien wieder zusammen.
2 weitere Hausarbeiten müssen noch abgegeben werden und ich habe Heute und Gestern erst 2 Arbeiten geschrieben.
Schaue später vll nochmal drauf vll kriege ich es ja noch hin, aber jetzt bin ich zu fertig.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5285
Erhaltene Danke: 29
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 31.03.09 18:00
Wenn du deinem Lehrer freundlich erklärst, dass die Zeit einfach zu knapp war, du zeigst, dass du es versuchst hast und die Probleme herausstellst, sollte er Verständnis dafür haben.
Und für die Zukunft hast du ja jetzt zwei Tutorials mit denen du dich vorbereiten kannst
mfg
Zuletzt bearbeitet von F34r0fTh3D4rk am Di 31.03.09 18:03, insgesamt 2-mal bearbeitet
|
|
|