|
I'm not too sure about the various constants, but it looks like The Right Way to do it
|
|
|
|
|
On second thoughts, it does not look much improved
The constants are OK, they will never need to change
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
harold aptroot wrote: it looks like The Right Way to do it
really?
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
*reconsiders*
Yes?
No seriously, no matter how wrong it was, not having a loop made it much closer than all those other entries..
|
|
|
|
|
What I came up with is similar to that:
public static int
F
(
int Year
,
int Month
,
System.DayOfWeek DayOfWeek
)
{
int d = (int) DayOfWeek - (int) (new System.DateTime ( Year , Month , 1 )).DayOfWeek ;
if ( d < 0 )
{
d += 7 ;
}
int n = System.DateTime.DaysInMonth ( Year , Month ) - 28 ;
return ( d < n ? 5 : 4 ) ;
}
|
|
|
|
|
What??? It does not work?
What's with the 'Bad Answer' again?
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Obviously you do not need any loop or conditional for this.
Have a look at:
int mondays=(DateTime.DaysInMonth(year, month) + (int)new DateTime(year, month, 6).DayOfWeek) / 7;
What remains of this homework is for you to figure out why the expression is what it is!
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
No, it's obvious that no loop is required, but I still have two conditionals in mine.
I, like some of the others, am not content to hard code Monday, but would prefer to take the day of the week as a parameter. I haven't tried yours yet, but I don't see how it can be a general solution for any specified day of the week.
On the whole, I expect the OP's teacher only wants to prove that he's smarter than his students.
|
|
|
|
|
IMO it works for all years and months, I checked for this year only.
With a day-of-week parameter it becomes:
int Xdays=(DateTime.DaysInMonth(year, month) + (int)new DateTime(year, month, 7-dayOfWeek).DayOfWeek) / 7;
where dayOfWeek is 0=SU, 1=MO, ... 6=SA
[ADDED] so you can also use (int)DayOfWeek [/ADDED]
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
modified on Wednesday, November 18, 2009 3:36 PM
|
|
|
|
|
PIEBALDconsult wrote: I expect the OP's teacher only wants to prove that he's smarter than his students
The teacher may be shaded then by a cheating student.
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
Lol guys Thank you very much for the help but actually this ain't for homework hehe, this is part of a payroll system that I am developing at work and with the deadline stress and from being tired because been programming 8 hours strait i couldn't find a solution for this so i turned to some help hehe thank you again guys.
|
|
|
|
|
I have a text file
Each line is the record as shown below
000071000456789987000000008250000000000000000000
in top line :
00007 = id field
1000456789987 = sn field
000000008250000 = amount field
000000000000000 = blank field
The question is :
How can I read each line in that file?
help me please very important for me
|
|
|
|
|
Member 4737022 wrote: How can I read each line in that file?
StreamReader()[^] should do it.
|
|
|
|
|
another idea would be using the File.ReadAllLines method :P
this is easily found on google
Here we rest... So why not make the best of it?
|
|
|
|
|
|
there is no need for loop with the ReadAllLines method.. It returns a string array containing all the lines of a file
Here we rest... So why not make the best of it?
|
|
|
|
|
He said he was using this file as a database, which tend to be large. I'd personally prefer not to have an entire database in a string, whereas I can read a line, perform operations and discard of it keeping my memory footprint down.
|
|
|
|
|
You can use StreamReader[^] class to read the file line by line.
If your fields are with fixed lengths you can use the String.Substring[^] method to extract the fields from the line. Here is an example:
string filePath = @"Path_to_your_file_here";
string line;
int idLength = 5, snLength = 13, amountLength = 15, blankLength = 15;
if (File.Exists(filePath))
{
StreamReader file = null;
try
{
file = new StreamReader(filePath);
while ((line = file.ReadLine()) != null)
{
string id = line.Substring(0, idLength);
string sn = line.Substring(idLength, snLength);
string amount = line.Substring(idLength + snLength, amountLength);
string blank = line.Substring(idLength + snLength + amountLength, blankLength);
}
}
finally
{
if (file != null)
file.Close();
}
}
I hope this helps.
Regards,
Nuri Ismail
|
|
|
|
|
Very thanks mr nuri ismail
|
|
|
|
|
You're welcome!
Regards
|
|
|
|
|
use StreamReader
int id;
int sn;
double amount;
int blank;
StreamReader sr = new StreamReader("C:\FileFolder\myfile.txt");
String strInput="";
strInput=sr.ReadLine();
while ((strInput = sr.ReadLine()) != null )
{
try
{
id = int.Parse(strInput.Substring(0,5));
sn=double.Parse(strInput.Substring(5,13));
}
catch(Exception e)
{
}
}
NB. Just a learner so my code is not the best but there is a general idea
|
|
|
|
|
Do you want to have all the records in memory at once? Or do you want to read each particular record based on its ID or SN (e.g. GetRecord ( 7 ) )?
What are you going to do with the data?
|
|
|
|
|
hello everybody
I write one c# program for reading data record from an access database ant write each record to one line in text file and now I want to read data from each line in text file and show them on a form using labels or text boxes etc to check that the data on text file are equal to database records or not?
I am sorry if i can't describe as well as you want .
|
|
|
|
|
Why not have the application that displays the data also get the data from Access? It's really not a difficult task.
|
|
|
|
|
how do i change the filter to only give me users in my group i tryied memberOf='CN=GMDPortal,OU=IT,OU=ADM,DC=corp,DC=com' but it does not work i need to use a directorysearcher because i need to set search.PageSize = 4000; i have 3,000 users in this group
public static ArrayList GetAllADDomainUsers()
{
string domainpath = @"LDAP://DC=corp,DC=com";
ArrayList allusers = new ArrayList();
DirectoryEntry searchRoot = new DirectoryEntry(domainpath);
DirectorySearcher search = new DirectorySearcher(searchRoot);
search.Filter = "(&(objectCategory=person)(objectClass=user)(memberOf='CN=GMDPortal,OU=IT,OU=ADM,DC=corp,DC=com' )(!userAccountControl:1.2.840.113556.1.4.803:=2))";
search.PropertiesToLoad.Add("samaccountname");
search.PropertiesToLoad.Add("distinguishedName");
search.PropertiesToLoad.Add("description");
search.PropertiesToLoad.Add("displayName");
search.PropertiesToLoad.Add("pwdLastSet");
search.PropertiesToLoad.Add("whenChanged");
search.ReferralChasing = ReferralChasingOption.All;
search.PageSize = 4000;
SearchResult result;
SearchResultCollection resultCol = search.FindAll();
user ousr = new user();
if (resultCol != null)
{
for (
int counter = 0; counter < resultCol.Count; counter++)
{
result = resultCol[counter];
if (result.Properties.Contains("distinguishedName"))
{
ousr = new user();
ousr.dn = (string)result.Properties["distinguishedName"][0];
try
{
ousr.Description = (string)result.Properties["description"][0];
}
catch (Exception er)
{
ousr.Description = " ";
}
try
{
ousr.DisplayName = (string)result.Properties["displayName"][0];
}
catch (Exception er)
{
ousr.DisplayName = (string)result.Properties["samaccountname"][0];
}
try
{
ousr.pwdLastSet = DateTime.FromFileTime((Int64)result.Properties["pwdLastSet"][0]);
}
catch (Exception er)
{
ousr.pwdLastSet = DateTime.MinValue;
}
try
{
ousr.whenChanged = (DateTime)result.Properties["whenChanged"][0];
}
catch (Exception er)
{
ousr.whenChanged = DateTime.MinValue;
}
ousr.usersname = (string)result.Properties["samaccountname"][0];
allusers.Add(ousr);
}
}
}
return allusers;
}
}
public class user
{
public string dn;
public string usersname;
public string Description;
public string DisplayName;
public DateTime pwdLastSet;
public DateTime whenChanged;
}
|
|
|
|