Willkommen auf Planet-Liebe

diskutiere über Liebe, Sex und Leidenschaft und werde Teil einer spannenden Community! :)

jetzt registrieren

Brauche Hilfe bei Visual Basic!

Dieses Thema im Forum "Musik, Filme, Computer und andere Medien" wurde erstellt von Safer Sephiroth, 6 Januar 2005.

  1. Seid gegrüßt. Kommende Woche schreiben wir in Programmieren eine Klassenarbeit, dabei müssen wir ein Programm erstellen, d. h. wir müssen lediglich die Codierung auf's Papier bringen, also keine PC-Anwendung.
    Da unser Lehrer der Administrator der Schule und gleichzeitig ein riesen Arschloch ist, hab ich jetzt ziemlich wenig Stoff mit dem ich lernen könnte und dem Unterricht dieses Affen zu folgen, fällt mir auch merklich schwer. Deshalb meine Frage. Könntet ihr mir ein paar Seiten nennen auf denen VB gut erklärt wird, so mit Aufzählungen von Variablen und dem ganzen Krimskrams. Seiten auf niedriegem Niveau werden bevorzugt, bin in VB ein absolutes Greenhorn.
     
    #1
    Safer Sephiroth, 6 Januar 2005
  2. Marshmallow
    Verbringt hier viel Zeit
    88
    91
    0
    Single
    Was musst du denn wissen? Leider fehlt mir die Zeit, die 1.000-Seitigen Bücher zu scannen, aber was willst du wissen? (Eigentlich mach ich seit Jahren kein VS mehr, aber Programmieren-Basics werde ich noch erklären können)
     
    #2
    Marshmallow, 6 Januar 2005
  3. Scheich Assis
    Verbringt hier viel Zeit
    967
    113
    51
    vergeben und glücklich
    #3
    Scheich Assis, 6 Januar 2005
  4. Schwer zu sagen. Ich bin eben totaler Anfänger. Mach das ganze erst seit September 2004. Ich hau einfach mal die Codierung von 'ner Aufgabe rein, die wir vor den Ferien gemacht haben. Ich hoffe du kannst dir das ganze ohne Form vorstellen.
    Option Explicit
    Dim m_zahl, m_multi, m_produkt as Integer

    Private Sub prz_berechnen
    m_produkt = 0
    m_multi = Int(m_von.text) - 1
    do while m_multi < Int(m_bis.text)
    m_multi = m_multi + 1
    m_produkt = m_multi*m_zahl
    lf_list. AddItem Format(m_multi,"###")+" * " + Format(m_zahl,"##
    #")+ "=" + Format(m_produkt,"###")

    Loop

    bs_neu.setfocus

    End Sub


    Private Sub bs_ende_click
    End
    End Sub

    Private Sub bs_neu_click()
    if_zahl.text = ""
    m_von.text = ""
    m_bis.text = ""
    lf_list.clear
    m_von.setfocus
    End Sub

    Private Sub Form_Load()
    tf_zahl.text = ""
    tf_zahl.tabindex = 0
    m_von = ""
    m_von.tabindex = 0
    m_bis = ""
    m_bistabindex = 1
    End Sub

    Private Sub tf_bis_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    If IsNumeric(tf_bis.text) Then
    m_bis = Int(tf_bis.text)
    tf_zahl.setfocus
    Else
    Msgbox "Nur Zahlen eingeben", 48, "Fehler"
    tf_bis = ""
    TF_bis.setfocus
    End If
    End If
    End Sub

    Private Sub tf_von_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    If IsNumeric(tf_von.text) Then
    m_von = Int(tf_von.text)
    tf_bis.setfocus
    Else
    Msgbox "Nur Zahlen eingeben", 48, "Fehler"
    tf_von = ""
    tf_von.setfocus
    End If
    End If

    End Sub

    Private Sub tf_zahl_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    If IsNumeric(tf_zahl.text)Then
    m_zahl = Int(tf_zahl.text)
    prz_berechnen
    bs_neu.setfocus
    Else
    Msgbox "Nur Zahlen eingeben", 48, "Fehler"
    tf_zahl.text = ""
    tf_zahl.setfocus
    End If
    End If
    End Sub
     
    #4
    Safer Sephiroth, 6 Januar 2005
  5. Mr. Poldi
    Verbringt hier viel Zeit
    3.068
    121
    0
    vergeben und glücklich
    Ekelhafter Code :zwinker:
    Was möchtest du denn dazu wissen?
     
    #5
    Mr. Poldi, 6 Januar 2005
  6. Ich würde gerne wissen was das bedeutet. Wie gesagt, ich steig da absolut nicht durch. Ich sitz im Unterricht und schreib mir die ganzen Codierungen ab. Was ich da allerdings abschreibe bleibt mir ein Rätsel.
     
    #6
    Safer Sephiroth, 6 Januar 2005
  7. Mr. Poldi
    Verbringt hier viel Zeit
    3.068
    121
    0
    vergeben und glücklich
    Ah, OK. Also nehmen wir das ganze mal auseinander (ich kann kein Wort VB aber passt schon :zwinker:)

    Code:
    Dim m_zahl, m_multi, m_produkt as Integer
    
    Hier werden 3 Variablen m_zahl, m_multi und m_produkt vom Typ Integer deklariert.
    Integer werden für Ganzzahlen verwendet und sind auf heutigen Systemen 32 Bit groß.

    Code:
    Private Sub prz_berechnen
    
    Dies ist der Kopf einer Funktion mit dem Namen prz_berechnen.
    In VB werden Funktionen als Subs bezeichnet.

    Code:
    m_multi = Int(m_von.text) - 1
    
    m_von ist vmtl. der Name eines Texteingabefeldes. Dieser Code weist der Variablen m_multi die Zahl in diesem Feld abzüglich 1 zu.
    Da ein Texteingabefeld Text enthält (und keine Zahl) findet mit Hilfe von Int() eine Typumwandlung statt.

    Code:
    do while m_multi < Int(m_bis.text)
    m_multi = m_multi + 1
    m_produkt = m_multi*m_zahl
    lf_list. AddItem Format(m_multi,"###")+" * " + Format(m_zahl,"##
    #")+ "=" + Format(m_produkt,"###")
    Loop
    
    Dies ist eine Schleife - der eingetliche Arbeitsteil von prz_berechnen.
    Die Schleife wird solange ausgeführt wie der Inhalt von m_multi kleier ist als die Zahl im Textfeld m_bis (man beachte wieder die Typumwandlung mit Int()).
    Die Schleife macht nun folgendes:
    m_produkt wird berechnet als m_multi * m_zahl;
    Danach wird das berechnete Produkt in das Listenfeld mit dem Namen lf_List geschrieben.
    Unz war als Text
    m_multi * m_zahl = m_produkt,
    Da ein Listenfeld nur Texst aufnimmt, diese Variablen aber wie oben erwähnt Integer (Ganzzahlen) sind müssen sie entsprechend formatiert werrden. Dafür ist Format() zuständig.

    Code:
    bs_neu.setfocus
    Irgendeinem Control auf dem Form welches auf den Namen bs_neu hört wird der Eingabefocus zugewiesen (ist vmtl. ein Button).

    Code:
    End Sub
    Hier endet prz_berechnen

    Die restrlichen Funktionen dienen der Initialisierung der Eingabefelder und der Fehlerüberprüfung der Eingabe (damit da auch wirklich nur Zahlen drin stehen).
     
    #7
    Mr. Poldi, 6 Januar 2005
  8. I)4wN
    I)4wN (29)
    Verbringt hier viel Zeit
    19
    86
    0
    vergeben und glücklich
    Kleine Korrektur:

    Bei der oben stehenden Deklaration wird nur m_produkt als Integer (Zahl) dekladiert, m_zahl und m_multi hingeben sind "Variants".

    Wenn alle 3 Variablen als Integer dekladiert werden sollen, müsste es so aussehen:

    Code:
    Dim m_zahl as Integer, m_multi as Integer, m_produkt as Integer
    
    Normalerweise, macht es aber keinen Unterschied, aber nur so zur Verständlichkeit *klugscheiß*.

    @Kirby:
    Schon gut, kannst ja kein VB :engel:
     
    #8
    I)4wN, 7 Januar 2005
  9. Mr. Poldi
    Verbringt hier viel Zeit
    3.068
    121
    0
    vergeben und glücklich
    VB hat ne bescheuerte Syntax ^.^

    Ist doch total umständlich wenn man bei jeder Variablen den Typ angeben muss.
    Naja, what shells.
     
    #9
    Mr. Poldi, 7 Januar 2005
  10. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Bist Du Dir da 100% sicher? Ich meine mich aus meinen Basic-Tagen zu erinnern, dass man mehrere durch Komma getrennte Variablen gemeinsam deklarieren kann. Und VB dürfte nicht so viel an den Basic-Konventionen gedreht haben. Zumal es auch irre dämlcih wäre.
     
    #10
    Trogdor, 7 Januar 2005
  11. Ich mein auch, dass man durch Komma getrennte Varibalen gemeinsam deklarieren kann. Naja, egol.
    Danke jedenfalls für die Hilfe.
     
    #11
    Safer Sephiroth, 7 Januar 2005
  12. AndreR
    Gast
    0
    Also in VB werden gleichartige Variablen mit Kommas deklariert.
    Mit INteger-Werten ist das schlecht zu erklären (da der INHALT der Variable gleich ist, ob Integer oder Variant, man kann es eh umformatieren), machen wirs mit Objektvariablen: wenn ich schreibe

    dim rs, rs2, rs3 as recordset

    dann werden rs UND rs2 UND rs3 also Objektvariablen vom Typ Recordset deklariert und nicht das rs und rs2 mit einem mal Variants sind. Wäre dem so, müsste bei (ADO)

    set rs = db.openrecordset("SELECT...."

    stets ein Fehler kommen....


    Okay zum Code, ohne Formular etwas schwierig,deshalb Mutmaßungen:

    es gibt 3 Eingabefelder (tf_von - tf_bis - tf_zahl) und eine ComboBox namens If_List

    wenn prz_Berechnen aufgerufen wird:
    - der Wert m_produkt wird 0 gesetzt
    - m_multi wird auf den Wert m_von - 1 gesetzt (warum eigentlich?)
    - dann eine Schleife, sooft druchführen bis diese Bedingung erfüllt ist: m_multi < m_bis
    - m_multi inkrementieren (+1 Rechnen)
    - m_produkt = m_multi*m_Zahl
    - Eintrag in Comboox einen String: "Multi * Zahl = Produkt"

    - fertig

    was das tun soll ist mir allerdigns schleierhaft, letzten Endes erhält man eine Liste nach der ARt (man nehme 5 Durchläufe und die M_zahl = 5):
    001 * 005 = 005
    002 * 005 = 010
    003 * 005 = 015
    004 * 005 = 020
    005 * 005 = 025

    Ich nehme an, die Übung soll demonstrieren was man mit Schleifen machen kann...
    Also ohne Sinn und Verstand.
    Wenn du Fragen hast kannst du dich auch gern per PN an mich wenden, ich programmiere (e)VB[A] von Berufswegen aus so ziemlich den ganzen Tag

    Übrigens: Namenskonventionen sind ne Feine Sache, erleichtern das für den Außenstehenden ungemein (z.B. sollte ne ComboBox nicht if_list sonder cboIf_list heißen, oder nicht m_zahl sondern iM_Zahl weil Integer, nur so als Tipp am Rande)

    Gruß
    André
     
    #12
    AndreR, 8 Januar 2005
  13. hellgrau
    Gast
    0
    Könnten die zarten Anfängen vom Erathostenes Sieb sein.
    Wäre allerdings einfach, wenn man die Zahlen nicht von Hand reinschreiben
    müsste,
    und wenn der Wertebreich in nem Feld stehen würde.

    ODER :
    "prz" steht für Produktzahlen oder sowas.
    Dann isses wirklich nur ne ziemlich langweilige "Demo".
     
    #13
    hellgrau, 8 Januar 2005

jetzt kostenlos registrieren und hier antworten
Die Seite wird geladen...

Ähnliche Fragen - Brauche Hilfe Visual
Mìa Culpa
Musik, Filme, Computer und andere Medien Forum
6 August 2016
17 Antworten
FloBarley
Musik, Filme, Computer und andere Medien Forum
29 Februar 2016
1 Antworten
ENGEL6610
Musik, Filme, Computer und andere Medien Forum
25 Januar 2013
17 Antworten