|
You can put the contents of each file in a HashTable and load the files in at startup or when the first search is being done. Then you can search for words at O(1). This uses up quite a bit of memory though, and you still have to read the file at least once.
Open the file with a stream and read a line at a time, then use string.Split(' ') to split it into individual words and put the words into your HashTable (along with some data-structure that records line num, word num, etc...)
|
|
|
|
|
Ok another simple one here because ive got the XML writing correctly . so as you can see below i have string Value = ""; and in various button events i have string Value = "1";
quite simply i want a way to get the string to be reused so when i click button 1 the value of string to change inside the try { function .
Any ideas ?
private void ChangeStatus(object sender, EventArgs e)
{
try
{
string Value = "";
//xml reading code
CurrentStatus.InnerText = Value;
// xml writing code...
}
catch (System.Exception)
{
}
}
private void 1(object sender, EventArgs e)
{
string Value = "1";
}
private void 2(object sender, EventArgs e)
{
string Value = "2";
}
private void 3(object sender, EventArgs e)
{
string Value = "3";
}
|
|
|
|
|
Umm... Stop setting it to "" before checking to see what's in there. If you explained it effectively. If you set it equal to "" and then check to see what's in there, unless Microsoft needs to go back and do some work, it should always be equal to "".
|
|
|
|
|
I get a compiler error if i use string Value;
Error 1 Use of unassigned local variable 'Value'
Im getting confused here between actionscriptand c# any ideas on what changes i need to make ?
|
|
|
|
|
Hi,
if you want a single variable used by several methods, make it a class member, and dont
define it again and again in every method; like so:
class myClass {
private string myString;
public void Method1() {
myString="value1";
}
public void Method2() {
if (myString=="value1") Console.WriteLine("Method1 has been executed !");
}
}
The way you did it, every method had its own local variable, but they were independent
of each other. Read up on "scope rules".
|
|
|
|
|
Not sure if I follow but if you make your string a member of the class like
private string Value = string.empty. Then you can use it throughout the class.
God Bless,
Jason
Paul Conrad wrote:
Chuck Norris keeps the hamsters going whenever Chris is gone on vacation. Just stares them down and they keep the servers going
|
|
|
|
|
If I understand correctly, you have several buttons; "1" through "3" and "ChangeStatus"
The user clicks "1", "2", or "3" and then clicks "ChangeStatus" to effect the change.
The other answers about adding the field to the class will work, but I do it another way, the Button (all Controls?) has a Tag property, I use that to store the information.
On click "1" --> bChangeStatus.Tag = "1" ;
On click "2" --> bChangeStatus.Tag = "2" ;
On click "3" --> bChangeStatus.Tag = "3" ;
This could be changed to On click "1", "2", or "3" --> bChangeStatus.Tag = ((Button) sender).Name ;
Or if that's not the name, store the correct strings in the Tags of the buttons then
On click "1", "2", or "3" --> bChangeStatus.Tag = ((Button) sender).Tag ;
And finally:
On click "ChangeStatus" --> CurrentStatus.InnerText = (string) bChangeStatus.Tag ;
(Of course, always checking the type of the sender and Tag before trying to cast.)
|
|
|
|
|
Hi, I wanted to know if it's possible to integrate SQL queries into C# code using visual studio, and if so, how?
(I am very new to C#)
|
|
|
|
|
This is a very broad area. I suggest that you read up on ADO.NET and look at some of the excellent examples here on CP. If you are using Sql Server, read up on SqlConnection and SqlCommand classes. Have a look at articles on DataReaders/DataTables and writing custom data access layers (DAL).
For best practices, you really need to look at this[^] article by Colin Mackay.
|
|
|
|
|
Like Pete said, it is a very broad topic.
You can have SQL queries in your C# code when using classes like SqlCommand . You are probably better off using stored procedures because if the business logic changes, and the queries need to change to fit the business logic, then you have to recompile the code and redistribute the new code. For a small shop of one or two users, this is permissible, but imagine trying to get a shop of 500+ users to update to the new executable holding the new business logic change. One swift swoop inside the stored procedure takes care of it. I read that you are new to C# and stored procedures may be a big leap.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
Like the other stated, the statement is to broad.
Try this Google[^].
Notice how I use 'C#' first then put in what every it is you are looking for.
Most of the time a link to CP comes up.
There are a lot of good articles here for this subject.
God Bless,
Jason
Paul Conrad wrote:
Chuck Norris keeps the hamsters going whenever Chris is gone on vacation. Just stares them down and they keep the servers going
|
|
|
|
|
thanks guys, I know I asked a pretty broad question. What I really need to do is bind a data-set in a gui to a table in a database
|
|
|
|
|
auloepid wrote: bind a data-set in a gui to a table in a database
That is pretty easy after you done it once.
Follow:
In Solution Explorer
Right click you Project -> Add -> New Item
Then in the Add New Item Window
Select DataSet and give it a name
Click Add
A new DataSet is added
While looking at the DataSet.xsd
Go to Server Explorer
Connect to the Database
Once the connected you can then drag and drop
What ever you need
God Bless,
Jason
Paul Conrad wrote:
Chuck Norris keeps the hamsters going whenever Chris is gone on vacation. Just stares them down and they keep the servers going
|
|
|
|
|
Thanks a lot Jason. Will this cause the gui to update in sync with the database then?
Deji
|
|
|
|
|
I don't think it keeps the ds in a live updated state with the db.
God Bless,
Jason
Paul Conrad wrote:
Chuck Norris keeps the hamsters going whenever Chris is gone on vacation. Just stares them down and they keep the servers going
|
|
|
|
|
Not like you do with Pro*C or ESQL... and more's the pity.
|
|
|
|
|
Hi all,
I have a windows C# EXE. In most cases, it will be killed abruptly from TaskManager (its session will be killed).
Is there any Event in C# to handle those abruptly closing of EXE?
Need in urgent.
Thanx in advance
vidh
|
|
|
|
|
If you kill something from the task manager the idea is that it should stop dead right there and then.
Before Vista you were trusted to be able to hook into the system shutdown events and even stop the shutdown if needed. THis was abused way too much and iirc Vista now will notify you, give you a few seconds, and then carry on anyway.
It'd be just the same with a kill command from the task manager, if the OS allowed you to intervine it would be abused a lot and so just isn't there.
On a personal note if I tried to kill an app and it declined I would be very angry, it's my machine and I know what I want to happen better than the app does, I didn't click End Process by accident!
|
|
|
|
|
harvid wrote: Is there any Event in C# to handle those abruptly closing of EXE?
TaskManager will TRY and close the app nicely first. This is a normal close event on the main form of your application. If your app doesn't respond, it'll just be stopped and killed. There is no event and no chance for your code to even care. It's the "bullet in the brain" method of killing your app.
|
|
|
|
|
Like Dave and originSH said, the purpose of the task manager is to stop a task/process pretty much in it's tracks. You can try the OnClose method, but it might not do you a whole alot.
Letting task manager do it's bit by shutting down the app with no intervention done by the app is what should be intended. Nothing more irritating than telling task manager over and over to kill a process because it won't go away.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
Hi Dave,Paul and originSH,
Thanks a lot for your comments.
Let me explain my actual scenario,
I have a C# Windows EXE which will call my Webserive hosted in another Webserver asynchronously.
We have an UI interface which will call the above mentioned C# Windows EXE. when EXE gets abruptly aborted from UI Interface, my webservice still running in webserver machine.
Any options or methods to stop my webservice when my EXE stops abruptly?
Pls help me out.
Thx
Vidh
|
|
|
|
|
Hi, I recieve a chunk of XML as a string that i want to then deserialize, but none of the XmlSerializer.Deserialize overloads accept a string as parameter, mostly only streams, textreaders or xmlreaders. Surely there has to be a quick way to convert a string to one of those formats?
|
|
|
|
|
The streams live in System.IO, have a look there.
|
|
|
|
|
I don't think there's a smart way of doing this.
You could allocate a byte array, create a MemoryStream on it, and then write your string to the memory stream. Then you can deserialize from that.
|
|
|
|
|
Jon Hulatt wrote: I don't think there's a smart way of doing this.
System.IO.StringReader
|
|
|
|