 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Hallo- Mini JLI'ler
Anmeldedatum: 11.11.2002 Beiträge: 20
Medaillen: Keine
|
Verfasst am: 19.11.2002, 19:19 Titel: Wo ist da der fehler in dem Script? |
|
|
Hi,
ich hab ein problem mit dem script erklärung ist am schluss.
Code: | char getstring()
{
srand(SDL_GetTicks()/2+16);
int stelle = 0;
int textnum;
bool done;
char *re;
char rere[99] = "TEST#";
re = &rere[0];
char *reshow;
reshow=&rere[0];
done = false;
textnum = rand() % 6;
while (!done)
{
SDL_Rect rect;
Uint32 color;
rect.x = 200;
rect.y = 340;
rect.w = 400;
rect.h = 50;
color = SDL_MapRGB (screen->format, menuR, menuG, menuB);
SDL_FillRect (screen, &rect, color);
switch(textnum)
{
case 0:
drawtext(210,345,"GEBEN SIE DOCH EIN, WAS SIE WOLLEN ^^#");
break;
case 1:
drawtext(210,345,"SCHREIBEN SIE SICH DOCH NEN ROMAN#");
break;
case 2:
drawtext(210,345,"HIER KOENNTEN SIE WAS SCHREIBEN#");
break;
case 3:
drawtext(210,345,"VERSUCHS DOCH LOL#");
break;
case 4:
drawtext(210,345,"VIELLEICHT FUNZTES MORGEN#");
break;
case 5:
drawtext(210,345,"BY MICROSOFT ^^#");
break;
}
rect.x = 216;
rect.y = 366;
rect.w = 368;
rect.h = 20;
color = SDL_MapRGB (screen->format, buttonR,buttonG, buttonB);
SDL_FillRect (screen, &rect, color);
int i = 0;
for(int test = 0;test < strlen(rere);test++);
{
drawtext(210+i*-10,368,(char *)reshow);
i++;
++re;
}
for(int z = i;z > 0;z--);
{
--re;
}
mousedown = false;
SDL_Event event;
while (SDL_PollEvent (&event))
{
switch (event.type)
{
case SDL_QUIT:
done = 1;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_a:
*re = 'A';
++re;
break;
case SDLK_b:
*re = 'B';
++re;
break;
case SDLK_c:
*re = 'C';
++re;
break;
case SDLK_d:
*re = 'D';
++re;
break;
case SDLK_e:
*re = 'E';
++re;
break;
case SDLK_f:
*re = 'F';
++re;
break;
case SDLK_g:
*re = 'G';
++re;
break;
case SDLK_h:
*re = 'H';
++re;
break;
case SDLK_i:
*re = 'I';
++re;
break;
case SDLK_j:
*re = 'J';
++re;
break;
case SDLK_k:
*re = 'K';
++re;
break;
case SDLK_l:
*re = 'L';
++re;
break;
case SDLK_m:
*re = 'M';
++re;
break;
case SDLK_n:
*re = 'N';
++re;
break;
case SDLK_o:
*re = 'O';
++re;
break;
case SDLK_p:
*re = 'P';
++re;
break;
case SDLK_q:
*re = 'Q';
++re;
break;
case SDLK_r:
*re = 'R';
++re;
break;
case SDLK_s:
*re = 'S';
++re;
break;
case SDLK_t:
*re = 'T';
++re;
break;
case SDLK_u:
*re = 'U';
++re;
break;
case SDLK_v:
*re = 'V';
++re;
break;
case SDLK_w:
*re = 'W';
++re;
break;
case SDLK_x:
*re = 'X';
++re;
break;
case SDLK_y:
*re = 'Y';
++re;
break;
case SDLK_z:
*re = 'Z';
++re;
break;
case SDLK_RETURN:
done = true;
break;
}
}
}
SDL_Flip (screen);
SDL_Delay (1);
}
return (char)rere;
} |
Also ich möchte den dateiname fürs abspeichern reinschreiben doch das geht net immer wenn ich das machen stürzt das programm ab, warum das? |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 19.11.2002, 19:56 Titel: |
|
|
Iiieeehhh - Pointerarithmetik! Wenn ich dich richtig verstanden hab, willst du einen String aus Tastenanschlägen zusammenbasteln? Überarbeite doch mal das Konzept, so das fu ohne Pointerarithmetik auskommst - das ist nämlich ein ganz linkes Ei. Alleine schon, wenn du Unicode Compilierst ist ein String 2 oder 4 Byte und nicht nur 1 Byte groß. (4 Byte, wenn man gcc unter Linux verwendet´)
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
VerruecktesHuhn Super JLI'ler

Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 21.11.2002, 12:45 Titel: |
|
|
Oder versuch mal das:
Code: |
#defineIDC_hEB_TEXT10008
HWNDhEB_TEXT= 0;
hEB_TEXT = CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","Texteingabe Feld",WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT, 110, 517, 580, 28, hWnd, (HMENU)IDC_hEB_TEXT,hInstance, NULL);
//in der Msg-Handler Function:
switch(msg) //Prüfen welche Nachricht vorliegt.
{
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDC_hEB_TEXT:
{
GetWindowText(hEB_TEXT, g_szText, 128);
break;
}
//Usw
|
Hoffe es hilft dir, erzeugt nähmlich ein Texteingabefeld unter windows. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|