|
First of all, you do not need to call ToString on a string! It's already a string.
Second, use Path.GetFileName instead of the previous recommendation. Path.GetFileName takes platform-dependent directory separators into account. If you want to use String.LastIndexOf , then at least use the Path.PathSeparator field to get the platform-dependent directory separator.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
dear all,
i am using crystal reports for vs.net 2002, infact i want to set my report datasource as dataset. i am using AddCommand to reterive required fields. problem is that when i set report data source as dataset it shows all those reocrds on report that are retrived by AddCommand not by my
here is my code
private DataSet myDs()
{
SqlConnection nwindConn = new SqlConnection("DataSource=localhost;Integrated Security=SSPI;Initial Catalog=testDB");
SqlCommand selectCMD = new SqlCommand("testPorcedure",nwindConn);
selectCMD.CommandType = CommandType.StoredProcedure;
selectCMD.CommandTimeout = 30;
SqlDataAdapter custDA = new SqlDataAdapter();
custDA.SelectCommand = selectCMD;
nwindConn.Open();
custDA.Fill(custDS);
nwindConn.Close();
return custDS;
}
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
this.ConnectionString();
CrystalReport1 oReport = new CrystalReport1();
oReport.SetDataSource(this.myDs());//dataset that is filled by my sp
crTableLogonInfos = new TableLogOnInfos();
crTableLogonInfo = new TableLogOnInfo();
crConnectionInfo = new ConnectionInfo();
crConnectionInfo.ServerName = server;
crConnectionInfo.DatabaseName = database;
crConnectionInfo.UserID = user_id;
crConnectionInfo.Password = password;
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
crTableLogonInfo.TableName = "Command";
crTableLogonInfos.Add(crTableLogonInfo);
CrystalReportViewer1.LogOnInfo = crTableLogonInfos;
CrystalReportViewer1.ReportSource = oReport;
CrystalReportViewer1.DataBind();
}
any body kindly help me i realy stuck
thanks in advance
|
|
|
|
|
Why are you providing log into to another source when you're already providing the data in a DataSet ? Using ADO.NET to fill a DataSet (along with a connection string stored in your .config file) is much more robust than hard-coding connection information in your report source. If you ever need to re-deploy the solution elsewhere, you have to change your source and recompile. Instead, make it as abstract as possible. Just configurable connection strings and DataSet s, as you seem to do above, except you're still using connection information on the viewer, for which I really don't understand the point.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks for the reply......ur point is taken.......but the problem is that even if report gets the connection info from the webconfig file..and i set the report source to the DataSet which is filled up by the SP i run....the report ignores the data source and gives the result according to the Select command i hav set in report design, which i have to do in order to tell the report which fields are required.
I need a way in which the report will display results according to the DataSet i give it.
Thanks.
|
|
|
|
|
When designing the report, instead of using a SQL statement use an ADO.NET DataSet , which is available in the report designer for data sources. It's been a long time since I worked with CR, but I remember that you could do this. That way, you need no connection-specific information and can instead just set your DataSet as the report data source.
The most likely reason it isn't working is because the report definition is binding against that SQL statement instead of expecting a DataSet . I don't know much about the internal workings of CR or the report definition, but it seems like a logical explanation.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
is C# CF able to build an application for the pocket pc
i see the c# able to do zooming but how bout bluring ? smoothing ?
if c# able to do that using GDI+ (while C# CF cannot support GDI+)and many tutorial out there but i cannot find any image processing tutorial regarding C# in compact framework for pocket pc ... pls help me any input are welcome
|
|
|
|
|
Examine the articles (like Christian Graus's excellent articles here on CodeProject) and simply determine what APIs are available in the Compact Framework. Don't worry about how they're implemented (i.e., whether they use GDI+ or older GDI calls), just that they're available. The .NET Framework SDK (v1.1) will tell when something is available in the Compact Framework, either in-line with the documentation or at the bottom in the "Platforms" section.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
C# doesn't do any real image processing. You need to write the code yourself. If you can't access the bits of a GDI+ bitmap ( as per my articles, or using Get/SetPixel ( slow, but if it's all you can get..... ), you simply HAVE to be able to load the functionality to create a DIBSection ( and therefore access the bits ) from GDI. Without GDI, you couldn't have a GUI on pocket PC
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
thx... so conlusion it's hard to code image processeing in CF .....
|
|
|
|
|
No harder than in C# generally, and certainly much easier than in C++, in terms of getting everything set up. It's just not built in.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
is there any website link or sourcecode regarding this topic in C# CF ?
|
|
|
|
|
hai there,
i heard Lisp, Prolog, C/C++,Java, Python can used for AI programming.
Because features of this language that are good for AI programming. They are garbage collection, dynamic typing, functions as data, uniform syntax, interactive environment,
and extensibility.
So which feature that our C# not satisfying ? if it satisfying all above mentioned technicics how can i start programming ? where i need to start ?
hai, feel free to contact
Sreejith SS Nair
|
|
|
|
|
Judging by the languages listed, I'm guessing you read something from the anti-Microsoft community. Just about any object-oriented language is good for AI programming, though a JIT'd environment does make first responses a little slower (but Java is prone to this as well). The only thing that C# probably suffers from in relation to what you read is that's it's produced by Microsoft, who the open-source community loves to hate (even for groundless reasons just because they think everything should be free, since we don't need to eat or shelter ourselves or anything...but don't get me started in this forum).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Where to start? Make sure you understand AI fundementals. Beyond that you should pick the language binding you are most familiar and semi-importantly the ones you can get the tools for. Except for garbage collection, no computer language consider "modern" is missing any of those features (and there is nothing in AI that indicates you need garbage collection for functionality).
|
|
|
|
|
sreejith ss nair wrote:
They are garbage collection, dynamic typing, functions as data, uniform syntax, interactive environment,
and extensibility.
I suggest reading some background on AI 1st. These thing you have mentioned does make live easier and slower. Any language capable of powerful number crunching and efficient code generation should do (iow C/Fortran/Assembler). Anything you can do in most languages can be done in C with a bit of extra work, IMO saving u time when u get to optimizations. Also the aforementioned languages's code generation can be tailored where "higher" level languages you have to rely on the subsystem .
Im not sure what Father Stewart was trying to sell you
|
|
|
|
|
What leppie says is true.
The best programming language to make AI is C, but you will need to invest lots of time to make a program with it. C# is a good language, but it is quite slow. Also, i would recommend you to search on the net. There is plenty example, thus it is possibel you would not even need to write a single line of code.
|
|
|
|
|
There is some simple implementations for different kind AI algorithms here in codeproject:
Fuzzy Logic Dot Net[^]
Neural Dot Net Pt 1 Introduction[^]
Path Finder[^]
A Simple C# Genetic Algorithm
[^]
Inference in Belief Networks
[^]
MetaAgent, a Steering Behavior Template Library[^]
Basicly AI algorithms are divided to two categories: symbolic and connectionism.
Connectionism (from Stanford Encyclopedia of Philosophy[^]):
Connectionism is a movement in cognitive science which hopes to explain human intellectual abilities using artificial neural networks (also known as ‘neural networks’ or ‘neural nets’). Neural networks are simplified models of the brain composed of large numbers of units (the analogs of neurons) together with weights that measure the strength of connections between the units. These weights model the effects of the synapses that link one neuron to another. Experiments on models of this kind have demonstrated an ability to learn such skills as face recognition, reading, and the detection of simple grammatical structure.
(Note: Neural networks are not only connectionism approach. Also there is very different kind neural networks.)
And symbolic (from The University of Alberta's Dictionary of Cognitive Science
[^] ):
Symbolic architecture refers to the classical view of the architecture of the mind. In this approach the mind is viewed as a process in which symbols are manipulated. Symbols are moved between memory stores such as long term and short term memory and are acted upon by an explicit set of rules in a particular sequence. The symbolic architecture is the manner in which memory stores are related and the set of rules applied to the system.
Symbolic approach have achieved huge success in very limited problem areas. It's solutions are normally very specific for one problem. And because problems are normally simplified "laboratory problems" - this approach haven't achieved great practical success.
Connectionism approaches advantage is that it's basic problem solution mechanism (neural networks and other similar networks) is applicable to wide area of different kind problems and you don't need to know much from problem (basicly it is enough to know inputs and outputs - and guess right network architecture). However it uses lot of processing power and memory (it is simple simulation from brains). You also need to find suitable presentation for inputs and outputs, train network and select suitable network architecture (how many layers, how many neurons, etc.).
When you know your problem very well: you should use symbolic approach (or better develope mathematical model). If your problem is complex, you don't know it specifics well enough or there is lot's of "noise data" - you can try connectionism approach. Lisp and Prolog are developed for symbolic AI approaches. Connectionism approach doesn't have specific language - you just need to have programming language (like C#) that is suitable for "brain simulation".
IMHO: Connectionism approach is real way to do AI. Symbolic approach seem to be suitable for only very limited problem areas.
Here is some good tutorials for neural networks: AI Depot tutorials[^]
|
|
|
|
|
hai there,
i heard Lisp, Prolog, C/C++,Java, Python can used for AI programming.Because Features of this language that
are good for AI programming include: garbage collection, dynamic
typing, functions as data, uniform syntax, interactive environment,
and extensibility.
So which technology that our C# not satisfying ?
if it is satisfying all features. can we use this language for AI programming ?
|
|
|
|
|
Is it possible to use a directory picker in c#.net 2003? Or do you have to write it yourself?
Thx in advance
|
|
|
|
|
You mean in .NET 1.1? Use the FolderBrowserDialog class.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
yes thx that's it, works great
i found somthing like this on another site but that was a complete program, this is just 3 lines, a lot better
thx!
|
|
|
|
|
I am trying to raw c++ client for a c# server and am stuck at a very strange point - i have gone through the documentations available but none seem to show an unmanaged c++ client(everyone prefers VB)
so here is my steps:
using System;
using System.Runtime.InteropServices;
namespace InterfaceNETServer
{
public interface INETServer
{
string Sayhi();
}
public class InterfaceNETServer:INETServer
{
public InterfaceNETServer()
{
}
public string Sayhi()
{
return "Hi from Server";
}
}
}
The generated typelib ,as from typelib viewer in ole view
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: InterfaceServer.tlb
[
uuid(21D195E2-ECE9-340D-8CE0-079CDC12FAEF),
version(1.0)
]
library InterfaceNETServer
{
// TLib : // TLib : Common Language Runtime Library : {BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}
importlib("mscorlib.tlb");
// TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("Stdole2.tlb");
// Forward declare all types defined in this typelib
interface INETServer;
interface _InterfaceNETServer;
[
odl,
uuid(1701A141-5AE7-35AE-BD6E-D389EDD66D65),
version(1.0),
dual,
oleautomation,
custom({0F21F359-AB84-41E8-9A78-36D110E6D2F9}, "InterfaceNETServer.INETServer")
]
interface INETServer : IDispatch {
[id(0x60020000)]
HRESULT Sayhi([out, retval] BSTR* pRetVal);
};
[
uuid(2D31E170-65BD-31DF-A526-90624DD704BB),
version(1.0),
custom({0F21F359-AB84-41E8-9A78-36D110E6D2F9}, "InterfaceNETServer.InterfaceNETServer")
]
coclass InterfaceNETServer {
[default] interface _InterfaceNETServer;
interface _Object;
interface INETServer;
};
[
odl,
uuid(DD603E31-4155-3DBE-B1BE-357E3863D3EE),
hidden,
dual,
oleautomation,
custom({0F21F359-AB84-41E8-9A78-36D110E6D2F9}, "InterfaceNETServer.InterfaceNETServer")
]
interface _InterfaceNETServer : IDispatch {
};
};
and my c++ client
#include <iostream.h>
#include <atlbase.h>
#import <mscorlib.tlb>
#import "..\InterfaceNETServer\bin\Debug\InterfaceServer.tlb" no_namespace named_guids
#include "stdafx.h"
int main(int argc, char* argv[])
{
INETServer * cpi= NULL;
CoInitialize(NULL);
CoUninitialize();
return 0;
}
There is no way i can make the compiler recognize the INETServer interface!!!!!!!!
Compiling...
StdAfx.cpp
Compiling...
CLientforNetInterop.cpp
D:\CSHARP\NETSERVERFORINTEROP\CLientforNetInterop\CLientforNetInterop.cpp(15) : error C2065: 'INETServer' : undeclared identifier
The path to the tlb cannot be worng,as i can open the tlb through 'right click->open document' from within this file.Whats wrong ?
|
|
|
|
|
First thing - always attribute your class and interfaces with the GuidAttribute - among other attributes that are handy such as the InterfaceTypeAttribute - to make sure that the GUIDs are constant and use the COM guidelines: if you need to change your interface after publishing your code, make a new interface that inherits from the original one, called INETServer2 or something, with a new GUID.
As for the actual problem, look at the header file that the compiler generates when it imports the typelib. It should have a .tlh extension, IIRC, and is in your project directory. You might need to add the raw_interfaces_only attribute to your #import statement. The .tlh file should tell you what was imported and what they were called.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks for the help.
BUt although I see the interface name in the generated .tlh file,it simply refuses to recognize the Interface name while compilation.
I change the #import attributes from 'no_namespace named_guids' to 'raw_interfaces_only',but still getting the same error.
Are there any other sugestions?
can a c++ client (compiled usin VC6.0) not be built against a C# server?
I am also surprised that no literature/tutorial is available for this - there seems to be a definite preference for VB clients in .NET references.
|
|
|
|
|
No, don't get rid of no_namespace named_guids , just add raw_interfaces_only . If you remove no_namespace , then a namespace is defined for which you need to use using namespace theNamespace; after your #import .
A native C++ app can consume a CCW (COM-Callable Wrapper) for managed code. In fact, I do it in my article about Java interop with .NET at the presentation layer, which you could read about and see the example of how I consume a managed COM object from unmanaged code. See http://www.codeproject.com/dotnet/javanet.asp[^].
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|