tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
585
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    spiesser spiesser ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    11
    Ich möchte einem Edit-Fenster den Text eines anderen Edit-Fensters zuweisen und den veränderten Text des ersten Edit-Fensters direkt anzeigen (während in der Funktion weitere Aktionen folgen)! Bei mir erscheint der veränderte Text aber erst nach Durchlaufen der Funktion! Wie kann ich das ändern?

    spiesser
     

  2. #2
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Hallo,

    Was hast du denn vor, dass du mitten im Funktionsaufruf ne Ausgabe brauchst.
    Du kannst die Ausgabe ja in die Funktion an der entsprechende Stelle implementieren.

    Noch ne Idee wäre ein Timer der parallel zu deiner Funktion läuft und der die Ausgabe macht.

    MfG Turri
     

  3. #3
    spiesser spiesser ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    11
    Erklärungsversuch:
    Ich möchte den Text eines Edit-Fensters durch den Text eines anderen Edit-Fensters ersetzen:

    Edit2->Text=Edit1->Text;

    Der Nutzer soll diese Veränderung direkt nachverfolgen können - in meinem Programm ist dies aber erst möglich, nachdem die gesamte Funktion durchlaufen wurde (vorher ist Edit2 leer) - warum ist das so und wie kann ich das ändern?

    spiesser
     

  4. #4
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Probier doch mal bei Edit1 das OnKeyPress Ereignis...
    und da machste das rein.
    Code :
    1
    
    Edit2->Text = Edit2->Text + Key;
    Sobald du in Edit1 ne Taste drückst, nimmt das Ereignis den Buchstabe und hängt ihn bei Edit2 dran.
    Das hier funktioniert momentan aber nur wenn ein Zeichen angehangen wird, nicht wenn man eines wegnimmt.
    Aber ist bestimmt schonmal ne Anregung.

    Das funktioniert nicht, weil man da immer ein Zeichen verzögerung hat.
    Code :
    1
    
    Edit2->Text = Edit1->Text;

    MfG Turri
     

  5. #5
    spiesser spiesser ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    11
    Kann damit ehrlich gesagt nichts anfangen, trotzdem vielen Dank!

    Ich weiß einfach nicht, wo der Fehler sein soll:

    Wenn ich schreibe
    Edit1->Text="Hallo!";
    --> Warum gibt er das dann nicht sofort aus, sondern erst, wenn die Funktion durchlaufen ist
     

  6. #6
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Weil direkt nach der Funktion erst der Befehl für das Neuzeichnen oder Aktualisieren des Form ausgeführt wird. Dadurch sind die Änderungen nicht sofort sichtbar...

    Kann damit ehrlich gesagt nichts anfangen, trotzdem vielen Dank!
    Was verstehst du denn nicht?
    Wenn du den Borland C++ Builder 6.0 hat sieht du links den "Objektinspektor"
    Da kannst du Eigenschaften für die Sachen, die auf einem Form plaziert sind, einstellen.
    Da gibts aber nicht nur den Tab Eigenschaften sondern auch "Ereignisse".

    Du klickst also das Edit1 an, und dann guckst du links bei Ereignisse.
    Und da drin machste nen Klick auf "OnKeyPress".
    Da dann mein Vorschlag vom Threat zuvor rein.

    Mich würde trotzdem erstmal interessieren was du für eine Funktion meinst. Ich tappe ein wenig im Dunkeln, nicht das wir aneinander vorbei reden.

    MfG Turri
     

  7. #7
    spiesser spiesser ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    11
    Mein Problem ist wie folgt:

    Ich habe eine Funktion, in der mehrere Dinge hintereinander ablaufen. Jedoch ist es mein Ziel, dass jeder Schritt sofort verändert dargestellt wird, um alle Veränderungen verfolgen zu können! Bei meinem Programm erscheinen die Änderungen aber erst nachdem die gesamte Funktion bearbeitet wurde!

    Beispiel:

    Edit1->Visible=true;
    Edit1->Text="Text";
    zeit (Edit34); //Funktion, die in Programm dazu führt, erst ein paar Sekunden später fortzufahren
    Edit5->Text=Edit2->Text;
    Edit5->Visible=true;
    Edit2->Text="";
    zeit (Edit34);
    Edit2->Text=Edit4->Text;
    Edit4->Text="";
    zeit (Edit34);

    Verständlich?

    spiesser
     

  8. #8
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    jap, jetzt ist klar... (hoffentlich)

    In deiner Funktion, hast du quasi ne Wartezeit drin.
    Und vor deiner Funktion wurden Werte geändert.
    Versuch mal vor deiner Funktion ein "Repaint();".
    Das sollte das Form aktualisieren. Und die Änderungen anzeigen.
    Versprechen kann ich es aber nicht
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    Edit1->Visible=true;
    Edit1->Text="Text";
    Repaint();  // die Funktion sollte es geben...
    zeit (Edit34);
    Edit5->Text=Edit2->Text;
    Edit5->Visible=true;
    Edit2->Text="";
    Repaint();  // die Funktion sollte es geben...
    zeit (Edit34);
    Edit2->Text=Edit4->Text;
    Edit4->Text="";
    Repaint();  // die Funktion sollte es geben...
    zeit (Edit34);

    MfG Turri
     

  9. #9
    spiesser spiesser ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    11
    Das ist es! Vielen Dank für deine Hilfe, Turri!!

    spiesser
     

  10. #10
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Kein Problem, dann kannst du das Thema als erledigt markieren
     

Ähnliche Themen

  1. jQueryUI: Edit-Fenster
    Von FrankWST im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 29.04.10, 14:57
  2. Tastendruck direkt an Fenster Senden
    Von Net_Ghost03 im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 12.03.09, 13:56
  3. Edit-Fenster und Dateien umbenennen
    Von marcaurel1984 im Forum Borland CBuilder und VCL
    Antworten: 2
    Letzter Beitrag: 07.06.05, 20:39
  4. Antworten: 3
    Letzter Beitrag: 22.06.04, 21:06
  5. edit fenster auslesen
    Von Gargamel im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 05.12.03, 19:50