[borland c++] Array naar memo outputten

Pagina: 1
Acties:

  • Drazzic
  • Registratie: Juni 2001
  • Laatst online: 11-03-2025
Ik heb enkele waardes in een array (array_u) staan alleen het probleem is dat ik het niet kan outputten naar een memo veld, het lukt niet ik krijg alleen een waarde op de eerste regel:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::uitvoerknopClick(TObject *Sender)
{
int i=0;
int index=0;

 do
 {
  uitvoer->Lines->Strings[i] = array_u[index];
  index=index++;
  i=i++;
 }
 while(index<aantal);
}


dit had ik al geprogrammeerd omdat ik dacht dat het zo wel zou werken niet dus, als i eenmaal op 1 staat wordt er helemaal niks geoutput en maak ik er een vaste waarde 0 van dan output hij wel alles netjes op de eerste regel maar overschrijft hij het vorige ook niet wat ik moet hebben.

Weet iemand dus hoe ik waardes uit een array output naar de regels van een memo (bij mij heet de memo uitvoer) alvast bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Wat is aantal ? Wat is de waarde van aantal ?

Waarom gebruik je een do - while, en geen while do? Wat als er niets in die array staat?

Waarom gebruik je de Lines->Add() method niet om lijnen toe te voegen?

Waarom gebruik je zowel i als index?

Het zou dan iets als dit moeten worden:

code:
1
2
3
4
5
6
i = 0;
while( i < aantalElementenInArray )
{
    uitvoer->Lines->Add (array_u[i]);
    i++;
}

https://fgheysels.github.io/


  • Drazzic
  • Registratie: Juni 2001
  • Laatst online: 11-03-2025
whoami schreef op 09 maart 2004 @ 20:11:
Wat is aantal ? Wat is de waarde van aantal ?

Waarom gebruik je een do - while, en geen while do? Wat als er niets in die array staat?

Waarom gebruik je de Lines->Add() method niet om lijnen toe te voegen?

Waarom gebruik je zowel i als index?

Het zou dan iets als dit moeten worden:
Aantal is aantal gegevens dat ingevoerd zijn en dus ook het aantal gegevens dat in de array staan.

Er staat altijd iets in de array, dat staat vast.

Lines->Add() method hmm omdat ik die nog niet kende thanks die ga ik eens proberen.

zowel i als index is inderdaad overbodig, thanks!

Ik ga het nu proberen!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Drazzic schreef op 09 maart 2004 @ 20:15:
[...]


Aantal is aantal gegevens dat ingevoerd zijn en dus ook het aantal gegevens dat in de array staan.
Waar heb je aantal gedeclareerd? Is het een member-variable van je form?

https://fgheysels.github.io/


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21:44

Robtimus

me Robtimus no like you

De volgende regel overschrijft bij mij toch echt de eerste waarde:
C++:
1
    Memo1->Lines->Strings[0] = "bla";
Verder zijn niet zowel i als index overbodig; hoe wil je zonder gaan itereren over je array? 1 van beide is wel degelijk nodig.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Oja, nog iets.

Waarom doe je :
code:
1
i = i++;

en
code:
1
index = index++;


Als je dit doet:
code:
1
index++;

Gaat de huidige waarde van index met 1 verhoogd worden. Je hoeft hier niet te assignen.

https://fgheysels.github.io/


  • Drazzic
  • Registratie: Juni 2001
  • Laatst online: 11-03-2025
Klopt wat jullie zeggen, ik heb het al opgelost en het werkt, alleen nu als ik meerdere keren op de uitvoerknop drukt geeft hij die waardes gewoon er onder neer is er een functie die je memo kan "clearen" als het ware voordat hij er nieuwe waardes neer zet?

Verwijderd

Memo1.Clear();

dacht ik ieder geval, weer tijdje geleden dat ik borland builder heb gedaan

EDIT: zie whoami onder mij, dat is waarschijnlijk beter :)

[ Voor 99% gewijzigd door Verwijderd op 09-03-2004 20:33 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
kijk eens in de help die Borland C++ Bulider verschaft. Die is heel uitgebreid:

code:
1
TMemo->Lines->Clear();


Het is niet de bedoeling hier dat P&W die help gaat gaan vervangen, of de rol van die help overneemt.

Trouwens, ben je er wel zeker van dat je er altijd kunt van uitgaan dat die array niet leeg is? Wat als het toch eens leeg is ? Dan klapt je programma er zeker uit.

[ Voor 28% gewijzigd door whoami op 09-03-2004 20:33 ]

https://fgheysels.github.io/


  • Drazzic
  • Registratie: Juni 2001
  • Laatst online: 11-03-2025
whoami schreef op 09 maart 2004 @ 20:33:
kijk eens in de help die Borland C++ Bulider verschaft. Die is heel uitgebreid:

code:
1
TMemo->Lines->Clear();


Het is niet de bedoeling hier dat P&W die help gaat gaan vervangen, of de rol van die help overneemt.

Trouwens, ben je er wel zeker van dat je er altijd kunt van uitgaan dat die array niet leeg is? Wat als het toch eens leeg is ? Dan klapt je programma er zeker uit.
We moesten het programma opdelen in invoer/verwerking en uitvoer. Bij invoer worden enkele waardes ingevoerd en daar wordt ook op gecontroleerd als ze gewoon netjes invoer/verwerking/uitvoer afgaan hoort er iets in de array te staan. Maar ene kant als ze gelijk op uitvoer drukken vliegt hij er uit inderdaad, dus daar heb je wel gelijk in, ik denk dat ik daar ook even iets voor maak. bedankt alvast!

Ik heb even getest als er gelijk op de uitvoer wordt gedrukt dan gebeurd er niks en vliegt hij er ook niet uit want hij gaat het zovaak doen als er in het begin is ingevoerd en dat is nog niks dus pakt hij die while loop niet. Er staat trouwens outmatisch 0 in de array dus dan zou hij die outputten.

[ Voor 16% gewijzigd door Drazzic op 09-03-2004 20:43 ]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21:44

Robtimus

me Robtimus no like you

Drazzic schreef op 09 maart 2004 @ 20:36:
Ik heb even getest als er gelijk op de uitvoer wordt gedrukt dan gebeurd er niks en vliegt hij er ook niet uit want hij gaat het zovaak doen als er in het begin is ingevoerd en dat is nog niks dus pakt hij die while loop niet. Er staat trouwens outmatisch 0 in de array dus dan zou hij die outputten.
Met een do while wordt de body altijd minimaal 1x uitgevoerd omdat de controle pas na uitvoer gebeurt. Als je dus wilt dat het eventueel niet wordt uitgevoerd kun je toch beter voor een while do gaan.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Drazzic
  • Registratie: Juni 2001
  • Laatst online: 11-03-2025
IceManX schreef op 09 maart 2004 @ 20:49:
[...]
Met een do while wordt de body altijd minimaal 1x uitgevoerd omdat de controle pas na uitvoer gebeurt. Als je dus wilt dat het eventueel niet wordt uitgevoerd kun je toch beter voor een while do gaan.
Klopt ik heb het al opgedraaid! Thanks!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21:44

Robtimus

me Robtimus no like you

whoami schreef op 09 maart 2004 @ 20:11:
Waarom gebruik je een do - while, en geen while do? Wat als er niets in die array staat?
Ik ga niet alle eer opeisen ;)

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1