Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de ::  VCL (C++ Builder) ::  Terminalfenster einbinden
Antwort schreiben
Benutzername:
Titel:
Nachrichtentext:
  :)  :D  ;)  :(  :p  :mad:  :rolleyes:  :eek:  :confused:  :cool:  :o)  :leak:  :live:  :die:  :idea:  :arrow:  :warning: 
                             
                         
         
           
                             
                             
                             
             


BBCode in diesem Beitrag deaktivieren [BBCode]
Smilies in diesem Beitrag deaktivieren
Terminalfenster einbinden and 9758
     


Themen-Überblick 
(Aktualisieren)
Autor Nachricht
Peter
16:07:00 28.12.2002   Titel:   Zitieren

Das Wichtigste was auf jeden Fall noch fehlt, die Cursorposition muss natürlich bei "automatischen" Ausgaben ins Memofeld entsprchend nachgeführt werden. Ich sagte ja oben, es wird nicht ganz einfach :rolleyes:
Nur um es zu erwähnen, ich persönlich verwende ungern frende Kompos wenn es sich irgendwie vermeiden lässt und schon garkeine Komponenten, bei denen ich keinen Quelltext vorliegten habe :cool: Aber das muss jeder für sich entscheiden ;)
Jansen
15:24:00 28.12.2002   Titel:   Zitieren

Naja, da fehlt aber noch einiges zum Terminal-Verhalten. ZB. dass man nur in der letzten Zeile schreiben kann usw. ;)

Ich würde mir da lieber bei Torry o.ä. einen fertigen Terminal-Emulator besorgen. Oder besser noch, wie schon von Peter empfohlen, das Programm so umschreiben, dass Ein- und Ausgabe GUI-konform erfolgen.
Peter
15:08:00 28.12.2002   Titel:   Zitieren

So jetzt hab ich mir ein paar Gedanken zu dem Thema gemacht. Du willst Handeingaben ins Memo versenden. So eine Eingabe wird meist mit "Return" abgeschlossen. Also geht es nur darum, eine Eingabe ins Memo zu extrahieren um diese dann weiterverarbeiten zu können. Hier ein kleiner Codeschnipsel:
C++:
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)
{
    AnsiString Eingabe;
    TMemo *Memo=(TMemo*)Sender;
 
    if(Key==13)
    {   Eingabe=Memo->Lines->Strings[Memo->CaretPos.y];
        ShowMessage(Eingabe);
    }
}

Drückt man im Memo die Returntaste, wird hier die aktuelle Eingabezeile in den AnsiString "Eingabe" übertragen und kann ganz leicht ausgewertet werden. Bei einem Terminalprogramm werden die Benutzereingaben in der Regel hinter einem Prompt eingegeben. Du musst also hier nur noch den Promptstring, der sich natürlich nach Drücken der Returntaste auch in "Eingabe" befindet, wegfiltern und hast so die reine Benutzereingabe.
Ich hoffe, ich hab Dich diesmal richtig verstanden ;)

[ Dieser Beitrag wurde am 28.12.2002 um 14:09 Uhr von Peter editiert. ]
Jansen
01:10:00 28.12.2002   Titel:   Zitieren

Dann musst du das halt selbst machen (Fenster zeichnen, Text zeichnen, Eingabe auswerten, neuen Text zeichnen usw.) TMemo ist nun mal nur zur Textausgabe gedacht.
Deadman
00:55:00 28.12.2002   Titel:   Zitieren

hi peter ...

ja wie ich es ansonsten mache is mir schon klar. ich will es aber nicht so machen. mir gehts eben darum, das ich das irgendwie so hinbekomme, das es wie im terminal funktioniert.

Deadman
Peter
00:43:00 28.12.2002   Titel:   Zitieren

Hm, also Ein- und Ausgabe über ein Memo zu steuern wäre zwar möglich aber vermutlich nicht ganz so einfach zu proggen. Einfacher wäre es, das Memo nur als reine Ausgabe zu nehmen und für Eingaben ein Edit darunter zu plazieren. Man kann ja den Inhalt des Editfelds nach erfolgter Eingabe in das Memo übertragen, wenn Du verstehst was ich meine ;)
Deadman
00:05:00 28.12.2002   Titel:   Zitieren

ahoi...

wenn man ne ganz kleine terminal-anwendung macht, wie zum bleistift ein kleines proggie, wo am bildschirm steht: "Bitte gib deinen Namen ein: " dann blinkt dahinter der cursor, und man muß seinen namen eingeben und enter druecken.
danach gibt das proggie noch in der naechsten zeile "Dein Name ist z.b. bobby" aus. sowas will ich nun in nem formular machen. zum beispiel in nem memo oder sonst wo. ansonsten muesste ich die eingabe in nem z.b. Edit machen.

wenns irgendwie moeglich waere, n reines terminal fenster in ein form einzubetten, solls mir auch recht sein.

Deadman
Peter
23:30:00 27.12.2002   Titel:   Zitieren

Ähä :rolleyes: , mag ja sein, daß ich grad voll aufm Schlauch stehe, hab aber keinen blassen Dunst was Du genau meinst . Kannste vielleicht ein Beispiel bringen was Du genau mit Ein-/Ausgaben von Daten meinst :confused:
Deadman
23:01:00 27.12.2002   Titel:   Zitieren

aloa ...

ich probiers mal anders

kann man irgendwie ein- und ausgaben von daten ueber ein memofeld oder aehnliches machen ?

ansonten macht man dateneingaben ja meist ueber ein Edit oder so.
ich will aber beides in einem haben.

wie ich die eingaben bzw die ausgaben in die terminal-application bekomme weiß ich ja.

Deadman
Peter
22:20:00 27.12.2002   Titel:   Zitieren

Oje, ohne den Code zu kennen, wenn es eine Konsolenanwendung ist wird es wahrscheinlich am Besten sein, alles neu zu schreiben. Man kann zwar probieren, z.B. einen printf in z.B. Memo1->Lines->Add umzuschreiben, aber ob das dann alle so passen wird ist sehr fraglich. Auf jeden Fall müsstest Du den ganzen Code Schritt für Schritt durchgehen und analysieren. Aber je nach Codeumfang werden Anpassungen in den meisten Fällen nur zum absoluten Codechaos führen.

[ Dieser Beitrag wurde am 27.12.2002 um 21:20 Uhr von Peter editiert. ]

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.