Wizards & Wizards & Builders GmbH Builders GmbH
Grundbefehle von FoxProGrundbefehle von FoxPro
Grundlagen der Programmierung Grundlagen der Programmierung mit Microsoft FoxPro/Windowsmit Microsoft FoxPro/Windowsund Microsoft Visual FoxPround Microsoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Diese Schulung dient zur Angleichung des Basiswissens der
Schulungsteilnehmer über die Grundlagen der Programmiersprache
Xbase und der DBF-basierenden Datenbanksysteme.
Wizards & Wizards & Builders GmbH Builders GmbH
ThemenübersichtThemenübersicht
Schreibweisen und OperatorenSchreibweisen und Operatoren Variablen und NamenskonventionenVariablen und Namenskonventionen Datenumwandlung, Stringmanipulation, Datenumwandlung, Stringmanipulation,
ArraysArrays Gültigkeitsbereiche und ProgrammaufrufeGültigkeitsbereiche und Programmaufrufe Verzweigungen und SchleifenVerzweigungen und Schleifen
Wizards & Wizards & Builders GmbH Builders GmbH
VergleichsVergleichs--OperatorenOperatoren
<< Kleiner alsKleiner als >> Größer alsGrößer als == Gleich (SET EXACT, SET COLLATE)Gleich (SET EXACT, SET COLLATE)
„„Schm“ = „Schmidt“ => .T.Schm“ = „Schmidt“ => .T. „„Schmidt“ = „Schm“ => .F.Schmidt“ = „Schm“ => .F.
<>, #, !=<>, #, != UngleichUngleich <=<= Kleiner als oder gleichKleiner als oder gleich >=>= Größer als oder gleichGrößer als oder gleich ==== Zeichenfolgenvergleich (Exakt!)Zeichenfolgenvergleich (Exakt!)
Wizards & Wizards & Builders GmbH Builders GmbH
SchreibweisenSchreibweisen
Kommentarzeile: Kommentarzeile: * bzw. *--* bzw. *-- „„NOTE“NOTE“
Zeilenkommentar:Zeilenkommentar: &&&& Zeilenfortsetzung:Zeilenfortsetzung: ;; Zuweisungen:Zuweisungen: Var = WertVar = Wert
„„STORE“STORE“
Ausgabe/Anzeige:Ausgabe/Anzeige: ? Var? Var Schreibweise irrelevant, BEFEHLESchreibweise irrelevant, BEFEHLE
Wizards & Wizards & Builders GmbH Builders GmbH
NumerischeNumerische OperatorenOperatoren
( )( ) Teilausdrücke gruppierenTeilausdrücke gruppieren
**, ^**, ^ PotenzierungPotenzierung ** MultiplikationMultiplikation // DivisionDivision %% Modulo (Rest) Modulo (Rest) ++ AdditionAddition -- SubtraktionSubtraktion
Wizards & Wizards & Builders GmbH Builders GmbH
Variablen/Namenskonventionen Variablen/Namenskonventionen (1)(1)
Character / ZeichenCharacter / Zeichen Prefix: cPrefix: c ©© Character BinaryCharacter Binary
Numeric / ZahlNumeric / Zahl Prefix: nPrefix: n (n)(n) Date / DatumDate / Datum Prefix: dPrefix: d (d)(d) Logical / LogischLogical / Logisch Prefix: lPrefix: l (l)(l) Array / MatrixArray / Matrix Prefix: aPrefix: a (a)(a) Memofelder (Char)Memofelder (Char) Prefix: mPrefix: m©©
Memo BinaryMemo Binary
Wizards & Wizards & Builders GmbH Builders GmbH
StringString--VergleicheVergleiche
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 & Wizards & Builders GmbH Builders GmbH
StringString--FormatierungFormatierung
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 & Wizards & Builders GmbH Builders GmbH
MemofeldMemofeld--FunktionenFunktionen
MEMLINES( )MEMLINES( ) MLINE( )MLINE( ) ATLINE( )ATLINE( ) ATCLINE( )ATCLINE( ) RATLINE( )RATLINE( )
+ CHR(13)+ CHR(13)
Umwandlungen:Umwandlungen: STR( )STR( ) VAL( )VAL( )
CHR( )CHR( ) ASC( )ASC( )
Wizards & Wizards & Builders GmbH Builders GmbH
NumerischeNumerische FunktionenFunktionen
INT( )INT( ) ABS( )ABS( ) ROUND( )ROUND( ) MOD( )MOD( ) FLOOR( )FLOOR( ) CEILING( )CEILING( ) EXP( ), SQRT( )EXP( ), SQRT( ) RAND( )RAND( )
COS(), ACOS( ), COS(), ACOS( ), SIN( ), ASIN( ), SIN( ), ASIN( ), TAN( ), ATAN(), TAN( ), ATAN(), ATN2()ATN2()
RTOD( ), DTOR()RTOD( ), DTOR() FV( ), PV( ), FV( ), PV( ),
PAYMENT( )PAYMENT( ) LOG( ), LOG10( )LOG( ), LOG10( ) PI( )PI( )
Wizards & Wizards & Builders GmbH Builders GmbH
DatumsDatums--UmwandlungUmwandlung
DATE( )DATE( ) {01.01.98}{01.01.98}
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 & Wizards & Builders GmbH Builders GmbH
DatumsDatums--EinstellungenEinstellungen
SET CENTURYSET CENTURY ROLLOVERROLLOVER
SET DATESET DATE SET MARK TOSET MARK TO
SET FWEEKSET FWEEK SET FDOWSET FDOW
Systemfunktionen:Systemfunktionen: 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 & Wizards & Builders GmbH Builders GmbH
LogischeLogische FunktionenFunktionen
Logische Logische Operatoren:Operatoren:
.T. oder .F..T. oder .F. .AND..AND. .OR..OR. .NOT..NOT. ( )( )
Bit-Funktionen:Bit-Funktionen: BITAND( )BITAND( ) BITCLEAR( )BITCLEAR( ) BITNOT()BITNOT() BITOR( )BITOR( ) BITXOR()BITXOR() BITRSHIFT( )BITRSHIFT( ) BITLSHIFT( )BITLSHIFT( ) BITSET( )BITSET( ) BITTEST( )BITTEST( )
Wizards & Wizards & Builders GmbH Builders GmbH
Array-FunktionenArray-Funktionen
DIMENSIONDIMENSION
( DECLARE )( DECLARE ) ALEN( )ALEN( )
AINS( )AINS( ) ADEL( )ADEL( ) ACOPY( )ACOPY( )
ASORT( )ASORT( ) ASCAN( )ASCAN( )
(( AFILL-Ersatz ) AFILL-Ersatz )
ASUBSCRIPT( )ASUBSCRIPT( ) AELEMENT( )AELEMENT( )
EXTERNALEXTERNAL
Wizards & Wizards & Builders GmbH Builders GmbH
SpezielleSpezielle ArrayArray--FunktionenFunktionen
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 & Wizards & Builders GmbH Builders GmbH
Variablen/Namenskonventionen Variablen/Namenskonventionen (2)(2)
Double / Doppelte G.Double / Doppelte G. Prefix: bPrefix: b(n)(n) Float / FließkommaFloat / Fließkomma Prefix: fPrefix: f (n)(n)
Currency / WährungCurrency / Währung Prefix: yPrefix: y (y)(y) DateTime / DatumZeitPrefix: tDateTime / DatumZeitPrefix: t (t)(t)
Wizards & Wizards & Builders GmbH Builders GmbH
Currency-FunktionenCurrency-Funktionen
8 Byte mit fest 8 Byte mit fest 4 Nachkomma-4 Nachkomma-stellenstellen
praktisch für Euro-praktisch für Euro-Umrechnung Umrechnung
MTON( )MTON( ) NTOM( )NTOM( )
Wizards & Wizards & Builders GmbH Builders GmbH
DateTime-FunktionenDateTime-Funktionen
DATETIME( )DATETIME( ) TIME() (String!)TIME() (String!)
SECONDS( )SECONDS( ) SET SECONDSSET 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 & Wizards & Builders GmbH Builders GmbH
Variablen/Namenskonventionen Variablen/Namenskonventionen (3)(3)
IntegerInteger Prefix: iPrefix: i (n)(n)
Object / ObjektObject / Objekt Prefix: oPrefix: o (o)(o)
Unknown / UnbekanntUnknown / Unbekannt Prefix: uPrefix: u(u)(u)
Prefix: xPrefix: x (u)(u)
FensternamenFensternamen Prefix: wPrefix: w
Wizards & Wizards & Builders GmbH Builders GmbH
Integer-FunktionenInteger-Funktionen
CTOBIN( )CTOBIN( ) BINTOC( )BINTOC( )
CREATEBINARY( ) (ActiveX)CREATEBINARY( ) (ActiveX)
kein echter Integerkein echter Integer(1.Bit = Sortierbit)(1.Bit = Sortierbit) (Motorola-Format, 2.Bit = Vorzeichen)(Motorola-Format, 2.Bit = Vorzeichen)
Wizards & Wizards & Builders GmbH Builders GmbH
Leere Felder / NullwerteLeere Felder / Nullwerte
EMPTY( )EMPTY( ) ISBLANK( )ISBLANK( )
ISNULL( )ISNULL( ) SET NULLSET NULL NVL( )NVL( )
Wizards & Wizards & Builders GmbH Builders GmbH
Variablen und ScopingVariablen und Scoping
PrivatePrivate Prefix: pPrefix: p Public / GlobalPublic / Global Prefix: gPrefix: g Local (Array)Local (Array) Prefix: lPrefix: l (L)Parameter(L)Parameter Prefix: tPrefix: t Referenzen (?)Referenzen (?) (Prefix: o)(Prefix: o) Properties (?)Properties (?) (Prefix s.o.)(Prefix s.o.)
Wizards & Wizards & Builders GmbH Builders GmbH
Prozeduren und FunktionenProzeduren und Funktionen
DO <Prozedur> WITH <Parameter>DO <Prozedur> WITH <Parameter> PROCEDURE ... ENDPROC / RETURNPROCEDURE ... ENDPROC / RETURN
=Funktion( <Parameter> )=Funktion( <Parameter> ) FUNCTION ... ENDFUNC / RETURNFUNCTION ... ENDFUNC / RETURN
DECLARE DLL / Funktion( )DECLARE DLL / Funktion( ) RUN <Programm>RUN <Programm>
Wizards & Wizards & Builders GmbH Builders GmbH
ParameterübergabeParameterübergabe
PARAMETERS / LPARAMETERSPARAMETERS / LPARAMETERS bis zu 27 Parameter (ggf. Arrays)bis zu 27 Parameter (ggf. Arrays)
PCOUNT() statt PARAMETERS()PCOUNT() statt PARAMETERS() ASSERT <Bedingung> MESSAGE <>ASSERT <Bedingung> MESSAGE <>
Parameterübergabe Parameterübergabe Referenz/Wert/@Referenz/Wert/@
SET UDFPARMS TO REF/VALUESET UDFPARMS TO REF/VALUE
Wizards & Wizards & Builders GmbH Builders GmbH
SuchreihenfolgeSuchreihenfolge
Aktuelle ProgrammdateiAktuelle Programmdatei Aktuelle DatenbankprozedurdateiAktuelle Datenbankprozedurdatei Prozedurdateien (ggf. mehrere)Prozedurdateien (ggf. mehrere) Aufrufende ProgrammeAufrufende Programme Externe Programme (.APP, .FXP)Externe Programme (.APP, .FXP) Externer Quellcode (Externer Quellcode (SET DEVELOPMENTSET DEVELOPMENT))
Wizards & Wizards & Builders GmbH Builders GmbH
Verzweigungen und Verzweigungen und SchleifenSchleifen
IF ... ELSE ... ENDIFIF ... ELSE ... ENDIF Kurzform: IIF() (Immediate IF)Kurzform: IIF() (Immediate IF) DO CASE ... ENDCASEDO CASE ... ENDCASE
DO WHILE ... ENDDODO WHILE ... ENDDO FOR ... NEXT / ENDFORFOR ... NEXT / ENDFOR
Wizards & Wizards & Builders GmbH Builders GmbH
Verzweigungen und Verzweigungen und SchleifenSchleifen
SCAN ... ENDSCANSCAN ... ENDSCAN FOR EACH IN FOR EACH IN
<group><group> WITH ... ENDWITHWITH ... ENDWITH
Verlassen mit:Verlassen mit: EXITEXIT LOOPLOOP
Wizards & Wizards & Builders GmbH Builders GmbH
KonstantenKonstanten
#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-*# document UPPER (Doku-
Wizard!)Wizard!)
Wizards & Wizards & Builders GmbH Builders GmbH
MessageBox()MessageBox()
LPARAMETERS tcText, tcTitleLPARAMETERS tcText, tcTitle
#INCLUDE FoxPro.h#INCLUDE FoxPro.h
LOCAL lnSelected, lnDialogTypeLOCAL lnSelected, lnDialogType
lnSelected = 0lnSelected = 0 && nicht notwendig&& nicht notwendig
lnDialogType = ;lnDialogType = ;
MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2
lnSelected = MESSAGEBOX( tcText, lnDialogType, tcTitle )lnSelected = MESSAGEBOX( tcText, lnDialogType, tcTitle )
DO CASEDO CASE
CASE lnSelected = IDYESCASE lnSelected = IDYES
CASE lnSelected = IDNOCASE lnSelected = IDNO
ENDCASEENDCASE
Wizards & Wizards & Builders GmbH Builders GmbH
Vielen Dank!Vielen Dank!
Das waren die Themen:Das waren die Themen: Schreibweisen und Schreibweisen und
OperatorenOperatoren Variablen und Variablen und
NamenskonventionenNamenskonventionen Datenumwandlung, Datenumwandlung,
Stringmanipulation, ArraysStringmanipulation, Arrays Gültigkeitsbereiche und Gültigkeitsbereiche und
ProgrammaufrufeProgrammaufrufe Verzweigungen und Verzweigungen und
SchleifenSchleifen
Wizards & Wizards & Builders GmbH Builders GmbH
Wenn Fragen bestehen:Wenn Fragen bestehen:
Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-
Entwicklung GmbHEntwicklung GmbH
Frankfurter Str. 21bFrankfurter Str. 21b
61476 Kronberg61476 Kronberg
Tel.: 06173-950906Tel.: 06173-950906
Fax: 06173-950907Fax: 06173-950907
CIS: 101605,175CIS: 101605,175
Top Related