![]() |
Fragen zur Memobox
Servus!
Hab mich in letzter Zeit mal wieder ein bisschen mit Delphi beschäftigt und da ich mich für netzwerke interessiere hab ich mir einfach mal nen Portscanner geschrieben, der inzwischen sogar funktioniert :) Was mich jetzt jedoch interessieren würde wäre ein Ip scanner. ich habs bis jetzt so gemacht dass ich in eine memobox eine liste der adressen in unserem netzwerk importiere (ca 15 stück), wenn der port offen ist soll die ip in eine zweite memobox kopiert werden. jedoch hakt es bei mir daran das ich es nich schaffe das delphi die ips einzeln abarbeitet, also mit der ersten ip beginnt, versucht zu connecten und dann zur zweiten zeile geht und wieder versucht zu connecten. BSP: Wenn der inhalt der memobox dieser wäre: 192.168.2.100 192.168.2.101 192.168.2.102 192.168.2.103 192.168.2.104 192.168.2.105 192.168.2.106 192.168.2.107 als erstes soll er auf 192.168.2.100 verbinden, wenn dies erledigt ist auf 192.168.2.101, dann 192.168.2.102 usw usw, wie geht sowas? denke mal das sowas eigentlich ganz einfach ist, aber ich momentan nich ganz draufkomme, wäre cool wenn ihr mir helfen könntet. MfG, didda |
Re: Fragen zur Memobox
Delphi-Quellcode:
sollte gehen..., oder?
var i: integer;
... for i := 0 to MemoBox.Lines.count-1 do begin //mach was // aktuelle IP ist MemoBox.Lines[i]; end; |
Re: Fragen zur Memobox
du könntest ja mal deinen code schnipsel posten.
ich hoffe du verwendest die memos nur zur ausgabe, und nicht zur speicherung? um zeilen einzeln aus einem memo auszulesen würde ich wie folgt vorgehen: var I: Integer; begin for I := 0 to Memo.Lines.Count - 1 do TesteIP(Memo.Lines[I]); end; also einfach eine schleife. besser wäre allerdings die schleife über dein (bspw.) array laufen zu lassen. interessant wäre hier halt, wie du die ip's speicherst. |
Re: Fragen zur Memobox
mir ist eben was einfefallen, habs jetzt so:
Delphi-Quellcode:
mag zwar noch nicht ganz sauber sein, aber ich muss zugeben das sich noch ein n00b bin :)
a:=0;
idftp1.username:='Ho1'; idftp1.password:='testtest'; repeat labelededit2.Text:=memo1.Lines[a]; //da a ja 0 ist fängt er einfach mit der ersten zeile an idftp1.host:=labelededit2.Text; idftp1.Connect(); //versucht zu connecten if idftp1.Connected = true then memo2.lines.Add(labelededit2.Text); //wenns geht kommts ins memo2 idftp1.Disconnect; application.ProcessMessages; a:=a+1; //a wird um 1 erhört, also die nächste zeile in memo1 beginnt von oben until a = i; //bis a gleich der anzahl der zeilen in memo1 label1.Caption:='done' //fertigmeldung ausgeben DANKE für eure Hilfe =o] |
Re: Fragen zur Memobox
Da ist ein genereller Denkfehler drin.
Du benutzt die Memos zum speichern von Daten und die Labels zur weitergabe. Das ist nicht gut. Such mal nach TStringList oder so. Da kannst du die Werte speichern und bearbeiten und dann direkt an die ftp-Komponente weitergeben. Über ein Label kannst du dir noch anzeigen lassen, bei wecher IP er gerade ist. Das wäre auf jeden Fall der "schönere" Weg! |
Re: Fragen zur Memobox
ich werds mir mal anschauen, muss momentan erstma noch mit anderen programm problemem kämpfen.. wie kann ich die fehlermeldungen umgehen die kommen wenn ein connection timeout kommt? also das dann einfach die nächste ip verarbeitet wird, bekomms irgendwie nich so ganz hin..
|
Re: Fragen zur Memobox
Kapsele es in einem try-except Block.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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-2025 by Thomas Breitkreuz