Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: C++/CLI mit .NET ::  Dateipfad in einer Char[] speichern  
Gehen Sie zu Seite 1, 2  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Cospieler
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.09.2012
Beiträge: 20
Beitrag Cospieler Mitglied 12:10:27 29.06.2016   Titel:   Dateipfad in einer Char[] speichern            Zitieren

Hallo zusammen.
Brauche mal Hilfe.
Habe folgenden Code mal zusammen gebaut in VS C++/CLI:

C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private: System::Void buttonOeffnen_Click(System::Object^  sender, System::EventArgs^  e) {
        if ( OpenFileDialogDateienOeffnen->ShowDialog() == System::Windows::Forms::DialogResult::OK ){
            strFileNamesAnzahl = 0;
            for each (String^ file in OpenFileDialogDateienOeffnen->FileNames){
                strFileNamesAnzahl = strFileNamesAnzahl + 1;
                MessageBox::Show(file);
                ProgListe *Nr = new ProgListe;
               
                //-------------------
                // Mit diesen Inhalt läuft es nicht mehr:
                char dataTest[10000];
                strcpy(dataTest, file);
                MessageBox::Show(dataTest);
               
                //--------------------
 
            }
            MessageBox::Show("Anzahl der ausgewählten Dateien ist: " + strFileNamesAnzahl);
        }
    }



Leider bekomme ich es nicht hin den file Inhalt in dataTest zu übertragen.

Im Internet habe ich schon viel gelesen aber ihrgenswie werfe ich gerade viel durch einander. Deswegen erhoffe ich mir bei euch Klarheit zu bekommen.

Vielen Dank schon mal für die jenigen die sich bemühen mir meinen Fehler zu erklären. Dabei ist mir schon klar das ich hier String nach Char übergebe.
Was ich ja auch möchte.

Gruß


Zuletzt bearbeitet von Cospieler am 14:21:46 29.06.2016, insgesamt 2-mal bearbeitet
lars.tetzlaff@gmx.net
Unregistrierter




Beitrag lars.tetzlaff@gmx.net Unregistrierter 12:17:52 29.06.2016   Titel:              Zitieren

Das ist C++/CLI, nicht C++ => falsches Forum

Keine Ahnung, wie das geht, aber strcpy ist schon in C++ anrüchig, in CLI würde ich es noch viel weniger erwarten.
JulianH
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.11.2012
Beiträge: 167
Beitrag JulianH Mitglied 14:41:24 29.06.2016   Titel:              Zitieren

Du hast offensichtlich noch große gurndlegende Verständnisprobleme. strcpy gibt es so wie man es aus C++ kennt in C# nicht (kann es auch nicht - GC und so...).
Schau dir aber das mal an:
https://msdn.microsoft.com/de-de/library/2c7h58e5(v=vs.110).aspx


Zuletzt bearbeitet von JulianH am 14:42:12 29.06.2016, insgesamt 1-mal bearbeitet
C++ Forumbot
Forumbot

Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 19649
Beitrag C++ Forumbot Forumbot 18:46:37 29.06.2016   Titel:              Zitieren

Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C++/CLI mit .NET verschoben.

Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?


Dieses Posting wurde automatisch erzeugt.

_________________
Besuchen Sie unsere Bücherecke.
http://www.c-plusplus.de/bucher.php
Mit jeder Bestellung unterstützen Sie das Forum.
theta
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 4593
Beitrag theta Mitglied 08:29:36 30.06.2016   Titel:              Zitieren

Warum nihct direkt?

C++/CLI:
MessageBox::Show(file);


BTW: new ProgListe; erzeugt so wie es dasteht ein Memory-Leak. Zudem ist new nicht .NET (da wäre es gcnew) und ich würde dir abraten C++ und C++/CLI zu mischen, auch wenn das gerade DER Anwendungsfall ist. C++/CLI ist u. a. genau deshalb ungeeignet um Programmieren zu lernen.
Cospieler
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.09.2012
Beiträge: 20
Beitrag Cospieler Mitglied 09:09:34 01.07.2016   Titel:              Zitieren

Danke erst noch mal für eure Infos.

Zu lars.tetzlaff@gmx.net und Forum Team:
Ja sorry habe mich mit der Robrik vertan.
Danke für das verschieben.


Zu JulianH
Ja ich bin dabei mich mit VS C++/CLI zu beschäftigen.
Habe zwar in anderen Sprachen schon Sachen geschrieben aber noch nicht in C++/CLI.
Wuste bis dato noch nicht das C++ und C++/CLI unterschiedliche Dinge sind.
C zu C++ war mich schon klar.
Aber da man aller Hand an Infos im Internet findet kommt man als Anfänger schon durcheinander.
Ader langsam lerne ich es ja.
Bitte von daher um noch etwas Gedullt.

Werde mir bei nächster Gelegenheit die Seite mal ansehen.


theta
Das das geht weiß ich schon, nur ich wollte den Inhalt in ein Array Speichern
und die MassageBox soll mir dabei nur bestätigen das der file Inhalt in dem Speicher
angekommen ist.

Zu:
ProgListe *Nr = new ProgListe;
war ein anderen versuch von mir.
Kann in diesem Fall außer acht gelassen werden.

Aber Danke für die Info wuste nicht das "new" nicht zu C++/CLI gehört.

Gruß Cospieler
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 4393
Beitrag Th69 Mitglied 11:10:16 01.07.2016   Titel:              Zitieren

Hallo Cospieler,

gerade als Anfänger solltest du nicht mit C++/CLI anfangen, und besonders nicht mit einem GUI-Projekt, s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!

Wenn du C++ lernen willst, dann verwende im VS ein natives C++ Projekt (Win32 Application) und benutze als GUI z.B. Qt, wxWidgets o.ä. [HOWTO] Welches Toolkit für GUIS?

Wenn du aber generell das .NET_Framework verwenden möchtest, dann nimm C# (der Ein- bzw. Umstieg von C++ ist recht leicht).
Cospieler
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.09.2012
Beiträge: 20
Beitrag Cospieler Mitglied 13:02:40 01.07.2016   Titel:              Zitieren

Danke Th69 für deine Info.

Habe kurz vor deiner Nachricht den Beitrag "Windows Forms und Visual C++ MACHT KEINEN SINN!" gelesen.

Am liebsten würde ich ja mit QT arbeiten, aber da das nicht in der Firma wo ich arbeite nicht verwendet wird, sondern nur VS, bin ich gezwungen mich auf den Sachverhalt ein zu lassen.
Wenn ich Projekte später von einem Kollegen von mir übernehmen möchte.

Jetzt ist natürlich klar das jetzt von manchen kommt, warum ich nicht meine Kollgen um Programmierrat frage. Ganz einfach die Zeit ist das Problem.
Da er auch in anderen wichtigen Projekten unterwegs ist.
Sind da meine Möglichkeiten begrenzt.
Leider gibt es momentan auch nur ein Kollege der programmiert.

Und der zweite Grund warum VS, weil unsere externen Programme und Maschinen nur mit VS kompatiebel sind.
Also auch da bleibt mir keine andere wahl.

Gruß Cospieler
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 4393
Beitrag Th69 Mitglied 13:31:56 01.07.2016   Titel:              Zitieren

Was genau meinst du mit "nur mit VS kompatibel sind"?
Auch Qt kann mit dem Visual Studio (VS) programmiert werden (VS ist nur eine IDE).
Cospieler
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.09.2012
Beiträge: 20
Beitrag Cospieler Mitglied 14:09:57 01.07.2016   Titel:              Zitieren

Laut unser IT-Leiter möchte man in unserem Betrieb kein QT installieren, weil nur VS ingesetzt wird. Hänge mit Lizenzen zusammen.

VS kompatiebilität war gemeint. Das dort Markros geschrieben werden die dann mit unserm externen Programmen genutzt werden können. Andere IDEs würde laut Hersteller nicht angenommen werden.

Blicke da selber noch nicht durch.
Ist aussage meiner Kollegen.
Da ich ja noch am Anfang stehe, kann ich dazu kaum was dazu sagen.

Mir kommt es so vor das sich keiner mit Qt auseinandersetzen möchte und in ihren trot bleiben möchten. Also bei VS.

Gruß Cospieler
C++ Forum :: C++/CLI mit .NET ::  Dateipfad in einer Char[] speichern  
Gehen Sie zu Seite 1, 2  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.