Problem mit String Übergabe...

Für allgemeine Fragen zur Programmierung mit PureBasic.
Gelitec
Beiträge: 12
Registriert: 29.08.2006 00:52

Problem mit String Übergabe...

Beitrag von Gelitec »

Ich habe ein Problem mit der Übergabe von Strings.
Ich vermute das es ein Bug in PureBasic ist. Die verwendete Version ist 4.01.

Also zum Problem.

Code: Alles auswählen

test$="dies ist ein Test"
text_to_encrypt$  = test$
...
...
Blowfish_Crypt(@text_to_encrypt$, Len(text_to_encrypt$), @password_for_encryption$, Len(password_for_encryption$), @Result$, Len(Result$), Flags)
...
...
Aus einem mir unverständlichen Grund funktioniert es so nicht. Obwohl der Wert von text_to_encrypt$ danach ="dies ist ein Test" ist funktioniert der Blowfish encrypt nicht, Result ist = ""

Wenn ich aber jetzt folgendes Codebeispiel nehme:

Code: Alles auswählen


text_to_encrypt$  = "dies ist ein Test"
...
...
Blowfish_Crypt(@text_to_encrypt$, Len(text_to_encrypt$), @password_for_encryption$, Len(password_for_encryption$), @Result$, Len(Result$), Flags)
...
...
Dann funktioniert es einwandfrei, weiß jemand woran das liegen könnte? Eigentlich dürfte das doch keinen Unterschied machen oder?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Blowfish_Crypt ist kein PB-Befehl.
wenn du irgendeine Userlib verwendest, kann es schon zu seltsamen verhaltensweisen kommen,
besonders im hinblick auf Unicode-unverträglichkeit.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

1.) Blowfish_Crypt kommt von hier
2.) Bevor wir anfangen Phantome zu suchen, solltest du vielleicht erst mal auf PB4.02 updaten. War ja schliesslich ein reines Bugfix-Release und sollte nicht wehtun.
3.) Unicode funktioniert in der Tat nicht, aber ich habe eh keine Verwendung mehr dafür ;)
Gelitec
Beiträge: 12
Registriert: 29.08.2006 00:52

Beitrag von Gelitec »

2.) Bevor wir anfangen Phantome zu suchen, solltest du vielleicht erst mal auf PB4.02 updaten. War ja schliesslich ein reines Bugfix-Release und sollte nicht wehtun.
Hab ich eben mal gemacht, bringt aber leider keine Änderung.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Es funktioniert einwandfrei!

Wenn du irgendwelche Hilfe erwartest, dann gib mal vernünftige Infos.
Z.B. ob du denn nun unicode aktiviert hast, und vor allem einen Beispielcode, den wir Dummbeutel auch ausprobieren können.
Gelitec
Beiträge: 12
Registriert: 29.08.2006 00:52

Beitrag von Gelitec »

Also Text wird eingegeben mittels EditorGadget in Test$ gespeichert und soll dann mit BlowfishCrypt verschlüsselt werden...

Code: Alles auswählen

;-EditText
            Case #EditText
             
                If EventType()=#PB_EventType_LeftClick 
                  
                  If OpenWindow(1,200,100,800,600, "ShowText", #PB_Window_SystemMenu | #PB_Window_TitleBar )
                    If CreateGadgetList(WindowID(1))
                      EditorGadget(#ST, 8, 8, 790, 590)
                      
                        Repeat 
                 
                        EventID.l = WindowEvent()
                         Delay(10)
                        Select EventID
                 
                        Case #PB_Event_CloseWindow
                        test$=GetGadgetText(#ST)
                        normalText=#True
                        loaded=#True
                        CloseWindow(1)

                        EndSelect
                      Until EventID = #PB_Event_CloseWindow
                   EndIf
                  EndIf
                EndIf 



;-encrypt

text_to_encrypt$  = test$

Blowfish_Crypt(@text_to_encrypt$, Len(text_to_encrypt$), @password_for_encryption$, Len(password_for_encryption$), @Result$, Len(Result$), Flags)

Result$ sollte dann eigentlich den verschlüsselten Text enthalten, ist aber leer.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Aha, das ist jetzt also der lauffähige Code, den ich ausprobieren soll ?
Ich bin raus... der nächste bitte.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Der mittlere Teil mit dem nicht so dollen Event-Loop könnte lauffähig sein Bild
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Gelitec
Beiträge: 12
Registriert: 29.08.2006 00:52

Beitrag von Gelitec »

Es ging lediglich darum zu erfahren ob dies ein Bug ist oder nicht. Dafür reichen die gegebenen Informationen vollkommen aus.

Der Text vom EditorObject wird in einer Variablen gespeichert und diese an die Blowfish-Routine übergeben, dass sollte eigentlich auch für Zitat: "Dummbeutel" verständlich sein und nachvollziehbar.
Der mittlere Teil mit dem nicht so dollen Event-Loop könnte lauffähig sein
Nur zur Info -> ein Guru zeichnet sich nicht durch Arroganz/Überheblichkeit aus.

Aber danke trotzdem für die Bemühungen. Ich bin dann auch raus.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Es ging lediglich darum zu erfahren ob dies ein Bug ist oder nicht. Dafür reichen die gegebenen Informationen vollkommen aus.
Ah ja? Für ne' UserLIB die rein gar nichts mit dem offizellen Produkt zu tun hat? Und mit code der sich ohne diese UserLIB gar nicht testen lässt? Ich glaube eher nicht...
Nur zur Info -> ein Guru zeichnet sich nicht durch Arroganz/Überheblichkeit aus.
Hör auf zu flennen. Du kannst bei solch äußerst dürftigen Informationen nix anderes erwarten.

Oder sollen wir hellsehen? Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten