Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vilken "datatyp" har operatorer?

Postades av 2007-04-27 16:27:34 - Fredrik Leufkens, i forum vb.net, Tråden har 2 Kommentarer och lästs av 862 personer

Jag skriver ett ganska simpelt program (en miniräknare).

Jag försöker så mycket som möjligt återanvända kod. Av den anledningen så undrar jag om det finns något sätt för kompilatorn att förstå att tex "+" är +.

Koden nu, för funktionen som skall räkna ut ett svar:

    Public Function ekv(ByVal strDisp) As String
        If kontrolleraDisp(strDisp) = 1 Then
            If _strCalcmeth = "+" Then
                _dblSvar = Convert.ToDouble(_strTalMinne) + Convert.ToDouble(strDisp)
            End If
            _strSvar = Convert.ToString(_dblSvar)
        Else
            _strSvar = "Detta vart inge bra"
        End If
        Return _strSvar
    End Function

Som det ser ut nu - så kommer det ju bli tvång att skriva en if-sats för varje räknesätt. Detta känns "onödigt" långt? Man tycker att det borde finnas ett sätt som gör att jag kan plocka in ett argument till funktionen vars innehåll är (det vet jag - kör någon form at try.. catch innan) en operator.

Eller?


Svara

Sv: Vilken "datatyp" har operatorer?

Postades av 2007-04-27 18:43:33 - Johan Djupmarker

Det där är inte helt enkelt att göra på "rätt sätt". En enkel work-around är att göra såhär: http://www.devx.com/vb2themax/Tip/18773

/Johan


Svara

Sv: Vilken "datatyp" har operatorer?

Postades av 2007-04-27 22:13:07 - Andreas Hillqvist

Delegates kanske kan vara intressant:

Public Class Form1

    Delegate Function Operation(ByVal Value1 As Double, ByVal Value2 As Double) As Double

    Private Function Addition(ByVal Value1 As Double, ByVal Value2 As Double) As Double
        Return Value1 + Value2
    End Function

    Private Function Subtraction(ByVal Value1 As Double, ByVal Value2 As Double) As Double
        Return Value1 - Value2
    End Function

    Private Function Multiplication(ByVal Value1 As Double, ByVal Value2 As Double) As Double
        Return Value1 * Value2
    End Function

    Private Function Division(ByVal Value1 As Double, ByVal Value2 As Double) As Double
        Return Value1 / Value2
    End Function

    Private Sub AdditionButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdditionButton.Click
        op = New Operation(AddressOf Addition)
    End Sub

    Private Sub SubtractionButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubtractionButton.Click
        op = New Operation(AddressOf Subtraction)
    End Sub

    Private Sub MultiplicationButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MultiplicationButton.Click
        op = New Operation(AddressOf Multiplication)
    End Sub

    Private Sub DivisionButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DivisionButton.Click
        op = New Operation(AddressOf Division)
    End Sub

    Private op As Operation
    Private memory As Double

    Private Sub EqualButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EqualButton.Click
        If Not op Is Nothing Then
            memory = op(memory, Double.Parse(NumberTextBox.Text))
            NumberTextBox.Text = memory.ToString()
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
636
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies