![]() |
Repeatschleife macht Ärger....
Hallo,
Ich arbeite für die Schule an einem Steganographieprogramm. Zuerst ging es darum, jeweils das letzte Bit des Farbcodes zu verändern. Nun habe ich zur Übung versucht, auch das vorletzte zu verändern. Allerdings funktioniert das nicht. Ich habe mit Showmessages überprüft, wie weit es geht, und bei dieser Schleife bleibt er hängen. Er zeigt dann an 'Index was outside the bounds of the array'. Dieselbe Schleife hat für das erste Programm aber funktioniert. Ich versteht nicht, warum es auf einmal nicht mehr geht. Versteht das jemand?
Delphi-Quellcode:
Zahl ist vom Typ real; stelle2 und hochzahl sind vom Typ integer, bincode ist ein string.
repeat
begin inc(stelle2); if strtoint(bincode[stelle2]) = 1 then zahl := zahl + (power(2,(hochzahl - stelle2))); end; until stelle2 = 8; |
AW: Repeatschleife macht Ärger....
Wie genau hast du
Delphi-Quellcode:
deklariert?
bincode
|
AW: Repeatschleife macht Ärger....
...und welchen Wert hat stelle2 vor dem repeat?
|
AW: Repeatschleife macht Ärger....
Hallo,
hast du beim Compilieren irgendwelche Warnungen ? Heiko |
AW: Repeatschleife macht Ärger....
Warum so kompliziert?
Delphi-Quellcode:
var
c:Cardinal; s:String; i:Integer; begin s:='10100111'; c:=0; for i:=1 to Length(s) do begin if s[i]='1' then c := c or (1 shl (Length(s)-i)); end; showmessage(IntToStr(c)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz