AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Undefinierter Bezeichner: 'sign' - warum?
Thema durchsuchen
Ansicht
Themen-Optionen

Undefinierter Bezeichner: 'sign' - warum?

Ein Thema von Schilly · begonnen am 16. Dez 2008 · letzter Beitrag vom 16. Dez 2008
Antwort Antwort
Schilly

Registriert seit: 10. Dez 2008
Ort: Nähe Bremen
16 Beiträge
 
#1

Undefinierter Bezeichner: 'sign' - warum?

  Alt 16. Dez 2008, 14:25
Hi, ich versuch mich grad für den Anfang an minesweeper. Bei den Buttons handelt es sich um ein zweidimensionales Array of TSpeedButton, und in der Eigenschaft Tag soll jeweils die Anzahl der Minen um dieses Feld herum bzw. der Wert 10 für den Fall, das da eine Mine ist, gespeichert werden. Aber das ist eig. auch egal -hier mal mein Code dafür:

Delphi-Quellcode:
var
  feld: array of array of TSpeedButton;

...

procedure minenumfeld(X,Y : integer) : integer;
var r : integer;
begin
  if feld[X,Y].tag < 10 then begin
    r := 0;
    if X > 0 then begin
      r := r + Sign(feld[X-1,Y].tag -10) +1;
      if Y > 0 then r := r + Sign(feld[X-1,Y-1].tag -10) +1;
      if Y < high(feld[1]) then r := r + Sign(feld[X-1,Y+1].tag -10) +1;
    end;
    if Y > 0 then r := r + Sign(feld[X,Y-1].tag -10) +1;
    if Y < high(feld[1]) then r := r + Sign(feld[X,Y+1].tag -10) +1;
    if X < high(feld) then begin
      r := r + Sign(feld[X+1,Y].tag -10) +1;
      if Y > 0 then r := r + Sign(feld[X+1,Y-1].tag -10) +1;
      if Y < high(feld[1]) then r := r + Sign(feld[X+1,Y+1].tag -10) +1;
    end;
  feld[X,Y].tag := r;
  end;
end;
Also mit der Sign-Funktion will ich so etwas wie
 if Y > 0 then if feld[X,Y-1].tag = 10 then r := r+1; umgehen, weil ich das für zu kompliziert und nicht schön genug erachte. Und mit Sign sollte es theoretisch gehen...

Die ganzen Ifs mit Y > 0 und so sollen verhindern dass er nach dem Index -1 oder high(feld)+1 sucht.

Naja jetzt zu meinem ursprünglichen Problem: er erkennt die Sign-Funktion nicht! Was hab ich falsch gemacht??

Und wo ihr euch das grad schonmal durchlest: gibt es eventuell noch ne bessere Möglichkeit als mit Sign?

Vielen Dank im Vorraus!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Undefinierter Bezeichner: 'sign' - warum?

  Alt 16. Dez 2008, 14:27
Hast Du die Unit math eingebunden?

[edit] Achja, Willkommen in der DP [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Schilly

Registriert seit: 10. Dez 2008
Ort: Nähe Bremen
16 Beiträge
 
#3

Re: Undefinierter Bezeichner: 'sign' - warum?

  Alt 16. Dez 2008, 14:28
Oh nein wusste gar nicht dass man das muss danke
  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:06 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