Archive: Maintaining Functions


Maintaining Functions
I saw that I have a lot of functions in the Archive under my name and not updated. And I'm saying now that I won't update them assuming that I already have much more important projects than most of the projects I have in Archive. I'm making them available to other people who want to maintain them. But I just request a small thing in return: my name (or "deguix") as their older version producer of those functions.

Functions that are available to be maintained:

- Download Using Mirrors.
- Detect System Language.
- Detect Drives.
- Search File or Directory (Alternative).
- Get Local Time.
- How to Detect If "Do not create shortcuts" is Checked.
- File Modified Date and Time.
- Date and Time Convertion to Seconds and Vice-Versa.

Projects that are available to be maintained not in Archive at this moment (but in the forums):

- Create and Read Bitmaps.
- ProgressBar Banner.
- Extended WinMessages. (if someone takes this from here will have a llllooooottttttt of work to do)

Functions that are to be removed from the Archive (except if someone wants them whithin some time):

- CreateFont API.
- Wait File Execution Registry Based.
- Mathematical Operation.
- Multiplication with Percentage.
- Idioma Português BR patch for Civ Evolution Game.

Functions that I will continue to maintain:

- Advanced Search in String.
- Advanced File Size. (my first modified function)

Pages that I wanted Archive maintainers to maintain for me (and at least put my name to identify who created the page):

- Download all functions in a click.
- Page Visits Counter.
- Pages Organization.
- Page list in User Profile.

Ideas for functions that I have this moment (I'm too kind to share them also):

- Collection of Windows API !defines or !macros ready to be used with System plugin. Like:

!define sMessageBox "user32::MessageBoxA(i, t, t, i) i"
Or
!macro sMessageBox ReturnVar hWnd lpText lpCaption uType
System::Call "user32::MessageBoxA(i ${hWnd}, t ${lpText}, t ${lpCaption}, i ${uType}) i ${ReturnVar}"
!macroend

(For this would be great to have a collection of messages !defines)

- A program version of Archive which enables the user to update, remove, rearrange, add and store pages in your computer easier than never.

- Zip2Exe hugely expanded so it allows much more features than any other Self-Extractor program existant. (because it's free! :) And because it's it's made by an installer maker :))

- NSISdl: Someone should expand it's features or even make an integration InstallOptions w/ NSISdl (to make NSISdl page that appears when downloading)

- InstallOptions: Would be great if there has a way to create dialogs (not just installer pages) which would make Banner plugin outdated.

- A StartMenu page version that allows the user to select for what users do he/she wants to install the program (if he/she has permission rights). I never saw that for ANY installer.

- Splash plugin: I treat AdvSplash as version 2.1 and Splash as 2.0, why are two versions of the same thing under one package? Is that because of 1.5 kb difference? (If I would care on that we wouldn't do anything in this world, right?)

- All the useful functions in the documentation should be in a header file, but mentioning them in the documentation (also about the StrFunc, hehehe...). Makes user's life easier.

Observations I have about NSIS itself:

- NSISdt: It has a program with the time, but this is not plugin's fault, it's C language's fault. If someone would fix it, would increase dramatiscly the size.

- Dialer: Its functions could be used with System plugin. That would cut down some kb. The same message is for all plugins that have this same size. (except if they are complicated to do, as Splash plugin.) If you know, every plugin has to occupy a required minimum of 4 kb each (generally talking).

Collection of Windows API !defines or !macros ready to be used with System plugin
i'll start creating a new header-file with some, i know already. anyone interrested in cooperation?

done the first part of it.
i hope, something else will enhance it, because i don't have the time to include all the functions stored at msdn.

the job is easy: mostly copy&paste from msdn, some thinking about the variable types.

attached the initial version.


Wow, that was really fast. Man, there are already some examples of !defines of some API's in the System.nsh file inside "Contrib\System" folder. Those are tested so you can be sure that they work.


maybe i'll check them later. at all, it isn't really hard to extract the right syntax from msdn, as it's explained very well there.

i think, the target is, to include as many functions from windows api as possible. but this takes lots of time, so i need help from others out there.