Polecenie System w C++


(Maks Baum) #1

Mam pytanie ponieważ na visual c++ się nie znam (i nie będę się znał - potrzebuję tylko tą jedną rzecz zrobić)

W MS Visual c++ 2010 Express mam nowy projekt -> windows form application (nie używam c# ponieważ potrzebuję żeby exe go nie wymagał)

i teraz tak -> w głównym pliku cpp dodałem sobie stdlib.h i pytanie -> na form'ie dodałem przycisk i chcę mieć pod nim np system("start bleble.pdf") -> jak to zrobić ?


([alex]) #2

Dodajesz zdarzenie kliknięcia do przycisku, i wpisujesz to co chcesz.


(Maks Baum) #3

No dobra aż tak zielony to ja nie jestem w programowaniu więc proszę mnie nie obrażać :>

Potrzebuję skorzystać z polecenia system("start ble.pdf");

ale jak mam to zrobić żeby było ono widoczne dla tego obiektu?

Samo dodanie do głównego pliku .cpp nie pomaga (mogę w nim z niego skorzystać, ale nie w tym konkretnym obiekcie - głownej formie).

Chodzi mi o to jak to konkretnie w visual c++ (ms) zrobić.


(Fiołek) #4

Eee? Wystarczy dołączyć plik cstdlib do pliku, w którym chcesz użyć tejże funkcji, w czym problem?

system jest f-cją nie pochodzącą z .NET więc ciut "ryzykowne" jest używanie jej - od tego jest Process.Start(i ogólnie klasa Process).

Wiesz, że to zdanie jest bez sensu? C++/CLI, Visual Basic, C#, F# są kompilowane do MSIL-u*, więc czy użyjesz C++/CLI czy C# to różnicy nie zrobi, a tylko się bardziej napracujesz. Dodatkowo, csc, czyli kompilator C#, jest w .NET, a kompilatora C++/CLI - cl - nie ma.

EDIT: * - poprawka, C++/CLI nie zawsze jest kompilowany do czystego MSIL-u(z opcjami /clr:pure i /clr:safe wyjściowa binarka jest czystym MSIL-em), ale nigdy nie jest kompilowany do kodu natywnego.


(Maks Baum) #5

Ehm... czyli ten projekt - skompilowany będzie wymagał .net'a?

Niestety c dawno temu opuściłem na rzecz php oraz javy :confused:

eh... ale się wyrwałem - po prostu składnia od "moich" czasów nieco poszła do przodu (a po części zapomniałem o co biega) #include "stdlib.h" mogłem śmiało wsadzić w plik z formą - po prostu przestraszyłem się zbyt tych "namespaców" :confused:

Dzięki za odpowiedź

edit:

I dzięki za poniższe odpowiedzi - aczkolwiek potrzebuję tylko w sumie bardzo prostą aplikację - 2 buttony na krzyż i właśnie prosta akcja z odpalaniem domyślnego programu dla pdfa czy avika więc robienie tego nie w visualu to było by za dużo czasu (zwłaszcza że potrzebuję to zrobić nie do pracy :wink:


([alex]) #6

Nie musisz pisać w vizualu, możesz napisać w czystym C z użyciem bibliotek API.


(Somekindsoftware) #7

Trzeba zacząć od utworzenia projektu jak tutaj: