1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VB 2010 Express: diverse Fragen

Discussion in 'Programmieren' started by Soxx, Jan 3, 2011.

Thread Status:
Not open for further replies.
  1. Soxx

    Soxx Byte

    Hey leute,

    habe mir, wie schon in einem anderen theard erwähnt, vb2010express geladen.

    bin soweit eigentlich zufrieden weil ich bislang mit kla komme :P

    [​IMG]

    Dieses Menü besteht aus normalen CommandButton

    Das Menü soll sich schließen/minimieren wenn man den Updater für ATI bzw Nvidia aufruft.

    Desweiteren ist die If-Abfrage (if <Variabel> = <Variabel>then ... ) irgendwie nicht so aufgebaut wie bei VBA könnte mir da jemand ein Beispiel geben??

    Danke im Vorraus
    Lg
    Soxx

    PS: Ich weiß das es bereits solche Programme gibt, auch wahrscheinlich logischer als bei mir, aber ich will mich einfach mal ausprobieren ;)
     
  2. chipchap

    chipchap Ganzes Gigabyte

    Hallo Soxx!

    Wenn es richtig was werden soll, dann hilft nur gute Literatur:
    http://www.amazon.de/Einstieg-Visua...5411/ref=sr_1_1?ie=UTF8&qid=1294159339&sr=8-1
    http://www.amazon.de/Microsoft-Visu...5356/ref=sr_1_1?ie=UTF8&qid=1294160677&sr=1-1 .

    Die Methoden in VB sind manchmal leicht anders als in VBA, aber das MouseUp-Ereignis gibt es wohl bei beiden.

    Dem Ereignis mußt Du nur die "Hide"-Eigenschaft der UserForm zuweisen in einer Sub-Routine.

    Kann Dir bei VB 2010 leider nicht weiter helfen, hab nur VB 6 gelernt.

    Aber das Buch müßte die gröbsten Fehler eliminieren helfen
    (kann man sich sicher auch mal leihen).
    DIe Rückgabe aber nicht vergessen - Wiedersehen macht Freude. :)
     
    Last edited: Jan 4, 2011
  3. Soxx

    Soxx Byte

    das mit dem ausblenden werd ich gleich mal ausprobieren

    grad etwas kanapp bei kasse aber die links hab ich mir kopiert und werd sie mir wohl auch kaufen ;)

    hoffe mir kann jemand noch zur If-Abfrage behilflich sein

    Lg
     
  4. VB-Coder

    VB-Coder Megabyte

    IF Schleifen

    Code:
    if a < b then
        msgbox "a ist kleiner als b"
    end if
    
    if a = b then
        msgbox "a ist gleich b"
    end if
    
    if a <> b then
        msgbox "a ist ungleich b"
    end if
    
    if a > b then
        msgbox "a ist größer als b"
    end if
    
    if a <= b then
        msgbox "a ist kleiner wie b, oder gleich b"
    end if
    
    if a >= b then
        msgbox "a ist größer oder gleich b"
    end if
    
    if a = "hallo" AND b = "Welt" then
        msgbox "a ist hallo und b ist Welt"
    end if
    
    if a = "hallo" or a = "huhu" then
        msgbox "a ist hallo oder huhu"
    end if
    
    if NOT a = "hallo" THEN
        msgbox "a ist nicht Hallo"
    end if
    
    Ich hoffe der Aufbau erklärt sich daraus ;-)
    Falls nicht einfach nochmal nachfragen

    EDIT: zum ausblenden...

    Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    me.Hide()
        End Sub
    
     
    Last edited: Jan 5, 2011
  5. Soxx

    Soxx Byte

    erst noch mals danke für eure hilfen.

    ich hab aber mal wieder ne frage ;)

    wenn ein commandbutton geklickt wird soll die internetadresse welche in eine textbox eingegeben werden soll sich öffnen....

    wäre supi schnell von euch zu hören und danke ;)

    PS: Habt spaß beim scripten
     
  6. VB-Coder

    VB-Coder Megabyte

    Nehmen wir an, du hast eine Textbox (TextBox1) und einen Button (Button1), dann kannst du das wie folgt machen.

    Du nutzt das Click Event des Buttons und trägst dort folgenden Befehl ein:

    PHP:
    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
            Process
    .Start(TextBox1.Text)
        
    End Sub
    Process.Start, startet automatisch den Prozess/das Programm, das mit dem Inhalt von TextBox1 verknüpft ist. In deinem Fall ist es eine Webadresse, also wird der Browser gestartet.

    Schönheitsfehler an der Sache ist, das ich in die Textbox auch z.B.: calc.exe schreiben könnte und der Taschenrechner wird gestartet.

    Dieses Phänomän kann man aber unterbinden, indem man den Inhalt der Textbox auf Gültigkeit überprüft. In deinem Fall also Prüfen, ob es eine gültige Webadresse ist, die mit http:// oder www. beginnt.
     
  7. Soxx

    Soxx Byte

    ahhh okay also ist dies dann als eine art der windows-funktion "Ausführen" anzusehen.... ist eig. ne nette sache danke dir ;)


    Lg
     
  8. VB-Coder

    VB-Coder Megabyte

    Hier mal ein Beispiel, wie ich das ganze realisieren würde:

    Leg dir ein neues Projekt an.

    Darauf ordnest du folgende Dinge an
    1 Listbox
    2 Buttons

    Beschriften musst du nichts.

    Dann kannst du folgenden Code verwenden:

    PHP:
    Public Class Form1

        
        
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load


            
    '--------------------------------
            ' 
    alle Grafikkarten ermitteln und
            
    ' in die Listbox eintragen
            '
    --------------------------------
            
    Dim oAdapters As Object
            Dim oCard 
    As Object
            Dim SQL 
    As String

            ListBox1
    .Items.Clear()
            
    SQL "SELECT * FROM Win32_VideoController"
            
    oAdapters GetObject("winmgmts:").ExecQuery(SQL)
            For 
    Each oCard In oAdapters
                ListBox1
    .Items.Add(oCard.Description)
            
    Next


            
    '------------------------------------------
            ' 
    Button für Update beim Start deaktivieren
            
    '------------------------------------------
            Button1.Enabled = False

            '
    ---------------------
            
    ' Button Text zuweißen
            '
    ---------------------
            
    Button1.Text "Grafikkarte in der Liste wählen"

            '---------------------------------
            ' 
    Text für Beenden Button zuweißen
            
    '---------------------------------
            Button2.Text = "Programm beenden"
        End Sub

        
        Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

            '
    --------------------------------
            
    ' Auswahl in der Listbox erkennen
            ' 
    und auswerten
            
    '--------------------------------
            Dim tmpauswahl As String
            tmpauswahl = ListBox1.SelectedItem

            Dim auswahlx As String
            auswahlx = Trim(tmpauswahl.Substring(0, InStr(tmpauswahl, " ")))

            If auswahlx = "NVIDIA" Or auswahlx = "ATI" Then
                Button1.Enabled = True
                Button1.Text = auswahlx & " Treiber downloaden"
            Else
                MsgBox("Es werden nur NVIDIA und ATI Grafikadapter unterstützt." & vbCrLf & vbCrLf & "Bitte sehen sie in ihrem Handbuch," & vbCrLf & "oder auf der Herstellerhomepage von " & auswahlx & " nach.")
            End If


        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim btntext As String
            btntext = Button1.Text
            Dim hersteller As String
            hersteller = Trim(btntext.Substring(0, InStr(btntext, " ")))

            If hersteller = "NVIDIA" Then
                Process.Start("http://www.nvidia.de/Download/Scan.aspx?lang=de")
            ElseIf hersteller = "ATI" Then
                Process.Start("http://support.amd.com/de/gpudownload/Pages/index.aspx")
            End If
        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Me.Close()
        End Sub
    End Class

    Das Programm ermittelt autom. welche Grafikkarten vorhanden sind.
    Diese kann man dann in der Listbox auswählen.
    Sobald man eine Grafikkarte gewählt hat, wird der Button "Treiber downloaden" aktiviert.
    Über den Button gelangt man zur Herstellerseite von NVIDIA oder ATI.
     
  9. Soxx

    Soxx Byte

    Wow, erstmal respect für das script

    wusste garnicht das es eine solche datei für die Grafikkarte gibt ;) :bet:


    hatte das mit der textbox und button zwar für etwas anderes benötigt aber perfekt, danke für die hilfe ;)
     
  10. VB-Coder

    VB-Coder Megabyte

    Du würdest staunen, was mit VB noch so alles möglich ist.

    Ich hab mal aus purer Langerweile ein Tool geschrieben, wozu Admins "Remote Desktop Control" und böse Zungen "Trojaner" sagen würden.

    Das Teil kann so ziemlich alles auf dem anderen Rechner anstellen, was man sich nur vorstellen kann. Dateien lesen/schreiben/löschen, den fremden Desktop darstellen (via gesendeten Scrennshots), Registry Einträge auslesen und schreiben, Programme starten, Webcam aktivieren, Tastatureingaben abfangen, angeschlossenes/internes Mikrofon aktivieren incl. Soundaufnahme, Benutzerkonten unter Windows erstellen, ICQ Status von Usern abfragen, Tastatur sperren, Maus deaktivieren, Monitorbild auf den Kopf stellen, Datum/Uhrzeit abfragen/ändern, angemeldeten Benutzernamen auslesen, aktuell laufende Prozesse/Programme auslesen, etc. etc.

    Wenn ich langeweile habe programmiere ich immer mal daran rum und überleg mir, was man da noch so alles an Quatsch einbauen könnte. Wobei mir langsam die Ideen ausgehen.

    Aber bevor die Frage aufkommt: Nein den Source und/oder das Tool kann man nicht haben. Grund ist das es genug Scriptkiddies auf der Welt gibt und dass das Tool deffinitiv nicht für irgendwelche dunklen Machenschaften programmiert wurde, sondern einzig und allein den Zweck erfüllen sollte, die Grenzen von VB auszutesten. Wobei ich bisher noch nicht daran gestoßen bin ;)
     
  11. Soxx

    Soxx Byte

    :P

    klingt ganz nett aber haben will ich sowas nicht wirklich :PPPP

    wenn man sich mit vb gut auskennt glaub ich dir aufs wort das man jede menge damit machen kann ;)

    ich bin nur durch die schul-ag (dort nur VBA....eindeutig langweilig) drauf gekommen :)...... hab damit auch mein erstes eigenes spiel geschrieben (Himmel&Hölle <- früher wurde es auf zetteln gespielt)

    ;)
     
  12. VB-Coder

    VB-Coder Megabyte

    Mein erstes Spiel in VB war damals Tic-Tac-Toe, danach habe ich mich an einen Minesweeper Clone gewagt, was auch nicht sonderlich schwer ist. Irgendwann hab ich mich dann an diverse Kartenspiele gewagt, wobei es da meist aus Desinteresse bei den Grundlegenden Funktionen blieb, ohne näher auf die einzelnen Regeln des jeweiligen Spiels zu achten.

    Einfache Spiele in VB zu programmieren ist gut, wenn man sich näher mit Schleifen und mathematischen Funktionen auseinander setzen will. Dann hört's aber auch schon auf.

    Da ist es schon sinnvoller "vernünftige" Windows Anwendungen zu programmieren.
     
  13. Soxx

    Soxx Byte

    hmmm :P

    da mir langsam die ideen ausgehen...haste ne idee was ich mal probieren könnte??? wenn ich schwierigkeiten hab kann ich mich ja melden ;)
     
  14. VB-Coder

    VB-Coder Megabyte

    Die Möglichkeiten sind nahezu unbegrenzt. Du kannst was in Richtung Office programmieren, in Richtung Multimedia, in Richtung Internet... Das kommt ganz auf deine "Vorlieben" am PC an. Kurz gesagt: Programmieren solltest du etwas, was du auch gebrauchen kannst. Also irgendwas, was dir die Arbeit erleichtert und was du auch öfter benutzen wirst. Um dir da aber einen "speziellen" Rat zu geben, müsste man erstmal wissen, womit du deine Zeit hauptsächlich am PC verbringst.
     
  15. Soxx

    Soxx Byte

    hauptsachlich nutz ich das "ding" zum spielen oO :D
     
  16. VB-Coder

    VB-Coder Megabyte

    Naja dann sind die Anwendungen natürlich schon stark eingeschränkt. Da ich eigentlich garnicht spiele am PC (außer Gelegentlich mal ne Runde Billard oder Poker), fallen mir da auf Anhieb auch nicht wirklich irgendwelche brauchbaren Dinge ein.

    Eine Möglichkeit wäre, das du dir selbst ein Spiel erstellst. Das kann was ganz einfaches sein, oder auch in Richtung Ego-Shooter gehen. Für letzteres müsstest du dich dann aber mit Direct3D bzw. DirectX unter VB auseinandersetzen.

    Wobei ich mir sicher bin, das du schnell das Interesse an dem Projekt verlieren wirst. Denn bis das Konzept steht und die Grundlagen wie allgemeiner Aufbau, Grundlegende Steuerung umgesetzt sind, dürften einige Monate verstreichen. Danach käme dann das Feintuning. Fehlerbehandlungsroutinen, Kollisionsabfragen etc. erstellen. Spätestens das wird dich dann in den Wahnsinn treiben.

    Als Einzelperson ist so ein Ego-Shooter in annehmbarer Quallität fast nicht realisierbar. Also fällt das auch schonmal flach.

    Was du machen könntest, wäre ein bekanntes Brett- oder Kartenspiel am PC umzusetzen. Den grundlegenden Spielablauf könnte man mit etwas Lust und Zeit in ca. 1 Woche realisieren. Dann müsstest du dem ganzen natürlich noch den gewissen Feinschliff verpassen. Sprich das Regelwerk des Spieles beachten und jede erdenkliche Eventuallität versuchen mit in die Programmierung einfließen zu lassen.

    Damit es nicht allzu schwer wird, würde ich mir ein Spiel vornehmen, bei dem die Regeln ziemlich einfach gestrickt sind. Das wären bei Brettspielen: Dame, Mühle oder Mensch Ärger dich nicht. Bei den Kartenspielen: Mau mau, 17 und 4 oder Texas Hold Em Poker.

    Und wenn das Spiel dann irgendwann richtig funktioniert, könntest du versuchen das ganze als 3D Variante umzusetzen.

    Das dürfte dann erstmal genug der Zielsetzung für die nächsten 18 - 24 Monate sein ;-)
     
  17. Soxx

    Soxx Byte

    joa sind paar nette ideen :P.....

    ich werd mich die tage mal an "Mühle" setzen....lang nicht mehr gespielt aber ist ja relativ simpel vom spielgeschehen :PPPP


    bei ego-shootern wüsst ich garnicht wie ichs anfangen sollte....also von der grafikoberfläche :P

    aber solche netten ideen....danke :P



    hab mir heute mal ne Sidebar zusammengeschustert.....eig nur mit button die verschiedene programme/spiele starten.....dabei auch eine textbox mit dem start-prozess ;).....
    da die sidebar unter win-vista (7 weiß ich nicht) die funktion hat kleine bilder anzuzeigen die zwischendurch wechseln...hab ich mir gedacht soetwas auch einzubauen----kleines gimmick :P

    wie stell ich das an....und wenn soll die sidebar nur aus einem bestimmten ordner laden


    Lg
     
  18. Soxx

    Soxx Byte

    mal wieder tausende fragen xD...naja es sind nur ein paar:

    1. wie lade ich bilder in eine PictureBox (code beispiel falls nötig wäre super)


    2. wie kann ich einstellen das sich diese Bilder nach einer bestimmten zeit bsp: 15sec automatisch ändern....am besten nur aus einem deklarierten ordner laden


    freue mich auf antwortn

    Lg
    Soxx

    PS: beides bezieht sich auf vb2010 :P
     
  19. VB-Coder

    VB-Coder Megabyte

    zu 1.

    PHP:
    PictureBox1.Image = New System.Drawing.Bitmap("c:\pfad\datei.jpg")
    zu 2.

    - einen Timer einsetzen
    - einen Ordner vorgeben und alle darin befindlichen Bilder nacheinander einlesen lassen
     
  20. VB-Coder

    VB-Coder Megabyte

    Hier mal ein komplettes Codebeispiel, da ich gerade Langeweile hatte ;-)

    Zunächst erstellst du dir auf deiner leeren Form folgende Dinge

    - Timer
    - PictureBox
    - Listbox

    dann kannst du folgenden Code benutzen

    Code:
    Imports System
    Imports System.IO
    Public Class Form1
    
        'lege Globale Variablen fest
    
        ' Pfad zum Bilderordner
        Public Dateipfad As String = "D:\bilder"
        'Variable für das erste Bild
        Public Startbild As String
        'Variable zum Einlesen der Dateien im Bilderordner
        Public Bildordner As IO.DirectoryInfo = New IO.DirectoryInfo(Dateipfad)
    
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'blende Listbox beim Start aus
            ListBox1.Visible = False
    
            'Größe der Picturebox an Fenstergröße anpassen
            PictureBox1.Width = Me.Width
            PictureBox1.Height = Me.Height
    
            'Timer zum Bildwechsel starten
            Timer1.Interval = "15000"
            Timer1.Enabled = True
    
            'Bilder aus Ordner einlesen
            Einlesen(Bildordner)
    
            'Startbild festlegen und anzeigen
            Startbild = ListBox1.Items.Item(1)
            PictureBox1.Image = New System.Drawing.Bitmap(Startbild)
    
    
        End Sub
    
        Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
            'Picturebox beim Ändern der Fenstergröße anpassen
            PictureBox1.Width = Me.Width
            PictureBox1.Height = Me.Height
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            ' Bilder nach "Zufallsprinzip" wechseln
            Dim bilder As Integer = ListBox1.Items.Count
            Dim x As Integer = 1
            Dim r As New Random(System.DateTime.Now.Millisecond)
            If x > bilder Then
                x = bilder
            End If
            Dim aktbild As Integer = r.Next(x, bilder)
            Dim zufallsbild As String = ListBox1.Items.Item(aktbild)
            PictureBox1.Image = New System.Drawing.Bitmap(zufallsbild)
    
        End Sub
    
        Private Sub Einlesen(ByVal Bildordner As IO.DirectoryInfo)
            'alle Dateien des Ordners in Listbox einlesen
            Dim Bilddatei As IO.FileInfo
            For Each Bilddatei In Bildordner.GetFiles()
                With Bilddatei
                    ListBox1.Items.Add(.DirectoryName & "\" & .Name)
                End With
            Next
        End Sub
    End Class
    
    
    Hier musst du nurnoch folgende Globale Variable ändern

    Code:
     Public Dateipfad As String = "D:\bilder"
    und entsprechend "D:\bilder" durch den Pfad zu deinem Bilderordner ersetzen.


    Viel Spass damit.
     
Thread Status:
Not open for further replies.

Share This Page