Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "Sleep"-t das programm wenn man... (https://www.delphipraxis.net/137311-sleep-t-das-programm-wenn-man.html)

turboPASCAL 18. Jul 2009 17:16

Re: "Sleep"-t das programm wenn man...
 
Du könntest ja ach mal zeigen wie deine Entpackgeschichte ausschaut.
Möglicher weise hat dein Ladebalken ein "was soll ich machen" Problem.

DArc 18. Jul 2009 18:10

Re: "Sleep"-t das programm wenn man...
 
nene passt schon^^

extrahiere ganz normal die res als ursprüngliches format ...

bei dem ladebalken habe ich mir was schönes ausgedacht ...

erst wird überprüft ob die datei existiert, wenn ja, so zähle man

die NUN messbare größe ... timer interval auf 1 ...

der balken richtet sich nach der größe ...

sprich 1/100 sind 1% des balkens usw.^^

Medium 19. Jul 2009 00:59

Re: "Sleep"-t das programm wenn man...
 
Zitat:

Zitat von DArc
Delphi-Quellcode:
if (Gewicht = Gewicht div 100 * 100) then
begin
sProgressBar1.Position := 100;
sButton1.Visible := False;
sButton2.Visible := True;
sButton3.Visible := False;
end;

*schüttel*

Delphi-Quellcode:
sProgressBar1.Position := Round((Gewicht/MaxGewicht)*100);
Einfachste Prozentrechnung. Sollte man auch mit 15 schonmal gesehen haben ;)

Edit: Application.ProcessMessages(); ist meist auch ein Indiz dafür, dass man hier mit einem Thread wohl besser bedient wäre. ProcessMessages ist bei solchen Vorgängen eher ne Quick'n'Dirty-Krücke als denn eine angemessene Lösung. Geht, ist aber nicht wirklich elegant, und je nach dem in welchen Intervallen man es aufruft führt es dennoch zu Stocken bei der Anzeige/Bedienung.

Luckie 19. Jul 2009 03:08

Re: "Sleep"-t das programm wenn man...
 
Zitat:

Zitat von DArc
extrahiere ganz normal die res als ursprüngliches format ...

Was heißt "ganz normal"? Wenn du einen Stream benutzt, dann klappt das mit dem Fortschrittsbalken natürlich nicht, da du keine Schleife hast, wie viel der Stream schon geschrieben hat. Du solltest uns endlich mal den Code zeigen, der die Ressource extrahiert.

Solltest du einen Steam benutzen, dann guck dir mal meine Klasse TStreamProgressAdapter an: http://www.michael-puff.de/Developer/Delphi/Demos

DArc 19. Jul 2009 10:44

Re: "Sleep"-t das programm wenn man...
 
thx @ Medium^^

hier ...

habe ich hier aus dem forum gestänzt^^

Delphi-Quellcode:
procedure TForm3.sButton3Click(Sender: TObject);
var
tr : TResourcestream; // Einen Ressource Stream angeben!
begin
if Form1.sRadioButton1.Checked then
 begin
  if not FileExists('C:\Programme\xyz\xyz.xyz') then
  begin
   tr := TResourcestream.Create(hinstance,'xyz','xyz'); //wird erstellt
   Form3.JvTimer1.Enabled := True;
   forcedirectories('C:\Programme\xyz\');
   tr.SaveToFile('C:\Programme\xyz\xyz.xyz');
  end
  else
  ShowMessage('Die Datei existiert bereits!'); //wird extrahiert und gespeichert
  tr.Free; //Stream wird freigegeben
end;
sieht bissle durcheinander und "angfängerhaft" aus, saß aber kaum dran ... zock lieber -_-



hoffe ihr könnt damit was anfangen^^

DArc 22. Jul 2009 07:04

Re: "Sleep"-t das programm wenn man...
 
keine antwort?

oder sollte das eigentlich funzen?

Namenloser 22. Jul 2009 07:22

Re: "Sleep"-t das programm wenn man...
 
Wo liegt dein Problem? Und wenn du selber schon sagst, dass dein Code unordnetlich ist, solltest du vielleicht liebr aufräumen.

DArc 23. Jul 2009 18:58

Re: "Sleep"-t das programm wenn man...
 
oha ... schreibste immer so oder ... ??

naja egal

1. das problem: die progressbar macht nix
2. keine zeit?!
3. wieso liest du net die anderen beiträge?

Aphton 23. Jul 2009 19:29

Re: "Sleep"-t das programm wenn man...
 
Also bei dir freezed nichts und es arbeitet auch nichts auf hochtrieben:

Folgende Gleichung (mathematisch gesehen jetzt) wird nie erfüllt sein:
n = n / x * y

(delphi):
if (Gewicht = Gewicht div 100 * 1) then

Dh dein Progressbar wird sich nur einmal - und zwar genau dann, wenn x und y identisch sind - aktualisieren ;)

( .. div 100 * 100 )

MfG

Namenloser 23. Jul 2009 19:56

Re: "Sleep"-t das programm wenn man...
 
Zitat:

Zitat von DArc
1. das problem: die progressbar macht nix

Natürlich macht die nix, in deinem Code (zumindest in dem Teil, den du uns gezeigt hast) kommt sie ja auch kein einziges mal vor.
Zitat:

Zitat von DArc
3. wieso liest du net die anderen beiträge?

Ich habe die anderen Beiträge natürlich gelesen und mir ist dabei aufgefallen, dass dir schon mehrfach erklärt wurde, wie du den Fortschritt ausrechnest und darstellst. Ich frage mich eher, ob du die Beiträge liest.

Und wenn du lieber zockst, anstatt zu programmieren, dann tu das eben, aber erwarte nicht, dass jemand anderes dir deinen Code schreibst, nur weil du zu faul bist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz