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 :
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
raziel: Delphi-Tags hinzugefügt.