Statusanzeige
-
Also ich habe da ein Problem.ich zawr wie das Teil funktioniert.Aber ich würder gern man wissen wie ich z.b
CButton *pRadiobutton4 = (CButton*) GetDlgItem(IDC_CHECK_SECTORSCAN); pRadiobutton4->SetCheck(0);
(Blödes beispiel (da es ja nich lange dauert oder so) aber der Code lag grade so rum)
den fortschrit auf eine Statusanzeige darstelle.
-
Erstelle in deinem Dialog ein Steuerelement und eine Steuervar dazu.
Dann schau die die Memberfunktionen an.
z.b:
SetStep
msdn GIBT AUSKUNFT DARÜBER WAS DIE fUNKTIONEN MACHEN:
-
Cih möchte ja nicht die Steps verändern ich mächte nur wiessen wie weit dieser Process ist
-
Ich habe auch nicht gesagt das du alleine die Funktion SetStep brauchst. Die Memberfunktionen liefern dir das was du brauchst.
Nach jedem Prozentdurchlauf einen Step machen und somit auf 100 % kommen.
-
Ja das war mir ja auch klar nur mit welcher Funktion kann ich nun vestellen wie weit der process ist?
-
Von welchem Process redest du.
Wenn du z.B. ein Txt-File einlesen musst dann geschieht dies im Normalfall in einer Schleife. Wenn du 100 Zeilen in dieser TXT hast dann wird nach jeder Zeile ein Step durchgeführt.
-
z.b sowas
CWinApp* app=AfxGetApp(); free((void*)app->m_pszProfileName); app->m_pszProfileName=_tcsdup(_T(pfad)); CString rp00=app->GetProfileString("Test","Zeile1", NULL); CString rp01=app->GetProfileString("Test","Zeile2", NULL); CString rp02=app->GetProfileString("Test","Zeile3", NULL); CString rp03=app->GetProfileString("Test","Zeile4", NULL); CString rp04=app->GetProfileString("Test","Zeile5", NULL); CString rp05=app->GetProfileString("Test","Zeile6", NULL); CString rp06=app->GetProfileString("Test","Zeile7", NULL); CString rp07=app->GetProfileString("Test","Zeile8", NULL); CString rp08=app->GetProfileString("Test","Zeile9", NULL); CString co00=app->GetProfileString("Common","Zeile1", NULL);
ich setze doch nich zwischen jede teile ein SetPos das is doch völlig lästig wenn der lade vorgang länger wirt.
-
Dan versuch's mal mit ner for-Schleife.
MFG
FatalError
-
Na das mit Zeile1 war ja nur ein bespiel.
Man könte ja auch Zeil1 dan Buchstabe3 was weis ich aber halt das eine schleife nicht möglich ist.
Wie mache ich das den?
-
Nochmals !
Du musst schon wissen wie du eine Funktion in 100 Teile (Ist jetzt nur eine Bsp. da man auch z.b. 1000 Steps machen kann. Gehe aber mal von Prozent aus und da sind es 100) aufteils.
Eine Statusanzeige macht nur das was du ihm sagst.
Du verstehst den Sinn einer Statusanzeige falsch.
Du kannst die Laufzeit einer Funktion nicht berechnen da du nicht weißt wie lange sie für den Ablauf braucht. (Hängt von vielen Factoren ab)Siege Bsp. mit dem Einlesen eines TXT-Files. Hat man 100 Zeile einzulesen dann kann man dies in einer Schleife machen und nach jeder Zeile den Step um 1% erweitern. Bei 100% ist dann das File eingelesen.
Will man es mit einem Größeren File machen, dann muss man hier mit der Filegröße und den bereits eingelesenen Bytes arbeiten. (Einfache Prozentrechnung)
Du kannst jetzt hier genauer dein aktuelles Problem beschreiben da wir mit einem Bsp. von dir nicht weiterkommen. Deiner Bsp. kann man z.B. in Schleifen bearbeiten.
Also schreibe mit welchen Source du einen Status machen willst.