18
Programmierung in Programmierung in Visual FoxPro 9.0 Visual FoxPro 9.0 deutschsprachige FoxPro User deutschsprachige FoxPro User Group Group Rainer Becker Rainer Becker Microsoft Visual FoxPro 9.0 Microsoft Visual FoxPro 9.0 Roadshow Roadshow PROG

Programmierung in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow PROG

Embed Size (px)

Citation preview

Programmierung inProgrammierung inVisual FoxPro 9.0Visual FoxPro 9.0

deutschsprachige FoxPro User Groupdeutschsprachige FoxPro User Group

Rainer BeckerRainer Becker

Microsoft Visual FoxPro 9.0 RoadshowMicrosoft Visual FoxPro 9.0 Roadshow

PROG

MethodenMethoden

Drag & Drop zwischen FensternDrag & Drop zwischen Fenstern Beispiel BefehlsfensterBeispiel Befehlsfenster

NavigationNavigation Doppelklick zum ÖffnenDoppelklick zum Öffnen Bild auf/Bild ab zum Wechseln zwischen MethodenBild auf/Bild ab zum Wechseln zwischen Methoden Drop-down Listbox zum Öffnen aller Objekte und Drop-down Listbox zum Öffnen aller Objekte und

MethodenMethoden Wechsel zur Superklasse (vormals Utility)Wechsel zur Superklasse (vormals Utility)

Editor revisitedEditor revisited

Strg+Mausziehen (Drag) führt zum Kopieren des Strg+Mausziehen (Drag) führt zum Kopieren des Eintrags (Kopieren + Einfügen)Eintrags (Kopieren + Einfügen)

Alt+Mausziehen (Drag) führt zum Verschieben des Alt+Mausziehen (Drag) führt zum Verschieben des Eintrags (Auschneiden)Eintrags (Auschneiden)

Strg+U wandelt in KleinbuchstabenStrg+U wandelt in Kleinbuchstaben Strg+Shift+U wandelt in GrossbuchstabenStrg+Shift+U wandelt in Grossbuchstaben Strg+BildAuf/BildAb wechselt Funktion sofern Strg+BildAuf/BildAb wechselt Funktion sofern

DocumentView geöffnet ist!DocumentView geöffnet ist!

Editor revisitedEditor revisited

Buchzeichen / ArbeitsvermerkeBuchzeichen / Arbeitsvermerke Alt+F2Alt+F2 setzt/entfernt Tasksetzt/entfernt Task Alt+Shift+F2Alt+Shift+F2 setzt/entfernt Bookmarksetzt/entfernt Bookmark F2 F2 zur nächsten Markierungzur nächsten Markierung Shift+F2 Shift+F2 zur vorigen Markierungzur vorigen Markierung

Taskliste: Sehr praktisch!Taskliste: Sehr praktisch! Operatorenexpansion (Intellisense, siehe unten)Operatorenexpansion (Intellisense, siehe unten)

Variable ++ / -- expandiert zu Variable = Variable +/- 1Variable ++ / -- expandiert zu Variable = Variable +/- 1 Variable += , -= , *= , /= zu Variable = Variable +-*/Variable += , -= , *= , /= zu Variable = Variable +-*/

Suchen revisitedSuchen revisited

\t\t sucht nach Tabssucht nach Tabs \r , \n\r , \n für Anfang bzw. Ende einer Zeilefür Anfang bzw. Ende einer Zeile \\\\ sucht nach \sucht nach \ Wildcards ?, *, # für einen, mehrere oder numerische Wildcards ?, *, # für einen, mehrere oder numerische

PlatzhalterPlatzhalter <, ><, > für passend am Anfang oder Endefür passend am Anfang oder Ende [ ][ ] enthält Auswahllisteenthält Auswahlliste [! ] [! ] enthält Ausnahmenenthält Ausnahmen

Intellisense revisitedIntellisense revisited

Strg+J liefert die Eigenschaften oder die zulässigen Strg+J liefert die Eigenschaften oder die zulässigen Werte wenn man vor bzw. hinter dem Werte wenn man vor bzw. hinter dem Gleichheitszeichen stehtGleichheitszeichen steht

Strg+I liefert die Auswahlliste jederzeitStrg+I liefert die Auswahlliste jederzeit zdef für Anzeige von #DEFINEzdef für Anzeige von #DEFINE zloc für Anzeige von lokalen Variablenzloc für Anzeige von lokalen Variablen MF, MC, DC für Modi File, Modi Command, Define MF, MC, DC für Modi File, Modi Command, Define

Class -> leicht erweiterbarClass -> leicht erweiterbar

Intellisense Old StuffIntellisense Old Stuff

DOCASE, DOWHILEDOCASE, DOWHILE IFEND, IFELSEIFEND, IFELSE TRYENDTRYEND FOREACH, FORENDFOREACH, FOREND SCANENDSCANEND TEXTENDTEXTEND WITHENDWITHEND

QuellcodebearbeitungQuellcodebearbeitung IntelliSense in Memofeldern IntelliSense in Memofeldern

Syntax color on, wordwrap off, new foxcode-tableSyntax color on, wordwrap off, new foxcode-table IntelliSense mit WITH und FOR EACH-BefehlenIntelliSense mit WITH und FOR EACH-Befehlen

Klassenvorgabe allgemein oder mit VCX notwendigKlassenvorgabe allgemein oder mit VCX notwendig IntelliSense für EndanwenderIntelliSense für Endanwender

Siehe _vfp.editoroptions (jetzt persisten in VFP9IDE)Siehe _vfp.editoroptions (jetzt persisten in VFP9IDE) Autocomplete Vorführung (sys(2910))Autocomplete Vorführung (sys(2910)) Hintergrundcompilierung mit FarbmarkierungHintergrundcompilierung mit Farbmarkierung Drucken von markiertem Text (im Datei-Menü)Drucken von markiertem Text (im Datei-Menü) Kopieren von markiertem Text mit Schriftart usw.Kopieren von markiertem Text mit Schriftart usw.

Verbesserungen DebuggerVerbesserungen Debugger

Tracen von KonstantenTracen von Konstanten Debuggen von BerichtenDebuggen von Berichten Kopieren von Trace in Watch-FensterKopieren von Trace in Watch-Fenster Kopieren von Watch/Locals in Editor oder Kopieren von Watch/Locals in Editor oder

BefehlsfensterBefehlsfenster Direkte Änderungen an WertenDirekte Änderungen an Werten Zuweisungen von Ausdrücken möglich, werden Zuweisungen von Ausdrücken möglich, werden

sofort ausgewertetsofort ausgewertet

Verbesserung ProfilerVerbesserung Profiler

SET COVERAGE zur LaufzeitSET COVERAGE zur Laufzeit Sys(3054), neu Protokollierung mit sys(3092) in DateiSys(3054), neu Protokollierung mit sys(3092) in Datei Auch in der laufenden AnwendungAuch in der laufenden Anwendung Zusätzliches AddIn für die AuswertungZusätzliches AddIn für die Auswertung

BINDEVENTS erweitertBINDEVENTS erweitert

BindeventBindevent Bisher sehr praktisch für zusätzliche Ausführung von CodeBisher sehr praktisch für zusätzliche Ausführung von Code Erweitert für Windows-EreignisseErweitert für Windows-Ereignisse _vfp.hwnd, wm_setfocus, ohandler, "handleevent"_vfp.hwnd, wm_setfocus, ohandler, "handleevent" Messagekonstanten in wmhandler.hMessagekonstanten in wmhandler.h samples/solutions/europasamples/solutions/europa

Verwendung des Objektbrowsers für die Verwendung des Objektbrowsers für die Registrierung von Ereignissen von AnwendungenRegistrierung von Ereignissen von Anwendungen WinWord, Outlook, eigene COM-ServerWinWord, Outlook, eigene COM-Server

Anpassung VFP-MenüAnpassung VFP-Menü

_MENUHIT_MENUHIT Ersatz von Menüfunktionen in VFP-DIEErsatz von Menüfunktionen in VFP-DIE Beispiele leider sprachabhängigBeispiele leider sprachabhängig

_MENUCONTEXT_MENUCONTEXT Ersatz von Rightclick-Menüs in VFP-DIEErsatz von Rightclick-Menüs in VFP-DIE

Leider etwas problematisch bei Lokalisierung!Leider etwas problematisch bei Lokalisierung! Nachprogrammierung bestehende Funktion mit Sprache…Nachprogrammierung bestehende Funktion mit Sprache…

StringfunktionenStringfunktionen

TEXT ENDTEXT PRETEXTTEXT ENDTEXT PRETEXT 1 eliminate spaces before line1 eliminate spaces before line 2 eliminate tabs before line2 eliminate tabs before line 4 eliminate carriage returns4 eliminate carriage returns 8 eliminate line feeds8 eliminate line feeds

Strextract()Strextract() Für Extraktion von Texten aus HTML und XMLFür Extraktion von Texten aus HTML und XML

Und noch ein paar …Und noch ein paar …

_vfp.languageoption = 1 für Prüfung Deklaration_vfp.languageoption = 1 für Prüfung Deklaration startmode, processIDstartmode, processID

_vfp.projects(1).build() für Ansteuerung Projekte_vfp.projects(1).build() für Ansteuerung Projekte defaultfilepath=""defaultfilepath=""

_screen.displayorientation für Tablet-PCs_screen.displayorientation für Tablet-PCs 0 = upright landscape0 = upright landscape 1 upright portrait mode1 upright portrait mode 2 inverted landscape2 inverted landscape 3 invertet portrait3 invertet portrait

Weitere SYS-FunktionenWeitere SYS-Funktionen

Sys(3065) speicherbedarf, progcache = pagesSys(3065) speicherbedarf, progcache = pages Sys(2450) suchen performanceSys(2450) suchen performance

kein vorteil bei set procedurekein vorteil bei set procedure Sys(3055), default 150Sys(3055), default 150 Sys(1037) PagesetupSys(1037) Pagesetup Sys(2019) config.fpw extern/internSys(2019) config.fpw extern/intern Sys(3008) Hyperlink Tooltip ausschaltenSys(3008) Hyperlink Tooltip ausschalten

KleinigkeitenKleinigkeiten ALLOWEXTERNALALLOWEXTERNAL SET PATH ADDITIVESET PATH ADDITIVE TYPE( „array“,1) = „A“TYPE( „array“,1) = „A“ INPUTBOX Default für Escape/CancelINPUTBOX Default für Escape/Cancel TRIM-Parameterliste TRIM-Parameterliste ADDPROPERTY (visibility, description)ADDPROPERTY (visibility, description) MROW/MCOLMROW/MCOL AutohidescrollbarAutohidescrollbar Style in LabelsStyle in Labels CREATEOBJECTEXCREATEOBJECTEX ALINES-BeispielALINES-Beispiel

Reminder zu VFP 8.0Reminder zu VFP 8.0 Neue Werkzeuge wie Taskpane, Toolbox und Code Referenz-SucheNeue Werkzeuge wie Taskpane, Toolbox und Code Referenz-Suche Verbesserungen bei Werkzeugen wie Berichtsgenerator, Menüdesigner, Verbesserungen bei Werkzeugen wie Berichtsgenerator, Menüdesigner,

View-Designer und weiterenView-Designer und weiteren Neue Builder für Dataenvironment und XML-WebserviceNeue Builder für Dataenvironment und XML-Webservice Datenbankerweiterung um Auto-Increment-Felder, Ausdrücke und SQL-Datenbankerweiterung um Auto-Increment-Felder, Ausdrücke und SQL-

FunktionalitätFunktionalität Flexible Fehlerbehandlung mit TRY-CATCH-KonstruktFlexible Fehlerbehandlung mit TRY-CATCH-Konstrukt Umfangreiches EventbindingUmfangreiches Eventbinding visuelle Subklassen für Page, Column, Header, OptionButton, visuelle Subklassen für Page, Column, Header, OptionButton,

CommandbuttonCommandbutton Neue Klassen wie Collection, XML-Adapter, CursorAdapter, Empty.Neue Klassen wie Collection, XML-Adapter, CursorAdapter, Empty. Unterstützung von Hyperlinks, verzögertes Databinding usw. Unterstützung von Hyperlinks, verzögertes Databinding usw. Weitere Verbesserungen im Bereich COM-Server, IntellisenseWeitere Verbesserungen im Bereich COM-Server, Intellisense

Vielen Dank!Vielen Dank!

Besuchen Sie unsere Webseiten: Besuchen Sie unsere Webseiten: http://www.dfpug.dehttp://www.dfpug.de, , http://portal.dfpug.dehttp://portal.dfpug.de, , http://forum.dfpug.dehttp://forum.dfpug.de, ,

http://newsletter.dfpug.dehttp://newsletter.dfpug.de, , http://devcon.dfpug.dehttp://devcon.dfpug.de, , http://roadshow.dfpug.dehttp://roadshow.dfpug.de, http://www.visualextend.de, , http://www.visualextend.de,

http://www.linuxtransfer.de, http://www.visualfoxpro.de http://www.linuxtransfer.de, http://www.visualfoxpro.de