Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Fuka_
Coder
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
Ü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
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 Wink
http://sollniss.1x.to/

 
Hamtaro_
« Moderator »<b><font color=green>« Moderator »</font



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 Wink
Wie findet ihr meine Sig?
 
Fuka_
Coder
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 »<b><font color=green>« Moderator »</font



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 Wink

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
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....

Zitat:
visl = cmd(4)


ist vils nicht die dritte information die du ausliest?
 
Fuka_
Coder
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
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
Ü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 »<b><font color=green>« Moderator »</font



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 »<b><font color=green>« Moderator »</font



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 Wink
Avoid Suspicion, Manipulate your friends, Eliminate your enemies.
 
ZiG_
Überflieger
Ü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
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! Wink DANKE! =)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2608 06.03.2008, 21:19
Keine neuen Beiträge ListView speichern & laden 1331 05.08.2008, 13:32
Keine neuen Beiträge Registry & Co Fragen 1203 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2266 22.03.2007, 21:25
 


[ Time: 0.4486s ][ Queries: 119 (0.3395s) ][ GZIP on - Debug on ]