180 likes | 355 Vues
PROG. Programmierung in Visual FoxPro 9.0. deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow. Methoden. Drag & Drop zwischen Fenstern Beispiel Befehlsfenster Navigation Doppelklick zum Öffnen Bild auf/Bild ab zum Wechseln zwischen Methoden
E N D
PROG Programmierung inVisual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow
Methoden • Drag & Drop zwischen Fenstern • Beispiel Befehlsfenster • Navigation • Doppelklick zum Öffnen • Bild auf/Bild ab zum Wechseln zwischen Methoden • Drop-down Listbox zum Öffnen aller Objekte und Methoden • Wechsel zur Superklasse (vormals Utility)
Editor revisited • Strg+Mausziehen (Drag) führt zum Kopieren des Eintrags (Kopieren + Einfügen) • Alt+Mausziehen (Drag) führt zum Verschieben des Eintrags (Auschneiden) • Strg+U wandelt in Kleinbuchstaben • Strg+Shift+U wandelt in Grossbuchstaben • Strg+BildAuf/BildAb wechselt Funktion sofern DocumentView geöffnet ist!
Editor revisited • Buchzeichen / Arbeitsvermerke • Alt+F2 setzt/entfernt Task • Alt+Shift+F2 setzt/entfernt Bookmark • F2 zur nächsten Markierung • Shift+F2 zur vorigen Markierung • Taskliste: Sehr praktisch! • Operatorenexpansion (Intellisense, siehe unten) • Variable ++ / -- expandiert zu Variable = Variable +/- 1 • Variable += , -= , *= , /= zu Variable = Variable +-*/
Suchen revisited • \t sucht nach Tabs • \r , \n für Anfang bzw. Ende einer Zeile • \\ sucht nach \ • Wildcards ?, *, # für einen, mehrere oder numerische Platzhalter • <, > für passend am Anfang oder Ende • [ ] enthält Auswahlliste • [! ] enthält Ausnahmen
Intellisense revisited • Strg+J liefert die Eigenschaften oder die zulässigen Werte wenn man vor bzw. hinter dem Gleichheitszeichen steht • Strg+I liefert die Auswahlliste jederzeit • zdef für Anzeige von #DEFINE • zloc für Anzeige von lokalen Variablen • MF, MC, DC für Modi File, Modi Command, Define Class -> leicht erweiterbar
Intellisense Old Stuff • DOCASE, DOWHILE • IFEND, IFELSE • TRYEND • FOREACH, FOREND • SCANEND • TEXTEND • WITHEND
Quellcodebearbeitung • IntelliSense in Memofeldern • Syntax color on, wordwrap off, new foxcode-table • IntelliSense mit WITH und FOR EACH-Befehlen • Klassenvorgabe allgemein oder mit VCX notwendig • IntelliSense für Endanwender • Siehe _vfp.editoroptions (jetzt persisten in VFP9IDE) • Autocomplete Vorführung (sys(2910)) • Hintergrundcompilierung mit Farbmarkierung • Drucken von markiertem Text (im Datei-Menü) • Kopieren von markiertem Text mit Schriftart usw.
Verbesserungen Debugger • Tracen von Konstanten • Debuggen von Berichten • Kopieren von Trace in Watch-Fenster • Kopieren von Watch/Locals in Editor oder Befehlsfenster • Direkte Änderungen an Werten • Zuweisungen von Ausdrücken möglich, werden sofort ausgewertet
Verbesserung Profiler • SET COVERAGE zur Laufzeit • Sys(3054), neu Protokollierung mit sys(3092) in Datei • Auch in der laufenden Anwendung • Zusätzliches AddIn für die Auswertung
BINDEVENTS erweitert • Bindevent • Bisher sehr praktisch für zusätzliche Ausführung von Code • Erweitert für Windows-Ereignisse • _vfp.hwnd, wm_setfocus, ohandler, "handleevent" • Messagekonstanten in wmhandler.h • samples/solutions/europa • Verwendung des Objektbrowsers für die Registrierung von Ereignissen von Anwendungen • WinWord, Outlook, eigene COM-Server
Anpassung VFP-Menü • _MENUHIT • Ersatz von Menüfunktionen in VFP-DIE • Beispiele leider sprachabhängig • _MENUCONTEXT • Ersatz von Rightclick-Menüs in VFP-DIE • Leider etwas problematisch bei Lokalisierung! • Nachprogrammierung bestehende Funktion mit Sprache…
Stringfunktionen • TEXT ENDTEXT PRETEXT • 1 eliminate spaces before line • 2 eliminate tabs before line • 4 eliminate carriage returns • 8 eliminate line feeds • Strextract() • Für Extraktion von Texten aus HTML und XML
Und noch ein paar … • _vfp.languageoption = 1 für Prüfung Deklaration • startmode, processID • _vfp.projects(1).build() für Ansteuerung Projekte • defaultfilepath="" • _screen.displayorientation für Tablet-PCs • 0 = upright landscape • 1 upright portrait mode • 2 inverted landscape • 3 invertet portrait
Weitere SYS-Funktionen • Sys(3065) speicherbedarf, progcache = pages • Sys(2450) suchen performance • kein vorteil bei set procedure • Sys(3055), default 150 • Sys(1037) Pagesetup • Sys(2019) config.fpw extern/intern • Sys(3008) Hyperlink Tooltip ausschalten
Kleinigkeiten • ALLOWEXTERNAL • SET PATH ADDITIVE • TYPE( „array“,1) = „A“ • INPUTBOX Default für Escape/Cancel • TRIM-Parameterliste • ADDPROPERTY (visibility, description) • MROW/MCOL • Autohidescrollbar • Style in Labels • CREATEOBJECTEX • ALINES-Beispiel
Reminder zu VFP 8.0 • Neue Werkzeuge wie Taskpane, Toolbox und Code Referenz-Suche • Verbesserungen bei Werkzeugen wie Berichtsgenerator, Menüdesigner, View-Designer und weiteren • Neue Builder für Dataenvironment und XML-Webservice • Datenbankerweiterung um Auto-Increment-Felder, Ausdrücke und SQL-Funktionalität • Flexible Fehlerbehandlung mit TRY-CATCH-Konstrukt • Umfangreiches Eventbinding • visuelle Subklassen für Page, Column, Header, OptionButton, Commandbutton • Neue Klassen wie Collection, XML-Adapter, CursorAdapter, Empty. • Unterstützung von Hyperlinks, verzögertes Databinding usw. • Weitere Verbesserungen im Bereich COM-Server, Intellisense
Vielen Dank! Besuchen Sie unsere Webseiten: http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de, http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http://www.visualextend.de, http://www.linuxtransfer.de, http://www.visualfoxpro.de