
Alle buchstaben miteinander verknüpfen?
- PureBasic4.0
- Beiträge: 785
- Registriert: 29.10.2006 17:26
- Wohnort: 127.0.0.1
Hier ein Trick, der mir in ähnlichen Fällen immer geholfen hat:
Mach mal drei Routinen, eine für 3 Zeichen, 4 Zeichen & 5 Zeichen lange Passwörter. Jetzt vergleichst du die 3 Routinen und - aha - es ist jedes Mal immer nur eine bestimmte Zahl anders.
Daraus folgt: Mach ne Schleife, die diese Zahl verändert.
Es könnte sein, da so ne tolle Sache wie das hier rauskommt
PS: Ich bin mir ziemlich sicher, dass du an dieser Sache gerade festhängst. Normalerweise denkt man nicht an so einen Schleifenverbund.
Mach mal drei Routinen, eine für 3 Zeichen, 4 Zeichen & 5 Zeichen lange Passwörter. Jetzt vergleichst du die 3 Routinen und - aha - es ist jedes Mal immer nur eine bestimmte Zahl anders.
Daraus folgt: Mach ne Schleife, die diese Zahl verändert.
Es könnte sein, da so ne tolle Sache wie das hier rauskommt

Code: Alles auswählen
For Buchstaben = 1 To 10
For bla = 1 To Buchstaben
; blubb
Next
Next
PS: Ich bin mir ziemlich sicher, dass du an dieser Sache gerade festhängst. Normalerweise denkt man nicht an so einen Schleifenverbund.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- PureBasic4.0
- Beiträge: 785
- Registriert: 29.10.2006 17:26
- Wohnort: 127.0.0.1
Ich habe jetzt mal folgenden code geschrieben:
Nur wie schaffe ich es, dass ich in eine Variable, z.b. TextLaenge, schreiben kann, wie lang das Kennwort sein soll und das Prog dann auch diese Länge benutzt? ich kann ja schlecht für jede TextLänge einen Extra Code schreiben...
Code: Alles auswählen
MyAlphabet$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
For a = 0 To Len(MyAlphabet$)
String$ = Mid(MyAlphabet$,a,1)
Debug String$
Next
Debug "--------------------------------------"
Debug "2 Zeichen..."
Debug "--------------------------------------"
For a = 0 To Len(MyAlphabet$)
For b = 0 To Len(MyAlphabet$)
String1$ = Mid(MyAlphabet$,a,1)
String2$ = Mid(MyAlphabet$,b,1)
String$ = String1$ + String2$
Debug String$
Next
Next
Debug "--------------------------------------"
Debug "3 Zeichen"
Debug "--------------------------------------"
For a = 0 To Len(MyAlphabet$)
For b = 0 To Len(MyAlphabet$)
For c = 0 To Len(MyAlphabet$)
String1$ = Mid(MyAlphabet$,a,1)
String2$ = Mid(MyAlphabet$,b,1)
String3$ = Mid(MyAlphabet$,c,1)
String$ = String1$ + String2$ + String3$
Debug String$
Next
Next
Next
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
- Deluxe0321
- Beiträge: 336
- Registriert: 19.05.2006 00:31
- Kontaktdaten:
Ich wollte mal das selbe machen, hatte das Passwort von einem eigenen Programm vergessen
Der Code ist vom Remi_Meier, find ihn ganz nützlich & es hat funktioniert!
Aber damit er so wie du willst funktioniert musst du ihn wohl noch ein wenig umschreiben.

Der Code ist vom Remi_Meier, find ihn ganz nützlich & es hat funktioniert!
Aber damit er so wie du willst funktioniert musst du ihn wohl noch ein wenig umschreiben.
Code: Alles auswählen
Global id,n
Declare visit(k) ;der name kommt von einer procedure, die für das durchsuchen von graphen gedacht ist
Structure meinstring
String.b[26]
EndStructure
Global *k.meinstring
*k.meinstring=@"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
n=1 ;anz. zu permutierende zahlen
Global Dim Vali(n) ;array, welches die zahlen aufnimmt
id=-1 ;muss mit -1 initialisiert werden
visit(0) ;(start bei knoten 0)
For a=2 To 26
n=a
ReDim Vali(a)
id=-1
visit(0)
Next
Procedure visit(k)
id+1
Vali(k)=id
If id=n
For z=1 To n
stt.s+Str(Vali(z))
str.s+Chr(*k\String[Vali(z)-1])
Next
Debug str
stt=""
EndIf
For t=1 To n
If Vali(t)=0
visit(t)
EndIf
Next
id-1
Vali(k)=0
EndProcedure
- PureBasic4.0
- Beiträge: 785
- Registriert: 29.10.2006 17:26
- Wohnort: 127.0.0.1
Hey, der Code funktioniert ja wirklich....
Der ist aber wirklich ein bisschen zu kompliziert für mich. Ich habe mich noch nicht mit sowas befasst:
Was genau soll das eigentlich bringen? Wie funktoinert das ganze? Kann mir den Code mal bitte jemand erklären? Es geht mir ja nicht darum, dass ich endlich einen funktionierenden Code habe, sondern, dass ich verstehe, was in solchen Codes gemacht wird...
Der Code ist finde ich ein bisschen komisch von den Variablennamen her aufgebaut. Wenn man den selbst geschrieben hat, blickt man natürlich noch durch. Aber wenn den ein außenstehender sieht, versteht der erstmal nur Bahnhof.
Der ist aber wirklich ein bisschen zu kompliziert für mich. Ich habe mich noch nicht mit sowas befasst:
Code: Alles auswählen
Chr(*k\String[Vali(z)-1]
Der Code ist finde ich ein bisschen komisch von den Variablennamen her aufgebaut. Wenn man den selbst geschrieben hat, blickt man natürlich noch durch. Aber wenn den ein außenstehender sieht, versteht der erstmal nur Bahnhof.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Du hast meinen Text nur halb gelesen. Vergleiche beide Sachen. Suche die Unterschiede.PureBasic4.0 hat geschrieben:Code: Alles auswählen
MyAlphabet$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" For a = 0 To Len(MyAlphabet$) String$ = Mid(MyAlphabet$,a,1) Debug String$ Next Debug "--------------------------------------" Debug "2 Zeichen..." Debug "--------------------------------------" For a = 0 To Len(MyAlphabet$) For b = 0 To Len(MyAlphabet$) String1$ = Mid(MyAlphabet$,a,1) String2$ = Mid(MyAlphabet$,b,1) String$ = String1$ + String2$ Debug String$ Next Next Debug "--------------------------------------" Debug "3 Zeichen" Debug "--------------------------------------" For a = 0 To Len(MyAlphabet$) For b = 0 To Len(MyAlphabet$) For c = 0 To Len(MyAlphabet$) String1$ = Mid(MyAlphabet$,a,1) String2$ = Mid(MyAlphabet$,b,1) String3$ = Mid(MyAlphabet$,c,1) String$ = String1$ + String2$ + String3$ Debug String$ Next Next Next
Simpel gesagt, gibts pro 1 Zeichen Länge, eine Schleife und ein Mid(Bla, Bla, Bla) mehr. Die Anzahl der Schleifen und Mid() kann man doch wiederum von einer Schleife machen lassen. Los, los, streng deine grauen Zellen an, du bist kurz vor der Lösung ^^
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- PureBasic4.0
- Beiträge: 785
- Registriert: 29.10.2006 17:26
- Wohnort: 127.0.0.1
@Laurin: ich würde gerne den Publikumsjoker nehmen!
@all: den Code hab ich gerade geschrieben:
Nur wie komme ich an die StartPosition im Mid-Befehl? ich würde es ja mit schleifen machen, aber dazu müsste ich ja auch wieder alles einzeln proggen 
@all: den Code hab ich gerade geschrieben:
Code: Alles auswählen
MyAlphabet$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
#PwLaenge = 10
Dim Zeichen$(#PwLaenge)
For Laenge = 0 To #PwLaenge
Zeichen$(Laenge) = Mid(MyAlphabet$,?,1)
Next

Zuletzt geändert von PureBasic4.0 am 17.07.2007 15:32, insgesamt 2-mal geändert.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Hier mal ein Beispiel mit zwei Buchstaben:
Die Erweiterung zu beliebig vielen Buchstaben sollte nun nicht mehr so schwer sein.
Mfg DerProgger
Code: Alles auswählen
Structure MyStruc
Char.s{1}
Pos.c
EndStructure
#Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
Dim Char.MyStruc(1)
Char(0)\Char = "A"
Char(0)\Pos = 1
Char(1)\Char = "A"
Char(1)\Pos = 1
Repeat
Debug Char(0)\Char + Char(1)\Char
If Char(1)\Pos < Len(#Chars)
Char(1)\Pos + 1
Char(1)\Char = Mid(#Chars,Char(1)\Pos,1)
ElseIf Char(0)\Pos < Len(#Chars)
Char(0)\Pos + 1
Char(0)\Char = Mid(#Chars,Char(0)\Pos,1)
Char(1)\Pos = 1
Char(1)\Char = "A"
Else
Break
EndIf
ForEver
Mfg DerProgger
Zuletzt geändert von Sicro am 17.07.2007 15:31, insgesamt 1-mal geändert.
- PureBasic4.0
- Beiträge: 785
- Registriert: 29.10.2006 17:26
- Wohnort: 127.0.0.1
@DerProgger und Deluxe0321:
Nehmt es mir bitte nicht übel, aber ich finde meinen Code (wenn der dann irgendwann mal funktioniert) um einiges übersichtlicher. Mit MemoryBuffers und ReDim und dem ganzen Zeug habe ich zwar schon einiges gemacht, aber nicht in diesem Ausmaße.
. Ich möchte meinen Code zu Ende schreiben. 
@DerProgger: Danke für das Beispiel, ich werde es mir mal durchschauen, denke aber nicht, dass ich diesen Code für meine weiteren Projekte verwenden könnte.
Nehmt es mir bitte nicht übel, aber ich finde meinen Code (wenn der dann irgendwann mal funktioniert) um einiges übersichtlicher. Mit MemoryBuffers und ReDim und dem ganzen Zeug habe ich zwar schon einiges gemacht, aber nicht in diesem Ausmaße.


@DerProgger: Danke für das Beispiel, ich werde es mir mal durchschauen, denke aber nicht, dass ich diesen Code für meine weiteren Projekte verwenden könnte.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64