AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem durch case

Ein Thema von Matze33 · begonnen am 19. Nov 2010 · letzter Beitrag vom 19. Nov 2010
Antwort Antwort
Matze33

Registriert seit: 25. Aug 2010
38 Beiträge
 
Delphi 6 Personal
 
#1

Problem durch case

  Alt 19. Nov 2010, 21:56
Hi,
bin grad dabei, n Programm zu schreiben, hab aber ein Problem.

Delphi-Quellcode:
begin
  n:=0;
  r:=StrtoInt(LabeledEdit2.Text);
  maxzahl:=StrtoInt(LabeledEdit1.Text);
  breite:=Image1.Picture.Width;
  hoehe:=Image1.Picture.Height;
  repeat
    x:=random(breite);
    y:=random(hoehe);
    farbe:=Image1.Canvas.pixels[x,y];
    Image1.Canvas.pen.color:=farbe;
    Image1.Canvas.brush.color:=farbe;
    //case method of
    //1:
    Image1.Canvas.ellipse(x-r,y-r,x+r,y+r);
    //2: Image1.Canvas.Rectangle(x-r,y-r,x+r,y+r);
    inc(n);
  until n>=maxzahl;
  Image1.Refresh;
end;
Wenn ich die // wegnehme (und den zugehörigen Befehl zu 1: in eine Zeile setze), komme folgende Fehler:
[Error] Unit1.pas(97): Constant expression expected
[Error] Unit1.pas(102): Statement expected but 'PROCEDURE' found

Z. 97 ist diese: "inc(n);"
Z. 102 ist der Anfang der nächsten Prozedur (procedure TForm1.BitBtn1Click(Sender: TObject)

Kann mir jemand weiterhelfen? Ich möchte, wie man im Quelltext sieht, verschiedene Methoden benutzen können, indem ich im Menü von verschiedenen Möglichkeiten eine auswählen kann, das dann "gespeichert" wird und ich über einen separaten Button den Befehl dann ausführen kann. Wie das mit dem Auswählen geht, müsste ich auch noch mal erklärt bekomme, bitte^^

Danke und schönen Abend noch.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Problem durch case

  Alt 19. Nov 2010, 21:59
Ein Case-Block endet immer mit einem "end". Nicht vergessen.
  Mit Zitat antworten Zitat
Matze33

Registriert seit: 25. Aug 2010
38 Beiträge
 
Delphi 6 Personal
 
#3

AW: Problem durch case

  Alt 19. Nov 2010, 22:01
Das alles? Wow -.-
Man ey, wie viel Zeit hab ich dadurch jetzt verschwendet?

Kannst du mir das mit der Auswahl der Methode bitte noch erklären? Also, wie ich es dann mache, weiß ich auch, aber nicht, wie ich dem Menü diese Auswahlfunktion verpasse.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Problem durch case

  Alt 19. Nov 2010, 22:04
Was meinst du genau?
Das hier mit dem fehlenden "end"?
Delphi-Quellcode:
case method of
  1: Image1.Canvas.ellipse(x-r,y-r,x+r,y+r);
  2: Image1.Canvas.Rectangle(x-r,y-r,x+r,y+r);
end;
  Mit Zitat antworten Zitat
Matze33

Registriert seit: 25. Aug 2010
38 Beiträge
 
Delphi 6 Personal
 
#5

AW: Problem durch case

  Alt 19. Nov 2010, 22:12
Ne ne, der Abschnitt ist an sich fertig^^
Ich hab mal n Bild angehängt, wie ich das meine. Ich muss gar nicht wissen, wie man damit dann inhaltlich groß was macht, sondern nur wie man die "Oberfläche" erstellt (ich rede von den Auswahl-...punkten).

Und bevor ich es vergesse: Was gibt es noch für Formen aus Ellipse und Rectangle? Ganz egal, welche Form, nur irgendwas, das auch funktioniert^^
Miniaturansicht angehängter Grafiken
methode.png  
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Problem durch case

  Alt 19. Nov 2010, 22:17
Ähm zukünftig bitte pro Frage ein neues Thema erstellen, sofern die Fragen nicht direkt zusammenhängen. Sonst ist es kaum möglich über die Suchfunktion vernünftige Ergebnisse zu erhalten.

Dennoch ganz kurz zu den Fragen:

1. TMainMenu
2. Geometrische Formen (Abschnitt "Zweidimensional")
  Mit Zitat antworten Zitat
Matze33

Registriert seit: 25. Aug 2010
38 Beiträge
 
Delphi 6 Personal
 
#7

AW: Problem durch case

  Alt 19. Nov 2010, 22:30
Alles klar, das mit dem Menü habe ich jetzt fast hinbekommen.
Delphi-Quellcode:
procedure TForm1.Kreise1Click(Sender: TObject);
begin
  begin method:=1;
  Kreise1.Checked:=True;
  end;
end;
Das hab ich jetzt als Beispiel genommen. Das bewirkt aber einen Haken vor der Auswahl im Menü. Also eine Mehrfachauswahl. Ich möchte aber nur eine Einfachauswahl.

Und zu den Figuren. Die Liste ist ja schön und gut, aber das verrät mir leider nicht, wie die Viecher in Delphi heißen und welche Parameter ich dahinter angeben muss. Ich hab eben schon mal Polygon bei Delphi gesehen, aber mir war nicht klar, was ich noch für Werte liefern soll.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: Problem durch case

  Alt 19. Nov 2010, 22:35
Das hab ich jetzt als Beispiel genommen. Das bewirkt aber einen Haken vor der Auswahl im Menü. Also eine Mehrfachauswahl. Ich möchte aber nur eine Einfachauswahl.
Relevant sind "GroupIndex", "AutoCheck" und "RadioItem". Demo s. Anhang.

Und zu den Figuren. Die Liste ist ja schön und gut, aber das verrät mir leider nicht, wie die Viecher in Delphi heißen und welche Parameter ich dahinter angeben muss. Ich hab eben schon mal Polygon bei Delphi gesehen, aber mir war nicht klar, was ich noch für Werte liefern soll.
Viecher, pffff.
Wenn du "Canvas." eingibst, dann siehst du ja, was es alles gibt. Das, was es dort nicht gibt, kannst du dir mittels ".Polygon" oder ".MoveTo" und ".LineTo" selbst zeichnen. Einfach bissl rumprobieren bzw. die Hilfe dazu durchlesen.

Über die Delphi-Referenz findest du fast alles, was du brauchst. Auch Beispiele zu Canvas.Polygon.
Angehängte Dateien
Dateityp: zip Project1.zip (4,5 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Matze33

Registriert seit: 25. Aug 2010
38 Beiträge
 
Delphi 6 Personal
 
#9

AW: Problem durch case

  Alt 19. Nov 2010, 23:27
Danke schön. Habs jetzt soweit fertig, die Grundlagen. Dann muss ich mir nur noch mal ein paar mehr Formen einfallen lassen^^
  Mit Zitat antworten Zitat
Antwort Antwort


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