Hungarian notation
From Free Pascal wiki
Jump to navigationJump to search
Hungarian notation in a coding style adopted by MS for C development under Windows. This variable naming technique claims to harmonize, to improve the readability of the existing variables, so to save time when a project grows. Here is an example list, neither official nor fixed (the prefixes are usually based on the information theory, which concludes that consonants can be inferred in the middle of vowels. It uses too, the Camel case notation a lot). The name refection tool is perfect to use this technique easily.
F Property Variable T Type P Type of pointer to another type On Event
b Boolean c Char s String d for all reals\floats as Double, Enumerated, ... i for all integers as Integer, Long Integer, Smallint, ... p Generic Pointer pz PChar
btn TButton; ex.: btnFoo1 bbtn TBitmap Button optbtn TOption Button sbtn TSpeedButton chk TCheck Box cbx TComboBox cmp TComponent db TDatabase dts TDataSource edt TEdit Box frm TForm grd TDrawGrid sgrd TString Grid dbgrd TDBGrid hdr THeader img Image itm TMenuItem lbl TLabel lbx TListbox2 dblbx TDBListbox mnu TMainMenu pmnu TPopup Menu mem TMemo notbk TNotebook tabs TTabset tabnotbk Tabbed Notebook outl TOutline2 pnl TPanel tbl TTable qry TQuery timr Timer fld TField inif TIniFile ...\...
oSL String List; ex.: oSLfoo oStrm TStream; ex.: oStrmFoo ...\...
g means Global, wheras its type (simple or object)
o means, from a memory scope management, that oMyObj must be freed within the scope of its declaration; ex.: oMyObject; ex.: goMyObject o_ means, from a memory scope management, that o_myObj must not be freed here, i.e. must not be freed in the scope of its declaration!; ex: o_myObj