Autor Beitrag
lufox
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 21.03.08 14:31 
Hallo!

Ich habe eine Batchdatei vorliegen, die ein kleines Programm mit einem Edit-Feld aufruft. Die Eingabe in dieses Feld soll an die Batchdatei als Variable übergeben werden... Wie kann ich das realisieren?

Ich hoffe ihr könnt mir helfen; Da ich in der Hilfe nichts gefunden habe, seid mir bitte nicht böse, dass dieses Thema vielleicht schonmal da war!

Ich freue mich auf eure Antworten!

Gruß lufox


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Fr 21.03.2008 um 15:06
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 21.03.08 15:22 
Moin und :welcome: im Forum!

Das ist eigentlich ganz einfach, allerdings muss deine Edit-Feld-Anwendung in den STDOUT-Stream schreiben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
unit Unit1;

{$APPTYPE CONSOLE}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  WriteLn(Edit1.Text);
  Close;
end;

end.

Und dazu diese Batch-Datei:
ausblenden Quelltext
1:
2:
3:
@echo off
for /f %%I in ('getedit.exe') do set EDIT_TEXT=%%I
echo %EDIT_TEXT%

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
lufox Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 21.03.08 15:28 
OK!
Das einzige, was ich beachten muss ist also nur die Zeile {$APPTYPE CONSOLE} ??

Kannst du mir bitte mal erklären, was

ausblenden Quelltext
1:
2:
for /f %%I in ('getedit.exe') do set EDIT_TEXT=%%I
echo %EDIT_TEXT%


jeweils bedeutet? Also vor allem "for /f %%I ..."

Vielen Dank schon mal für deine Antwort!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 21.03.08 15:33 
Moin!

user profile iconlufox hat folgendes geschrieben:
Das einzige, was ich beachten muss ist also nur die Zeile {$APPTYPE CONSOLE} ??
Hä? :gruebel:

user profile iconlufox hat folgendes geschrieben:
Kannst du mir bitte mal erklären, was
[...]
jeweils bedeutet? Also vor allem "for /f %%I ..."
Klar, gib mal
ausblenden Quelltext
1:
help for					

in der Kommandozeile ein, dann aufmerksam :les: :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
lufox Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 21.03.08 15:43 
Hi!
Ich habs kapiert! ;-)

Nur das /f stört mich noch! da hab ich mit help auch keine Antwort gefunden.
Nächstes Problem wäre: es sollen zwei Editfelder an zwei Variablen gegeben werden! :-S

Geht das überhaupt? Bestimmt nicht mit diesem Befehl oder?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

OK!
das mit dem f hab ich verstanden! Hatte bloß ni rischtisch gelesen! :-)

Fehlt nur noch die Problemlösung für zwei Variablen

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Hi!
Habe es nochmal probiert mit den zwei Variablen...
Aber irgendwie ist das Ergebnis ernüchternd:

Delphi:
ausblenden Quelltext
1:
2:
3:
4:
5:
begin
WriteLn(eklasse.Text);
Write(ename.Text);
Close;
end;


Das funktioniert ja auch... aber

Batch:
ausblenden Quelltext
1:
2:
@echo off
for /f "tokens=1,2" %%i in ('anmeldung.exe') do set klasse=%%i  set name=%%j

Hier weiß ich nicht richtig, ob ich überhaupt schon das richtige gefunden habe

Ich will also hier eigentlich die zwei Variablen klasse und name abspeichern, die in Delphi ausgegeben werden --> geht nicht :-(

Könnt ihr mir helfen, wo der Fehler liegt.. ich verstehe das mit den Tokkens eh net rischtisch

Gruß lufox