AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

Ein Thema von Timm3r · begonnen am 10. Sep 2010 · letzter Beitrag vom 11. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Timm3r

Registriert seit: 10. Sep 2010
4 Beiträge
 
#1

Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 18:39
Delphi-Version: 7
Guten Tag zusammen,

habe gerade das folgende Programm geschrieben:

Delphi-Quellcode:
procedure TForm1.AmpelUmschaltenClick(Sender: TObject);
begin
        if
                imAmpelRot.Visible=True

        then begin
                imAmpelRot.Visible:=False
                imAmpelRotGelb.Visible:=True
        end
        else if
                imAmpelRotGelb.Visible=True
        then begin
                imAmpelRotGelb.Visible:=False
                imAmpelGruen.Visible:=True
        end
        else if
                ImAmpelGruen.Visible=True
        then begin
                ImAmpelGruen.Visible:=False
                ImAmpelGelb.Visible:=True
        end
        else
                ImAmpelGelb.Visible:=False
                ImAmpelRot.Visible:=True
        end;


end.

Das ist halt so ne Ampel die die ganze Zeit umgeschaltet werden soll aber ich rall nicht wierklich was an dem Programm falsch sein soll.

Kann mir einer von euch sagen, wie ich das ändern soll?

Danke im Voraus!

Geändert von mkinzler (10. Sep 2010 um 18:53 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 18:42
Was bekommst du denn als Fehler?

Kleiner Tipp nebenbei

Delphi-Quellcode:
if
imAmpelRot.Visible=True

then
teste niemals auf True oder False wie du es machst sondern so

Delphi-Quellcode:
if imAmpelRot.Visible then
Begin
  ...
end
SieheHier

Edit: ebenso vergisst du ";" zu setzen zwischen deinen Begin und End's

Delphi-Quellcode:
then begin
ImAmpelGruen.Visible:=False; <<< besser
ImAmpelGelb.Visible:=True;
end

[DELPHI]

Delphi-Quellcode:
procedure TForm1.AmpelUmschaltenClick(Sender: TObject);
begin
  if imAmpelRot.Visible then
  begin
    imAmpelRot.Visible:= False;
    imAmpelRotGelb.Visible:= True;
  end
  else if imAmpelRotGelb.Visible then
  begin
    imAmpelRotGelb.Visible:=False;
    imAmpelGruen.Visible:=True;
  end
  else if ImAmpelGruen.Visible then
  begin
    ImAmpelGruen.Visible:=False;
    ImAmpelGelb.Visible:=True;
  end
  else
  Begin
    ImAmpelGelb.Visible:=False;
    ImAmpelRot.Visible:=True;
  end;
end;
Steven

Geändert von youuu (10. Sep 2010 um 18:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 18:47
Und formatieren den Quellcode

Delphi-Quellcode:
   procedure TForm1.AmpelUmschaltenClick(Sender: TObject);
   begin
      if imAmpelRot.Visible then
      begin
         imAmpelRot.Visible := False;
         imAmpelRotGelb.Visible := True;
      end
      else if imAmpelRotGelb.Visible then
      begin
         imAmpelRotGelb.Visible := False;
         imAmpelGruen.Visible := True;
      end
      else if ImAmpelGruen.Visible then
      begin
         ImAmpelGruen.Visible := False;
         ImAmpelGelb.Visible := True;
      end
      else
         ImAmpelGelb.Visible := False;
      
      ImAmpelRot.Visible:=True; // Sicher dass das so gewollt ist?
   end;
end.
Durch das Einrücken wird der Fehler direkt sichtbar

Geändert von jfheins (10. Sep 2010 um 18:56 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 18:58
CrossPost DF
Markus Kinzler
  Mit Zitat antworten Zitat
Timm3r

Registriert seit: 10. Sep 2010
4 Beiträge
 
#5

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 19:34
Auf jeden Fall schon einmal vielen Dank für die zahlreichen Antworten, aber ich habe es mit euren Quelltexten versucht, nur das geht auch i.wie nicht. Könnt ihr mir vielleicht die akuten Fehler nennen?

Also Delphi sagt immer:

[Error] Unit1.pas(36): Not enough actual parameters
[Error] Unit1.pas(37): Not enough actual parameters
[Error] Unit1.pas(38): Not enough actual parameters
[Error] Unit1.pas(44): Not enough actual parameters
[Error] Unit1.pas(45): Not enough actual parameters
[Error] Unit1.pas(46): Not enough actual parameters
[Warning] Unit1.pas(79): Text after final 'END.' - ignored by compiler
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


Den Quelltext dazu habt ihr ja!

Danke wieder einmal im Voraus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 19:36
Aber nicht den kompletten. Was steht den in den angemahnten Zeilen?
Markus Kinzler
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 20:02
Gerade mal spaßeshalber probiert.
Einfachen meinen QuellText vom Post oben kopieren und es klappt, es sei denn du hast noch mehr stehen, welches meinen Code ungültig machen könnte?
Steven
  Mit Zitat antworten Zitat
Timm3r

Registriert seit: 10. Sep 2010
4 Beiträge
 
#8

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 20:32
Das ist zuerst einmal sehr nett, dass ihr euch alle so eine Mühe gebt mein Problem zu lösen. Ich stell mal den ganzen Quelltext rein, dann ist es euch vielleicht klarer!

u
Delphi-Quellcode:
nit Unit1;

interface

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

type
  TForm1 = class(TForm)
    AmpelEinschalten: TButton;
    AmpelAusschalten: TButton;
    AmpelUmschalten: TButton;
    ImAmpelRotGelb: TImage;
    ImAmpelRot: TImage;
    ImAmpelGruen: TImage;
    ImAmpelGelb: TImage;
    procedure AmpelEinschaltenClick(Sender: TObject);
    procedure AmpelAusschaltenClick(Sender: TObject);
    procedure AmpelUmschaltenClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AmpelEinschaltenClick(Sender: TObject);
begin
        TForm1.AmpelEinschaltenClick.Visible:=False;
        TForm1.AmpelAusschaltenClick.Visible:=True;
        TForm1.AmpelUmschaltenClick.Visible:=True;
        ImAmpelRot.Visible:=True;
end;

procedure TForm1.AmpelAusschaltenClick(Sender: TObject);
begin
        TForm1.AmpelEinschaltenClick.Visible:=True;
        TForm1.AmpelAusschaltenClick.Visible:=False;
        TForm1.AmpelUmschaltenClick.Visible:=False;
        ImAmpelRot.Visible:=False;
        ImAmpelGruen.Visible:=False;
        ImAmpelGelb.Visible:=False;
        ImAmpelRotGelb.Visible:=False;

end;

procedure TForm1.AmpelUmschaltenClick(Sender: TObject);
   begin
      if imAmpelRot.Visible then
      begin
         imAmpelRot.Visible := False;
         imAmpelRotGelb.Visible := True;
      end
      else if imAmpelRotGelb.Visible then
      begin
         imAmpelRotGelb.Visible := False;
         imAmpelGruen.Visible := True;
      end
      else if ImAmpelGruen.Visible then
      begin
         ImAmpelGruen.Visible := False;
         ImAmpelGelb.Visible := True;
      end
      else
      begin
         ImAmpelGelb.Visible := False;

         ImAmpelRot.Visible:=True;

      end;

end;

Geändert von mkinzler (10. Sep 2010 um 20:43 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 20:44
Bitte verwende Delphi-Tags für deinen Quellcode.

Und was bekommst du für Fehlermeldungen und wo?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Delphi-Anfänger - Was mache ich mit diesem if-Satz falsch?

  Alt 10. Sep 2010, 20:45
Bitte verwende das nächste Mal passende Code-Tags ( in diesem Fall Delphi) in dem du den Quelltext im Editor markierst und dann das Code-Icon ( bzw. Delphi-Icon) anklickst.

Danke.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:38 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