![]() |
Code/Schleife extrem langsam
Hi,
Ich habe mir folgenden Code gebastelt, um eine Reihe von IP-Adressen zu generieren. Es funktioniert, aber die Schleife läuft extrem langsam. z.B die Generierung von 127.0.0.1 - 127.0.0.254 dauert einige Sekunden! Woran könnte das liegen?
Delphi-Quellcode:
var
I: Integer; begin for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do listbox1.items.Add(string(inet_ntoa(TInAddr(htonl(I))))); end; |
Re: Code/Schleife extrem langsam
Hallo,
das kannst du ohne Profiler auch selbst heraus bekommen Original:
Delphi-Quellcode:
for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to
ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do listbox1.items.Add(string(inet_ntoa(TInAddr(htonl(I))))); ListBox-Problem ?
Delphi-Quellcode:
inet_ntoa-Problem ?
for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to
ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do begin end;
Delphi-Quellcode:
for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to
ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do begin listbox1.items.Add('1'(; end; usw. Heiko |
Re: Code/Schleife extrem langsam
Delphi-Quellcode:
var
I: Integer; begin listbox1.Items.BeginUpdate; for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do listbox1.items.Add(string(inet_ntoa(TInAddr(htonl(I))))); listbox1.Items.EndUpdate; end; |
Re: Code/Schleife extrem langsam
Versuch doch mal folgendes...
Delphi-Quellcode:
var
I: Integer; begin ListBox1.Items.BeginUpdate; try for I := ntohl(inet_addr(PAnsiChar(AnsiString(edit1.text)))) to ntohl(inet_addr(PAnsiChar(AnsiString(edit2.text)))) do begin ListBox1.Items.Append(string(inet_ntoa(TInAddr(htonl(I))))); end; finally ListBox1.Items.EndUpdate; end; end; |
Re: Code/Schleife extrem langsam
Zitat:
|
Re: Code/Schleife extrem langsam
Hallo und danke für die Antworten.
Ich habe nun herausgefunden, dass es definitiv am inet_ntoa() liegt. Begin/EndUpdate bringt erst etwas bei sehr vielen Einträgen, aber der Code braucht ja schon für gerade mal 254 IPs einige Sekunden. Da stimmt doch was nicht. Läuft die Schleife bei euch denn auch so langsam? evtl. liegts ja an meinem PC. |
Re: Code/Schleife extrem langsam
Versuch es mal mit 4 Schleifen ( pro IP-Gruppe)
|
Re: Code/Schleife extrem langsam
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz