Wizards & Builders GmbH Grundbefehle von FoxPro Grundlagen der Programmierung mit Microsoft...

Preview:

Citation preview

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

Recommended