![]() |
Besonderes Runden
Hallo,
hab da mal wieder so ein Problem, ich erstelle gerade ein Link-Verzeichnis auf HTML-Basis mit Delphi. Es funktioniert schon alles super bis auf das generieren mehrere Seiten. Hier mal ein paar Beispiele zur Verdeutlichung. 21 Einträge dürfen maximal auf einer Seite sein, also bei 22 muss eine neue Seite beginnen. Was mein Problem beider ganzen Sache ist ich kann das Ergebnis nicht Runden. Nehmen wir z.B. 43 Einträge: 43 durch 21 ergibt 2,047... wenn ich das Runde kommt man auf 2, logisch. Es sind aber schon 3 Seiten und nicht 2. Gibt es eine Funktion die mir immer den höheren Wert zurück gibt (in diesem Fall 3!). Bin auf eure Lösungen gespannt und danke euch sconmal im vorraus. Falls ich die Lösung schon früher haben sollte poste ich sie euch. |
Folgender Code hilft Dir bestimmt:
Delphi-Quellcode:
...:cat:...
function MaxPages(Entries, EntriesPerPage: Integer): Integer;
begin Result := Entries div EntriesPerPage; if Entries mod EntriesPerPage > 0 then Inc(Result); end; |
Ich kann mich nur wiederholen das Forum hier ist SUPER. Innerhalb von 2 min gleich eine sehr brauchbare Lösung zu bekommen ist einfach genial. DANKE!!!
|
Du schmeichelst mir und alle anderen Nutzern sehr :oops:
Danke ...:cat:... |
Result := (Entry + EntriesPerPage -1) div EntriesPerPage;
kommt mit einer Division aus. Gruß Hagen |
:wall: So genial wie einfach :wall:
...:cat:... |
Oder noch einfacher: Ceil() aus der Unit math :mrgreen:
|
Re: Besonderes Runden
Ceil() arbeitet aber mit Fließkommazahlen. Reine Integerberechnungen sind meistens schneller.
Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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 by Thomas Breitkreuz