home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
anwender
/
zephyr
/
zephyr4s.2
/
BEISPIEL.EXE
/
lha
/
SUCHEA.PRG
< prev
next >
Wrap
Text File
|
1991-02-07
|
5KB
|
178 lines
* SucheA.PRG
* Programm zur Eingabe und Suche von Begriffen
**************
SET TALK OFF
CLEAR
DO WHILE .T.
IF LEN(TRIM(GanzNeu)) = 0
DO Wahl
ELSE
Mbegriff = "Kunden-Nr."
ENDIF
DO Init
DO SuchEin
PRIVATE Msuchdbf,Msuch,Msuchtyp,Mbegriff,Meingabe
RETURN
ENDDO
*───────────────────────────────────────────────────────────────────────────────
PROCEDURE Wahl
******************
DEACTIVATE WINDOW ALL
CLEAR
@ 6,27 SAY "AUSWAHL DER SUCH-KRITERIEN"
DEFINE WINDOW SuchEin FROM 8,27TO 12,53 DOUBLE COLOR W+/N,N/GB,GR+/GB
ACTIVATE WINDOW SuchEin
DEFINE MENU WAHLMENU
DEFINE PAD PAD1 OF WAHLMENU PROMPT "Kunden-Nr." AT 1, 2
ON SELECTION PAD PAD1 OF WAHLMENU DO PadWahl
DEFINE PAD PAD2 OF WAHLMENU PROMPT "Auftrag-Nr." AT 1,13
ON SELECTION PAD PAD2 OF WAHLMENU DO PadWahl
ACTIVATE MENU WahlMenu
RETURN
*───────────────────────────────────────────────────────────────────────────────
PROCEDURE PadWahl
****************
** Hier werden den einzelnen Menü-Punkten (Pads) die entsprechenden
** Aktionen zugewiesen
DO CASE
CASE "PAD1" = PAD()
Mbegriff = "Kunden-Nr."
CASE "PAD2" = PAD()
Mbegriff = "Auftrag-Nr."
ENDCASE
SET MESSAGE TO
DEACTIVATE MENU
RETURN
*───────────────────────────────────────────────────────────────────────────────
**************
PROCEDURE Init
**************
* Prozedur zur Einstellung der Suchbegriffe - und Datei
DO CASE
CASE Mbegriff = "Kunden-Nr." && Wenn Suche von Kunden-Nr. gewählt wurde..
SELECT 1
USE ADRESSEN INDEX ADRESSEN ALIAS ADRESSEN
SET ORDER TO KDNR
Msuchdbf = "ADRESSEN"
Msuch = "KDNR"
Msuchtyp = "N"
Meingabe = SPACE( 5)
Mrelation = "KDNR"
SET FIELDS TO kdnr,name,ort
CASE Mbegriff = "Auftrag-Nr." && Wenn Suche von Auftr.Nr gewählt wurde...
SELECT 1
USE auftrag INDEX auftrag ALIAS auftrag
SET ORDER TO AUFUNI
Msuchdbf = "AUFTRAG"
Msuch = "AUFTRNR"
Msuchtyp = "N"
Meingabe = SPACE( 5)
Mrelation = "AUFTRNR"
SET FIELDS TO auftrnr,kdnr
ENDCASE
*───────────────────────────────────────────────────────────────────────────────
*****************
PROCEDURE SUCHEIN
*****************
DEACTIVATE WINDOW ALL
CLEAR
IF LEN(TRIM(Mbegriff)) = 0
RETURN TO MASTER
ENDIF
@ 6,25 SAY "EINGABE DES GESUCHTEN BEGRIFFES"
IF GanzNeu = "*"
?? CHR(7)
@ 14,20 SAY "BEI NEUEM AUFTRAG NUR KUNDEN-NUMMER MÖGLICH!"
ENDIF
LenE = len(Meingabe) + len(Mbegriff) + 15
IF LenE < len(Mbegriff) + 34
LenE = len(Mbegriff) + 34
ENDIF
Lstart = 40-(LenE/2)
Lende = Lstart + LenE
DEFINE WINDOW SuchEin FROM 8,Lstart TO 12,Lende DOUBLE COLOR W+/N,N/GB,GR+/GB
ACTIVATE WINDOW SuchEin
SELECT &MSuchDbf
Xeingabe = Meingabe
DO WHILE .T.
set exact off
Meingabe = Xeingabe
clear
@ 1,2 say Mbegriff + " eingeben:" get Meingabe MESSAGE "Liste:(Return) - Abbruch:(Esc)"
read
IF READKEY() = 12 .OR. READKEY() = 127
DEACTIVATE WINDOW ALL
RETURN TO MASTER
ENDIF
Meingabe = ltrim(trim(Meingabe))
IF Msuchtyp = "N"
Meingabe = val(Meingabe)
ENDIF
IF Meingabe = 0
GO TOP
ELSE
seek Meingabe
ENDIF
IF EOF()
clear
@ 1,2 say Mbegriff + " NICHT gefunden. - eine TASTE!"
DO WHILE INKEY() = 0
ENDDO
ELSE
Mrecno = RECNO()
EXIT
ENDIF
ENDDO
SET MESSAGE TO "Blättern:(" + CHR(24) + CHR(25) + ") - Bestätigen:(Esc)"
DEACTIVATE WINDOW ALL
DEFINE WINDOW Brow FROM 1,50 TO 20,79 DOUBLE COLOR W+/N,N/GB,GR+/GB
ACTIVATE WINDOW Brow
BROWSE NOEDIT NOMENU NOAPPEND NOCLEAR
SET FIELDS TO
MMwst = mwst
MkdNr = kdnr
X_KdNr = kdnr
Mrecno = RECNO()
RelFeld = &Mrelation.
IF Mbegriff = "Auftrag-Nr."
MAuftrNr = auftrnr
ENDIF
SET FIELDS TO
IF LEN(TRIM(GanzNeu)) = 0
IF ALIAS() # "AUFTRAG"
SELECT 9
USE AUFTRAG INDEX Auftrag ALIAS AUFTRAG
ENDIF
SELECT AUFTRAG
SET ORDER TO KdNr
SEEK MkdNr
IF Mbegriff = "Auftrag-Nr."
LOCATE NEXT 100 FOR auftrnr = MAuftrNr
ENDIF
IF .NOT. FOUND()
GanzNeu = "*"
ELSE
SET ORDER TO KdnrAuf
DEFINE WINDOW AufBrow FROM 1,20 TO 20,49 COLOR W+/N,N/GB,GR+/GB
ACTIVATE WINDOW AufBrow
BROWSE FIELDS kdnr,auftrnr,auftrdat NOEDIT NOMENU NOAPPEND NOCLEAR
X_Kdnr = kdnr
X_AuftrNr = auftrnr
ENDIF
USE
ENDIF
SET FIELDS TO
DEACTIVATE WINDOW ALL
CLEAR
RETURN