Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi Bug? (for i := 1 to componente.width) (https://www.delphipraxis.net/3286-delphi-bug-i-%3D-1-componente-width.html)

sakura 5. Mär 2003 10:31

HALLO IHR TRÄUMER, (Maa83 ausgenommen :) )

0-basierte Listen sind in Delphi üblich, wenn auch nicht Pflicht, dass heisst, dass das erste Element nicht den Index 1, sondern den Index 0 hat!

Aus
Delphi-Quellcode:
for i:= 1 to PaintBox1.Width do
wird also
Delphi-Quellcode:
for i:= 0 to PaintBox1.Width-1 do
und schon läuft alles, zumindest bei mir ;)

...:cat:...

Helld_River 5. Mär 2003 11:07

Einfahc mal ein Gedanke:
Da sich die Width-Eigenschaft während des Durchlaufs der Schleife auch ändern kann, solltest Du vielleicht mal probieren, vorher den Wert von Width einer variablen zuzuweisen und dann die Schleife bis zu dieser Variable laufen zu lassen !!!

Gruß, Helld

sakura 5. Mär 2003 11:29

Zitat:

Zitat von Helld_River
Einfahc mal ein Gedanke:
Da sich die Width-Eigenschaft während des Durchlaufs der Schleife auch ändern kann, solltest Du vielleicht mal probieren, vorher den Wert von Width einer variablen zuzuweisen und dann die Schleife bis zu dieser Variable laufen zu lassen !!!

Fast genauso funktioniert ein for-Schleife in Delphi auch. Die Anzahl der gesamten Durchläufe wird vorher ermittelt und im ECX Register gespeichert (Performance!). Deine Lösung würde also keine Vorteil bringen ;) Sinnvoller wäre es, wenn sich die Breite ändern kann immer wieder die aktuelle "Width" zu testen, z.B. durch eine while-Schleife.

...:cat:...

Maa83 5. Mär 2003 12:01

@sakura: Also das mit index 0 oder 1 ist ja eigentlich wurscht (schreibst du ja auch das es nicht notwendig sondern nur üblich ist)...

Ich habs auf jeden Fall nochmal ausprobiert und jetzt klappts auf einmal !? Ich hab am Code nichts verändert :(
Delphi will mich verarschen :?

Naja danke für eure Hilfe ich werd jetzt mal weiter :coder:

sakura 5. Mär 2003 12:16

Zitat:

Zitat von Maa83
@sakura: Also das mit index 0 oder 1 ist ja eigentlich wurscht (schreibst du ja auch das es nicht notwendig sondern nur üblich ist

Da hast Du mich falsch verstanden. Es ist garantiert nicht "wurscht", da es von Borland für die Controls von 0 bis Breite-1 definiert wurde. Wenn Du Deine eigenen Arrays machst, dann ist es fast wurscht, aber nicht bei denen anderer Entwickler.

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr.
Seite 2 von 2     12   

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