copro
Goto Top

VB Mehrere Fragen zum Thema suchen, Variabel und Ausgabe

Hallo zusammen ich programmiere mein erstes Programm...

Nun haben sich doch einige Fragen angesammelt:

Die Erste und wichtigste Frage:

In dem Programm lade ich Dateien herunter, ob der Download erfolgreich war wird an ein Textfeld übergeben... Das ganze wird mit einem Loop wiederholt bis die List zu ende ist. in der liste wird lediglich der Name der Datei gespeichert.
Klappt soweit hervoragend. Nur ein Problem ergibt sich und zwar werden die Angaben erst am Ende des Loops an die Textbox weitergegeben, sprich sind es einige Dateien die er herunterläd sieht man garnichts bis alle unten sind und dann wird gleich der komplette Text angezeigt...

Ist das normal oder ein Programmierfehler meinerseits? Falls normal wie kann ich aus dem Loop ausbrechen um die Ausgaben wärend der Laufzeit zu machen?


Die zweite Frage:

Ich komm mit dem Suchen inerhalb einer Datei nicht klar...
Funktioniert es mit FindStr?
Ich möchte ein bestimmtes Wort in einer Datei suchen und wenn es gefunden wird die ganze Zeile in der sich das Wort befindet an eine weitere Datei übergeben...


Die dritte und blödste Frage ;) :

Kann ich die Dos-Variabeln wie %HOMEPATH% nicht nutzen? Hat bei mir auf jeden Fall so nicht geklappt...


MfG und Thx im Voraus

Copro

Content-Key: 26686

Url: https://administrator.de/contentid/26686

Printed on: April 24, 2024 at 15:04 o'clock

Mitglied: 16568
16568 Feb 22, 2006 at 20:53:13 (UTC)
Goto Top
Okay, erst ma herzlichen Glückwunsch, daß Du es mit VB probierst ^^
Ist für Anfänger meiner Meinung nach die bessere Lösung.
(bitte keine Tomaten aus dem Pascal/Delphi-Lager face-smile )

Die erste Frage kann man nur dann beantworten, wenn man den Code zum Programm kennt.
(z.B. wenn das Prog nicht ständig zwischendrin prüft, ob die Datei down ist, wird es erst am Schluß gezeigt)


Der Ansatz zur zweiten ist schon mal gar nicht so schlecht... face-smile


Und zur Dritten: Environ$.

Hier ma was dazu:


Option Explicit

Private Sub CommandButton1_Click()
    Dim X As Integer
    Dim Buffer As String
    
    X = 1
    Do
      Buffer = Environ$(X)
      If Len(Buffer) <> 0 Then
        ListBox1.AddItem Buffer
        X = X + 1
      Else
        Exit Do
      End If
    Loop
End Sub



Dazu eine einfache Form erstellen, darauf ma einen Command-Button und ein List-Feld.


Und wenn Du sie jetzt noch verändern willst:

Option Explicit

Private Declare Function GetEnvironmentVariable Lib _
        "kernel32.dll" Alias "GetEnvironmentVariableA" (ByVal _  
        lpName As String, ByVal lpBuffer As String, ByVal _
        nSize As Long) As Long

Private Declare Function SetEnvironmentVariable Lib _
        "kernel32.dll" Alias "SetEnvironmentVariableA" (ByVal _  
        lpName As String, ByVal lpValue As String) As Long

Private Sub Command1_Click()
    Call SetEnvironmentVariable("HALLO", "Wert von Hallo")  
    Command2.Enabled = True
End Sub

Private Sub Command2_Click()
    Dim Buffer As String
    Dim l As Long
    
    l = 256
    Buffer = String$(l, Chr$(0))
    
    l = GetEnvironmentVariable("HALLO", Buffer, l)  
    
    If l <> 0 Then
        Buffer = Left(Buffer, l)
        MsgBox ("Umgebungsvariable HALLO =" & Chr$(34) _  
               & Buffer & Chr$(34))
    End If
End Sub



So, bei weiteren Fragen... face-smile


Lonesome Walker
Member: copro
copro Feb 23, 2006 at 02:25:25 (UTC)
Goto Top
Hi Lonesome Walker thx schon mal.
Mein 1. Problem konnte ich mit DoEvent lösen...
am 2. häng ich grat
und das Beispiel von dir zu Problem Nummero 3 werd ich mir noch ansehen =) Sieht doch komplexer aus als erwartet mehr oder weniger versteh ich aber was es abgeht ^^


Edit:

Bin nun etwas weiter gekommen...
Kannst du mir noch sagen wieso die Like funktion nicht greift?

Open "data\reffirst.dat" For Input As #FNr
'auslesen bis zum Dateiende
Do While Not EOF(FNr)
'zeilenweise auslesen und übernehmen
Line Input #FNr, qw

For I = 0 To List1.ListCount - 1
If List1.List(I) Like qw & "*" Then
MsgBox "endlich"
End If
Next I
Loop

mfg copro