We’d like to remind Forumites to please avoid political debate on the Forum.
This is to keep it a safe and useful space for MoneySaving discussions. Threads that are – or become – political in nature may be removed in line with the Forum’s rules. Thank you for your understanding.
📨 Have you signed up to the Forum's new Email Digest yet? Get a selection of trending threads sent straight to your inbox daily, weekly or monthly!
The Forum now has a brand new text editor, adding a bunch of handy features to use when creating posts. Read more in our how-to guide
C# question please
tincat
Posts: 935 Forumite
in Techie Stuff
Hi,
Hi,
I'm trying to write a sign up sheet where people will add their name and age, and then it will get saved to a text file with a date. Each time the program runs, it will append the name and age to the existing records on the text file. The first time the program runs, it should create the text file.
I'm trying to adapt the following bit of code that I was given, but it isn't working correctly.
Would anyone be able to point me in the right direction, or give me some working code? Many thanks
Hi,
I'm trying to write a sign up sheet where people will add their name and age, and then it will get saved to a text file with a date. Each time the program runs, it will append the name and age to the existing records on the text file. The first time the program runs, it should create the text file.
I'm trying to adapt the following bit of code that I was given, but it isn't working correctly.
Would anyone be able to point me in the right direction, or give me some working code? Many thanks
I have got 'using System.IO;' in the top fieldsstring MyFile = @"C:\MyFile.txt"; // File name
StreamWriter MyFile1 = new StreamWriter(MyFile, true);
for (int j = 1; j < 5; j++) // write lines.
MyFile1.WriteLine("Read {0}", j);
MyFile1.WriteLine("This is the end");
MyFile1.Close(); // close the file
Console.WriteLine("File written, then closed.");
Console.ReadLine(); // Pause to see output
0
Comments
-
just bumping0
-
Looks fine to me, in what way isn't it working correctly? If you get an exception, please post the details. The StreamWriter constructor you're using is fine (will create the file if it doesn't already exist). If it does exist, it just appends to the file.
On a side note, formatting-wise, you could make the code a bit more readable if you enclose the for loop block within brackets:
for(.....)
{
MyFile1.WriteLine(.....);
}
Improved readability = improved maintainability0 -
Dont write the to the root of the drive the .net framework doesn't usually have access to it. (esp under win7/vista)
DateTime.Now is always useful
0 -
When I run the program, the console stays blank, and afterwards, the exception error is 'Access to the path 'C:\MyFile.txt' is denied.'
It says to make sure I have sufficient privileges to access this resource', and to make sure the file isn't 'read only'.
Thank you both for helping so far
PS, I'm using Microsoft Visual C# 2008, on Vista0 -
Hi Tincat, dont forget to flush the StreamWriter once finished and put it in a try catch block;
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]private [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] WriteToFile([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] text)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] _logFile = [/SIZE][SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]DateTime[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].Now.ToShortDateString().Replace([/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"/"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"- "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]).Replace([/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"\"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"-"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) + [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]".log"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] _sw = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](_logFile);[/SIZE] [SIZE=2]try[/SIZE] [SIZE=2]{ [/SIZE] [SIZE=2] _sw.Write(text);[/SIZE] [SIZE=2] _sw.Flush();[/SIZE] [SIZE=2] _sw.Close();[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]catch(Exeption ex)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2] [SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080] MessageBox[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].Show[/SIZE]("Epic Fail!");[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE]Since when has the world of computer software design been about what people want? This is a simple question of evolution. The day is quickly coming when every knee will bow down to a silicon fist, and you will all beg your binary gods for mercy.0 -
Hi, you can’t write to root C:\ during debug unless you use elevated permissions or disable the silly Vista UAC.When I run the program, the console stays blank, and afterwards, the exception error is 'Access to the path 'C:\MyFile.txt' is denied.'
It says to make sure I have sufficient privileges to access this resource', and to make sure the file isn't 'read only'.
Thank you both for helping so far
PS, I'm using Microsoft Visual C# 2008, on Vista
If you compile the app and run the app as administrator etc it should be fine, C# can't circumvent the Windows security.
Or create a unique folder with full control from your user account.Since when has the world of computer software design been about what people want? This is a simple question of evolution. The day is quickly coming when every knee will bow down to a silicon fist, and you will all beg your binary gods for mercy.0 -
You can actually run visual studio or express as an administrator (right click run as admin) and it give you raised permissions when debugging.Hi Tincat, dont forget to flush the StreamWriter once finished and put it in a try catch block;
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]private [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] WriteToFile([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] text)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] _logFile = [/SIZE][SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]DateTime[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].Now.ToShortDateString().Replace([/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"/"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"- "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]).Replace([/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"\"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]@"-"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) + [/SIZE][SIZE=2][COLOR=#800000][SIZE=2][COLOR=#800000]".log"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] _sw = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](_logFile);[/SIZE] [SIZE=2]try[/SIZE] [SIZE=2]{ [/SIZE] [SIZE=2]_sw.Write(text);[/SIZE] [SIZE=2]_sw.Flush();[/SIZE] [SIZE=2]_sw.Close();[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]catch(Exeption ex)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2] [SIZE=2][COLOR=#008080][SIZE=2][COLOR=#008080]MessageBox[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].Show[/SIZE]("Epic Fail!");[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE]
Welllllll the "politically correct" way is to use the using statement[SIZE=2][COLOR=#0000ff] [SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] MyFile1 = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]StreamWriter[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](MyFile, [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// do stuff[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]}[/SIZE]
This will automatically call the dispose method in case you forget, or say have complex write code if you branch it off into multiple sub-methods, and you can call close if your really paranoid.... in fact you should use using for everything that uses unmanaged resources.0 -
you could also use the application startup path -
For a Windows Form -
String MyFile = Application.StartupPath + [URL="file://\\Myfile.txt"]\\Myfile.txt[/URL];
For Console Application -
Using System.Diagnostics;
string MyFile = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName)+"\\MyFile.Txt";
0 -
also i you do wish to write programs which may require elevated permissions have a look at this link -
http://www.professionalvisualstudio.com/blog/2007/10/05/enabling-your-application-for-uac-on-vista/
This also does not seem to be for all versions of visual studio so if not showing you may be able to do it by righ clicking the project selecting ' Add ' , ' New Item' and adding an ' Application manifest ' then just open the manifest and it is pretty straighforward , just edit the line -
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
copy of the manifest file -[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]<?[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]xml[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]version[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]1.0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]encoding[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]utf-8[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]?> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]asmv1:assembly[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]manifestVersion[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]1.0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]urn:schemas-microsoft-com:asm.v1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns:asmv1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]urn:schemas-microsoft-com:asm.v1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns:asmv2[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]urn:schemas-microsoft-com:asm.v2[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns:xsi[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]http://www.w3.org/2001/XMLSchema-instance[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]assemblyIdentity[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]version[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]1.0.0.0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]name[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]MyApplication.app[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]/> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]trustInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]urn:schemas-microsoft-com:asm.v2[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]security[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]requestedPrivileges[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]xmlns[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]urn:schemas-microsoft-com:asm.v3[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> <!--[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000] UAC Manifest Options If you want to change the Windows User Account Control level replace the requestedExecutionLevel node with one of the following. <requestedExecutionLevel level="asInvoker" uiAccess="false" /> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> If you want to utilize File and Registry Virtualization for backward compatibility then delete the requestedExecutionLevel node. [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]--> <[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]requestedExecutionLevel[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]level[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]requireAdministrator[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]uiAccess[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]"[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] /> </[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]requestedPrivileges[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> </[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]security[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> </[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]trustInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> </[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]asmv1:assembly[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]> [/COLOR][/SIZE][/COLOR][/SIZE]
0 -
TBH the whole thing would be better in an SQL DB, more of an interesting exercise.
Since when has the world of computer software design been about what people want? This is a simple question of evolution. The day is quickly coming when every knee will bow down to a silicon fist, and you will all beg your binary gods for mercy.0
This discussion has been closed.
Confirm your email address to Create Threads and Reply
Categories
- All Categories
- 353.5K Banking & Borrowing
- 254.1K Reduce Debt & Boost Income
- 455K Spending & Discounts
- 246.6K Work, Benefits & Business
- 602.9K Mortgages, Homes & Bills
- 178.1K Life & Family
- 260.6K Travel & Transport
- 1.5M Hobbies & Leisure
- 16K Discuss & Feedback
- 37.7K Read-Only Boards