Label Text nach bestimten muster kürtzen

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Label Text nach bestimten muster kürtzen

    Ich fülle 4 Labels mit einer berechneten zahl mit:

    Visual Basic-Quellcode

    1. eai_3_1.Text = CDec(eai_2_1.Text * 1000)
    2. eai_3_2.Text = CDec(eai_2_2.Text * 1000)
    3. eai_3_3.Text = CDec(eai_2_3.Text * 1000)
    4. eai_3_4.Text = CDec(eai_2_4.Text * 1000)


    jetzt möchte ich gerne den Text der das Label ausgeht kürzen. Maximal soll nur eine nachkomma stelle möglich sein. Ich weiß jedoch nicht wie ich dies in einen Label umsetzen kann ._.
    Würde mich über Tipps freuen

    Lg Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Hab es schon selber geschft... zudem was soll mir Option STRICT ON dabei helfen? :D

    VB.NET-Quellcode

    1. eai_3_1.Text = CStr(Math.Round(CDec(CDbl(eai_2_1.Text) * 1000), 1))


    Lg Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Ruerte schrieb:

    Nutz ich aus bestimmten Gründen nur gelegentlich

    Na dann erzähl mal.

    Außerdem ist das was Du da machst sehr hässlich. Das sind alles Formen von CType, Du konvertierst 3 mal, was unnötig ist, da auch zum Beispiel mal ToString nutzen kannst. Dann schmeißt Du nur mit Datentypen so um Dich.
    Außerdem trennst Du nicht GUI und Daten. Ein Label dient außerdem NUR zur Anzeige und nicht zum irgendwas damit machen.

    "eai_3_1" ist 1. kein guidelinekonformer Name und 2. schlecht. Sag mir doch auswendig, was das genau macht.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Ruerte schrieb:

    Nutz ich aus bestimmten Gründen nur gelegentlich

    Na dann erzähl mal.

    VB.NET-Quellcode

    1. If e.Button = Windows.Forms.MouseButtons.Left Then
    2. Me.Location = e.Location - ptMouseDownLocation + Me.Location
    3. End If


    eai_3_1 = eai = Erreichbare Auflösung in 3 = Pixel 1 = Feld anzeige 1
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Hä, was soll mir das Codesnippet da sagen? Oo
    Und der Name ist trotzdem nicht konform, da 1. deutsch und 2. Unterstriche, alles klein etc. pp. Eher dann ​reachableResolutionFor3PixelsAnd1Field.
    Das wäre dann schon besser.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Hä, was soll mir das Codesnippet da sagen? Oo

    das ist der grund warum ich Option STRICT ON nicht durchgehend an habe sondern nur wenn ich was nachschauen will.

    Trade schrieb:

    trotzdem nicht konform, da 1. deutsch und...

    ist eh nur für den debug mode der später nicht mehr existieren wird :P die form wird daher eh bald komplett gelöscht, der rest ist eig sonst ordentlicher :D

    Lg Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ruerte“ ()

    Ruerte schrieb:

    zudem was soll mir Option STRICT ON dabei helfen?
    Hier werden Sie geholfen
    oder
    Hier werden Sie nicht geholfen.
    -----
    Was soll hier rauskommen?

    VB.NET-Quellcode

    1. eai_2_1.Text * 1000
    1000 Mal der Text?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:


    Was soll hier rauskommen?

    VB.NET-Quellcode

    1. eai_2_1.Text * 1000
    1000 Mal der Text?


    Nein, die Zahl in eai_2_1.Text wird * 1000 gerechnet. Zudem schon angepasst wie auch oben erwähnt!
    eai_3_1.Text = CDec(eai_2_1.Text * 1000) bzw. eai_3_1.Text = CStr(Math.Round(CDec(CDbl(eai_2_1.Text) * 1000), 1)) Und sag jetzt nicht ich soll .ToString nutzen... Weiß ich selber das es besser wäre :D
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Du schmeißt immer noch die Datentypen wild durcheinander und nutzt immer noch die CType-Formen.
    Warum wird der Text in einen Decimal(?) konvertiert und dann in nen String?
    Gut, das mit dem String, aber warum nutzt Du dann nicht 'ToString'? Das ist in allen Fällen besser. Warum sollte man auch was schlechteres nutzen?

    Was Du ändern solltest: Der TextBox-Name und dann mach das so: (Ich gebe Dir sogar ein Snippet)

    VB.NET-Quellcode

    1. Dim input As Double
    2. If Not Double.TryParse(Me.eai_3_1.Text, input) Then
    3. MessageBox.Show("Der Text ist keine korrekte Zahl. Da sollte man dann aber ein NumericUpDown verwenden, dann sparst Du Dir das alles!")
    4. End If
    5. Dim editedInput As Double = input * 1000
    6. Dim rounded As Double = Math.Round(editedInput, 1)
    7. Me.eai_3_1.Text = rounded.ToString()


    Und dann noch ein NumericUpDown und die TextBox umbenennen und alles ist gut. Oder war das ein Label?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Ruerte schrieb:

    in eai_2_1.Text
    steht ein String.
    String Mal Zahl kenne ich nicht.
    Also:
    Option Strict On.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!