Delphi Components

These are some Delphi Components, developed by Rayed Al-Rashed.  

Arabic ComboBox acmobo.pas

This Arabic ComboBox is simple component derived from CustomComboBox, it have a new property called Arabic, of type Boolean, when you set it to "True" the component is Arabic, if "False" it will be Latin.
The component works with Arabic enabled Windows, if you use it in the standard Windows it will not do anything.
arabic:Boolean;  Set to True for Arabic, False for Latin

Effect Label effect.pas

Add life to your Delphi application with special effects labels, add special fills with ColorStart and ColorEnd, you can also add 3D Effect - up & down -, or you can put shadow, even you can put Outline for the text.

ColorStart Start color for filling
ColorEnd End color for filling
TextEffect Effect Type = teNone, te3Dup, te3DDown, teShadow, teOutline
TextEffectColor Effect color used with etShadow, and etOutline.

System Tray ishell.pas

When I see some program add there icons in the system tray, I ask my self how did they do that? I told one my friend - Majed AlAmri- about it, but he does not have the answer, then after one day he came with the answer, he search for the subject in the Windows API help file until he got it. So here is a component that will give you the ability to do it without looking in the help files or understanding how it works. Thanks to Majed.
The component have four properties :

Active: Boolean; View or hide the icon from system tray
Icon: TIcon; Icon that will appear in the system tray.
Hint: String; Text that will appear when the mouse is over the icon.
PopupMenu: TPopupMenu; Popup menu that will appear when you click the right button.

Keyboard Unit keyboard.pas

This small unit is very useful for developing Arabic application, it will allow you to manipulate the keyboard language. It have three functions:
Function Name
Lan: TLanguage; TLanguage=(Arabic, English);
procedure SetLanguage (Lan:TLanguage) ;  Set the keyboard language
function GetLanguage:TLanguage ;  Get the keyboard language
procedure ChangeLanguage; Change keyboard language - toggle -.

Slicer slice.pas

Slice component give the ability to slice big picture to smaller pieces, assign the picture you want to slice, then give number of columns, and Rows for the picture. That is it. IF you want to view slice number 1, write "Slice1.slice:= 1;"
Pictrue: TBitmap; Picture file to slice.
Cols: integer; Number of columns to slice
Rows: integer; Number of rows to slice
Slice: integer; Slice number to view.