script linken aan code

Status
Niet open voor verdere reacties.

AntonioTM

Gebruiker
Lid geworden
26 nov 2011
Berichten
83
Hee allemaal.
Ik maak een kassa systeem en maak gebruik van een Listbox

Vraag 1:
Wanneer een product 2 x word besteld, dat hij in de prijs listbox bij elkaar word opgeteld en het cijfer van het aantal keer het product.

Vraag 2:
Als ik een Form heb met het totale omzet te berekenen en het totale omzet staat in een label.
Hoe sla ik alleen dit getal met het euroteken ervoor in een tekstbestand met als naam, de datum. (Automatisch na het drukken op de Bereken Button)

Vraag 3:
Als het Form met het het totale omzet van de hele dag per ongeluk geopend wordt en gesloten zijn alle bedragen die gemaakt zijn weg.
Hoe zorg ik ervoor dat als je het weer sluit, het toch in blijft staan?

Vraag4 (de laatste):
Als ik een hele script heb gemaakt. en ik wil dit script in hetzelfde form aan een veel andere buttons geven,
wil ik dit kunnen doen (Want het is mogelijk) zonder te kopieren.
Kan ik niet het stukje script een soort van "Naam" geven

Het script is:

If ListBox1.Items.Count = 0 Then
MsgBox("Er zijn geen bedragen om te berekenen.", 0, "Error")
Exit Sub
End If
Dim totaal As Double = 0
For Each prijs As String In ListBox1.Items
totaal += CDbl(prijs.TrimStart(""))
Next
TextBox1.Text = ("€") & totaal.ToString
Label2.Text = TextBox1.Text


Dat was alles :)
Dankjewel allemaal alvast.

Groetjes,
AntonioTM
 
Laatst bewerkt:
Hoi,

Kan je hier niet beter een listview voor gebruiken? Dan maak je daarin gewoon 3 kolommen; Bestelling, Aantal en Prijs. Dat ziet er netter uit.

Dan over de vragen:
Vraag1:
Hoe je dit wil doen hangt er helemaal vanaf hoe je het in de listbox (of listview) zet.

Vraag2:
Je kan zo een bestand aanmaken en iets erin wegschrijven:
[CPP]Dim stream As New IO.FileStream(Now.Day & "/" & Now.Month & "/" & Now.Year & ".txt", IO.FileMode.Create)
Dim writer As New IO.StreamWriter(stream)
writer.Write("€" & Label.Text)
writer.Close()
stream.Close()[/CPP]

Vraag3:
Bij de formclosing event alles opslaan en daarna bij het openen weer uitlezen. Dat kan je zelf doen met de bovenstaande code in een textbestand, je kan het hiermee doen: http://www.helpmij.nl/forum/showthread.php/633161-Configuratiebestanden-VB-NET of je kan de settings gebruiken.

Vraag4:
Je kan het in een sub of een functie zetten. Het hangt af van wat je wil doen voor welke het handigst is.
Sub: http://msdn.microsoft.com/en-us/library/dz1z94ha.aspx
Function: http://msdn.microsoft.com/en-us/library/sect4ck6.aspx

Ik hoop dat je hier wat mee kunt, maar anders moet je toch iets meer van je code posten, of het iets beter/uitgebreider uitleggen. Dit is te weinig voor gedetailleerde antwoorden :confused:

Succes!
MartinJM
 
Vraag1reply:
Ik gebruik liever 2 listboxen, 1 voor het product, en 1 voor het bedrag. Dan is het berekenen makkelijker.
Ik heb daarom gewoon op een button dit:
ListBox1.Items.Add("Koffie")
ListBox2.Items.Add("€1,60")

Vraag2reply:
Op welke locatie word het dan opgeslagen? Want ik zie nergens een locatie erbij staan. (Dit geeft ook een Error)

Kan een gedeelte van het pad C:\Documents and Settings\Marc\Bureaublad\vb\menu\menu\bin\Debug\15\8\2012.txt niet vinden.

Hij wil blijkbaar geen file createn?

Vraag3reply:OPGELOST
Is het mogelijk om niet met ini-files te werken? Is er niet een mogelijkheid om in het script

EDIT: Het is al gelukt! Heb gewoon een button bijgemaakt met Me.Hide(). Dus het word gewoon een soort van "Opgeslagen"

Vraag4reply: OPGELOST
Laat maar zitten deze vraag, is alleen moeilijk doen voor niets. Haha!

Dankjewel voor je reactie. En wanneer ik het hele programma zelf even moet sturen hoor ik het graag. Want aangezien dit nogwel gekopieerd kan worden vind ik het fijner het persoonlijk te sturen.
 
Laatst bewerkt:
Hoi,

Ik had er inderdaad nergens een locatie bij gezet, dat was ik vergeten.

Maar ik heb even een voorbeeldproject gemaakt: screen.t15.org/ScriptLinkenAanCode/VoorbeeldKassaProject.zip Ik kon het niet uploaden op helpmij.nl omdat het iets te groot was, dus ik heb het even op mijn eigen site gezet.

MartinJM

PS: In het voorbeeld project zit het opslaan niet. Als het voor een restaurant is, dan is het niet echt handig omdat je niet meerdere tafels erin hebt.
 
Het is gewoon voor een Snackbar, zonder tafels die bezorgd moeten worden. Vind je het erg als ik het Bereken gedeelde kopieer van het Geld gegeven en het geld terug geven?
Als het opslaan gedaan moet worden. Waar moet de locatie staan in het script?

AntonioTM
 
Van mij mag je het kopiëren, maar daar heb je niet echt veel aan als je het niet begrijpt. Dus als je vragen erover hebt, vraag maar raak.

[CPP]Dim stream As New IO.FileStream("Locatie/met/bestandsnaam.extensie", IO.FileMode.Create)
Dim writer As New IO.StreamWriter(stream)
writer.Write("€" & Label.Text)
writer.Close()
stream.Close()[/CPP]

Succes!
MartinJM
 
Dankjewel Martin :)
Je hebt me flink geholpen!
Alleen heb ik nog geen idee hoe ik dubbele producten kan registreren in een ListBox.
Want met een Listview werken vind ik niet fijn en het staat niet bij mijn desing.
Wanneer het af is zal ik hem wel even opsturen. Misschien leuk om te weten hoe het is geworden als je wilt?

Trouwens, hoe wil ik nu Datum als bestandsnaam doen?? Sorry, mijn kennis van VB is niet heel goed. op schaal van 1 tot 10 een 3.
Dankje!

AntonioTM
 
Laatst bewerkt:
Pff Probleempje weer.
Ik werk in Visual Basic 2010.
En krijg deze waarschuwing:
Error.GIF
=(
Hoe fix ik dit?
 
Dim stream As New IO.FileStream("c:/omzet/omzet.txt", IO.FileMode.Create)
Zou hem toch moeten aanmaken?
 
Die code maakt alleen het bestand aan. Eigenlijk zou je altijd moeten controleren of de map wel bestaat en eventueel aanmaken:
[CPP]If Not My.Computer.FileSystem.DirectoryExists("PATH") Then
My.Computer.FileSystem.CreateDirectory("PATH")
''//bestand aanmaken.
ElseIf Not My.Computer.FileSystem.FileExists("Path/Naam.extensie") Then
''//bestand aanmaken.
Else
''//bestand uitlezen en aan het eind een regel toevoegen.
End If[/CPP]
En dan controleer je natuurlijk ook gelijk of het bestand al bestaat om een regel toe te voegen. De code die jij nu hebt leegt het bestand als het al bestaat. Als dat niet is wat je wil, moeten we nog even door :)


MartinJM
 
Als je op skype komt kunnen we er even makkelijker naar kijken. Ik heb je al een verzoek gestuurd. :)
Hoe doe ik dan dat de lijn erbij word geschreven? en niet word verwijderd en geplaatst? Dat het niet word geleegd.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan