vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Und hier das Projekt 
Autor: ModeratorDieter (Moderator)
Datum: 07.11.01 01:12

Hallo RVD,

so - hier nun das versprochene Projekt.

Alles, was Du für's Ausprobieren brauchst, ist eine Form, darauf eine ListBox (List1), sowie ein CommandButton (cmdRead). Dann einfach noch den kompletten nachfolgenden Code in den Codeteil der Form einfügen. Der Ablauf dürfte aufgrund der Auskommentierung leicht verständlich sein. Ach ja: Ich bin davon ausgegangen, dass die Datei, welche die Namen enthält sich im Anwendungsverzeichnis des Projekts befindet und namen.txt heisst. Desweiteren bin ich davon ausgegangen, dass die Namen untereinander stehen (alse jeder Name = eine Zeile in der Datei).
<code>Option Explicit
 
<font color=green>' Schnelle Suche innerhalb einer ListBox</font>
Private Declare Function SendMessage Lib "user32" Alias _
        "SendMessageA" (ByVal hwnd As Long, ByVal wMsg _
        As Long, ByVal wParam As Long, ByVal lParam As _
        String) As Long
 
Private Const LB_FINDSTRING = &H18F
 
<font color=green>' Prüft, ob ein Wert in einer ListBox enthalten ist
' und gibt als Ergebnis den ListIndex zurück
' (-1, wenn nicht vorhanden)</font>
Public Function IsInListe(Liste As ListBox, _
  ByVal Item As String) As Integer
 
  IsInListe = SendMessage(Liste.hwnd, _
    LB_FINDSTRING, -1, Item)
End Function
 
<font color=green>' Liste zufällig mit Namen füllen</font>
Private Sub cmdRead_Click()
  Dim strFilename As String
  Dim arrNamen() As String
  Dim strInhalt As String
  Dim Index As Long
  Dim nCount As Long
  Dim lCount As Long
  Dim F As Integer
 
  <font color=green>' Anzahl Namen</font>
  Const nMax = 40
 
  <font color=green>' Liste zurücksetzen</font>
  List1.Clear
 
  <font color=green>' Dateinamen, welche die Namensliste enthält</font>
  strFilename = App.Path & "
amen.txt"
 
  <font color=green>' Alle Namen einlesen</font>
  F = FreeFile
  Open strFilename For Binary As #F
  strInhalt = Space$(LOF(F))
  Get #F, , strInhalt
  Close #F
 
  <font color=green>' Namen in ein Array spliten</font>
  arrNamen = Split(strInhalt, vbCrLf)
 
  <font color=green>' Anzahl Namen (Größe des Arrays)</font>
  nCount = UBound(arrNamen)
 
  <font color=green>' Zufällig nMax-Namen ermitteln und in der Listebox
  ' anzeigen</font>
 
  <font color=green>' Zufallsgenerator zurücksetzen, so dass nicht
  ' jedesmal die gleichen Zufallszahlen ermittelt werden</font>
  Randomize -Timer
 
  <font color=green>' Zählervariable</font>
  lCount = 0
 
  Do Until lCount = nMax
    <font color=green>' Zufallszahl</font>
    Index = Int(nCount * Rnd)
 
    <font color=green>' Prüfen, ob diese Zahl bereits ermittelt wurde</font>
    If arrNamen(Index) <> "" Then
      <font color=green>' Zahl wurde noch nicht "gezogen"
      ' Jetzt prüfen, ob der Namen bereits in der
      ' Liste vorhanden ist...</font>
      If IsInListe(List1, arrNamen(Index)) < 0 Then
        <font color=green>' ...noch nicht in der Liste
        ' also hinzufügen</font>
        List1.AddItem arrNamen(Index)
      End If
 
      <font color=green>' Array-Element löschen - bedeutet, dass dieses
      ' Element bereits für die Liste berücksichtigt
      ' wurde</font>
      arrNamen(Index) = ""
    End If
 
    <font color=green>' Zähler um eins erhöhen</font>
    lCount = lCount + 1
  Loop
 
  <font color=green>' Fertig!</font>
  MsgBox "Die Liste ist vollständig!"
End Sub</code>
Viel Spaß damit!

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dateiarbeit in liste speichern HILFE!!!!!!52RVD06.11.01 12:26
Re: Dateiarbeit in liste speichern HILFE!!!!!!216ModeratorDieter06.11.01 12:46
Und hier das Projekt239ModeratorDieter07.11.01 01:12

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel