Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Visual cplusplus systembefehle i kann syntaktisch nicht an dieser Stelle nicht verarbeitet werden

Frage Entwicklung

Mitglied: Thomas0204

Thomas0204 (Level 1) - Jetzt verbinden

25.02.2012 um 14:02 Uhr, 3635 Aufrufe, 4 Kommentare

Hallo,
ich habe mal wieder ein Problem und zwar wollte ich ein Programm mit eier Oberfläche in Visual Studio 2010 schreiben, welches die aktuelle IP Adresse sowie das Standartgateway und das subnetz in ein label text schreibt nur leider funktioniert das nicht so ganz. Bisher habe ich den Code geschrieben:
01.
				int ip, gate, subnet; 
02.
				ip=(system("for /f \"tokens2 delims=:\" %%i in ('ipconfig ^| findstr /i \"IPv4-Adresse\"') do echo %%i")); 
03.
				lip->Text=Convert::ToString(ip); 
04.
				subnet=(system("for /f \"tokens2 delims=:\" %%i in ('ipconfig ^| findstr /i \"Subnetzmaske\"') do echo %%i")); 
05.
				lsm->Text=Convert::ToString(subnet); 
06.
				gate=(system("for /f \"tokens2 delims=:\" %%i in ('ipconfig ^| findstr /i \"Standardgateway\"') do echo %%i")); 
07.
				lgate->Text=Convert::ToString(gate);
was passiert. Es wid 3 mal die Windwos eingabeaufforderung aufgerufen was irgenwie unpraktisch ist, aber erst mal egal, desweiteren bekomme ich immer den fehler i kann syntaktisch an deiser Stelle nicht verarbeitet werden und ich weiß nicht wieso und ich denke das deswegen im label text auch nur eine 1 geschrieben wird.

LG
THomas
Mitglied: rubberman
25.02.2012 um 14:50 Uhr
Hallo Thomas0204.

Die Fehlermeldung ist eben nicht dass i syntaktisch nicht verarbeitet werden kann, sondern dass %%i syntaktisch nicht verarbeitet werden kann. Der Grund ist simpel. Die Zeile wird im Kommandozeilenkontext ausgeführt, somit nur ein Prozentzeichen und nicht zwei. Außerdem ist tokens2 natürlich auch nicht richtig, da fehlt das =.

Und nun zu deinen eigentlichen Fehlern.
1. Du benutzt die system() Funktion
2. Du glaubst dass der Rückgabewert diese Funktion irgendetwas damit zu tun hat, was innerhalb der Kommandozeile per echo ausgegeben wird.

Da liegst du meilenweit daneben.

Grüße
rubberman
Bitte warten ..
Mitglied: Thomas0204
25.02.2012 um 15:27 Uhr
erst mal vielen Dank für die schnelle antwort

ja das habe ich so gedacht aber wie ich sehe funktioniert das nicht. Kannst du mir helfen und mir sagen wie ich die variable %i in eine c++ variable bekomme? oder wie ich das schreiben muss damit ich den wert von echo in c++ weiter benutzen kann?
Bitte warten ..
Mitglied: rubberman
25.02.2012 um 15:58 Uhr
Hallo Thomas0204.

Vergiss diesen Unsinn ganz schnell. Lerne C++ und beschäftige dich mit Sockets, dann klappt das auch.
Beispiel findest du zB. hier.
Für VS vergiss die dort angegebenen Header und leite so ein, um das Ding erst mal zum Fliegen zu bringen:
01.
#include <iostream> 
02.
#include <winsock.h> 
03.
#pragma comment(linker, "/defaultlib:wsock32.lib") 
04.
using namespace std;
Wie gesagt, das ist nur ein Beispiel und hilft dir garnichts, wenn du es nicht verstehst.

Grüße
rubberman
Bitte warten ..
Mitglied: Thomas0204
25.02.2012 um 16:35 Uhr
ok vielen dank dann werde ich mich damit mal beschäftigen
Grüße
Thomas
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Microsoft Visual Studio kommt für macOS (1)

Link von Frank zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Windows Tools
gelöst Visual Studio 2010 Ultimate Download? (6)

Frage von Herbrich19 zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...