Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Delphi probleem

JaFO
13 antwoorden
  • Ik moet voor informatica een internet-cadeauwinkel maken met Delphi. Nu ben ik er al bijna klaar mee, maar ik wil wat extras doen.

    het handigste is om even dit bestandje te downloaden, waar alle benodigde dingen in staan van het project.

    Het probleem:
    Als je product A selecteerd uit de 'elektronica', en klikt op toevoegd, word deze gewoon aan het 'winkelmandje' toegevoegd. Maar als je dan product B wilt toevoegen uit 'elektronica', vervangt hij A met B.

    Hoe kan ik ervoor zorgen dat het winkelmandje dan A + B heeft staan?

    Daarbij komt nog, zodra je een product selecteert uit 'huishoud', word deze áchter de andere producten geplaatst, en niet op de volgende regel, ondanks dat ik maximale characters van het winkelmandje al heb ingesteld op 34.

    Kan iemand me hiermee helpen?

    Cheers, Sun-Tzu
  • Mijn roestige Delphi kennis zegt:
    [code:1:b3dff88c89]
    procedure TForm1.voegtoehuisnlClick(Sender: TObject);
    begin
    Winkelkar.Text := Winkelkar.Text + '
    ' + Huishoud.Text;
    huishoud.Visible := false;
    weg.Visible := true;
    aantal.Text := aantal.Text + ' en 1 huishoud ';
    end;
    [/code:1:b3dff88c89]

    Zie regel 3.

    Daar staat nu i.p.v. een spatie een newline. Nu komt het item op de volgende regel te staan, ik heb dit niet kunnen uittesten.
  • Ik heb het geprobeerd, maar het werkt niet. Heeft iemand anders nog ideen?
  • Voor de winkelkar gebruik je een TEdit, dit is volgens mij een single-line control, oftewel: er kan maar 1 regel tekst in staan. Jij hebt een TMemo nodig. Die kan meerdere regels tekst aan.

    Om iets toe te voegen, gebruik je dan:

    [code:1:23a8b1a0ae]procedure TForm1.voegtoehuisnlClick(Sender: TObject);
    begin
    Winkelkar.Lines.Add(Huishoud.Text);
    huishoud.Visible := false;
    weg.Visible := true;
    aantal.Text := aantal.Text + ' en 1 huishoud ';
    end;[/code:1:23a8b1a0ae]

    Om de tekst van je winkelkar uit te lezen, gebruik je dan Winkelkar.Lines waarbij i de regelnummer is (telling begint bij 0).
  • Bedankt! Dat werkt.

    Dan nu nog 2 laatste vraagjes:

    1. Hoe kan ik een 'output' hebben van hoeveel lines er zijn in die TMemo?
    2. Hoe kan ik de TMemo 'leeg' laten beginnen (hij is genaamd 'Winkelkar', maar hij zet nu ook al als line0 'Winkelkar' neer).
  • [quote:1d9d1ef4db="Sun-Tzu"]1. Hoe kan ik een 'output' hebben van hoeveel lines er zijn in die TMemo?[/quote:1d9d1ef4db]

    Met [i:1d9d1ef4db]Winkelkar.Lines.Count[/i:1d9d1ef4db]

    [quote:1d9d1ef4db="Sun-Tzu"]2. Hoe kan ik de TMemo 'leeg' laten beginnen (hij is genaamd 'Winkelkar', maar hij zet nu ook al als line0 'Winkelkar' neer).[/quote:1d9d1ef4db]

    [i:1d9d1ef4db]Winkelkar.Lines.Clear;[/i:1d9d1ef4db]
    of anders
    [i:1d9d1ef4db]Winkelkar.Text := '';[/i:1d9d1ef4db]
  • [quote:0d1aeb0242="Capone"][quote:0d1aeb0242="Sun-Tzu"]1. Hoe kan ik een 'output' hebben van hoeveel lines er zijn in die TMemo?[/quote:0d1aeb0242]

    Met [i:0d1aeb0242]Winkelkar.Lines.Count[/i:0d1aeb0242][/quote:0d1aeb0242]
    Hoe kan ik dit dan in een textveld krijgen? Zelf lukt het mij niet, ik gebruik gewoon een TEdit, en dan gebruik ik de code

    [code:1:0d1aeb0242]procedure TForm1.voegtoeeleknlClick(Sender: TObject);
    begin
    Winkelkar.Lines.Add(elektro.Text);
    aantal.Text := Winkelkar.Lines.Count;
    end;[/code:1:0d1aeb0242]
    Zo wordt dan (lijkt mij) de TEdit 'aantal' aangepast zodra je iets toevoegt aan het winkelkarretje.
  • [quote:c0f3fd7fba="Sun-Tzu"][code:1:c0f3fd7fba]procedure TForm1.voegtoeeleknlClick(Sender: TObject);
    begin
    Winkelkar.Lines.Add(elektro.Text);
    aantal.Text := Winkelkar.Lines.Count;
    end;[/code:1:c0f3fd7fba][/quote:c0f3fd7fba]
    IntToStr? Want die count levert een integer en die edit-box (aantal.Text) verwacht een string.
  • [quote:8e43fd20e4="SHARK"]
    IntToStr? Want die count levert een integer en die edit-box (aantal.Text) verwacht een string.[/quote:8e43fd20e4]

    Hoe doe ik dit dan? Ik ben nog vrij slecht met dit programma, we hebben vrijwel geen tijd gehad om deze 'taal' te leren, terwijl we vrijdag al de PO moeten inleveren.

    Ik heb wat ik tot nu toe heb geupdate, het staat hier. Hoe kan ik nu het aantal lines van het winkelkarretje in een TEdit oid terecht laten komen? Verder, moet het mogenlijk zijn om een line te verwijderen uit het winkelkarretje.
  • [quote:c6377710d0="Sun-Tzu"]Hoe doe ik dit dan? Ik ben nog vrij slecht met dit programma,[/quote:c6377710d0]

    Maar je kent Google, neem ik aan? :P Eerste link: http://www.delphibasics.co.uk/RTL.asp?Name=IntToStr

    Dat wordt dus:

    [code:1:c6377710d0]aantal.Text := IntToStr(Winkelkar.Lines.Count);[/code:1:c6377710d0]

    En om een regel te verwijderen:

    [code:1:c6377710d0]Winkelkar.Lines.Delete[x];[/code:1:c6377710d0] (Waarbij x de regelnummer is die verwijderd moet worden)
  • [quote:877414f1d0="Capone"]
    En om een regel te verwijderen:

    [code:1:877414f1d0]Winkelkar.Lines.Delete[x];[/code:1:877414f1d0] (Waarbij x de regelnummer is die verwijderd moet worden)[/quote:877414f1d0]
    Die had ik zelf ook wel gevonden, punt is dat een regel uit de TMemo geselecteerd moet kunnen worden, en deze verwijderd. Ik loop er nu al tegenaan dat ik in eerste instantie niet eens een regel kan selecteren met 1 muisklik.
  • [quote:8cb6485d57="Sun-Tzu"]Die had ik zelf ook wel gevonden, punt is dat een regel uit de TMemo geselecteerd moet kunnen worden, en deze verwijderd. Ik loop er nu al tegenaan dat ik in eerste instantie niet eens een regel kan selecteren met 1 muisklik.[/quote:8cb6485d57]
    Moet je dan wel een Memo hebben? Volgens mij ben je dan op zoek naar een ListBox (of Select ding, of hoe het ook mag heten).
  • [quote:311431ab03="SHARK"]
    Moet je dan wel een Memo hebben? Volgens mij ben je dan op zoek naar een ListBox (of Select ding, of hoe het ook mag heten).[/quote:311431ab03]
    Je hebt helemaal gelijk, dat is nu gelukt. EDIT: het is me ondertussen gelukt om items te kunnen verwijderen uit de lijst, bedankt!

    Dan heb ik nog 1 laatste vraag: Hoe kan ik elk 'product' uit de dropdownbox een 'prijs' geven, waardoor je een totaalprijs kan genereren?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.