Menukaart

Status
Niet open voor verdere reacties.
Ken je wel een andere site die hetzelfde doel heeft. Ofwat moet ik googlen?
 
Je zou misschien google translate kunnen gebruiken, persoonlijk zou ik proberen de engelse tutorials gewoon te volgen (of in ieder geval wanneer je de basis kent).
Video tutorials op youtube heb je wel kans op nederlands denk ik al moet je niet zomaar aannemen wat er daar wordt gedaan, er zit een hoop rommel tussen.
 
Voor het opslaan en laden van artikelen zonder database zou je ook iets als het volgende kunnen doen:

[cpp]
// Artikel.cs
[Serializable()]
public class Artikel : ListViewItem
{
public string Naam { get; }
public int Aantal { get; }
public double Prijs { get; }

public Artikel(string naam, int aantal, double prijs)
{
Naam = naam;
Aantal = aantal;
Prijs = prijs;
Text = naam;

SubItems.Add(aantal.ToString());
SubItems.Add(prijs.ToString());
}
}

// In je form/whatever
private List<Artikel> artikelen = new List<Artikel>();


public void ArtikelenOpslaan(string locatie)
{
try
{
using (Stream s = File.Open(locatie, FileMode.Create))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(s, artikelen);
}
}
catch (Exception)
{
// toon foutmelding
}
}

public void ArtikelenLaden(string locatie)
{
try
{
using (Stream s = File.Open(locatie, FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
artikelen = (List<Artikel>)bf.Deserialize(s);
}
}
catch (Exception)
{
// toon foutmelding
}
}

// haal artikelen op
// ...

listviewArtikelen.Items.AddRange(artikelen.ToArray());
[/cpp]

(niet getest, maar het zou gewoon moeten werken :p)
 
Is het mogelijk dat je alle knoppen (gerechten) op een panel zet en dan op een ander panel de volgende knoppen zet:
- voorgerechten
- hoofdgerechten
- nagerechten
- drank.
En dat als je op een van de bovenstaande knoppen aantikt het panel te voor schijn komt? Dus panel properties Invisible = true.

@bloodshed: Nog ff terugkomend op jouw voorbeeld. Ik ben er nu mee bezig om hem uit te werken ik heb alleen een paar vragen:
- wat heb je ingevoegd voor de producten en categorieën? Een panel?
- welke code moet je invoegen op de Verwijder Artikel-knop?
- hoezo is die rekenmachine?
- hoe wordt het subtotaal berekent?
 
Laatst bewerkt door een moderator:
Is het mogelijk dat je alle knoppen (gerechten) op een panel zet en dan op een ander panel de volgende knoppen zet:
- voorgerechten
- hoofdgerechten
- nagerechten
- drank.
En dat als je op een van de bovenstaande knoppen aantikt het panel te voor schijn komt? Dus panel properties Invisible = true.

Ja, maar dat wordt nogal rommelig. Een TabControl is beter ;)
 
- Hoe pas je de namen van een Tab aan?
- Is het mogelijk om een MsgBox te laten zien als je op Bediende Wijzigen klikt en dat er dan in de MsgBox een lijst met alle bediendes staat als knoppen?
 
Laatst bewerkt:
In het Properties venster > Tabpages > In het venster dat dan opkomt kun je de teksten aanpassen.
 
En vraag 2? Of moet ik daar linkje inzetten naar Form2?

Nog ff terugkomend op Bloodshed's voorbeeld. Ik ben er nu mee bezig om hem uit te werken ik heb alleen een paar vragen:
- welke code moet je invoegen op de Verwijder Artikel-knop?
- hoezo is die rekenmachine?
- hoe wordt het subtotaal berekent?
 
Laatst bewerkt door een moderator:
Welk stuk code de knop moet hebben ligt geheel aan hoe jij het hebt gemaakt.
Maak eens een klein test programma met een listview en een add/edit/delete functie om de werking van een listview onder de knie te krijgen.

Het numeriek gedeelte is om het ontvangen bedrag in te voeren. De afbeelding was maar een voorbeeld hoe het zou kunnen. Belangrijker is een goede opbouw van het programma te bedenken! (geen slecht idee om op papier te beginnen)

Het subtotaal wordt wederom berekend afhankelijk hoe je je programma maakt. Ik zou een lijst class maken voor producten toe te voegen en hierop een method maken die een subtotaal returned.
 
- Is het mogelijk om een MsgBox te laten zien als je op Bediende Wijzigen klikt en dat er dan in de MsgBox een lijst met alle bediendes staat als knoppen?

In de MsgBox (met die functie) kun je geen extra knoppen toe gaan voegen. Wel kun je zelf codematig een form genereren.
Als je wilt kan ik daar een voorbeeld van geven.
 
Graag

Hier paar foto's van hoe het er nu uit ziet:
Interactieve Menukaart.JPGBediende wijzigen.JPG
 
Laatst bewerkt door een moderator:
Klein voorbeeldje:
knipselvn.png

Download hier.

Bovendien is het mooier om dat venster niet zo achterlijk groot te maken :P
 
Dit is wat ik net wou schrijven, als je keuze van obers uit static buttons moet komen met je elke keer een nieuwe erbij komt het programma aanpassen, dit is dus op te lossen door bijvoorbeeld het voorbeeld hierboven.

Misschien krijg je ook wel wat inzicht in je design als je googled op wat voorbeelden

http://www.google.nl/search?q=cash+register+screen&oe=utf-8&rls=org.mozilla:nl:official&client=firefox-a&channel=np&um=1&ie=UTF-8&hl=nl&tbm=isch&source=og&sa=N&tab=wi&ei=3OqJT5zOCMOEOqrA2cMJ&biw=1680&bih=920&sei=3uqJT5nfAsqXOvzA8cQJ
 
Waarschijnlijk zal een ober uit meer dan alleen een naam bestaan en is iets als het onderstaande daarom een betere oplossing:

[cpp]
'Ober.vb (class)
Public Class Ober
Private _naam As String
'overige data die je van een ober wenst op te slaan

Public Property Naam() As String
Get
Return _naam
End Get
Set(ByVal value As String)
_naam = value
End Set
End Property
'rest van de properties voor het getten/setten van alle data

Public Sub New(ByVal naam As String)
_naam = naam
End Sub

Public Overrides Function ToString() As String 'deze string komt in de listbox te staan
Return Naam
End Function
End Class

'Form1.vb
Public Class Form1
Private huidigeOber As Ober

Private Sub btWissel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btWissel.Click
Dim obers As New List(Of Ober) From {New Ober("Jan"), New Ober("Piet"), New Ober("Klaas")}

Dim f2 As New Form2
f2.lbObers.Items.AddRange(obers.ToArray())
If f2.ShowDialog() = DialogResult.OK Then
huidigeOber = CType(f2.lbObers.SelectedItem, Ober)
Label1.Text = "Huidige ober: " & huidigeOber.Naam
End If
End Sub
End Class

'Form2.vb
Public Class Form2
Private Sub btSelecteer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSelecteer.Click
If lbObers.SelectedIndex <> -1 Then
Me.DialogResult = DialogResult.OK
Else
MsgBox("Geen ober geselecteerd!")
End If
End Sub

Private Sub btAnnuleer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAnnuleer.Click
Me.DialogResult = DialogResult.Cancel
End Sub
End Class
[/cpp]

Download: http://www.2shared.com/file/usf56vtE/VBHelpmijOber.html

(ik was te vroeg wakker en verveelde me :p)
 
Dankjewel JoZ1, hier kan ik wat mee.
@CoD_NL: Je kunt dan toch Dim Obers As String() = {"Piet", "Jan", "Jan-Piet", "Piet-Jan", "JoZ1", "Kerkrade"} aanpassen en achternaam erbij?
 
@CoD_NL: Je kunt dan toch Dim Obers As String() = {"Piet", "Jan", "Jan-Piet", "Piet-Jan", "JoZ1", "Kerkrade"} aanpassen en achternaam erbij?

Als je alleen de voor- en achternaam wilt hebben wel. Al wordt het dan wel weer lastiger om de voor- en achternaam te scheiden (een split op een spatie werkt bijvoorbeeld niet met achternamen als 'van der heijden'). Verder wil je wellicht ook nog zaken als een geboortedatum en het salaris van een ober bijhouden.
 
Wat bedoel je precies met 'hoe zet je overschrijven uit'?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan