Eingabe ist falsch?





  • Hallo

    Das hat mit den GroupBoxen nichts zu tun. Sondern du hast statt zwei Edits eben vier Edits, wo du von 2 jeweils zu einer andern etwas kopierst. Du must also den gezeigten Code nur duplizieren und anpassen (Komponentennamen)

    bis bald
    akari



  • Edit3->Text = Edit2->Text;
    // oder
    Edit3->Text = Edit2->Text;
    Edit4->Text = Edit1->Text;
    

    Was sollten die GroupBoxes damit zutun haben?

    MfG
    kpeter



  • @akari 😉 Sry



  • ich hab noch eine frage.. und zwar hänge ich hier.. ich will die länge des textes bestimmen.. und zwar will ich erster das edit feld auslesen..

    wieder += StrToInt(Edit5->Text);
    

    aber so geht das nicht weil ich ein STRING bzw eher CHAR will..

    aber wie kann ich dann das Editfeld auslesen?
    ich hab es so probiert da gibt er aber fehler..

    test = Editfeld->Text;
    

    dann will ich so weitermachen..

    char str[100] = test;
    int laenge = strlen(str);
    

    so funktioniert das leider aber nicht.. wo liegt mein fehler wie kann ich den Text auslesen und in ein char schreiben und die länge ausgeben lassen?

    Danke schonmal! ^^



  • Hallo

    "geht nicht" nicht keine Fehlerbeschriebung! Und zu allen deiner Codeauszüge fehlt immer die Angabe um was für Variablentypen es geht!
    Zumal ich irgendwie dein Problem nicht verstehe. In ein char kannst du ->Text nicht einlesen, denn char nicht nur genau ein Zeichen auf. Wenn dann meinst du char*. Aber das brauchst du nicht denn du verwendest besser AnsiString. Und dann must du doch einfach nur zuweisen.

    AnsiString test = Edit1->Text;
    

    Und die Länge des AnsiStrings bekommst du auch einfach raus

    int Laenge = test.Length();
    

    Ich empfehle mal in die BCB-Hilfe zuschauen. Da ist alles beschrieben was man mit AnsiString machen kann.

    bis bald
    akari



  • ja sorry wenn ich mich bissel ungenau ausdrück!
    ich will eigentlich nur ein BOT PROGRAMM erstellen für MSN!
    d.h. ich will einen String oder char* schreiben und den Text von meinen Editfeld auslesen und dann als "Virtueller Tastendruck" ausgeben. Also auf den Bildschirm schreiben!
    Ein Teil des Textes sieht so aus:

    int i;
    
    AnsiString Text = Edit1->Text;
    int Anzahl = Text.Length();
    
    for(i=0;i<Anzahl;i++)
            {
             keybd_event(VkKeyScan(Text[i]),0,0 , 0);
             keybd_event(VkKeyScan(Text[i]),0, KEYEVENTF_KEYUP,0);
             keybd_event(VK_RETURN,0,0,0);
            }
    

    Also des soll lediglich den Text ausm Editfeld auslesen bestimmen wie lange der Text ist und dannach die einzelnen Buchstaben eintippen sodas dann der Text am ende auf dem Bildschirm steht!?

    War das nun besser beschrieben 😛



  • Hallo

    Und wo ist nun das Problem? Außer das ich nicht glaube das es sinnvoll ist nach jedem einzelnen Buchstaben Enter auszulösen.

    bis bald
    akari



  • Problem ist das er in das Fenster reingeht aber die Eingegeben Nachricht nicht ausgibt? Und dann halt ein Fehler anzeigt..

    http://img525.imageshack.us/img525/354/123sh2.jpg

    ThrowIfOutOfRange(idx);   // Should Range-checking be optional to avoid overhead ??
    

    ja aber sollte ich dann den Code in eine andere Schleife stecken und Testen bis es 0 ist und dann enter schreiben?
    Also so ca.

    if()
    {
    if()
    tastendruck
    }
    enter
    }
    

    Bitte um hilfe 😞



  • Hallo,

    Problem ist das er in das Fenster reingeht aber die Eingegeben Nachricht nicht ausgibt? Und dann halt ein Fehler anzeigt..

    AnsiString fängt bei 1 und nicht bei 0 an.

    for (i=1; i <= Anzahl; i++)
    ...
    

    Nash


Anmelden zum Antworten