Großer Anfänger Thread

Vertigo21

Erfahrenes Mitglied
Hallo zusammen. Da es einen entsprechenden Beitrag scheinbar noch nicht gibt, wollte ich mal einen aufmachen. Dieser Beitrag soll Anfängern den Einstieg erleichtern. Jeder ist herzlich eingeladen sich zu beteiligen.

Hinweis: Die hier behandelten Themen beziehen sich hauptsächlich auf die Entwicklungsumgebung SharpDevelop!

Problem:
Ich bin ein Neuling in Visual Basic und habe noch von nichts eine Ahnung. Was brauche ich um anzufangen und wo bekomme ich es her?
Lösung:
Grundsätzlich braucht man nur eine Portion guten Willen, eine vernünftige Entwicklungsumgebung und eine gute Anleitung (siehe nächster Punkt). Für den guten Willen muss man leider selbst sorgen, aber den Rest gibt es hier. Die zwei populärsten Entwicklungsumgebungen sind (zumal kostenlos):


Problem:
Ich finde im Internet auch nach längerer Suche keine vernünftigen Tutorials. Habt ihr da ein paar Links für mich?
Lösung:
Liste von Einsteiger-Tutorials für VB.NET:
Liste von Einsteiger-Tutorials für VB6:


  • Problem:
    Mein erstes Programm wird nicht erfolgreich kompiliert. Fehlermeldung: "Es wurden keine Eingabequellen angegeben (BC2008)
Code:
Class HalloWelt
 
  Shared Sub Main()
      
    Dim Variable As String = "Hello World"  ' Variable deklarieren
 
    Console.WriteLine(Variable)  ' Variable ausgeben

    Console.ReadKey() ' Konsolenfenster erst nach Tastendruck schließen
 
  End Sub
 
End Class
Lösung:
Die Datei ist aller Wahrscheinlichkeit nach keinem Projekt (Solution) zugeordnet. Um das zu ändern bitte in der linken Liste das Projekt markieren und darin eine neue Datei erstellen. Jetzt den bisher erstellten Quellcode per copy/paste in die neue Datei einfügen und ausprobieren.

  • Problem:
    Wenn ich mit Hilfe des Befehls "System.Windows.Forms.MessageBox.Show(Variable)" versuche eine Variable auszugeben bekomme ich die Fehlermeldung "Windows ist kein Member von System (BC30456)".
    Lösung:
    Wenn sie eine neue Datei erstellen, müssen sie für diesen Befehl die Vorlage für eine Windows-Anwendung auswählen. Nur hier stehen die notwendigen Referenzen zur Verfügung.
 
Zuletzt bearbeitet:
Hi.

Der Compiler scheint sich zu beschweren das keine Eingabedateien angegeben wurden. Ich vermute mal du hast die Datei nicht zum Projekt bzw. der Solution hinzugefügt?
Vertigo21 hat gesagt.:
Code:
Class HalloWelt
      Dim Variable [String] = "Hello World"
Wenn du eine String Variable deklarieren möchtest, geht das so:
Visual Basic:
Dim Variable As String = "Hello World"
Allerdings kann dir SharpDevelop auch Arbeit abnehmen wenn du die Variable gleich initialisierst, denn dann kann das Programm automatisch feststellen welchen Typ die Variable haben muss:
Visual Basic:
Dim Variable As ? = "Hello World"
wird nachdem du die Zeile mit der Eingabetaste bestätigst zu dem oberen Ausdruck - also das Fragezeichen wird automatisch durch String ersetzt.

Welche Version von SharpDevelop verwendest du denn eigentlich?

Gruß
 
deepthroat hat gesagt.:
Welche Version von SharpDevelop verwendest du denn eigentlich?

Version 2.0.0, Built 1591.

Das mit dem automatischen Zuweisen von Datentypen finde ich sehr interessant. Erinnert ein wenig an PHP, denn da passiert das (fast) immer automatisch.

Habe es jetzt mal geändert:
Code:
Class HalloWelt
 
  Shared Sub Main()
      
      'Option Explicit On
      
      Dim Variable As String = "Hello World"
 
    Console.WriteLine(Variable)
    'System.Windows.Forms.MessageBox.Show(Variable)
 
  End Sub
 
End Class

deepthroat hat gesagt.:
Ich vermute mal du hast die Datei nicht zum Projekt bzw. der Solution hinzugefügt?
Ja, daran hat es gelegen. Jetzt ruft er ganz kurz ein DOS-Fenster auf und verschwindet gleich wieder. Versuch ich es mit dem Befehl System.Windows.Forms.MessageBox.Show(Variable) Bekomme ich die Fehlermeldung "Windows ist kein Member von System (BC30456)".
 
Zuletzt bearbeitet:
Vertigo21 hat gesagt.:
Jetzt ruft er ganz kurz ein DOS-Fenster auf und verschwindet gleich wieder.
Gut. Das ist auch genau das was zu erwarten war. Evtl. kannst du in der DOS Box auch noch den Text "Hello World" erkennen. Damit sich das Fenster nicht sofort wieder schließt, kannst du z.B. die Anweisung
Visual Basic:
Console.ReadKey()
als letzte Anweisung einfügen. Dann mußt du erst eine Taste drücken damit das Programm beendet wird.

Vertigo21 hat gesagt.:
Versuch ich es mit dem Befehl System.Windows.Forms.MessageBox.Show(Variable) Bekomme ich die Fehlermeldung "Windows ist kein Member von System (BC30456)".
Um eine Windows Anwendung zu schreiben, solltest du mit einem Windows Application Projekt anfangen. Im Consolen Application Projekt fehlen die entsprechenden Referenzen auf die Windows Form Assembly's (die du natürlich auch noch manuell hinzufügen könntest).

Gruß
 
Stimmt. Ich hatte mich am Anfang extra für eine "leere Datei" und nicht für ein Windows-Projekt entschieden. Da lag der Fehler. Meine Liste ganz oben habe ich bereits aktualisiert. Ich hoffe, gemeinsam können wir später noch ein paar Punkte klären.
 
Zuletzt bearbeitet:
Hoffentlich finden unsere lieben Anfänger diesen Thread auch....
Noch kleine Anmerkung: VB 6.0 (und niedriger) unterscheiden sich stark von VB.Net (zu VB.Net gehört auch VB 2005!)
Also bei der Wahl des Tutorials drauf achten!
 
Ein guter Einwand. Den Link zu dem VB6- Tutorial habe ich entfernt.

(Hui, mein 150ster Beitrag. Ich hatte eigentlich gehofft, er hätte mehr Inhalt. Aber naja.)
 
Zuletzt bearbeitet:
VB-Seminar ist ebenfalls ein Tutorial zu VB6.
Mach doch einfach zwei Listen, eine zu VB6 und eine zu VB.Net. Schließlich kreuzen hier immer wieder Anfängerfragen zu VB6 auf, das heißt es gibt wohl Leute die jetzt noch mit VB6 anfangen.
 
@Shakie: Erledigt.

@All:
Ich bin immer noch mit den Grundlagen beschäftigt und bin jetzt bei den Funktionen angekommen. Allerdings werden in zwei verschiedenen Tutorials auch zwei verschiedene Möglichkeiten dafür aufgeführt:

Wiki-Books empfiehlt:
Code:
Private Sub BeendeDasProgramm()
        MessageBox.Show(a)
        End
    End Sub

Galileo-Computing empfiehlt aber es folgendermaßen zu machen:
Code:
Function WURZEL2() As Double
   Return System.Math.Sqrt(2)
End Function

Unabhängig vom Inhalt der jeweiligen Funktionen, welche Methode würdet ihr vorziehen, bzw. welche hat sich im täglichen Gebrauch als sinnvoller erwiesen oder ist es gar völlig egal?
 
Hi,

das sind doch 2 unterschiedliche Dinge, einmal ein Sub ohne Rückgabewert und einmal eine Funktion mit Rückgabewert.

Das kommt auf das Anwendungsgebiet an, für was Du Dich entscheidest.
 

Neue Beiträge

Zurück