What does ctrl+shift+B do? - delphi

When I press ctrl+shift+B.
In Delphi XE7 (with CN_Pack installed) I see the following:
When I press ctrl+shift+B again the >^ disappears.
What does this mean?
According to the Delphi documentation:
ctrl+shift+B Displays the buffer list.
This is something else though, what is it?

From your screenshot i see that you have installed the "Bookmarks" plugin also. This plugin registeres this shortcut to set a temporary "caret marker"
From their website:
Sometimes you don’t want a permanent marker; you just want a way to quickly navigate back to where you were. Press Ctrl+Shift+B to drop a temporary caret bookmark, and press Escape to jump back to it.
See: https://parnassus.co/delphi-tools/bookmarks/

The default behaviour of ctrl + shift + B is to show the list of edit buffers being maintained by the IDE. Roughly speaking, this corresponds to files open in the editor, but also may refer to files opened by the IDE but not currently open in a visual editor.
For example, after opening one of my scratch test projects, the IDE opens the main form file but also the project DPR. Only the main form source is initially loaded into an editor window, but the IDE is maintaining an edit buffer for the DPR 'behind the scenes'.
So my editor has a tab for fMain, but ctrl + shift + B presents a dialog listing both this file and the DPR:
If ctrl + shift + B is doing anything else in your IDE then either you or some package installed in your IDE have re-assigned the shortcut, in which case the Delphi documentation and standard behaviour obviously does not apply (or there is a bug in your particular Delphi IDE).

Related

File sort order lost in IDE

I'm constantly losing the sort order for the files in my Delphi projects:
How can I fix this? Is there a bug in my Delphi 10.4.2 IDE?
(Self answering because I finally found it, and I want to spare others the frustration)
You need to follow a specific sequence because the IDE interface closes the Sort By popup menu after every action:
If you click on e.g. Name, the IDE sorts the files once. The submenu closes immediately (i.e. no visual feedback) and nothing is remembered.
The trick is to first click on Auto Sort, then reopen the submenu, then click on Name.
Now when you save the project, the settings are written to the .local file and applied in later sessions:
<ProjectSortOrder AutoSort="-1" SortType="1">

Delphi 10 Seattle do NOT open last used project on start

I'm new to Delphi, coming from Visual Studio it's a simple question (I guess): how do I prevent Delphi 10 Seattle to open last use project(group) when I start the IDE?
I've found some information about the .dsk file and what it does:
The .dsk file records your current settings for:
Desktop layout
Breakpoints
Watch items
Files currently open in the IDE
When you reopen the project later, the .dsk file is read, and your
desktop layout, your breakpoints, and your watches are all restored.
Also, all files that were opened when the project was closed are
opened again, regardless of whether they are used by the project.
I'm fine with that when I open a project. But please do not open it when I start the IDE. Mostly I want to start or open another project than the last one I was working on.
I've searched the options and the internet, but couldn't find a solution. Anyone?
Disable "Project desktop" in the IDE Autosave options (Tools\Options\Envinroment options).
But please do not open it when I start the IDE. Mostly I want to start or open another project than the last one
Granted, I do no have Seattle at hands, I settled in XE2.
But try changing the shortcut.
-np: No welcome page. Does not display the welcome page after starting the IDE. np also stands for No Project. Independently of Environment Options Project desktop the last opened project will not be opened
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/IDE_Command_Line_Switches_and_Options
saving the layout and position of the tool windows like Refactorings,
That is what the "Layout" combo-box on the "Desktop" toolbar does. Unless you want different layouts in different projects. R-click over your IDE's tool buttons or go View|Toolbars menu to turn "Desktop" bar on. Alternatively use View|Desktops menu.

execute swf in delphi7

I am trying to create something like a "preloader" in Delphi 7: when the user loads a file or executes a procedure that takes a while, I want to have an indicator that shows him that the procedure is working but he has to wait a bit.
I have in mind a loading bar or a spinning circle, if necessary without showing the percentage that has been loaded or the remaining percentage.
I created a spinning circle in flash but I can't find a way to use in Delphi 7.
I tried to call my swf "preloader" through an Animate Control but failed because it is only compatible with avi files.
I also downloaded a free spinning circle in .gif and tried to add it to my Delphi project in an Image Control but this also failed, because the image isn't compatible with gif format.
Is there any way to create this knd of "preloader" in Delphi or add one through an external swf or gif resource file ? How can this be implemented?
I use Flash Engine from Eugene Kryukov, but it is not on sale now.
Another solution would be to use Embedded Web Browser - EmbeddedWB, wich has support of swf from the box.
I have tried it right now, it works. But you'll have to have Internet explorer installed. The sample of usage: place the component on form and do this:
EmbeddedWB1.Navigate('C:\test.swf');
Another solution - you know, install component ActiveX:
1) Install flash
2) from delphi menu→Component→Import ActiveX Control
3) finsd in a list and select "Shockwave flash...", press "install" button
4) after it you'll see on the tab "ActiveX" the component ShackwaveFlash
5) in object inspector put the path and filename into "ShockwaveFlash1.Movie" property,
set ShockwaveFlash1.Loop and ShockwaveFlash1.Playing в true.
6) compile, run and enjoy.
After searching internet forums for many days I found the following solution.
First you have to have already installed Flash player (not the Flash web-designer of the Adobe suite).
If not then close Delphi and visit the Adobe's website. From there you should download the appropriate flash player according to your OS. After you have installed or if you already have installed Flash player then follow the below procedure:
Open Delphi and go to menu→Component→Import ActiveX Control. You will see a dialog box. Inside
this dialog box you will see a list of components. From this list search and find the
"Shockwave flash" component. Check it and press install. Then Delphi will ask you some questions
which you don't have to spend time, just press the "ok" button.
After finishing with the 3-4 dialog boxes, Delphi will eventually add a new component to the
"ActiveX" tab. Open Delphi and choose the "ActiveX" tab, you will see the "ShockwaveFlash"
component as the last control of this tab.
In order to use it Select this control and put it in a form. Give the appropriate dimensions
and the path and filename of the .swf (or .flv) file you want to play.
Set properties "play", "loop" to true if you want to make it play continuously or put "loop" to
false in order to make it play just once.
Be aware: Not all properties of the control work as they should. If for example you want through code your file to be visible or to hide at your will (e.g. on the press event of a button) then you will find out that the control does not follow your orders.

How to close all IDE "New Edit Windows" (some of which are not visible)

Recently in the D7 IDE, I started using the "New Edit Window" option.
Now, it seems that I have several non-visible edit windows, because sometimes the title bar for a particular window will have the filename followed by a colon and number, as shown below.
This can be confusing, since sometimes use File, Open to open a .pas file and nothing seems to happen, because, I suspect the code is already in an open (but hidden) windows.
I've tried closing all the windows I can see, etc, but these title bars with a number following the filename keep re-appearing, sometimes floating over other editing windows.
Is there a surefire way to close all edit windows so I'm back to just having one?
Additional information in response to comments:
I am able to close the individual files (tabs) in window with the standard Ctrl-F4. And when the last file is closed, the window disappears as it should. But sometimes when I open a new file, it opens in a new editing window (as if I'd actually clicked on the "New Edit Window" option in the context menu.) It appears that there are several windows that were created by "New Edit Window" commands that are hidden and sometimes are used to display newly opened files.
Cause:
This is due to the Autosave Editor files option in the environment settings.
When this is enabled, windows that aren't explicitly closed within the project session are indeed remembered by that option. Although, there really are no hidden windows, just the count of previously created windows is stored.
Solution:
Delete the corresponding Delphi Desktop File (*.dsk) from the project folder, or manually edit that file and rewrite EditWindowCount=4 to EditWindowCount=1 within the [Modules] section.

How keep the debug layout the same as the desktop layout

I try to have a similar layout during editing as well debugging. When running the program my structure and object inspector disappear. I did create my own desktop speedsetting, set the debug desktop to it as well, but as soon as the program runs structure and obejct inspector disappear. How can I prevent that?
A question related to this: the edit menu changes as well. A right click on a procedure name results in a popup menu with the first item being "find declaration". When debugging the first item is "close page". I find the find declaration item a fast way to find some code. Apart from that it is frustrating to lose one's code because you click "no" on the question to save the information (I know, it's my fault but menu's shouldn't change in my opinion).
Thanks,
Arnold
What version of Delphi? Dialogs and menus change between versions (and even between SKUs of the same version).
For the first, open Tools->Options->Environment Options and uncheck Hide designers on run in the Running group box (D2010, XE, and XE2), or Tools->Options->Environment Options and unchecking Hide designers on run in the Compiling and Running group box (D2007).
For the second: The right-click menu is called a context menu, meaning it displays what is appropriate in the context of when it's being shown. It's entirely appropriate for it to change depending on when and how you're using it; that's the way it's supposed to work.
Right-clicking on a .zip file in Windows Explorer is different than right-clicking on a Word .doc file, because they have different options based on context - a zip file has an 'Extract to...' option that the Word document doesn't have, because 'extracting' a Word document doesn't apply. Same applies to right-clicking a .exe file, which has the Run as Administrator option (Win7), as opposed to right-clicking a .pas file, which doesn't offer that option.

Resources