das sortiert mir das "M" nach oben
Code: Alles auswählen
aSort := ASORT( aFelder,,, {|c1,c2| IF(c1[DBS_TYPE]="M",.T.,.F.) } )
Code: Alles auswählen
aSort := ASORT( aFelder,,, {|c1,c2| IF(c1[DBS_TYPE]="M",.F.,.T.) } )
hier mal Test Code, DBF wird erstellt
Code: Alles auswählen
#include "Dbstruct.ch"
PROCEDURE MAIN
LOCAL aStru
if !file("MEMODBF.DBF")
C_MEMODBF("MEMODBF.DBF")
endif
use MEMODBF
aStru := DbStruct()
msgbox(VAR2CHAR(aStru),"original")
// "M" ans Ende
// sonstige Reihen folge nicht verändern
ASORT(aStru,,, {|x,y| x[DBS_TYPE] <> "M" })
// soll werden :
// C N D L
// Notiz1 - Notiz4
msgbox(VAR2CHAR(aStru),"<>")
RETURN
FUNCTION C_MEMODBF(datei,alias,id)
LOCAL p,field_list:={}
if valtype(datei)!="C"
datei="MEMODBF.DBF"
endif
if valtype(alias)!="C"
p=at(".",datei)
alias=if(p>0,substr(datei,1,p-1),datei)
endif
if valtype(id)!="N"
id=0
endif
select (id)
if !file(datei)
aadd(field_list,{"TEST" ,"C",10,0})
aadd(field_list,{"NOTIZ1","M",10,0})
aadd(field_list,{"NUM" ,"N",10,0})
aadd(field_list,{"NOTIZ2","M",10,0})
aadd(field_list,{"DATUM" ,"D" ,8,0})
aadd(field_list,{"NOTIZ3","M",10,0})
aadd(field_list,{"LOGIK" ,"L", 1,0})
aadd(field_list,{"NOTIZ4","M",10,0})
dbcreate(datei,field_list)
endif
RETURN(.t.)