procedure TForm1.InitializeForm; begin inherited; // this is a good place to initialize components MyGrid := TW3Grid.Create(Self); MyGrid.Visible := True; Mygrid.Top := 20; Mygrid.Left := 20; MyGrid.HeaderHeight := 26; MyGrid.RowHeight := 24; end;
Paul van der Ven
Iedere zichzelf respecterende NLDelphi bezoeker heeft natuurlijk het artikel van Jos Visser gelezen over het maken van een TDataset afgeleide, de TbigInifileDataset. In dat artikel laat Jos zien hoe een ini-bestand te gebruiken is met behulp van een TDataset-afgeleide.
...Albert de Weerd
Bijna elke applicatie gebruikt het beeldscherm om de gegevens die worden gemanipuleerd weer te geven. Dit artikel legt de beginselen van zelf tekenen in Delphi uit. Als basis voor de materie wordt eerst het hoe en waarom uitgelegd van schermopbouw en tekenen in het algemeen. Daarna volgt een beschrijving en uitleg van een eenvoudig programma waarin enkele veel voorkomende tekenopdrachten centraal staan.
...Marcel van Beuzekom
Een query gebruik je per definitie om gegevens op te halen. Maar na het ophalen wil
de gebruiker de data ook manipuleren. De gebruiker wil de data in een lijst zien die hij
snel kan sorteren op verschillende kolommen, en uiteraard wil hij de data ook wijzigen.
Een query component is hiervoor al snel te beperkt. Een query is readonly en om de
data te sorteren moet de query opnieuw worden uitgevoerd, met een trage performance als
gevolg.
De BDE en later ook Interbase Express gaven ons al mogelijkheden om met een query
ook data te wijzigen, maar deze oplossingen zijn geen van allen perfect. Een BDE live
query is alleen te gebruiken zolang er geen join wordt gebruikt en is bovendien vrij
traag, BDE cached updates maken tijdelijke Paradox bestanden aan waarin de data wordt
opgeslagen (in het ergste geval op het netwerk!) en Interbase Express Cached updates biedt
weer geen algemene oplossing voor alle databases. De ClientDataSet biedt de mogelijkheid
om data op te halen, sorteren, wijzigen en weer terug op de server op te slaan.
ClientDataSet
ClientDataSet is een component, gemaakt voor het bekijken en wijzigen van data in het
geheugen. Omdat ClientDataSet erft van TDataSet, heeft het component alle
mogelijkheden die een gewone dataset ook heeft: bladeren in data, zoeken, data wijzigen en
alle data-aware componenten gebruiken. Maar ClientDataSet heeft ook verschillende
mogelijkheden om data te sorteren en te groeperen. Omdat zowel het zoeken als het sorteren
allemaal in het geheugen gebeurt is het razendsnel. Pas als de wijzigingen weer moeten
worden opgeslagen hebben we een server of schijf nodig.
Dat opslaan kan de ClientDataSet zelf, maar in zeer beperkte mate. Het opslaan is
alleen mogelijk in één bestand en dat bestand wordt ook altijd helemaal opgeslagen .
Zelfs als je maar één regel hebt gewijzigd wordt dus het hele bestand opgeslagen. Ook
het inlezen gebeurt weer met het hele bestand. Los van de performance is dit ook niet
gewenst in een multi-user omgeving, er kan immers maar één gebruiker tegelijk met het
bestand werken. Toch is ClientDataSet juist voor een multi-user omgeving gemaakt. Voor het
inlezen en opslaan van de data heeft hij alleen een tweede component nodig: een
DataSetProvider.
DataSetprovider
Een DataSetProvider is eigenlijk niets meer dan een doorgeefluik tussen een
ClientDataSet en een 'echte' dataset, bijvoorbeeld een Query. De DataSetProvider laat de
data ophalen door de Query, vat deze data samen in een pakketje en stuurt dat pakketje
naar de ClientDataSet.
Inlezen data van een database naar een ClientDataSet
Desiree Willemsen
Naar aanleiding van al vele voorbeelden op het forum over het gebruik van parameters in een query heb ik het besluit genomen er een artikel over te schrijven. Hierin wordt uitgelegd, wat parameters zijn en hoe je ze kunt gebruiken. Om het makkelijk te maken zal ik er uiteraard ook een voorbeeld bij maken.Ik hoop ook dat er gebruik van gemaakt gaat worden, aangezien het veel speurwerk kan besparen.
...L.S.
Hoe maak je van alle Hoofdletters kleine letters. Dus ABCD naar abcd
TCharFormat staat in RichEdit.Pas; SES_LOWERCASE staat
Je doet daar een SelStart - 1. Maar op moment van KeyDown is de Key nog niet verwerkt in de RMemo1.
Dus je doet dan 1 character te weinig (resulterend
Hallo,
Wat ik wil dat het eerste karakter van een woord een hoofdletter is. Er zijn twee problemen :
Ja, wat versta je onder breedte en lengte? A4 is 21,0 bij 29,7 cm (maar ja, daar heb je natuurlijk weinig aan )
Ik heb in mijn programma
Ook een beetje houtje-touwtje, maar je zou het Format in moeten kunnen stellen op een lege string of een spatie als er geen waarde is.
Dat betekent
Hoofdletters naar kleine letters in RichMemo
Je hebt een procedure. Wat is er mis mee?
GolezTrol Today, 12:39