anoniem Geplaatst: 9 juni 2004 Delen Geplaatst: 9 juni 2004 Hoi mensen, ik ben bezig met het schrijven van een kassaprogramma voor een restaurant. (m.b.v. Dev-Pascal 1.9 en Turbo-Pascal 5.5 Wanneer het programma wordt opgestart moet er een bonnenbestand worden aangemaakt. Graag zou ik willen dat de actuele datum in de bestandsnaam wordt geplaatst. Dit is wat ik heb: (onderstaande code is niet het gehele programma maar alleen maar ff om te testen:) [code:1:0938d0d029] program test; uses crt, dos; const pad='c:\'; ext='.dat'; Var f: file of integer; thedate:datetime; procedure ShowDate; var w:word; begin with thedate do begin GetDate(year, month, day, w); end; end; begin assign (f, pad+thedate+ext); rewrite (f); end. [/code:1:0938d0d029] Wanneer ik probeer te compileren krijg ik de volgende foutmelding: assign (f, pad+thedate+ext); ----> 19 / 16 test.pas Error: Operator is not overloaded Weet iemand wat dit betekent en hoe het verholpen kan worden? b.v.d :evil: MajinBuu :evil: Quote Link naar reactie
anoniem Geplaatst: 9 juni 2004 Auteur Delen Geplaatst: 9 juni 2004 assign (f, pad+thedate+ext); pad en ext zijn strings maar thedate is datetime,daarmoet je ook eerst een string van maken. wimb Quote Link naar reactie
anoniem Geplaatst: 9 juni 2004 Auteur Delen Geplaatst: 9 juni 2004 Misschien een domme vraag, maar hoe doe ik dit? Bestaat er een bepaalde functie voor? b.v.d. Quote Link naar reactie
anoniem Geplaatst: 9 juni 2004 Auteur Delen Geplaatst: 9 juni 2004 Ik dacht van: DateToStr. Kijk eens in de help of dat klopt wimb Quote Link naar reactie
anoniem Geplaatst: 10 juni 2004 Auteur Delen Geplaatst: 10 juni 2004 [quote:51e2906b90="MajinBuu"] Weet iemand wat dit betekent ... [/quote:51e2906b90] Zoek maar eens op function overloading. Dit houdt kort gezegd in dat je functies met dezelfde naam andere argument kan meegeven. En afhankelijk van wat voor type argument je meegeeft wordt de functie uitgevoerd. Voorbeeld: [code:1:51e2906b90] void getal(int x) { // Voer dit uit als x van het type int(eger) is } void getal(float x) { // Voer dit uit als x van het type float is } [/code:1:51e2906b90] getal( 8 ) levert dus een ander resultaat dan getal(8.0) Wat er bij jou dus verkeerd gaat is dat je een verkeerd type argument aan de functie meegeeft. En omdat deze geen overloading 'ondersteunt' krijg je deze fout melding. MVGR, René[/quote] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen