![]() |
DIV and MOD
Liste der Anhänge anzeigen (Anzahl: 2)
Guuuuuten Tag!
ich habe seit gestern ein wenig mit den Ausdrücken DIV und MOD experimentiert und heraus kam eine dll. sie hat zwar wenig nutzen weil man das alles auch mit strings machen könnte aber trotzdem erklär ich mal ein paar methoden: -GetDig -> sucht eine Ziffer in einem Integer -GetLastDig -> gibt die letzte Ziffer zurück -ChangeDig -> ändert Ziffer a in Zahl b zu Ziffer c um -TrimDeg -> versucht einen Winkel möglichst klein zu machen:
Delphi-Quellcode:
-TrimRad -> Das gleiche
begin
X := 850; // X = 850 TrimDeg(X); // X = 130 end;
Delphi-Quellcode:
ihr seht ja schon, dass das ganze hauptsächlich irgendwas mit ziffern macht
begin
X := 5.2; // X = 5.2 TrimRad(X); // X = 1.2 Bitte guckt es euch an und sagt mir, wenn ihr Fehler entdeckt. Bittedankeschön [edit=Luckie]Thread-Titel korrigiert, als ein Wort findet man das ja in der Suche nie. :wall: Mfg, Luckie[/edit] |
Re: DIVandMOD
fast 90kb für so eine DLL? :shock:
Warum ist das meiste eine Procedure und keine Funktion? |
Re: DIVandMOD
zu der größe kann ich nix sagen, meinee erste dll.
das meiste ändert ja zahlen also procedure. Inc ist auch eine prozedur oder? ne idee wegen der größe an was das liegen könnte? |
Re: DIVandMOD
Versuch mal so viel wie möglich aus den Uses rauszuschmeißen, falls noch nicht geschehen ;-)
|
Re: DIVandMOD
math brauch ich für power
sysutils und classes waren schon drin das wars. brauch ich classes nicht? |
Re: DIVandMOD
-classes brauchst du nicht
-wenn du inttostr durch die Prozedur "str" ersetzt, dann fällt auch sysutils raus -da power bei dir nur mit natürlichen zahlen rechnet, kannst du auch math rausschmeissen und power durch eine forschleife o.ä. ersetzen Edit: z.B. dadurch kannst du alle Bibliotheken rausschmeissen
Delphi-Quellcode:
Es lohnt sich nicht, wegen zwei so läppischen Funktionen, den ganzen Balast dieser Units mitzunehmen (die math bindet wiederum die sysutils ein)
function inttostr(x:integer):string;
begin str(i,result); end; function power(x,y:integer):integer; var i:integer; begin result:=1; for i:=1 to y do result:=result*x; end; Edit2: Ansonsten finde ich es etwas übertrieben, sowas hier reinzustellen. 1. Der QC haut ja nun keinen vom Hocker. Sowas hat doch 99% der Pascal-Nutzer innerhalb von wenigen sekunden, ohne groß nachzudenken geschrieben 2. Würde ich dafür nicht extra eine DLL hochladen. ==> Es ist sicherlich schön und sehr gut für dich zum üben :zwinker: , aber man muss nicht jeden "Furz" veröffentlichen. Und Letztens: Warum nimmst du stdcall? Gerade bei den Funktionen lohnt sich ja register erst. |
Re: DIVandMOD
Statt Proceduren solltest du Funktionen benutzen, wenn man beispielsweise nur wissen möchte, was rauskommt ohne gleich die gesamte Variable zu ändern, zB
Delphi-Quellcode:
if TrimRad(x)>5 then
|
Re: DIVandMOD
OK! ich hab das jetzt mal mit Funktionen erweitert. siehe erster Post :mrgreen:
|
Re: DIVandMOD
und wie groß isse nun die dll?
|
Re: DIVandMOD
88 Kilo wenn man der delphipraxis glauben schenkt :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 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