Ersten Buchstaben ermitteln?
-
Wie ihr ja wisst Programmiere ich einen Chat. Dort kann man auch befehle mittels / eingeben, also /whisper "Username" "nachricht" flüstert man etwas oder mit /Join "Channel" Wechselt man den Chatraum.
Ich hab das Problem, dass wenn ich so einen befehl eingebe, dieser auch in mein Chatfenster eingetragen wird, dies will ich aber nicht.
Ich will das so machen:
if erster Buchstabe == "/" { } else { // Nachricht in Listenfeld hinzufügen. m_strChat += m_strUsername +": " +m_strMessage +"\r\n"; // Variablen mit Steuerelementen synchronisieren UpdateData(FALSE); }
wie ermittel ich den ersten Buchstaben?
Danke im Voraus
-
Hi ...
Wenn Du einen CString verwendest kannst Du
dieses Zeichen "/" mit (1) Left überprüfen.
Du kannst aber auch (2) Find benutzen um die
Befehle zu finden die Du nicht mitgesenet
haben möchtest.(1) Beispiel: if ("/" == m_strMessage.Left(1)) { /* Befehl entfernen Message senden */ } else { /* Message senden */ } (2) Beispiel: in findezeichen=0; if (findezeichen=m_strMessage.Find("/DeinBefehl") || findezeichen=m_strMessage.Find("/naechsterBefehl")..... == -1) { /* alles senden */ } else { /* Befehl trennen von Message und senden */ }
hoffe es hilft Dir
Gruß
Klaus
-
Jau das hattes, danke es funktioniert
-
Man kann aber auch mit [] auf das gewünschte Element zugreifen:
CString sWort = "Auto"; CString sersterBuchstabe = sWort[0]; //liefert "A" zurück
Per Schleifen kann man dann auch suchen lassen.
Happosai