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 *************)

 

Ctools ca. 10 KB (7606 Hits)

 

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