Hallo alle zusammen,
kann mir irgend jemand mal weiter Helfen. Ich habe FoxPro 6. Diese Programm habe ich von meinem Vater so zusagen bekommen.
Es besteht eine Programm in der halt nach Namen gesucht werden soll.
Die jetztige Suchfunktion läuft wie folgt ab.
Man gibt in das Feld "Name" eine Buchstaben ein und es wird jeweils ein Name ausgegeben. Mit "J" bestätigt man und mit "n" springt man zum nächsten weiter.
Meine bitte wäre, ob es möglich ist ein Fenster zuöffnen in dem allen Namen die z.B. mit "A"anfangen, angezeigt werden.
Wenn ich dann auf eins von den drücke soll er mir wie gewohnt die zugehörigen Daten ausgeben.
Hier ist die jetztige Suchfunktion:
PROC KUSUCH
sele UNKunden
set COLOR to GR+/R,W+/B
@ 1, 0 say mPRG + " K U N D E N - S U C H E N " + mCPR
set COLOR to G/N
* @ 2, 0 clea to 22,84
do while TaJN # "J"
pKNam = space(20)
mKDNr = 0
fcode = 4
set COLOR to G/N,W+/B
@ KUZ,KUS say spac(40)
@ KUZ,KUS get pKNam PICT "!XXXXXXXXXXXXXXXXXXX"
READ COLOR W+/R,
@ 22,0 say spac(80)
if trim(pKNam) < space(2)
set COLOR to W+/R
@ 22,20 say " etwas sollten Sie schon angeben ! "
set COLOR to G
loop
endif
if isalpha(pKNam)
set order to NAME
seek trim(pKNam)
else
set order to KDNr
seek val(pKNam)
endif
if eof() .or. bof()
set COLOR to W+/R
@ KUZ,KUS Say " Bedaure, " + trim(pKNam) + " nicht vorhanden ! "
@ 22,10 say " soll " + trim(pKNam) + " neu aufgenommen werden ? "
zugel = "JNA"
TaJN = "?"
gMaske = 3 && Aufnehmen
do GLOBAL
if TaJN $ "AJ"
@ KUZ,KUS say spac(37)
@ 22,0 say spac(80)
save scre
do KUNEU
WAIT time 1
rest scre
@ KUZ,KUS say spac(35)
pKUZeig = alltrim(str(KDNr,5)) + " " + ;
substr(trim(VORNAME)+" "+ trim(NAME),1,32)
@ KUZ,KUS say alltrim(pKUZeig) Font "Arial",12
else
loop
endif
else
do WHILE TaJN # "J"
pKUZeig = alltrim(str(KDNr,5)) + " " + ;
substr(trim(UNKUNDEN->Vorname)+" "+trim(UNKUNDEN->Name),1,32)
pKUZeig = alltrim(pKUZeig)
set COLOR to W+/N
@ KUZ,KUS say spac(40)
if FI # "J"
mFi = "N"
mFirm = "privat"
mPr = "J"
else
mFi = "J"
mPr = "N"
mFirm = "Firma"
endif
set COLOR to R+/N
@ KUZ,KUS + 30 say mFirm Font "Arial",11
set color to W+/B
@ KUZ,KUS say pKUZeig Font "Arial",12
****
set COLOR to G/N
gmaske = 7
zugel = "EHJNZ"
do global
do case
case TaJN = "N"
skip
if eof()
skip -1
set COLOR to W+/R
@ 22,20 say " kein weiterer Kunde dahinter ! "
set COLOR to G
exit
endif
loop
case TaJN = "Z"
skip -1
if bof()
set COLOR to W+/R
@ 22,20 say " kein weiterer Kunde davor ! "
set COLOR to G
exit
endif
loop
endcase
enddo
endif
mKDNr = KDNr
mName = NAME
pName = alltrim(substr(trim(Vorname) +" "+ trim(Name),1,30))
pKNam = mName
pKUOrt = substr(trim(ORT) +" "+ trim(STRASSE),1,30)
mKUNUM = KUNUM
* mLiNum = LiNum
mZollNr = ZOLLNr
mKoDat = Kontaktdat
mKLand = alltr(Land)
mFi = FI
mEU = EU
set order to KDNr
enddo
RETURN
kann mir irgend jemand mal weiter Helfen. Ich habe FoxPro 6. Diese Programm habe ich von meinem Vater so zusagen bekommen.
Es besteht eine Programm in der halt nach Namen gesucht werden soll.
Die jetztige Suchfunktion läuft wie folgt ab.
Man gibt in das Feld "Name" eine Buchstaben ein und es wird jeweils ein Name ausgegeben. Mit "J" bestätigt man und mit "n" springt man zum nächsten weiter.
Meine bitte wäre, ob es möglich ist ein Fenster zuöffnen in dem allen Namen die z.B. mit "A"anfangen, angezeigt werden.
Wenn ich dann auf eins von den drücke soll er mir wie gewohnt die zugehörigen Daten ausgeben.
Hier ist die jetztige Suchfunktion:
PROC KUSUCH
sele UNKunden
set COLOR to GR+/R,W+/B
@ 1, 0 say mPRG + " K U N D E N - S U C H E N " + mCPR
set COLOR to G/N
* @ 2, 0 clea to 22,84
do while TaJN # "J"
pKNam = space(20)
mKDNr = 0
fcode = 4
set COLOR to G/N,W+/B
@ KUZ,KUS say spac(40)
@ KUZ,KUS get pKNam PICT "!XXXXXXXXXXXXXXXXXXX"
READ COLOR W+/R,
@ 22,0 say spac(80)
if trim(pKNam) < space(2)
set COLOR to W+/R
@ 22,20 say " etwas sollten Sie schon angeben ! "
set COLOR to G
loop
endif
if isalpha(pKNam)
set order to NAME
seek trim(pKNam)
else
set order to KDNr
seek val(pKNam)
endif
if eof() .or. bof()
set COLOR to W+/R
@ KUZ,KUS Say " Bedaure, " + trim(pKNam) + " nicht vorhanden ! "
@ 22,10 say " soll " + trim(pKNam) + " neu aufgenommen werden ? "
zugel = "JNA"
TaJN = "?"
gMaske = 3 && Aufnehmen
do GLOBAL
if TaJN $ "AJ"
@ KUZ,KUS say spac(37)
@ 22,0 say spac(80)
save scre
do KUNEU
WAIT time 1
rest scre
@ KUZ,KUS say spac(35)
pKUZeig = alltrim(str(KDNr,5)) + " " + ;
substr(trim(VORNAME)+" "+ trim(NAME),1,32)
@ KUZ,KUS say alltrim(pKUZeig) Font "Arial",12
else
loop
endif
else
do WHILE TaJN # "J"
pKUZeig = alltrim(str(KDNr,5)) + " " + ;
substr(trim(UNKUNDEN->Vorname)+" "+trim(UNKUNDEN->Name),1,32)
pKUZeig = alltrim(pKUZeig)
set COLOR to W+/N
@ KUZ,KUS say spac(40)
if FI # "J"
mFi = "N"
mFirm = "privat"
mPr = "J"
else
mFi = "J"
mPr = "N"
mFirm = "Firma"
endif
set COLOR to R+/N
@ KUZ,KUS + 30 say mFirm Font "Arial",11
set color to W+/B
@ KUZ,KUS say pKUZeig Font "Arial",12
****
set COLOR to G/N
gmaske = 7
zugel = "EHJNZ"
do global
do case
case TaJN = "N"
skip
if eof()
skip -1
set COLOR to W+/R
@ 22,20 say " kein weiterer Kunde dahinter ! "
set COLOR to G
exit
endif
loop
case TaJN = "Z"
skip -1
if bof()
set COLOR to W+/R
@ 22,20 say " kein weiterer Kunde davor ! "
set COLOR to G
exit
endif
loop
endcase
enddo
endif
mKDNr = KDNr
mName = NAME
pName = alltrim(substr(trim(Vorname) +" "+ trim(Name),1,30))
pKNam = mName
pKUOrt = substr(trim(ORT) +" "+ trim(STRASSE),1,30)
mKUNUM = KUNUM
* mLiNum = LiNum
mZollNr = ZOLLNr
mKoDat = Kontaktdat
mKLand = alltr(Land)
mFi = FI
mEU = EU
set order to KDNr
enddo
RETURN
Comment