Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CString problemchen

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 < [ 2 ]
000
01.06.2004, 11:03 Uhr
rene rosenberger



hallo,

entweder bin ich zu dumm oder ich übersehe etws. habe einen dialog mit 2 editfeldern. in editfeld 2 steht der momentane pfad des programmes. in editfeld 1 soll ein projektname eingegeben werden. habe dann eine ereignissmessage gebastelt welche onchange des eingabefeldes 1 reagiert und den inhalt ausließt. beim ersten buchstaben ist das auch ok. alle weitere buchstaben hätte ich aber gerne einzel. deshalb dachte ich mir, nehem ich den string und benutze Right(1) um den letzten buchstaben des strings zu extrhieren. geht aber net. bekomme den ganzen string zurück °! was mach ich da falsch ?
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.06.2004, 11:32 Uhr
~toxic
Gast


hi, was genau willst du machen ?

C++:
CString temp = "TestText";
CString temp2 = temp.Right(1); // liefert die rechten 1 zeichen, "T"
CString temp3 = temp.Right(3); // liefert die rechten 3 zeichen, "Tes"

wenn du das in einer schleife machst must du halt den 1. immer löschen:

C++:
CString temp = "TestText";
CString tempX[8];
for ( int i = 0, i < 8; i++ ) {
    tempX[ i ] = temp.Right(1);
    temp.Delete(0, 1);
}

oder du nimmst gleich .GetAt( i ), das liefert einen char.
--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.06.2004, 11:47 Uhr
rene rosenberger



ja, da haben wirs ja schon.

hate es erst so :

Code:
CString change = "";
int pos = m_Speicherort.GetLenght();
UpdateData();
m_Projektname.Right(1);
change = m_Projektname;

m_Speicherort.Insert(pos + 1, change);
UpdateData(false);



habe geändert:

Code:
change = m_Projektname.Right(1);



jetzt habe ich hier aber noch ein problemchen. wie frage ich ab ob ein delete gedrückt wurde. muss ja auch mit ner wertigkeit in das editfeld eingetragen werden oder ? will also wenn delete gedrückt wurde den letzten buchstaben im editfeld m_Speicherort gelöscht haben. im editfeld m_Projektname gehts, klar
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.06.2004, 12:03 Uhr
~toxic
Gast


hi, irgendwie steig ich nicht dahinter was du da machen willst... beschreib mal genauer wozu das alles gut sein soll !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.06.2004, 12:35 Uhr
rene rosenberger



ganz simpel :

einen dialog mit 2 editfeldern editfeld 1 = m_Projektname und editfeld 2 = m_Speicherort.
in diesem dialog soll festgelegt werden wohin ein projekt gespeichert wird.
bei start des dialoges füllt sich das editfeld 2 (m_Speicherort) mit dem Pfad des ausgeführten programmes cvc projekte\ProzInt\Debug\

wenn ich nun in das editfeld 1 etwas eingebe wird die eingabe in editfeld 2 angehängt cvc projekte\ProzInt\Debug\test.ppf

lösche ich aber nun im editfeld 1 einen oder mehrere buchstaben mit der backspace taste dann werden da auch werte angehängt. das soll nicht sein.es sollen werte gelöscht werden. also denke ich bau ich ne if abfrage auf die taste backspace. aber wie soll die aussehen ?
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.06.2004, 12:54 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich würds mir nicht so kompliziert machen... nimm dir einen String Pfad...
der angezeigte string in deinem editfeld ist dann einfach immer pfad plus dem was du verändert hast...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.06.2004, 12:56 Uhr
~toxic
Gast


also, du machst das mit onchange, dann arbeite doch einfach mit 3 strings...
string1 = pfad
string2 = edit1
string3 = edit2
und in onchange holst dir den string aus edit1 und hängst ihn an den string1 ran um es dann in edit2 auszugeben... dh. string3 = string1 + string2, das updatedata nicht vergessen.
--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.06.2004, 12:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@toxic...
schön das wir uns einig sind
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.06.2004, 13:04 Uhr
~toxic
Gast


ja da war ich wohl zu langsam...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.06.2004, 13:11 Uhr
rene rosenberger



so wollte ich das ursprünglich auch machen, aber.....
meine onchange des editfeldes reagiert auf jede einzelne buchstabeneinabe. und dann wird aus test ttetestest
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: