tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
420
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Seruvs an alle erstmal,

    ich habe demnächst in vb ne wichtige Prüfung und dabei arbeite ich gerade alte Prüfungen meines Profs durch und da sind nochein paar Fragen offen geblieben. Ich stelle die einfach mal zusammengefasst hier rein, wäre toll, wenn ich zu der einen oder anderen Frage noch ne Antwort von euch bekommen würde

    Also Vielen Dank schon mal...

    1) Kann in VB ein Unterprogramm sich selbst aufrufen?

    2) Kann man über eine Textbos ohne nachfolgende Datenkonvertierung nur String-Daten einlesen.

    3) Gibt das folgende Programmstück gibt den Wert 100 aus?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    i = 50
    FOR i = 0 to 100
    DO UNTIL i = 99
    i = i + 1
    Loop
    Next i
     
    msgbox i

    BIsher denke ich nein, aber selbst wenn ich es direkt programmiere kommt bei mir nur ein Laufzeitfehler (!?)

    4) Spricht man von einer Endlosschleife, wenn die Schleife mehr als 1.000.000 mal durchlaufen wird? (Wenn ich ne Endlosschleife programmiere (i=0 to 100 000) bekomme ich so ab der Zahl 440.000 nen Überlauf-Fehler)

    5) Muss man um eine Seite mit dem Printer-Objekt ausdrucken zu können, mindestens einmal die Prindter.Enddoc-Methode im Programm programmieren?

    Vielen Dank

    ciao
    Geändert von Lautsprecher (13.01.06 um 15:11 Uhr)
     

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    zu 1) was Meinst du mit "Unterprogramm"? Meinst du damit eine Sub/Funktion? Wenn ja, dann geht das. Eine Prozedur kann sich selbst aufrufen, das nennt sich dann Rekursive Programmierung.

    zu 2) Hä?
    zu 3) Dieser Code macht keinen Sinn. Aber es passiert folgendes:
    • zuerst wird die Do-Until-99-Schleife durchlaufen, danach hat i den Wert 100 (würdest du die Until-Bedingung am Ende der Schleife platzieren, dann hätte i nur den Wert 99)
    • Dann wird die For-To-Schleife ein zweites mal durchlaufen und die Do-Until-99-Schleife wird auch ein zweites "betreten". Allerdings ist i bereits 100 und kann somit nicht mehr 99 werden. -->Du hast eine Endlosschleife. Der Laufzeitfehler kommt zustande, wenn i seinen maximalen Wert erreicht hat (bei Integer ist das 32767
    • VB bietet gute Debug-Mittel (beispielsweise jede Zeile einzeln mit F8 durchgehen), damit hättest du das auch selber herausfinden können!
    zu 4) Man spricht von einer Endlosschleife, wenn eine Schleife gar nicht mehr verlassen wird. Wenn eine Schleife nur 100.000 mal durchläuft, dann wird sie ja irgendwann verlassen.

    zu 5) Ich denke schon, denn das Printer-Objekt weiß ja nicht wann du mit der Erstellung deines Drucks fertig bist.
     
    hihi = -h²

  3. #3
    Avatar von mage
    mage mage ist offline Mitglied Platin
    Registriert seit
    May 2002
    Ort
    Berliner Speckgürtel
    Beiträge
    707
    Zitat Zitat von Lautsprecher
    Seruvs an alle erstmal,
    2) Kann man über eine Textbox ohne nachfolgende Datenkonvertierung nur String-Daten einlesen.
    Grundsätzlich kommt aus einer TextBox immer nur Text. Da die Standardeigenschaft .Text vom Typ String ist.
    Soll nun z.B. einen Zahl eingelesen werden ist es nur über eine Typkonvertierung möglich.
    Weisst man allerdings einer Variablen von einem anderen Typ den Inhalt einer Textbox zu, versucht VB den Inhalt automatisch zu konvertieren. Das ganze nennt sich "Implizite Typkonvertierung" im gegensatz zur "expliziten Typkonvertierung".
    Beispiel:
    Code :
    1
    2
    
    Dim Zahl as Integer
    Zahl = EingabeTextBox.Text
    Das funktioniert so lange, wie die Eingabe in einen Integer konvertiert werden kann, ansonsten erhält man einen Laufzeitfehler. Daher sollte man zumindest vorer die Funktion IsNumeric oder entsprechend bei Datumsangaben IsDate() verwenden.
    Was nun genau passiert, wenn man eine Kommawert eingibt und dieser dann der Integervariablen zuweist, kann ich nur raten. Ich schätze er meldet keinen Fehler und schneitet die Kommastellen ab.
    Ob, nun ein Komma oder Punkt als Dezimaltrennzeichen interpretiert werden hängt von Landeseinstellung des Betriebssystems ab.

    So, ich kann die Frage nicht eindeutig mit Ja oder Nein beantwortet, aber vielleicht helfen Dir meine Ausführungen sie zu beantworten.
    Ich denke die Anwort hängt davon ab, wie man "nachfolgend" interpretiert.
     
    Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)

Ähnliche Themen

  1. Fragen über Fragen zu After Effekts. Brauche Hilfe
    Von Tobsemeini im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 3
    Letzter Beitrag: 23.01.09, 16:17
  2. [COM-Objekte / PIAs] Fragen über Fragen
    Von Klein0r im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 04.09.08, 20:34
  3. Fragen über Fragen zu einer Grafik
    Von Wallgollum im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 08.03.05, 13:16
  4. Antworten: 4
    Letzter Beitrag: 06.12.03, 13:44
  5. Newbie - Fragen über Fragen
    Von smd im Forum Sonstige Grafik-Programme
    Antworten: 0
    Letzter Beitrag: 11.07.02, 22:17