Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » Datei auswählen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
25.03.2010, 23:02 Uhr
hugooerm



Hallo, ich möchte eine Windows Forms Anwendung in c++ programmieren.Ich möchte ein Auswahlfenster erstellen, in dem ich eine Textdatei auswählen kann und der Pfad dieser Datei dann in einem weiteren Code zur Weiterverarbeitung benutzt wird (Stichwort: Dateiarbeit).
Desweiteren soll in diesem Fenster auch eine Auswahl möglich sein, worin man den Zielpfad einer weiteren Datei (Bsp.: csv-Datei) auswählen kann.

Hat jemand von euch Erfahrung mit Fensterprogramieren oder soagar ein Codesegment?


Ich benutze Visual Studio 2008 Professional Edition.

Mit freundlichem Gruß
hugooerm
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.03.2010, 23:53 Uhr
Hans
Library Walker
(Operator)


hmmm... das klingt nach Hausaufgaben. - Die machen wir aber nicht für andere.
Ach ja, und Codesegmente findest Du in diesem Forum massenhaft, - evtl. auch solche, die Dein Problem lösen. Aber finden darfst Du sie selber.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.03.2010, 06:53 Uhr
hugooerm



Danke für denn Tipp.
Hausaufgaben sind das leider nicht, bin kein Schüler mehr.

Ich werde am Wochenende mal die Forumen durchforsten.

Mfg
huguoerm
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.03.2010, 06:59 Uhr
0xdeadbeef
Gott
(Operator)


Mit Windows Forms ist das ne C++/CLI-Anwendung, richtig?

Das hier dürfte sein, wonach du suchst: http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx

Analog zum Speichern: http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 26.03.2010 um 07:00 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.03.2010, 14:32 Uhr
hugooerm



Hallo, wie kann ich den vollständigen Dateipfad von einer ausgewählten Textdatei speichern und ausgeben? Denn Pfad benötige ich, um später damit weiter arbeiten zu können.


Hier ein Teil des Quellcodes:

C++:
private: System::Void Quelle_Click(System::Object^ sender, System::EventArgs^ e) {
  OpenFileDialog^ Öffnen = gcnew OpenFileDialog();
  Öffnen->InitialDirectory = "C:\";
  Öffnen->Filter = "
TXT Files|*.txt";
  Öffnen->Title = "
Select a Text File";


  if(Öffnen->ShowDialog()=System::Windows::Forms::DialogResult::OK) {
    Öffnen->FileName;// funktioniert nicht
  }
}



Kann mir jemand helfen?

Mfg
hugooerm

Bearbeitung von 0xdeadbeef:

cpp-Tags gesetzt, Code lesbar eingerückt. Nächstes mal selbst machen.


Dieser Post wurde am 30.03.2010 um 14:36 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.03.2010, 14:43 Uhr
0xdeadbeef
Gott
(Operator)


Zunächst mal würde ich keine Sonderzeichen in Variablennamen benutzen, sowas kann einen Compiler böse durcheinanderbringen. Zweitens hast du in der Zeile

C++:
  Öffnen->InitialDirectory = "C:\";


ein offenes Stringliteral, weil \" eine Escape-Sequenz ist. Du meinst

C++:
  Öffnen->InitialDirectory = "C:\\";



Ansonsten ist FileName schon die richtige Property, aber du machst in deinem Code stumpf nichts mit ihr.

Oh, und ich schieb das ganze mal rüber ins .net-Forum, es ist nämlich, wie ich mir gedacht hatte, C++/CLI und nicht C++.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.03.2010, 14:49 Uhr
hugooerm



Ich habe den Variablennamen geändert. Den Pfad : "C:\\" habe ich so;-)
Dieser Post wurde am 30.03.2010 um 14:50 Uhr von hugooerm editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.03.2010, 15:16 Uhr
ao

(Operator)


In C# geht das so. In Managed-C++ im Prinzip genauso, nur die Syntax sieht etwas anders aus.

Meiner Meinung nach ist Managed-C++ eine potthässliche Warze. Wenn du kannst, benutz stattdessen die native .NET-Sprache C#.


C++:
// Der Name ist es:
string path = Oeffnen.FileName;

// ... und an dieser Stelle kommts drauf an, was du vorhast. Erst mal stumpf als Datei öffnen und danach überlegen, was das eigentlich werden soll - das ist nicht der vorgesehene Weg.

// Öffnen als Textdatei:
System.IO.StreamReader reader = new System.IO.StreamReader (path);



Danach kannst du das File wie irgendeinen Zeichenstrom behandeln, und dass es ein File ist, braucht dich nicht mehr zu kümmern. Ist doch schön, oder?

Wenn du fertig bist, machst du reader.Close(), und das Ding ist zu.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.03.2010, 15:49 Uhr
0xdeadbeef
Gott
(Operator)


Naja, nun ist C++/CLI nicht mehr ganz so potthässlich, wie managed c++ es war. Trotzdem ist es eigentlich nur dann eine gute Sprachwahl, wenn man in C++ geschriebene native Module an .net-Assemblies binden muss, das ist wohl richtig.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
30.03.2010, 16:43 Uhr
hugooerm



private: System::Void Quelle_Click(System::Object^ sender, System::EventArgs^ e) {

String^ path;

OpenFileDialog^ Oeffnen = gcnew OpenFileDialog();
Oeffnen->InitialDirectory = "C:\\";
Oeffnen->Filter = "TXT Files|*.txt";
Oeffnen->Title = "Select a Text File";


if (Oeffnen->ShowDialog() == System::Windows::Forms::DialogResult::OK){
path=Oeffnen->FileName;
}
}

Der Pfad steht nun in path. Wie kann ich den String ausgeben?

Zum weiteren Hergang: Ich habe ein Programm geschrieben,welches eine TXT-Datei öffnet und in ein definiertes csv-Format umwandelt. Das ganze funktioniert mit Dateiarbeit in C++. Da ich zum öffnen der TXT-Datei bisher nur eine feste Pfadangabe im Code definiert habe, möchte ich den Pfad nun selber suchen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: