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

Visual-Basic Einsteiger
Re: Zahlenkombinationen generieren ??? 
Autor: Preisser
Datum: 26.05.11 23:55

Hallo,

ich glaube, das wird die Geschwindigkeit nicht verbessern, da der Aufruf jetzt eh schon relativ selten ist.

Was man aber noch machen könnte, wenn du sowieso nur die austeigenden Zahlen brauchst, ist, dass man auch nur die aufsteigenden Zahlen generiert. Ändere mal die GenerateZahlen-Funktion so (habs aber nicht getestet):
Public Sub GenerateZahlen(Arrs() As ArrayWrapper, Dateiname As String)
    Dim FileNr As Long
    FileNr = FreeFile
    Open Dateiname For Output As FileNr ' Datei öffnen
    Dim i As Long, j As Long
    Dim AktAnzahlZahlen As Long
    Dim Indizes() As Long, Zahl() As Long
    ReDim Indizes(UBound(Arrs))
    ReDim Zahl(UBound(Arrs))
    Dim ZahlKommtBereitsVorIndex As Long
    Dim LetzterAufruf As Long
    Do While Indizes(0) <= UBound(Arrs(0).Arr)
        Dim AktTickCount As Long
        AktTickCount = GetTickCount()
        If LetzterAufruf + 100 <= AktTickCount Or LetzterAufruf > _
          AktTickCount Then  '100 ms abstand
            LetzterAufruf = AktTickCount
            ProgressBar1.Value = 100 * (Indizes(0) + 1) / (UBound(Arrs(0).Arr) _
              + 1)
            DoEvents
        End If
 
        Dim VorigerWeiterschaltungsIndex As Long
        VorigerWeiterschaltungsIndex = ZahlKommtBereitsVorIndex
        ZahlKommtBereitsVorIndex = -1
        For i = VorigerWeiterschaltungsIndex To UBound(Arrs)
            Zahl(i) = Arrs(i).Arr(Indizes(i))
            If i > 0 And i < UBound(Arrs) And Zahl(i - 1) >= Zahl(i) Then
                ZahlKommtBereitsVorIndex = i
                Exit For
            Else
                Dim Rausgehen As Boolean
                Rausgehen = False
                For j = 0 To i - 1
                    If Zahl(j) = Zahl(i) Then
                        ZahlKommtBereitsVorIndex = i
                        Rausgehen = True
                        Exit For
                    End If
                Next
                If Rausgehen Then Exit For
            End If
        Next
 
        If ZahlKommtBereitsVorIndex < 0 Then
            ' Zahl in Datei schreiben
            WriteLine FileNr, Zahl
            AktAnzahlZahlen = AktAnzahlZahlen + 1
            ZahlKommtBereitsVorIndex = UBound(Arrs)
        End If
 
        'Weiterschalten
        Indizes(ZahlKommtBereitsVorIndex) = Indizes(ZahlKommtBereitsVorIndex) + _
          1
        For i = ZahlKommtBereitsVorIndex To 1 Step -1
            If Indizes(i) > UBound(Arrs(i).Arr) Then
                Indizes(i) = 0
                Indizes(i - 1) = Indizes(i - 1) + 1
            Else
                Exit For
            End If
        Next
    Loop
    Close FileNr 'Datei schließen
End Sub
Da dann eh nur diese Zahlen generiert werden, kann die erneute Prüfung in WriteLine entfallen. Du kannst diese also so ändern:
Private Sub WriteLine(FileNr As Long, Zahl() As Long)
    Dim i As Long
    Dim AusgabeString As String
    AusgabeString = ""
 
    For i = 0 To UBound(Zahl)
        If i > 0 Then AusgabeString = AusgabeString & ","
        AusgabeString = AusgabeString & Zahl(i)
    Next
    Print #FileNr, AusgabeString
End Sub


Beitrag wurde zuletzt am 26.05.11 um 23:57:11 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zahlenkombinationen generieren ???2.073JBL18.05.11 11:48
Re: Zahlenkombinationen generieren ???1.264JBL18.05.11 12:48
Re: Zahlenkombinationen generieren ???1.242Dirk18.05.11 13:05
Re: Zahlenkombinationen generieren ???1.260JBL18.05.11 15:51
Re: Zahlenkombinationen generieren ???1.218Zardoz18.05.11 16:43
Re: Zahlenkombinationen generieren ???1.190JBL18.05.11 18:22
Re: Zahlenkombinationen generieren ???1.204JBL19.05.11 09:48
Re: Zahlenkombinationen generieren ???1.258Preisser19.05.11 12:35
Re: Zahlenkombinationen generieren ???1.345JBL19.05.11 14:37
Re: Zahlenkombinationen generieren ???1.304Preisser19.05.11 14:51
Re: Zahlenkombinationen generieren ???1.155JBL19.05.11 16:10
Re: Zahlenkombinationen generieren ???1.284Preisser19.05.11 17:58
Re: Zahlenkombinationen generieren ???1.170JBL19.05.11 18:25
Re: Zahlenkombinationen generieren ???1.299Preisser19.05.11 18:55
Re: Zahlenkombinationen generieren ???1.146JBL19.05.11 19:25
Re: Zahlenkombinationen generieren ???1.210Preisser19.05.11 19:39
Re: Zahlenkombinationen generieren ???1.190JBL19.05.11 19:44
Re: Zahlenkombinationen generieren ???1.178Preisser19.05.11 19:52
Re: Zahlenkombinationen generieren ???1.188JBL19.05.11 20:16
Re: Zahlenkombinationen generieren ???1.188Dirk19.05.11 11:14
Re: Zahlenkombinationen generieren ???1.232JBL19.05.11 21:39
Re: Zahlenkombinationen generieren ???1.147Preisser19.05.11 22:47
Re: Zahlenkombinationen generieren ???1.174JBL20.05.11 05:48
Re: Zahlenkombinationen generieren ???1.191JBL20.05.11 06:39
Re: Zahlenkombinationen generieren ???1.214JBL20.05.11 06:57
Re: Zahlenkombinationen generieren ???1.226Preisser20.05.11 13:19
Re: Zahlenkombinationen generieren ???1.082JBL22.05.11 12:30
Re: Zahlenkombinationen generieren ???1.141JBL24.05.11 21:25
Re: Zahlenkombinationen generieren ???1.054Preisser24.05.11 21:31
Re: Zahlenkombinationen generieren ???1.094JBL24.05.11 22:19
Re: Zahlenkombinationen generieren ???1.111Preisser25.05.11 00:25
Re: Zahlenkombinationen generieren ???1.097JBL25.05.11 06:52
Re: Zahlenkombinationen generieren ???1.064Preisser26.05.11 13:08
Re: Zahlenkombinationen generieren ???1.104JBL26.05.11 15:03
Re: Zahlenkombinationen generieren ???1.112Preisser26.05.11 15:24
Re: Zahlenkombinationen generieren ???1.084JBL26.05.11 16:14
Re: Zahlenkombinationen generieren ???1.084Preisser26.05.11 23:55
Re: Zahlenkombinationen generieren ???1.061JBL27.05.11 06:55
Re: Zahlenkombinationen generieren ???1.149Preisser27.05.11 13:55
Re: Zahlenkombinationen generieren ???1.078JBL28.05.11 18:45

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