Saturday, July 20, 2013

Complete List of Delphi Code Examples From Docwiki

Update 2023-02-28: Embarcadero has updated their docwick to be more user friendly when it comes to Delphi code examples. Here is a link to all the Delphi 11 code examples;

I was looking through the list of code examples from the Embarcadero Docwiki site and I was a little frustrated because they are broken up by Delphi versions. I was thinking it would be nice to have one complete list of all the code examples in one place. So, I put together a complete list of Delphi Example code links.

Enjoy!

Code ExampleVersion
ActiveControl2010
ActivePage2010
ActnMgrBar2010
AddChildObjectFirst2010
ADOQuery2010
AdvancedCharacterControl2010
AdvancedTCharacterControl2010
AfterEdit2010
AfterInsert2010
AfterOpen2010
AfterPost2010
AllowGrayed2010
AppendRecord2010
AppModalForms2010
ArrangeIcons2010
AssertErrorProc2010
AutomaticReferenceCountingXE4
AutoPopup2010
AutoSize2010
BeforeDisconnect2010
BeforeGetRecords2010
BeforePost2010
BeginUpdate2010
BevelInner2010
BinHexMethods2010
BlockRead2010
BorderIcons2010
BoundsXE3
BoundsRect2010
BringToFront2010
BrushCopy2010
ButtonControlChecked2010
BytesOf2010
CalendarXE
Cascade2010
CenterPointXE3
CharacterCasing2010
CharacterSurrogates2010
CharacterTypes2010
Chat Room SocketXE2
ChDir2010
CheckListBoxCheckAll2010
ClassesGetClass2010
ClassParent2010
ClientDataSet2010
ClientDataSetAddIndex2010
ClientDataSetMoveBy2010
ClientHeight2010
ClientWndProcXE
ClipboardAssign2010
ClipRect2010
ColorGridXE2
ColorToRGB2010
CommandText2010
CompareStr2010
CompConversion2010
CompilerVersion2010
ComponentCountProperty2010
ComponentToString2010
ControlMargins2010
ControlsGetShortHint2010
ControlsTDragState2010
CopyMode2010
CopyToClipboard2010
CreateDataSet2010
CreateFormInPackageXE2
CreateFromBitmapAndMaskXE2
CreateFromStreamXE2
CropForms2010
CustomForms2010
CustomSort2010
CutToClipboard2010
DateTime2010
DateTimeCompare2010
DateTimeGen2010
DateTimeInfo2010
DateTimeRecode2010
DateTimeToStr2010
DateToStr2010
DateUtils2010
DayOfWeek2010
DBBitType2010
DBImage2010
DecodeDate2010
DefAttributes2010
DefaultHandlerXE
DelayedLoading2010
DialogHandle2010
DirectoriesAndFilesEnumeraion2010
DirectoryExists2010
DirectoryOperations2010
DirList2010
DirListBoxDrive2010
DirListBoxUpdate2010
DisableControls2010
DiskFree2010
Docking2010
DownNumGlyphs and UpNumGlyphsXE
DrawGridCol2010
DrawGridSelection2010
DrawGridTopRow2010
DSProxyGeneratorXE
DTStartEnd2010
DTTransform2010
DTTry2010
DTValid2010
DynamicLinkLibXE
EditMask2010
EditText2010
EncodeDate2010
EncodeTime2010
EqualRectXE3
Event RTTI InvocationXE2
ExceptionHandling2010
ExeName2010
ExpandFileName2010
ExtractFileName2010
FetchParams2010
FetchPooler2010
FileAttributes2010
FileExists2010
FileGetAttr2010
FileListBox2010
FileListBoxIndexOf2010
FileOpen2010
FileOperations2010
FileRead2010
FileSearch2010
FileSelectBtnEdit2010
FileToGrid2010
FilterComboBoxFilter2010
FilterIndex2010
FindComponent1XE2
FindComponent2010
FindField2010
FindFirst2010
FindKeyXE
FindText2010
FirstIndent2010
FishFacts2010
Float Type HelpersXE4
FloodFill2010
FlowPanels2010
FMX.AlphaColorToPixelXE3
FMX.AlphaColorToScanlineXE3
FMX.DelphiLocationDemo SampleXE4
FMX.FindClosestPixelFormatXE3
FMX.Float4ToPixelXE3
FMX.TMeshXE3
FMXAttachTAnimationXE2
FMXEmbeddedFormXE2
FMXGradientXE2
FMXGradientPointXE2
FMXInteractiveGesturesXE3
FMXPrintingXE2
FMXTBitmapCanvasXE2
FMXTBitmapClearXE2
FMXTBitmapManipulationFunctionsXE2
FMXTBitmapPixelsXE2
FMXTBitmapScanLineXE2
FMXTBitmapStartLineXE2
FMXTBrushXE2
FMXTCanvasDrawArcXE2
FMXTCanvasDrawFunctionsXE2
FMXTCanvasFillFunctionsXE2
FMXTCanvasSaveCanvasXE2
FMXTCustomButtonRepeatClickXE2
FMXTFmxObjectAnimateColorXE2
FMXTFmxObjectAnimateFloatXE2
FMXTFontXE2
FMXTimerAnimationXE2
FMXTLangXE2
FMXTMemoLinesPropertyXE2
FMXTMemoSelTextPropertyXE2
FMXTOpenDialogXE3
FMXTPopupMenuXE2
FMXTStringGridBackgroundColorXE2
FMXTStyleManagerXE2
FontDialogOnApply2010
ForceDirectories2010
FormatCount2010
FormatDateTime2010
FormatFloat2010
FormCount2010
FormStyle2010
FrameRect2010
Generics Collections TArrayXE4
Generics Collections TDictionaryXE4
Generics Collections TListXE4
Generics Collections TObjectListXE4
Generics Collections TObjectQueueXE4
Generics Collections TObjectStackXE4
Generics Collections TQueueXE4
Generics Collections TStackXE4
Generics Defaults TComparerXE4
Generics Defaults TCustomComparerXE4
Generics Defaults TDelegatedComparerXE4
Generics Defaults TDelegatedEqualityComparerXE4
Generics Defaults TEqualityComparerXE4
GenericsTList2010
GetAliasNames2010
GetAsHandle2010
GetBookmark2010
GetCharsetValues2010
GetComponent2010
GetDeviceContext2010
GetFormImage2010
GetHitTestInfoAt2010
GetImplementedInterfacesXE2
GetItemPath2010
GetModuleName2010
GetNextItem2010
GetPrevChild2010
GetStaticRect2010
GetTextBuf2010
Getting RTTI for Rooted Types2010
GridLineWidth2010
GuidToString2010
HandleMessageExample2010
HasFormat2010
HeaderControlSection2010
HeaderSection2010
HexEncoding2010
HideForTime2010
HideScrollBars2010
HideSelection2010
HotKey2010
HTTP GetXE2
ImageListGetBitmap2010
IMouseStartPan2010
IndexName2010
IndexOfName2010
InflateRectXE3
IniFilesTMemIniFile2010
InputBox2010
InputQuery2010
InsertControlXE
InsertObject2010
InsertRecord2010
Integer Type HelpersXE4
IntersectRectXE3
IntToHex2010
IntToStr2010
IOUtilsFileAttr2010
IsLeapYear2010
ItemRect2010
KeyPreviewProperty2010
LabeledEdit2010
LastOSError2010
LineTo2010
ListGroups2010
LoadFromClipBoard2010
LoadFromFile2010
LoadFromResourceName2010
LoadFromStream2010
LowerCase2010
MatchesMask2010
MaxFontSize2010
MDIChildren2010
MediaPlayer2010
MemMgr2010
MessageBox2010
MessageDlg2010
MessageDlgConfirmationXE2
MessageDlgInformationXE2
MessageDlgPos2010
Messages2010
MinimizeExample2010
MinPointXE3
MultiplyRectXE3
NamedThread2010
ObjectInvokeXE
ObjectsXE
OffsetXE3
OnActionExecute2010
OnActionUpdate2010
OnActivate22010
OnActivate2010
OnActiveControlChange2010
OnActiveFormChange2010
OnCloseQuery2010
OnDock2010
OnDragOver2010
OnDrawCell2010
OnDrawItem2010
OnDrawPanel2010
OnDropDown2010
OnEndDrag2010
OnException2010
OnExit2010
OnGestureXE
OnGetEditMask2010
OnGetEditText2010
OnHelp2010
OnHint2010
OnKeyDown2010
OnKeyPress2010
OnMessage2010
OnMouseMove2010
OnMoved2010
OnPaint2010
OnPopup2010
OnResize2010
OnResizeRequest2010
OnRowMoved2010
OnScroll2010
OnSelectCell2010
OnSelectionChange2010
OnSetTextXE
OnSettingChange2010
OnShortCut2010
OnShowHint2010
OpenStringXE
OpOverloads2XE
OpOverloadsXE
PageControlChange2010
PageControlChanging2010
PageControlPages2010
PageSize2010
ParamCount2010
PathOperations2010
Pixels2010
PlainTextProperty2010
Polygon2010
Polyline2010
PooledRDMUpdateRegistry2010
PopulateTabSheets2010
PopupMenu2010
PrinterAborted2010
PrinterOrientation2010
PrinterPageNumber2010
PrinterPageWidth2010
PrintExample2010
PrintToFile2010
PrintVarType2010
ProcessMessages2010
ProgressBarPosition2010
ProviderBeforeGetRecords2010
PtInCircleXE3
PtInRectXE3
RadioGroupItems2010
RandG2010
RandGXE2
ReadComponentResFile2010
ReadWriteFile2010
RecordCount2010
Rectangle2010
RegisterComponents2010
ReplaceText2010
RichEditFont2010
RotatedFont2010
RoundRect2010
Rtti.TRttiTypeXE2
Rtti.TVirtualInterfaceXE2
RTTIFormNameCaption2010
RuntimeErrors2010
SavePictureDialog2010
SaveToFile2010
ScanLine2010
ScrollBarIncrement2010
ScrollBarMargin2010
SelectDirectory2010
SelStart2010
SelText2010
Set8087CW2010
SetEnumProp2010
SetIncludeExclude2010
SetRoundModeXE2
SetSelTextBuf2010
SetTextBuf2010
ShortCut2010
ShortCutToKey2010
ShortCutToText2010
ShortDateFormatEdit2010
ShortStringToStringXE4
ShowAccelChar2010
ShowCaption2010
ShowException2010
ShowHint2010
ShowModal22010
ShowModal2010
SimplePanelProperty2010
SleepSortXE2
Splitter2010
StdCtrlsProp2010
StrCat2010
StrComp2010
StrDispose2010
StreamAdvancedRdWr2010
StreamCharRdWr2010
StreamStrRdWr2010
StrECopy2010
StringGridColCount2010
StringGridMouseToCell2010
StringGridRows2010
StringReadWrite2010
SubClassWndProc2010
SubItemsEnabled2010
SuggestEdit2010
Synchronize2010
System InitializeFinalize2010
System Ptr2010
System ReallocMem2010
SystemAbs2010
SystemAddr2010
SystemAppend2010
SystemArcTan2010
SystemAssert2010
SystemAssigned2010
SystemConcat2010
SystemCos2010
SystemDelete2010
SystemEof2010
SystemEoln2010
SystemExit2010
SystemExp2010
SystemFileSize2010
SystemFillChar2010
SystemFrac2010
SystemFreeMem2010
SystemGetDir2010
SystemHalt2010
SystemHi2010
SystemInc2010
SystemInsert2010
SystemInt2010
SystemIOResult2010
SystemLo2010
SystemLow2010
SystemMkDir2010
SystemMove2010
SystemOdd2010
SystemOrd2010
SystemPos2010
SystemPred2010
SystemReadln2010
SystemRename2010
SystemReset2010
SystemRewrite2010
SystemRmDir2010
SystemRound2010
SystemRunError2010
SystemSeekEof2010
SystemSeekEoln2010
SystemSin2010
SystemSizeOf2010
SystemSqrt2010
SystemStr2010
SystemStrEnd2010
SystemStrIComp2010
SystemStrLCat2010
SystemStrLComp2010
SystemStrLCopy2010
SystemStrLIComp2010
SystemSwap2010
SystemTimeToDateTime2010
SystemTrunc2010
SystemTruncate2010
SystemVal2010
SystemVarClear2010
SysUtilsByteLength2010
SysUtilsFileGetSetDate2010
SysUtilsFormat2010
SysUtilsFormatFloat2010
SysUtilsStrLower2010
SysUtilsStrMove2010
SysUtilsStrPCopy2010
SysUtilsStrPos2010
SysUtilsStrRScan2010
SysUtilsStrScan2010
SysUtilsStrToFloat2010
SysUtilsStrToInt2010
SysUtilsStrToIntDef2010
SysUtilsStrToTime2010
SysUtilsTimeToStr2010
TabControlChange2010
TabSheetCaption2010
TabSheetPageControl2010
TabVisible2010
TActionOnExecute2010
TActionOnUpdate2010
TAlignment2010
TAnimateActive2010
TAppCreateForm2010
TAppEventsOnHint2010
TAppEventsOnIdle2010
TAppEventsOnMessage2010
TAppEventsOnMinimize2010
TAppEventsOnRestore2010
TApplicationIcon2010
TApplicationOnHelp2010
TApplicationRestore2010
TApplicationTitle2010
TaskDialogs2010
TBaseItemEditText2010
TBinaryReader and TBinaryWriterXE
TBitBtnCopyImageXE
TBitBtnKindXE
TBitBtnLayoutXE
TBitsOpenBit2010
TButtonedEdit2010
TCanvasAngleArcXE
TCanvasArc2010
TCanvasArcToXE
TCanvasChord2010
TCharacterCasing2010
TCharacterSurrogates2010
TCharacterTypes2010
TComboBox2010
TComboBoxCanvas2010
TComboBoxEx2010
TComboBoxSelLength2010
TControlAlign2010
TControlColor2010
TControlCursor2010
TControlParent2010
TControlPerform2010
TControlTop2010
TCoolBarBands2010
TCountdownEvent2010
TCountdownEventXE
TCustomConnectionDataSets2010
TCustomEditAutoSize2010
TCustomFormCanvas2010
TCustomFormIcon2010
TCustomFormMenu2010
TCustomMemoLines2010
TDataSetActive2010
TDataSetAfterCancel2010
TDataSetAfterDelete2010
TDataSetAppend2010
TDataSetBeforeInsert2010
TDataSetCancel2010
TDataSetRefresh2010
TDirectoryExists2010
TEncoding2010
TextFloatMethods2010
TFieldFieldName2010
TFieldGetData2010
TFindDialogOptions2010
TFontQualityXE
TFontStyle2010
TFormAction2010
TFormCanvas2010
TFormOnClose2010
TFormOnDestroy2010
TFormOnHide2010
TFormOnPaint2010
TGraphic2010
TGridXE3
ThreadSynchronize2010
TIconAssignTo2010
TileMode2010
TImageCanvas2010
TimeSpanAddSubtract2010
TJPEGImageAssign2010
TLabelCanvas2010
TLightweightEvent2010
TLightweightEventXE
TLightweightSemaphore2010
TLightweightSemaphoreXE
TListAdd2010
TListBoxCanvas2010
TListBoxSorted2010
TListIndexOf2010
TListItemsInsert2010
TListItemSubItems2010
TListLast2010
TListPack2010
TListRemove2010
TListSort2010
TListViewCanvas2010
TListViewOnColumnClick2010
TMatchCollectionCountXE
TMediaPlayerEject2010
TMenuItemInsert2010
TMenuItems2010
TMetafileCreate2010
TMouse2010
TMutexAcquireXE
TObjectDispatch2010
TObjectDispatchInvokeXE
TOleContainer2010
TOpenDialogFileName2010
TOpenDialogTitle2010
TOpenTextFileDialog2010
TopIndex2010
TOutlineNode2010
TPageControlCanvas2010
TParamsAssign2010
TParamsItems2010
TPerlRegExComputeReplacementXE
TPerlRegExEscapeRegExCharsXE
TPerlRegExGroupsXE
TPerlRegExMatchAgainXE
TPerlRegExMatchedLengthXE
TPerlRegExMatchedOffsetXE
TPerlRegExMatchedTextXE
TPerlRegExNamedGroupXE
TPerlRegExOnReplaceXE
TPerlRegExReplaceXE
TPerlRegExReplacementXE
TPerlRegExStartXE
TPerlRegExStateXE
TPerlRegExStoreGroupsXE
TPerlRegExStudyXE
TPerlRegExSubjectXE
TPictureGraphic2010
TPoint3DCrossProductXE3
TPoint3DDotProductXE3
TPointXE3
TPointFXE3
TProgressBarStepIt2010
TransparentColor2010
TReaderXE4
TRectBottomRightXE3
TRectContainsXE3
TRectEmptyXE3
TRectHeightXE3
TreeNodeAddChildObject2010
TreeNodeCustomSort2010
TreeNodesAddObject2010
TreeViewAddChild2010
TreeViewToListBox2010
TRegExReplaceXE
TRegistry2010
TRttiRecordTypeXE2
TrySystemTimeToDateTimeXE
TSaveTextFileDialog2010
TScreenCursor2010
TSendMailXE2
TSmallPointXE3
TSpinWait2010
TSpinWaitXE
TStatusBarCanvas2010
TStreamReadBuffer2010
TStringBuilderClickCount2010
TStringGridCanvas2010
TStringListAdd2010
TStringListSorted2010
TStringsAssign2010
TStringsEncodingXE
TStringsMove2010
TTable.EmptyTableXE
TTabSheetPageControl2010
TTcpClientSendStream2010
TTcpServer2010
TThreadList2010
TThreadPriority2010
TThreadYieldXE
TTimerFWindowHandle2010
TToolBarCanvas2010
TToolButtonCreate2010
TTrayIcon2010
TTreeCustomSort2010
TTreeGetNodeAt2010
TTreeNodesDelete2010
TTreeSelected2010
TTreeViewCanvas2010
TUpDownOnClick2010
TValueCast2010
TVCustomDraw2010
TVCustomDrawItem2010
TVector3DAddScaleXE3
TVector3DAddVector3DXE3
TVector3DCalcPlaneNormalXE3
TVector3DCrossProductXE3
TVector3DDistanceXE3
TVector3DDotProductXE3
TVector3DLengthXE3
TVector3DNormalizeXE3
TVector3DPointProjectXE3
TVector3DReflectXE3
TVector3DScaleXE3
TVectorDotProductXE3
TVectorLengthXE3
TVectorReflectXE3
TVGetImageIndex2010
TVirtualMethodInterceptorXE
TWinControlHandle2010
TWriterXE4
TXMLDocument use case2010
TXMLDocument xml declaration2010
TXMLDocumentAddChild2010
TXMLDocumentAsyncLoadState2010
TXMLDocumentChildNodes2010
TXMLDocumentCreateElement2010
TXMLDocumentCreateNode2010
TXMLDocumentDOMDocument2010
TXMLDocumentDOMVendor2010
TXMLDocumentGeneratePrefix2010
TXMLDocumentGetDocBinding2010
TXMLDocumentIsEmptyDoc2010
TXMLDocumentLoadFromFile2010
TXMLDocumentLoadFromStream2010
TXMLDocumentLoadFromXML2010
TXMLDocumentNode2010
TXMLDocumentNodeIndentStr2010
TXMLDocumentParseOptions2010
TXMLDocumentRefresh2010
TXMLDocumentRegisterDocBinding2010
TXMLDocumentResync2010
TXMLDocumentSaveToFile2010
TXMLDocumentSaveToStream2010
TXMLDocumentSaveToXML2010
TypInfoGetEnumName2010
UnDock2010
UnicodeConversion2010
UnionRectXE3
UpCase2010
UpperCase2010
UsingDialogs2010
UsingGUIDs2010
UsingPictureDialogs2010
VariantArrayLockUnlock2010
VariantArrays2010
VariantStrings2010
VariantsVarToDateTime2010
VCL.TMouseEventXE3
VertScrollBar2010
ViewStyleProperty2010
WizardInterfaceXE
ZLibCompressDecompress2010

Semper Fi,
Gunny Mike
zilchworks.com

Sunday, July 14, 2013

Raize Components Seeking FireMonkey Feedback

I purchased Raize Components about a year ago after watching a CodeRage demo. I have just barely scratched the surface of how to use this set of components. I'm in the middle of porting an old 640 X 480 D5 application. My original goal was to do this using D2010 but I didn't make enough progress and needed to take advantage of the XE4 upgrade pricing. So, now I'm porting this over to XE4.

There are a lot of things to like about RC, too many to mention here. Like many of you I am now faced with the FireMonkey decision. Should I go the VCL route or use FireMonkey? I can tell you this... if Raize had a component set for FireMonkey that was as good as the RC VCL tools my answer would be FireMonkey without one bit of hesitation..

Which brings me to this point. I need to get a new version of my software out there before it becomes obsolete. So, I'm going to stick with the VCL side for now. Once that is done then I will look at a FireMonkey port. However, if you have been using FireMonkey and you find yourself frustrated with some of the "out of the box" features there's one person who wants to hear from you, his name is Ray Konopka.

I recently visited the RC support forum and here is a portion of Ray's response when asked if he plans to port RC to FireMonkey. (read full thread)
...simply trying to port the Raize Components controls over to FireMonkey is probably not a good use of resources and would not have the same impact that the product has on the VCL side.

Instead, our plan is to determine those tasks that are difficult for developers to accomplish in FireMonkey and provide custom FireMonkey controls to address those needs. There may be some controls that are similar in design to a Raize Components controls, but will be specifically designed for FireMonkey. In fact, it will probably be a new product line.

Unfortunately, I do not have any specifics to share at this time. But I would encourage you to share with us your experiences with FireMonkey and what specific tasks are difficult for you to accomplish. We've been building a list of our own, but the more feedback we can get the better.

Ray
I'm a such a FireMonkey noob I won't be much help in building a FireMonkey "wish list". Here's where you FireMonkey guys come in. If you have a nit-pick about a standard FireMonkey control or if you find yourself frustrated because the standard FireMonkey controls makes things difficult Ray wants to hear about it.

Send your FireMonkey ideas to radiant@raize.com

I'm not going to totally rely on you guys. Believe me when I come across a FireMonkey nit-pick I'll send it to Ray.

Now, let's get this party started!

Semper Fi,
Gunny Mike
end.

Saturday, July 13, 2013

Add DBDemos to ElevatdDB Manager on Windows 7

It turns out that Windows 7 has issues with BDE Administrator. I found this out when I tried to migrated the DBDemos database to ElevateDB Manager. (ElevateDB Manager is to ElevateDB as SQL Management Studio is to SQL Server)

I got this very strange error...


PDOXUSRS.NET error
What the hell is PDOXUSRS.NET?

It's a file BDE uses to store Paradox user information. It turns out that the default location BDE uses for storing information is the root of Drive C: . Unfortunately, Windows 7 does not allow this behavior. This was one of those "I love Delphi, I hate Delphi" days. I hate spending six hours trying to figure out this kind of crap. Now that it's figured out... I love Delphi... go figure.

Here how to fix this error:

First and foremost the BDE Administrator (bdeadmin.exe) must be set to run in Compatibility mode for Windows XP (Service Pack 2). If you don't change the compatibility mode setting for this program it will sit and spin when you try to save the changes. At that point your only option is to kill it with Task Manager.

Step 1: Set bdeadmin.exe to run in compatibility mode with XP SP2



Step 2: Create a folder in the root of the C: Drive called BDEShare

Step 3: Run BDE Administrator and change the NET DIR setting to C:\BDEShare


Step 4: Right click on PARADOX and choose Apply
Step 5: Click OK
Step 6: Close the notification dialog
Step 7: Close BDE Adminstrator
Step 8: Follow the instructions in my original DBDemos post

Semper Fi,
Gunny Mike
end.

Friday, July 12, 2013

ElevateDB Will Soon Support Mac OSX

I'm very excited about a recent tidbit of information I learned regarding ElevateDB. How I came about this piece of info is kind of interesting.

I recently upgraded to XE4 Enterprise from D2010 Professional. I have about 7 minutes total FireMonkey experience. My number one goal for 2013 is to get an old D5 application with no database functionality ported over to XE4 with ElevateDB functionality.

So, I watched a recent EMBT video about converting a VCL applications to FireMonkey with the use of a converter program that comes with XE4. The presentation was done by Marco Cantu and was very interesting. When Marco was done speaking David I appeared and conducted the Q&A.

At 14:32 of the video they show a screenshot of the conversion product website that displays the CD Collector application written by the folks at ElevateSoft. This application is a sample Delphi project that comes with ElevateDB.

CD Collecter - Sample Delphi Application that comes with ElevateDB

So, being an absolute FireMonkey noob I wanted to know if this converted FireMonkey version of the CD Collector application would run on a Mac. I just assumed if you successfully convert a VCL application to FireMonkey then "poof" it would automatically run on a Mac.

I set out trying to get an answer... I got my answer... NO! The underlying database, in this case ElevateDB, would also have to support the Mac OSX operating system.

I asked my question on the ElevateDB support forum and got a surprising answer.

"No, it won't, at least not until we have Mac support for EDB added.  I'm
hoping to have it done before the end of summer."  (read entire thread)
That is very exciting news for all of us that use ElevateDB.

I have renewed enthusiasm because I now know that if I create a FireMonkey version of my old D5 application using ElevateDB I'll be able to target the Mac OSX. This a win win for me. I will finally be able to say YES to people who ask if my software is available for the Mac.

Thank you EMBT!
Thank you ElevateSoft!

Product Links:  XE4, ELevateDB, Mida Converter

Enjoy,
Gunny Mike
end.

Sunday, June 2, 2013

XE4 dbGrid Still Buggy - Please Vote Up QC 98255

This weekend I installed XE4 Enterprise on my new (well new to me) Windows 7 machine. I ran the Getting Started sample project that comes with FireDAC and the first thing I did was click the column heading in the dbGrid and guess what . . . it still has that annoying "black left edge" bug I reported a couple years ago.

My request has gotten no votes. Please go to EMBT's Quality Central and vote up QC 98255.

http://qc.embarcadero.com/wc/qcmain.aspx?d=98255


Black Left Edge Appears When Clicking Column Heading

I don't think I'm being nit-picky about this annoying behavior. When I use programs that display data in a grid, my expectation is to be able to sort the data by clicking on the column heading. I want to build the same functionality into my grids.

I hate this black line that shows up when you click a dbGrid column heading. In my mind it's very unattractive and looks extremely unprofessional.

For the amount of money we pay EMBT for Delphi you would think they would fix this bug. You would think EMBT would want to put their best foot forward and give us die-hard Delphi users, an out of the box dbGrid worthy of the Delphi name.

Go vote for QC 98255 so this damn thing gets fixed.

Semper Fi
Gunny Mike

Update 06/04/2013 6:50 PM:

It turns out that the black line is intended functionality. It is used to indicate the new location where a column is being moved to. I wish that the black line would only show up when the column heading is being dragged and not just being click.

Update 09/22/2013 11:03AM:

The following was posted on the EMBT QC site:

----------
Clinton Johnson at 6/2/2013 8:11:38 AM -
Also, as a work around, he can disable column moving by creating a proxy class to access TCustomGrid's protected items and removing goColMoving from it's Options property with code like:

Type
  TMyCustomGrid=Class(TCustomGrid)
And placing
  TMyCustomGrid(DBGrid1).Options := TMyCustomGrid(DBGrid1).Options-[goColMoving];

in the onFormCreate and after anywhere he modifies the grid's options.  Changing DBGrid1 for each unique instance, obviously.
----------

This work-a-round works perfectly fine for me since I do not need the ability to move columns around. Just wanted to pass this on.

Saturday, May 25, 2013

Konopka Answers The FireMonkey Question At Code Rage 7

I did not attend Code Rage 7 but I just learned that Ray Konopka is working on a set of FireMonkey tools. He has not published a date as to when this tool set will be available but I'm glad to hear he's working on one. Here is the Code Rage 7 video that loads at 36 minutes and 2 seconds right where the FireMonkey question gets asked:

Ray Answers The FireMonkey Question At Code Rage 7

Semper Fi,
Gunny Mike

Sunday, May 19, 2013

XE4 Upgrade Decision

I'm currently using Delphi 2010 Professional and it's time to make that upgrade decision . . . again. The first decision I had to make was should I upgrade to Rad Studio XE4 or Delphi XE4. I've decided to upgrade to Delphi XE4.

Now I have to decide which version of Delphi XE4 should I go with, Professional Upgrade ($494.10) or the Enterprise Upgrade ($1,349.10).  That's a difference of $855. So I decided to study the Delphi XE4 Feature Matrix.

The Professional version has three different Optional features:
  • 1 Requires purchase of Mobile Add-On Pack for Professional
  • 2 Requires purchase of FireDAC Client/Server Pack for Professional
  • 3 Requires purchase of Mobile Add-On Pack for Professional for use with mobile apps. Requires purchase of FireDAC Client/Server Pack for Professional for use in Windows and Mac apps.
Each one of Optional features requires a separate purchase:

1. Mobile Add-On Pack for Professional ($494.10)
2. FireDAC Client/Server Pack for Professional ($399.00)
3. Both of the above ($848.10)

For me, Chances are I'd have to purchase the above tems if I went with XE4 Professional. However, the above items are included in the Enterprise version of XE4. So that makes the difference a whopping $6.90.

With XE4 Enterprise you also get
  • Additional UML MODELING
  • dbExpress drivers available for 64-bit Windows InterBase, Firebird, Oracle, MySQL, SQL Anywhere, Informix, and SQLite
  • dbExpress drivers available for OS X InterBase, Firebird, Oracle, MySQL, SQL Anywhere, Informix, and SQLite
  • TSQLMonitor support for SQLite
  • DataSnap Mobile Connector support for latest versions of iOS, Android and BlackBerry
  • Several dbExpress server connectivity versions
  • DataSnap capability
  • A couple additional BizSnap pieces
  • Some IntraWeb pieces
So, given my track record for slow upgrades it looks like the best choice for me is the upgrade to Delphi XE4 Enterprise.

Note: The prices quoted came from embarcadero's website store on 05/19/2013.


 Semper Fi,
Gunny Mike








Sunday, March 3, 2013

Create Your Own Magical Delphi Tour

There is no time like the present to create your own "Magical Delphi Tour". I'm currently working on upgrading a software program that turns twenty years old in 2014. Wow, who would have thunk it.

You are probably thinking, "Delphi wasn't around in 1994", and you would be correct. However, Delphi's predecessor Turbo Pascal was. So my Magical Delphi Tour includes TP which was a DOS product.

So how do you run Turbo Pascal programs today... through the magic of DOSBox. DOSBox lets you run your old Turbo Pascal programs. Once your old DOS programming is running you can take the screen shots you need for your own trip down memory lane.

Thank you Borland, Code Gear, Embarcadero and DOSBox. May the next twenty years be as much fun:


Credit Card Math 1994: Turbo Pascal 5.5


Credit Card Math 1994: Turbo Pascal 5.5


Credit Card Math 1998: Delphi 3


Credit Card Math 2004: Delphi 5


Credit Card Math 2013: Delphi 2010 (1st Attempt)


Credit Card Math 2013: Delphi 2010 (2nd Attempt)
Semper Fi,
Gunny Mike

Sunday, February 24, 2013

Raize Components 6.1.2 Now Available


Raize Software is very pleased to announce the immediate availability of Raize Components 6.1.2. The primary focus of version 6.1.2 is support for Embarcadero RAD Studio XE3 Update 1 with C++ 64-bit support. Also included are enhancements and bug-fixes.

The new build is free for all registered Raize Components 6 users.
Click here for details.

For more information about Raize Components 6, click here.

In case you are like me and not very observant when it comes to some things, I want to point out that Ray includes the entire source code for the RCDemo program. I just found out about that yesterday even though I purchased the componets back in July.

You can learn a lot from Ray and how he structures his code.

Enjoy - Semper Fi
Gunny Mike