Announcement

Collapse
No announcement yet.

Handle auf anderes Memo

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Handle auf anderes Memo

    hi,
    Ich bin gerade dabei ein "Server Manager" zubasteln.
    Das Programm dient dazu Spiele server zu starten und zu steuern.
    Läuft bis jetzt alles gut nur das ich ein problem hab die Spieler vom Server zu Kicken.
    Ich habe das so aufgebaut das auf der Anwendung ein JvStringGrid ist und alle Namen,spielstände usw... anzeigt und ich die zeile markiere und auf einen "Kickbutton" klicke.
    Dann sollte eig aus der Spieleigenen Console die spieler aufgelistet werden und mit dem markierten namen (aus dem JvStringGrid)verglichen werden,anschließend
    dann den kick befehl auf die console schreiben.
    Das war ja alles noch kein problem nur das das Lesen aus dem Memo nicht klappen will.

    so sieht der Code bis jetzt aus:


    Code:
     procedure TFO_HD2Serv.bt_KickClickClick(Sender: TObject);
    var Name : String;
        PlayerNumber,i : integer;
        h : THandle;
        Command : String;
    begin
    if fAktRow <> 0 then
    Begin
      Dateneinlesen; //aktualisieren
      Name := JvStringGrid1.Cells[0,fAktRow];
      End
      else
      Begin
        MessageDlg('Bitte Spieler auswählen!', mtInformation, [mbOK], 0);
        exit;
      End;
      PlayerNumber := ListeSpieler.GetNumberByName(Name);
      h := Findwindow(nil, 'Hidden & Dangerous II Console');
      if h = 0 then
        h := Findwindow('Hidden & Dangerous II Console', nil);
        if h <> 0 then
        Begin
          command := Format('svcmd kickplayer %d',[PlayerNumber]);
          for I := 1 to length(command) do
            Postmessage(h,WM_CHAR,Word(command[i]),0);
            Postmessage(h,WM_Keydown,VK_RETURN,0);
      End;
    end;

    Kann mir vllt jemand Helfen wie ich ein Handle auf das Memo bekomme?
    Soweit ich weiß wurde die Externe Console in C++ geschrieben.

    Vielen Dank im voraus!
    MFG

  • #2
    Die Konsole wird wohl kein Memo haben

    http://msdn.microsoft.com/en-us/libr...75(VS.85).aspx
    Christian

    Comment


    • #3
      Das kann natürlich sein,kenn mich mit C nicht aus.
      hier habe ich aber nochmal ein bild davon.

      http://img808.imageshack.us/img808/2736/console.png

      wüsstest du vllt was ich da für eine function anwenden kann?
      ich dachte ich hätte hier :
      http://www.delphipraxis.net/745-das-...ausfinden.html
      was nützliches gefunden,was aber auch nicht funktioniert hat.
      mfg

      Comment


      • #4
        Das kann natürlich sein,kenn mich mit C nicht aus.
        Das hat überhaupt nichts mit der Programmiersprache zu tun!!!
        Christian

        Comment


        • #5
          weiß nicht,konnte ja sein das es im c wieder andere komponeten gibt die bisschen anders aussehen.

          ehm heute hab ich RunCaptured function gefunden,
          da hab ich gelesen das es eine konsolen ausgabe liest bekomme allerdings nur daten
          über datei größen und solche sachen ins memo geschrieben.
          (habs mit cmd erstmal versucht)

          http://www.swissdelphicenter.ch/torr...ode.php?id=990

          kannst du mir sagen was ich wieder falsch mache?
          Oder welche function sich besser eignet als das?

          Comment


          • #6
            weiß nicht,konnte ja sein das es im c wieder andere komponeten gibt die bisschen anders aussehen.
            Offenbar bist du dir überhaupt nicht im Klaren, wie die Windowsprogrammierung funktioniert. Windows stellt eine API zur Verfügung. Jede Sprache muss diese einbinden. Demzufolge hat jede Sprache nur die max. Windows-API zur Verfügung, wenn Standardelemente genutzt werden.
            Christian

            Comment


            • #7
              ne tut mir leid das wusst ich nicht.

              Comment


              • #8
                Diese Funktion führt ein Programm (Konsole oder Batch-File) aus und fügt
                die Ausgaben zu Memo1 hinzu
                Das dürfte nicht das sein, was du suchst, da ja dein Programm schon läuft. Des Weiteren arbeitet das Programm so, dass es die Konsolenanwendung ausführt, die Ausgaben in eine Datei umleitet, dann den Inhalt der Datei in das Memo schreibt.

                Insofern wertlos.
                Christian

                Comment


                • #9
                  nen kumpel meinte ich soll es über den classname suchen,
                  allerdings dachten wir da auch noch das es nen memo ist.
                  Ich hab echt nichts brauchbares in google gefunden.
                  hab auch nach ConsoleScreenBuffer in verbindung mit delphi gesucht und auch nichts gefunden was mir weiter hilft.

                  Comment


                  • #10
                    Es ändert sich nichts, ob du das Fenster nun über den Namen oder den Classname suchst, denn das Handle des Fenster hast du ja....
                    Christian

                    Comment


                    • #11
                      jap,
                      aber wie komm ich an den text ran?
                      markieren oder sowas kann ich den text in der console auch nicht,aber das dürfte ja nicht stören oder?

                      Comment


                      • #12
                        Weiss ich so nicht-> suche mal hier im C++Forum, glaube mich zu erinnern das da mal auch eine Frage war
                        Christian

                        Comment


                        • #13
                          Ich hatte nur 2 ergebnisse und ich nehme mal an du meinst das:
                          http://entwickler-forum.de/showthread.php?t=56437

                          FindWindow benutze ich ja.

                          Comment

                          Working...
                          X