Ladebalken in TP...(hilfe)!

I

Inoxx_QM

Hallo Leute,

ich hoffe es gibt heir ein paar Leute, die sich noch in Turbo Pascal auskennen. :)
Ich habe nämlich ein kleines Problem.
Falls mir hier keiner helfen kann, wäre es nett, wenn ihr mir noch ein paar Seiten zu TP sagt, wo ich hilfe finden kann. Danke! :)

Und los gehts...
Ich möchte in TP (für die Schule) ein Programm erstellen...doch ich habe mit dem "Ladebalken" ein paar Probleme.
Natürlich ist das kein richtiger Preloader, sondern nur eine Animation...ich möchte, das zusätzlich zum Ladebalken genau zur selben Zeit eine Prozentanzeige angezeigt wird.
Also wenn der Balken sich bewegt...muss die Prozentzahl größer werden. Logisch! :)
Doch das ist nicht si einfach...
Vorab noch, das ganze beschränkt sich natürlich auf die Grafikprogrammierung in TP, sonst wäre es ja kein so großes Problem! ;)

Hier ist das jetzige Programm mal ohne die Prozentanzeige: :(

Program Ladebalken_1;
Uses Crt, Graph;
VAR treiber, modus, fehlercode, i, u, o: INTEGER;

Procedure grafik_install;
Begin
treiber:=detect;
InitGraph(treiber,modus,'c:\tp\bgi');
fehlercode:= GraphResult;
If fehlercode <> grOk Then { Fehlerausgabe }

Begin
Writeln('Grafik-Fehler: ',GraphErrorMsg(fehlercode));
Writeln('Programm abgebrochen...');
Halt(1);
End;
End;

BEGIN

grafik_install;

rectangle(200,99,440,120); {Ladebalken_Rand}
rectangle(100,400,540,300); {Kasten_unten}

For u:=1 to 166 Do
Begin
setcolor(white);
OuttextXY(150+u,225,'_'); {Trennlinie}
OuttextXY(490-u,225,'_'); {Trennlinie}
delay(300); {Geschwindigkeit}
End;

Begin
setcolor(green);
delay(5000);
OuttextXY(250,150,'l'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(260,150,'o'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(270,150,'a'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(280,150,'d'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(290,150,'i'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(300,150,'n'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(310,150,'g'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(330,150,'d'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(340,150,'a'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(350,150,'t'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(360,150,'a'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(370,150,'.'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(380,150,'.'); delay(2500); sound(5000); delay(50); nosound;
OuttextXY(390,150,'.'); delay(2500); sound(5000); delay(50); nosound;
delay(100); {Geschwindigkeit}


For i:=1 to 232 Do
Begin {Ladebalken_Animation_Anfang}
setcolor(red);
OuttextXY(200+i,100,'Û');
OuttextXY(200+i,105,'Û');
OuttextXY(200+i,112,'Û');
delay(100); {Geschwindigkeit}
End; {Ladebalken_Animation_Ende}

sound(1000); delay(6000); nosound; {Endsound_1}
sound(1500); delay(6000); nosound; {Endsound_2}
sound(1000); delay(6000); nosound; {Endsound_2}
Readln;

CloseGraph;
End;
End.


So...das ist es...*lol*
Gebt das mal bitte in euren TP Programm ein und checkt das mal für mich!
Einfach kopieren und einfügen, vorher speicher und evtl Pfad der Treiber angeben!

Ich hoffe ihr könnt mir helfen...und vorallem, schnell! :)
CU

Inoxx_QM
 
Kopieren...

Hallo Leute,

ich nochmal...leider funzt das mit dem kopieren ja nicht, weil TP ja ein Dosprogramm ist! :x

Erstellt also eine Datei...nennt sie lade.pas!
Öffnet die Datei und editiert sie...kopiert mein Programm (s.o.) dort hinein...nur das Dickgedruckte.
Das wars... :)

Danke schon einmal im voraus!
CU

Inoxx_QM
[Editiert von Inoxx_QM am 09.03.2001 um 17:14]
 
Nun nicht mehr...

Hallo Leute,

naja...mit so vielen Antworten hatte ich ja nicht gerechnet! ;) *lol*
Naja, danke...jetzt habe ich es hinbekommen...in monetalangen endlos langen Nächten! :)
CU
 
Eine Antwort

Also, ich hab auch mal mit Tp rumgespielt und dabei sogar mit viel Glück und nem billigen TextAdventure bei GameStar den lesersoftware Wettbewerb gewonnen. Und ich muss sagen mit TP lernt man wirklich gut das strukturierte schreiben von QuellCode.
Aber nun zu deiner Frage.
Ich hab das früher mit zwei ineinander verschachtelten for-Schleifen gemacht oder eben einfach nur zwei ineinander verschachtelte WIederholungsSchleifen.
Dann ist die eine fürs Horizontale(die äußere, d.h. bei jedem Durchlauf X-Wert des Punkts größer) und die Innere für den Y-Wert der bei jedem durchlauf größer Wird. Dann machst du in die Inner Schleife noch rein, dass er einen Punkt an die Koordinaten X/Y macht und fertig(den prozedurnamen weiß ich nicht mehr, einfach in der graph unit rumsuchen).
und kopieren geht in tp sehrwohl!
Strg+K is glaub ich Anfang festlegen. musst du einfach in der Hilfe gucken, das steht alles drin. findest du im programm mit STRG+F1 z.B.!
Leider habe ich alle .pas Dateien und den TP-Editor gelöscht bei meinem letzten OS-Change auf Win2K, sonst hätte ich dir präziesere Auskünfte geben können und auch Quelltext, aber... sorry!
Ich hoffe, das macht deinen balken besser.

Ach das ganze einfach in ne neue Prozedur hauen und mit Parameter des Startwerts(X,Y) und bisWert ganz einfach einer für Installation, etc. machbar. GrundIdee hast du hofentlich verstanden is eigentlich sehr einfach, weiß gar nicht weshalb du da in einem Forum für nachfragst!
http://www.hal9000web.de - da kannst du dir ein wenig anschauen was mit Perl so machbar ist. Perl ist wirklich sehr interessant, besser wie TP, musst du dir mal anschauen, wenn du schon proggst!
 
Hallo Leute,

ich nochmal...leider ****t das mit dem kopieren ja nicht, weil TP ja ein Dosprogramm ist! :x

Erstellt also eine Datei...nennt sie lade.pas!
Öffnet die Datei und editiert sie...kopiert mein Programm (s.o.) dort hinein...nur das Dickgedruckte.
Das wars... :)

Danke schon einmal im voraus!
CU

Inoxx_QM
[Editiert von Inoxx_QM am 09.03.2001 um 17:14]

hi
ich hab ne frage ich hab keinen schimmer wie das ganze geht eek:
 
Zurück