Alle buchstaben miteinander verknüpfen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

FETTES DANKE! Es funktioniert
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Es gibt jetzt nur noch ein klitzekleines Problem. Habe es jetzt erstmal mit dem einfachen, lansamen Code versucht, und folgenden Code gebastelt:

Code: Alles auswählen

Procedure Main()
  [...]
  a = 0
  Len = Len(MyAlphabet$)
  Repeat
    Repeat
      OutputString$ = ""
      For i = PWLength - 1 To 0 Step -1
        OutputString$ + Mid(MyAlphabet$,CharPos(i),1)
      Next
      If Len(OutputString$) = 4
        Debug OutputString$
        Delay(250)
      EndIf
      [...]
      PassPos = 0
      Repeat
        If CharPos(PassPos) < Len(MyAlphabet$)
          CharPos(PassPos) + 1
          Break
        ElseIf PassPos < PWLength - 1
          PassPos + 1
        Else
          Break 2
        EndIf
      ForEver
       
      For i = 0 To PassPos - 1
        CharPos(i) = 1
      Next
    ForEver
    PWLength + 1
    ReDim CharPos(PWLength - 1)
    CharPos(PWLength - 1) = 0
  ForEver
EndProcedure

If OpenPreferences("settings.set")
  If FileSize("settings.set") <> 0
    MyAlphabet$ = ReadPreferenceString("Letters","")
    File$ = ReadPreferenceString("File","")
    SetGadgetText(#PWSave,File$)
    GlobalProgress$ = ReadPreferenceString("Progress","")
    PWLength = Len(GlobalProgress$)
    ReDim CharPos(PWLength - 1)
    For a = 1 To PWLength
      Buchstabe$ = Mid(GlobalProgress$,a,1)
      Position = FindString(MyAlphabet$,Buchstabe$,0)
      CharPos(a-1) = Position
    Next
    [...]
Alle benötigten Varialben sind geglobalt.

Angenommen, ich habe bei aabs aufgehört und möchte dort wieder anfangen. Folgendes passiert:

Code: Alles auswählen

sbaa
sbab
sbac
sbad
sbae
sbaf
sbag
sbah
sbai
sbaj
sbak
sbal
sbam
sban
sbao
sbap
sbaq
sbar
sbas
sbat
sbau
sbav
sbaw
sbax
sbay
sbaz
sbba
sbbb
sbbc
sbbd
sbbe
[...]
Die Buchstaben werden also einfach nur falsch herum ausgegeben. Die Zeile

Code: Alles auswählen

     For i = PWLength - 1 To 0 Step -1
möchte ich nicht in

Code: Alles auswählen

     For i = 0 To PWLength - 1
umschreiben, weil ich die Buchstaben ja von hinten aufgebaut haben will.

Was muss ich tun, damit aabs statt sbaa herauskommt?

Ich denke, dass ist wirklich nur eine Kleinigkeit und ich stehe wieder mal auf dem Schlauch :cry:
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

OK. Ich hab's gerade selbst fertig gebracht. NOCHMAL FETTES DANKE!!!
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Antworten