Hej! Hej! Hm, nu vet jag inte riktigt vad du menar, men första måste du byta till: Hej Oskar! I din doserings-klass, överlagra funktionen ToString(), returnera vad du vill att listan ska visa där. Eller skapa en ny wrapperklass som gör samma sak om du inte vill ändra på doserings-klassen Tack för svaret. Har försökt överlagra Tostring, med då skrivs det inga data alls i Listrutan medicindata har jag ingen aning om vad det är, och vad innebär det att det blir fel?Hur ska dessa kodblock skrivas?
Är det någon som har tips på hur man löser det här problemet.
'FrmMain.vb
Private Sub UpdateraListBox()
lstMedicindata.Items.Clear()
For i As Integer = 0 To Medicinlista.AddMedicinData - 1
' Komplitatorn klagar på att specificerade argument saknas.
lstMedicindata.Items.Add(Medicinlista.CloneMedicinData(i).ToString())
Next i
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
'lstMedicindata.Items.Add()
Try
Medicinlista.AddMedicinData(Me.txtMedicinNamn.Text, Me.txtSubstans.Text, CType(Input.GetInteger(txtAntalMilliLiter.Text)), CType(Input.GetInteger(Me.lstDosering.Text), Dosforeskrivning)))) ' End of statement expected
Dim Dos As Dosering = Medicinlista.CloneMedicinData(0)
UpdateraListBox()
Catch ex As Exception
End Try
End Sub
End Class
'--------------------------------------------------------------------
'MedicinPaminnareData.vb
Public Function AddMedicinData(ByVal MedicinNamn As String, ByVal Substans As String, _
ByVal Dostyp As SDostyp, ByVal Foreskrivn As Dosforeskrivning) As Integer
Dim Dos As Dosering = New Dosering(MedicinNamn, Substans, Dostyp, Foreskrivn)
Medicindata.Add(Dos)
Return Medicindata.Count - 1
End Function
' Komplitatorn klagar på att specificerade argument saknas.Sv:Hur ska dessa kodblock skrivas?
Tack försvaret
Jag vet men, vägledningen från debuggern kanske inte hjälper så mycket
'Error 6 End of statement expected.
'Error 5 Syntax error in cast operator; two arguments separated by comma are required. Sv: Hur ska dessa kodblock skrivas?
medicinlista.items.count/length (jag kommer inte ihåg om det är count eller length, testa)
Den andra så måste du lägga till en parameter till CType för vilken datatyp du vill omvandla till.Sv:Hur ska dessa kodblock skrivas?
Tack för tipset. Jag tror först att jag plockar bort de variabler som strular för att se om det fungerar med två argument.
//ThorwaldSv: Hur ska dessa kodblock skrivas?
Hej!
Jag skrev om datatyperna för dostyp och dosering till integer och då försvann kompileringsfelen, men
istället för det rätta värdet i listrutan står det Medcinpaminnaren.Dosforeskrivning.
Har du någon idé till hur det kan ha blivit så?
MVH
Thorwald
'frmMain.vb
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
'lstMedicindata.Items.Add()
Try
Medicinlista.AddMedicinData(Me.txtMedicinNamn.Text, Me.txtSubstans.Text, Input.GetInteger(Me.txtAntalTabletter.Text), _
Input.GetInteger(Me.txtAntalMilliLiter.Text), Input.GetInteger(Me.lstDosering.Text))
'Medicinlista.AddMedicinData(Me.txtMedicinNamn.Text, Me.txtSubstans.Text, CType(Input.GetInteger(txtAntalTabletter.Text)),CType(Input.GetInteger(txtAntalMilliLiter.Text)), CType(Input.GetInteger(Me.lstDosering.Text))
Dim Dos As Dosering = Medicinlista.CloneMedicinData(0)
UpdateraListBox()
'If Not (Me.lstMedicindata.Text = "") Then
Me.btnEdit.Visible = True
Me.btnDelete.Visible = True
'End If
Catch ex As Exception
End Try
End Sub
'MedicinPaminnerData.vb
Public Function AddMedicinData(ByVal MedicinNamn As String, ByVal Substans As String, _
ByVal Tabletter As Integer, ByVal Milliliter As Integer, ByVal Morgon As Integer) As Integer
'Public Function AddMedicinData(ByVal MedicinNamn As String, ByVal Substans As String, _
' ByVal Dostyp As SDostyp, ByVal Foreskrivn As Dosforeskrivning) As Integer
Dim Dos As Dosering = New Dosering(MedicinNamn, Substans, Tabletter, Milliliter, Morgon)
' Dim Dos As Dosering = New Dosering(MedicinNamn, Substans, Dostyp, Foreskrivn)
Medicindata.Add(Dos)
Return Medicindata.Count - 1
End Function
'Dosering.vb
Public Sub New(ByVal strMedicinNamn As String, ByVal strSubstans As String, _
ByVal intTabs As Integer, ByVal intMilliL As Integer, _
ByVal Morgon As Integer)
MyBase.New(strMedicinNamn, strSubstans)
Me.intTabletter = intTabs
Me.intMilliLiter = intMilliL
End SubSv:Hur ska dessa kodblock skrivas?
Sv: Hur ska dessa kodblock skrivas?
'Dosering.vb
Public Overrides Function ToString() As String
Return String.Format("{0,9} {1,-15} {2,8} {3, 8:f2} {4,14:f2}", _
Medicinnamn, Substans, Tabletter, Tid)
End Function
'MedicinPaminnareData.vb
Medicindata.Add(Dos) 'Felet uppstår här
Kollar man värdena finns de där, men visas alltså inte i listrutan.
Kanske ToString ska ha andra argument än de jag har angivt.
Har du någon idé som löser detta?
ThorwaldSv:Hur ska dessa kodblock skrivas?
ang. argument till tostring, den ska inte ta några argument så det stämmer. Däremot: string.format verkar vilja ha 5 parametrar att formattera, men jag ser bara 4?)