Programmierung in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow
Methoden Drag & Drop zwischen Fenstern Navigation 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 _MENUCONTEXT 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 Strextract() 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