Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » String ändern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.09.2002, 17:17 Uhr
~Silo
Gast


Also ich habe ne Variable in der steht "Na du" ich möchte jetz das da noch das wort "da" rngehängt wirt.Aber wie amche ich das und 2 frage ich bekomme ich das wort "da" dan wieder raus?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.09.2002, 19:14 Uhr
Tobi



Hi!

Da du in das Windows-Forum postest denk ich mal du arbeitest mit CString.


Code:
CString string="Na du";//Initialisieren
string+=" da";//Anhängen
ASSERT(string=="Na du da");
string.TrimRight(" da");//rauskürzen
ASSERT(string=="Na du");


--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.09.2002, 20:25 Uhr
~Klaus
Gast



C++:
void CCSStarterDlg::OnCheck32()
{    
  if(((CButton*)GetDlgItem(IDC_CHECK_32))->GetCheck() == 1)
  {
           UpdateData(TRUE);
        m_para += " -32bpp";
        UpdateData(FALSE);
  }
  else
  {
       UpdateData(TRUE);
       m_para.TrimRight(" -32bpp");
       UpdateData(FALSE);
  }
}

void CCSStarterDlg::OnCheckJoy()
{    
  if(((CButton*)GetDlgItem(IDC_CHECK_JOY))->GetCheck() == 1)
  {
           UpdateData(TRUE);
        m_para += " -nojoy";
        UpdateData(FALSE);
  }
  else
  {
       UpdateData(TRUE);
       m_para.TrimRight(" -nojoy");
       UpdateData(FALSE);
  }
}

void CCSStarterDlg::OnCheckIpx()
{    
  if(((CButton*)GetDlgItem(IDC_CHECK_IPX))->GetCheck() == 1)
  {
           UpdateData(TRUE);
        m_para += " -noipx";
        UpdateData(FALSE);
  }
  else
  {
       UpdateData(TRUE);
       m_para.TrimRight(" -noipx");
       UpdateData(FALSE);
  }
}




Also das sind alles 3 Funktionen die auf 3 check box aufgeteil sind wenn ich alle angeklickt habe sind alle das befehle auch super aingefügt würden aber wenn ich jetz den ersten wieder drücke müste er -32bpp wieder rausschreiben aber das amcht er nicht warum.(Einzelen geht das super)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.09.2002, 21:27 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
in dem speziellen Fall:

C++:
    //m_para.TrimRight(" -32bpp");
    m_para.TrimLeft(" -32bpp");


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.09.2002, 23:43 Uhr
~Silo
Gast


Das funktioniert alles nich so sicher giebt es da keine andre methode?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.10.2002, 14:32 Uhr
Tobi



Das liegt daran dass TrimLeft am Anfang eines Strings rausschneidet und Trim Right am Ende.

man kann das aber auch so machen:

Code:
void CCSStarterDlg::OnCheckIpx()
{    
UpdateData(TRUE);
if(((CButton*)GetDlgItem(IDC_CHECK_IPX))->GetCheck() == 1)
{
m_para += " -noipx";
}
else
{
int pos=m_para.Find(" -noipx");
m_para=m_para.Left(pos)+m_para.Right(m_para.GetLength()-pos-7);
}
UpdateData(FALSE);
}


habs etz nicht ausprobiert, kann sein dass du noch ein paar kleinigkeiten verändern musst (wegen Nullbasierenden-Funktionen)
--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.10.2002, 15:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


oder du machst einfach sowas:


C++:
void CCSStarterDlg::OnCheckIpx()
{    
UpdateData(TRUE);
if(((CButton*)GetDlgItem(IDC_CHECK_IPX))->GetCheck() == 1)
{
m_para += " -noipx";
}
else
{
  int pos=m_para.Find(" -noipx");
  if(pos != -1) // wenn gefunden)
  {
    m_para.Replace(" -noipx","");
  }
}
UpdateData(FALSE);
}



Habs auch nicht getestet, sollte aber gehen

Was mir auffällt, da du ja eh mit GetCheck arbeitest, kannst du glaub ich UpdateData(TRUE) und UpdateData(FALSE) weglassen ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.10.2002, 22:03 Uhr
Tobi




Zitat:
FloSoft postete
Was mir auffällt, da du ja eh mit GetCheck arbeitest, kannst du glaub ich UpdateData(TRUE) und UpdateData(FALSE) weglassen ...[/i]


... kommt drauf an ob m_para auf eine Editbox abgebildet wird...
--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.10.2002, 08:15 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


stimmt, falls m_para eine Membervariable für ne Editbox ist musst du UpdateData lassen, ansonsten kannst dus weglassen ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: