22. april 2003 - 17:34Der er
11 kommentarer og 1 løsning
Sorter tabel
Hvis jeg gerne vil lave noget der minder om excel i Delphi, hvor man også har mulighed for at sortere de forskellige kolonner i prioriteret rækkefølge, hvad skal jeg så gøre ??
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Det kommer jo an på..... Hvis dine data ligger en TObjectList kan du jo kalde dens .sort metode med en parameter. Parameteren skal da være en rutine til at sortere listen, rutinen er en funktion der returnerer negativ hvis det ene element er mindst, positiv hvis det andet er mindst, og 0 hvis de er lige store. Hvis dine data ligger i et eller andet dataset, kan du oprette indexer på runtime.
jensfudge> Jeg er ikke helt med på hvad du mener......jeg har ikke arbejdet ret meget med tabeller og lister, så jeg er sådan set nybegynder inden for det område.....
Jeg er ikke rigtigt startet på mit program endnu, da jeg gerne lige vil have styr på det her med at sortere m.m. Men vi kunne jo sige at min tabel/array indeholder følgende data: 0 l 1 g 2 e 3 t 4 å 5 q 6 g 7 n 8 m 9 w
Findes der at komponent i delphi, hvor man kan taste ind i nogle celler ligesom i excel ??
Tja, så er Clientdatasets udelukket. Du har nu så vidt jeg kan se to valgmuligheder: 1) Opgradere din Delphi til en proffesionel version (mail mig direkte for et tilbud: jens.fudge@archersoft.dk) 2) Selv skrive en hulens masse kode: Principperne må være:
Benyt en TStringGrid som udgangspunkt, eller find et andet grid på internettet du kan benytte i stedet, idet TStringGrid har nogle begrænsninger. Griddet er kun til visning af data.
Bagved scenerne har du et object der symboliserer det du skal have vist, for eksempel har du hunde med navne:
Class TDog = class(Tobject) private FName : string; procedure setName(value:string); public property name : read FName; write setName : string; end;
Du skal også have dine objekter lagt ind i en liste, her kunne du benytte TObjectList, som er med i Delphi.
TObjectList har en generisk metode Sort, som tager en sorteringsprocedure med som parameter. Selve sorteringen skal du selv styre og implementere.
På Griddets onTitleClick (ved ikke om den findes på TStringGrid, ellers må du finde et grid der har denne event), kalder du din Sort med den procedure der sorterer efter præcis den kolonne som brugeren trykkede på.
Hvis du hverken kender til OOP, TObjectList, TStringGrid eller andre af de nævnte ting, vil jeg kraftigt anbefale dig at finde en god bog, og/eller deltage i et kursus. En bog jeg kan anbefale er Marco Cantu's Mastering Delphi. Det er et stort svin på omkring 1000 sider, og den er meget god. Jeg kan også tilbyde privat undervisning, jeg har erfaring med at undervise i Object Orienteret Programmering.
/Jens
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.