Bitcoin Rechner (werte zuordnen)

  • VB.NET
  • .NET 4.5

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Bitcoin Rechner (werte zuordnen)

    Liebes Forum,

    Da ich neu hier bin kann es sein das mein Thema im falschen Bereich landet oder schon mal gestellt wurde.

    Es geht um folgendes Anliegen.

    Ich würde mir gerne einen Bitcoin Rechner selber erstellen.
    Dafür muss ich einem bestimmten Betrag wie zum Bespiel 0.00000001 BTC ja einem anderen Wert ($) zuordnen und in Zusammenhang bringen.
    Ich weiß das der BTC Wert nicht konstant ist, dachte es wäre aber dennoch eine lustige Idee.
    Bis jetzt habe ich jedem BTC Betrag manuell selber einen Wert zugeordnet, aber gibt es eine Möglichkeit mit VB diesen Vorgang abzukürzen und beide Werte konstant steigen und fallen zu lassen? ?(
    Ich würde hier ja den Rest meines Lebens sitzen um alles einzeln einzugeben ( bin mittlerweile bei knapp 200.00 Zeilen, an Faulheit liegt es wirklich nicht. Das Program bleibt mittlerweile sogar hängen weil es zu viele If-Anfragen sind) ||

    Habe das bis jetzt so gemacht und Frage mich wie man Label2 schneller einfügen kann oder den Weg umgeht.

    If Label1.Text = “1000“ Then Label2.Text = “0.00001000“




    Ich würde mich sehr über Hilfe, Ratschläge und Tipps freuen.
    evtl. hilft dir dabei:

    VB.NET-Quellcode

    1. String.Format("{0:d9}", 1000)

    also anstatt von :

    VB.NET-Quellcode

    1. If Label1.Text = “1000“ Then Label2.Text = “0.00001000“


    VB.NET-Quellcode

    1. Label1.Text =String.Format("{0:d9}", 1000)


    die 1000 stellte dabei deine Zahl da , {0:d9} formatiert zu einer 9 stelligen Zahl und füllt alles bis zu deiner Zahl mit 0 auf

    Greets
    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „asusdk“ ()

    Du musst doch einfach nur den Bitcoin Betrag umrechnen in eine andere Währung. Oder umgekehrt. Hierzu musst du den Umrechnungsfaktor kennen. Diesen kannst du ja über ein NumericUpDown Control oder so manuell eintragen und abfragen.

    Danach ist es einfach ganz stupide Mathematik: lernnetz24.de/km/hinweise/41.html
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Im Grunde brauchst du nur 2 Werte und 3 Felder:

    gegeben: Kurs, Bitcoin-Wert (oder Geldwert)
    gesucht: Geldwert (oder Bitcoin-Wert)

    (bonus: Wenn du es auf die Spitze treiben willst, könntest du auch den Kurs automatisch holen und refreshen lassen, sofern dich das nicht überfordert.)

    Ansonsten programmierst du ja nichts anderes wie einen Währungs-Rechner, und da wird ja auch nicht auf ewig lange Umrechnungstabellen zurückgegriffen ;)


    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:

    Fast aber noch nicht ganz...

    Erstmal vielen dank für die vielen verschiedenen hilfreichen Ansätze. <3
    Ich habe jetzt erstmal alles durch probiert aber eure Antworten nicht so ganz auf mein Problem anwenden können.
    Als Beispiel habe ich euch einen Screenshot von einem Programm gemacht das in etwa erklären soll was ich versuche. ( habe es eben schnell als Beispiel für das Forum erstellt )
    Ich möchte VB jetzt verständlich machen, dass wenn ich den ich auf + 0.00001000 klicke es sozusagen in die Balance darüber addiert wird ( mit dem "." hinter der ersten 0 )
    Und bei - 0.00001000 natürlich von der Balance subtrahiert.
    Das ganze würde ich gerne auf die Spitze treiben bis 10.0000000 BTC.
    Gibt es dafür einen schnelleren Weg?
    Ich hoffe jemand versteht was ich meine ;(

    Liebe Grüße
    Bilder
    • btc-rechner.PNG

      29,11 kB, 421×262, 73 mal angesehen
    du hast vermutlich auf einem btn_click ein Funktion, die dir + 0.00001000 auf deinen Balance-Wert addiert.

    Das du das animierst würde aus meiner Sicht keinen großen Sinn machen :huh:
    du könntest eine Schleife machen, mit X Durchläufen oder solange balance <10.0000000.

    Was genau möchtest du mit dem Programm erreichen?

    Sprich:
    Ziel
    geplante Eingabe
    geplante Ausgabe
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Hallo @Schlecksnack,

    So 100% was Du möchtest wurde mir nicht wirklich bewusst da deine Erste und Dritte Beschreibung sich meiner Meinung nach stark unterscheiden.
    ​Ich habe jetzt einfach das Szenario wie Du es Bildlich darstellst nachgebildet!



    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim Bitcoin As Double
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Bitcoin = Bitcoin + 0.00001
    5. Update_Label1()
    6. End Sub
    7. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    8. Bitcoin = Bitcoin - 0.00001
    9. Update_Label1()
    10. End Sub
    11. Private Sub Update_Label1()
    12. Label1.Text = String.Format("{0:0.00000000}", Bitcoin)
    13. End Sub
    14. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    15. Update_Label1()
    16. End Sub
    17. End Class

    Würde mich freuen wenn ich Dir damit helfen konnte.

    Liebe Grüße,
    Ruerte
    Trainii: 5.0%
    Abstandshalter
    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“ ()

    Hallo @Ruerte,

    erstmal vielen danke für die Antwort. Ich habe es tatsächlich auf mein Problem anwenden können.
    Und... Es klappt!! :)
    Nach dem ich mehrere Tage am PC saß und die Zahlen selber eingegeben habe bin ich nun heilfroh diesen lästigen Schritt umgehen zu können.
    Das Label wird nun im richtigen Format angezeigt.
    Der Code enthält ja einen "." im Programm wird mir dieser allerdings als "," ausgespuckt woran kann das liegen?
    Ich nehme mal stark an das dies geschieht, weil im DE-Raum bei einem Double mit einem Komma gearbeitet wird anstelle eines Punktes, wie im amerikanischen Raum (für mathematische Darstellung, nicht im Programming-Bereich)

    wenn ein Punkt gewünscht ist, würde ich vor der Anzeige einfach das Komma durch einen Punkt ersetzen also anstelle von :

    VB.NET-Quellcode

    1. Private Sub Update_Label1()
    2. Label1.Text = String.Format("{0:0.00000000}", Bitcoin)
    3. End Sub


    VB.NET-Quellcode

    1. Private Sub Update_Label1()
    2. Dim txString As String = Regex.Replace(String.Format("{0:0.00000000}", Bitcoin), "[\,]", ".")
    3. Label1.Text = txString
    4. End Sub

    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If
    ich würd nicht nachträglich eine Zahlen-Ausgabe "verbiegen". Das Framework folgt mit seiner Zahlenformatierung einem durchdachten Konzept, was gewährleistet, dass Zahlen (und v.a. Datumse) der Kultur entsprechend präsentiert werden, in der sich der Rechner quasi "aufhält".
    Sonst hast du am ende ein Proggi, was "." als Dezimaltrenner verwendet, und ein anderes verwendet "," - auf demselben Rechner ist das nicht schick, und kann zB beim Tausender-Trenner derbe Missverständnisse bewirken.
    Der Code enthält ja einen "." im Programm wird mir dieser allerdings als "," ausgespuckt woran kann das liegen?

    Das liegt wie bereits von ErfinderDesRades erwähnt an der verwendeten Kultur. Wenn du wirklich mit der Englischen Kultur arbeiten willst kannst du das problemlos mit einer der Überladungen der Erweiterungs -Methode .ToString() eines Doubles realisieren.

    VB.NET-Quellcode

    1. Label1.Text=Bitcoin.ToString("0.00000000",System.Globalization.CultureInfo.CreateSpecificCulture("en-Us"))
    Soweit so gut.
    Bis jetzt habe ich alles einigermaßen verstanden und habe es auch zum Glück um setzen können.
    Aber eine Kleinigkeit macht mir schon wieder das Leben schwer.
    Ich möchte gerne eine Textbox haben in die man einen Euro- oder $-Wert eintragen kann, daneben soll im Label der aktuelle Bitcoinwert angezeigt werden.
    Wichtig dabei ist natürlich das sich der Bitcoinwert immer aktualisiert, da der Kurs ja wirklich schnell schwankt.
    Wie stelle ich das am besten an?
    Naja nur fast.
    Das man sich den aktuellen Bitcoinwert/-kurs holen kann habe ich schon verstanden.
    Aber ich versuche gerade eine Textbox einzurichten, in der ich einen genauen Betrag eingeben kann, der mir dann automatisch in den aktuellen Bitcoinwert übersetzt wird in einem Label.
    Beispielsweise wenn man herausfinden möchte wie viel 1 Euro oder $ gerade in Bitcoins wären.
    Logischerweise möchte ich den Betrag frei wählen können ohne darauf angewiesen zu sein mir alles von 1$ selber hochzurechnen.