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

Error: C2065 - for each Char in Char Array

Frage Entwicklung Visual Studio

Mitglied: Darkprodukt

Darkprodukt (Level 1) - Jetzt verbinden

24.02.2014, aktualisiert 21:26 Uhr, 1790 Aufrufe

Guten Abend,

ich versuche gerade meiner Textbox eine "Maske" zu verpassen. Ich weis es gibt auch MaskedTextBox aber diese ist leider ungeeignet.
Ich möchte das nur kleinbuchstaben ( hab ich schon mit "CharacterCasing = Lower" gemacht ), Zahlen, Komma und "Leerzeichen" akzeptiert werden.

Ich Arbeite mit Windows Forms (VS Express C++ 2010)

Hab erst versucht von diesem sehr gut beschriebenen Beitrag die TextBox in C++/CLI zu übertragen, habe es aber, nachdem ich noch mehr unsinnige Compilermeldungen erhalten habe, aufgegeben. Und dabei TextBox->Undo gefunden was einen großen teil des beispiels ersetzen würde....
http://www.mycsharp.de/wbb2/thread.php?threadid=17535
Der Fehler war glaub Int32 konnte nicht in int konvertiert werden... aber ich hatte die variablen schon als Int32 angelegt... woher kahm da int? zumahl es ja das gleiche ist.

[Edit1:] Bitte erst Edit1 ganz unten Lesen...

Meine neue Lösung sieht so aus:
01.
private: System::Void TextBox_VideoDataExtensions_TextChanged(System::Object^  sender, System::EventArgs^  e)  
02.
03.
    String^ VDEx_allowedChars = L"abcdefghijklmnopqrstuvwxyz0123456789, "; 
04.
 
05.
    //for(int i = 0; i < TextBox_VideoDataExtensions->Text->Length; i++) 
06.
    for each(System::Char^ letter in TextBox_VideoDataExtensions->Text->ToCharArray());  
07.
08.
        // !VDEx_allowedChars->Contains(TextBox_VideoDataExtensions->Text->ToCharArray()[i]->ToString()) 
09.
        if( !VDEx_allowedChars->Contains(letter->ToString()))  
10.
11.
            if( TextBox_VideoDataExtensions->CanUndo ) 
12.
            TextBox_VideoDataExtensions->Undo(); 
13.
14.
15.
}
...\forms_tests2\Eigenschaften.h(09 in diesem fall): error C2065: 'letter': nichtdeklarierter Bezeichner
...\forms_tests2\forms_tests2\Eigenschaften.h(09 in diesem fall): error C2228: Links von ".ToString" muss sich eine Klasse/Struktur/Union befinden.

Ich glaube der Compiler erkennt einfach Char nicht...
MSDN C2065:
Es wird mit einer Debugversion der C-Laufzeit kompiliert, und dadurch in einer for-Schleife eine Iteratorvariable aus der Standard-
C++-Bibliothek deklariert. Anschließend wird versucht, diese Iteratorvariable außerhalb des Gültigkeitsbereichs der for-Schleife zu
verwenden. Kompilieren eines Standard-C++-Bibliothekscodes mit einer Debugversion der C-Laufzeit impliziert /Zc:forScope. Weitere
Informationen finden Sie unter Debugiterator-Unterstützung.

Aber ist for each nicht extra für diese art von Anwendung gedacht?


Die beiden Auskommentierten Zeilen sind meine erste Lösung. Die Fnktionierte aber eben nicht ganz so toll...
Es wurde ein überlauf erzeugt wenn man zu schnell ein nicht gültiges Zeichen eingetippt hat.

Vielen dank für alle Hilfen!

Mit freundlichen Grüßen,

Darkprodukt

[Edit1:]
Oh mein Gott for each(); ich kann es kaum fassen das ich das Übersehen habe...

Mein Code funktioniert zwar nun aber immernoch der gleiche Fehler wie auch im 1. versuch...
"Eine nicht behandelte Ausnahme des Typs "System.StackOverflowException" ist in System.Windows.Forms.dll aufgetreten."

Ich mach eine neue Frage für das problem mit der TextBox...
Ähnliche Inhalte
Verschlüsselung & Zertifikate
gelöst GnuTLS error -48 (1)

Frage von Chonta zum Thema Verschlüsselung & Zertifikate ...

Batch & Shell
Powershell Import Computer aus csv in array und Befehl abarbeiten (4)

Frage von Robbi666 zum Thema Batch & Shell ...

SAN, NAS, DAS
CLI Cable HP 2012fc sc modular smart array oder serielles Kabel (8)

Frage von Dominik-EUNES zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...