Best printing tools, components for windows.forms applications - winforms

I have started to research for a printing component in our windows.forms based project. I want to benefit from your experiences. There are some popular reporting tools in .net world such as crystal report, active reports, xtrareports etc. Could you say advantages and disadvantages of these tools or other tools you suggest?

I've only worked with two of them:
SQL Server Reporting Services: easy to learn, can be deployed to a webserver with integrated security, can integrate with sharepoint, and it comes free with SQL Server, allows you to write Visual Basic code to use in your reports. The only drawback I think is that it's sometimes very hard (or impossible) to achieve something that's a bit more advanced looking.
Crystal reports: rich designer, a bit harder to learn, but much more flexible. Everything can be put in a formula.

Related

Converting VB6 Forms to .Net Core WinForms

I have a VB6 Forms application and want to convert to .Net Core WinForms. I know conversion tools are available that make that claim. However, I'm looking for recommendations or first hand experience in doing this.
Manual may be best, but if you're looking for an automated route, I would suggest
VB6 to VB.NET WinForms (.NET Framework)
VB.NET to C# (.NET Framework)
Upgrade to .NET Core
I do not have any experience with #1, VB6 to VB.NET.
For #2 check out this project https://github.com/icsharpcode/CodeConverter. It works very well.
For #3, Microsoft has a try-convert project to upgrade .NET Framework projects to .NET Core. It has worked flawlessly for me. https://github.com/dotnet/try-convert
I just converted a decent sized app from VB6 to C#. The biggest challenge for me was the third party controls. Most tools can't manage those as most old controls are either discontinued or the interfaces are so wildly different it made no sense to use a tool.
I ended up just recreating all the forms using modern controls first. I would then just paste the old VB6 code where is made sense and worked my way through converting the logic to C#. In some cases I literally printed files to paper and read through them and typed in the C# code.
I wanted to take advantage of the .net programming model so I rewrote a lot and improved the function and readability of the code.
I have used tools and while they do help, I didn't feel it really saved me a lot of time. My "brute force" method helped me understand the application much better and helped me sort through errors and bugs easier.
In my experience it's worth the effort doing it manually. There really is no shortcut if you want to do a proper job.

Switching from Web UI testing to Windows Forms application testing

I have been using Selenium (WebDriver) for some time now, utilising Microsoft Team Foundation Server (VS2010, Microsoft Test Manager, Lab Management) to trigger my automated tests on specified builds. This has been working great and I have even written a wrapper framework to allow for a lot of re-usability and switching to WatiN should it be needed.
My issue is, now the applications I am to test are Windows Forms (with infragistics and Teecharts), not Web Applications, and I am under the impression from my research that both Selenium and WatiN will now be inappropriate. I have been reading about NUnitForms and White as they appear to be common free choices amongst SO posts asking a similar question. However, I am wondering if anyone has had experience with setting up TFS with automated UI tests for a Windows Forms Application?
Or, failing that, has anyone used Visual Studio 2010 with a free Windows Forms UI testing package and had some success? My plan is to try White/NUnitForms next week, but though I would look for some personal recounts just in case this is not worth pursuing.
After some more reading and checking around SO, I have found a few more helpful links. I am still at a loss as to a solid way to do things but am confident it can be done.
The following links I found helpful; winforms Post on SO, Continuous Integration in White Documentation (I missed this initially somehow...), and as a further look I found utilising NUnit with White TFS is fully supported for my needs. NUnit with TFS can be found here.
Hope this helps anyone in the same position, and I welcome any further answers as I still have not commenced any actual testing.
EDIT:
Have decided to use White with NUnit as NUnit has a lot of documentation with results integrated with TFS and White is somewhat of a wrapper to Visual Studio's Automation Tools.

Alternative for Access+SQL Server for enterprise projects

We're a small software company, developing projects for manufacturing facilities about analysis, traceability, reporting etc. We're using Access for front end, SQL Server for back end. We've quite big customers too and our company is growing. So far it is working fine but I wonder should we move to more influential technologies, such as web based solutions. What do you think about the future of Access?
Well, keep in mind that Access now has a web option. This option works with SharePoint and the new upcoming office 365. Here is a video of an Access application and note how at the half way point I switch to running the application 100% in a web browser. No ActiveX or Silverlight is required. I even tested and run the application on my iPad.
Video here:
http://www.youtube.com/watch?v=AU4mH0jPntI
And Access 2010 also has baked in support for the Azure (cloud) edition of SQL server.
So, we have web based options, cloud based options, and there been significant investments into Access for 2010.
You could have a look at these questions:
MS Access as Enterprise Software?
and
What are the appropriate uses for MS Access?
Here we have a central SQL Server database, with both an MS-Access and a Web client interface. MS-Access is history (we started it 5 years ago) and Web is trendy (less than one year old). I must admit that MS Access is still very very efficient and cheap, once you have resolved some MS access specific problems, to which you might find answers here:
Working with multiple programmers on MS Access
How do you use version control with Access development?
Best way to test a MS Access application?
MS-Access, VBA and error handling
You can always use VB.NET Express. It's free, and Microsoft's licensing should still allow you to sell apps created with it (they did with Express 2005).
UPDATE: Access 2013 has better support for web apps than previous versions, and the apps use SQL Server or SQL Azure under the hood by default. So be sure to thoroughly evaluate the latest version of Access before concluding that you need something else.
A very good alternative to Access with similar features is Lightswitch. Here's a quote from MSDN:
Visual Studio LightSwitch is a development environment designed to simplify and shorten the development of businesses applications and data services. LightSwitch makes it easy to create data-centric business applications that can consume a variety of data sources and create clients that can run on a variety of devices.
While Access now has a web option as #AlbertDKallal mentioned (and which is still worth considering as one option), creating an HTML 5 app is the whole focus of Lightswitch. (Note: the original version of Lightswitch required Silverlight, but the newer versions create HTML5 apps that don't require any plugins.) The app will also be more extensible, since it's a .NET app, and for things that require custom programming you can program in C# or Visual Basic rather than VBA.
I should mention at this point that I haven't actually tried Lightswitch yet (!) - I'm currently evaluating it and these are the features that look attractive to me compared to Access. If anyone reading this in the future is curious about what my experience with it was like, feel free to write a comment to remind me.
For some introductory info, see these links:
Showcase Video
Is Visual Studio LightSwitch the New Access?
(Note that this article is about a the original version of LightSwitch, not the latest version.)
And...for a completely different cloud-based option, check out:
https://www.parasql.com/

SQL Reporting Services 2005 vs WPF Fixed Document Control

In my project i have used WPF and am following MVVM pattern. So i have a report module in my project and the reports are just plain reports. So i would like to know should i use SQL Reporting Service 2005 to create reports and then use report viewer as client or should i go for WPf Fixed Document Control- Document viewer.
Can anyone please tell me which of these will be easier to integrate with my project.
Please reply
Thanks
Sharath
WPF Document (Fixed or Flow)
Pros:
Easier to integrate. All is included in regular WPF
Native
More control on the output
Cons:
Must program a lot for a multi-page report
Must program a lot for headers, footes, groups, etc.
SQL Reporting Services
Pros:
Mature tools
Interoperable with other solutions (IE asp.net)
Groups, totals, page headers, graphics built in
Cons:
Not native, must use a embedded windows form control
Must deploy the reporting service runtime separately (not good for click-once apps)
Hard to integrate to your business objects

What is the cost of coding and deploying asp.net MVC or stackoverflow.com, ASP.NET MVC VS struts,spring

I'm wondering what the cost is in tools to work with and deploy a website like stackoverflow with asp.net mvc.
I have just checked and it seems like visual studio professional has suddenly got a lot cheaper, infact almost too good to be true price.
But if they are working with SQL enterprise, the cost of this seems around £10,000 for the enterprise edition?
Or have things with 2008 changed dramatically, so that you can infact deploy something like the workgroup edition for a production environment, and take advantage of the 16GB of Ram that is spoken about on the podcast?
I'm asking this as I am about to start learning asp.net MVC, but I could just as easily put my energy into working with Java, and be less worried about working with a technology that is less likely to be found for forward thinking web apps due to the deployment costs.
You can develop an ASP.NET MVC site with very little out of pocket costs:
ASP.NET MVC 1.0 (Free to download)
SQL Server Express 2008 with Service Pack 1 (Free to download)
Visual Web Developer 2008 Express with SP 1 (Free to Download)
I can see your only overhead being the cost of hosting the site. Look for a hosting provider that has the ASP.NET MVC 1.0 and SQL Server 2008.
Download the Microsoft Web Platform Installer to see what is available for free from the Microsoft to assist with developing web applications.
Also, if you developing software to sell commerically you can enroll in the Mircosoft BizSpark program. It is a program designed to encourge start up companies to use the Mircosoft development stack.
Update
Microsoft just recently announced the WebsiteSpark which is more geared towards start up web development shops that company that sell software.
Costing is a bit tricky when it comes to tools, it is always depends on what you purchase and whether you can find deals discounts.
on the other hand, for development cost if you are a hobbier dev, it is almost ZERO cost, with Microsoft Visual Web Developer Express edition + SQL Server Express edition both are completely free to download and develop stuff on, when it comes to commercial software it becomes as mentioned above a bit trickier.
If there's no specific functionality needed in SQL Server, you could equally go with PostgreSql.
For "hobbyist" grade work there's a free version of the toolchain out there for pretty much any toolchain.
For "professional" grade stuff, obviously stuff starts to get a lot more expensive. I'd posit, though, that in a situation where you were building a system from scratch on your own (buying and running your own servers, etc) the costs more or less level out after a while.
Personally, I think the biggest cost is on the human knowledge front - that is, finding people who really know how to use the system.
So, I'd say that ASP MVC and Java are equally cheap, assuming you have a programming staff that knows how to use it. (Or, more to the point, equally expensive if you don't.)
If you're starting from scratch with no existing "knowledge base"? I don't think it matters. Really. Sure, hindsight is always 20-20 and in five years we'll all realize what we should have been shipping in today, but for the moment I'm not sure that cost is a useful metric for decision making.
In other words, go with whichever one sounds cooler. I mean, at least you'll be interested in rather than resentful of the technology. (Trust me, that goes a long way.)

Resources