Open SAS .egp file to view code without having SAS installed - sas

Is there any solution to open SAS .egp file without having SAS installed on my pc? I need to open project.egp to check my old code but I don't have SAS anymore. Is there any other way to do that?

A .egp file is a zipped set of xml files (and other things). If you change the extension to .zip, you can open it with any unzipping program, and see the contents. It is possible to extract programs and such from there at that point, though it's not necessarily easy to do as it's fairly messy.

.EGP files contains no code, it's just their possible execution order that might be showing.
You need to open the .SAS files imported in the EGP to see the code and to open a .SAS file just use any text editor!

You can try to open it in Easy Grade Pro 4.0.3

Related

Is there a way to create a folder that is interpreted by the OS (Windows, OS, Linux) as a single file?

The reason why I need this is because for example: There are a lots of files and folders inside a "some_important_folder" folder. User can usually browse to "some_important_folder" folder and go deeper into it to see its' subfolders and files like in any normal file explorer can do. But since in my use case, the user doesn't need to interact with the files and folders in "some_important_folder" folder at all. Therefore, I was wondering if there is any way to hide the complexity of the folders in "some_important_folder" folder and show to user as a single file only. But my programs (written in C++) can still somehow access the files and folders in it like normal such as: "C:\Users\user\Documents\some_important_folder\someFolder\someFileThatUserDoesntNeedToKnow.exe"
Something like .rar or .zip file but since the "some_important_folder" folder might be very big in size (more than TB), I don't think it would be good to convert the whole folder to a .zip file as it would take lots of redundant space from the hard disc and the process would be very slow
Have you considered encrypting your folders? That way if you wanted to only access the folder using your C++ app, you could pass down the password/decrypted for it, making your app the only access point you'd have to that folder.
Yes, both windows and linux have similar technology.
On windows, you can use "Compound File Binary Format". It is a general-purpose file format that provides a file-system-like structure within a file for the storage of arbitrary, application-specific streams of data. In fact, ealier office doc file format is based on this technology. The following is the doc link from microsoft and wiki. And I believe you can google some sample code.
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb/53989ce4-7b05-4f8d-829b-d08d6148375b
https://en.wikipedia.org/wiki/Compound_File_Binary_Format
On linux, you can loop mount a file as file system as #stark mentioned. You can google "linux loop mount file", the following is the first article I found:
https://www.jamescoyle.net/how-to/2096-use-a-file-as-a-linux-block-device

How to create SAS Enterprise Guide Project without using SAS EG?

I want to create a SAS Enterprise Guide project without using SAS EG. Thank you in advance for you answers.
Tried creating a zip file with SAS programs and renaming the .zip extension to .egp, but it does not work.
I'm almost certain that there's some legal issue with reverse engineering it.
That being said - .egp does seem to be an archive.
For the most part,
it contains folders of generated names for each program in the .egp, as well as a folder with a generated name for the built in git repository.
and probably most importantly a .xml file describing the project, It also contains any embedded code.
I don't have time to go through it, but if you have Enterprise Guide licensed and just don't have access to it, perhaps ask a colleague to send an example project.
If instead of creating a *.zip file, you create a *.txt file.
Changing it's extension to *.sas will create a SAS program.

coldfusion file content no longer readable when we open the file in an editor

My ColdFusion 11 app is working fine on my local machine (Windows 10). But when I open any .cfm file in Eclipse or even in a Notepad, I get the content - such as the following - that is not readable. It was not happening before. How can I make the files readable again?
UPDATE:
The website is using IIS 10 on windows 10. Could the above issue have something to do with IIS? I've noticed that when I open a copy of the same .cfm file from my backup folder I can read the file and the above issue does not exist.
You are looking at an encrypted file. Most CFML files within the CFIDE folder are encrypted to protect the code from prying eyes. This has nothing to do with IIS.
A short description about this topic you can find here.
Unless there is any batch encryption in place for your own files, then you should be able to open up your own code and you will see the readable content. If you accidentally encoded your own files, then you will have to restore your backup or get the original files from source control. In the past Google search brought up a (technically illegal) tool for unencrypting such files. I've no idea whether this still works with newer ColdFusion editions.

File formats with included versioning

I like the idea of using compressed folders as containers for file formats. They are used for LibreOffice or Dia. So if I want to define a special purpose file format, I can define a folder and file structure and just zip the root folder and have a single file with all the data in a single file. Imported files just live as originals inside the compressed file. Defining a binary file format from zero with this features would be a lot of work.
Now to my question: Are there applications which are using compressed folders as file formats and do versioning inside the folder? The benefits would be great. You could just commit a state in your project into your file and the versioning is just decorated with functions from your own application. Also diffs could be presented your own way.
Libraries for working with compressed files and for versioning are available. The used versioning system should be a distributed system, where the repository lives inside your working folder and not seperate as for example subversion with its client-server model.
What do you think? I'm sure there are applications out there using this approach, but I couldn't find one. Or is there a major drawback in this approach?
Sounds like an interesting idea.
I know many applications claim they have "unlimited" undo and redo,
but that's only back to the most recent time I opened this file.
With your system, your application could "undo" to previous versions of the file,
even before the version I saw the most recent time I opened this file -- that might be a nifty feature.
Have you looked at TortoiseHg?
TortoiseHg uses Mercurial, which is
"a distributed system, where the repository lives inside your working folder".
Rather than defining a new compressed versioned file format and all the software to work with it from scratch,
perhaps you could use the Mercurial file format and borrow the TortoiseHg and Mercurial source code to work with it.
What happens if I'm working on a project using 2 different applications,
and each application wants to store the entire project in its own slightly different compressed versioned file format?
What I found now is that OpenOffice aka LibreOffice has kind of versioning inside. LibreOffice file is a zip file with a structured content (XMLs, direcories, ...) inside. You are able to mark the current content as a version. This results in creating a VersionList.xml which contains information about all the versions. A Versions directory is added and this contains files like Version1, Version2 and so on. These files are the actual documents at that state.

Unable to save the file with .cpp format insted of .cpp.9.0 format in VCExpress

I decided to try Visual C++ Express and didn't like it so I went back to Code::Blocks. However, when I tried to run a program in Code::Blocks I noticed that all of my files were saved under the format VCExpress.cpp.9.0. I deleted all of the files and went to where I have all of them uploaded to re-download them. However, they keep being saved as VCExpress.cpp.9.0. Can anyone offer assistance? Thanks.
P.S. They were uploaded before I ever tried VCExpress
If I try to compile one of these files I get an error saying "There is no disk in the drive. Please insert a disk into drive D:." In short, all cpp files are being saved as VCEXpress.cpp.9.0. I need to stop that file extension change from happening.
See if re-installing Code::Blocks fixes the problem.