Visual Basic Anfängerfrage

-eraz-

Commodore
Registriert
Juni 2004
Beiträge
4.270
huhu,

Ich bin grad ein bisschen am basteln und üben (Mit VB) nun hab ich da ein Wort bei dem ich überprüfen will ob ein bestimmter Buchstabe enthalten ist, ich hätte das mal so versucht:

Code:
If InStr(1, Wort, abc) > 0 Then
    MsgBox "richtig"

Wobei Wort das Wort ist und ABC der Buchstabe, doch irgendwie scheint das nicht hinzuhauen, kann mir einer sagen wie es richtig wäre? :)
 
ich weiss nur, dass man unter delphi dann die variable mit char;(character) vereinbaren muss!
vllt hilft es dir ja weiter. da überprüft er nur den ersten buchstaben.

klenes beischpiel°v°

var wort:char;

if wort='J' then showmessage('rischtisch');


da kann dann alles mit dem großbuchstaben J beginnend kommen und es wird richtig ausgegeben. (ja, jupp,jaein....)
 
Zuletzt bearbeitet:
Ich hab den Fehler gefunden das Problem war die groß kleinschreibung, das Wort war groß geschrieben und der Buchstabe kleine, aber wenn man nochwas hinzufügt gayts:
Code:
If InStr(1, Wort, buchstabe, vbTextCompare) > 0 Then
    MsgBox "richtig"

Aber ich hab schon wieder die nächste Frage :D

Kann ich mir irgendwie die Position an dem der Buchstabe steht zurückgeben lassen und weiterverarbeiten? Z.b. Buchstabe E steht an Position 3 und bei mehrfachen vorkommen, Buchstabe E steht an Position 3, 4 und 6 usw.
 
InStr gibt Dir ja bereits die Position des ersten gefundenen String zurück. Alle weiteren musst Du dann in einer Schleife suchen


Code:
' den ersten finden

StartPos = InStr(sText, sFindString)
 
    
' weitere finden

While StartPos <> 0
      
StartPos = InStr(StartPos + 1, sText, sFindString)
      
 If StartPos <> 0 Then

  ' Hier Code für noch einen gefunden    

 End If
   
Wend
 
hi
folgendes:
Dim str0 As String = "text1"
Dim str1 As String = "text2"
Dim str2 As String = "text3"
Dim string() As String = {str0, str1, str2}

jetzt will ich die stringlänge von string() ermitteln.
len(string()) oder len(string) geht nicht.

danke für hilfe
 
So ungefähr sollte es passen:
Code:
x As double
len str0 = x
 
Das geht

Dim str0 As String
Dim str1 As String
Dim str2 As String
str0 = "text1"
str1 = "text2"
str2 = "text3"

MsgBox Len(str0)
 
nein ich will nicht die länge von str0, str1 oder str2 sondern von string() haben.

len(str0) geht, len(string(0)) geht auch aber len(string()) gent nicht!
mein ziel ist, das er 3 zurückgibt, weil 3 strings im string "string()" stehen.
verstanden?!
 
Das Geht, das Array darf nicht den Namen string haben, da er geschützt ist

Dim aA1() As String = {"sA2", "sA3", "sA4", "sA5", "sB1", "sB2", "sC1", "etc"}

MsgBox( aA1.GetLength(0) )
 
Zuletzt bearbeitet:
alles klar
aA1.length war der befehl den ich gesucht habe.

nächste frage:
wie hänge ich einen string an einen string an?
Beispiel:
Dim str0 As String = "text1"
Dim str1 As String = "text2"
Dim str2 As String = "text3"
Dim strall() As String = {str0, str1}

jetzt will ich an strall() str2 anhängen, dass zum schluss folgendes in strall() steht:
Dim strall() As String = {str0, str1, str2}
ich will das dann automatisieren in einer schleife, damit sich alle strings gleich in strall() einfügen.
 
Zuletzt bearbeitet:
gut danke
so jetzt die letzte frage (vorerst :D)
zufallszahlen lassen sich ja so generieren:
Rnd() * (100 - 0) + 0
'zufallszahlen von 0 bis 100
jetzt kann es aber sein, dass zweimal die gleiche zahl hintereinander generiert wird.
wie verhinder ich das?
 
Zu deinem Array Problem benutze doch besser ArrayListen die sind gut, wenn man einer Liste von Werten später noch mehr Werte zuweisen kann.

Dim objArrList As ArrayList = New ArrayList(10)
objArrList.Add(str0)
objArrList.Add(str1)
objArrList.Add(str2)
MsgBox(objArrList.Count)

'zufallszahlen von 0 bis 100
Du könntest den letzten Wert in einer Buffer Variable speichern und wenn der aktuelle dem gespeicherten gleicht dann einfach nicht auswerten.
 
Zuletzt bearbeitet:
Wie integriere ich in eine mp3 in mein Programm, die dann im Hintergrund permanent läuft und wenn sie fertig ist von neuem beginnt?
(Möchte die mp3 aber in das Programm integrieren und nicht auf einen Pfad verweisen!)
Das fertige Programm soll dann nach wie vor aus eine exe-Datei bestehen
 
Welche VB Version verwendest du?
Der Link könnte dir vieleicht helfen http://www.activevb.de/tipps/vb6tipps/tipp0017.html

Ich habe es jetzt mal nur mit nen Bild gemacht.

Bild als Ressource in dein Projekt einbinden, wenn du Visual Studio benutzt einfach per Drag and Drop in deine Projektmappe ziehen.
Dann die Eigenschaften des Bildes Wählen, dort muss nun die Option Buildaktion von „Inhalt“ auf „Eingebettete Ressource“ gestellt werden.

Der Code folgende lädt das Bild und zeigt es dann in einer PictureBox an.
Die du dir noch erstellen musst das heißt öffne dein Formular und ziehe dir die PictureBox von der Toolbar darauf.

Code:
        Dim thisExe As System.Reflection.Assembly
        thisExe = System.Reflection.Assembly.GetExecutingAssembly()

'GetManifestResourceStream("NamedeinerApplikation.BildName.Typ")
        Dim file As System.IO.Stream = _
            thisExe.GetManifestResourceStream("WindowsApplication2.logo.gif")

        Me.PictureBox1.Image = Image.FromStream(file)
 
Ich verwende Microsoft Visual Basic 2005 Express Edition.

Ich weis nicht so recht was ich mit deiner Beschreibung für dieses Bild jetzt anfangen soll. Ebenso ist der Link den du mir da gegeben hast nicht besonders hilfreich, da das beschriebene mir schlichtweg zu "hoch" ist und ich ActiveVB als Hauptinformationsquelle benutzte und den Beitrag schon kannte und ich keinen FileGraphManager habe oder nicht weiß was das ist.

Noch was. Hab da grad son Problem mit meinem Exit Button.
Code:
Private Sub cmdexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexit.Click
End
End Sub

Als Fehler oder Hinweis bessergesagt bekomm ich folgendes, weil funktionieren tut der Button?!
Fehler bei der Anforderung des Berechtigungstyps System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.

Was heißt das?
Und erkläre mir bitte nochmal wie ich das mit deinem Bild jetzt mit einer mp3 bewerkstelligen kann.
Geht es vielleicht leichter, wenn ich den WMP als Formelement integriere?
 
Zuletzt bearbeitet:
ich dachte mir das so, das du den file As System.IO.Stream nimmst und ihn weiter bearbeitest. wenn man den stream erstmal im Programm hat muss man denke ich ihn nur auswerten. wie genau weis ich leider auch nicht,in C# hab ich sowas schon gemacht, aber VB ist nicht gerade meine Stärke. Aber google weis alles :).
 
Also ich muss jetzt leider nochmal fragen tut mir leid aber ich schaffs einfach nicht.

1. Wie spiele ich eine MP3 (keine Wave, weil die sind rießig) in einer Visual-Basic-2005-Express-Edition-Anwendung ab?
2. Wenn 1. geschafft ist, was schon mal ne rießen Hürde für mich ist, wie integriere ich diese in die fertige exe Datei ohne auf irgend nem Pfad zu verlinken?
3. Wie ihr das anstellt ist mir egal! Ob mit dem Windows Media Player Form, der API Methode (was immer das sein mag) oder sonst was hauptsache es geht.

Und verlinkt mich bitte nicht zu irgend ner Seite und sagt dann "da stehts doch" (insbesondere www.vb-fun.de). Diese Methoden funktionieren bei mir alle nicht so wie sie sollen. (Die Beispiele scheinen alle nicht mit VB 2005 Express kompatibel zu sein)
Ich hab schon gegoogelt bis ich schwarz wurde. Man wird überall nur zu den selben Seiten weiterverlinkt. Die kommen mir aber alle schon etwas älter vor.
Insbesondere wenn die Tutorials schon so anfangen: "Da ja mp3s immer beliebter werden ...", leute die gibts schon ehwig!

Es kann ja wohl nicht so schwer sein einfach nur eine mp3 im Hintergrund abspielen zu lassen? Gibts da nicht irgend ne Form wo ich einfach meine mp3 wähle, die Form auf Visible=false setzte und gut is. Ich dachte Visual Basic ist so einfach.

Ich danke jedem der mir dabei weiterhelfen kann.
Danke Danke Danke
 
Zuletzt bearbeitet:
Wie weise ich einem Steuerelement z.B. einer Textbox einen Text mittels befehl zu, also nicht mit dem Menü rechts?
Wenn ich es so schreibe: TextBox.Text = "Hallo"
dann erscheint der Text in der TextBox erst, nachdem ich sich anspreche.
Wie aber mach ich es, das der Text bei Programmstart drin steht?

EDIT: Gelöst mit der Form_Load() Funktion!
 
Zuletzt bearbeitet:
OK #19 hat sich erledigt ^^
Das mit den MP3s geht nach wie vor nicht in VB2005 und jetzt möchte ich wissen wieso ich mein Fenster nicht mit der Maus verschieben kann wenn ich die ControlBox deaktiviere (X-, Mini/Maximieren-Button, Titel usw.)?
Locked-Eigenschaft = False
Ansonsten weiß ich nicht was ich sonst noch einstellen muss.

Danke für Hilfe
 
Zurück
Oben