zur Startseite zum Inhalt zur Navigation

Ctools

 

In dieser Unit habe ich mal ein paar nützliche 
Funktionen und Prozeduren gesammelt.

!! Achtung !!

Die Auflistung der Funktionen wurde erstellt als ich 
die Ctools online gestellt habe.

Ich habe nun in den Header eine Versionsnummer 
eingetragen so das jeder prüfen kann ob er stets die 
Aktuellste Version von CTools hat.

Unter anderem sind enthalten :

// Gibt das aktuell vom System benutzte 
Trennzeichen 
// von Vorkomma- und Nachkommateil zurück
Function GetfloatSeparator: String;

// Wandelt einen Floatstring in eine Floatzahl um, 
// der Separator kann explizit angegeben werden.
Function strtofloat2(Value, Seperator: String): real;

// Diese Prozedur tut nichts, sie dient nur zum 
// Debuggen da der Compiler Haltepunkte auf ihr 
// erlaubt. 
Procedure nop;

// erlaubt das Berechnen des Sinus im Gradmaß
Function Sinus(E: Extended): Extended;

// erlaubt das Berechnen des Cosinus im Gradmaß
Function CoSinus(E: Extended): Extended;

// bei Eingabe eines DeltaX und DeltaY berechnet der 
// Rechner daraus den Winkel
Function arcTangens(x, y: Extended): Extended;

// erlaubt das Berechnen des Tangens im Gradmaß
Function Tangens(Value: Extended): Extended;

// Genau wie Mod nur auch mit negativen Zahlen
Function Mod2(Value, Modulo: Integer): integer;

// Genau wie Mod2 nur für Floatzahlen, aber 
// Vorsicht der PC hat eine gewisse Ungenauigkeit die 
// die Ergebnisse manchmal deutlich verfälschen
Function Modfloat(Value, Modulo: Extended): Extended;

// Wandelt eine Zahl Basis Old_Base in eine Integer 
// Zahl Basis 10 um
Function Base_Convert(Number: String; OLD_Base: 
Byte): int64; overload;

// Wandelt eine Dezimalzahl in eine Zahl der Basis 
// New_base um
Function Base_Convert(Number_Base_10: Int64; 
New_Base: Byte): String; overload;

// Komprimiert ein jpg File und speichert es unter 
// Newjpgfile wieder ab.
// Compression im Bereich zwischen 1 .. 100
Function Compress(jpgFile, Newjpgfile: String; 
Compression: integer): Boolean;

// vertauscht 2 Variablen
Procedure Tausche(Var i1, i2: integer); overload;
Procedure Tausche(Var i1, i2: Int64); overload;
Procedure Tausche(Var i1, i2: Single); overload;
Procedure Tausche(Var i1, i2: Double); overload;
Procedure Tausche(Var i1, i2: Extended); overload;

// Gibt true zurück wenn sich die Ellipsen schneiden
Function Ellipsecollision(E1, E2: Trect): boolean; 
overload

// Gibt true zurück wenn sich die Kreise schneiden
Function Kreiscollision(P1, P2: Tpoint; R1, R2: 
integer): boolean; overload

// Gibt true zurück wenn sich die Rechtecke schneiden
Function Rechteckcollision(r1, r2: Trect): boolean; 
overload

// Gibt true zurück wenn sich die Rechtecke schneiden
Function Rechteckcollision(Left1, Top1, Right1, 
Bottom1, Left2, Top2, Right2, Bottom2: Integer): 
boolean; overload

// Gibt true zurück wenn sich die Ellipse mit dem 
// Rechteck schneidet
Function EllipseRechteckcollision(E1, R1: Trect): 
boolean; overload

// Gibt true zurück wenn sich die Ellipse mit dem 
// Rechteck schneidet
Function EllipseRechteckcollision(Left1, Top1, 
Right1, Bottom1, Left2, Top2, Right2, Bottom2: 
Integer): boolean; overload

(*************** Rechnen mit Brüchen ***************)
// der Typ um Brüche exakt zu berechnen.
Type
 TIQ = Record
   Zaehler, Nenner:integer;
 end;

// gibt einen Bruch mit Zähler und Nenner zurück.
Function IQ(Zaehler, Nenner: Integer): TIQ;

// Wandelt einen String in einen Bruch um. Z.B. 
// Zaehler / Nenner
Function StringToIQ(Value: String): TIQ;

// Wandelt einen Bruch in einen String um
Function IQToString(value: Tiq): String;

// Wandelt einen Bruch in eine Gleitkommazahl um
Function IQtoFLOAT(Value: TIQ): Real;

// Kürzt einen Bruch
Function IQKuerzen(Value: TIQ): TIQ;

// Addiert 2 Brüche
Function IQPlusIQ(Value1, Value2: TIQ): TIQ;

// Subtrahiert 2 Brüche
Function IQMinusIQ(Value1, Value2: TIQ): TIQ;

// Multipliziert 2 Brüche
Function IQMALIQ(Value1, Value2: TIQ): TIQ;

// Teilt 2 Brüche
Function IQDIVIQ(Value1, value2: TIQ): TIQ;

(************ Rechnen mit Brüchen Ende *************)

 

(7575 Hits)

 

  calender     fingerspeed     heapsim     cubemap     gorilla     race_condition     dxtools     td     proto     pathfinder     clickomania     c_depencies     mauskoordinaten     parken     fourier     io_adapter     mastermind     screeny     simpleray     bww     filetools     tbitstream     vokabel     transparenz     stereoprojektion     opengltruetypefont     bezier     picturerotate     network_listener     bmp_font     portal     piemenue     kollision     lazcomment     galton_brett     proof2e1     tippsy3     vedische_multiplication     clear_engine     wuerfel     tg12864b     ccm     dithering_filtering     hoertest     pi     qprogrammer     pwm     partikelengine     uuart     funplay2     openglsphere     3d_puzzle     perlin_noise     screensaveblocker     kwirk     pentago     simple_font     jazzball     tipp_it     rubik_cube2     dithering_mask     button_tool     opengl_graphikengine     wuerfelzauber     torus_chess     copycommander     labyrintcreator     wecker     bignumber     binaeruhr     picam     atmegaboard     turing_maschine     4_gewinnt     fir_iir     sdl_tcp_ip     info     shannon_fano_coding     zauber     suchen_dialog     sudoku     rent_it     binomial     send_get_file     funkuhr     laufschrift     desktop_lock     genmathcalc     dcf77     updater     simple_cad     fpc_depencies     tasker     tetris     project_uncollector     winkonfig     c_libs     projizierte_schatten     zufall     episodenmanager     multilanguage     quadtree     feder_masse     network_delay     matrix     2048     digiman     verzeichnung     ctools     socket     farbspectrum     game_of_life     knack     tclockex     sortieren     ntools     serial     attributgrammatik     8x8x8     basic     waage     project_collector     generische_liste     greenfoot     graphen_algos     opengl_spriteengine     exp_func     imageinspector     sirpinksy     kartei     5ermedian     reihen     io_serializer     einstein     balanced2     picking     diffusionsfilter     fouriersynthese     rubik_cube     newton     alt_f2     pingpong     gefangenen_dilemma     xml     rsa     tokenizer     ascii     file_transfer     newton_interpolation     hough_transformation     sprite_engine     nsudoku     4_wins     cleanup     hex     network_bandwidth_limiter     l_system     passbildcreator     codecounter     raetsel     address_db     wireworld     iq_block     tankplan     maw     sortieren2     delforlaz     gebmanager     fakenet     schachprobleme     bigprim     trackball     summe_n     codeviewer     numeric_instability     lzw     trio     balanced     chunkmanager     klab     formelparser     anty_krypt     bitverknupfung     crc     motionblur     gpu_info     logger     baum     boxmuller     wii_whiteboard     induktion     dcommenter     netzwerkprotokol     ae20125     wii_headtrack     textfilter     rollenspiel     affenpuzzle     minipaint     cpu_load     weihnachtsstern     calc     ym1602c     sql     textur_filterung     gedanken_leser     weihnachtskalender     gc_solver     hilbert     euler     library     loop     pointer     sfxr     steganographie     stm     puzzle     mandelbrot