Hallo zusammen,
Wie schaffst Du es, mit 'Ceil' und 'Floor' zu bestimmen, ob Du eine ungerade oder gerade Anzahl von Bildpunkten hast? Poste mal deinen Code, gerne auch in einem anderen Thread.
Einfache Mathematik.
Quick and dirty mit einem Button und 3 Editfeldern zum Nachbauen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
liNewValue: Integer;
lfValue: Extended;
begin
lfValue := StrToInt(Edit1.Text) / StrToInt(Edit2.Text);
if ((Ceil(lfValue) mod 2) = 0) then
begin
liNewValue := Ceil(lfValue);
end
else
begin
liNewValue := Ceil(lfValue) + 1;
end;
Edit3.Text := IntToStr(liNewValue);
end;
Wenn Du Ceil() nimmst, dann kommt nie 0 heraus, ausser der Dividend ist 0. Natürlich solltest Du auch noch vor der Teilung abfragen, ob der Divisor 0 ist, um einen Fehler zu vermeiden.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.