home *** CD-ROM | disk | FTP | other *** search
- * -------------------------------------------------------- *
- * ADR_SUCH.PRG *
- * (c) 1989 H. Dohrmann & TOOLBOX *
- * -------------------------------------------------------- *
- CLEAR
- CLEAR ALL
-
- * Wichtige Einstellungen:
-
- LOAD CURSOFF
- CALL CURSOFF
- LOAD CURSON
- SET STATUS OFF
- SET SAFE ON
- SET INTE ON
- SET TALK OFF
- SET CONF ON
- SET SCORE ON
- SET ESCAPE OFF
-
- * Bildschirm-Aufbau:
-
- @ 1,0 TO 22,79 DOUBLE
-
- * Variablen-Definition und Eingabeschleife:
-
- VARTEXT = "SUCHNAME"
- VARNR = 1
- ZÄHLER = 1
- VAR_EIN = .T.
- DO WHILE VAR_EIN &&=========================
- VARZAHL = IIF(VARNR <= 9,"0"-STR(VARNR,1,0),STR(VARNR,2,0))
- EING_VAR = TRIM(VARTEXT-VARZAHL)
- &EING_VAR = SPACE(30)
-
- DO WHILE .T. &&-------------------------
- @ 3,8 SAY "Geben Sie den Namen Nr. " + VARZAHL + " ein: ";
- GET &EING_VAR
- CALL CURSON
- READ
- CALL CURSOFF
- SET COLOR TO W/N+
- @ 5,12 SAY "Richtig? <ESC> für Korrektur/ Weiter mit ;
- beliebiger Taste"
- I = 0
- DO WHILE I = 0
- I = INKEY()
- ENDDO
- IF I = 27 && falls Korrektur nötig
- SET COLOR TO W/N
- @ 3,5 CLEAR TO 21,78
- LOOP
- ELSE
- SET COLOR TO W/N
- IF LEN(TRIM(LTRIM(&EING_VAR))) = 0
- LOOP && bei Leereingabe
- ELSE
- EXIT
- ENDIF
- ENDIF
- ENDDO && .T. --------------------
-
- * Weitere Eingaben?
-
- WEITER = .T.
- @ 23,24 SAY "Weitere Eingaben ? < J / N > " GET WEITER;
- PICT "Y"
- READ
- @ 23,0
- @ 3,1 CLEAR TO 21,78
- IF WEITER
- VARNR = VARNR + 1 && Variablen-Zähler erhöhen
- IF VARNR = 100 && wenn Maximum überschritten
- CLEAR
- SET COLOR TO W/N+
- @ 22,10 SAY "Keine weiteren Eingaben möglich!;
- Weiter mit beliebiger Taste"
- WAIT ""
- SET COLOR TO W/N
- VAR_EIN = .F.
- EXIT
- ELSE
- ZÄHLER = ZÄHLER + 1 && Gesamtzähler erhöhen
- LOOP && und neuer Durchlauf
- ENDIF
-
- ELSE
- VAR_EIN = .F.
- EXIT && Eingabe beendet
- ENDIF
- ENDDO && VAR_EIN = .T. ==========
- CLEAR
-
- * Speicher-Variablen anzeigen:
-
- DISP MEMO
- WAIT
- CLEAR
-
- * Eingegebene Namen als Liste ausgeben in normaler Schrift:
-
- VARNR = 1
- ZEILE = 3
- SPALTE = 5
- DO WHILE VARNR <= ZÄHLER &&=========================
- VARZAHL = IIF(VARNR <= 9,"0"-STR(VARNR,1,0),STR(VARNR,2,0))
- EING_VAR = TRIM(VARTEXT-VARZAHL)
- &EING_VAR = TRIM(LTRIM(&EING_VAR))
- @ ZEILE,SPALTE SAY UPPER(SUBSTR(&EING_VAR,1,1));
- -LOWER(SUBSTR(&EING_VAR,2,(LEN(TRIM(LTRIM(&EING_VAR)))-1)))
- ZEILE = ZEILE + 1
- IF ZEILE = 21
- ZEILE = 3
- IF SPALTE = 55
- SPALTE = 5
- @ 23,0 TO 23,79
- WAIT SPACE(25) + "<Weiter mit beliebiger Taste>"
- CLEAR
- ELSE
- SPALTE = SPALTE + 25
- ENDIF
- ENDIF
- VARNR = VARNR + 1
- ENDDO &&=========================
- @ 22,0 TO 22,79
- WAIT SPACE(25) + "<Weiter mit beliebiger Taste>"
- CLEAR
-
- * -------------------------------------------------------- *
- * EVTL. ZWISCHENSPEICHERUNG (.MEM) ...
- * DANN RESTORE ...
- * VARTEXT = "SUCHNAME" ...
- * EVTL. ZÄHLER REKONSTRUIEREN ...
- * -------------------------------------------------------- *
-
- * SUCHEN DER EINGEGEBENEN NAMEN IN ADRESSEN.DBF:
-
- ZEILE = 3
- SPALTE = 5
- VARNR = 1
- USE ADRESSEN
- IF .NOT. FILE("UP_HNAME.NDX")
- INDEX ON UPPER(TRIM(LTRIM(NAME)) TO UP_HNAME
- ENDIF
- SET INDEX TO UP_HNAME
- DO WHILE VARNR <= ZÄHLER &&========================
- VARZAHL = IIF(VARNR <= 9,"0"-STR(VARNR,1,0),STR(VARNR,2,0))
- EING_VAR = TRIM(VARTEXT-VARZAHL)
- &EING_VAR = UPPER(TRIM(LTRIM(&EING_VAR)))
- SEEK &EING_VAR
-
- * Screen-Ausgabe in 8 Adreßblöcken pro Bildschirm:
- IF FOUND() && ++++++++++++++++++++++++
- GLEICHNAM = .T.
- DO WHILE GLEICHNAM &&-------------------------
- @ ZEILE,SPALTE SAY TRIM(LTRIM(VORNAME)) + " " + ;
- TRIM(LTRIM(NAME))
- @ ZEILE+1,SPALTE SAY TRIM(LTRIM(STRASSE))
- @ ZEILE+2,SPALTE SAY TRIM(LTRIM(ORT))
- @ ZEILE+3,SPALTE SAY TRIM(LTRIM(TELEFON))
- ZEILE = ZEILE+5
- IF ZEILE > 18
- ZEILE = 3
- IF SPALTE = 45
- SPALTE = 5
- @ 22,0 TO 22,79
- WAIT SPACE(18) + "<Weiter mit beliebiger;
- Taste für mehr...>"
- CLEAR
- ELSE
- SPALTE = SPALTE + 40
- ENDIF
- ENDIF
- SKIP
- SET EXACT ON
- IF &EING_VAR = UPPER(TRIM(LTRIM(NAME)))
- LOOP
- ELSE
- GLEICHNAM = .F.
- EXIT
- ENDIF
- SET EXACT OFF
- ENDDO && GLEICHNAM=.T.-----------
- ELSE && + + + + + + + + + + + +
- @ 22,0 TO 22,79
- WAIT SPACE(25) + "Name <" + &EING_VAR + "> nicht ;
- gefunden! "
- @ 22,0 CLEAR TO 24,79
- ENDIF && ++++++++++++++++++++++++
- VARNR = VARNR + 1
- ENDDO &&=========================
- @ 22,0 TO 22,79
- WAIT SPACE(26) + "<ENDE mit beliebiger Taste>"
- CLEAR
-
- * -------------------------------------------------------- *
- * EVTL. WEITERE VERARBEITUNG.....(Drucken, Labels, etc..)
- * -------------------------------------------------------- *
-
- * Set-Schalter zurücksetzen:
-
- SET ESCAPE ON
- SET TALK ON
- CALL CURSOFF
- CALL CURSON
- CLEAR ALL
- CLEAR
- RETURN
- * -------------- Ende von ADR_SUCH.PRG ------------------- *