Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi IPs in ListBox einlesen (https://www.delphipraxis.net/43849-ips-listbox-einlesen.html)

Aljoscha 9. Apr 2005 15:41


IPs in ListBox einlesen
 
Hi.
Mein Programm ließt IPs aus einer Textdatei ein, diese werden dann in eine Listbox geschrieben.
Allerdings habe ich das Problem, das wenn ich per Schleife die Einträge der Listbox durchlaufe (ListBox1.Items[i]) UND die Einträge per Textdatei eingelesen habe das Programm ein externes startet (es wird ein Konsolenprogramm per Parameter angesteuert) eben dieses sich garnicht erst öffnet.

Ich füge mit diesem Code aus einer Textdatei ein:

Delphi-Quellcode:
sl:=TStringList.Create;
OpenDialog1.Execute;
sl.LoadFromFile(OpenDialog1.FileName);
for i:=0 to sl.count-1 do
ListBox1.Items.Add(sl[i]);
Wenn ich "normal" aus einem Edit Feld die IP einlese kann ich das Konsolenprogramm ganz normal ansteuern. Eingelesen wird in diesem Fall mit:

Delphi-Quellcode:
ListBox1.Items.Add(Edit1.Text);
Und das Konsolenprogramm wird in einer ForSchleife aufgerufen:

Delphi-Quellcode:
Befehl:= ListBox1.Items[i] + Edit2.Text + Edit3.Text + Edit4.Text;

//Test ShowMessage('AdvancedPinger.exe' + Befehl);

ShellExecute(Application.Handle, 'open', 'AdvancedPinger.exe',
PChar(Befehl), nil, SW_ShowNormal);
Was mich wie gesagt wundert ist, das es nur nach dem einlesen aus einer Textdatei Probleme gibt, nicht aber wenn ich die IPs manuell eintrage, es muss also am einlesen liegen.

Ich weiß keinen Rat und wäre froh, wenn ihr einen hättet ;)

thx 4 help

Sharky 9. Apr 2005 15:58

Re: IPs in ListBox einlesen
 
Hai Aljoscha,

warum machst Du dir das Einlesen so schwer? ;-)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (OpenDialog1.Execute) then
  begin
    ListBox1.Clear;
    ListBox1.Items.LoadFromFile(OpenDialog1.FileName);
  end;
end;

Aljoscha 9. Apr 2005 16:09

Re: IPs in ListBox einlesen
 
Zitat:

Zitat von Sharky
Hai Aljoscha,

warum machst Du dir das Einlesen so schwer? ;-)

Das frage ich mich inzwischen auch :)
Aber leider scheint auch dies nicht der Fehler gewesen zu sein!
Ich kann die IPs zwar wieder in die Listbox schreiben, aber das Programm kann danach immernoch nicht geöffnet werden!
Das Test ShowMessage gibt genau das gleiche aus wie wenn ich die IPs manuell eintrage!
Ich verstehe das nicht :(
Werden beim einlesen aus der txt (auch wenn sie nicht da sind) Leerzeichen oder sonstwas miteingelesen, so das es beim ausführen von ShellExecute zu einem Fehler kommt?

Sharky 9. Apr 2005 16:14

Re: IPs in ListBox einlesen
 
Zitat:

Zitat von Aljoscha
... Leerzeichen oder sonstwas miteingelesen, so das es beim ausführen von ShellExecute zu einem Fehler kommt?

Sollte eigentlich nich so sein.
Aber es ist schon seltsam das es beim einfügen der IPs in die Listbox von Hand geht und über die Datei nicht. Gibst Du in deinem Edit1 nach der IP noch ein Leerzeichen ein oder sonst etwas?

SirThornberry 9. Apr 2005 16:21

Re: IPs in ListBox einlesen
 
hast du schonmal versucht zu debuggen (also haltepunkt und befehl in die watches)?

Aljoscha 9. Apr 2005 16:23

Re: IPs in ListBox einlesen
 
Nein nichts in der Art.
Einfach nur die IP.
Ich kann mir das garnicht erklären...

//Edit:
Und das Debuggen habe ich noch nicht probiert, nein...
Ich weiß auch nicht wirklich wie das gehen sollte :)

SirThornberry 9. Apr 2005 16:24

Re: IPs in ListBox einlesen
 
und hast du schonmal den rückgabewert von shellexecute ausgewertet? (der rückgabewert gibt den fehler an)

Aljoscha 9. Apr 2005 16:30

Re: IPs in ListBox einlesen
 
Nein das Problem ist ja das ShellExecute garnicht erst ausgeführt wird :(
Genau wie wenn man z.B. eine nicht existierende exe angiebt :(

//Edit:
Ich habe es schon mit der unit TDosCommand versucht, habe die aber nie zum laufen gekriegt :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz