Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro 5] Zmienna w tekscie

Ostatnio zmodyfikowano 2012-06-02 22:37
Autor Wiadomość
Temes
Temat założony przez niniejszego użytkownika
[Allegro 5] Zmienna w tekscie
» 2012-05-12 10:30:16
Ale ostatnio dużo pytań o Allegro zadaje... ehh...

Me pytanie: Jak wkleić zmienną do tekstu? Napisałem:
C/C++
long long Wynik;
/*(...)*/
al_draw_text( ArialFont, al_map_rgb( 255, 255, 255 ), 140, 460, ALLEGRO_ALIGN_RIGHT, Wynik );

Pisze że "error: invalid conversion from 'long long int' to 'const char*' [-fpermissive]" a z kolei jak long long zmieniam na const char lub char pisze: "error: invalid conversion from 'char' to 'const char*' [-fpermissive]"

Próbowałem też
static_cast < const char >( Wynik )
 oraz
static_cast < char >( Wynik )
 to z kolei nie mogę long long zmienić na char'a -.-

Ło co kaman :/
P-56521
SeaMonster131
» 2012-05-12 10:32:38
P-56522
Kazik_555
» 2012-05-12 11:30:37
P-56528
Temes
Temat założony przez niniejszego użytkownika
» 2012-06-02 11:22:01
Sorki że wznawiam temat ale nadal nie rozumiem -.-
Może jestem "upierdliwy" ale chcę zrozumieć...

Mam:
int Pracownicy;
(...)
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT, Pracownicy );

piszę że musi byc const char...
Mam:
const char Pracownicy;
(...)
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT, Pracownicy );

Jest dobrze, tylko wyskakuje błąd bo wcześniej wczytuje liczbę, o to chodzi - na ekranie ma napisać liczbę a const char nie jest do tego...

*** Jak wyświetlić przy użyciu al_draw_text/textf (lub czego innego) zmienną liczbową? -.-

ps. czytałem dokumentacje - nic z tego nie łapie, niestety, tak strasznie napisane - tylko napisać aby było, 0 przykładów, więc nie wyżywać się na mnie - nie jestem profesjonalistą -.-
P-57681
Gabes
» 2012-06-02 11:31:53
, "%s",napis);
, "liczba=%d",liczba);itd. jak w C.
P-57682
pawajoro
» 2012-06-02 11:41:42
Możesz np. tak:
Masz:
int Pracownicy;
A jak będziesz chciał wyświetlić to deklarujesz:
ostringstream ss;
Następnie przekazujesz int do ostringstream
ss << Pracownicy;
A potem:
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT,( ss.str() ).c_str() );
Małe wytłumaczenie:
ss.str()
 - konwertujemy ostringstream do std::string, a potem
c.str()
 - konwersja std::string do const char *. Tekst w tym formacie możesz już przekazać do Allegro
Nie jestem pewien, że funkcja zadziała, bo Allegro nie używam, ale spróbuj :)
P-57683
Temes
Temat założony przez niniejszego użytkownika
» 2012-06-02 11:46:44
@Gabes
C/C++
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT, "Pracownicy=%d", Pracownicy );
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT, "%s", Pracownicy );

Niestety nie działa, nadal to samo :/

@up
C/C++
ostringstream ss;
ss << Pracownicy;
al_draw_text( PlayBill28, al_map_rgb( 255, 255, 255 ), 35, 10, ALLEGRO_ALIGN_LEFT,( ss.str() ).c_str() );

error: 'ostringstream' was not declared in this scope

:/
P-57685
Hoto
» 2012-06-02 11:52:03
@Temes
Trzeba dodać nagłówek:
#include <sstream>
P-57686
« 1 » 2
  Strona 1 z 2 Następna strona