Autor Beitrag
carrat
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 11.03.05 20:20 
hi ich bin neu hier und mit delphi kenne ich mich auch noch nicht so aus. ich programmiere gerade für die schule einen streckenplaner für den luftverkehr und habe dabei an einigen stellen probleme. ich kopiere jetz erstma den quellcode und erläutere ihn dann :

ausblenden volle Höhe Delphi-Quelltext
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:
procedure TForm1.Image1Click(Sender: TObject);
var x1, x2, x3, y1, y2, y3 : Zahl;
    test : GanzeZahl;
    s    : Zeichenkette;
begin
  hatMaus := Maus.init;
  hatFlugplatzliste.zumAnfang;
  x1 := hatFlugplatzliste.aktuellerFlugplatz.X1;      <-- siehe unten
  y1 := hatFlugplatzliste.aktuellerFlugplatz.Y1;
  x2 := hatMaus.hPosition;
  y2 := hatMaus.vPosition;
  x3 := hatFlugplatzliste.aktuellerFlugplatz.X2;
  y3 := hatFlugplatzliste.aktuellerFlugplatz.Y2;
  while (not hatFlugplatzliste.istDahinter) and (not (x1 < x2 < x3) and not (y1 < y2 < y3)) do              <--- hier ist das problem
    begin
      hatFlugplatzliste.vor;
      x1 := hatFlugplatzliste.aktuellerFlugplatz.X1;
      y1 := hatFlugplatzliste.aktuellerFlugplatz.Y1;
      x3 := hatFlugplatzliste.aktuellerFlugplatz.X2;
      y3 := hatFlugplatzliste.aktuellerFlugplatz.Y2;
    end;
  if (not hatFlugplatzliste.istDahinter) and (not (x1 < x2 < x3) and not (y1 < y2 < y3)) then
  begin
    if test <> 1 then
    begin
      hatFlugplatzliste2 := Orteliste.init;
    end;
    test := 1;
    hatFlugplatzliste2.haengeAn(hatFlugplatzliste.aktuellerFlugplatz);
    hatFlugplatzliste2.vor;
    s := hatFlugplatzliste2.aktuellerFlugplatz.Name;
    hatAktuelleListe2.haengeAn(s);
  end;

end;




es geht darum das in TForm1.Image1 ein bild geladen ist das bei einem mausklick die mausposition bestimmt und dann mit den koordinaten aus einer liste von flugplätzen vergleicht. hatFlugplatzliste.aktuellerFlugplatz.X1, hatFlugplatzliste.aktuellerFlugplatz.y1, hatFlugplatzliste.aktuellerFlugplatz.X2, hatFlugplatzliste.aktuellerFlugplatz.y2 bilden hierbei ein rechteck, und es soll bei jedem objekt der flugplatzliste überprüft werden ob der mausklick innerhalb dieses rechtecks lag. wenn dies der fall ist soll eine 2. liste erstellt werden in der alle flugplätze aufgenommen werden in deren rechteck geklickt wurde.
das problem ist zu überprüfen ob der mausklick in dem rechteck eines flugplatzes der liste liegt. ich sehe bei meiner prozedur keinen fehler aber trotzdem kommt folgende fehlermeldung : [Fehler] Unit1.pas(99): Inkompatible Typen
kann mir irgendwer helfen wo mein fehler liegt??? :? :?

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.


Zuletzt bearbeitet von carrat am Fr 11.03.05 20:32, insgesamt 1-mal bearbeitet
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 11.03.05 20:24 
Hallo,

Bitte ändere den Titel des Topics da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:
Richtlinien:

1.1 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]


Einfach oben bei deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!

Gruß,
raziel

_________________
JSXGraph
PattyPur
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 80

Win98, WinXP
Delphi 7
BeitragVerfasst: Fr 11.03.05 20:25 
Hallo und willkommen im Delphi-Forum

Zuallererst ein paar tipps:

Ändere Den Topic in etwas aussagekräftigeres!
nicht jeder guckt in nen Thread mit der überschrift "Problem..."

Des Weiteren gibt es hier einen Delphi-Tag
mit dem solltest du mal deine Code Umschliessen


ausblenden Quelltext
1:
[delphi]procedure IchBinEineProzedur;[/delphi]					

lässt das ganze dann so aussehen:

ausblenden Delphi-Quelltext
1:
procedure IchBinEineProzedur;					


viel besser zu lesen ;-)

EDIT: ok da war einer schneller ;-)
PattyPur
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 80

Win98, WinXP
Delphi 7
BeitragVerfasst: Fr 11.03.05 20:40 
Zum Problem: was steht denn in zeile 99 deiner Source ?
carrat Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 11.03.05 20:56 
zeile 99 ist halt genau die die ich mit "<--- hier ist das problem" markiert hab. hier ist das Zeile 14
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.03.05 21:43 
Welchen Delphi-Typ hat den x1 und welchen X1? Die sind nämlich offensichtlich ungleich!
carrat Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 11.03.05 21:51 
x1-3 und y1-3 sind variablen vom Typ Zahl das versteh ich ja eben nicht er sagt die sind nich gleich aber sollten sie doch eigentlich sein das hab ich doch hier : "var x1, x2, x3, y1, y2, y3 : Zahl; " festgelegt
PattyPur
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 80

Win98, WinXP
Delphi 7
BeitragVerfasst: Fr 11.03.05 22:26 
sorry aber diesen pfeil habe ich nicht gesehen - habe nicht soweit rübergescrollt.

Und was ist Zahl für ein Datentyp ?
Lässt dieser Typ einen vergleich überhaupt zu ?
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Sa 12.03.05 09:14 
user profile iconcarrat hat folgendes geschrieben:
x1-3 und y1-3 sind variablen vom Typ Zahl das versteh ich ja eben nicht er sagt die sind nich gleich aber sollten sie doch eigentlich sein das hab ich doch hier : "var x1, x2, x3, y1, y2, y3 : Zahl; " festgelegt


Du willst hier die Variable X1 der Variablen x1 zuweisen. Da interessiert es nicht ob xx und yx den gleichen Typ haben, sondern ob x1 und X1 den gleichen ( oder einen kompatiblen) Typ haben!
carrat Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 12.03.05 14:46 
ok dass problem ist gelöst Danke für die Hilfe :D