Christian Hahn wrote:

Ich habe einmal versucht einen Sisyphus-Automaten zu bauen:

Sehr löblich!

Wenn die Listbox gefüllt ist, muss in einer Schleife festgestellt
werden,
welches die Zeile mit dem längsten Text ist (Len-Wert).

Denkfehler:
iiiiiii
WWWW

Es wäre also wohl sinnvoller für die Suche nach der längsten Zeile
ruhig auf Graphics.StringWidth zurück zu greifen.

Die Höhe der Prüflinie unterstellt, dass der letzte Buchstabe des
Strings
die größte Breite tatsächlich in der Mitte hat. Bei einem T oder
einem L
trifft das dann leider nicht zu. Für hundertprozentige Sicherheit
müsste man
mehrere Prüfschleifen mit jeweils unterschiedlicher Höhe ablaufen
lassen.

Hier wäre es IMHO sinnvoll, z. B. nur die letzten 80 Pixel zu
betrachten und alle Zeilen (Graphics.Height) per OR zu verknüpfen.
Dann beleibt eine Zeile übrig und kann da wieder von hinten anfangen
nach dem ersten nicht weißen Pixel zu suchen.

Hat jemand eine Idee für eine möglichste schnelle OR-Verknüpfung
der Zeilen? Alles Pixelweise zu machen wäre sicher nicht optimal.

Würde ich ja gern so in der Art machen, geht aber mit Farben wohl eher
nicht (habe  ich noch nicht weiter nach etwas besserem gesucht).

 dim p as Color

  for j=1 to Graphics.Height
    p=BitwiseOr(Graphics.Pixel(aktuX,j),p)
  next

Ich hoffe da kennt jemand einen passenden Grafikbefehl.

MfG, Metti.

Antwort per Email an