vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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: 19.05.11 18:55

Hallo,

um die Daten direkt in eine Datei zu schreiben, müsste die Funktion so geändert werden:

Public Type ArrayWrapper
    Arr() As Long
End Type
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
    Do While Indizes(0) <= UBound(Arrs(0).Arr)
        ZahlKommtBereitsVorIndex = -1
        For i = 0 To UBound(Arrs)
            Zahl(i) = Arrs(i).Arr(Indizes(i))
            For j = 0 To i - 1
                If Zahl(j) = Zahl(i) Then
                    ZahlKommtBereitsVorIndex = i
                    Exit For
                End If
            Next
        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
            End If
        Next
    Loop
    Close FileNr 'Datei schließen
End Sub
 
Private Sub WriteLine(FileNr As Long, Zahl() As Long)
    Dim i As Long
    Dim AusgabeString As String
    AusgabeString = ""
 
    Dim IstZahlAufsteigend As Boolean
    IstZahlAufsteigend = True
    For i = 0 To UBound(Zahl) - 1
        If Zahl(i + 1) < Zahl(i) Then IstZahlAufsteigend = False
    Next
 
    If IstZahlAufsteigend Then
        For i = 0 To UBound(Zahl)
            If i > 0 Then AusgabeString = AusgabeString & ","
            AusgabeString = AusgabeString & Zahl(i)
        Next
        Print #FileNr, AusgabeString
    End If
End Sub
Das Einlesen der zu benutzenden Zahlen sollte normalerweise in ein Array erfolgen, sonst musst du ja, wie du schon schreibst, für jede Zahl eine extra Variable verwenden. Und das Zusammenfügen in den String funktioniert so auch nicht, da du ja den Variablennamen im String hast, anstatt den String erst unter Verwendung der Variablen zusammenzusetzen.

Allerdings wäre es hier einfacher, wenn du beispielsweise die einzelnen, zur Verfügung stehenden Zahlen in eine Datei durch Komma getrennt schreibst, wobei eine Zeile jeweils für eine Zahlengruppe steht. Also dass die Datei z.b. so aussieht:
1,2,3,4,5
2,3,4,5,6
7,8
5,6,7,8,9,10,11,12
10,13,15
20,21,22
Dann könnte man die Datei einfach so einlesen und die Zahlen generieren:
Dim i As Long, j As Long
 
Dim Dateiinhalt As String
Open "Zahlen.txt" For Binary As 1
Dateiinhalt = Space(LOF(1))
Get 1, , Dateiinhalt
Close 1
Dim ArraysString() As String
ArraysString = Split(Dateiinhalt, vbCrLf)
 
Dim ArrWrappers() As ArrayWrapper
ReDim ArrWrappers(UBound(ArraysString))
For i = 0 To UBound(ArrWrappers)
    Dim Zahlen() As String
    Zahlen = Split(ArraysString(i), ",")
    ReDim ArrWrappers(i).Arr(UBound(Zahlen))
    For j = 0 To UBound(ArrWrappers(i).Arr)
        ArrWrappers(i).Arr(j) = CLng(Zahlen(j))
    Next
Next
 
 
'Zahlen generieren
GenerateZahlen ArrWrappers, "ZahlenErgebnis.txt"
Dann werden die erzeugten Zahlen in die Datei "ZahlenErgebnis.txt" gespeichert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zahlenkombinationen generieren ???2.073JBL18.05.11 11:48
Re: Zahlenkombinationen generieren ???1.263JBL18.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.189JBL18.05.11 18:22
Re: Zahlenkombinationen generieren ???1.203JBL19.05.11 09:48
Re: Zahlenkombinationen generieren ???1.257Preisser19.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.154JBL19.05.11 16:10
Re: Zahlenkombinationen generieren ???1.283Preisser19.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.145JBL19.05.11 19:25
Re: Zahlenkombinationen generieren ???1.209Preisser19.05.11 19:39
Re: Zahlenkombinationen generieren ???1.189JBL19.05.11 19:44
Re: Zahlenkombinationen generieren ???1.177Preisser19.05.11 19:52
Re: Zahlenkombinationen generieren ???1.187JBL19.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.173JBL20.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.081JBL22.05.11 12:30
Re: Zahlenkombinationen generieren ???1.140JBL24.05.11 21:25
Re: Zahlenkombinationen generieren ???1.054Preisser24.05.11 21:31
Re: Zahlenkombinationen generieren ???1.093JBL24.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.063Preisser26.05.11 13:08
Re: Zahlenkombinationen generieren ???1.103JBL26.05.11 15:03
Re: Zahlenkombinationen generieren ???1.112Preisser26.05.11 15:24
Re: Zahlenkombinationen generieren ???1.083JBL26.05.11 16:14
Re: Zahlenkombinationen generieren ???1.083Preisser26.05.11 23:55
Re: Zahlenkombinationen generieren ???1.061JBL27.05.11 06:55
Re: Zahlenkombinationen generieren ???1.148Preisser27.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