Uwe Habermann D-DBI Integration der DBI Controls aus Sedna in VFP am Beispiel von Visual Extend
VFX Jahre VFX dFPUG c/o ISYS GmbH Marktführer in Europa Mehr Anwender als alle anderen Framework Hersteller zusammen Einziges Framework mit voller Cursoradapter Unterstützung Erstes Framework mit Unterstützung der DBI Sedna Components
Visual Extend 10.0 VFX 10.0 Build 1104 auf der Konferenz-CD 4 Beispielanwendungen –VFPizza –DBI Sedna Components installieren 20 Stunden Videos
Wer ist denn das? Uwe Habermann Diplom-Informatiker, TU Berlin FoxPro Entwickler seit FPW 2.5 MCP für VFP Visual Extend Product Manager Freiberuflich tätig für ISYS, Wizards & Builders, ProLib, … Uwe Habermann & Kathrin Leu GbR
Sedna VFP 9 SP 2 DBI Sedna Components Upsizing Wizard Data Explorer Sedna Reporting Features VistaDialogs4COM NET4COM MY for VFP VS 2005 Extension for VFP
DBI Sedna Components ctContactKontaktliste wie in Outlook ctDaysKalender Tagesansicht ctDEditDatums- und Zeiteingabe ctDropMenuRechtsklickmenü ctFrameHintergrund ctListBarNavigationsbereich ctToolBarMenü und Symbolleiste ctTrayWindows System Tray
Abhängigkeiten Kompiliert mit Microsoft Visual C MFC42.dll MSVCRT.dll
DBI Studio Controls R3 Noch viel mehr Controls Schon lange erhältlich Controls sind nicht neu Gleiche Features Gleiche IDs
Integration in VFX Beispiele in VFPizza ctContactKontaktliste wie in Outlook CustomersDBI.scx ctDEditDatums- und Zeiteingabe Orders.scx ctDropMenuRechtsklickmenü ctFrameHintergrund Customers.scx ctListBarNavigationsbereich ctToolBarMenü und Symbolleiste ctTrayWindows System Tray
ctContact ctContactKontaktliste wie in Outlook Beispiel in CustomersDBI.scx
ctContact Vfxappl.vcx - cDBIctContact Eigenschaften.IDFieldName =.NodeText =.aFieldsList =.HideEmptyItems =.T.
ctContact Überschriften füllen: cDBIctContact.FillTreeView WITH this lnNewHeaderIndex = ;.oleContact.AddHeader(ALLTRIM( ; TRANSFORM(EVALUATE(.NodeText)))).oleContact.HeaderCargo( ; lnNewHeaderIndex) = lcNodeKey ENDWITH
ctContact Datenbeschreibung füllen: CustomersDBI.scx – Init Array enthält Beschriftungen und Feldnamen DIMENSION this.afieldslist (2,2) this.afieldslist[1,1] = 'Telefon:' this.afieldslist[1,2] = 'phone' this.afieldslist[2,1] = 'Adresse:' this.afieldslist[2,2] = 'address' this.oleContact.ColumnWidth = 184 RETURN DODEFAULT()
ctContact Daten füllen: cDBIctContact.FillTreeView WITH this FOR i=1 TO.oleContact.TitleCount.oleContact.ItemText( ; lnNewHeaderIndex,i) = ; ALLTRIM(TRANSFORM(EVALUATE( ;.afieldslist[i,2]))) ENDFOR ENDWITH
ctContact Builder von DBI vorhanden Kleiner Nachteil Die Überschrift kann nicht bearbeitet werden
ctDays ctDaysKalender Tagesansicht Demo in SednaDemos Builder von DBI vorhanden
ctDEdit ctDEditDatums- und Zeiteingabe Bearbeitung von Zeit- oder Datumswerten Unterstützung aller SET Einstellungen von VFP Beispiel in OrdersCA.scx
ctDEdit Vfxappl.vcx – cDBIctDEdit Eigenschaften.cControlsource = <- Wichtig!.DropButton =.SpinButton =.FormatType =
ctDEdit Vfxappl.vcx – cDBIctDEdit.Init Unterstützung aller SET Einstellungen von VFP cDBIctDEdit.ClickDrop ClickDrop startet Kalender cDBIctDEdit.ClickSpin Tag ändern Freundliches Verhalten bei Falscheingabe Builder von DBI vorhanden
ctDropMenu ctDropMenuRechtsklickmenü In VFX einstellbar mit goProgram.nMenuAndToolbarStyle 0 – VFP Menü (Standardwert) 1 – DBI ctToolbar VfxFormBase.vcx Formularklasse cDBIDropMenuVFXBase
ctDropMenu Verwendung in Vfxobjbase.vcx – RightClick Hinzufügen eines Eintrags loCtDropMenu.octDropMenu. ; Object.AddItem(lcCutText, 0, 1) Hinzufügen eines Icons loCtDropMenu.octDropMenu. ; ItemPicture(1) = ; LOADPICTURE(lcPictureName) Builder von DBI vorhanden
ctFrame ctFrameHintergrund Container Steuerelement Anzeige von Farbverläufen Resizable Beispiel in Customers.scx Builder von DBI vorhanden
ctListBar ctListBarNavigationsbereich In VFX einstellbar mit: goProgram.nOpenDialogStyle 0 – Öffnen Formular 1 – XP Öffnen Dialog 3 – DBI Öffnen Dialog
ctListBar Vfxformbase.vcx – cDBIOpenFormVFXBase Gruppe hinzufügen (MakeGroup) lnIndex = this.oleListBar. ; addList(lcGroupCaption) Eintrag hinzufügen (MakeItem) lnIndex = this.OleListBar. ; AddItem(lnIndex, lcCaption) Data Driven
ctListBar Demo in Sednademos Keine typische Anwendung Builder von DBI vorhanden
ctToolBar ctToolBarMenü und Symbolleiste In VFX einstellbar mit: goProgram.nMenuAndToolbarStyle 0 – VFP Menü und Symbolleiste (Standardwert) 1 – DBI ctToolbar
ctToolBar Menü Vfxappl.vcx – cDBIMenuBar Symbolleiste Vfxappl.vcx – cDBINavigatorBar
ctToolBar Menü cDBIMenuBar.LoadMenu Data Driven aus Vfxmnu.vmx gelesen
ctToolBar Menü hinzufügen (LoadMenu) lnIndex = this.octToolbar. ; AddItem(0, lcItemDescription, 0) Menüeintrag hinzufügen (LoadDropDownMenu) lnIndex = this.octToolbar. ; AddItem(lnItemType, ; lcItemDescription, lnPicture) Icon hinzufügen lnPicture = This.octToolbar. ; AddImage(LOADPICTURE(lcPictureName))
ctToolBar Symbolleiste cDBINavigatorBar.LoadToolbar
ctToolBar Icon hinzufügen (LoadToolbar) lnPictureIndex = This.AddPicture ; ("BITMAP\TOOLBAR\new.bmp") Schaltfläche hinzufügen (LoadToolbar) lnButtonIndex = This.octOfficeBar. ; AddItem(0, "", lnPictureIndex)
ctToolBar Vorsicht: Beim Entfernen von Menüeinträgen oder Elementen aus der Symbolleiste, werden die IDs neu vergeben!
ctToolBar In VFX einstellbar mit: goProgram.cDBIMainToolbar Name der Klasse mit der DBI Symbolleiste goProgram.cDBIMainMenu Name der Klasse mit dem DBI Menü
ctToolBar Selectitem.prg für Hotkeys VFX – Application Builder VFX – Update Project VFX – Menu Designer Exe Datei erstellen Builder von DBI vorhanden
ctTray ctTrayWindows System Tray Vfxappl.vcx – cSysTray –Init –IconClick In VFX einstellbar mit: goProgram.lHideAppInTray
ctTray Integration in VFP Anwendungen IF _SCREEN.WindowState = 1 AND ; This.lHideAppInTray This.oSysTray = ; Createobject("cSysTray") _SCREEN.Hide() ENDIF Builder von DBI vorhanden
Demos von DBI Demo Anwendung mit vielen Beispielen Dokumentation in Windows Hilfedateien
DBI Sedna Components ctContact ctContact.hlp ctDays ctDays.hlp ctDEdit ctDEdit.hlp ctDropMenu ctDropMenu.hlp ctFrame ctFrame.hlp ctListBar ctListBar.chm ctToolBar ctToolbar.chm ctTray ctTray.hlp
Anzeige von hlp Dateien auf Windows Vista Windows hlp Hilfesystem muss nachinstalliert werden:
Installation beim Kunden Verwendung eines Installationsprogramms OCXe sind selbstregistrierend Programmatische Registrierung möglich, aber nicht erforderlich
Vielen Dank und viel Spaß mit Sedna! Bitte denkt an die Bewertungsbögen! Uwe Habermann