[SFML] pobieranie tekstu
Ostatnio zmodyfikowano 2012-12-30 20:12
Natoito Temat założony przez niniejszego użytkownika |
[SFML] pobieranie tekstu » 2012-12-26 12:18:33 jak w temacie istnieje w SFML jakaś metoda na pobieranie tekstu z podanego z klawiatury, jakieś pole tekstowe itp.? chodzi mi po prostu aby wstawić te pole do okna, wpisać tam tekst i potem pobrać zawartość. ogólnie wiem jak to zrobić bez tego pola ale chociażby na przyszłość by mi się to przydało. szukam w google i tu na stronie ale nic nie znalazłem jak na razie :< |
|
SeaMonster131 |
» 2012-12-26 12:46:50 Szukaj czegoś w tym stylu: |
|
Natoito Temat założony przez niniejszego użytkownika |
» 2012-12-27 00:31:49 ok, zrobiłem pobieranie naciśniętego znaku z klawiatury za pomocą Text Event, zamieniam ten znak na string i potem dodaje go do całego napisanego słowa a na koniec zamieniam go na String z SFML i wyświetlam to słowo na ekranie w czasie rzeczywistym. mam 7 elementową tablice typu String ze słowami które są wyświetlane w tym ostatni element różny od "0" jest slowem wpisywanym z klawiatury, lecz mój kod wymaga aby przed wyświetleniem elementu z tablicy sprawdzał czy w tym elemencie znajdują się odpowiednie znaki( w moim przypadku wyświetlam tę tablice w pętli i jeśli w tej tablicy element posiada warość "0" to przerywa wyświetlanei i wykonuje się dalsza część programu) i gdy wielkość słowa podanego z klawiatury przekracza 15 znaków metoda .GetText() z String wywala błędy i program się sypie. niestety nie mam pomysłów jak na razie co z tym zrobić a ograniczenie wpisywanego tekstuy do 15 znaków aby to ominać nie wchodzi w grę. w razie potrzeby wkleję kod |
|
Mrovqa |
» 2012-12-27 17:10:53 Wypadałoby wkleić kod, bez tego to jest wróżenie z fusów. |
|
Natoito Temat założony przez niniejszego użytkownika |
» 2012-12-27 21:17:12 fragment kodu odpowiedzialnego za wyświetlanie for( unsigned short int i = 0; i < SizeLabelNick; i++ ) { if(( string ) LabelNick[ i ].GetText() == "0" ) break; if(( string ) LabelNick[ i ].GetText() == "New Profile" ) LabelNick[ i ].SetColor( Color::Yellow ); if( BoolSelectButtonNick[ i ] ) { NickButton[ i ].SetColor( SelectNickButtonColor ); Windowgame.Draw( NickButton[ i ] ); } else { NickButton[ i ].SetColor( NickButtonColor ); Windowgame.Draw( NickButton[ i ] ); } if( WhichActiveSelectProfile[ i ] ) { NickButton[ i ].SetColor( SelectNickButtonColor ); Windowgame.Draw( NickButton[ i ] ); } if( SelectNewProfile &&( i == WhichNewrofile ) ) { LabelNick[ WhichNewrofile ].SetText( NewProfileCreate ); LabelNick[ WhichNewrofile ].SetColor( Color::Yellow ); } Windowgame.Draw( LabelNick[ i ] ); }
fragment odpowiedzialny za Event wykrycia wciśniętego znaku if( EventGame.Type == Event::TextEntered && SelectNewProfile ) { Symbol = EventGame.Text.Unicode; WriteNewProfile( Symbol, NewProfileCreate ); }
funkcja WriteNewProfile: void WriteNewProfile( char Symbol, string & NewProfileCreate ) { stringstream StreamCharToString; string Help; StreamCharToString << Symbol; StreamCharToString >> Help; NewProfileCreate.append( Help ); }
dalej nie znalazłem rozwiązania |
|
Natoito Temat założony przez niniejszego użytkownika |
» 2012-12-29 19:29:13 a to że wywala błąd przy .GetText() wiem z debbugera więc na pewno tu chodzi tylko o tą metodę |
|
Natoito Temat założony przez niniejszego użytkownika |
» 2012-12-30 20:12:27 temat do zamknięcia, znalazłem rozwiązanie, chodziło o runtime library, miałem ustawione na /MTd i /MT a zmieniłem na /MDd dla wersji debug i /MD dla wersji release |
|
« 1 » |