Autor Beitrag
mausi123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 30.10.07 17:35 
Hallo,

bei uns auf der Arbeit werden Logon-Scripte (Batchdateien)[quote] (mit Variabeln) verwendet. Ich möchte in edit1 den Logon-Script-Pfad eingeben und in edit2 auf knopfdruck sollte mir das Script (mit eingesetzten Variabeln) angezeigt werden.

Ein Beispiel:

Logon-Pfad:
\\server\ordner1\ordner2\user.bat

Inhalt des Scripts:

@echo off
set %serv% = \\server12
set %user% = mustermann
...
net use k: %serv%\ordner1\%user%
...

Ich möchte jetzt das Logon-Script im Hintergrund in DOS ablaufen lassen und die Ausgabe in eine Datei speichern (soweit bin ich schon^^). Das Script bzw. was in edit2 später stehen soll, müsste dann jetzt so aussehen: \\server12\ordner1\mustermann. Ich muss also die ausgegebene DOS-Datei nach dem String "net use k: \\server12\ordner1\mustermann" durchsuchen (und in edit2 anzeigen lassen). Hat jemand einen Tipp bzw. Code-Schnipsel für mich, da ich noch net der crack in delphi bin.. Evtl. hat ja jemand bereits so ein tool für seine firma realisiert.

Danke für die Aufmerksamkeit.
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Di 30.10.07 17:48 
Such mal im Forum nach POS / POSEX!
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Di 30.10.07 19:08 
user profile iconmausi123 hat folgendes geschrieben:
Hallo,

Ich möchte jetzt das Logon-Script im Hintergrund in DOS ablaufen lassen und die Ausgabe in eine Datei speichern (soweit bin ich schon^^).
...


Du möchtest also das Skript nur deshalb ausführen, damit du es anzeigen kannst? Und wenn da del C:\*.* /s drinsteht? Eine Anzeige bekommst du noch...

Gruss Reinhard
mausi123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 30.10.07 20:07 
hallo,

danke für den tipp "POS / POSEX" werd ich gleich mal suche..

@Reinhard Kern:

ich muss das scipt durchlaufen lassen, damit die variabeln "gefüllt" werden. danach brauch ich nur noch die gewünschte komplette zeile auslesen, ferig.

---

Funzt! Thx für eure Hilfe!

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:
procedure TForm1.Button1Click(Sender: TObject);
const SearchString = 'NET USE K: ';

var MyTextFileContent : TStringList;
    i,j              : Integer;
    tempStr, filename : String;
    ErstesLeerzeichen : Boolean;
begin
  filename:=edit1.Text;
  MyTextFileContent :=  TStringList.Create;
  try
    MyTextFileContent.LoadFromFile(filename);
  except
    Showmessage('Motz');
    MyTextFileContent.Free;
    exit;
  end;
  for i := 0 to MyTextFileContent.Count -1 do
    if pos(SearchString,MyTextFileContent[i]) <> 0 then
    begin
      tempStr := MyTextFileContent[i];
      delete(tempStr,1,pos(SearchString,MyTextFileContent[i])+length(SearchString)-1);
      if pos(' ', tempstr) <> 0 then  
        delete(tempstr,pos(' ',tempstr),1000);
      edit2.Text:=tempstr;
      MyTextFileContent.Free;
      exit;
    end;
  MyTextFileContent.Free;
end;


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt und Beiträge zusammengefasst.
Agawain
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Di 30.10.07 20:36 
hi

dann lade Dir die Datei in ein Memo, da ist eine stringlist, auf bestimmte Zeilen kannst Du dann über den Index zugreifen.

Wenn es sichtbar sein soll, ansonsten deklarierst Du einfach ein TStringList , ist über Lines eine Eigenschaft von Memo und wendest dort die Methode Loadfromfile an.

Also entweder

ausblenden Delphi-Quelltext
1:
2:
MyMemo.Lines.LoadFromFile(DateiName)
MeineZeile := MyMemoLines[5]  //z.B.


oder

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
MyStringList.Create(self);
MyStringList.LoadFromFile(DateiName);
MeineZeile := MyMemoLines[5];  //z.B.
...
...
MyStringList.free;


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
Gruß Aga