Πώς μπορεί να γίνει το βασικό αρχείο εισόδου/εξόδου σε Visual C++ ή σε Visual C++ .NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 307398 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Για ένα Microsoft Visual C++ .NET 2005/2008 ECMA C+ +/ CLI έκδοση αυτού του άρθρου, ανατρέξτε στο θέμα 950617.
Για την έκδοση αυτού του Microsoft Visual C# .NET το άρθρο, ανατρέξτε στο θέμα 304430.
Για μια οπτική της Microsoft Βασική έκδοση του παρόντος άρθρου, ανατρέξτε στο θέμα 304427.
Αυτό το άρθρο αναφέρεται σε τα παρακάτω πεδία ονομάτων βιβλιοθήκη κλάσεων του Microsoft .NET Framework:
  • System::ComponentModel
  • System::Windows::Forms
  • System::Drawing
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο πραγματοποίησης έξι basic εισόδου/εξόδου (I/O) αρχείων στο Microsoft Visual C++ 2005 ή το Microsoft Visual C++ .NET. Εάν είστε εξοικειωμένοι με το .NET Framework, θα βρείτε ότι είναι παρόμοιο με το μοντέλο αντικειμένου για λειτουργίες αρχείων στο .NET Framework το FileSystemObject (FSO) που είναι πολύ δημοφιλείς στους πολλοί προγραμματιστές Microsoft Visual Studio 6.0. Για να κάνετε τη μετάβαση ευκολότερη, τη λειτουργικότητα που έχει αποδειχθεί σε αυτό το άρθρο βασίζεται στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
186118 ΔΙΑΔΙΚΑΣΙΕΣ: χρήση FileSystemObject με Visual Basic
Μπορείτε να χρησιμοποιήσετε το FileSystemObject στο .NET Framework. Επειδή το FileSystemObject είναι ένα στοιχείο μοντέλου αντικειμένου στοιχείου (COM), απαιτεί το .NET Framework η πρόσβαση στο αντικείμενο από το επίπεδο της διαλειτουργικότητας. Το .NET Framework δημιουργεί ένα πρόγραμμα εξομοίωσης για το στοιχείο για το εάν επιθυμείτε να το χρησιμοποιήσετε. Ωστόσο, η κλάση του αρχείου , η κλάση FileInfo , τον κατάλογο, κλάσεις DirectoryInfo και άλλων κλάδων σχετικά με το .NET Framework, προσφέρει λειτουργικότητα που δεν είναι διαθέσιμη με το FSO, χωρίς να το Επίπεδο διαλειτουργικότητας.

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει τα υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που απαιτούνται:
  • Visual C++ 2005 ή Visual C++ .NET

Λειτουργίες αποδεδειγμένη αρχείων εισόδου/εξόδου

Τα παραδείγματα σε αυτό το άρθρο περιγράφουν βασικού αρχείου λειτουργίες εισόδου/εξόδου. Στην ενότητα "Βήμα προς βήμα παράδειγμα" περιγράφει τον τρόπο δημιουργίας ενός δείγματος προγράμματος που δείχνει τις ακόλουθες λειτουργίες εισόδου/εξόδου έξι αρχείων:
  • Ανάγνωση ενός αρχείου κειμένου
  • Εγγραφή ενός αρχείου κειμένου
  • Προβολή πληροφοριών αρχείου
  • Λίστα μονάδων δίσκου
  • Λίστα φακέλων
  • Τα αρχεία λίστας

Ανάγνωση ενός αρχείου κειμένου

Το ακόλουθο δείγμα κώδικα χρησιμοποιεί μια κλάση StreamReader για να διαβάσετε ένα αρχείο κειμένου. Τα περιεχόμενα του αρχείου είναι Προσθήκη ενός στοιχείου ελέγχου πλαισίου λίστας . Το μπλοκ Δοκιμάστε... catch χρησιμοποιείται για να σας προειδοποιήσει το πρόγραμμα, εάν το αρχείο είναι κενό. Δεν υπάρχει πολλούς τρόπους για να δείτε όταν φτάσει στο τέλος του αρχείου; Αυτό το δείγμα χρησιμοποιεί τη μέθοδο Peek για να εξετάσετε στην επόμενη γραμμή, πριν να το διαβάσετε.
  listBox1->Items->Clear();
   	try   
	{    
		String* textFile = String::Concat(windir,                                    (S"\\mytest.txt")); 
	        StreamReader *reader=new  StreamReader(textFile);
		do
		{
		    listBox1->Items->Add(reader->ReadLine());
		}   
		while(reader->Peek() != -1);
	}      
         
	catch (System::Exception *e)
	{ 
		listBox1->Items->Add(e);
	}

}
				
Σημείωση Στο Visual C++ 2005, πρέπει να προσθέσετε την κοινή γλώσσα χρόνου εκτέλεσης υποστήριξη επιλογή μεταγλωττιστή (/clr:oldSyntax) για να μεταγλωττιστεί με επιτυχία το προηγούμενο δείγμα κώδικα ως διαχειριζόμενη C++. Για να προσθέσετε επιλογή μεταγλωττιστή υποστήριξης χρόνου εκτέλεσης κοινής γλώσσας, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Το έργο, και στη συνέχεια, κάντε κλικ στο κουμπίΌνομα_έργου Ιδιότητες.

    ΣημείωσηΌνομα_έργου είναι ένα σύμβολο κράτησης θέσης για το όνομα του έργου.
  2. Αναπτύξτε το στοιχείο Ιδιότητες ρύθμισης παραμέτρων, και στη συνέχεια, κάντε κλικ στο κουμπίΓενικά.
  3. Στο δεξιό τμήμα του παραθύρου, κάντε κλικ στην επιλογή Υποστήριξη χρόνου εκτέλεσης κοινής γλώσσας, παλιά σύνταξη (/ clr:oldSyntax) με τοΥποστήριξη κοινή γλώσσα χρόνου εκτέλεσης ρυθμίσεις του έργου.
  4. Κάντε κλικ στο κουμπίΕφαρμογή, και στη συνέχεια, κάντε κλικ στο κουμπί ΟΚ.
Για περισσότερες πληροφορίες σχετικά με κοινές επιλογές μεταγλωττιστή υποστήριξης χρόνου εκτέλεσης γλώσσας, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web:
http://msdn2.Microsoft.com/en-us/library/k8d11d4s.aspx

Εγγραφή ενός αρχείου κειμένου

Αυτό το δείγμα κώδικα χρησιμοποιεί μια κλάση StreamWriter για να δημιουργήσετε και να γράψετε σε ένα αρχείο. Εάν έχετε μια υπάρχουσα αρχείο, μπορείτε να το ανοίξετε με τον ίδιο τρόπο.
StreamWriter* pwriter = new StreamWriter(S"c:\\KBTest.txt");
pwriter->WriteLine(S"File created using StreamWriter class.");
pwriter->Close();
listBox1->Items->Clear();
String *filew = new String(S"File Written to C:\\KBTest.txt");
listBox1->Items->Add(filew);
				

Προβολή πληροφοριών αρχείου

Αυτό το δείγμα κώδικα χρησιμοποιεί μια κλάση FileInfo για να αποκτήσετε πρόσβαση σε ιδιότητες του αρχείου. Notepad.exe χρησιμοποιείται σε αυτό δείγμα. Οι ιδιότητες εμφανίζονται σε ένα στοιχείο ελέγχου πλαισίου λίστας .
 listBox1->Items->Clear();
 String* testfile = String::Concat(windir, (S"\\notepad.exe")); 
 FileInfo *pFileProps  =new FileInfo(testfile);

 listBox1->Items->Add(String::Concat(S"File Name = ", (pFileProps->get_FullName() )) );
 listBox1->Items->Add(String::Concat(S"Creation Time = ", (pFileProps->get_CreationTime() ).ToString()) );
 listBox1->Items->Add(String::Concat(S"Last Access Time = "  ,(pFileProps->get_LastAccessTime() ).ToString()) );
 listBox1->Items->Add(String::Concat(S"Last Write Time = ", (pFileProps->get_LastWriteTime() ).ToString()) );
 listBox1->Items->Add(String::Concat(S"Size = ", (pFileProps->get_Length() ).ToString()) );
				

Λίστα μονάδων δίσκου

Αυτό το δείγμα κώδικα χρησιμοποιεί τις κλάσεις κατάλογο και μονάδα δίσκου για να παραθέσετε τις λογικές μονάδες δίσκου σε ένα σύστημα. Για αυτό το δείγμα, τα αποτελέσματα εμφανίζονται σε ένα στοιχείο ελέγχου πλαισίου λίστας .
  listBox1->Items->Clear();
  String* drives[] = Directory::GetLogicalDrives();
  int numDrives = drives->get_Length();
  for (int i=0; i<numDrives; i++)
  {
	listBox1->Items->Add(drives[i]);
  } 
				

Λίστα υποφακέλους

Αυτό το δείγμα κώδικα χρησιμοποιεί τη μέθοδο GetDirectories της κλάσης καταλόγου για να αποκτήσετε μια λίστα των φακέλων.
listBox1->Items->Clear();
String* dirs[] = Directory::GetDirectories(windir);
int numDirs = dirs->get_Length();
for (int i=0; i<numDirs; i++)
{
listBox1->Items->Add(dirs[i]);
}
				

Τα αρχεία λίστας

Αυτό το δείγμα κώδικα χρησιμοποιεί τη μέθοδο GetFiles της κλάσης καταλόγου για να αποκτήσετε μια λίστα των αρχείων.
listBox1->Items->Clear();
String* files[]= Directory::GetFiles(this->windir);
int numFiles = files->get_Length();
for (int i=0; i<numFiles; i++)
{
  listBox1->Items->Add(files[i]);
}
				
Πολλά πράγματα μπορεί να παρουσιαστούν, όταν ένας χρήστης αποκτά πρόσβαση σε αρχεία. Τα αρχεία ενδέχεται να μην υπάρχει, τα αρχεία μπορεί να χρησιμοποιείται, ή οι χρήστες ίσως δεν έχετε δικαιώματα το τα αρχεία των φακέλων που προσπαθεί να αποκτήσει πρόσβαση. Εξετάστε το ενδεχόμενο να Αυτές οι δυνατότητες όταν συντάσσετε κώδικα για να χειριστεί τις εξαιρέσεις που μπορεί να να δημιουργηθεί.

Παράδειγμα βήμα προς βήμα

  1. Ξεκινήστε το Microsoft Visual Studio .NET, το Microsoft Visual Studio 2005 ή το Microsoft Visual C++ 2005 Express Edition.
  2. Σχετικά με το Το αρχείο μενού, σημείοΝέα, και στη συνέχεια, κάντε κλικ στο κουμπί Το έργο.
  3. Στην περιοχή Τύπους έργων, κάντε κλικ στο κουμπίΈργα του Visual C++. Στην περιοχή Πρότυπα ενότητα, κάντε κλικ στο κουμπίΕφαρμογή φόρμες των Windows (.NET).

    Σημείωση Στο Visual Studio 2005, κάντε κλικ στο κουμπίVisual C++ στην περιοχή Τύπους έργων. Στην περιοχή Πρότυπα, κάντε κλικ στο κουμπίΕφαρμογή φόρμες των Windows.
  4. Τύπος KB307398 με τοΌνομα πλαίσιο, πληκτρολογήστε C:\ με τοΘέση πλαίσιο και, στη συνέχεια, κάντε κλικ στο κουμπίΟΚ.
  5. Ανοίξτε τη φόρμα Form1 στη σχεδίαση προβολή και, στη συνέχεια, πιέστε το πλήκτρο F4 για να ανοίξετε το Propertries παράθυρο.
  6. Στο παράθυρο "Ιδιότητες", αναπτύξτε το Μέγεθοςο φάκελος. Με το Πλάτος πλαίσιο, πληκτρολογήστε 700. Με το Ύψος πλαίσιο, πληκτρολογήστε320.
  7. Προσθέστε ένα Πλαίσιο λίστας στοιχείο ελέγχου και έξιΚουμπί στοιχεία ελέγχου για Form1.

    Σημείωση Για να προβάλετε την εργαλειοθήκη, κάντε κλικ στο κουμπί Εργαλειοθήκη σχετικά με το Προβολή μενού.
  8. Στο παράθυρο "Ιδιότητες", αλλάξτε τοΘέση, το Όνομα, το Μέγεθος, τοTabIndex, και το Κείμενο ιδιότητες αυτών των ελέγχει ως εξής:
    Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
    Αναγνωριστικό στοιχείου ελέγχουΘέσηΌνομαΜέγεθοςTabIndexΚείμενο
    Button1500, 32Button1112, 231Ανάγνωση του αρχείου κειμένου
    button2500, 64button2112, 232Η εγγραφή του αρχείου κειμένου
    button3500, 96button3112, 233Προβολή πληροφοριών αρχείου
    Button4500, 128Button4112, 234Λίστα μονάδων δίσκου
    button5500, 160button5112, 235Λίστα υποφακέλους
    button6500, 192button6112, 236Τα αρχεία λίστας
    listBox124, 24listBox1450, 2000listBox1
  9. Ανοίξτε το αρχείο Form1.h. Στη δήλωση κλάσης Form1 , δηλώνω ότι μία ιδιωτική μεταβλητή συμβολοσειράς με τον ακόλουθο κώδικα:
    private:
    		String *windir;
  10. Στην κατασκευή κλάσης Form1 , προσθέστε τον ακόλουθο κώδικα:
    windir = System::Environment::GetEnvironmentVariable("windir");
  11. Για να εκτελέσετε λειτουργίες εξόδου του αρχείου εισόδου, προσθέστε το System::IO χώρος ονομάτων.
  12. Πιέστε το πλήκτρο SHIFT + F7, για να ανοίξετε Form1 στο Προβολή σχεδίασης. Κάντε διπλό κλικ στο κουμπί Ανάγνωση του αρχείου κειμένου και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα:

    Σημείωση Στο Visual C++ 2005, κάντε κλικ στο κουμπί Σχεδίαση με το Προβολή μενού.
    // How to read a text file:
    // Use try...catch to deal with a 0 byte file or a non-existant file.
    listBox1->Items->Clear();
    
    try   
    {    
    	String* textFile = String::Concat(windir, (S"\\mytest.txt")); 
    	StreamReader *reader=new  StreamReader(textFile);
    	do
    	{
    	listBox1->Items->Add(reader->ReadLine());
    	}   
    	while(reader->Peek() != -1);
    }    
    catch(FileNotFoundException *ex)
    {
    	listBox1->Items->Add(ex);
    }  
            
    catch (System::Exception *e)
    { 
    	listBox1->Items->Add(e);
    }
  13. Στην προβολή σχεδίασης της φόρμας Form1, κάντε διπλό κλικ στο κουμπί Εγγραφή αρχείο κειμένου και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα:
    // This demonstrates how to create and to write to a text file.
    StreamWriter* pwriter = new StreamWriter(S"c:\\KBTest.txt");
    pwriter->WriteLine(S"The file was created by using the StreamWriter class.");
    pwriter->Close();
    listBox1->Items->Clear();
    String *filew = new String(S"File written to C:\\KBTest.txt");
    listBox1->Items->Add(filew);
  14. Στην προβολή σχεδίασης της φόρμας Form1, κάντε διπλό κλικ στο κουμπί Προβολή πληροφοριών αρχείου και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα στη μέθοδο:
    // This code retrieves file properties. The example uses Notepad.exe.
    listBox1->Items->Clear();
    String* testfile = String::Concat(windir, (S"\\notepad.exe")); 
    FileInfo *pFileProps  =new FileInfo(testfile);
    
    listBox1->Items->Add(String::Concat(S"File Name = ", (pFileProps->get_FullName() )) );
    listBox1->Items->Add(String::Concat(S"Creation Time = ", (pFileProps->get_CreationTime() ).ToString()) );
    listBox1->Items->Add(String::Concat(S"Last Access Time = "  ,(pFileProps->get_LastAccessTime() ).ToString()) );
    listBox1->Items->Add(String::Concat(S"Last Write Time = ", (pFileProps->get_LastWriteTime() ).ToString()) );
    listBox1->Items->Add(String::Concat(S"Size = ", (pFileProps->get_Length() ).ToString()) );
  15. Στην προβολή σχεδίασης της φόρμας Form1, κάντε διπλό κλικ στο κουμπί Λίστα μονάδων δίσκου και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα:
    // This demonstrates how to obtain a list of disk drives.
    listBox1->Items->Clear();
    String* drives[] = Directory::GetLogicalDrives();
    int numDrives = drives->get_Length();
    for (int i=0; i<numDrives; i++)
    {
    	listBox1->Items->Add(drives[i]);
    }
  16. Στην προβολή σχεδίασης της φόρμας Form1, κάντε διπλό κλικ στο κουμπί Υποφακέλους λίστα και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα:
    // This code obtains a list of folders. This example uses the Windows folder.
    listBox1->Items->Clear();
    String* dirs[] = Directory::GetDirectories(windir);
    int numDirs = dirs->get_Length();
    for (int i=0; i<numDirs; i++)
    {
    	listBox1->Items->Add(dirs[i]);                                                    
    }
  17. Στην προβολή σχεδίασης της φόρμας Form1, κάντε διπλό κλικ στο κουμπί Λίστα αρχείων και, στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα:
    // This code obtains a list of files. This example uses the Windows folder.
    listBox1->Items->Clear();
    String* files[]= Directory::GetFiles(this->windir);
    int numFiles = files->get_Length();
    for (int i=0; i<numFiles; i++)
    {
    	listBox1->Items->Add(files[i]);
    }
  18. Για να δημιουργήσετε και στη συνέχεια, εκτελέστε το πρόγραμμα, πιέστε το συνδυασμό πλήκτρων CTRL + F5.

Ολοκληρώστε το δείγμα κώδικα

Σημείωση Πρέπει να αλλάξετε τον ακόλουθο κώδικα κατά την εκτέλεση σε Visual C++ 2005.
//Form1.h
#pragma once


namespace KB307398
{
	using namespace System;
	using namespace System::IO;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary> 
	/// Summary for Form1
	///
	/// WARNING: If you change the name of this class, you will need to change the 
	///          'Resource File Name' property for the managed resource compiler tool 
	///          associated with all .resx files this class depends on.  Otherwise,
	///          the designers will not be able to interact properly with localized
	///          resources associated with this form.
	/// </summary>
	public __gc class Form1 : public System::Windows::Forms::Form
	{
	private:
		String *windir;
	public:
		Form1(void)
		{
			windir = System::Environment::GetEnvironmentVariable("windir");
			InitializeComponent();
		}
  
	protected:
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
	private: System::Windows::Forms::Button *  button1;
	private: System::Windows::Forms::Button *  button2;
	private: System::Windows::Forms::Button *  button3;
	private: System::Windows::Forms::Button *  button4;
	private: System::Windows::Forms::Button *  button5;
	private: System::Windows::Forms::Button *  button6;
	private: System::Windows::Forms::ListBox *  listBox1;

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container * components;

		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = new System::Windows::Forms::Button();
			this->button2 = new System::Windows::Forms::Button();
			this->button3 = new System::Windows::Forms::Button();
			this->button4 = new System::Windows::Forms::Button();
			this->button5 = new System::Windows::Forms::Button();
			this->button6 = new System::Windows::Forms::Button();
			this->listBox1 = new System::Windows::Forms::ListBox();
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(500, 32);
			this->button1->Name = S"button1";
			this->button1->Size = System::Drawing::Size(112, 23);
			this->button1->TabIndex = 1;
			this->button1->Text = S"Read Text File";
			this->button1->Click += new System::EventHandler(this, button1_Click);
			// 
			// button2
			// 
			this->button2->Location = System::Drawing::Point(500, 64);
			this->button2->Name = S"button2";
			this->button2->Size = System::Drawing::Size(112, 23);
			this->button2->TabIndex = 2;
			this->button2->Text = S"Write Text File";
			this->button2->Click += new System::EventHandler(this, button2_Click);
			// 
			// button3
			// 
			this->button3->Location = System::Drawing::Point(500, 96);
			this->button3->Name = S"button3";
			this->button3->Size = System::Drawing::Size(112, 23);
			this->button3->TabIndex = 3;
			this->button3->Text = S"View File Information";
			this->button3->Click += new System::EventHandler(this, button3_Click);
			// 
			// button4
			// 
			this->button4->Location = System::Drawing::Point(500, 128);
			this->button4->Name = S"button4";
			this->button4->Size = System::Drawing::Size(112, 23);
			this->button4->TabIndex = 4;
			this->button4->Text = S"List Drives";
			this->button4->Click += new System::EventHandler(this, button4_Click);
			// 
			// button5
			// 
			this->button5->Location = System::Drawing::Point(500, 160);
			this->button5->Name = S"button5";
			this->button5->Size = System::Drawing::Size(112, 23);
			this->button5->TabIndex = 5;
			this->button5->Text = S"List Subfolders";
			this->button5->Click += new System::EventHandler(this, button5_Click);
			// 
			// button6
			// 
			this->button6->Location = System::Drawing::Point(500, 188);
			this->button6->Name = S"button6";
			this->button6->Size = System::Drawing::Size(112, 23);
			this->button6->TabIndex = 6;
			this->button6->Text = S"List Files";
			this->button6->Click += new System::EventHandler(this, button6_Click);
			// 
			// listBox1
			// 
			this->listBox1->Location = System::Drawing::Point(24, 24);
			this->listBox1->Name = S"listBox1";
			this->listBox1->Size = System::Drawing::Size(450, 199);
			this->listBox1->TabIndex = 0;
			// 
			// Form1
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
			this->ClientSize = System::Drawing::Size(692, 293);
			this->Controls->Add(this->listBox1);
			this->Controls->Add(this->button6);
			this->Controls->Add(this->button5);
			this->Controls->Add(this->button4);
			this->Controls->Add(this->button3);
			this->Controls->Add(this->button2);
			this->Controls->Add(this->button1);
			this->Name = S"Form1";
			this->Text = S"Form1";
			this->ResumeLayout(false);

		}	
	private: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
			 {// This code shows how to read a text file.
// The try...catch code is to deal with a 0 byte file or a non-existant file.
listBox1->Items->Clear();

				try   
				{    
					String* textFile = String::Concat(windir, (S"\\mytest.txt")); 
					StreamReader *reader=new  StreamReader(textFile);
					do
					{
					listBox1->Items->Add(reader->ReadLine());
					}   
					while(reader->Peek() != -1);
				} 
				catch(FileNotFoundException *ex)
				{
					listBox1->Items->Add(ex);
				}	     
				        
				catch (System::Exception *e)
				{ 
					listBox1->Items->Add(e);
				}
			 }

private: System::Void button2_Click(System::Object *  sender, System::EventArgs *  e)
		 {// This code demonstrates how to create and to write to a text file.
StreamWriter* pwriter = new StreamWriter(S"c:\\KBTest.txt");
pwriter->WriteLine(S"The file was created by using the StreamWriter class.");
pwriter->Close();
listBox1->Items->Clear();
String *filew = new String(S"The file was written to C:\\KBTest.txt");
listBox1->Items->Add(filew);
		 }

private: System::Void button3_Click(System::Object *  sender, System::EventArgs *  e)
		 {// This code retrieves file properties. This example uses Notepad.exe.
listBox1->Items->Clear();
String* testfile = String::Concat(windir, (S"\\notepad.exe")); 
FileInfo *pFileProps  =new FileInfo(testfile);

listBox1->Items->Add(String::Concat(S"File Name = ", (pFileProps->get_FullName() )) );
listBox1->Items->Add(String::Concat(S"Creation Time = ", (pFileProps->get_CreationTime() ).ToString()) );
listBox1->Items->Add(String::Concat(S"Last Access Time = "  ,(pFileProps->get_LastAccessTime() ).ToString()) );
listBox1->Items->Add(String::Concat(S"Last Write Time = ", (pFileProps->get_LastWriteTime() ).ToString()) );
listBox1->Items->Add(String::Concat(S"Size = ", (pFileProps->get_Length() ).ToString()) );
		 }

private: System::Void button4_Click(System::Object *  sender, System::EventArgs *  e)
		 {// The code demonstrates how to obtain a list of disk drives.
listBox1->Items->Clear();
String* drives[] = Directory::GetLogicalDrives();
int numDrives = drives->get_Length();
for (int i=0; i<numDrives; i++)
{
	listBox1->Items->Add(drives[i]);
}
		 }

private: System::Void button5_Click(System::Object *  sender, System::EventArgs *  e)
		 {// This code obtains a list of folders. This example uses the Windows folder.
listBox1->Items->Clear();
String* dirs[] = Directory::GetDirectories(windir);
int numDirs = dirs->get_Length();
for (int i=0; i<numDirs; i++)
{
	listBox1->Items->Add(dirs[i]);                                                    
}
		 }

private: System::Void button6_Click(System::Object *  sender, System::EventArgs *  e)
		 {// This code obtains a list of files. This example uses the Windows folder.
listBox1->Items->Clear();
String* files[]= Directory::GetFiles(this->windir);
int numFiles = files->get_Length();
for (int i=0; i<numFiles; i++)
{
	listBox1->Items->Add(files[i]);
}
		 }

};
}

//Form1.cpp
#include "stdafx.h"
#include "Form1.h"
#include <windows.h>

using namespace KB307398;

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	System::Threading::Thread::CurrentThread->ApartmentState = System::Threading::ApartmentState::STA;
	Application::Run(new Form1());
	return 0;
}

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.Microsoft.com/default.aspx?xmlid=FH;EN-US; vcnet
Για περισσότερες πληροφορίες σχετικά με τον τρόπο για να δημιουργήσετε φόρμες των Windows στη Διαχείριση Επεκτάσεις για C++, δείτε το δείγμα "ManagedCWinFormWiz" στο Visual Studio .NET Βοήθεια.

Ιδιότητες

Αναγν. άρθρου: 307398 - Τελευταία αναθεώρηση: Παρασκευή, 28 Ιουνίου 2013 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual C++ 2008 Express Edition
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Λέξεις-κλειδιά: 
kbwindowsforms kbforms kbio kbfileio kbhowtomaster kbnewsgrouplink kbmt KB307398 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 307398

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com