Code: Select all
; COMPARISONS OF VB6 <-> PB:
; VB6 Code --> PB Code
; Do Until Eof(inf) While Eof(inf) = 0
; ; do stuff here ;do stuff here
; Loop Wend
;-PB Gadgets(description) = VB6 Control - prefix used
; 1. ButtonGadget(BU) = CommandButton - cmd
; gn = ButtonGadget (#PB_Any, x, y, Width, Height, Text$ [, Flags])
; 2. ButtonImageGadget(BI) = CommandButton w/API
; gn = ButtonImageGadget (#PB_Any, x, y, Width, Height, ImageID [, Flags])
; 3. CalendarGadget(CA) = DTPicker or NA - dtp
; gn = CalendarGadget (#PB_Any, x, y, Width, Height [, Date [, Flags]])
; 4. CanvasGadget(CG) = PictureBox pb or ImageBox img
; gn = CanvasGadget (#PB_Any, x, y, Width, Height [, Flags])
; 5. CheckBoxGadget(XB) = CheckBox - chk
; gn = CheckBoxGadget (#PB_Any, x, y, Width, Height, Text$ [, Flags])
; 6. ComboBoxGadget(CB) = ComboBox - cmb
; gn = ComboBoxGadget (#PB_Any, x, y, Width, Height [, Flags])
; 7. ContainerGadget(CN)(1 Panel) = NA
; gn = ContainerGadget (#PB_Any, x, y, Width, Height [, Flags])
; 8. DateGadget(DA)(StringGadget) = MaskedEdit control Or TextBox edit w/code
; gn = DateGadget (#PB_Any, x, y, Width, Height [, Mask$ [, Date [, Flags]]])
; 9. EditorGadget(E) = TextBox - txt
; Automatic vertical and horizontal scrollbars
; No context menu. (right mouse click), but does support ctrl+c, etc.
; gn = EditorGadget (#PB_Any, x, y, Width, Height [, Flags])
; 10.ExplorerComboGadget(XC) = DriveListBox, DirectoryListBox, FileListBox - requires code To assemble pieces
; gn = ExplorerComboGadget (#PB_Any, x, y, Width, Height, Directory$, [, Flags])
; 11.ExplorerListGadget(XL) = NA
; gn = ExplorerListGadget (#PB_Any, x, y, Width, Height, Directory$, [, Flags])
; 12.ExplorerTreeGadget(XT) = DriveListBox ++
; gn = ExplorerTreeGadget (#PB_Any, x, y, Width, Height, Directory$, [, Flags])
; 13.FrameGadget(FR) = Frame - fram
; gn = FrameGadget (#PB_Any, x, y, Width, Height, Text$ [, Flags])
; 14.HyperLinkGadget(HL) = Label w/code
; gn = HyperLinkGadget (#PB_Any, x, y, Width, Height, Text$, Color [, Flags])
; 15.IPAddressGadget(IP) = NA Or MaskedEditBox w/code
; gn = IPAddressGadget (#PB_Any, x, y, Width, Height)
; 16.ImageGadget(IM) = Image - img, PictureBox - pb
; gn = ImageGadget (#PB_Any, x, y, Width, Height, ImageID [, Flags])
; 17.ListIconGadget = ListView or MSGridControl
; gn = ListIconGadget (#PB_Any, x, y, Width, Height, Title$, TitleWidth [, Flags])
; 18.ListViewGadget(LV) = ListBox - lb
; gn = ListViewGadget (#PB_Any, x, y, Width, Height [, Flags])
; 19.MDIGadget(MD) = MDI Form w/code
; gn = MDIGadget (#PB_Any, x, y, Width, Height, SubMenu, MenuItem [, Flags])
; 20.OptionGadget(OP) = OptionButton - opt
; gn = OptionGadget (#PB_Any, x, y, Width, Height, Text$)
; 21.PanelGadget(PA) = SSTab - sst
; gn = PanelGadget (#PB_Any, x, y, Width, Height)
; 22.ProgressBarGadget(PB) = ProgressBar - pbar
; gn = ProgressBarGadget (#PB_Any, x, y, Width, Height, Minimum, Maximum [, Flags])
; 23.ScrollAreaGadget(SA) = NA
; gn = ScrollAreaGadget (#PB_Any, x, y, Width, Height, ScrollAreaWidth, ScrollAreaHeight [, ScrollStep [, Flags]])
; 24.ScrollBarGadget(SB) = HScrollBar, VScrollBar - hsb,vsb
; gn = ScrollBarGadget (#PB_Any, x, y, Width, Height, Minimum, Maximum, PageLength [, Flags])
; 25.ShortcutGadget(SK) = NA
; gn = ShortcutGadget (#PB_Any, x, y, Width, Height, Shortcut)
; 26.SpinGadget(SP) = UpDown - spin
; gn = SpinGadget (#PB_Any, x, y, Width, Height, Minimum, Maximum [, Flags])
; 27.SplitterGadget(SR) = NA
; gn = SplitterGadget (#PB_Any, x, y, Width, Height, #Gadget1, #Gadget2 [, Flags])
; 28.StringGadget(S) = TextBox w/single line only, txt
; gn = StringGadget (#PB_Any, x, y, Width, Height, Content$ [, Flags])
; Add #ES_MULTILINE flag, and it will handle more lines, but no scrollbars when text overflows.
; Use SetWindowLongPtr_() to change styles if mixing TextGadget Constants fails.
; 29.TextGadget(T) (no events) = Label - lbl
; gn = TextGadget (#PB_Any, x, y, Width, Height, Text$ [, Flags])
; 30.TrackBarGadget(TB) = NA, use tiny scrollbar w/code
; gn = TrackBarGadget (#PB_Any, x, y, Width, Height, Minimum, Maximum [, Flags])
; 31.TreeGadget(TV) = TreeView, trv
; gn = TreeGadget (#PB_Any, x, y, Width, Height [, Flags])
; 32.WebGadget(WG) = NA or any IE component w/API code
; gn = WebGadget (#PB_Any, x, y, Width, Height, URL$ [, Flags])
;
; Additional Gadgets...
;
; 1. Window(W) = Form - frm
; wN = OpenWindow (#PB_Any, x, y, InnerWidth, InnerHeight, Title$ [, Flags [, ParentWindowID]])
; 2. AddGadgetItem = NA
; wN = AddGadgetItem (#PB_Any, Position, Text$ [, ImageID [, Flags]])
; ^^^ with MDI only
; AddGadgetItem (gn, Position, Text$ [, ImageID [, Flags]])
; 3. OpenGadgetList(O) = NA
; OpenGadgetList (gn [, Item])
; 4. CloseGadgetList(C) = NA
; CloseGadgetList ()
; 5. StatusBar(ST) = NA
; gn = CreateStatusBar (#PB_Any, WindowID(wN))
; AddStatusBarField (#PB_Ignore = Width)
; 6. ScintillaGadget = NA
; gn = ScintillaGadget (#PB_Any, x, y, Width, Height, @Callback())
; 7. Timer(TM)
; AddWindowTimer(#Window, Timer, Timeout)
; 8. KeyboardShortcut(KS) = NA
; AddKeyboardShortcut(#Window, Key, Event)
;
;- Modal vs Non-Modal windows:
; MessageRequester("try","PB is always Modal.")
; MessageBox_(hWnd,"Same as PB MsgBox, TopMost window.","try", #MB_ICONASTERISK | #MB_APPLMODAL); | #MB_SYSTEMMODAL);| #MB_TASKMODAL)
; MessageBox_(0,"No owner window allows parent app to respond to events.","try", #MB_ICONASTERISK | #MB_APPLMODAL); | #MB_SYSTEMMODAL);| #MB_TASKMODAL)
Code: Select all
;-{ STRUCTURES of ALL DATATYPES
Structure ScanAllTypes ; #PB_Compiler_Unicode = 1 (PB v5.4+ drops Ascii compiles)
; Allows 1 Define for all datatypes to be scanned. Define *buf.ScanAllTypes = @somevariable or *somememory
; Consider as a StructureUnion. Takes no memory and overflow is not checked.
; Ex. *buf\d[i] ; 'i' can be incremented in a loop without compiler error.
; ; Type, Bytes, Min, Max, C Type
b.b[0] ; Byte, 1, -128, 127, char, bool(C++)
a.a[0] ; Ascii, 1, 0, 255, unsigned char, UCHAR, BYTE
c.c[0] ; Character, 2, 0, 65535, unsigned short, USHORT
u.u[0] ; Unicode, 2, 0, 65535, unsigned short, USHORT
w.w[0] ; Word, 2, -32768, 32767, short
l.l[0] ; Long, 4, -2147483648, 2147483647, long, int (long & $FFFFFFFF = unsigned)
;;ul.ul[0] ; ULong, 4, 0, 4294967295, unsigned long, unsigned int, DWORD(C++)
i.i[0] ; Integer, 4, -2147483648, 2147483647, long, int(x86 or 32-bit),sizeof*
;i.i[0] ; Integer, 8, -9223372036854775808, 9223372036854775807, long long(x64 or 64-bit),sizeof*
q.q[0] ; Quad, 8, -9223372036854775808, 9223372036854775807, long long
;;uq.uq[0] ; UQuad, 8, 0, 18446744073709551615, unsigned long long, ULONGLONG
f.f[0] ; Float, 4, -1.175494e-38, 3.402823e+38, float (6 decimal places)
d.d[0] ; Double, 8, -2.2250738585072013e-308, 1.7976931348623157e+308, double (15 decimal places)
;;ld.ld[0] ; LDouble, 10, -3.4e-4932, 1.1e+4932, long double(19 decimal places)
;;s ; String$, 2/char + 2 for chr(0), , wchar_t
s.s{1}[0] ; {FixedLen}, 2/char, , char *, char var[] <-- Convert to Ascii
;s.s[0] ; FAILS, -> *p\s = @x$, *p\s[1] = IMA.
EndStructure
;-} STRUCTURES