QuickUpload - instant uploads for your files
He cannot use MD5 or SHA-1, because he needs to decrypt the code again in order to read the password again. MD5 and SHA-1 are hashes that can only crypt into one direction (plain text => hash), but not the other way around.
PB 4.30
Code: Select all
onErrorGoto(?Fred)
???
He cannot crypt the user password with MD5. The password must be sent to the server as plain and undecrypted text. He should only crypt the password when he stores it in his ini-file.
When crypting the password for the ini-file, he cannot use MD5, because MD5 cannot be de-crypted any more; this is, because MD5 is a "hash cryption".
He can only use self-made cryptions or other methods that allow de-crypting like ROT13, Base64 or DES. he needs the ability to decrypt the password again, because (as I already said) the user password must be sent to the server as clear text.
I hope, you understand, what I mean. Otherweise I might have misunderstood you...?!
He cannot crypt the user password with MD5. The password must be sent to the server as plain and undecrypted text. He should only crypt the password when he stores it in his ini-file.
When crypting the password for the ini-file, he cannot use MD5, because MD5 cannot be de-crypted any more; this is, because MD5 is a "hash cryption".
He can only use self-made cryptions or other methods that allow de-crypting like ROT13, Base64 or DES. he needs the ability to decrypt the password again, because (as I already said) the user password must be sent to the server as clear text.
I hope, you understand, what I mean. Otherweise I might have misunderstood you...?!
PB 4.30
Code: Select all
onErrorGoto(?Fred)
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
I waited for the release of PB 4.30 to update this program as 4.30 Final brings much more stability to the FTP library.
Today's update includes:
-Code compiled in 4.30 Final
-User and Password data are stored in the .ini file with strong encryption
In the reasonably foreseeable future I'll be giving it a more professional installer, probably with Thorsten's EasySetup, which I like a lot. Also, release of sourcecode is coming.
Myself, my wife and a few friends use this constantly and we wouldn't be without it. It's so much handier than running a full FTP application just to upload a few files.
Today's update includes:
-Code compiled in 4.30 Final
-User and Password data are stored in the .ini file with strong encryption
In the reasonably foreseeable future I'll be giving it a more professional installer, probably with Thorsten's EasySetup, which I like a lot. Also, release of sourcecode is coming.
Myself, my wife and a few friends use this constantly and we wouldn't be without it. It's so much handier than running a full FTP application just to upload a few files.
BERESHEIT
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
I'm glad you like it, thx for feedback. The listicon gadget isn't subclassed but it does get a number of api messages sent to it. Its style is modified to add WS_CLIPCHILDREN and the progress bars are standard PB progressbar gadgets created normally and childed to the listicon using SetParent_(). I think you can accomplish the same thing by UseGadgetList(GadgetID(#ListIcon)) and then they're automatically children of the ListIcon on creation. This program is something of an odd bird in that each selected item in Windows Explorer invokes it, but only the first instance needs to create a window and gadgets etc. So it's got a mutex and if an instance finds that another instance of the program is already running, it just sends its data to the main window using #WM_COPYDATA and ends. When the first instance gets it it adds it to the list. But it's all the same program. I'll be posting the source soon.
BERESHEIT
-
- PureBasic Expert
- Posts: 2812
- Joined: Fri Apr 25, 2003 4:51 pm
- Location: Portugal, Lisbon
- Contact:
Interesting!
UseGadgetList(GadgetID(#ListIcon)) does work
Here's a quick example, press anywhere on the listicon:
UseGadgetList(GadgetID(#ListIcon)) does work

Here's a quick example, press anywhere on the listicon:
Code: Select all
Enumeration
#ListIcon_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 310, 252, 516, 320, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
;-
ListIconGadget(#ListIcon_0, 5, 40, 490, 250, "Column0", 100, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(#ListIcon_0, 1, "Column1", 100)
AddGadgetColumn(#ListIcon_0, 2, "Column2", 100)
EndIf
EndIf
EndProcedure
Open_Window_0()
UseGadgetList(GadgetID(#ListIcon_0))
ProgressBarGadget(10,100,100,50,10,0,100,#PB_ProgressBar_Smooth )
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = #ListIcon_0
For a=1 To 100
SetGadgetState(10, a)
Next
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End