• Welcome to Jose's Read Only Forum 2023.
 

(Freeware) Semens-PrePBEd for PB 8 (Update 04.08.2007 !)

Started by Theo Gottwald, August 03, 2007, 10:27:05 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Theo Gottwald

I just got the most actual Link for Semens great enhancement for the PB 8 - IDE [Version from 04.08.2007 - if yours is older please update]:


[Later Addition] Here you can see, whats it good for:
   '
   1) Additional hot keys in PB editor
   ' F12     - ANSI/OEM switch (OEM is default for CcEdit)
   ' Alt-F12 - paste symbols Chr$(32 .. 255)
   ' F11     - import .rc file
   '---------------------------------------------------------
   ' 2) Allows to copy forum's code directly
   '---------------------------------------------------------

   ' Example for builtin Resource-Preprocessor:
   '---------------------------------------------------------

   ' Use own path to resource.h !!!
   '===============================

   '% RC TEXT #include "C:\Pb\PbWin80\WinApi\resource.h"
   '% RC TEXT
   '% RC TEXT OemIcon      ICON Oem.Ico
   '% RC TEXT SelectedIcon ICON Selected.Ico
   '% RC TEXT
   '% RC TEXT // Version information
   '% RC TEXT VS_VERSION_INFO VERSIONINFO
   '% RC TEXT   FILEVERSION    1, 03, 1, 0
   '% RC TEXT   PRODUCTVERSION 1, 03, 1, 0
   '% RC TEXT   {
   '% RC TEXT   BLOCK "StringFileInfo"
   '% RC TEXT     {
   '% RC TEXT     BLOCK "040904E4"
   '% RC TEXT       {
   '% RC TEXT         VALUE "CompanyName",      "Semion Matusovskiy"
   '% RC TEXT         VALUE "FileDescription",  "Dll-spy for PbEdit/CcEdit"
   '% RC TEXT         VALUE "FileVersion",      "1.03"
   '% RC TEXT         VALUE "InternalName",     "PrePbEd.Dll"
   '% RC TEXT         VALUE "LegalCopyright",   "Public Domain"
   '% RC TEXT         VALUE "OriginalFilename", "PrePbEd.Dll"
   '% RC TEXT         VALUE "ProductName",      "PrePbEd for PB/WIN 8.* and PB/CC 4.*\0"
   '% RC TEXT         VALUE "ProductVersion",    "1.03\0"
   '% RC TEXT       }
   '% RC TEXT     }
   '% RC TEXT   BLOCK "VarFileInfo" { VALUE "Translation", 0x409, 1252 }
   '% RC TEXT   } 


'****************************************************************************
   '*             A WRAPPER FOR PB/CC AND PB/WIN COMPILER                      *
   '****************************************************************************
   '*                                                                          *
   '*  1. Attaching resource file (.Res) 'on fly' (after the compilation)      *
   '*  __________________________________________________________________      *
   '*                                                                          *
   '*    Include the contents of RC-file into main .BAS module. Add '% RC TEXT *
   '*  in each line from the left side. Example:                               *
   '*                                                                          *
   '*          '% RC TEXT 101 ICON Rc\Ltr.Ico                                  *
   '*          '% RC TEXT Sema BITMAP Ltr.Bmp                                  *
   '*                                                                          *
   '*    When you click "Compile" (or "Compile & Execute")  button in IDE, the *
   '*  wrapper  reads  main  bas-module  and  creates ~Tmp.Rc file  in current *
   '*  directory. Then are called Rc.Exe and PbRes.Exe.  Resulting ~Tmp.Pbr is *
   '*  renamed to a file, mentioned in PowerBasic $Resource metastatement.     *
   '*                                                                          *
   '*    Typically,  it's  not  necessary  to  create  .Pbr file each time. To *
   '*  prevent unnecessary operations, you can add the line                    *
   '*          '% RC COMPILE OFF                                               *
   '*    When necessary to re-compile again, change OFF to ON.                 *
   '*                                                                          *
   '*  2. Hiding imported dlls (after the compilation, before the execution)   *
   '*  _____________________________________________________________________   *
   '*                                                                          *
   '*    Syntax: '% DELAY LOAD LibName                                         *
   '*                                                                          *
   '*    LibName  should  be  the same as in the Lib parameter of PB's Declare *
   '*  Sub (Function) statement.                                               *
   '*                                                                          *
   '*  3. Attaching files after EOF of the compiled module (DLL, EXE)          *
   '*  ______________________________________________________________          *
   '*                                                                          *
   '*    Syntax: '% ATTACH Path ALIAS Alias                                    *
   '*                                                                          *
   '*    Example:                                                              *
   '*          '% ATTACH "C:\Zlb Dir\zlib.dll" ALIAS "zlib 1.14"               *
   '*                                                                          *
   '*    Alias is used in run-time inside LoadAttachedFile functions.          *
   '*                                                                          *
   '*  4. Changing subsystem                                                   *
   '*  _____________________                                                   *
   '*                                                                          *
   '*     Syntax: '% SUBSYSTEM Type         (Type = GUI or CONSOLE)            *
   '*                                                                          *
   '**************************************************************************** 
 


----------------------------------------------------------
[Late addition: 04.08.2007] like me, Semen is mostly developing in Win2k. under Win2k PrePBEd worked fine, but in WinXP there were minor problems. these are fixed now in an update from this date. Semen writes:

QuoteI found the reason of troubles with the new folder under XP.
PrePbEd subclasses 'edit' and didn't expect nested "edit"
You can update and to check.

Eros Olmi

What is supposed to do? How does it work?
I do not like to activate applications without an idea of what I should expect.

Thanks
Eros
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

Theo Gottwald

#2
PrePBEd is a Alternative for Jose's SED Editor.
Which has some problems with the Tsunami.dll on my system (crashes).

Also its 100% the Original PB-IDE, as Semen injected some code into it and makes it possible to use Tab's. I have attached a picture.

Besides the TABed-Feature it has some otehr possibilities, for example you do not need a ".rc" file.
Jose included the ".rc" preprocessor into SED also.

There are numerous other features described in the supplied Code, which are not there in the original PB-IDE.

For example, Semen writes:

QuoteMy pre-processor attaches the console on fly (when you compile an app in IDE).
It's enough to add a line

'% SUBSYSTEM CONSOLE is for PB/Win
'% SUBSYSTEM GUI is for PB/Cc


Or dynamic linking of DLL's:


QuoteGuess, you want something like delay import in MFC.
My PrePbEd allows to do it on fly (from PB IDE).
I declare functions like usual (static). %DELAY LOAD hides DLLs from Windows loader.
In run time I call special sub, which loads dll and resolves links


For those who can't use SED, PrePBEd is maybe the free Upgrade to the actual PB Editor.
There are other Tools here in this section of course, but this one is definitely free.



Eros Olmi

OK
I exploded ZIP into a directory.
Executed install. Install is able to find correct path for CC editor and PBWin editor
Install will copy some files into relevant PB editors, create desktop new icons to call ...\bin\PrePbEd.Exe editors.

After execution of editors what I see is a new tabbed interface.
What other features does Semens wrapper adds?

Thanks a lot
Eros
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

Theo Gottwald

#4
Try to unzip the package, you will find the complete source-code inside.

The code is the documentation - as with many programmers  - you know. :-)


I pasted the supplied explanation in the first post.
This way its more easy to understand for future readers.