DBF-Status zwischenspeichern/zurückholen (erledigt]
Moderator: Moderatoren
DBF-Status zwischenspeichern/zurückholen (erledigt]
Hallo
Hat einer eine kleine Routine um den gesamten DBF-Status zwischenzuspeichern (Array) und wieder zurückzuholen?
- Inderorder
- RecNo()
Bin vermutlich nur zu faul um nachzudenken...
Hat einer eine kleine Routine um den gesamten DBF-Status zwischenzuspeichern (Array) und wieder zurückzuholen?
- Inderorder
- RecNo()
Bin vermutlich nur zu faul um nachzudenken...
Zuletzt geändert von DelUser01 am Mi, 15. Nov 2017 0:24, insgesamt 1-mal geändert.
Re: DBF-Status zwischenspeichern/zurückholen
bin dahinter gekommen, warum das mit "normalen" Funktionen nicht geht, muss was eigenes machen...
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: DBF-Status zwischenspeichern/zurückholen (erledigt]
Hallo Roland,
ich schick Dir ein PN mit meiner Funktion die seit sehr vielen Jahre zuverlässig funktioniert
Grüße
Rudolf
ich schick Dir ein PN mit meiner Funktion die seit sehr vielen Jahre zuverlässig funktioniert
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2934
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: DBF-Status zwischenspeichern/zurückholen (erledigt]
Kannst du mir diese bitte auch senden ?
Viele Grüße
Wolfgang
Wolfgang
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: DBF-Status zwischenspeichern/zurückholen (erledigt]
Hallo Wolfgang,
hier nochmal für alle
Grüße
Rudolf
hier nochmal für alle
Grüße
Rudolf
Code: Alles auswählen
function savesel(cSel)
******************************************************************
local x,aRet := {},aWSL,cAlias,i
local cFilter,bFilter,akey,nOldOrder := 0
default cSel to ""
aWSL := workspacelist()
aadd(aRet,{ntrim(select()),alias(),recno(),indexord(),dc_setscope(0),dc_setscope(1),isshared()})
for x := 1 to len(aWSL)
cAlias := aWSL[x]
nOldOrder := (cAlias)->(indexord())
aKey := {}
FOR i:=1 TO (cAlias)->(OrdCount())
(cAlias)->(setorder(i))
AAdd( aKey,{i,(cAlias)->(dc_setscope(0)),(cAlias)->(dc_setscope(1))})
NEXT
(cAlias)->(setorder(nOldOrder))
aadd(aRet,{x,; // 1
cAlias,; // 2
(cAlias)->(recno()),; // 3
(cAlias)->(indexord()),; // 4
(cAlias)->(dc_setscope(0)),; // 5
(cAlias)->(dc_setscope(1)),; // 6
(cAlias)->(isshared()),; // 7
(cAlias)->(dbfilter()),; // 8
aKey}) // 9
next x
if !empty(cSel)
if sel(cSel)
return aRet
else
return NIL
endif
else
return aRet
endif
return NIL
function restsel(aSel)
******************************************************************
local x,y,lFound,cAlias,aWSL := workspacelist(),aKey,i
if aSel = NIL
return .t.
endif
for x := 1 to 255 // offene löschen
if !empty(alias(x))
lFound := .f.
for y := 2 to len(aSel)
if alias(x) = aSel[y,2]
lFound := .t.
exit
endif
next y
if !lFound
(alias(x))->(dbclosearea())
endif
endif
next x
for x := 2 to len(aSel)
cAlias := aSel[x,2]
if !dbused(cAlias) // wurde geschlossen
if !sel(cAlias,aSel[x,7])
//prot(cAlias + " Alias konnte nicht wieder geöffnet werden",addpath(al_path,"problem.log"))
select (aSel[1,1])
return .f.
endif
endif
aKey := aSel[x,9]
if dbused(cAlias)
for i := 1 to len(aKey)
(cAlias)->(setorder(aKey[i,1]))
(cAlias)->(dc_setscope(0,aKey[i,2]))
(cAlias)->(dc_setscope(1,aKey[i,3]))
next i
(cAlias)->(setorder(aSel[x,4]))
(cAlias)->(dbgoto(aSel[x,3]))
endif
next
select (aSel[1,1])
return .t.
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2934
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten: