Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Textbox wird nicht aktualisiert

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 13.02.2009, 15:53    Titel: Textbox wird nicht aktualisiert Antworten mit Zitat

Hallo zusammen,

ich habe folgendes Problem und bitte um Hilfe!

Ein Formular meines Programms enthält unter anderem eine Textbox und einen StartButton. Mit Klick auf den StartButton beginnt der Programmablauf. Vor dem Durchlaufen einer Schleife (kleine Schleife, die aber ca. 20s lang viele Manipulationen in einer Tabelle vornimmt) soll die Textbox aber noch einen Wert anzeigen.

Im Einzelschritt funktioniert das. Wenn ich das Programm aber normal starte, dann ist der Eintrag in die Textbox erst nach dem Schleifenende zu sehen.

Vor dem Code für den Eintrag in der Textbox habe ich bereits einige wenige Infos aus Tabellenzellen abgefragt.

Was muss ich machen, damit die Anzeige in der Textbox noch vor Schleifenanfang erscheint??
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.02.2009, 17:38    Titel: Antworten mit Zitat

FreeBasic? VB-DOS? Selbstgeschriebene QB-Komponenten...???
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.02.2009, 21:12    Titel: Antworten mit Zitat

...Quellcode?
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 14.02.2009, 16:09    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
FreeBasic? VB-DOS? Selbstgeschriebene QB-Komponenten...???


VB 6.5
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 14.02.2009, 18:36    Titel: Antworten mit Zitat

fredyxx hat Folgendes geschrieben:
Jojo hat Folgendes geschrieben:
FreeBasic? VB-DOS? Selbstgeschriebene QB-Komponenten...???


VB 6.5


Wird hier nicht behandelt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.02.2009, 19:35    Titel: Antworten mit Zitat

Hast du ein DoEvents in der Schleife?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 15.02.2009, 16:36    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Hast du ein DoEvents in der Schleife?


Nein, habe ich nicht!
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.02.2009, 16:54    Titel: Antworten mit Zitat

Dann füge das ein... mit den Augen rollen Wenn das Fenster keine Zeit bekommt, sich zu aktualisieren, dann aktualisiert es sich auch nicht.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 15.02.2009, 18:49    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
...Quellcode?


Hallo Mao,

ich versuch's mal und hoffe, dass ich durch die Kürzungen nichts rein gebracht habe, das für dich unplausibel ist.
Unter diesen Zeilen mit 'happyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappy steht das was nicht funktioniert.

Ich wiederhole auch noch mal, dass die Anzeige imEinzelschritt funktioniert!!

Code:

Private Sub CommandButton4_Click()

'>>>>>hier ist einiges weggelassen<<<<<<<<<<<

wsuch = "Maxsuch"
Call Vergleichen(wsuch)


End Sub


Code:

Sub Vergleichen(wsuch)
'
' Makro2 Makro
'
' Tastenkombination: Strg+V
'
'Dieses Makro berechnet den Unterschied zwischen 2 aufeinander folgenden Zellen
'zeigt bei Überschreitung eines Grenzwertes diesen Wert und die Zeilennummer an

'>>>>> hier ist einiges weggelassen!!!!<<<<<<<<<<<<
   

For i& = anf& To endm& Step 2
   
    zfv = Range(VergleichFenster.TextBox1.Text + CStr(i&)).Value
    zfn = Range(VergleichFenster.TextBox1.Text + CStr(i& + 1)).Value
   
                                           'zfvalt - zfnalt - zfv - zfn
    Select Case True    'regelt die Situation beim Überschreiten des Feldendes
      Case zfn = zfv                                'z.B.  x-x-7-7
         Delta = Abs(zfn - zfv)
         
'>>>>> hier mehrere Case weggelassen!!!!<<<<<<<<<<<<
                 
     End Select

'*******************************************************************************
      If wsuch = "Maxsuch" Then
         'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
         If Delta > Maxwert% Then
            Maxwert% = Delta: Maxpos& = i&     'Maximalwerte anzeigen
           
'happyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappy
' um diese Zeilen geht es,die Werte sollen aktualisiert werden, während das Programm
'                     weiter nach einem neuen Maximum sucht
'happyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappyhappy

            VergleichFenster.TextBox5.Text = "Maximum bei: " + Str(i&)
            VergleichFenster.TextBox9.Text = "Maximum ist: " + Str(Delta)
           
            ttx = Timer
            VergleichFenster.Label17.Visible = True    ' da steht nur "PAUSE" drin
            Do              'die Anzeige soll mindestens 3 sec stehen bleiben
            Loop Until Timer - ttx > 3
           
            VergleichFenster.Label17.Visible = False
           
          End If
         'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
         
         GoTo evau
         
      End If
'*******************************************************************************

'>>>>> hier ist einiges weggelassen!!!!<<<<<<<<<<<<

         
 
evau:
    zfvalt = zfv
    zfnalt = zfn
    Deltaalt = Delta
   
    VergleichFenster.TextBox6.Value = i&

Next

xend:
   
End Sub


Solltest Du Unplausibilitäten entdecken, so sieh darüber hinweg, da das Programm bis auf diese Anzeige funktioniert.

Schön, wenn Dir was dazu einfiele. DANKE
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.02.2009, 19:13    Titel: Antworten mit Zitat

Warum fügst du kein DoEvents ein?! Fenster aktualisieren sich nur, wenn sie dazu gezwungen werden oder grad keine andere Aktion ausgeführt wird.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 15.02.2009, 20:01    Titel: Antworten mit Zitat

Wie müsste das denn wo stehen?

Habe ich noch nie benutzt!!
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.02.2009, 20:33    Titel: Antworten mit Zitat

*irgendwo* in die schleife...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 16.02.2009, 00:05    Titel: Antworten mit Zitat

Hallo Jojo,

ich verstehe zwar nicht weshalb, aber es funktioniert mit dem Code:

akk = DoEvents()

, obwohl akk nicht weiter irgendwo verwendet wird.

Diese Zeile muss am besten unmittelbar hinter dem Code stehen, der eine Anzeige aktualisieren soll.

Danke
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.02.2009, 00:42    Titel: Antworten mit Zitat

Warum machst du nicht einfach, was ich dir sage?

Code:
DoEvents


reicht, ohne irgendwelche zusätzlichen krams! da gehört kein "akk =" oder sonstwas davor (nicht deklarierte Variablen zu benutzen ist übrigens schlechter stil, deswegen sollte in dem modulkopf einer jeden datei "Option Explicit" stehen).
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fredyxx



Anmeldungsdatum: 26.01.2009
Beiträge: 22

BeitragVerfasst am: 16.02.2009, 10:48    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Warum machst du nicht einfach, was ich dir sage?

Code:
DoEvents


reicht, ohne irgendwelche zusätzlichen krams! da gehört kein "akk =" oder sonstwas davor (nicht deklarierte Variablen zu benutzen ist übrigens schlechter stil, deswegen sollte in dem modulkopf einer jeden datei "Option Explicit" stehen).


Hallo Jojo,

ich hatte es wohl mal so versucht und bekam eine Fehlermeldung.

Jetzt habe ich es noch mal probiert und es klappt!

Ich werd's ändern.
_________________
vG

fredyxx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 16.02.2009, 16:03    Titel: Antworten mit Zitat

Es gibt schliesslich auch keine deutschen VB Seiten oder Foren, und eine Hilfe in VB sucht man auch vergebens

</sarkasmus>
</post>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz