Grundlagen der Programmierung mit Microsoft FoxPro/Windows und Microsoft Visual FoxPro
Diese Schulung dient zur Angleichung des Basiswissens der Schulungsteilnehmer über die Grundlagen der Programmiersprache Xbase und der DBF-basierenden Datenbanksysteme.
Themenübersicht
Vergleichs-Operatoren < Kleiner als > Größer als = Gleich (SET EXACT, SET COLLATE) - „Schm“ = „Schmidt“ => .T.
- „Schmidt“ = „Schm“ => .F.
<>, #, != Ungleich <= Kleiner als oder gleich >= Größer als oder gleich == Zeichenfolgenvergleich (Exakt!)
Schreibweisen Kommentarzeile: * bzw. *-- Zeilenkommentar: && Zeilenfortsetzung: ; Zuweisungen: Var = Wert Ausgabe/Anzeige: ? Var Schreibweise irrelevant, BEFEHLE
Numerische Operatoren ( ) Teilausdrücke gruppieren **, ^ Potenzierung * Multiplikation / Division % Modulo (Rest) - Subtraktion
Variablen/Namenskonventionen (1) Character / Zeichen Prefix: c © Numeric / Zahl Prefix: n (n) Date / Datum Prefix: d (d) Logical / Logisch Prefix: l (l) Array / Matrix Prefix: a (a) Memofelder (Char) Prefix: m ©
String-Vergleiche LEN( ) $, AT( ) ATC( ) RAT( ) INLIST( ) BETWEEN( ) OCCURS( ) LIKE( )
String-Formatierung RTRIM( ), TRIM( ) LTRIM( ) ALLTRIM( ) PADL( ) PADR( ) PADC( ) SPACE() REPLICATE( )
Memofeld-Funktionen MEMLINES( ) MLINE( ) ATLINE( ) ATCLINE( ) RATLINE( ) + CHR(13)
Numerische Funktionen INT( ) ABS( ) ROUND( ) MOD( ) FLOOR( ) CEILING( ) EXP( ), SQRT( ) RAND( )
Datums-Umwandlung DATE( ) CTOD() DTOC() DTOS() DMY( ) MDY( )
Datums-Einstellungen SET CENTURY SET DATE SET MARK TO SET FWEEK SET FDOW
Logische Funktionen Logische Operatoren: .T. oder .F. .AND. .OR. .NOT. ( )
Array-Funktionen DIMENSION ( DECLARE ) ALEN( ) AINS( ) ADEL( ) ACOPY( )
Spezielle Array-Funktionen ADIR( ) AFIELDS( ) ADATABASES( ) ADBOBJECTS( ) AUSED( ) AERROR( )
Variablen/Namenskonventionen (2) Double / Doppelte G. Prefix: b (n) Float / Fließkomma Prefix: f (n) Currency / Währung Prefix: y (y) DateTime / DatumZeitPrefix: t (t)
Currency-Funktionen - praktisch für Euro-Umrechnung
MTON( ) NTOM( )
DateTime-Funktionen DATETIME( ) TIME() (String!) DTOT( ) TTOD( ) CTOT( ) TTOC( )
Variablen/Namenskonventionen (3) Integer Prefix: i (n) Object / Objekt Prefix: o (o) Unknown / Unbekannt Prefix: u (u) Prefix: x (u) Fensternamen Prefix: w
Integer-Funktionen CTOBIN( ) BINTOC( ) CREATEBINARY( ) (ActiveX) kein echter Integer (1.Bit = Sortierbit) - (Motorola-Format, 2.Bit = Vorzeichen)
Leere Felder / Nullwerte EMPTY( ) ISBLANK( ) ISNULL( ) SET NULL NVL( )
Variablen und Scoping Private Prefix: p Public / Global Prefix: g Local (Array) Prefix: l (L)Parameter Prefix: t Referenzen (?) (Prefix: o) Properties (?) (Prefix s.o.)
Prozeduren und Funktionen DO
WITH
- PROCEDURE ... ENDPROC / RETURN
=Funktion(
) - FUNCTION ... ENDFUNC / RETURN
DECLARE DLL / Funktion( ) RUN
Parameterübergabe PARAMETERS / LPARAMETERS - bis zu 27 Parameter (ggf. Arrays)
PCOUNT() statt PARAMETERS() Parameterübergabe Referenz/Wert/@ SET UDFPARMS TO REF/VALUE
Suchreihenfolge Aktuelle Programmdatei Aktuelle Datenbankprozedurdatei Prozedurdateien (ggf. mehrere) Aufrufende Programme Externe Programme (.APP, .FXP) Externer Quellcode (SET DEVELOPMENT)
Verzweigungen und Schleifen IF ... ELSE ... ENDIF Kurzform: IIF() (Immediate IF) DO CASE ... ENDCASE DO WHILE ... ENDDO FOR ... NEXT / ENDFOR
Verzweigungen und Schleifen SCAN ... ENDSCAN FOR EACH IN WITH ... ENDWITH Verlassen mit:
Konstanten #DEFINE ... #UNDEFINE #INCLUDE (siehe FoxPro.h) #IF ... #ELIF ... #ELSE ... #ENDIF #IFDEF ... #ELSE ... #ENDIF #IFNDEF ... #ELSE ... #ENDIF *# document UPPER (Doku-Wizard!)
MessageBox() LPARAMETERS tcText, tcTitle #INCLUDE FoxPro.h LOCAL lnSelected, lnDialogType lnSelected = 0 && nicht notwendig lnDialogType = ; MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2 lnSelected = MESSAGEBOX( tcText, lnDialogType, tcTitle ) DO CASE CASE lnSelected = IDYES CASE lnSelected = IDNO ENDCASE
Vielen Dank! Das waren die Themen: Variablen und Namenskonventionen Datenumwandlung, Stringmanipulation, Arrays Gültigkeitsbereiche und Programmaufrufe Verzweigungen und Schleifen
Wenn Fragen bestehen: Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175
Do'stlaringiz bilan baham: |