|
| Autor |
Nachricht |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
mehrere sockets aus listview starten
Verfasst am: 29.03.2008, 02:02 |
|
|
guten tag
so ich habe ein etwas kompliziertes anliegen (für mich ist es jedenfalls so)
ich arbeite zzt wieder an meinen rat und habe dort ein kleines problem , sicherlich kennt jeder shark , dort gibt es in den builder Einstellungen eine listview
Screen:
ich würde gerne nun in meinen rat , besser gesagt in der einstellungs form , auch eine reinmache , kein Problem natürlich , mir geht es eher darum das wenn ich z.B einen eintrag adde das ein socket geöffnet wird , mit den jeweiligen port der in den Eintrag steht , und natürlich muss das auch gehen wenn mehrere ports eingetragen sind
zzt mache ich es so
Screen:
ist natürlich nicht sehr komfortabel
einen socket öffne ich derzeit so
If frmConfig.Check10.Value Then ' überprüft auf die Einstellung , ob beim start die sockets geöffnet werden sollen
If frmConfig.Text1.Text = "" Then ' Überprüft ob ein port eingetragen wurde
' ##
Else
Winsock1(0).LocalPort = frmConfig.Text1.Text ' öffnet einen socket mit den jeweiligen port der in der textbox steht
Winsock1(0).Listen
End If
End If
wäre also toll wenn jemand weis , wie ich das mache , wenn ein port in der listview steht , oder auch mehrere das auch für jeden eingetragenen port ein Socket geöffnet wird
ich wäre sehr dankbar wenn mir da jemand hälfen könnte
MfG
 |
|
| |
|
 |
crusader727_ Tutorial Leser

Anmeldedatum: 12.05.2007 Beiträge: 44
|
Verfasst am: 29.03.2008, 12:13 |
|
|
wo ist da ein problem ? Oo
falls du dir schon eine sin geschrieben hast, weißt du doch wie man neue sockets erstellt, ist doch nix anderes |
|
| |
|
 |
slayer616_ Coder

Anmeldedatum: 16.05.2007 Beiträge: 90
|
Verfasst am: 29.03.2008, 12:51 |
|
|
load socket(freeindex)
so sollte es sein oder? |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 29.03.2008, 15:40 |
|
|
als wenn ich das jetzt nicht gewusst häte
ich denke ihr habt mich missverstanden , naja is auch egal 
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 29.03.2008, 18:55 |
|
|
Dann wäre es nett wenn du es einfach nochmal versuchst zu erklären was du bräuchtest.
Ich verstehe nämlich auch nicht so ganz was jetzt nicht geht. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 29.03.2008, 20:12 |
|
|
ok ich versuche es jetzt mal so ausführlich zu erklären wie es mir nur möglich ist
also:
wie oben schon gesagt arbeite ich an meinem rat weiter, zzt ist es so das beim start jeweils 3 sockets geöffnet werden beispiel:
If frmConfig.Check10.Value Then
If frmConfig.Text1.Text = "" Then
' ##
Else
Winsock1(0).LocalPort = frmConfig.Text1.Text
Winsock1(0).Listen
End If
End If
If frmConfig.Check10.Value Then
If frmConfig.Text2.Text = "" Then
' ##
Else
Winsock1(1).LocalPort = frmConfig.Text2.Text
Winsock1(1).Listen
End If
End If
If frmConfig.Check10.Value Then
If frmConfig.Text2.Text = "" Then
' ##
Else
Winsock1(2).LocalPort = frmConfig.Text2.Text
Winsock1(2).Listen
End If
End If
so wie man sieht holt sich jeder socket den port auf den er lauschen soll aus einer text box die sich in meiner eisntellungsform befindet
Screen:
so wie man sieht nicht sehr komfortabel , deshalb möchte ich wie bei shark , eine listview in die Einstellungs Form einbauen , da wo jetzt die 3 text boxen sind zum port eintragen
ansich kein Problem , versteht sich doch wenn ich z.B einen Eintrag adde , soll eben mit genau diesen eintrag der in der listview steht , also ein port z.B 2000 ein socket geöffnet werden , ztt mach ich es eben so wie oben beschrieben , nur hätte ich das gerne mit der listview anstatt der textboxern ,natürlich muss das auch gehen wenn mehrere eintrage mit ports in der lisview stehen
so ich hoffe das is jetzt verständlich xD
MfG
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 29.03.2008, 21:09 |
|
|
Hmm, ich kenne Shark nicht so genau um es ganz genau verstanden zu haben.
Also. Statt den Textboxen steht der Port an dem das winsock lauschen soll in einem ListView.
Du mußt also nur den Port aus dem ListView auslesen und das Winsock auf listen stellen.
Sollte doch kein Prob sein oder?
| Code: |
Winsock1(2).LocalPort = CInt(ListView1.Listitems(1).Subitems(1))
Winsock1(2).Listen
|
Das wäre die zweite Spalte.
.Text gilt für die erste. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 29.03.2008, 21:22 |
|
|
mh.. ja thx du hast es schon verstanden ,soweit wäre ich auch , aber das prob dabei ist , ich weis ja eben nicht wieviele drinn stehen , der Benutzer kann ja beliebig viele hinzufügen
könnte man das nicht so machen:
z.B es stehen 10 einträge drinn
unterschiedliche ports , iwie muss er jetzt erkennen das es genau 10 sind und für jeden eingetragenen automatisch einen zu öffnen
wenn du das weist was ich da genau machen müsste damit es geht , (bsp wäre natürlich sehr nett ) dann wäre ich dir sehr dankbar , ich habe dazu leider keine Idee wie man das realisieren könnte
MfG
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 29.03.2008, 21:29 |
|
|
"ListView.Listitems.Count" gibt dir zurück wieviele Einträge im ListView sind.
Eine Schleife zum auslesen sehe so aus
Beispiel:
| Code: |
Dim i as long
For i = 1 to ListView.Listitems.Count
'ListView.Listitems(i).Text bzw. evt. Subitems(...) wären also dann die einzelnen Zeilen
next i
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 29.03.2008, 22:04 |
|
|
mh... funtzt iwie nicht so ganz wie ich mir das vorgestellt habe naja egal
hab mir da was anderes überlegt , ich begrenze die zu möglich eintragenden ports auf 20 oder so
und wollte das jetzt so machen , zum testen mal mit 2 sockets
frmMain.Winsock1(0).LocalPort = (ListView1.ListItems(1).Text)
frmMain.Winsock1(0).Listen
frmMain.Winsock1(1).LocalPort = (ListView1.ListItems(2).Text)
frmMain.Winsock1(1).Listen
und falls mal kein 2ter eintrag vorhanden ist häte ich einfach nen on error go to next eingebaut , das funtzt auch
das eigentliche Problem dabei ist , das er mir sagt
Objekt unterstützt diese eigenschaft oder Methode nicht
hat da jemand ne Idee warum das kommt ? o_O
MfG
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 29.03.2008, 22:32 |
|
|
Du kannst wenn ich mich nicht täusche den Port nicht als string übergeben.
Benutz einfach "CInt()" um den string umzuwandeln. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 29.03.2008, 22:40 |
|
|
hab ich ^^ und dann kommt die gleiche Fehlermeldung , wenn ich aber mit der Maus darüber gehe zeigt er mir das an:
ListView1.ListItems(2).text = "2000" was auch stimmt , aber iwie öffnet er mir den socket dazu nicht , denn dann kommt eben die Fehlermeldung wie oben beschrieben
MfG
 |
|
| |
|
 |
exe-cute_ Poster


Anmeldedatum: 21.10.2007 Beiträge: 154
|
Verfasst am: 30.03.2008, 02:19 |
|
|
klar kann man ports als string übergeben.
wie wär es einfach mit ner for schleife wie Zig's Beispiel schon beschrieben hat.
du setzt einfach nur den passenden teil ein (winsock laden, localport setzen....was du hoffentlich kannst) und fertig. |
|
| |
|
 |
crusader727_ Tutorial Leser

Anmeldedatum: 12.05.2007 Beiträge: 44
|
Verfasst am: 30.03.2008, 11:27 |
|
|
dein problem liegt in deiner "einstellungs form"...
wenn die form nicht aktiviert und text_port2 standardmäßig leer ist kommt es halt zu einem error
-> ports in einer variable speichern
-> ports aus variable auszählen + öffnen |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 30.03.2008, 14:19 |
|
|
crusi ich rede doch die ganze zeit davon von den textboxen wegzukommen ,da die einfach nicht komfortabel genug sind , zuvor hat es mit den textboxen 100 % geklappt auch wenn die form nicht aktiviert war
aber hat sich mitlerweile erledigt , ich hab mir jetzt was anderes ausgedacht , was auch sehr praktisch ist ,und besser als reine textboxen
MfG
 |
|
| |
|
 |
exe-cute_ Poster


Anmeldedatum: 21.10.2007 Beiträge: 154
|
Verfasst am: 30.03.2008, 15:45 |
|
|
| crusader727 hat Folgendes geschrieben: |
-> ports in einer variable speichern
-> ports aus variable auszählen + öffnen |
was is das denn bitte ?
das is die lösung... !!!!
ein bischen logisches denken musst du schon selber mitbringen
| Crusader hat Folgendes geschrieben: | aber hat sich mitlerweile erledigt , ich hab mir jetzt was anderes ausgedacht , was auch sehr praktisch ist ,und besser als reine textboxen
MfG |
lässt du uns deine praktische lösung auch zukommen ? |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 30.03.2008, 16:22 |
|
|
ne textbox die auf multiline gestellt ist
kann man auch mehrere ports eintragen , und is immer noch besser als einzelne textboxen
MfG
 |
|
| |
|
 |
slayer616_ Coder

Anmeldedatum: 16.05.2007 Beiträge: 90
|
Verfasst am: 30.03.2008, 16:46 |
|
|
| das ist irgendwie net so gut... wenn du willst kann ich mal source machn und dich schicken... |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 30.03.2008, 16:48 |
|
|
mh... komm mal in icq on pls ^^
MfG
 |
|
| |
|
 |
slayer616_ Coder

Anmeldedatum: 16.05.2007 Beiträge: 90
|
Verfasst am: 30.03.2008, 20:03 |
|
|
| alles cool source geschickt problem gelöst |
|
| |
|
 |
exe-cute_ Poster


Anmeldedatum: 21.10.2007 Beiträge: 154
|
Verfasst am: 30.03.2008, 20:24 |
|
|
| cool das es menschen gibt die anderen zeigen, was ne variable ist und wie man sie benutzt. |
|
| |
|
 |
Crusader_ Tutorial Leser

Anmeldedatum: 08.06.2007 Beiträge: 54
|
Verfasst am: 30.03.2008, 20:28 |
|
|
-.- ich weis was ne variable ist , und mit deinen provokativen verhalten kannst du mich mal , nur weil du nen falschen eindruck von mir hast -.-
 |
|
| |
|
 |