RosTOL : A ROSBE GUI and a Language Translator Tool

All development related issues welcome

Moderator: Moderator Team

Post Reply
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

RosVTOL

RosVTOL is a RosV Translate Other Languages designed for XP/Vista OS.



[ external image ]

[ external image ]

[ external image ]

RosVTOL version:
NEW VERSION¡¡
0.4: http://www.divshare.com/download/5584574-7c2
New Features:
-Now 0.4 saves Data between Runs(RosBe path, Last Search,Recent Documents)
-Autocomplete for "Search Path"
-"Save","Save As" buttons Added.


RosVTOL has 2 mainly features:

-RosVTOL helps developers/translators by searching and listing all the files/language files which match their wishes.Also files can be easily opened in Tabs or in the predefined program (wordpad,dev c++,notepad...).They can also modify them and save these modifications.

-RosVTOL also is a RosBE GUI.You can easily launch all the RosBE options in a GUI mode. All known options are implemented.Althought This GUI uses most of the cmd files from Reactos Build Enviroment, you can launch also Reactos Build Enviroment Console in the usual way without problems.This way of work made RosVTOL smaller and also all new RosBE available options will be easily implemented.

RosVTOL is in Alpha State.Current Version: 0.4.This means not all features are implemented.Others could work with bugs.Any help,test or advices will be apreciated.


Current Implemented Features:


-Search Dialog lists all the Drivers installed in the PC.
-Search Box is fully working, without noticed bugs."Use Indexed Search" and "Options..." dont do anything.
-Search Tab:Double clicking it will open the file in a new Tab.Also RightClick will open a Menu.The Menu is fully working.
-Recents Tab: It shows the most recent open Tabs.The newest is in the Top. It just saves the 10 last recent files.RightClick opens a Menu.It´s fully working.
-RosBe Tab has the GUI options.All the GUI options should work.
-Reactos Tab shows the Reactos Home Page.
-SVN Tab shows web reactos trunk.
-Right Click Menu in Tab: All options should work.
-Main Menu just the About works.



Known Bugs:
-It seems to have a DLL missing (Bug:0) (Solved by Amine48rz)
-If you close RosBE tab there isnt any option to reopen it(Bug:1)
-If your RosBE path has blank spaces (as C:\Program Files\Rosbe) when launchin a command you will hace a CMD saying C:\Program isnt a Command (Bug:2)
-SOLVED:Paths still dont get saved from run to run.So you have to rewrite until I find a way to save the Variables(see "Help me" under these lines please)




Next releases:


RosVTOL 0.5: Saving the modification of Files:HotMode. Bugs of previous releases fixed.


What does it need?

-RosVTOL needs: .Net Framework 2.0
-RosVTOL needs RosBE application to use the GUI commands.
-RosVTOL needs to be PROPERLY INSTALLED(in order to use GUI commands)

Installation:

-Download RosVTOL 0.4 from: http://www.divshare.com/download/5584574-7c2
-Copy all the files to the same Folder where RosBE is installed. (DANGER: If the Path to RosBE folder has blank spaces RosVTOL wont run properly the commands of ROSBE(see Bug 2)).While Copying you will be asked If you want to rewrite the Rosbe.cmd. I advise you to backup your original Rosbe.cmd and then Accept the rewrite option.
-Copy the "Reactos Building Enviroment" shortcut(it´s a lnk file) that RosBE has done and paste in the RosBE folder.Inside the RosBE folder rename it to "Reactos"(without "").


You can test RosVTOL 3.0 JUST unzipping in your desktop and doublecliking it, all RosVTOL option will work without problems( But "RosBE tab" wont work)


FAQ:

(I will write here the FAQs...)
Last edited by vicmarcal on Tue Oct 14, 2008 3:31 pm, edited 6 times in total.
bz00mmer
Posts: 260
Joined: Mon Jan 22, 2007 2:54 pm
Location: Russia
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by bz00mmer »

Useful startup!
Thank you, vicmaral!

I think, more resources translations coming soon :wink:
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

thanks bzOOmmer...does works "fine" for u?
And thanks for your reply it encourages to improve the APP ;)
And also sorry my poor English and a so long Text.
bz00mmer
Posts: 260
Joined: Mon Jan 22, 2007 2:54 pm
Location: Russia
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by bz00mmer »

vicmarcal wrote:thanks bzOOmmer...does works "fine" for u?
vicmarcal, yesterday I just look to screenshots and I like it idea.
Today, I download files and... Can't run it, error seems like "application incorrectly configured"(this is translation russian error description).
Maybe, this is .Net versions incompatibilities, maybe - not, I can't know.

Who writes an C#, please, help vicmarcal to do shareable executable!
Or... Vicmaral, if you can, start similar project an C++ language at http://sf.net.
I sure, that finded peoples, who can help developing it. Me, for example, when I will be little more time :)
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

hi bzOOmer ;)

This GUI has been developed under C++ ;)
Which .Net do u have installed? 2.0?
Which OS and SP are u using?It has been tested under XP and Vista with differents SP and seems working well...It should be useful knowing your OS and SP, in order to know which is the problem.
The error: "application incorrectly configured" means a DLL is missing. This error is launched when you try to execute it.
Do u know which DLL is missing?Dependencies Walker will show the missing DLL.If u find it i could upload that DLL so you could launch the Exe without problems.

Thanks for trying RosVTol ;)
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

New Release: RosVTOL 0.4
http://www.divshare.com/download/5584574-7c2

ChangeLOG:

-Now 0.4 saves Data between Runs(RosBe path, Last Search,Recent Documents)
-Autocomplete for "Search Path".
-"Open","Save","Save As" buttons Added.
-Moving with Tab key is easier.
-Deleted some Debug Windows.
-First Steps to run it in different resolutions.
bz00mmer
Posts: 260
Joined: Mon Jan 22, 2007 2:54 pm
Location: Russia
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by bz00mmer »

Sorry, vicmaral, I maybe late reply to your initiative, but now I can run your app adn found it useful.
But, maybe, some usability tricks may be included with more integration w/ROSBE.
(and I sad, that it cannot be run without dot-net, maybe there is not-hard solve to exclude this requirement)
In "about sreen" or somewere I found, that you publish your app under GPL...
So, where I can obtain it sources? :)

I want to join, but I have a little time very often... BUT I WANT!
I will contact you, when I do something ;)
Edit:http://SourceForge.net - can help if your tool source in not yet published.
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

hi again¡¡ bzoomer

So now you can run it well??Perfect¡¡¡ :D

Yes It´s GPL...well since nobody showed to help me...i didnt hang in the Net... :(
This is also my first GPL project so..im a little bit lost...I dont know if i have to hang in Sourceforge or where ;)...but sure is GPL (i have to look wich one) free and for all ;)

In next weeks some more stuff will be added...
I hope you enjoy the new changes... ;)
Elledan
Posts: 366
Joined: Sat Jan 01, 2005 3:18 pm
Location: Netherlands
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by Elledan »

If it's C++ why not skip the .Net stuff? ;)

Looks like a nice tool :)
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by vicmarcal »

Well really uses CLI :(...
I will hang it in Internet so maybe you can help me translate to pure C++ ;)
User avatar
EmuandCo
Developer
Posts: 4734
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by EmuandCo »

Would be cool. If its pure C++ Code and can be built via RosBE, I would like to see it in RosBE 1.4.
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

If my post/reply offends or insults you, be sure that you know what sarcasm is...
bz00mmer
Posts: 260
Joined: Mon Jan 22, 2007 2:54 pm
Location: Russia
Contact:

Re: RosTOL : A ROSBE GUI and a Language Translator Tool

Post by bz00mmer »

My fast wroted today unfinished pure WinAPI C++ class for control console ROSBE.
I need to put it here, because it can be useful, but I have no time now.

Code: Select all

/*
 * COPYRIGHT: See GPL
 * PROJECT: Writed for ReactOS Build Environment GUI Frontend
 * FILE: CmdHandler.h
 * PURPOSE: control input and output streams for console
 * PROGRAMMERS: Shashkov Maxim( bz00mmer_RemoveThisEnd at mail dot ru)
 */
#ifndef CMDHANDLER_H
#define CMDHANDLER_H

#include <windows.h>

/// TODO: convert streams ANSI->ASCII and vice versa

class CCmdHandler
{
private:
	// For pipes to control and redirection console
	HANDLE hPipeWriteIn, hPipeReadOut, hChildStdIn, hChildStdOut;
	// For control executed ComSpec
	PROCESS_INFORMATION zPI;
public:
	// constructor, set initial values
	CCmdHandler()
	{
		ZeroMemory(&zPI, sizeof(zPI));
		hPipeWriteIn = hPipeReadOut = hChildStdIn = hChildStdOut = \
			INVALID_HANDLE_VALUE;
	}
	// Create child command interpreter
	BOOL Create(char* szCurDir = NULL)
	{
		// Inherit handles
		SECURITY_ATTRIBUTES zSA	= {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
		// Create pipes for control and redirection console
		if(!CreatePipe(&hPipeWriteIn, &hChildStdIn, &zSA, 0))
		{ return FALSE;}
		if(!CreatePipe(&hChildStdOut, &hPipeReadOut, &zSA, 0))
		{
			CloseHandle(hPipeWriteIn);
			CloseHandle(hChildStdIn);
			return FALSE;
		}
		// Create process w/o window with our i/o handles
		STARTUPINFO zSI	= {sizeof(STARTUPINFO)};
		zSI.dwFlags	= STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
		zSI.wShowWindow	= SW_HIDE;
		zSI.hStdInput	= hPipeWriteIn;
		zSI.hStdOutput	= hPipeReadOut;
		zSI.hStdError	= hPipeReadOut;
		// Expand %COMSPEC% to corresponding cmd path
		char szComSpec[MAX_PATH];
		ExpandEnvironmentStrings("%COMSPEC%", szComSpec, sizeof(szComSpec));

		if(!CreateProcess(NULL, szComSpec, NULL, NULL, TRUE, \
			CREATE_NEW_CONSOLE | CREATE_NO_WINDOW, NULL, szCurDir, &zSI, &zPI))
		{
			CloseHandle(hChildStdOut);
			CloseHandle(hPipeReadOut);
			CloseHandle(hPipeWriteIn);
			CloseHandle(hChildStdIn);
			return FALSE;
		}
		return TRUE;
	}
	// Check active state for command interpreter
	BOOL isActive()
	{
		DWORD nExitCode;
		return GetExitCodeProcess(zPI.hProcess,&nExitCode) && \
			(nExitCode == STILL_ACTIVE);
	}
	// Convert from ANSI to ASCII and write to console
	BOOL Write(char* szCommands)
	{
		DWORD nActSize = 0;
		return isActive() && WriteFile(hChildStdIn, szCommands, lstrlen(szCommands), &nActSize, NULL);
	}
	// Read from console and convert from ASCII to ANSI
	DWORD Read(char* szReaded, DWORD nReadSize)
	{
		DWORD nActSize = 0;
		if(isActive() && ReadFile(hChildStdOut, szReaded, nReadSize, &nActSize, NULL))
		{ return nActSize; }
		else
		{ return 0; }
	}
	// Get already haved size for read
	DWORD GetAvailableForRead()
	{
		if(isActive())
		{
			DWORD nAvSize, nUnused;
			PeekNamedPipe(hChildStdOut, NULL, 0, &nUnused, &nAvSize, &nUnused);
			return nAvSize;
		}
		else
		{ return 0; }
	}
	// Terminate child command interpreter
	BOOL Terminate()
	{
		return TerminateProcess(zPI.hProcess, S_FALSE);
	}
	// Destructor, clean used resources
	~CCmdHandler()
	{
		if(isActive())
		{ Terminate(); }
		CloseHandle(zPI.hThread);
		CloseHandle(zPI.hProcess);
		CloseHandle(hChildStdOut);
		CloseHandle(hPipeReadOut);
		CloseHandle(hPipeWriteIn);
		CloseHandle(hChildStdIn);
	}
};

#endif// CMDHANDLER_H
Example of use:

Code: Select all

CCmdHandler zCmd;
if(zCmd.Create())
{
	zCmd.Write("dir\n");
	Sleep(1000);
	char szBuf[1000];
	DWORD nReaded = zCmd.Read(buf, sizeof(buf));
	buf[nReaded] = '\0';
}
But I will think how determine end of command execution.
Post Reply

Who is online

Users browsing this forum: No registered users and 22 guests