Quelques snippets sans grande prétention ...
// Dates SQL
function DatePascalToDateSQL(const QDate: TDateTime): string;
function DateSQLToDatePascal(const QDateSQL: string): TDateTime;
// Fonctions d'échange
procedure Swap(var V1, V2: integer); overload;
procedure Swap(var V1, V2: Double); overload;
procedure Swap(var V1, V2: string); overload;
procedure Swap(var V1, V2: Extended); overload;
// index d'un tableau de chaines
function IndexOfString(const S: string; const Strs: array of string): integer;
// choisir une chaine en fonction d'une valeur
function ChooseString(const Index: integer; const Strs: array of string): string;
// un split parmi d'autres.
// TStringArray: tableau en sortie de taille MAX - 1
// type TStringArray: array[0 .. MAX] of string;
function Split(const Str: string; const Sep: string):TStringArray;
// Rotation de texte (Windows)
//******************************
//La fonte est 'TrueType' ?
function IsTrueType(Font: TFont): Boolean;
// crée une Hfont avec une rotation
function CreateRotatedFont(Font: TFont; Angle: Integer): HFont;
// tracé d'un texte avec rotation
procedure TexteAngle(AString: string; ACanvas:TCanvas; Font:TFont;x,y:integer;d:integer); //angle en degres
// wrapper pour la fonction précédente
procedure TracerRotatedTexte(const Cnv: TCanvas; const x, y, Rot: integer; const Texte: string);
//******************************
// calcul d'un arc de courbe de Bézier - Retourne un tableau de points
// Types à définir:
// type TPoint2Df = record
// X, Y: double;
// end;
// type TArrayPoints2Df = array of TPoint2Df
// P0 à P3: Points de contrôle dans l'ordre P1, PC1, PC2, P2
// SubDivs: taille du tableau résultat
function CalcBezierCurve(const P0, P1, P2, P3: TPoint2Df;
const Subdivs: integer): TArrayPoints2Df;
// couleurs
// routines de couleurs
//****************************************************************************
// fonctions de couleurs
function GetFloatRValue(const C: TColor): double;
function GetFloatGValue(const C: TColor): double;
function GetFloatBValue(const C: TColor): double;
function RGB(const R, G, B: byte): integer;
function GetRValue(const Coul: TColor): Byte;
function GetGValue(const Coul: TColor): Byte;
function GetBValue(const Coul: TColor): Byte;
// conversion couleurs RGB <> couleurs AutoCAD
function RGB2Acad(const C: TColor): Byte;
function Acad2RGB(const n : integer) : tColor; // palette par défaut d'Autocad
// Couleur Pascal vers couleur HTML
function RGB2HTMLColor(const C: TColor): string;
// couleurs SVG
function GetSVGColor(const C: TColor): string;
//***************************
// VCL - FENETRES
//***************************
// Envoyer une fenêtre de taille W, H vers le moniteur N à la position X, Y:
// Envoie au dernier moniteur si NoMoniteur = -1
procedure EnvoyerFenetreVersMoniteur(const MyFenetre: TForm; const NoMoniteur: integer; const X, Y, W, H: integer);
end;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.