Brauche Hilfe bei C++ Programmieraufgabe!!

Hallo,

Ich habe eine .exe eines fertigen Programmes das ein Lehrer von mir geschrieben hat.

http://rapidshare.com/files/120259657/schaumal.exe.html

Geschrieben mit Borland Builder 5. Es gibt keine weiteren Projektdateien. Aufgabe ist es, dieses Programm nachzumachen. (Muss heut abend fertig sein)

Ich bräuchte ein wenig Hilfe und Ideen wie ich das schreiben könnte. Wenn das schon jemand hat auch gerne was Fertiges.. aber ich wills auch verstehen.

danke schon mal... wenn ihr kein bcb 5 habt mach ich auch screenshots und lad die hoch... danke schon mal...

mfg, 0ImZ
 
Du willst uns ein GUI zeigen und erwartest dann, das wir dir sagen, wie du das am besten nachprogrammieren kanst?

(Muss heut abend fertig sein)

Tja, dann hättest mal am besten früher damit angefangen ;)
Naja, bevor das im Planschbecken landet, zeig mal den Screenshot...
 
ahrg das prog is net kompliziert... ne eingabe wo man sätze reinhaut. der eingegebene satz wird dann in einem label neu gebildet indem das alphabet für jeden einzelnen buchstaben durchgegangen wird und bei dem richtigen stehen bleibt. screenshots mach ich gleich noch.

schon mal danke im voraus für jede hilfe.. mfg, 0ImZ
 
vcl50.bpl


geh mal projekt -> optionen -> compiler -> release

projekt -> optionen -> packages -> mit laufzeig packages compillieren, hier den hacken entfernen

... da das vcl ist sollte das kein problem sein.
 
das ist eigentlich ganz einfach...
du machst 2 strings
1. mit dem text der am schluss angezeigt werden soll
2. mit der länge des ersten strings und inhalt = AAAA....
string 2 wird auf dem bildschrim dargestellt
nach einer gewissen zeit vergleichst du alle zeichen im string 1 mit denen im string 2 einzeln und wenn ein zeichen im string 2 nicht dem im string 1 entspricht zählst du eins dazu bei dem zeichen in string 2, dann bringst du string 2 auf den bildschirm und dann gehts wieder von vorne los.
 
so müsste es gehen

{
AnsiString b,a;
int i=1,k=1;
a= Edit1->Text;
b=a;
for ( int z=1;z<=a.Length();z++)
{
b[z]='A';
Label1->Caption=b;
Label1->Refresh();
}

while (i<=a.Lenght() ){
for (int x= ' ' ;x<= 'z';x++){
while(k<=a.Length()){
b[k]=char(x);
k++;
}
Application->ProcessMessages();
Sleep(10);
Label1->Caption=b;
Label1->Refresh();
k=i;

if(a==b) {
i++;
k=i; }
if (i>a.Length())
break;
}
Application->ProcessMessages();
Sleep(100);
}


mfg un viel spaß
Ates 8)
 
Original von Ates
so müsste es gehen

{
AnsiString b,a;
int i=1,k=1;
a= Edit1->Text;
b=a;
for ( int z=1;z<=a.Length();z++)
{
b[z]='A';
Label1->Caption=b;
Label1->Refresh();
}

while (i<=a.Lenght() ){
for (int x= ' ' ;x<= 'z';x++){
while(k<=a.Length()){
b[k]=char(x);
k++;
}
Application->ProcessMessages();
Sleep(10);
Label1->Caption=b;
Label1->Refresh();
k=i;

if(a==b) {
i++;
k=i; }
if (i>a.Length())
break;
}
Application->ProcessMessages();
Sleep(100);
}


mfg un viel spaß
Ates 8)

da wir in der schule 1 jahr lang mit dem borland builder gequält wurden, würde ich sagen das geht besser...
Zum Beispiel, wenn du einen Timer verwendest musst du das nicht machen:
Code:
Application->ProcessMessages();
Sleep(100);
und das programm kann immer Nachrichten abarbeiten, die es bekommt und nicht nur alle 100ms oder so

mfg Liar
 
Zurück
Oben