Eli olen nyt jo tehnyt pientä ohjelmaa missä käytetään tuota Winsockia, tosin ne ovat olleet niin yksinkertaisia että esim. Client-osan Command1-nappia painamalla tapahtuu seuraava komento:
If Connected Then sock.SendData "AVAA"
Ja sitten taas tietysti serveriosa purkaa viestin näin:
Case "AVAA":
Shell "explorer", vbNormalFocus
Mutta siis nyt tarvitsisi tietää, että jos teen yhden uuden Commandbuttonin sekä Textboxin client-osalle, niin miten saisin tuon textbox:n tekstin näkymään vaikka ponnahdusikkunassa serveriosan kanssa, kun commandbuttonia klikataan? Olen vielä noobi, joten ihan kädestä pitäen saisi kertoa ;)
SendData "TextBox:" + Textbox1.Text
Sitten serverillä katsot, että kas, datan alkupuoli (käytä vaikka Left-funktiota) sanoo "TextBox:", joten laitetaanpa loppuosa ponnahdusikkunaan. Miten sitten haluat ponnahduksen tehdäkin, se on oma asiasi. Aloita vaikka MessageBoxilla.
Joo, tuon clienttiosan osasinkin koodata, mutta tuo serveriosa onkin sitten vaikeampi. Kuten sanoin, olen vasta alle viikon käyttänyt Visual Basicia enkä tajua oikein vielä mitään, eli voisitko kertoa suoran koodin tuohon serveriosaan, koska en tajua mitä tuo Left-funktio esimerkiksi tarkoittaa :( Niin, ja MsgBox:lla ajattelin sen pop-upin tehdä.
Dim teksti as string Dim pituus as integer Ws.GetData teksti pituus = Len(teksti) - 9 msgbox right(testi, pituus)
Hatusta vedettyä, mutta itse tekisin sen varmaan jotenkin noin. Koodi olettaa, että data on jotenkin Textbox: Teksti muodossa. .
https://www.ohjelmointiputka.net/hak
EDIT: Onneksi aivot osaa kääntää VB -koodia...
(Vanhentunut) EDIT: Jahas, eipä koodi osaakkaan muuta kuin välilyönnittymiä. Odotas.
EDIT: No nyt pitäs toimia
Ei toimi, ei kyllä tule mitään erroriakaan... :/
Ja jos tästä nyt jotain apua tuon serveriosan koodaamiseen on, niin se lähettää tällaisen komennon sitä commandbuttonia klikatessa:
If Connected Then sock.SendData "TextBox:" + Teksti.Text
Ja miel. silleen jos saisi että sais suoraan pastettua sen pop-up koodin tuohon noiden muiden Case-koodien jälkeen, kun tuossa on nyt jo jotain yli 10 kappaletta noita Case-koodeja.
Eli siis vielä tuota ylempää viestiä täydentäen, millainen "Case" koodi pitäisi lisätä noiden muiden Case-koodien perään, että tuo MessageBox tulisi tuon Textboxin tekstistä?
Lähetä se koodi kahdessa osassa (ensin tunnusteksti (esim. "TEXTBOX" ja heti sen perään teksti) ja pura se samaten kahdessa osassa:
socket.SendData "TEXTBOX" socket.SendData Teksti.Text ... ... Case "TEXTBOX" '' Otat uudelleen dataa socketista, nyt sen pitäisi olla '' hälytettävä teksti.
Olen tyhmä, mutta en vieläkään käsitä miten saan sen näkymään MsgBox:na? :/ Siis tuossa kyllä tuo Teksti-TextBox:n teksti lähetetään, mutta miten se sitten pitäisi vastaanottaa? :S
Socket.GetData DATAA msgbox DATAA
Ei, tuomas!
Dim Tietoo As String ' muute se tulee varianttina -> muuttuu ????!?!?JEOJEWJO??-tyyliseksi Soketti.GetData Tietoo ' tässä oli GetDatalle jossain joku systeemi miten saa sen pakotettua stringiks mutten muista montako pilkkua tartti, en ny pääse VB:hen käsiks ja toi Dim-tapa o muutenkin parempi MsgBox Tietoo
juu tosiaan, se tietoo tai DATAA muuttuja kannattaa määritelllä :)
Riittää yksi pilkku.
Soketti.GetData DATAA, vbString MsgBox DATAA
[OffTopic]Paras on pakottaa muuttujat esiteltäviksi, että ne menee oikein ja mahdollisimman vähän käyttää Variant-muuttujia.
Option Explicit
[/OffTopic]
Noniin, lopuksi BadSourcen esimerkillä sain toimimaan, kiitoksia kaikille avusta!
Milläköhän keinolla tuohon messageboxiin saisi tulemaan joka viestillä sellaisen punaisen ruksin, mikä tulee yleensä kun jokin errori tulee? Siis miten sen voisi lisätä tuohon "MsgBox DATAA" koodiin, että jokaisessa viestissä se raksi olisi?
Msgbox "Viestisi", vbcritical
Joo, noinhan se oli :)
Kiitos.
Aihe on jo aika vanha, joten et voi enää vastata siihen.