Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Borland] Welke control gebruiken om arrays weer te geven?

Pagina: 1
Acties:

  • hneel
  • Registratie: Maart 2001
  • Laatst online: 08:27

hneel

denkt er het zijne van

Topicstarter
Ik heb momenteel een applicatie welke gebruik maakt van een kleine lokale database om records weer te geven in een TDBGrid. So far so good.

Echter, ik wil misschien op termijn deze app publiek beschikbaar maken, en in dat geval is de huidige opzet niet zo handig omdat er dan een heleboel database spul ook meegeinstalleerd moet worden. En eigenlijk is die hele database die ik er nu voor gebruik overkill want er hoeft niks bewaard te worden. Bij het opstarten is de lijst leeg, en bij afsluiten wordt alles weer weg gegooid.

Ik zoek daarom een alternatief. Maar er is zoveel keus: TListBox, TListView, TStringGrid, enz... Ik zie door de bomen het bos niet meer, en eigenlijk lijken ze geen van allen op het eerste gezicht makkelijk in gebruik. Ik wil alleen maar records (bestaande uit 1 string en 2 floating points) adden en deleten. Wat is nou de handigste oplossing hiervoor?

  • fleppuhstein
  • Registratie: Januari 2002
  • Laatst online: 21-10 21:48
Doe het object georienteerd. Maak een class aan, die uit een string, en 2 floatingpoints bestaat. Vervolgens maak je een array an met die class als element. Kan je makkelijk verwijderen, aanpassen en toevoegen.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

van de alternatieven die je al opgenoemd hebt is TListView in vsReport is volgens mij het makkelijkste en ziet er het mooiste uit.

We adore chaos because we like to restore order - M.C. Escher


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:56

Janoz

Moderator Devschuur®

!litemod

De dingen die je daar opnoemt lijken me UI elementen. Het is over het algemeen gebruikelijker om een model te maken en deze dan als view aan te bieden aan je UI.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • The Fox NL
  • Registratie: Oktober 2004
  • Laatst online: 29-11 23:56
Maak gebruik van een TClientDataSet. Die kan je standalone gebruiken zonder database erachter, en je kan wel alle datacontrols etc. gebruiken.

Even je velden definieren met FieldDefs, indexen met IndexDefs, dataset creeren (rechtermuisknop op je component klikken). En daarna kun je je clientdataset instellen in je datasource. Dan hoef je niet zoveel aan je programma aan te passen.

Eventueel kan je de data dan nog opslaan naar schijf.

Verwijderd

Een ClientDataSet is een optie, dan kun je gewoon een DBGrid blijven gebruiken. Maar 't is wel een optie met een hoop onnodige overhead.
Met een simpele objectstructuur (een List met daarin objecten die een string en 2 doubles bevatten) en een StringGrid ben je er ook.
Wil je 't er wat fancier uit laten zien, dan zou je 's naar bv. 't QuantumGrid van DevExpress kunnen kijken, of je doet 't helemaal zelf en implementeert een OnDrawDataCell event handler op een DrawGrid.

(die laatste optie heeft mijn voorkeur... ;) )
Pagina: 1