Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi noob fragen (if schleife/neue procedur) (https://www.delphipraxis.net/3771-noob-fragen-if-schleife-neue-procedur.html)

Gregor 29. Mär 2003 10:16


noob fragen (if schleife/neue procedur)
 
:oops: hallo, ich weis das ich in letzter zeit vieles frage aber ich finds nicht herraus.ich suche immer in der hilfe und in meinem buch.

so zum problehm:

irgendwie erlaubt er folgendes nicht:

Zitat:

if waffen=15< then

(befehle, die gehen ohne if ;))

else

(befehl)
zu zweiten: ich will eine neue pocedur machen mit dem namen "neuerunde"
wie mache ich das und wie füre ich diese aus

Daniel B 29. Mär 2003 10:21

Re: noob fragen (if schleife/neue procedur)
 
Hallo,
Zitat:

Zitat von Gregor
Zitat:

if waffen=15< then

Was soll das denn auch machen?

Wenn Waffen gleich 15 ist und kleiner als garnichts? Was ist das für ein Satzbau?! :shock:

Also, if Waffen = 15 then, oder if Waffen < 15 then.

Ansonsten
Delphi-Quellcode:
if Waffen = 15 then
begin
  //Code wenn Waffen gleich 15
  //Code wenn Waffen gleich 15
  //Code wenn Waffen gleich 15
end
else
begin
  //Code wenn Waffen ungleich 15 
  //Code wenn Waffen ungleich 15
  //Code wenn Waffen ungleich 15
end;
Ist es denn so schwer in der Hilfe nach if, then und else zu suchen?

Grüsse, Daniel :hi:

Gregor 29. Mär 2003 10:43

ne aber das problehm war ja eiogentlic da mit der 15.

also ich habs jetzt so :

Delphi-Quellcode:
 if Waffen1 = 15 then
 begin
 //text im memofeld für spieler 1
   memo_infotext.text:='Spieler 1 hat den Schildschmetterer abgefeuert und verliert 15% seiner Waffenpunkte.';
 //waffenprozente wegzählen
   gauge_waffen_1.Progress:=gauge_waffen_1.Progress-5;
   Waffen1:=gauge_waffen_1.Progress;
   label_info_Waffen_1.Caption:=IntToStr(Waffen1);
 //schaden in anzeigen
   Schaden1:=random(39);
   Schildschaden1:=Schaden1;
   gauge_schild_2.Progress:=gauge_schild_2.Progress - Schildschaden1;
   Schild2:=gauge_schild_2.Progress;
   label_info_Schild_2.Caption:=IntToStr(Schild2)
 end
 else waffen2 <15 then
 begin
  label_info_1.Caption:='Sie haben keine Waffenpunkte mehr für diese Aktion';
  end
end;
:( geht aber nicht :(

Daniel B 29. Mär 2003 10:57

Hallo,

dann sag uns doch bitte was nicht geht. Und was Du erreichen möchtest. Geht es zur RunTime nicht, oder zur DesignTime? Lässt sichs also kompilieren oder nicht? Wenn nicht, was sagt denn der kluge Kompiler?

Grüsse, Daniel :hi:

Gregor 29. Mär 2003 11:03

ahhh sorry habs vergessen;)

Zitat:

[Fehler] Unit1.pas(107): Deklaration erwartet, aber 'IF' gefunden
[Fehler] Unit1.pas(122): ';' erwartet, aber 'ELSE' gefunden
[Fehler] Unit1.pas(124): Undefinierter Bezeichner: 'label_info_1'
[Fehler] Unit1.pas(124): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(126): '.' erwartet, aber 'END' gefunden
[Fehler] Unit1.pas(52): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_schildschmetterer_2Click'
[Fehler] Unit1.pas(53): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_laser_1Click'
[Fehler] Unit1.pas(54): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_laser_2Click'
[Fehler] Unit1.pas(55): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_computervirus_1Click'
[Fehler] Unit1.pas(56): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_computervirus_2Click'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
keine ahnung was der schwaffelt der compiler :)

RomanK 29. Mär 2003 11:05

Beim vorletzten end fehlt das Semikolon(;).
Das Semikolon nur weglassen wenn das end vor einem else steht.

Daniel B 29. Mär 2003 11:07

Nach dem vorletzten end fehlt ein Semikolon. Das macht schon ein paar Meldungen weg. ;)
Ausserdem solltest Du die gesamte Prozedur posten, also samt der Zeile mit procedure am Anfang.

Grüsse, Daniel :hi:

RomanK 29. Mär 2003 11:07

und bei
Delphi-Quellcode:
label_info_Schild_2.Caption:=IntToStr(Schild2)
fehlt auch ein Semikolon.

Daniel B 29. Mär 2003 11:11

Zitat:

Zitat von FuckRacism
und bei
Delphi-Quellcode:
label_info_Schild_2.Caption:=IntToStr(Schild2)
fehlt auch ein Semikolon.

Das ist aber kein Fehler! Es fehlt, aber danach kommt ein end und somit ist dies erlaubt! ;)

Grüsse, Daniel :hi:

Gregor 29. Mär 2003 11:17

hab mal alles gemacht trtzdem sinds noch fehler drin :( das fette ist das mit der if scleife.

Delphi-Quellcode:
//-----------------------------------------------------------------------------
//                           *  Erstellt von Gregor Wegberg   *
//                               *  [email]egoweb@swissonline.ch[/email]  *
//                                  *  [url]www.feuerfeld.ch[/url] *
//-----------------------------------------------------------------------------
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    spieler_eins: TGroupBox;
    label_leben: TLabel;
    gauge_leben_1: TGauge;
    Label1: TLabel;
    gauge_waffen_1: TGauge;
    Label2: TLabel;
    gauge_schild_1: TGauge;
    Panel1: TPanel;
    button_waffe_schildschmetterer_1: TButton;
    button_laser_1: TButton;
    button_computervirus_1: TButton;
    spieler_zwei: TGroupBox;
    Label3: TLabel;
    gauge_leben_2: TGauge;
    gauge_waffen_2: TGauge;
    Label4: TLabel;
    gauge_schild_2: TGauge;
    Label5: TLabel;
    Panel2: TPanel;
    button_schildschmetterer_2: TButton;
    button_laser_2: TButton;
    button_computervirus_2: TButton;
    memo_infotext: TMemo;
    Label6: TLabel;
    label_info_1: TLabel;
    label_info_2: TLabel;
    label_info_leben_1: TLabel;
    label_info_Waffen_1: TLabel;
    label_info_Schild_1: TLabel;
    label_info_leben_2: TLabel;
    label_info_waffen_2: TLabel;
    label_info_schild_2: TLabel;
    sauerstoff_1: TPanel;
    sauerstoff_2: TPanel;
    label_sauerstoff_1: TLabel;
    label_sauerstoff_2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure button_waffe_schildschmetterer_1Click(Sender: TObject);
    procedure button_schildschmetterer_2Click(Sender: TObject);
    procedure button_laser_1Click(Sender: TObject);
    procedure button_laser_2Click(Sender: TObject);
    procedure button_computervirus_1Click(Sender: TObject);
    procedure button_computervirus_2Click(Sender: TObject);



  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
Leben1,Waffen1,Schild1,Leben2,Waffen2,Schild2,Schaden1,Schaden2,Schildschaden1,Schildschaden2,Lebenschaden1,Lebenschaden2:integer;
implementation

uses Math, DateUtils;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
//--------------------------------------------
  //vorberreitung
 memo_infotext.Text:='';
 label_info_1.Caption:='Wichtige Informationen';
 label_info_2.Caption:='Wichtige Informationen';
 Randomize;

 //variabeln für spieler 1
   Leben1:=200;
   Waffen1:=50;
   Schild1:=200;

 //variabeln für spieler 2
   Leben2:=200;
   Waffen2:=50;
   Schild2:=200;

 // Variabeln in die Labels einsetzen
  label_info_leben_1.Caption:=IntToStr(Leben1);
  label_info_leben_2.Caption:=IntToStr(Leben2);
  label_info_Waffen_1.Caption:=IntToStr(Waffen1);
  label_info_Waffen_2.Caption:=IntToStr(Waffen2);
  label_info_Schild_1.Caption:=IntToStr(Schild1);
  label_info_Schild_2.Caption:=IntToStr(Schild2);
 //----------------------------------------
end;


//-----------------------------------------------------------------------[b]
procedure TForm1.button_waffe_schildschmetterer_1Click(Sender: TObject);

 if Waffen1 = 15 then
begin
//text im memofeld für spieler 1 
   memo_infotext.text:='Spieler 1 hat den Schildschmetterer abgefeuert und verliert 15% seiner Waffenpunkte.';
//waffenprozente wegzählen
   gauge_waffen_1.Progress:=gauge_waffen_1.Progress-5;
   Waffen1:=gauge_waffen_1.Progress;
   label_info_Waffen_1.Caption:=IntToStr(Waffen1);
//schaden in anzeigen
   Schaden1:=random(39);
   Schildschaden1:=Schaden1;
   gauge_schild_2.Progress:=gauge_schild_2.Progress - Schildschaden1;
   Schild2:=gauge_schild_2.Progress;
   label_info_Schild_2.Caption:=IntToStr(Schild2);
end;
else waffen2 <15 then
begin
  label_info_1.Caption:='Sie haben keine Waffenpunkte mehr für diese Aktion';
  end
end;[/b]
//-----------------------------------------------------------------------
procedure TForm1.button_schildschmetterer_2Click(Sender: TObject);
begin

//text im memofeld für spieler 2
   memo_infotext.Text:='Spieler 2 hat den Schildschmetterer abgefeuert und verliert 15% seiner Waffenpunkte';
//waffenprozente wegzählen
  gauge_waffen_2.Progress:=gauge_waffen_2.Progress-5;
  waffen2:=gauge_waffen_2.Progress;
  label_info_Waffen_2.Caption:=IntToStr(Waffen2);
//schaden
   Schaden2:=random(39);
   Schildschaden2:=Schaden2;
   gauge_schild_1.Progress:=gauge_schild_1.Progress - Schildschaden2;
   Schild1:=gauge_schild_1.Progress;
   label_info_Schild_1.Caption:=IntToStr(Schild1);
end;
//-----------------------------------------------------------------------
procedure TForm1.button_laser_1Click(Sender: TObject);
begin

//text im memofeld spieler 1
memo_infotext.Text:='Spieler 1 hat seinen Laser eingestellt und schiesst mit voller Kraft auf den Feind';
//waffenprozente wegzählen
gauge_waffen_1.Progress:=gauge_waffen_1.Progress-2;
waffen1:=gauge_waffen_1.Progress;
label_info_Waffen_1.Caption:=IntToStr(Waffen1);
//schaden
Schaden1:=random(5)+3;
schildschaden1:= Schaden1-2;
Lebenschaden1:= schaden1-3;
gauge_leben_2.Progress:=gauge_leben_2.Progress - Lebenschaden1;
gauge_schild_2.Progress:=gauge_schild_2.Progress - Schildschaden1;
Schild2:=gauge_schild_2.Progress;
Leben2:=gauge_leben_2.Progress;
label_info_leben_2.Caption:=IntToStr(Leben2);
label_info_Schild_2.Caption:=IntToStr(Schild2);
end;
//-----------------------------------------------------------------------
procedure TForm1.button_laser_2Click(Sender: TObject);
begin

//text im memofeld spieler 2
memo_infotext.Text:='Spieler 2 hat an seinem Raumschiff einen Laser! Dieser trift den Gegner mit voller Wucht!';
//waffenprozente
gauge_waffen_2.Progress:=gauge_waffen_2.Progress-2;
waffen2:=gauge_waffen_2.Progress;
label_info_Waffen_2.Caption:=IntToStr(Waffen2);
//schaden
Schaden2:=random(5)+3;
schildschaden2:= Schaden2-2;
Lebenschaden2:= schaden2-3;
gauge_leben_1.Progress:=gauge_leben_1.Progress - Lebenschaden2;
gauge_schild_1.Progress:=gauge_schild_1.Progress - Schildschaden2;
Schild1:=gauge_schild_1.Progress;
Leben1:=gauge_leben_1.Progress;
label_info_leben_1.Caption:=IntToStr(Leben1);
label_info_Schild_1.Caption:=IntToStr(Schild1);
end;
//-----------------------------------------------------------------------
procedure TForm1.button_computervirus_1Click(Sender: TObject);
begin
//text im memofeld spieler 1
memo_infotext.Text:='Spieler 1 ist ein geübter Hacker und Computerspezialist! Sein Virus schafft sogar den neuesten und sichersten Computer platt zu machen';
//Waffenprozent
gauge_waffen_1.Progress:=gauge_waffen_1.Progress-10;
waffen1:=gauge_waffen_1.Progress;
label_info_Waffen_1.Caption:=IntToStr(Waffen1);
//Schaden
schaden1:=Random(39)+1;
Lebenschaden1:=Schaden1-1;
gauge_leben_2.Progress:=gauge_leben_2.Progress-Lebenschaden1;
Leben2:=gauge_leben_2.Progress;
label_info_leben_2.Caption:=IntToStr(Leben2);
end;
//-----------------------------------------------------------------------
procedure TForm1.button_computervirus_2Click(Sender: TObject);
begin
//text memofeld spieler 2
memo_infotext.Text:='Spieler 2 hat auf dem Intergalactischem Markt für Schwarzwaren einen Tödlichen Virus ersteigert!';
//waffenprozent
gauge_waffen_2.Progress:=gauge_waffen_2.Progress-10;
waffen2:=gauge_waffen_2.Progress;
label_info_Waffen_2.Caption:=IntToStr(Waffen2);
//Schaden
schaden2:=Random(39)+1;
Lebenschaden2:=Schaden2-1;
gauge_leben_1.Progress:=gauge_leben_1.Progress-Lebenschaden2;
Leben1:=gauge_leben_1.Progress;
label_info_leben_1.Caption:=IntToStr(Leben1);
end;
//----------------------------------------------------------------------
end.
folgende fehlermeldungen:

Zitat:

[Fehler] Unit1.pas(111): Deklaration erwartet, aber 'IF' gefunden
[Fehler] Unit1.pas(126): Deklaration erwartet, aber 'ELSE' gefunden
[Fehler] Unit1.pas(128): Undefinierter Bezeichner: 'label_info_1'
[Fehler] Unit1.pas(128): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(130): '.' erwartet, aber 'END' gefunden
[Fehler] Unit1.pas(54): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_schildschmetterer_2Click'
[Fehler] Unit1.pas(55): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_laser_1Click'
[Fehler] Unit1.pas(56): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_laser_2Click'
[Fehler] Unit1.pas(57): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_computervirus_1Click'
[Fehler] Unit1.pas(58): Ungenügende Forward- oder External-Deklaration: 'TForm1.button_computervirus_2Click'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
[Edit=FuckRacism]Delphi-Tax beendet; Mfg Roman[/Edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:13 Uhr.
Seite 1 von 2  1 2      

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