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, 3665 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 ..
Ähnliche Inhalte
Microsoft Office
Excel File - an einer Stelle nur Lesen und an anderer Bearbeiten (2)

Frage von LenzDan zum Thema Microsoft Office ...

Visual Studio
Visual Studio 2017 - Offline-Installationsdateien updaten (1)

Frage von Highend01 zum Thema Visual Studio ...

IDE & Editoren
gelöst Visual Studio 2017RC - Intellisense autocomplete? (2)

Frage von Highend01 zum Thema IDE & Editoren ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (16)

Frage von Ammann zum Thema Windows Server ...

Vmware
gelöst Wie würdet Ihr eine ESXi Cluster Farm managen? (11)

Frage von AlFalcone zum Thema Vmware ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...