Wizards & Builders GmbH Grundbefehle von FoxPro Grundlagen der Programmierung mit Microsoft FoxPro/Windows und Microsoft Visual FoxPro
Wizards & Builders GmbH Diese Schulung dient zur Angleichung des Basiswissens der Schulungsteilnehmer über die Grundlagen der Programmiersprache Xbase und der DBF-basierenden Datenbanksysteme.
Wizards & Builders GmbH Themenübersicht Schreibweisen und Operatoren Schreibweisen und Operatoren Variablen und Namenskonventionen Variablen und Namenskonventionen Datenumwandlung, Stringmanipulation, Arrays Datenumwandlung, Stringmanipulation, Arrays Gültigkeitsbereiche und Programmaufrufe Gültigkeitsbereiche und Programmaufrufe Verzweigungen und Schleifen Verzweigungen und Schleifen
Wizards & Builders GmbH Vergleichs - Operatoren <Kleiner als <Kleiner als >Größer als >Größer als =Gleich (SET EXACT, SET COLLATE) =Gleich (SET EXACT, SET COLLATE) Schm = Schmidt =>.T. Schm = Schmidt =>.T. Schmidt = Schm =>.F. Schmidt = Schm =>.F. <>, #, !=Ungleich <>, #, !=Ungleich <=Kleiner als oder gleich <=Kleiner als oder gleich >=Größer als oder gleich >=Größer als oder gleich ==Zeichenfolgenvergleich (Exakt!) ==Zeichenfolgenvergleich (Exakt!)
Wizards & Builders GmbH Schreibweisen Kommentarzeile: * bzw. *-- Kommentarzeile: * bzw. *-- NOTE NOTE Zeilenkommentar:&& Zeilenkommentar:&& Zeilenfortsetzung:; Zeilenfortsetzung:; Zuweisungen:Var = Wert Zuweisungen:Var = Wert STORE STORE Ausgabe/Anzeige:? Var Ausgabe/Anzeige:? Var Schreibweise irrelevant, BEFEHLE Schreibweise irrelevant, BEFEHLE
Wizards & Builders GmbH Numerische Operatoren ( )Teilausdrücke gruppieren ( )Teilausdrücke gruppieren **, ^Potenzierung **, ^Potenzierung *Multiplikation *Multiplikation /Division /Division %Modulo (Rest) %Modulo (Rest) +Addition +Addition -Subtraktion -Subtraktion
Wizards & Builders GmbH Variablen/Namenskonventionen (1) Character / ZeichenPrefix: c© Character / ZeichenPrefix: c© Character Binary Character Binary Numeric / ZahlPrefix: n(n) Numeric / ZahlPrefix: n(n) Date / DatumPrefix: d(d) Date / DatumPrefix: d(d) Logical / LogischPrefix: l(l) Logical / LogischPrefix: l(l) Array / MatrixPrefix: a(a) Array / MatrixPrefix: a(a) Memofelder (Char)Prefix: m© Memofelder (Char)Prefix: m© Memo Binary Memo Binary
Wizards & Builders GmbH String - Vergleiche LEN( ) LEN( ) $, AT( ) $, AT( ) ATC( ) ATC( ) RAT( ) RAT( ) INLIST( ) INLIST( ) BETWEEN( ) BETWEEN( ) OCCURS( ) OCCURS( ) LIKE( ) LIKE( ) ISUPPER( ) ISUPPER( ) ISLOWER( ) ISLOWER( ) ISALPHA( ) ISALPHA( ) ISDIGIT( ) ISDIGIT( ) LEFT( ) LEFT( ) RIGHT( ) RIGHT( ) SUBSTR( ) SUBSTR( ) SOUNDEX() SOUNDEX() DIFFERENCE( ) DIFFERENCE( )
Wizards & Builders GmbH String - Formatierung RTRIM( ), TRIM( ) RTRIM( ), TRIM( ) LTRIM( ) LTRIM( ) ALLTRIM( ) ALLTRIM( ) PADL( ) PADL( ) PADR( ) PADR( ) PADC( ) PADC( ) SPACE() SPACE() REPLICATE( ) REPLICATE( ) UPPER( ) UPPER( ) LOWER( ) LOWER( ) PROPER( ) PROPER( ) STRTRAN( ) STRTRAN( ) CHRTRAN() CHRTRAN() TRANSFORM( ) TRANSFORM( )
Wizards & Builders GmbH Memofeld - Funktionen MEMLINES( ) MEMLINES( ) MLINE( ) MLINE( ) ATLINE( ) ATLINE( ) ATCLINE( ) ATCLINE( ) RATLINE( ) RATLINE( ) + CHR(13) + CHR(13)Umwandlungen: STR( ) STR( ) VAL( ) VAL( ) CHR( ) CHR( ) ASC( ) ASC( )
Wizards & Builders GmbH Numerische Funktionen INT( ) INT( ) ABS( ) ABS( ) ROUND( ) ROUND( ) MOD( ) MOD( ) FLOOR( ) FLOOR( ) CEILING( ) CEILING( ) EXP( ), SQRT( ) EXP( ), SQRT( ) RAND( ) RAND( ) COS(), ACOS( ), SIN( ), ASIN( ), TAN( ), ATAN(), ATN2() COS(), ACOS( ), SIN( ), ASIN( ), TAN( ), ATAN(), ATN2() RTOD( ), DTOR() RTOD( ), DTOR() FV( ), PV( ), PAYMENT( ) FV( ), PV( ), PAYMENT( ) LOG( ), LOG10( ) LOG( ), LOG10( ) PI( ) PI( )
Wizards & Builders GmbH Datums - Umwandlung DATE( ) DATE( ) { } { } CTOD() CTOD() DTOC() DTOC() DTOS() DTOS() DMY( ) DMY( ) MDY( ) MDY( ) DAY( ) DAY( ) DOW( ) DOW( ) CDOW() CDOW() WEEK() WEEK() MONTH( ) MONTH( ) CMONTH() CMONTH() YEAR() YEAR() GOMONTH( ) GOMONTH( )
Wizards & Builders GmbH Datums - Einstellungen SET CENTURY SET CENTURY ROLLOVER ROLLOVER SET DATE SET DATE SET MARK TO SET MARK TO SET FWEEK SET FWEEK SET FDOW SET FDOWSystemfunktionen: SYS(1) (Tageszahl) SYS(1) (Tageszahl) SYS(2) (Sekunden) SYS(2) (Sekunden) SYS(10) (Jul.Dat.) SYS(10) (Jul.Dat.) SYS(11) (Jul.Dat.) SYS(11) (Jul.Dat.)
Wizards & Builders GmbH Logische Funktionen Logische Operatoren:.T. oder.F..T. oder.F..AND..AND..OR..OR..NOT..NOT. ( ) ( )Bit-Funktionen: BITAND( ) BITAND( ) BITCLEAR( ) BITCLEAR( ) BITNOT() BITNOT() BITOR( ) BITOR( ) BITXOR() BITXOR() BITRSHIFT( ) BITRSHIFT( ) BITLSHIFT( ) BITLSHIFT( ) BITSET( ) BITSET( ) BITTEST( ) BITTEST( )
Wizards & Builders GmbH Array-Funktionen DIMENSION DIMENSION ( DECLARE ) ALEN( ) ALEN( ) AINS( ) AINS( ) ADEL( ) ADEL( ) ACOPY( ) ACOPY( ) ASORT( ) ASORT( ) ASCAN( ) ASCAN( ) ( AFILL-Ersatz ) ( AFILL-Ersatz ) ASUBSCRIPT( ) ASUBSCRIPT( ) AELEMENT( ) AELEMENT( ) EXTERNAL EXTERNAL
Wizards & Builders GmbH Spezielle Array - Funktionen ADIR( ) ADIR( ) AFIELDS( ) AFIELDS( ) ADATABASES( ) ADATABASES( ) ADBOBJECTS( ) ADBOBJECTS( ) AUSED( ) AUSED( ) AERROR( ) AERROR( ) APRINTER( ) APRINTER( ) AFONT( ) AFONT( ) ACLASS( ) ACLASS( ) AINSTANCE( ) AINSTANCE( ) AMEMBERS( ) AMEMBERS( ) ASELOBJ( ) ASELOBJ( )
Wizards & Builders GmbH Variablen/Namenskonventionen (2) Double / Doppelte G.Prefix: b(n) Double / Doppelte G.Prefix: b(n) Float / FließkommaPrefix: f(n) Float / FließkommaPrefix: f(n) Currency / WährungPrefix: y(y) Currency / WährungPrefix: y(y) DateTime / DatumZeitPrefix: t(t) DateTime / DatumZeitPrefix: t(t)
Wizards & Builders GmbH Currency-Funktionen 8 Byte mit fest 4 Nachkomma- stellen 8 Byte mit fest 4 Nachkomma- stellen praktisch für Euro- Umrechnung praktisch für Euro- Umrechnung MTON( ) MTON( ) NTOM( ) NTOM( )
Wizards & Builders GmbH DateTime-Funktionen DATETIME( ) DATETIME( ) TIME() (String!) TIME() (String!) SECONDS( ) SECONDS( ) SET SECONDS SET SECONDS DTOT( ) DTOT( ) TTOD( ) TTOD( ) CTOT( ) CTOT( ) TTOC( ) TTOC( ) SEC( ) (Kurzform!) SEC( ) (Kurzform!) MINUTE( ) MINUTE( ) HOUR( ) HOUR( ) DAY/DOW/CDOW( ) DAY/DOW/CDOW( ) WEEK( ) WEEK( ) MONTH/CMONTH( ) MONTH/CMONTH( ) YEAR( ) YEAR( )
Wizards & Builders GmbH Variablen/Namenskonventionen (3) IntegerPrefix: i(n) IntegerPrefix: i(n) Object / ObjektPrefix: o(o) Object / ObjektPrefix: o(o) Unknown / UnbekanntPrefix: u(u) Unknown / UnbekanntPrefix: u(u) Prefix: x(u) FensternamenPrefix: w FensternamenPrefix: w
Wizards & Builders GmbH Integer-Funktionen CTOBIN( ) CTOBIN( ) BINTOC( ) BINTOC( ) CREATEBINARY( ) (ActiveX) CREATEBINARY( ) (ActiveX) kein echter Integer (1.Bit = Sortierbit) kein echter Integer (1.Bit = Sortierbit) (Motorola-Format, 2.Bit = Vorzeichen) (Motorola-Format, 2.Bit = Vorzeichen)
Wizards & Builders GmbH Leere Felder / Nullwerte EMPTY( ) EMPTY( ) ISBLANK( ) ISBLANK( ) ISNULL( ) ISNULL( ) SET NULL SET NULL NVL( ) NVL( )
Wizards & Builders GmbH Variablen und Scoping PrivatePrefix: p PrivatePrefix: p Public / GlobalPrefix: g Public / GlobalPrefix: g Local (Array)Prefix: l Local (Array)Prefix: l (L)ParameterPrefix: t (L)ParameterPrefix: t Referenzen (?)(Prefix: o) Referenzen (?)(Prefix: o) Properties (?)(Prefix s.o.) Properties (?)(Prefix s.o.)
Wizards & Builders GmbH Prozeduren und Funktionen DO WITH DO WITH PROCEDURE... ENDPROC / RETURN PROCEDURE... ENDPROC / RETURN =Funktion( ) =Funktion( ) FUNCTION... ENDFUNC / RETURN FUNCTION... ENDFUNC / RETURN DECLARE DLL / Funktion( ) DECLARE DLL / Funktion( ) RUN RUN
Wizards & Builders GmbH Parameterübergabe PARAMETERS / LPARAMETERS PARAMETERS / LPARAMETERS bis zu 27 Parameter (ggf. Arrays) bis zu 27 Parameter (ggf. Arrays) PCOUNT() statt PARAMETERS() PCOUNT() statt PARAMETERS() ASSERT MESSAGE <> ASSERT MESSAGE <> Parameterübergabe Parameterübergabe SET UDFPARMS TO REF/VALUE SET UDFPARMS TO REF/VALUE
Wizards & Builders GmbH Suchreihenfolge Aktuelle Programmdatei Aktuelle Programmdatei Aktuelle Datenbankprozedurdatei Aktuelle Datenbankprozedurdatei Prozedurdateien (ggf. mehrere) Prozedurdateien (ggf. mehrere) Aufrufende Programme Aufrufende Programme Externe Programme (.APP,.FXP) Externe Programme (.APP,.FXP) Externer Quellcode ( SET DEVELOPMENT ) Externer Quellcode ( SET DEVELOPMENT )
Wizards & Builders GmbH Verzweigungen und Schleifen IF... ELSE... ENDIF IF... ELSE... ENDIF Kurzform: IIF() (Immediate IF) Kurzform: IIF() (Immediate IF) DO CASE... ENDCASE DO CASE... ENDCASE DO WHILE... ENDDO DO WHILE... ENDDO FOR... NEXT / ENDFOR FOR... NEXT / ENDFOR
Wizards & Builders GmbH Verzweigungen und Schleifen SCAN... ENDSCAN SCAN... ENDSCAN FOR EACH IN FOR EACH IN WITH... ENDWITH WITH... ENDWITH Verlassen mit: Verlassen mit: EXIT EXIT LOOP LOOP
Wizards & Builders GmbH Konstanten #DEFINE... #UNDEFINE #DEFINE... #UNDEFINE #INCLUDE (siehe FoxPro.h) #INCLUDE (siehe FoxPro.h) #IF... #ELIF... #ELSE... #ENDIF #IF... #ELIF... #ELSE... #ENDIF #IFDEF... #ELSE... #ENDIF #IFDEF... #ELSE... #ENDIF #IFNDEF... #ELSE... #ENDIF #IFNDEF... #ELSE... #ENDIF *# document UPPER (Doku-Wizard!) *# document UPPER (Doku-Wizard!)
Wizards & Builders GmbH 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
Wizards & Builders GmbH Vielen Dank! Das waren die Themen: Schreibweisen und Operatoren Schreibweisen und Operatoren Variablen und Namenskonventionen Variablen und Namenskonventionen Datenumwandlung, Stringmanipulation, Arrays Datenumwandlung, Stringmanipulation, Arrays Gültigkeitsbereiche und Programmaufrufe Gültigkeitsbereiche und Programmaufrufe Verzweigungen und Schleifen Verzweigungen und Schleifen
Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b Kronberg Tel.: Fax: CIS: ,175