Programm zum zeichnen von Funktionen

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von picoflop.

    Programm zum zeichnen von Funktionen

    Hallo

    Ich habe ein kleines Problem beim bearbeiten meines Projektes "Zeichnen von Funktionen in VB"
    Ich benutze VB5.

    Ich habe vor Funktionen im Stil von : x² + px +q oder auch Funktionen mit unterschiedlichen Potenzen z.B.: x³ zeichen zu lassen.

    Wenn ich nun eine Funktion mit der Potenz ² zeichnen lasse, dann Funktioniert das auch wunderbar,
    sobald ich aber die Potenz erhöhe bekomme ich den Fehler "6" Overflow.
    Ich denke es hat was mit DIM zu tun da die Daten nicht richtig interpretiert werden können.
    Da ich nun nicht gerade der Programmiere Gott bin -sondern gerade in die Richtung arbeiten/lernen möchte, komme ich zu keiner Lösung.

    Hat jemand vielleicht eine Idee?

    Ich habe 2 Buttons eingefügt, der 1. Command1_Click() zeichnet ein Koordinatensystem und zeichnet den Graphen.
    2. Command2_Click() zeichnet nur ein Koordinatensystem.

    Für die Berechnung / Zeichnung des Graphen habe ich Textfelder für die "Potenz", "p" und "q" eingefügt, damit diese variable in der Form geändert werden können. Ebenfalls für die skalierung und darstellung des Koordinatensystems.


    Hier der Code :

    Visual Basic-Quellcode

    1. Dim y As String
    2. Dim x As Double
    3. Private Sub Command1_Click()
    4. Cls 'Form clearen
    5. Me.AutoRedraw = True
    6. Scale (Text5(1), Text5(2))-(Text5(0), Text5(3)) 'Text5(0) positiver X wert / Text5(2) positiver Y Wert
    7. Line (Text5(1), 0)-(Text5(0), 0) 'Text5(1) negativer X Wert
    8. Line (0, Text5(3))-(0, Text5(2)) 'Text5(3) negativer y Wert
    9. DrawWidth = 2 'Funktionsgraphen zeichnen lassen = Punkt Größe
    10. For x = -1000 To 1000 Step 0.1 'Step = Punkte Abschnitt der gezeichnet wird
    11. y = x ^ Text1 + Text2 * x + Text4
    12. PSet (x, y)
    13. Next x
    14. End Sub
    15. Private Sub Command2_Click() 'Koordinatensystem zeichnen und neu skalieren
    16. Cls 'Form clearen
    17. Me.AutoRedraw = True
    18. Scale (Text5(1), Text5(2))-(Text5(0), Text5(3)) 'Text5(0) positiver X wert / Text5(2) positiver Y Wert
    19. Line (Text5(1), 0)-(Text5(0), 0) 'Text5(1) negativer X Wert
    20. Line (0, Text5(3))-(0, Text5(2)) 'Text5(3) negativer y Wert
    21. End Sub




    Für interessante Gedanken und Ideen wäre ich sehr dankbar.

    Edit by nikeee13:
    Bitte den VB-Code-Tag verwenden ([ vb]Code[/vb]). Codetag hinzugefügt.

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

    Hallo philbow,
    Strings sind nicht zum Rechnen da. Die Variablen zum Rechnen als Double auslegen.
    Der Rückgabewert eines Textfeldes ist ein String und muss zum Rechnen in eine
    Zahl umgewandelt werden. Z.B. so:

    Visual Basic-Quellcode

    1. Wert = Val(Text5(2).Text)

    Alternative ist noch CDbl(). Bei Nachkommastellen im Textfeld den Dezimalpunkt
    und nicht das Komma verwenden. Du kannst das Komma auch im Code austauschen.
    Gruss,

    Neptun
    Danke schonmal für deine Antwort, ich werde mich heute Abend damit befassen und dies so ausprobieren.
    Ebenfalls werde ich mich mal mit den Gedanken beschäftigen doch mit .net einzusteigen.
    Wenn man danach googlet sind hier und dort die Meinungen zwar gespalten, aber in Zukunft wird .net wohl
    die Bessere Wahl sein.

    philbow schrieb:

    die Grundlagen über das Grundprogramm evtl zu erlernen..

    Grundfunktionen ... kannst du mit SmallBasic lernen (extremst abgespecktes VB.Net). Zum erlernen des programmierens eignen sich auch und besonders Pascal, Modula, Oberon etc. VB5 eignet sich für ... NIX! Einzige Ausnahme: Wer schon 15 Jahre Programmiererfahrung mit VB5 auf dem Buckel hat und sein Geld damit verdient, der möge es weiter verwenden ...